logo
622231 / 622221с / очн 622221с / ПАЗИ 622221с / КЛ_ПАЗИ

2.2. Восстановление данных

ЕFS обеспечивает встроенную поддержку восстановления данных на тот случай, если потребуется их расшифровать, но, по каким-либо причинам это не может быть выполнено обычным способом. По умолчанию, EFS автоматически сгенерирует ключ восстановления, установит сертификат доступа в учетной записи администратора и сохранит его при первом входе в систему. Таким образом, администратор становится так называемым агентом восстановления и сможет расшифровать любой файл в системе. Разумеется, политику восстановления данных можно изменить, и назначить в качестве агента восстановления специального человека, ответственного за безопасность данных, или даже несколько таких лиц.

EFS осуществляет шифрование данных, используя схему с общим ключом. Данные шифруются быстрым симметричным алгоритмом при помощи ключа шифрования файла FEK (File Encryption Key). FЕК — это случайным образом сгенерированный ключ определенной длины. Длина ключа в североамериканской версии EFS 128 бит, в международной версии EFS используется уменьшенная длина ключа 40 или 56 бит.

FEK шифруется одним или несколькими общими ключами шифрования, в результате чего получается список зашифрованных ключей FEK. Список зашифрованных ключей FЕК хранится в специальном атрибуте ЕFS, который называется DDF (Data decryption field- поле дешифрования данных). Информация, при помощи которой производится шифрование данных, жестко связана с этим файлом. Общие ключи выделяются из пар пользовательских ключей сертификата Х509 с дополнительной возможностью использования «File Encryption». Личные ключи из этих пар используются при дешифровке данных и FЕК. Личная часть ключей хранится либо на смарт-картах, либо в другом надежном месте (например, в памяти, безопасность которой обеспечивается при помощи CryptoAPI). FЕК также шифруется при помощи одного или нескольких ключей восстановления (полученных из сертификатов Х509, записанных в политике восстановления зашифрованных данных для данного компьютера, с дополнительной возможностью «File recovery»).

Как и в предыдущем случае, общая часть ключа используется для шифрования списка FЕК. Список зашифрованных ключей FЕК также хранится вместе с файлом в специальной области ЕFS, которая называется DRF (data recovery field — поле восстановления данных). Для шифрования списка FЕК в DRF используется только общая часть каждой пары ключей. Для нормального осуществления файловых операций необходимы только общие ключи восстановления. Агенты восстановления могут хранить свои личные ключи в безопасном месте вне системы (например, на смарт-картах). На рисунке приведены схемы процессов шифрования, дешифрования и восстановления данных.

Незашифрованный файл пользователя шифруется при помощи случайно сгенерированного ключа FЕК. Этот ключ записывается вместе с файлом, файл дешифруется при помощи общего ключа пользователя (записанного в DDF), а также при помощи общего ключа агента восстановления (записанного в DRF).

Сначала используется личный ключ пользователя для дешифрации FЕК — для этого используется зашифрованная версия FЕК, которая хранится в DDF. Расшифрованный FЕК используется для поблочного дешифрования файла. Если в большом файле блоки считываются не последовательно, то дешифруются только считываемые блоки. Файл при этом остается зашифрованным.

Этот процесс аналогичен дешифрованию с той разницей, что для дешифрования FЕК используется личный ключ агента восстановления, а зашифрованная версия FЕК берется из DRF.