| Архитектура
EFS
EFS содержит следующие компоненты операционной системы
(рис. 22.7).
- Драйвер EFS. Драйвер EFS является
надстройкой над файловой системой NTFS. Он обменивается данными со службой EFS
— запрашивает ключи шифрования, наборы DDF (Data Decryption Field) и DRF (Data
Recovery Field), — а также с другими службами управления ключами. Полученную информацию
драйвер EFS передает Библиотеке реального времени файловой системы EFS (File System
Run-Time Library, FSRTL), которая прозрачно для операционной системы выполняет
различные операции, характерные для файловой системы (чтение, запись, открытие
файла, присоединение информации). [an error occurred while processing this directive]
- Библиотека
реального времени файловой системы EFS. FSRTL — это модуль, находящийся внутри
драйвера EFS, реализующий вызовы NTFS, выполняющие такие операции, как чтение,
запись и открытие зашифрованных файлов и каталогов, а также операции, связанные
с шифрованием, дешифрованием и восстановлением файлов при их чтении или записи
на диск. Хотя драйверы EFS и FSRTL реализованы в виде одного компонента, они никогда
не обмениваются данными напрямую. Для передачи сообщений друг другу они используют
механизм вызовов (callouts) NTFS, предназначенный для управления файлами. Это
гарантирует, что вся работа с файлами происходит при непосредственном участии
NTFS. С помощью механизма управления файлами операции записи значений атрибутов
EFS (DDF и DRF) реализованы как обычная модификация атрибутов файла. Кроме того,
передача ключа шифрования файла РЕК (см. ниже), полученного службой EFS, в FSRTL
выполняется так, чтобы он мог быть установлен в контексте открытого файла. Затем
контекст файла используется для автоматического выполнения операций шифрования
и дешифрования при записи и чтении информации файла.

Рис. 22.7. Архитектура EFS
- Служба EFS. Служба EFS (EFS Service) является частью
системы безопасности операционной системы. Для обмена данными с драйвером EFS
она использует порт связи LPC, существующий между Локальным администратором безопасности
(Local Security Authority, LSA) и монитором безопасности, работающим в привилегированном
режиме. В режиме пользователя для создания ключей шифрования файлов и генерирования
данных для DDF и DRF служба EFS использует CryptoAPI. Она также поддерживает набор
API для Win32.
- Набор API для Win32. Этот набор интерфейсов
прикладного программирования позволяет выполнять шифрование файлов, дешифрование
и восстановление зашифрованных файлов, а также их импорт и экспорт (без предварительного
дешифрования). Эти API поддерживаются стандартным системным модулем DLL — advapi32.dll.
|