ТОП 10:

Принципи шифрування даних на файлових системах



Механізми керування доступом до файлів не можуть запобігти несанкціоновано­му доступу до інформації у разі фізичного викрадення жорсткого диска. Зробив­ши це, зловмисник може підключити диск до комп'ютера із сумісною версією операційної системи, у якій він є привілейованим користувачем. Після реєстрації із правами такого користувача можна отримати доступ до всіх файлів на викраде­ному диску незалежно від того, які для них задані списки контролю доступу. Така проблема характерна для переносних комп'ютерів (ноутбуків), оскільки вони часті­ше потрапляють у чужі руки.

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

Таке шифрування звичайно здійснюють на рівні драйвера файлової системи, який перехоплює спроби доступу до файла і шифрує та дешифрує його «на льо­ту» у разі, коли користувач надав необхідні дані (наприклад, ключ) для виконан­ня цих операцій.

Далі в цьому розділі йтиметься про особливості підтримки таких файлових систем у Linux і Windows XP.

 

Підтримка шифрувальних файлових систем у Linux

У Linux є кілька реалізацій файлових систем із підтримкою шифрування даних. Найвідоміші з них CFS і TCFS.

Підтримка файлової системи CFS реалізована в режимі користувача і дає змогу шифрувати дані на будь-якій наявній файловій системі ціною певної втрати про­дуктивності. Як алгоритм шифрування використовують потрійний DES. Шифру­вання може бути застосоване для окремих каталогів і файлів.

Підтримка системи TCFS реалізована в режимі ядра, що дає змогу досягти ви­щої продуктивності і ступеня захисту. Встановлення підтримки цієї файлової системи, однак, складніше (потрібні внесення змін у код ядра Linux і його перекомпіляція). Ця файлова система реалізує концепцію динамічних модулів шифру­вання, надаючи користувачу можливість вибору алгоритму і режиму шифруван­ня, які будуть використані для конкретної файлової системи, окремого каталогу або файла.

 

Шифрувальна файлова система Windows XP

Засоби підтримки шифрування файлів у OC лінії Windows XP описані під за­гальною назвою шурувальної файлової системи (Encrypting File Systera, EFS). Для цього використовують драйвер файлової системи, розташований над драйве­ром NTFS.

 

Принципи роботи EFS

Реалізація EFS - це гібридна криптосистема із кількома рівнями шифрування.

♦ Безпосередньо для шифрування даних файла використовують симетричний алгоритм (посилений аналог DES, можливе використання інших алгоритмів). Ключ для нього {ключ шифрування файла - File Encryption Key, FEK) гене­рують випадково під час кожної спроби зашифрувати файл.

♦ Для шифрування FEK використовують алгоритм із відкритим ключем (RSA). Для кожного користувача генерують пару RSA-ключів, при цьому FEK шиф­рують відкритим ключем цієї пари. Результат шифрування FEK зберігають у заголовку файла. Крім того, передбачена можливість дешифрування файла довіреною особою {агентом відновлення, recovery agent) у разі втрати ключа користувачем. Для цього результат шифрування FEK відкритими ключами довірених агентів також зберігають у заголовку файла.

♦ Відкритий ключ користувача зберігають у вигляді сертифіката у сховищі сер­тифікатів (certificate store), розташованому в домашньому каталозі користу­вача на локальному комп'ютері. Крім того, у цьому сховищі містяться серти­фікати всіх агентів відновлення.

♦ Для шифрування закритого ключа користувача використовують симетричний алгоритм RC4 із ключем, який система генерує випадково і періодично обнов­лює. Цей ключ називають майстер-ключем (master key). Результат шифру­вання закритого ключа майстер-ключем зберігають на файловій системі в до­машньому каталозі користувача.

♦ Для шифрування майстер-ключа теж використовують симетричний алгоритм RC4, але із більшою довжиною ключа. Його генерують на основі застосування односторонньої хеш-функції SHA-I до даних облікового запису користувача (його SID і паролю). Результат шифрування майстер-ключа цим ключем та­кож зберігають на файловій системі.

 

Програмний інтерфейс EFS

Для шифрування файла або каталогу використовують функцію EncryptFi le(), а для дешифрування - DecryptFile() [70]:

 

EncryptFi1e("myfi1e.txt");

DecryptFile("myfile.txt", 0);

Для перевірки того, чи файл зашифрований, використовують функцію FiIe-EncryptionStatus():

 

BOOL FileEncryptionStatus(LPCTSTR fname, LPDW0RD status):

 

де: fname — ім'я файла або каталогу;

status - покажчик на змінну, у яку заноситься інформація про підтримку шифрування для файла (FILEENCRYPTABLE - файл може бути зашифрований, FILEISENCRYPTED - файл зашифрований; інші значення показують, що шиф­рування не підтримується).

Ця функція повертає FALSE, якщо під час перевірки виникла помилка. DWORD status;

 

if (Fi1eEncryptionStatus("myfile.txt", &status)) {

if (status == FILE_IS_ENCRYPTED) printf ("Файл зашифрований\п"):

}

Для деяких каталогів має сенс заборонити шифрування. Для цього необхідно помістити в такий каталог файл desktop.ini з інформацією:

 

[Encryption]

Disable=1

 

Мережна безпека даних

У цьому розділі йтиметься про організацію мережної безпеки даних в операцій­них системах, яка пов'язана із забезпеченням конфіденційності інформації у разі її передавання мережею [10, 40]. Як приклад буде розглянуто засоби забезпечен­ня мережної безпеки на різних рівнях мережної архітектури TCP/IP.

 

Шифрування каналів зв'язку







Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.235.66.217 (0.004 с.)