Технологии шифрования EFS. Принципы шифрования.
EFS основана на шифровании с открытым ключом и использует все возможности архитектуры CryptoAPI в Windows 2000. Каждый файл шифруется с помощью случайно сгенерированного ключа, зависящего от пары открытого (public) и личного, закрытого (private) ключей пользователя. Подобный подход в значительной степени затрудняет осуществление большого набора атак, основанных на криптоанализе.
При криптозащите файлов может быть применен любой алгоритм симметричного шифрования. Текущая версия EFS использует алгоритм DESX (расширенный DES) с длиной ключа 56 бит. EFS позволяет осуществлять шифрование и дешифрование файлов, находящихся на удаленных файловых серверах.
Примечание
В данном случае EPS может работать только с файлами, находящимися на диске. Шифрующая файловая система не осуществляет криптозащиту данных, передаваемых по сети. Для шифрования передаваемой информации в операционной системе Windows 2000 следует применять специальные сетевые протоколы, например SSL/PCT.
Принципы шифрования
В EFS для шифрования и дешифрования информации используются открытые ключи. Данные зашифровываются с помощью симметричного алгоритма с применением ключа шифрования файла (File Encryption Key, FEK). FEK – это сгенерированный случайным образом ключ, имеющий определенную длину.
В свою очередь, FEK шифруется с помощью одного или нескольких открытых ключей, предназначенных для криптозащиты ключа. В этом случае создается список зашифрованных ключей FEK, что позволяет организовать доступ к файлу со стороны нескольких пользователей. Для шифрования набора FEK используется открытая часть пары ключей каждого пользователя. Список зашифрованных ключей FEK хранится вместе с зашифрованным файлом в специальном атрибуте EFS, называемом полем дешифрования данных (Data Decryption Field, DDF). Информация, требуемая для дешифрования, привязывается к самому файлу. Секретная часть ключа пользователя используется при дешифровании FEK. Она хранится в безопасном месте, например на смарт-карте или другом устройстве, обладающем высокой степенью защищенности.
Примечание
Шифрование на основе ключа пользователя может быть выполнено с помощью симметричного алгоритма, применяющего ключ, образованный из пароля. EFS не поддерживает этот подход, поскольку схема, основанная на пароле пользователя, не обладает необходимой устойчивостью к атакам с применением словарей.
FEK применяется для создания ключей восстановления. Для этого FEK шифруется с помощью одного или нескольких открытых ключей восстановления. Список РЕК, зашифрованных для целей восстановления, хранится вместе с зашифрованным файлом в специальном атрибуте EFS, называемом полем восстановления данных (Data Recovery Field, DRF). Благодаря существованию набора зашифрованных FEK файл может восстановить несколько агентов восстановления данных (см. ниже).
Для шифрования РЕК в DRF необходима только общая часть пары ключей восстановления, ее присутствие в системе необходимо в любой момент времени для нормального функционирования файловой системы. Сама процедура восстановления выполняется довольно редко, когда пользователь увольняется из организации или забывает секретную часть ключа. Поэтому агенты восстановления могут хранить секретную часть ключей восстановления в безопасном месте, например на смарт-картах или других хорошо защищенных устройствах.