Резервное копирование и восстановление шифрованных файлов


Шифрующая файловая система (EFS) фильтрует открытие зашифрованного файла таким способом, что приложение, которое открывает файл, получает доступ к незашифрованной информации, если оно, конечно, имеет надлежащие полномочия, чтобы получить доступ к файлу и получить ключ, необходимый, чтобы расшифровать файл. Последующие операции чтения в этом файле приведут к незашифрованному тексту. Это очень желательно для обычного доступа к зашифрованным файлам и сохраняет шифрование и расшифровку файлов прозрачной. Однако, это препятствует резервному копированию зашифрованных файлов, потому что, если резервное копирование предпринято со стандартными вызовами функций файлового ввода - вывода подобно CreateFile, ReadFile и WriteFile, файлы будут возвращаться к исходной версии открытого  текста.

Чтобы решить эту проблему, предусматриваются функции без расшифровки данных. Резервное копирование приложениями - главный подразумеваемый пользователь этих функций. Эти функции без расшифровки данных отличаются от других функций файловой системы, тем, что функции открытия, чтения и  записи дают возможность доступа к потокам нерасшифрованных данных, а также дают возможность читать/писать потоку  $EFS. Поэтому программа, вызывающая функции без расшифровки данных  не нуждается в доступе к криптографическим ключам, которые расшифровывают файл. Ниже перечислены API без расшифровки данных, которые доступны для использования приложениями резервного копирования и восстановления данных:

API без расшифровки данных Описание
OpenEncryptedFileRaw Открывает зашифрованный файл с доступом к данным в зашифрованном формате.
CloseEncryptedFileRaw Закрывает зашифрованный файл, открытый  OpenEncryptedFileRaw.
ReadEncryptedFileRaw Читает зашифрованный файл, оставляя его данные в зашифрованном формате.
WriteEncryptedFileRaw Пишет в зашифрованный файл, оставляя его данные в зашифрованном формате.
ImportCallback Определяемый программой повторный вызов для использования с WriteEncryptedFileRaw.
ExportCallback Определяемый программой повторный вызов для использования с ReadEncryptedFileRaw.

 

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz