Более удобные платформы для шифрования файлов с использованием EFS
Шифрующая файловая система (Encrypting File System, EFS) — компонент NTFS 5.0, с помощью которого пользователи Windows могут обеспечить конфиденциальность файлов на диске формата NTFS. Компания Microsoft впервые реализовала NTFS 5.0 и EFS в Windows 2000. В Windows Server 2003 и Windows XP функциональность и набор компонентов EFS были расширены. Среди усовершенствований — коллективное использование зашифрованных данных и совместимость EFS с автономными папками.
Совершенствование EFS продолжилось в клиентской и серверной операционных системах Microsoft следущего поколения — Windows Vista, новой клиентской операционной системе, которая появится в течение ближайших шести месяцев, и Windows Longhorn Server, серверной операционной системе, выпуск которой запланирован на 2007 г. В данной статье рассматривается базовая функциональность EFS и новые возможности, которые должны быть реализованы в Vista и Longhorn.
Механизм EFS
Использовать EFS для шифрования содержимого файлов и папок сравнительно просто: пользователям Windows достаточно установить флажок Encrypt contents to secure в дополнительных свойствах файла или выбрать команду Encrypt из контекстного меню файла или папки. Команда Encrypt/Decrypt контекстного меню — малоизвестная функция, по умолчанию отключенная. Чтобы ее активизировать, необходимо добавить параметр EncryptionContext Menu со значением 1 типа REG_DWORD в раздел реестра HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion ExplorerAdvanced.
Если атрибут шифрования установлен на уровне папки NTFS, то вновь создаваемые файлы в папке будут шифроваться автоматически. Если флажок Apply changes to this folder, subfolders and files не установлен, то файлы, находившиеся в папке до установки атрибута шифрования, шифроваться не будут. То же относится и к дешифрации. Совместное использование шифрованных EFS данных (функция EFS, появившаяся в Windows 2003 и XP) нельзя задать на уровне папки: этот режим возможен только на уровне файлов.
С помощью инструмента Cipher.exe компании Microsoft можно автоматизировать шифрование и управлять им из командной строки. Для автоматического шифрования данных можно указать ссылки на Cipher.exe в сценариях регистрации и завершения сеанса работы пользователя либо в сценариях запуска и завершения работы компьютера. Администраторы Windows 2003 и Windows 2000 могут использовать в Active Directory (AD) объекты групповой политики (GPO) для автоматического распространения таких сценариев по всей компании. Внутренний механизм EFS — отличный пример гибридного решения шифрования, в котором объединены возможности симметричного и асимметричного шифрования. Асимметричные шифры труднее взломать, но для их обработки требуется больше времени, чем для симметричных шифров. EFS использует симметричный шифр Advanced Encryption Standard (AES) или Data Encryption Standard X (DESX) в предшествующих версиях Windows — для шифрования данных и асимметричный шифр RSA — для надежного хранения ключа шифрования данных. Ключ шифрования данных EFS известен как FEK (File Encryption Key — ключ шифрования файлов). Сравнительные характеристики симметричных и асимметричных шифров приведены во врезке «Симметричное и асимметричное шифрование».
Уникальная особенность EFS — восстановление данных. Благодаря этой функции можно выделить набор локальных и доменных учетных записей для шифрования и восстановления пользовательских данных. Она незаменима, если пользователи теряют или удаляют ключи EFS и не могут получить доступ к собственным зашифрованным данным. Потери ключа EFS могут быть результатом случайного или намеренного (например, пользователь увольняется из компании) удаления профиля пользователя (ключи EFS хранятся в нем). Ключ может потеряться и после того, как администратор сбрасывает пароль пользователя (например, если пользователь забывает пароль); ключи EFS защищены ключом, созданным на основе пароля пользователя.
Начиная с версии EFS, встроенной в Windows 2003 и XP, EFS может функционировать как с учетной записью восстановления данных, так и без нее. В Windows 2000 систему EFS можно было использовать, только определив учетную запись агента восстановления данных (по умолчанию на автономных компьютерах это учетная запись Administrator, а в домене — учетная запись администратора домена на первом контроллере, установленном в домене).
EFS хранит данные для шифрования и восстановления данных в файловых потоках, связанных с зашифрованными файлами. EFS хранит отдельные зашифрованные копии ключа FEK в файловых потоках NTFS: одну доступную только для учетной записи пользователя, зашифровавшего данные, и по одной для каждого агента восстановления данных. Первая располагается в поле, называемом DDF (Data Decryption Field — поле дешифрации данных), а вторая находится в поле DRF (Data Recovery Field — поле восстановления данных).
Надежное резервное копирование ключа
Главная болевая точка EFS — потеря данных из-за того, что пользователи не знают или просто забывают, как важно делать резервные копии закрытого ключа EFS. Если пользователи устанавливают новую операционную систему Windows или копируют и восстанавливают защищенные EFS данные между различными компьютерами, но при этом не копируют старый закрытый ключ EFS с предыдущего компьютера или операционной системы, чтобы импортировать его в новую среду, то доступ к данным, ранее зашифрованным с применением EFS, будет потерян. То же происходит и в случае, если не определены учетные записи для восстановления данных
В Windows 2003, XP и Windows 2000 система EFS не предупреждает пользователя о важности резервного копирования закрытого ключа EFS на носителе (например, флэш-памяти USB), отличном от жесткого диска, содержащего операционную систему. Это серьезная проблема для владельцев автономных компьютеров Windows 2003 и XP. В домене с интегрированной инфраструктурой открытого ключа (PKI) закрытые EFS-ключи пользователей могут автоматически архивироваться при каждом обращении пользователя за сертификатом EFS. Это возможно благодаря интегрированной службе архивирования и восстановления ключа, поставляемой вместе с удостоверяющим центром Windows 2003 Certification Authority (CA). Данная проблема менее актуальна в Windows 2000, где для EFS всегда определена учетная запись восстановления данных (EFS вообще не функционирует без учетной записи восстановления данных).
Экран 1. Предупреждение о необходимости создать резервную копию ключа EFS |
В автономных системах Vista и Longhorn Server операционная система автоматически приглашает пользователя сделать резервную копию закрытого ключа EFS. На экране 1 показано предупреждение, всплывающее на панели задач в первый раз, когда пользователь шифрует данные с применением EFS, и каждый раз, когда пользователь получает новый закрытый ключ EFS. По щелчку пользователя на этом сообщении появляется окно, показанное на экране 2, и пользователь может сделать резервную копию ключа, получить напоминание при следующей регистрации или не копировать ключ. Если пользователь захочет создать резервную копию ключа, операционная система запускает мастер Certificate Export Wizard, из которого можно копировать закрытый ключ в надежно защищенный паролем файл в формате PKCS #12. Этот файл лучше сохранить на сменном носителе, а не на жестком диске системы.
Пользователь может в любое время запустить мастер резервного копирования ключа вручную из утилиты User Accounts панели управления, используя функцию Manage your file encryption certificates и выбрав режим Back up the certificate and key now. Мастер, который проводит пользователя по этапам резервного копирования ключа, также связан со справочным файлом, содержащим рекомендации по копированию закрытого EFS-ключа пользователя в надежное хранилище.
Экран 2. Следует немедленно выполнить резервное копирование |
Резервную копию закрытого ключа EFS можно получить из оснастки Microsoft Management Console (MMC) Certificates, как в XP и предыдущих версиях операционной системы. Для этого достаточно открыть EFS-сертификат из оснастки и выбрать функцию Copy to File на вкладке Details программы просмотра сертификатов. При этом запускается мастер Certificate Export Wizard. На этот раз необходимо выбрать вариант работы мастера Yes, export the private key.
Резервное копирование ключа EFS и связанный с ним механизм восстановления, описанный выше, нельзя путать со встроенной функцией восстановления данных EFS. Восстановление данных EFS всегда возможно в Windows 2000 EFS; в Vista, Windows 2003 и XP EFS это дополнительный вариант. Восстановление данных EFS основано на существовании сертификата восстановления EFS и закрытого ключа, принадлежащего административной учетной записи. Это обеспечивает доступ к зашифрованным данным из учетной записи восстановления, если пользователь теряет свой закрытый ключ или его резервную копию. Функция восстановления данных EFS как таковая также защищает от потерь зашифрованных данных.
Чтобы создать сертификат восстановления и закрытый ключ для автономного компьютера, пользователь с административными правами должен запустить Cipher.exe следующим образом:
cipher /r:
Эта команда создает сертификат восстановления и закрытый ключ; затем необходимо сохранить полученный файл на устройстве флэш-памяти USB или другом сменном носителе. Дополнить ранее зашифрованные файлы новой информацией о восстановлении администраторы могут с помощью команды
cipher /u
Чтобы создать сертификат восстановления EFS для компьютеров, которые являются членами домена, обычно получают сертификат восстановления от корпоративного удостоверяющего центра, интегрированного с AD, а затем требуется распространить информацию о восстановлении по компьютерам, членам домена с использованием параметров EFS GPO.
Повторная генерация ключей
Еще одно усовершенствование EFS в Vista и Longhorn Server — мастер EFS Re-key Wizard. Благодаря этому мастеру пользователь Windows может задействовать новый закрытый ключ, чтобы заново зашифровать свой EFS FEK. EFS не перешифровывает FEK автоматически, когда пользователь получает новый закрытый ключ EFS; вместо этого копия старого закрытого ключа сохраняется в хранилище закрытого ключа пользователя (это часть профиля пользователя), чтобы обеспечить доступ к ранее зашифрованным данным.
Повторная генерация ключей EFS — ценная возможность при переходе пользователей на новый закрытый ключ EFS, так как при этом устраняется зависимость пользователя от старых ключей. Благодаря повторной генерации ключей устраняется необходимость в резервном копировании старого частного ключа EFS и сохранении копии для доступа к ранее зашифрованным данным. Это действительно только для EFS-защищенных данных, сохраненных на логических дисках, подключенных к локальному компьютеру пользователя. Мастер повторной генерации ключей не может применяться для смены ключа защищенных EFS файлов, хранимых на резервном носителе. Другими словами, если в данном сценарии пользователь не хочет сохранять старые ключи EFS, необходимо делать резервные копии защищенных EFS файлов после каждой повторной генерации ключей.
Мастер EFS Re-key Wizard особенно полезен, когда пользователи переходят от закрытого ключа EFS на базе жесткого диска к закрытому ключу EFS на базе смарт-карты (о смарт-картах будет подробнее рассказано ниже). Мастер позволяет пользователям полностью отказаться от хранения закрытого EFS-ключа на жестком диске: с помощью закрытого EFS-ключа на смарт-карте можно защитить все данные — как старые, так и новые. В организациях, для которых информационная безопасность имеет решающее значение, пользователи EFS могут регулярно менять закрытый ключ EFS с помощью мастера EFS Re-key Wizard. При частой смене ключей снижается вероятность успешной атаки. Мастер может пригодиться тем пользователям, которые применяют различные ключи для шифрования информации в разных компьютерах, и тем, кто хочет добиться соответствия ключей EFS в различных системах.
Экран 3. Мастер EFS Re-key Wizard |
Запустить EFS Re-key Wizard можно из утилиты User Accounts в панели управления (экран 3). Следует выбрать параметр Manage your file encryption certificates, а затем выбрать Create a new certificate. На экране Update your previously encrypted files мастера можно выбрать зашифрованные данные, которые необходимо обновить с новым ключом. Конечно, повторная генерация ключа EFS — не очевидное действие, регулярного выполнения которого нельзя требовать от обычного пользователя. Но пока придется довольствоваться им: в настоящее время компания Microsoft не обеспечивает возможности централизованной или автоматической регенерации ключа через регулярные промежутки времени.
Расширенная настройка EFS и централизованное управление
В Vista и Longhorn Server появился новый набор параметров конфигурации EFS, управляющих новыми функциями EFS, которые отсутствовали в прошлых редакциях EFS. Основные примеры: возможность шифровать файл подкачки и управлять очисткой кэша ключей шифрования EFS. В предыдущих редакциях EFS при открытии (то есть дешифрации) зашифрованного файла и записи его на диск открытое содержимое исходного файла сохранялось в файле подкачки. Кроме того, в прошлых редакциях кэш ключей шифрования EFS очищался только по окончании сеанса работы пользователя; сейчас кэш можно очистить, когда пользователь блокирует свою рабочую станцию или по истечении определенного промежутка времени.
Новые параметры настройки EFS обеспечивают управление EFS, конфигурацией безопасности, параметрами сертификата и закрытого ключа, а также кэшированием. В домене Windows эти параметры можно применить через групповую политику, чтобы управлять поведением EFS на рабочих станциях пользователей. Доступ к параметрам EFS можно получить из свойств контейнера Computer ConfigurationWindowsSettingsSecurity SettingsPublic KeyPoliciesEncrypting File System (экран 4). На иллюстрации не показаны параметры кэша EFS-ключа шифрования, которые управляются из вкладки Cache.
Экран 4. Параметры GPO для EFS |
Благодаря новым параметрам конфигурации администраторы могут легко активизировать и отменять использование EFS на компьютерах Windows в домене и централизованно настраивать важнейшие параметры EFS. Чтобы отказаться от использования EFS, необходимо просто выбрать вариант Don’t allow в соответствующем объекте GPO (экран 4). Администраторы могут потребовать обязательного применения смарт-карт для EFS, установив флажок Require smart card for EFS, разрешить использование сертификатов EFS с собственной подписью, установив флажок Allow EFS to generate self-signed certificates when a certificate authority is not available, и задать длину закрытых ключей EFS RSA, применяемых для сертификатов с собственной подписью, из раскрывающегося списка Key size for self-signed certificates. Длина ключа для EFS-сертификатов, генерируемых источником сертификатов Windows, задается в соответствующем шаблоне сертификата AD.
Изменения во внутренних механизмах
В Vista и Longhorn Server EFS появились два важных изменения, которые сразу не бросаются в глаза в графическом интерфейсе Windows: поддержка смарт-карт и возможность более эффективного использования EFS для файлов, расположенных на удаленных компьютерах. Компания Microsoft, наконец, обеспечила хранение закрытого ключа EFS в смарт-картах. Хранение закрытых ключей в смарт-картах — самый безопасный способ. В предыдущих версиях Windows закрытый ключ EFS можно было хранить только в профиле пользователя на жестком диске. Если каждая система, в которую входит пользователь, оснащена устройством чтения смарт-карт, то смарт-карты — самый простой способ реализации перемещаемых ключей EFS.
Также оптимизированы операции шифрования при сохранении закрытого ключа на смарт-карте. В прошлых версиях EFS использование смарт-карты замедляло бы доступ пользователей к зашифрованным файлам, если бы при каждом обращении к зашифрованному файлу требовалось прибегать к закрытому ключу на смарт-карте. По этой причине специалисты Microsoft разработали режим ускоренной работы с закрытым ключом EFS на смарт-карте. Когда пользователь впервые задействует закрытый ключ на смарт-карте для доступа к зашифрованному файлу, EFS извлекает программный закрытый ключ EFS из закрытого ключа на смарт-карте и кэширует его в контексте безопасности Local Security Authority (LSA), — в сущности, система сохраняет его в защищенной области памяти. Затем EFS использует программный закрытый ключ для шифрования и дешифрации до конца сеанса пользователя.
Еще одно важное изменение — поддержка локального EFS-шифрования и дешифрации файлов, размещенных на удаленных компьютерах, например файл-серверах. В прошлых версиях EFS, когда пользователи обращались к зашифрованным файлам на файл-сервере, файл расшифровывался на файл-сервере и пересылался на рабочую станцию пользователя в чисто текстовом виде. В Vista и Longhorn Server внесены изменения в протокол Server Message Block (SMB) — стандартный протокол для совместного доступа к файлам в Windows, что позволяет пересылать метаданные EFS между файл-сервером и рабочей станцией пользователя. В результате защищенный EFS файл остается зашифрованным на всем пути движения к клиенту.
Эти изменения SMB — часть нового протокола SMB 2.0, который входит в основу исходного текста Vista и Longhorn Server. Аналогичная возможность в Windows 2003 реализована в наборе расширений WWW Distributed Authoring and Versioning (WebDAV). Однако эти расширения полезны лишь в том случае, если файл-сервер связан с общим ресурсом Web-сервера Microsoft IIS и если пользователь обращается к общим файлам через протокол HTTP.
Новый уровень безопасности
Благодаря таким новшествам в Vista EFS, как предупреждения и мастер резервного копирования ключа, мастер повторной генерации ключа и поддержки смарт-карт, стало проще повысить уровень безопасности предприятия с помощью EFS. Кроме того, компания Microsoft дополнила EFS долгожданными для предприятий возможностями, например поддержкой смарт-карт и более надежно защищенным доступом к зашифрованным файлам на удаленных компьютерах.
EFS дополняет другие технологии защиты и шифрования данных — BitLocker Drive Encryption (BDE) и Windows Rights Management Services (RMS), уже применяемые в продуктах Microsoft. Технология BDE предназначена для шифрования данных как одиночными пользователями, так и владельцами оптовых лицензий и не рассчитана на обмен зашифрованными данными. Предприятиям, которые нуждаются в обмене зашифрованными файлами, стоит обратить внимание на EFS. Дополнительные сведения о BDE в Vista можно найти в статье «Vista BitLocker: опасный помощник» на сайте www.windowsitpro.ru по адресу http://www.osp.ru/text/302/2876527/. Если компании требуются постоянные защита и шифрование данных, даже когда данные изъяты из защищенной папки или тома и присоединены, например, к почтовому сообщению Microsoft Outlook, следует применять RMS. Клиент RMS входит и в состав Vista.
Жан де Клерк - член Security Office компании HP. Специализируется на управлении идентификационными параметрами и безопасности в продуктах Microsoft. Автор книги Windows Server 2003 Security Infrastructures (издательство Digital Press). jan.declercq@hp.com
Симметричное и асимметричное шифрование
Симметричные шифры — самые старые и наиболее распространенные шифры. Ключ симметричного шифра, с помощью которого дешифруется шифротекст, такой же, как ключ шифрования простого текста (или может быть легко получен из него). Этот ключ часто называется секретным. Самые распространенные симметричные шифры — DES и AES.
В отличие от симметричного шифра, в асимметричном используется два ключа: один ключ — секретный, известный лишь одному человеку (закрытый ключ), а другой — общедоступный (открытый ключ). Два ключа математически взаимосвязаны, но один ключ невозможно вывести из другого. Широко известные асимметричные шифры — алгоритм Диффи-Хелмана, RSA и DSA.
Каковы преимущества и недостатки использования асимметричного шифра?
- Важное преимущество асимметричных шифров перед симметричными — отсутствие необходимости в секретном канале для обмена открытым ключом. При использовании симметричного шифра необходим секретный канал передачи секретного ключа, генерируемого на одной стороне канала связи, на другую сторону.
- При использовании асимметричных шифров возникает меньше проблем с управлением ключом. N объектам требуется только 2N ключей, чтобы организовать безопасную связь друг с другом. В системе с симметричным шифрованием потребуется N(N-1)/2 секретных ключей. Например, в масштабах организации с 5 тыс. сотрудников для решения с симметричным шифром потребуется более 12 млн. ключей. Для асимметричного решения нужно только 10 тыс. ключей.
- Недостаток асимметричных шифров по сравнению с симметричными заключается в том, что они в «1000 раз медленнее». Под медлительностью понимается, что для асимметричного шифрования и дешифрации может потребоваться примерно в 1000 раз больше времени центрального процессора, чем для симметричного шифрования и дешифрации.
- Еще один недостаток — симметричный ключ можно взломать «методом грубой силы» (перебирая все возможные варианты, пока не будет найден подходящий ключ).
В силу этих характеристик асимметричные шифры обычно используются для аутентификации данных (цифровой конверт), для служб аутентификации и согласования ключей. Симметричные шифры применяются для шифрования больших объемов данных.