
- •Файловые системы
- •Файловая система NTFS
- •Защита целостности данных
- •Целостность данных и кэширование
- •Горячая фиксация
- •Механизм транзакций
- •Механизм транзакций
- •Примеры транзакций NTFS
- •Файл журнала
- •Записи в файле журнала
- •Записи модификации
- •Структура записи модификации
- •Записи подтверждения транзакции
- •Запись контрольной точки
- •Таблицы восстановления
- •Взаимодействие NTFS со связанными компонентами
- •Взаимодействие NTFS со связанными компонентами
- •Процесс восстановления
- •Фаза анализа
- •Фаза повтора транзакции
- •Фаза отмены транзакции
- •Файловые системы
- •Безопасность в NTFS
- •Стандартные разрешения для файлов и папок
- •Специальные разрешения для файлов и папок
- •Специальные разрешения для файлов и каталогов
- •Специальные разрешения для файлов и каталогов
- •Область действия разрешений
- •Шифрующая файловая система
- •Архитектура EFS
- •Архитектура EFS
- •Технологии шифрования EFS
- •Сравнение симметричных и асимметричных алгоритмов шифрования
- •Общая схема симметричного шифрования
- •Общая схема асимметричного шифрования
- •Шифрование и дешифрование
- •Шифрование файла
- •Дешифрование файла
- •Способы шифрования в NTFS
- •Шифрование файлов и папок
- •Шифрование файлов и папок
- •Шифрование файлов и папок
- •CryptoAPI
- •Ограничения EFS
- •Политика восстановления данных
- •Политика восстановления данных
- •Шифрование диска с помощью BitLocker
- •Файловая система NTFS
- •Дополнительные возможности NTFS
- •Создание Hard Link
- •Точки подсоединения
- •Утилита Mountvol
- •Фрагментация файлов в NTFS
- •Дефрагментация NTFS
- •Развитие NTFS
- •Получение справочной информации об NTFS
- •Оптимизация NTFS
- •Оптимизация NTFS
- •Полезные советы по спасению данных
- •GetDataBack for NTFS
- •Дополнительная инф-ция
- •Файловая система NTFS
- •Поиск данных файла
- •Поиск свободного места
- •Работа с каталогами и файлами
- •Итоги
- •Итоги

Архитектура EFS
Драйвер EFS. Драйвер EFS является надстройкой над файловой системой NTFS. Он обменивается данными со службой EFS — запрашивает ключи шифрования, наборы DDF (Data Decryption Field) и DRF (Data Recovery Field), — а также с другими службами управления ключами. Полученную информацию драйвер EFS передает библиотеке реального времени файловой системы EFS (File System Run Time Library, FSRTL), которая прозрачно для операционной системы выполняет различные операции, характерные для файловой системы (чтение, запись, открытие файла, присоединение информации).
Библиотека реального времени файловой системы EFS. FSRTL — это модуль, находящийся внутри драйвера EFS, реализующий вызовы NTFS, выполняющие такие операции, как чтение, запись и открытие зашифрованных файлов и каталогов, а также операции, связанные с шифрованием, дешифрованием и восстановлением файлов при их чтении или записи на диск. Хотя драйверы EFS и FSRTL реализованы в виде одного компонента, они никогда не обмениваются данными напрямую. Для передачи сообщений друг другу они используют механизм вызовов (callouts) NTFS, предназначенный для управления файлами. Это гарантирует, что вся работа с файлами происходит при непосредственном участии NTFS. С помощью механизма управления файлами операции записи значений атрибутов EFS (DDF и DRF) реализованы как обычная модификация атрибутов файла. Кроме того, передача ключа шифрования файла РЕК (см. ниже), полученного службой EFS, в FSRTL выполняется так, чтобы он мог быть установлен в контексте открытого файла. Затем контекст файла используется для автоматического выполнения операций шифрования и дешифрования при записи и чтении информации файла.
Служба EFS. Служба EFS (EFS Service) является частью системы безопасности операционной системы. Для обмена данными с драйвером EFS она использует порт связи LPC, существующий между локальным администратором безопасности (Local Security Authority, LSA) и монитором безопасности, работающим в привилегированном режиме. В режиме пользователя для создания ключей шифрования файлов и генерирования данных для DDF и DRF служба EFS использует CryptoAPI. Она также поддерживает набор API для Win32.
Набор API для Win32. Этот набор интерфейсов прикладного программирования позволяет выполнять шифрование файлов, дешифрование и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного дешифрования). Эти API поддерживаются стандартным системным модулем DLL — advapi32.dll.

Технологии шифрования EFS
EFS использует различные симметричные алгоритмы шифрования, зависящие от версии Windows (см. таблицу).
Операционная |
Алгоритм шифрования |
Альтернативные |
система |
по умолчанию |
доступные алгоритмы |
Windows 2000 |
DESX |
(none) |
Windows XP RTM |
DESX |
3DES |
Windows XP SP1 |
AES 256 |
3DES, DESX |
Windows Server 2003 |
AES 256 |
3DES, DESX |
Windows Vista |
AES 256 |
3DES, DESX |
Windows Server 2008 |
AES 256 |
3DES, DESX (?) |
Для повышения защиты EFS использует комбинацию симметричного и асимметричного шифрования.
EFS не шифрует файлы, передаваемые по сети, поэтому для защиты передаваемых данных необходимо использовать другие протоколы защиты данных (IPSec или WebDAV).

Сравнение симметричных и асимметричных алгоритмов шифрования
В асимметричных системах необходимо применять длинные ключи (512 битов и больше). Длинный ключ резко увеличивает время шифрования. Кроме того, генерация ключей весьма длительна. Зато распределять ключи можно по незащищенным каналам.
В симметричных алгоритмах используют более короткие ключи, т. е. шифрование происходит быстрее, поэтому их назначение – групповое шифрование больших объемов данных. Но в таких системах сложно распределение ключей.

Общая схема симметричного шифрования
Шифрование и дешифрование выполняется с использованием одного и того же секретного ключа.
Примеры симметричных алгоритмов – DESX, AES, TripleDES.

Общая схема асимметричного шифрования
Шифрование и дешифрование выполняется с использованием разных ключей.
Примеры асимметричных алгоритмов – RSA.

Шифрование и дешифрование
Для шифрования каждого файла используется случайно- сгенерированный ключ, называемый File Encryption Key (FEK), выбор симметричного шифрования на данном этапе объясняется его скоростью и большей надёжностью по отношению к асимметричному шифрованию.
FEK (случайный для каждого файла ключ симметричного шифрования) защищается путём асимметричного шифрования использующим открытый ключ пользователя шифрующего файл и алгоритм RSA (теоретически возможно использование других алгоритмов асимметричного шифрования). Зашифрованный таким образом ключ FEK сохраняется в альтернативном потоке $EFS файловой системы NTFS.
Для расшифрования данных драйвер шифрованной файловой системы прозрачно для пользователя расшифровывает FEK используя закрытый ключ пользователя (RSA 1024), а затем и необходимый файл с помощью расшифрованного файлового ключа.
Закрытый ключ пользователя записан в реестре в зашифрованном виде. Ключ к расшифровке - пароль пользователя.

Шифрование файла

Дешифрование файла

Способы шифрования в NTFS
шифрование файлов и папок с использованием Проводника (установка специального атрибута папки/файла)
шифрование файлов и папок с использованием CryptoAPI
шифрование файлов и папок с использованием cipher
копирование файлов и папок в папку, поддерживающую шифрование
