В операционной системе Windows Vista также появились новые возможности по шифрованию файлов и папок, а также целых разделов жесткого диска. Поэтому нельзя не упомянуть об этих возможностях в книге, посвященной нововведениям операционной системы Windows Vista.
Работа с системой шифрования EFS
Как и раньше, в операционной системе присутствует дополнительная файловая система EFS, предназначенная для шифрования файлов и каталогов, находящихся на разделах NTFS жесткого диска. Вы можете выполнить шифрование как с помощью окна Свойства файла или каталога, так и с помощью программы командной строки cipher.exe.
Этапы шифрования EFS
Процесс шифрования файла с помощью EFS можно разделить на следующие этапы.
1. Загрузка профиля Если профиль пользователя еще не загружен (например, такое бывает, когда шифрование или дешифрование файла происходит с помощью программы командной строки runas.ехе), то он загружается.
2. Создание файла журнала Начинается процесс шифрования. На этом этапе создается файл журнала шифрования с именем формата efsX.log, где X определяет номер файла, который был зашифрован в текущий сеанс шифрования процессом Isasrv.ехе. Данный файл создается в каталоге System Volume Information.
3. Генерация FEK
Выполняется генерация случайного 128-битного числа, используемого в качестве FEK.
FEK используется операционной системой для шифрования содержимого файла по определенному алгоритму, после чего значение FEK добавляется к самому зашифрованному файлу. Однако перед тем как добавить FEK к файлу, операционная система выполняет шифрование FEK с помощью алгоритма RSA, используя при этом открытый пользовательский ключ. После выполнения всех этих операций файл считается зашифрованным. Чтобы просмотреть его, нужно расшифровать его с помощью FEK, a FEK расшифровывается только с применением ключей, которые можно получить лишь после загрузки учетной записи пользователя, зашифровавшего файл (или тех пользователей, которым разрешен доступ к зашифрованному файлу).
Как было сказано выше, FEK используется для шифрования содержимого файла по определенному алгоритму. Если вопрос защиты информации для вас не является праздным и вы постоянно выполняете шифрование с помощью EFS, то операционная система Windows позволяет вам изменить алгоритм, используемый при шифровании файла (на 3DES). Для этого нужно воспользоваться одним из двух приведенных ниже способов.
• Чтобы установить шифрование на основе 3DES для всех криптографических сервисов операционной системы Windows Vista, нужно запустить оснастку gpedit.msc и перейти к подразделу Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Локальные политики → Параметры безопасности. В данном подразделе есть элемент Системная криптография: Использовать FIPS-совместимые алгоритмы для шифрования, хэширования и подписывания. Состояние данного элемента нужно установить в Отключен. Не забывайте, что использование алгоритма 3DES может замедлить процесс шифрования.
• Можно также установить использование алгоритма 3DES только службой EFS. Для этого нужно параметру REG_DWORD-типа AlgorithmID, расположенному в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS, присвоить значение ОхббОЗ.
Однако это все произойдет на следующих этапах шифрования файла.4. Получение открытого и закрытого пользовательского ключа
Если раньше пользователь никогда не выполнял шифрование файлов, то генерируется пара пользовательских ключей (закрытый и открытый пользовательские ключи).
В противном случае открытый пользовательский ключ берется из параметра типа REG_BINARY Certif icateHash, расположенного в ветви системного реестра HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\ EFS\CurrentKeys. На основе данных этой ветви реестра создается сигнатура открытого ключа пользователя.
Закрытые же ключи находятся в каталоге %userprof ile%\AppData\Roaming\ Microsoft\Crypto\RSA. Содержимое этого каталога зашифровано на основе симметричного ключа, который называется мастер-ключом пользователя.
Мастер-ключ содержится в каталоге %userprof ile%\AppData\Roaming\ Microsof t\Protect. Он также зашифрован – с помощью алгоритма 3DES и пароля пользователя.5. Создание DDF Для шифруемого файла создается связка ключей DDF (совокупность нескольких DDF, определяющих пользователей, которые могут расшифровать данный файл). DDF хранит информацию о пользователе, который может открыть данный файл, а также о его правах доступа к файлу. В эту информацию входит SID-пользователя, имя контейнера, имя провайдера, зашифровавшего файл, хэш сертификата EFS, используемый при расшифровке, а также зашифрованный FEK.
6. Создание DRF
Для шифруемого файла создается связка ключей DRF. Связка DRF содержит информацию обо всех агентах восстановления, которые могут открыть данный зашифрованный файл. Информация, помещаемая в DRF, аналогична информации, помещаемой в DDF.
Агенты восстановления представляют собой учетные записи пользователей, которые могут открыть зашифрованный файл, даже если они не входят в группу пользователей, которым разрешен доступ к файлу. Как правило, агентом восстановления является администратор. Это сделано для того, чтобы можно было открыть зашифрованные файлы при потере пароля от основного профиля пользователя, который зашифровал файл, или при его повреждении.
Описание работы с агентами восстановления будет приведено далее в этом разделе книги.7. Шифрование
Создается резервная копия шифруемого файла с именем ef sO. tmp. В дальнейшем шифрование будет применяться именно к резервному файлу, после чего его содержимое будет скопировано в исходный файл. И в самом конце произойдет удаление резервного файла, а также файла журнала шифрования.
Окно Дополнительные атрибутыИспользование окна Свойства файла или каталога является очень простой задачей. Для шифрования в этом случае достаточно нажать кнопку Другие, после чего в появившемся окне Дополнительные атрибуты установить переключатель Атрибуты сжатия и шифрования в положение Шифровать содержимое для защиты данных. После этого, как только вы нажмете кнопку ОК, попытавшись тем самым закрыть окно Свойства, перед вами отобразится еще одно окно, название которого зависит от того, шифруете вы файл или каталог. Независимо от названия, данное окно имеет одну и ту же цель. С помощью его переключателей вы можете определить, будет ли шифроваться только выбранный вами файл или каталог или также родительский каталог (при шифровании файла) либо вложенные в папку файлы и каталоги (при шифровании папки).
Обратите внимание на кнопку Подробно окна Дополнительные атрибуты. По умолчанию она неактивна, но если вы зашифруете файл и опять откроете это окно, то сможете воспользоваться этой кнопкой, чтобы отобразить окно Пользовательский доступ к. С помощью этого окна можно добавить пользователей, которые смогут открывать данный зашифрованный файл. По умолчанию его можете открывать только вы (так как в атрибутах файла присутствуют сведения о ключе только для вашей учетной записи). Однако если вы нажмете кнопку Добавить данного окна, то сможете выбрать файл сертификата других пользователей, которые смогут открывать этот зашифрованный файл. А с помощью кнопки Удалить можно удалить добавленных ранее пользователей.
Обратите также внимание на кнопку Архивация ключей, которая активируется при выборе из списка одного из пользователей. С ее помощью можно отобразить окно Мастер экспорта сертификатов, позволяющее экспортировать сертификат выбранного пользователя в файл.
Программа cipher.exeЕсли же вы захотите использовать программу командной строки cipher.ехе, то заметите, что ее возможности несколько расширились, а параметры изменились.
Как и раньше, основной синтаксис программы следующий: cipher [/Е | /В /С] /S:<путь к каталогу> – <дополнительные параметры> <файл, каталог или шаблон>. С помощью данного синтаксиса можно выполнить шифрование (параметр /Е), дешифровку (/D) или просмотреть состояние объектов (/С), удовлетворяющих шаблону и расположенных в каталоге, указанном в параметре /S. Дополнительных параметров теперь всего два (раньше было пять): /В и /Н. Если указан параметр /В, то при ошибке в процессе шифрования файлов программа прекратит свою работу (по умолчанию она продолжает шифрование, просто пропуская проблемный файл). А с помощью параметра /Н можно определить, будут ли отображаться скрытые и системные файлы.
Дополнительные возможности программы
Никуда не исчезли и следующие дополнительные варианты синтаксиса программы.
• Cipher – отображает сведения о состоянии файлов и каталогов, расположенных в данной папке.
• Cipher /К – создает новый ключ шифрования для текущего пользователя.
• Cipher /R:<путь и имя файла> – создает новый ключ шифрования пользователя и сертификат агента восстановления EFS. После этого созданная информация записывается в два файла с указанным вами именем, но с разными расширениями: PFX (содержит ключ и сертификат агента восстановления) и CER (содержит только сертификат агента восстановления).
После того как вы введете данную команду, перед вами отобразится запрос с просьбой ввода пароля, который будет защищать файл с расширением PFX. Затем введенный вами пароль нужно ввести еще раз – для подтверждения.
• Cipher /U /N – отображает список всех зашифрованных файлов, расположенных на вашем жестком диске. Если вы не укажете параметр /N, то также будет изменен ключ шифрования для найденных файлов (если вы его только что изменили).
• Cipher /W:<путь к папке> – удаляет всю информацию в неиспользуемом дисковом пространстве на указанном томе.
• Cipher /R:<путь и имя ЕFS-файла> <путь и имя файла архива>– архивирует сертификат EFS и ключ шифрования в файл с указанным именем.
Новые возможности программы
Но, кроме этого, программа командной строки cipher.ехе обзавелась и новыми вариантами синтаксиса.
• Cipher /Y – отображает набросок текущего сертификата EFS для вашего компьютера.
• Cipher /ADDUSER [/CERTHASH:
• Cipher /REMOVEUSER /CERTHASH:<хэш сертификата> /S:<путь к каталогу> – <дополнительные параметры> <файл, каталог или шаблон> – удаляет пользователя из списка пользователей, которым разрешено открывать данный зашифрованный файл.
• Cipher /REKEY <файл, каталог или шаблон> – заново шифрует указанные шаблоном файлы, используя текущий ключ шифрования файлов пользователя.
Создание сертификата шифрованияРасположение: %systemroot%\system32\rekeywiz.ехе.
Мы уже рассмотрели несколько способов создания EFS-сертификата для текущего пользователя и помещение его в файл. Однако это еще не все способы создания сертификата. Для этого также можно воспользоваться специальным мастером операционной системы Windows Vista, который называется Шифрующая файловая система EFS. Данный мастер можно вызвать либо с помощью программы rekeywiz.ехе, либо с помощью ссылки Управление сертификатами шифрования файлов, отображаемой в мастере Учетные записи пользователей, открыть который можно с помощью одноименного значка папки Панель управления.
Особенностью использования данного мастера является то, что вы можете указать способ хранения создаваемого файла сертификата. Можно выбрать либо хранение сертификата на жестком диске компьютера, либо хранение на смарт-карте, либо хранение в центре сертификации домена Active Directory.
После того как вы выберете место хранения сертификата, нужно будет указать имя файла (если файл сертификата будет храниться на компьютере), а также пароль.
И последним шагом мастера будет указание разделов диска, зашифрованные файлы и каталоги которых будут заново перезашифрованы с использованием нового сертификата (если с помощью мастера Шифрующая файловая система EFS вы создавали новый сертификат пользователя, а не выбрали на первом шаге мастера один из старых сертификатов).
Работа с агентами восстановленияКак было сказано выше, сведения об агентах восстановления заносятся в поле DRF шифруемого файла. Но как же можно добавить нового агента восстановления? Для этого нужно воспользоваться командой Добавить агент восстановления данных контекстного меню раздела Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Политики открытого ключа → Шифрующая файловая система EFS оснастки gpedit.msc. После выбора данной команды перед вами отобразится Мастер добавления агента восстановления, первым шагом которого будет выбор CER-файла агента восстановления, добавляемого в систему. После этого перед вами появится информация о файле, и после нажатия кнопки Готово новый агент восстановления будет создан. Теперь пользователь, CER-файл которого был добавлен в качестве агента восстановления, сможет расшифровывать любые зашифрованные файлы любого пользователя данной операционной системы.
Напомним, что CER-файл, необходимый для добавления агента восстановления, создается соответствующим пользователем с помощью команды cipher /R: <путь к каталогу и имя СЕЯ-файла>.
Настройка системы шифрования EFSКак и другие компоненты операционной системы Windows Vista, параметры системы шифрования можно изменить либо с помощью стандартных окон операционной системы, либо непосредственно с помощью реестра.
Настройка с помощью оснастки gpedit.msc
Оснастка gpedit.msc содержит специальный подраздел Конфигурация компьютера → Конфигурация Windows → Параметры безопасности → Политики открытого ключа → Шифрующая файловая система EFS. С помощью команды Свойства контекстного меню данного подраздела можно отобразить окно Свойства: Шифрующая файловая система (EFS), позволяющее настроить основные параметры работы шифрования EFS. Данное окно состоит всего из двух вкладок, с помощью которых можно редактировать значения параметров ветви реестра HKEY_LOCAL_MACHINE\ SOFTWARE\ Policies \Microsoft\Windows NT\CurrentVersion\EFS. Большинство элементов данного окна редактируют биты параметра REG_DWORD-типа Ef sOptions.
• Общие – сразу же обратите внимание на переключатель Шифрование файлов с помощью шифрующей файловой системы (EFS). Пока данный переключатель не будет установлен в положение Разрешить, параметры, изменяемые с помощью окна Свойства: Шифрующая файловая система (EFS), активными не будут. После того как вы сделаете все параметры окна активными, можно изменить настройки EFS, устанавливаемые с помощью следующих флажков:
– Шифровать содержимое папки «Документы» пользователя – указывает, что содержимое каталога Документы пользовательского профиля должно автоматически шифроваться;
– Требовать смарт-карту для EFS – определяет, разрешено ли шифровать содержимое смарт-карт с помощью EFS;
– Создать кэшируемый пользовательский ключ из смарт-карты – указывает, будут ли создаваться пользовательские ключи шифрования, поддерживающие хранение зашифрованных данных на смарт-картах;
– Включить шифрование файла подкачки – определяет, будет ли шифроваться содержимое файла подкачки;
– Отображать уведомления об архивации ключа при создании или изменении пользовательского ключа – указывает, будет ли отображаться уведомление в области уведомлений при создании или изменении пользовательского ключа шифрования.
На вкладке Общие также присутствует поле Сертификаты, которое позволяет указать, разрешено ли EFS создавать пользовательские сертификаты, а также указать размер ключа, используемого при шифровании алгоритмом RSA. Размер ключа хранится в параметре REG_DWORD-типа RsaKeyLength.
• Кэш – позволяет определить события, при которых кэш, содержащий расшифрованный FEK, будет очищаться. По умолчанию операционная система Windows Vista помещает сгенерированный FEK в специальный кэш, чтобы не генерировать его при каждом выполнении процесса шифрования (генерация FEK является сложной и ресурсоемкой операцией).
Можно указать очистку кэша при блокировке сеанса, а также после истечения определенного времени, в течение которого операция шифрования больше не выполнялась. Время, после истечения которого кэш будет очищен, хранится в параметре REG_DWORD-типа CacheTimeout.
Настройка параметров шифрования с помощью реестра
После того как вы зашифруете каталог или файл, его название станет зеленого цвета. Вы можете и сами указать цвет, который примет название зашифрованного файла. Для этого достаточно воспользоваться параметром REGBI NARY-типа AltEncryptionColor, расположенным в ветви реестра HKEY_CURRENT_USER\ Software\Microsoft\Windows\CurrentVersion\Explorer. Он имеет следующий формат: RGB 0, где R, G и В представляют собой красную, зеленую и синюю компоненты цвета, на которые отводится по одному байту параметра. Операционная система также позволяет вообще отключить изменение цвета зашифрованных файлов. Для этого вам не понадобится знание реестра. Достаточно снять флажок Отображать сжатые или зашифрованные файлы NTFSflpyrnM цветом в поле Дополнительные параметры вкладки Вид окна Свойства папки. Данное окно можно вызвать с помощью одноименной команды меню Упорядочить любой папки.
По умолчанию операционная система Windows Vista автоматически шифрует все файлы и каталоги, перемещаемые в уже зашифрованный каталог. Чтобы отключить такое поведение операционной системы, нужно параметру REGDWORD-типа NoEncryptOnMove, расположенному в ветви реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, присвоить значение 1.
Можно также полностью отключить подсистему EFS на данном компьютере. Для этого достаточно присвоить значение 1 параметру REGDWORD-типа Ntf s-DisableEncrypt ion ветви системного реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\FileSystem. Данный параметр можно изменить и с помощью программы командной строки fsutil.ехе, которую мы рассмотрели в разд. 7.3.