Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗИПЕКТ 09.11.2011 Лекция 5.docx
Скачиваний:
8
Добавлен:
17.11.2018
Размер:
297.39 Кб
Скачать

Элемент ключа

Элемент ключа (key entry, «заголовок» на рис. «Ключевая схема EFS») – запись о пользователе зашифрованного файла, необходимая для его расшифрования.

Связка ключей (key ring) – совокупность нескольких элементов ключей (поскольку один файл может быть доступен нескольким пользователям).

Сопоставленные с файлом данные efs

Data Decryption Field (DDF) – область данных EFS, хранящая связки ключей пользователей.

Data Recovery Field (DRF) – область данных EFS, хранящая связки ключей агентов восстановления (recovery key entries).

Агенты восстановления – это учётные записи, используемые для расшифрования файлов в тех случаях, когда администратору нужен доступ к пользовательским данным (например, при утере ключа пользователем).

Структура данных EFS

Заголовок

Версия

Контрольная сумма

Поле шифрованных данных

Число элементов ключей DDF

DDF-элемент ключа 1

DDF-элемент ключа 2

Поле восстановленных данных

Число элементов ключей DRF

DRF-элемент ключа 1

DRF-элемент ключа 2

Структура элемента ключа DDF или DRF

Идентификатор пользователя в системе (SID)

Имя контейнера

Имя компонентов доступа (криптопровайдера)

Хэш сертификата EFS

Зашифрованный FEK

Резервная копия шифруемого файла

Перед зашифрованием файла Lsass создаёт его резервную копию, в которую, в том числе, записывается содержимое именованных потоков исходного файла.

Резервная копия удаляется только после успешного зашифрования файла.

Статья про именованные потоки в журнале Хакер, именованный поток даже можно запустить на выполнение – там указано, как это сделать.

Взаимодействие компонентов ОС при шифровании файла

  1. Приложение записывает данные в шифрованный файл.

  2. NTFS помещает данные в кэш файловой системы.

  3. Диспетчер кэша сбрасывает данные на диск по алгоритму отложенной записи через NTFS.

  4. NTFS вызывает драйвер EFS для шифрования содержимого файла, предназначенного для записи на диск.

  5. NTFS записывает данные зашифрованное содержимое файла на диск.

Основные этапы процесса шифрования

  1. Загружается профиль пользователя, если это необходимо.

  2. В каталоге System Volume Information создаётся файл журнала. Здесь тот же механизм транзакции, похож на NTFS-ный. По мере выполнения следующих этапов в журнал заносятся записи, позволяющие восстановить файл после сбоя системы в процессе шифрования.

  3. Криптопровайдер генерирует для файла случайное 128-битное число, используемое в качестве FEK.

  4. Генерируется или считывается криптографическая пара ключей пользователей.

  5. Для файла создаётся связка ключей DDF с элементом для данного пользователя. Этот элемент содержит копию FEK, зашифрованную с помощью открытого ключа пользователя.

  6. Для файла создаётся связка ключей DRF. В ней есть элементы для каждого агента восстановления в системе. В каждом элементе содержится копия FEK, зашифрованная с помощью открытого ключа агента.

  7. Создаётся резервный файл в том каталоге, где находится шифруемый файл.

  8. Связки ключей DDF и DRF добавляются к заголовку и сопоставляются с файлом, как атрибут EFS.

  9. Резервный файл помечается, как шифрованный, и в него копируется содержимое исходного файла.

  10. Содержимое исходного файла уничтожается, в него копируется содержимое резервного файла. В результате этой операции данные исходного файла шифруются, так как теперь файл помечен, как шифрованный.

  11. Удаляется резервный файл.

  12. Удаляется файл журнала.

  13. Выгружается профиль пользователя.