.
Неавторизованные пользователи могут увидеть шифрованный текст, но не смогут прочесть исходные данные. Авторизованные пользователи могут декодировать шифрованный текст, используя алгоритм дешифрования, который обычно требует секретного ключа расшифровки, доступ к которому есть только у них. Схема шифрования, как правило, нуждается в алгоритме генерации ключей, чтобы создавать ключи произвольного вида.
Полное шифрование диска Full Disk Encryption (FDE) является одним из наиболее эффективных способов защиты данных, хранимых на ноутбуках, от кражи или утери вместе с устройством. Что бы ни произошло с устройством, механизм FDE позволяет гарантировать, что вся хранящаяся на нем информация недоступна тому, в чьи руки попало данное устройство.
При использовании FDE шифруются все данные на жестком диске. По сути, шифруется каждый сектор. При этом получить доступ может только авторизованный пользователь, знающий пароль. Кроме того, данная технология может применяться для съемных носителей, таких как USB-диски. Давайте рассмотрим работу системы шифрования на примере продукта «Kaspersky Security для бизнеса».
Как работает FDE
FDE используется до загрузки системы. Это означает, что применяемая технология начинает свою работу сразу же после нажатия кнопки питания на устройстве. Шифрование диска может быть запущено либо непосредственно на компьютере пользователя, либо централизованно с помощью модуля Security Center. При этом программа шифрует все выбранные диски и устанавливает модуль авторизации в среде загрузки. При включении компьютера операционная система начинает загружаться в зашифрованной окружающей среде (рисунок 1). Шифрование незначительно замедляет производительность системы, что характерно для всех реализаций программного обеспечения шифрования от любых поставщиков. Все операции шифрования (дешифрования) происходят незаметно для пользователя, независимо от используемого им программного обеспечения. При этом зашифровывается весь жесткий диск (файл подкачки, файл гибернации, временные файлы, тоже часто содержащие важные данные). А в случае, если пользователь потеряет пароль к шифрованному жесткому диску, информация может быть расшифрована с помощью секретного ключа, известного только администратору продукта. Функция FDE включена в поставку Kaspersky Endpoint Security. Администраторы безопасности могут централизованно управлять данным комплексом с помощью Security Center.
Рисунок 1. Схема работы FDE |
Преимущества FDE
Принудительное шифрование конфиденциальных данных. Конечный пользователь не имеет возможности перенастроить механизм шифрования. FDE предотвращает несанкционированный доступ к данным с помощью механизма аутентификации (имя/пароль). При вводе правильного сочетания имя/пароль система извлекает ключ, необходимый для расшифровки файлов на жестком диске. Фактически это добавляет дополнительный уровень безопасности, поскольку зашифрованные данные будут бесполезны для злоумышленника после уничтожения криптографического ключа.
Централизованное управление ключами. Все ключи шифрования хранятся в Security Center и доступны только администратору безопасности.
Централизованное управление шифрованием. Управление ключами расшифровки, контроль доступа для мобильных устройств, отчетность и восстановление утраченных паролей доступны только администратору безопасности и лишь при работе Security Center.
Простота и гибкость. С точки зрения конечного пользователя шифрование осуществляется абсолютно прозрачно. После успешной авторизации процесс шифрования/дешифрования происходит незаметно и не влияет на работу пользователя.
Централизованное восстановление данных. В случае утери пароля или повреждения носителей данные могут быть восстановлены и расшифрованы с помощью специальной централизованно управляемой процедуры аварийного восстановления.
Недостатки технологии FDE
Следует учесть, что FDE шифрует только информацию, хранящуюся на зашифрованном носителе, следовательно, если вы передаете ее по электронной почте или копируете на другой носитель, вы копируете ее в открытом виде.
Ключ дешифрования должен быть доступен до того, как вы получите в интерфейсе запрос пароля для доступа к системе. Следовательно, если ваш жесткий диск поврежден, то может быть очень сложно восстановить данные, даже используя специальное программное обеспечение.
Вы можете задействовать FDE для шифрования дисков SSD, однако при этом следует учесть, что вы теряете в скорости – одном из основных преимуществ использования SSD.
Самый большой недостаток, на мой взгляд, — поддержка только парольной аутентификации. Смарт-карты, биометрия, токены на сегодня не поддерживаются.
Как работает FDE
Каждый жесткий диск на конечном устройстве использует два ключа. Первый ключ служит для шифрования/дешифрования данных на жестком диске, Disk Encryption Key (DEK). Второй ключ предназначен для шифрования DEK и других уязвимых данных - Disk Master Key (DMK). У DMK для загрузочного диска есть особое назначение — это шифрование/дешифрование DMK для всех других жестких дисков и пользовательских политик. Такой ключ называется ключом шифрования конечного устройства End-Point Key (EPK), и для загрузочного диска верно равенство
«EPK»=»Boot Disk DMK».
Конечное устройство хранит все уязвимые данные (метаданные) в специальном хранилище метаданных, к которому можно получить доступ и от лица пользователя перед начальной загрузкой, и из режима ядра. Чтобы проверить целостность метаданных и подлинность, с использованием DMK в качестве ключа вычисляется специальный маркер Authentication Tag (согласно спецификации CMAC NIST-SP-800-38B).
Шифрование загрузочного диска
В зависимости от типа носителей — загрузочный диск, диск данных или съемный диск, — у метаданных есть свой физический формат развертывания. У загрузочного диска с установленным FDE есть собственная запись загрузки Custom MBR. Эта запись Custom MBR не зашифрована и содержит таблицу со следующими важными параметрами: GUID диска и адресом (число секторов) расположения компонентов предзагрузки Pre-Boot Components. Другие дисковые данные зашифрованы на уровне сектора алгоритмом AES-XTS с ключом 256 разрядов, кроме двух областей (рисунок 2):
- область Pre-Boot Components содержит исполняемые компоненты (среда PBE, обработчик INT13, первоначальная запись MBR) и адрес блока метаданных Endpoint Metadata Storage;
- область Endpoint Metadata Storage содержит все метаданные (уязвимая информация) конечного устройства, используемые для аутентификации и авторизации.
Рисунок 2. Механизм шифрования загрузочного жесткого диска |
Оба хранилища, Pre-Boot Components и Endpoint Metadata Storage, могут быть расположены в середине диска, среди секторов с зашифрованными данными.
Область Endpoint Metadata Storage содержит два основных раздела (рисунок 3):
- раздел Endpoint Metadata содержит информацию, связанную со всем конечным устройством (политики паролей и настройки конечного устройства) и соответствующую информацию загрузочного диска (зашифрованный DEK и Metadata Authentication Tag);
- раздел Users Metadata содержит информацию, связанную с пользователями — пользовательские данные аутентификации, зашифрованный DMK, пользовательские политики и так далее.
Рисунок 3. Структура Endpoint Metadata Storage |
Раздел Endpoint Metadata состоит из одного непрерывного блока, содержащего вспомогательную информацию (версия метаданных, сигнатура, размер этого блока, размер пользовательского раздела, количество пользователей, параметров шифрования и аутентификации), зашифрованный с помощью DMK DEК (алгоритм CBC AES, ключ 256 разрядов), Authentication Tag всего хранилища Endpoint Metadata Storage, зашифрованный ключом DMK (AES-CMAC, ключ 256 бит) и настройки конечной точки, как то политики паролей и открытый ключ Security Center.
Пользовательский раздел метаданных содержит один или более блоков пользовательских метаданных. Каждый пользовательский блок метаданных — непрерывный блок, содержащий следующие разделы.
- Вспомогательная информация (подпись, размер всего пользовательского блока, состояние записи, размер подблока аутентификации и количество записей аутентификации, размер подблока данных).
- Идентификатор пользователя (User ID) — хешированное пользовательское имя для регистрации в системе (алгоритм SHA1).
- Блок User Authentication Data содержит одну или более записей аутентификации: Password Based Authentication хранит информацию, требуемую для аутентификации пользователя паролем. Запись Token Based Authentication хранит информацию, требуемую для аутентификации пользователя с помощью токена безопасности. Эта запись содержит ID токена и DMK, зашифрованного открытым ключом токена. Запись Certificate Based Authentication хранит информацию, необходимую для аутентификации пользователя сертификатом. Эта запись содержит ID сертификата, ключевые параметры, закрытый ключ сертификата пользователя, зашифрованного паролем, DMK, зашифрованный открытым ключом сертификата пользователя.
- Блок User Data, зашифрованный DMK (CBC AES, ключ 256 бит), содержит пользовательские политики с информацией об учетной записи пользователя и имя пользователя.
Таким образом, у каждого пользователя могут быть один или несколько различных типов аутентификаторов одновременно.
Шифрование диска данных или съемного диска
У других дисков и съемных дисков с установленным FDE также есть запись Custom MBR (в незашифрованной форме), но немного другого типа. Эта Custom MBR содержит GUID диска, и блок Device Metadata Storage, содержащий данные аутентификации и зашифрованные ключи (DMK и DEK). Другие данные на этих типах носителей зашифрованы полностью (AES-XTS, ключ 256 бит), см. рисунок 4.
Рисунок 4. Шифрование диска данных или съемного диска |
Область Device Metadata Storage включает два основных раздела.
- Раздел Device Metadata содержит информацию, связанную с текущим устройством, такую как данные идентификации, зашифрованный DEK и Metadata Authentication Tag.
- Раздел Device Unlocking Metadata содержит информацию, связанную с двумя способами разблокирования: базовый пароль (для автономного устройства) и пароль автоматической разблокировки (для вторичного диска, установленного в конечной системе), и пользовательские данные аутентификации и зашифрованный DMK.
Раздел Device Metadata состоит из одного непрерывного блока, содержащего вспомогательную информацию (версия метаданных, подписи, размер этого блока, параметров шифрования и аутентификации), зашифрованный с помощью DMK DEK (CBC AES, ключ 256 разрядов) и authentication Tag всего Device Metadata Storage, зашифрованный ключом DMK (AES-CMAC, ключ 256 бит).
Во время запуска шифрования на конечном устройстве создаются метаданные ко всем зашифрованным жестким дискам и учетным записям пользователей.
Загрузка на компьютере с зашифрованным загрузочным диском
Если на хосте зашифрован загрузочный диск, то перед загрузкой операционной системы пользователю необходимо пройти аутентификацию в агенте предзагрузки Preboot agent. На основании имени и пароля, введенного пользователем, выполняется подключение всех зашифрованных по FDE устройств, шифрование которых выполнялось на данном хосте. Если к хосту было подключено зашифрованное по FDE устройство, шифрование которого выполнялось на другом хосте, то доступ к такому устройству будет предоставлен только после загрузки операционной системы и старта продукта.
Предоставление доступа к содержимому зашифрованного диска
Продукт предоставляет доступ к содержимому зашифрованного объекта любому пользователю, успешно авторизовавшемуся в операционной системе. Для этого при первом обращении пользователя к зашифрованному диску на данном компьютере продукт получает ключи для доступа из самого зашифрованного диска. Продукт извлекает из зашифрованного объекта криптоконтейнер и с помощью службы шифрования SC получает из него все необходимые ключи. После успешного получения ключа продукт сохраняет его локально для данного пользователя (за исключением некоторых системных пользователей). При повторном обращении пользователя к зашифрованному объекту продукт использует ключ, сохраненный локально для данного пользователя. В случае нескольких одновременных пользовательских сессий доступ к зашифрованным объектам получают все пользователи, если доступ был предоставлен хотя бы одному из них. В отсутствие продукта доступ к зашифрованным файлам на съемном устройстве может быть предоставлен специальным агентом Portable Mode. Этот агент устанавливается продуктом на устройство в процессе применения соответствующей политики и позволяет получить доступ к зашифрованным файлам после успешного ввода пользователем пароля.
Шифрование на уровне файла
Шифрование уровня файла File Level Encryption (FLE) включает шифрование данных в определенных файлах и папках на данном устройстве (рисунок 5). Это делает выбранную информацию недоступной для несанкционированных средств просмотра, независимо от того, где они хранятся. FLE позволяет системным администраторам автоматически шифровать файлы, основанные на атрибутах, таких как расположение и тип файла.
Рисунок 5. Схема работы FLE |
В отличие от полного шифрования диска FDE, где шифруется весь раздел или диск, FLE не шифрует всю информацию о жестком диске или переносном устройстве хранения данных, как это делается с помощью FDE. Администраторы могут выбирать, какие данные должны быть зашифрованы (или не зашифрованы), используя правила, которые могут быть реализованы через удобный пользовательский интерфейс программного обеспечения. Правила шифрования могут быть созданы таким образом, чтобы можно было решить, что должно быть зашифровано, например можно создать списки файлов, чтобы зашифровать по их имени, расширению или по каталогу. Можно указать файлы на сменных носителях или автоматически шифровать файлы, созданные или измененные любым заданным приложением.
Хост, на котором выполняется первое обращение пользователя к зашифрованному объекту, должен находиться под управлением того же сервера Security Center, что и хост, на котором выполнялось шифрование этого объекта. В противном случае служба шифрования Security Center не сможет распаковать криптоконтейнер, и продукт, соответственно, не получит ключи для доступа к зашифрованному объекту.
Если по каким-либо причинам доступ в локальное хранилище ключей на хосте был утерян (локальное хранилище повреждено, пароль пользователя сброшен администратором), то при повторном обращении пользователя к зашифрованному объекту продукт будет пытаться получить ключи из зашифрованного объекта.