Шифрование дисков в Windows Server 2008 с поддержкой TPM

Владимир Безмалый
30.08.2007 | 12:05
Vladimir_Bezmaly@ec.bms-consulting.com
Microsoft MVP in Windows Security
Руководитель программы подготовки администраторов информационной безопасности Академии БМС Консалтинг
http://www.i-tech.org.ua


Новая функция Windows Server 2008 обеспечит шифрование всех дисков

Шифрование дисков BitLocker стало одним из новшеств, которые появятся в Windows Server 2008. Несмотря на то, что большинство администраторов еще не смогло испытать возможности BitLocker на собственном опыте в ОС Windows Vista, сегодня мы постараемся рассмотреть как и что делается на компьютере с доверенным модулем Trusted Platform Module (ТРМ) с установленной ОС Windows Server 2008.

В данной статье мы рассмотрим основы технологии BitLocker.

Диски и тома

Приведем краткий словарь терминов.

Раздел – секция на физическом жестком диске. Это логическая структура, определяемая в таблице разделов диска.

Том – логическая структура в Windows, состоящая из одного или нескольких разделов, определяемая диспетчером томов Windows. Все приложения и все компоненты операционной системы, кроме диспетчера томов и загрузочных модулей, работают с томами, а не с разделами. В клиентских операционных системах Windows, включая Windows Vista, один раздел обычно соответствует одному тому. У серверов том часто составляется из нескольких разделов, подобно массивам дисков (RAID).

Активный раздел. Только один раздел может быть помечен как активный. Это раздел, содержащий загрузочный сектор, используемый при запуске операционной системы. Активный раздел также порой называют системным разделом или системным томом, но эти названия не имеют отношения к тому ОС Windows.

Том ОС Windows — том, содержащий установку Windows, включая папки System и System32. До выхода Windows Vista использовался (и до сих пор часто используется) термин «загрузочный раздел». Термин «том ОС Windows» понятнее и не страдает от постоянного смешения терминов «загрузочный раздел» и «системный раздел». Раньше преподаватели порой просили обучающихся запомнить, что «загрузка идет из системного раздела, а системные файлы находятся в загрузочном разделе».

До Windows Vista том ОС Windows (он же загрузочный раздел) и активный раздел (он же системный) обозначали одно и то же, поскольку жесткие диски большинства клиентских компьютеров содержали единственный большой раздел. На рис. 1 показаны назначения каждого раздела диска в консоли диспетчера дисков Windows Server 2008.



Рисунок 1 Назначения разделов

BitLocker выполняет две взаимодополняющие, но различные функции. Во-первых, он обеспечивает шифрование всего тома ОС Windows®. Во-вторых, на компьютерах с совместимым доверенным платформенным модулем он позволяет проверить целостность загрузочных компонентов до запуска Windows Server 2008.

Для полного использования возможностей BitLocker компьютер должен быть оснащен совместимыми микрочипом Trusted Platform Module (TPM) и BIOS. Под совместимыми понимается TPM версии 1.2 и BIOS, поддерживающая TPM и технологию Static Root of Trust Measurement. Однако стоит учесть, что компьютеры без совместимых TPM и BIOS тоже могут использовать шифрование BitLocker, однако при этом надежность хранения ключей будет ниже.

Совместно с аппаратно реализуемой микросхемой TPM (Trusted Platform Module), которая устанавливается на материнской плате, функция BitLocker осуществляет шифрование всего жесткого диска компьютера. При этом используется классическая модель двухфакторной аутентификации (пароль, хранящийся в ТРМ, и PIN-код для доступа к микросхеме). Такая схема достаточно устойчива к взлому, хотя, несомненно, возможны атаки на PIN-код путем простого перебора (метод «грубой силы», brute force).

Хотя ТРМ поддерживает много различных функций, BitLocker использует только некоторые из них.

Защита файлов с помощью шифрования диска BitLocker

Включение шифрования диска BitLocker даст возможность защитить все файлы, хранящиеся на диске, на котором установлена Windows.

Стоит понимать, что в отличии от EFS (Encrypted File System), позволяющей шифровать отдельные файлы, BitLocker шифрует весь системный раздел целиком, в том числе и системные файлы Windows Server 2008, которые необходимы для загрузки компьютера и входа в систему. BitLocker автоматически зашифровывает все файлы, добавляемые в защищенный раздел. Естественно, файлы будут защищены только при хранении в защищенном разделе. При копировании на другой носитель они будут расшифрованы.

В случае, если при загрузке компьютера, BitLocker обнаружит возможные угрозы безопасности (ошибки диска, изменения BIOS, изменения файлов загрузки) раздел будет заблокирован и для его разблокирования потребуется пароль восстановления BitLocker. Не забудьте создать этот пароль при первом запуске BitLocker.

Стоит упомянуть, что шифрование BitLocker можно отключить на короткий период времени или постоянно в любое время, расшифровав диск.

Что такое модуль ТРМ?

TPM (Trusted Platform Module) – микросхема, предназначенная для реализации основных функций, связанных с обеспечением безопасности, главным образом с использованием ключей шифрования. Модуль ТРМ, как правило, устанавливается на материнской плате настольного или мобильного компьютера и связан с остальными компонентами посредством системной шины.

Компьютеры, оборудованные модулем ТРМ, могут создавать криптографические ключи и зашифровывать их таким образом, что они могут быть расшифрованы только с помощью модуля ТРМ. Данный процесс, часто называемый «сокрытием» ключа («wrapping» key) или «привязкой» ключа («binding» key), помогает защитить ключ от раскрытия. В каждом модуле TPM есть главный скрытый ключ, называемый ключом корневого хранилища (Storage Root Key, SRK), который хранится в самом модуле TPM. Закрытая часть ключа, созданная в TPM, никогда не станет доступна любому другому компоненту системы, программному обеспечению, процессу или пользователю.

Кроме того, имеется возможность создавать ключи не только зашифрованные, но и привязанные к определенной системной конфигурации. Таким образом, в сочетании BitLocker™ Drive Encryption с ТРМ вы сможете гарантировать защищенность ваших данных.

При этом, поскольку для работы ТРМ используется встроенное программное обеспечение и логические схемы, его работа не зависит от операционной системы, что обеспечивает защиту от возможных уязвимостей ОС.

Принцип действия BitLocker™ Drive Encryption основан на механизме шифрования с использованием алгоритма Advanced Encryption Standard (AES) со 128 или 256-разрядным ключом.

BitLocker™ Drive Encryption может использоваться с микросхемой ТРМ версии 1.2 или выше. Вместе с тем данное программное обеспечение можно использовать и на компьютерах, не оснащенных ТРМ, однако для доступа к системе необходимо задействовать накопители USB или пароль восстановления. Но в этом случае степень защищенности будет зависеть скорее всего от самого пользователя, вернее от того, насколько внимательно он будет относиться к хранению USB-накопителя с ключом шифрования.

В данной статье мы рассмотрим применение BitLocker™ Drive Encryption с микросхемой ТРМ.

Использование BitLocker™ Drive Encryption на компьютерах без установленной микросхемы ТРМ рассмотрено в статье (BitLocker Drive Encryption http://www.osp.ru/win2000/2007/02/4102348/).

Подготовка

Для установки BitLocker нам необходимо разметить жесткий диск согласно предложенным требованиям, а именно:

1. Создать новый первичный раздел объемом 1,5 Гбайт.

2. Сделать этот раздел активным.

3. Создать другой первичный раздел на оставшемся месте на жестком диске.

4. Отформатировать оба раздела, используя NTFS.

5. Установить OC Windows Server 2008 на больший из разделов.

Чтобы выполнить все эти шаги, для начала необходимо загрузить компьютер, используя установочный DVD с файлами Windows Server 2008. На экране установки нужно выбрать язык и нажать System Recovery Options. В окне System Recovery Options следует убедиться, что флажок для отметки операционной системы не выбран. Для этого требуется выбрать пустую область в списке операционных систем и нажать Next. Затем необходимо запустить командную строку и использовать утилиту diskpart для создания раздела. Для этого в командной строке надо набрать diskpart, выбрать disk 0 (select disk0) и ввести команду clean для удаления существующих разделов на диске. Затем указываем следующие настройки:

• create partition primary size=1500. Создаем первый раздел на диске и назначаем его первичным;

• assign letter=D. Присваиваем данному разделу букву D;

• active. Делаем данный раздел активным;

• create partition primary

• assign letter=C. Назначаем данному разделу букву C;

• list volume. Проверяем все разделы на диске.

После этого набираем Exit для выхода из утилиты diskpart и выполняем форматирование разделов С и D:

• format c: /y /q /fs:NTFS

• format d: /y /q /fs:NTFS

Теперь в окне System Recovery Options следует нажать Alt+F4 для возврата в главное окно программы установки, и остается только установить Windows Server на больший из разделов. В ходе установки свой загрузчик ОС запишет на первый раздел, меньший по размеру.

После выполнения установки Windows Server 2008 этап подготовки к запуску функции шифрования не закончен - мы подошли только к середине этой процедуры.

Установка BitLocker, как дополнительной опции Windows Server 2008

После установки Windows Server 2008 стоит учесть, что 35 дополнительных возможностей данной ОС по сравнению с предыдущей версией Windows Server по умолчанию не устанавливаются. Для этого нужно воспользоваться Control Panel - Administrative Tools - Server Manager – Features - Add Features.



Рисунок 2 Server Manager

В появившемся окне (рис 3) выбрать BitLocker Drive Encription.

 

Рисунок 3 Select Features



После этого произойдет инсталляция BitLocker Drive Encription. (рис.4)



Рисунок 4 Инсталляция BitLocker Drive Encription Далее необходимо зайти в Contol Panel – BitLocker Drive Encription и выбрать Turn on BitLocker.





Рисунок 5 Control Panel - BitLocker Drive Encription

После этого появится окно, изображенное на рисунке 6



Рисунок 6 BitLocker Drive Encription Platform Check

Если вы уверены в своем желании продолжить шифрование диска, то выберите Continue with BitLocker Drive Encription.

Далее вам будет предложено выбрать вариант использования шифрования BitLocker. (рис.7)



Рисунок 7 Выбор типа исполльзования BitLocker

В случае если вы хотите использовать BitLocker и ТРМ с использованием PIN-кода, выберите Require PIN at every startup. Данная опция фактически задает двухфакторную аутентификацию (у пользователя запрашивается PIN-код доступа к ТРМ, в котором хранится ключ шифрования). Это повышает устойчивость ключа шифрования.

После этого от вас потребуется задать PIN-код. (рисунок 8). Длина PIN-кода от 4 до 20 разрядов. Для задания PIN-кода можно использовать только цифры.

Рисунок 8 Задание PIN-кода



После задания PIN-кода вам потребуется создать резервный пароль восстановления, как указано на рис 9.



Рисунок 9 Создание пароля восстановления

Для создания пароля восстановления вам будет предложен выбор – создать его на USB-накопителе (рис.10), сохранить пароль в папке или распечатать пароль.





Рисунок 10 Местом хранения пароля избран USB накопитель

Следует помнить, что от надежности места хранения пароля будет зависеть вся безопасность вашего компьютера. Компания Microsoft рекомендует иметь несколько копий пароля восстановления. Однако при этом необходимо понимать, что в таком случае вам придется гарантировать сохранность всех резервных копий пароля восстановления.

После этого необходимо запустить сам процесс шифрования тома.





Рисунок 11 Шифрование диска С:



До начала шифрования необходимо убедиться, что BitLocker сможет корректно прочесть ключи восстановления и шифрования. Для этого необходимо вставить USB-устройство с паролем восстановления и выполнить перезагрузку компьютера.



Рисунок 12 Перезагрузка компьютера

Для ввода PIN-кода необходимо пользоваться клавишами F1-F10, где цифрам от 1 до 9 будут соответствовать клавиши F1-F9, а цифре 0 – F10.

Если проверка прошла нормально, появится строка состояния Encryption in Progress. После окончания этой процедуры диск будет зашифрован.





 Рисунок 13 Шифрование диска Вместе с тем стоит понимать, что зашифровать диски можно, используя командную строку. Это даст вам целый ряд преимуществ по сравнению с использованием GUI интерфейса.

Шифрование с использованием командной строки

Шифрование с помощью BitLocker без поддержки TP

1. Из меню Start Menu перейдите к ярлыку командной строки. Щелкните правой кнопкой мыши на иконке и выберите Run as administrator (запустить от имени администратора)

2. Введите следующую команду:

cscript manage-bde.wsf –on –startupkey <USB drive>:-recoverypassword –recoverykey <recovery drive>:

<USB drive> - это название диска, присвоенное накопителю USB key, который используется вместо чипа TPM. Не забудьте добавить двоеточие после имени диска

<recovery drive> может быть либо жестким диском, либо накопителем USB key, либо сетевым диском (network drive). И снова, не забудьте включить двоеточие после названия диска

Шифрование томов данных с помощью BitLocker

Эта процедура аналогична той, которая приведена в двух предыдущих примерах. Просто замените название диска, который вы хотите зашифровать. Однако если вы будете не достаточно осторожны, то можете столкнуться с некоторыми проблемами.

• Первая заключается в том, что все это будет работать лишь в том случае, если вы зашифровали том операционной системы также с помощью утилиты командной строки manage-bde command line utililty

• Вторая заключается в том, что после того, как том данных зашифрован, вы не сможете иметь доступ к данным после перезагрузки компьютера до тех пор, пока вы автоматически не разблокируете том данных. Ниже показано, как можно избежать этой проблемы:

o Мы предположим, что вы зашифровали том данных Data Volume с помощью одного из наших примеров или ваших собственных предпочтений

o Перед перезагрузкой компьютера введите следующую команду:



cscript manage-bde.wsf –autounlock –enable :



<data drive> - это название диска, присвоенное тому данных Data Volume. Не забудьте включить двоеточие после названия диска данных

Команда, представленная выше, позволит сформировать внешнюю защиту ключа (external key protector) на томе данных, и хранить крипто ключ на томе операционной системы OS Volume (обычно диск C: drive), который мы зашифровали ранее. Таким образом, крипто-ключ для тома данных будет защищен крипто-ключом для тома операционной системы, но будет по-прежнему автоматически загружаться.



Восстановление доступа к зашифрованным данным

Восстановление доступа к зашифрованным данным может потребоваться в следующих случаях:

• произошла ошибка чтения ТРМ;

• загрузочная запись модифицирована, соответственно ТРМ не разрешает продолжить загрузку; отсутствует доступ к шифрованным данным;

• содержимое ТРМ стерто и компьютер выключен.

Если операционная система заблокирована, то можно восстановить пароль либо записав его с другого носителя, на котором он был предварительно сохранен, на USB-диск, либо используя функциональные клавиши F1 - F10, где F1 - F9 соответствуют цифрам 1 - 9, а F10 - 0.

Последовательность действий для восстановления доступа к данным, зашифрованным с помощью BitLocker Drive Encryption.

1. Включить компьютер.

2. Если система заблокирована, появится окно BitLocker Drive Encryption Recovery Console. Пользователю будет предложено вставить USB-диск, содержащий пароль восстановления.

3. Если имеется USB-диск, содержащий пароль восстановления, нужно вставить его и нажать Esc. Компьютер будет перезагружен автоматически и вводить пароль восстановления вручную не потребуется.

4. Если USB-диска с паролем восстановления нет, следует нажать Enter. Система предложит ввести пароль восстановления вручную.

5. Если вы знаете пароль восстановления, нужно ввести его вручную и нажать Enter.

6. Если вы не знаете пароля восстановления, следует нажать Enter дважды и выключить компьютер.

7. Если пароль восстановления сохранен в файле, который находится в папке на другом компьютере или на сменном носителе, можно использовать другой компьютер для прочтения файла, содержащего пароль.

8. Для того чтобы узнать имя файла, содержащего пароль, следует записать идентификатор пароля, который будет выведен на монитор заблокированного компьютера. Этот идентификатор и будет именем файла, содержащего ключ восстановления.

Выключение BitLocker

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

Для выключения BitLocker нужно выполнить следующие действия:

1. Выбрать в меню Start - Control Panel – Security - BitLocker Drive Encryption.

2. На странице BitLocker Drive Encryption найти том, на котором требуется отключить BitLocker Drive Encryption, и выбрать Turn Off BitLocker Drive Encryption.

3. В диалоговом окне What level of decryption do you want выбрать Disable BitLocker Drive Encryption или Decrypt the volume.

По окончании этой процедуры будет либо отключена функция BitLocker Drive Encryption, либо расшифрован весь том.

Использование BitLocker

Как показало наше исследование, процедура использования BitLocker проста, однако само применение порождает много вопросов, начиная от стандартных полицейских вроде «а если эту процедуру возьмут на вооружение преступники, ведь тогда полиция не сможет прочесть содержимое их жестких дисков?» и заканчивая более серьезными, по хранению ключей шифрования.



Рисунок 14 Использование пароля восстановления BitLocker

Об этом хотелось бы рассказать чуть подробнее.

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

Хранение ключей на USB-диске. В данном случае мы имеем USB-диск, отчуждаемый от владельца, а так как он нужен лишь на момент старта системы, то на пользователя накладывается еще больше обязанностей по хранению самого устройства. В случае если пользователь в ходе описанной выше процедуры сохранил предложенный пароль на USB-диск, то на диске мы имеем два файла. Один скрытый, с расширением .BEK, а второй — текстовый файл. Содержимое текстового файла восстановления пароля:

Пароль восстановления используется для восстановления данных на диске, защищенном программой BitLocker.

Пароль восстановления:

626967-386936-418869-439527-074107-190399-112101-414227

Чтобы убедиться в правильности пароля восстановления, сравните эти теги с тегами, представленными на экране восстановления.

Метка диска: NIK-ПК C: 08.07.2007.

Идентификатор пароля: {02F8C497-81AE-4F5C-B617-123FF13E8BDC}.

Увы, большинство пользователей не думают о том, что данный текстовый файл необходимо просто удалить с USB-диска, предварительно его распечатав. Если этого не сделать, то, поскольку USB-диск нам нужен лишь на этапе запуска системы, возможен сценарий, при котором пользователь оставляет USB-диск в компьютере и в какой-то момент покидает свое рабочее место. Пароль восстановления в текстовом файле становится доступен посторонним. Конечно же, знать его только для взлома BitLocker недостаточно, но в данном случае для обеспечения защищенности пароля восстановления администраторам придется проводить дополнительную работу.

Безусловно, BitLocker полезен и необходим. Однако, на мой взгляд, наиболее приемлемым с точки зрения защищенности вариантом его использования является применение данной технологии на компьютерах, оборудованных микросхемой ТРМ версии не ниже 1.2 в сочетании с PIN-кодом.