РЕАЛІЗАЦІЯ КУРСОВОЇ РОБОТИ

 

4.1 Файлова система «NTFS»

Формат файлових систем визначають принципи зберігання даних на носії і впливають на характеристики файлової системи. Формат файлової системи може накладати обмеження на розміри файлів і ємності підтримуваних пристроїв зовнішньої пам'яті. Деякі формати файлових систем ефективно реалізують підтримку великих, або малих файлів і дисків. NTFS - вбудована файлова система Windows 2000.

NTFS використовує 64-розрядні індекси кластерів. Це дозволяє їй адресувати томи розміром до 16 мільярдів Гб. Однак Windows 2000 обмежує розміри томів NTFS до значень, при яких можлива адресація 32-розрядними кластерами, тобто до 128 Тб (з використанням кластерів по 64 Кб).

З самого початку розробка NTFS створювалась з урахуванням вимог, пред'явлених до файлової системи корпоративного класу. Щоб звести до мінімуму втрати даних у разі несподіваного виходу системи з ладу або її краху, файлова система повинна гарантувати цілісність своїх метаданих. Для захисту конфіденційних даних від несанкціонованого доступу файлова система повинна бути побудована на інтегрованій моделі захисту. Нарешті, файлова система повинна підтримувати захист даних користувача за рахунок програмної надлишковості даних.

Структура NTFS на диску

Структура NTFS розпочинається з тому. Том відповідає логічному розділу на диску і створюється при форматуванні диску або його частини під NTFS. На диску може бути один або декілька томів. NTFS обробляє кожен том незалежно від інших.

 

Том складається з набору файлів і вільного простору, що залишився в даному розділі диска.

В томі NTFS всі дані файлової системи типу бітових карт, каталогів та початкового завантажувального коду зберігаються як звичайні файли.

Розмір кластера на томі NTFS, або кластерний множник, встановлюється при форматуванні тому командою format. Розмір кластера за замовчуванням визначається розміром тому, але завжди містить ціле число фізичних секторів з дискретністю N2. Кластерний множник виражається числом байт в кластері, наприклад 512 байт, 1Кб або 2Кб. Внутрішньо NTFS працює тільки з кластерами.

Однак NTFS ініціює низькорівневі операції введення-виведення на томі, вирівнюючи передані дані за розміром сектора і підганяючи їх обсяг під значення, кратне розміру секторів. NTFS використовує кластер як одиницю виділення простору для підтримки незалежності від розміру фізичного сектора. Це дозволяє NTFS ефективно працювати з дуже великими дисками, використовуючи кластери більшого розміру, і підтримувати нестандартні диски з розміром секторів відмінним від 512 байт. Застосування великих кластерів на великих томах зменшує фрагментацію і прискорює виділення вільного простору за рахунок невеликого програшу в ефективності використання дискового простору.

NTFS адресується до конкретних місць на диску, використовуючи логічні номери кластерів (logical cluster numbers, LCN10) для цього всі кластери на томі просто номеруются по порядку - від початку до кінця. Для перетворення LCN в фізичну адресу на диску NTFS примножує LCN на кластерний множник і отримує байтовий зсув від початку тому, сприймається інтерфейсом драйвера диску. На дані всередині файла NTFS посилається по віртуальним номерам кластерів (VCN17), позначаючи кластери які належать конкретному файлу (від 0 до m). Віртуальні номери не обов'язково повинні бути фізично безперервними.

 

Механізм EFS

EFS використовує засоби підтримки шифрування, введені Microsoft ще в Windows NT 4. При першому шифруванні файлу EFS призначає обліковий запис користувача, шифруючий цей файл, криптографічну пару - закритий і відкритий ключі. Користувачі можуть шифрувати файли з допомогою Windows Explorer; для цього потрібно відкрити діалогове вікно Властивості стосовно потрібного файлу, клацнути кнопку Інші та встановити прапорець Шифрувати вміст для захисту даних.

Користувачі також можуть шифрувати файли за допомогою утиліти командного рядка cipber. Windows 2000 автоматично шифрує файли в каталогах, помічених зашифрованими. При шифруванні файлу EFS генерує випадкове число, яке має назву шифрувального ключа файлу (file encryption key, FEK8). EFS використовує FEK для шифрування вмісту файлу по більш стійкому варіанту DES3 (Data Encryption Standard) - DESX4. EFS зберігає FEK разом з самим файлом, але FEK шифрується за алгоритмом RSA-шифрування на основі відкритого ключа. Після виконання EFS цих дій файл захищений: інші користувачі не зможуть розшифрувати дані без розшифрованого FEK файлу, а FEK вони не зможуть розшифрувати без закритого ключа користувача - власника файлу.

Для шифрування FEK використовується алгоритм криптографічної пари, а для шифрування файлових даних - DESX, алгоритм симетричного шіфрування (у ньому застосовується один і той же ключ для шифрування і дешифрування). Як правило, алгоритми симетричного шифрування працюють дуже швидко, що робить їх придатними для шифрування великих розмірів даних, зокрема файлових.

Однак у алгоритмів симетричного шифрування є одна слабка сторона: зашифрований ними файл можна розкрити, отримавши ключ. Якщо кілька людей збирається користуватися одним файлом, захищеним тільки DESX, кожному з них знадобиться доступ до FEK файлу.

Очевидно, що незашифрований FEK - серйозна загроза безпеці. Але шифрування FEK все одно не вирішує проблему, оскільки в цьому випадку кільком людям доводиться користуватися одним і тим же ключем розшифровки FEK.

Захист FEK складна проблема, для розв'язання якої EFS використовує ту частину своєї криптографічної архітектури, яка спирається на технологіі шифрування з відкритим ключем. Шифрування FEK на індивідуальній основі дозволяє декільком особам спільно використовувати зашифрований файл. EFS може зашифрувати FEK файлу за допомогою відкритого ключа кожного користувача і зберігати їх FEK разом з файлом. Кожен може отримати доступ до відкритого ключа користувача, але ніхто не зможе розшифрувати з його допомогою дані, зашифровані з цього ключа. Єдиний спосіб розшифровки файлу полягає у використанні операційною системою закритого ключа, який вона. Як правило, зберігає в безпечному місці. Закритий ключ допомагає розшифрувати потрібний FEK файлу.

Windows 2000 зберігає закриті ключі на жорсткому диску, що не надто безпечно, але в наступних випусках операційних систем користувачі змогли зберігати закриті ключі на компактних носіях типу смарт-карт. Алгоритми на основі відкритого ключа зазвичай досить повільні. Тому вони використовуються EFS тільки для шифрування FEK. Поділ ключів на відкритий і закритий трохи спрощує управління ключами в порівнянні з таким в алгоритмах симетричного шифрування і вирішує дилему, зв’язану із захистом FEK.

Функціональність EFS спирається на кілька компонентів, як видно на схемі архітектури EFS (Рисунок 4.1).

 

 


 

 

Користувацький режим

 

LPC Режим ядра

 
 
 
 
 
 
 
 
 

 

Рисунок 4.1 - архітектура EFS