Encrypting File SystemEncrypting File System (EFS) — система шифрування даних, що реалізує шифрування на рівні файлів в операційних системах Microsoft Windows NT (починаючи з Windows 2000 і вище), за винятком «домашніх» версій (Windows XP Home Edition, Windows Vista Basic, Windows Vista Home Premium, Windows 7 Starter (Home Basic і Premium), Windows 10 Pro, Enterprise, and Education editions, Windows Server 2016, Windows Server 2019. Дана система надає можливість прозорого шифрування даних[en], що зберігаються у розділах з файловою системою NTFS, для захисту потенційно конфіденційних даних від несанкціонованого доступу за наявності фізичного доступу посторонніх осіб до комп'ютера і дисків. Аутентифікація користувача та права доступу до ресурсів, що мають місце в NT, працюють, коли операційна система завантажена, але при фізичному доступі до системи з'являється можливість завантажити іншу ОС, та обійти ці обмеження. EFS використовує симетричне шифрування для захисту файлів, а також шифрування, засноване на парі відкритий/закритий ключ, для захисту випадково згенерованого ключа шифрування для кожного файлу. За замовчуванням закритий ключ користувача захищений за допомогою шифрування користувальницьким паролем, і захищеність даних залежить від стійкості пароля користувача. Опис роботиEFS працює, шифруючи кожен файл за допомогою алгоритму симетричного шифрування, що залежить від версії операційної системи і налаштувань (починаючи з Windows XP доступна теоретична можливість використання сторонніх бібліотек для шифрування даних). При цьому використовується випадково згенерований ключ для кожного файлу, званий File Encryption Key (FEK), вибір симетричного шифрування на даному етапі пояснюється його швидкістю, в порівнянні з асиметричним шифруванням. FEK (випадковий для кожного файлу ключ симетричного шифрування) захищається шляхом асиметричного шифрування, що використовує відкритий ключ користувача, шифрувального файл, і алгоритм RSA (теоретично можливе використання інших алгоритмів асиметричного шифрування). Зашифрований таким чином ключ FEK зберігається в альтернативному потоці $EFS файлової системи NTFS. Для розшифрування даних драйвер файлової системи прозоро для користувача розшифровує FEK, використовуючи закритий ключ користувача, а потім і необхідний файл з допомогою розшифрованого файлового ключа. Оскільки шифрування/розшифрування файлів відбувається з допомогою драйвера файлової системи (по суті, надбудови над NTFS), воно відбувається прозоро для користувача і додатків. Варто зауважити, що EFS не шифрує файли, що передаються по мережі, тому для захисту переданих даних необхідно використовувати інші протоколи захисту даних (IPSec або WebDAV). Інтерфейси взаємодії з EFSДля роботи з EFS у користувача є можливість використовувати графічний інтерфейс провідника або утиліту командного рядка. Використання графічного інтерфейсуДля того, щоб зашифрувати файл або папку, що містить файл, користувач може скористатися відповідним вікном діалогу властивостей файлу або папки, встановивши або знявши прапорець «шифрувати вміст для захисту даних», при цьому для файлів, починаючи з Windows XP, можна додати відкриті ключі інших користувачів, які теж будуть мати можливість розшифрувати файл і працювати з його вмістом (при наявності відповідних дозволів). При шифруванні папки шифруються всі файли, що знаходяться в ній, а також ті, які будуть поміщені в неї пізніше. При роботі з провідником Windows можливе (за промовчанням) відображення зашифрованих файлів і папок іншим (за промовчанням зеленим) кольором, що дозволяє візуально відрізнити захищений таким чином вміст. При копіюванні зашифрованих файлів на розділ, де шифрування не підтримується (наприклад, з файловою системою FAT32 і под.) буде виведене попередження про те, що файл буде розшифровано. Методом редагування реєстру можливо додати в контекстне меню провідника (та інших, що підтримують цю функціональність файлових менеджерів) пунктів «зашифрувати» і «розшифрувати», що підвищує зручність роботи при частому використанні цих функцій, для чого необхідно створити (або відредагувати існуючий) параметр реєстру DWORD Інтерфейс командного рядкаДля роботи користувача з EFS існує також можливість використовувати інтерфейс командного рядка — команду cipher. При виконанні даної команди без параметрів буде показано вміст поточної папки з міткою U перед файлом, якщо він не зашифрований, і E - якщо зашифрований. Команда шифрування файлу/папки має вигляд:
Команда розшифрування файлу/папки має вигляд:
Дана утиліта має ряд інших можливостей, список яких може бути отриманий за допомогою команди Очищення невикористаного місцяПри видаленні файлу або папки не відбувається повного фізичного видалення інформації, очищається лише «зміст» файлової системи. За допомогою утиліти cipher можливе часткове вирішення цієї проблеми, оскільки існує можливість виконати очищення вільного місця на диску шляхом його затирання. Для цього необхідно використати синтаксис:
WinAPIДля роботи з EFS прикладних і системних програм можливе використання документованих і недокументованих функцій API Windows. Алгоритми шифрування, які використовуються EFSПідсистема EFS використовує різні симетричні алгоритми шифрування, що залежить від версії операційної системи.
Див. такожПосилання
Information related to Encrypting File System |