Безопасная загрузка

Безопасная загрузка — это стандарт безопасности, разработанный участниками компьютерной индустрии, чтобы гарантировать загрузку устройства с использованием только программного обеспечения, которому доверяет изготовитель оборудования (OEM). При запуске компьютера встроенное ПО проверяет сигнатуру каждого программного обеспечения загрузки, включая драйверы встроенного ПО UEFI (также называемые вариантами ROM), приложения EFI и операционную систему. Если подписи являются допустимыми, загрузка компьютера и встроенное ПО обеспечивает управление операционной системе.

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

Сведения о том, как работает безопасный процесс загрузки, включает в себя надежную загрузку и измеряемую загрузку, см. в разделе "Защита процесса загрузки Windows 10".

Требования к безопасной загрузке

Чтобы обеспечить поддержку безопасной загрузки, необходимо указать следующее.

Требования к оборудованию Сведения
Переменные UEFI версии 2.3.1 Errata C Переменные должны иметь значение SecureBoot=1 и SetupMode=0 с базой данных сигнатуры (EFI_IMAGE_SECURITY_DATABASE), необходимой для безопасной предварительной загрузки компьютера и включая PK, заданный в допустимой базе данных KEK. Дополнительные сведения см. в разделе "Требования к системе System.Fundamentals.Firmware.UEFISecureBoot" в PDF-файле для скачивания спецификаций и политик программы совместимости оборудования Windows.
Раздел 27 UEFI версии 2.3.1 Платформа должна предоставлять интерфейс, который соответствует профилю UEFI версии 2.3.1, раздел 27.
База данных подписи UEFI Платформа должна быть подготовлена с правильными ключами в базе данных подписи UEFI (db), чтобы разрешить загрузку Windows. Она также должна поддерживать защищенные обновления, прошедшие проверку подлинности, для баз данных. служба хранилища безопасных переменных необходимо изолировать от работающей операционной системы, чтобы их нельзя было изменять без обнаружения.
Подписывание встроенного ПО Все компоненты встроенного ПО должны быть подписаны по крайней мере с помощью RSA-2048 с SHA-256.
Диспетчер загрузки При включении питания система должна начать выполнение кода в встроенном ПО и использовать криптографию с открытым ключом в качестве политики алгоритма для проверки подписей всех образов в последовательности загрузки до Windows Boot Manager.
Защита отката Система должна защититься от отката встроенного ПО до более ранних версий.
EFI_HASH_PROTOCOL Платформа предоставляет EFI_HASH_PROTOCOL (на UEFI версии 2.3.1) для разгрузки криптографических хэш-операций и EFI_RNG_PROTOCOL (microsoft defined) для доступа к энтропии платформы.

Базы данных и ключи подписи

Перед развертыванием компьютера вы в качестве изготовителя оборудования храните базы данных безопасной загрузки на компьютере. Сюда входят база данных подписей (db), база данных отозванных подписей (dbx) и база данных ключей регистрации ключей (KEK). Эти базы данных хранятся в неизменяемом ОЗУ встроенного ПО (NV-RAM) во время производства.

База данных сигнатур (db) и база данных отозванных подписей (dbx) перечисляют подписи или хэши образов приложений UEFI, загрузчиков операционной системы (например, загрузчика операционной системы Майкрософт или Boot Manager) и драйверы UEFI, которые можно загрузить на устройство. Отозванный список содержит элементы, которые больше не являются доверенными и не могут быть загружены. Если хэш изображения находится в обеих базах данных, база данных отозванных подписей (dbx) имеет прецедент.

База данных ключей регистрации ключей (KEK) — это отдельная база данных ключей подписывания, которую можно использовать для обновления базы данных подписей и отозванной базы данных подписей. Корпорация Майкрософт требует, чтобы указанный ключ был включен в базу данных KEK, чтобы в будущем корпорация Майкрософт может добавить новые операционные системы в базу данных подписей или добавить известные плохие образы в базу данных отозванных подписей.

После добавления этих баз данных и после окончательной проверки встроенного ПО ИЗГОТОВИТЕЛЬ блокирует встроенное ПО от редактирования, за исключением обновлений, подписанных правильным ключом или обновлениями физического пользователя, использующего меню встроенного ПО, а затем создает ключ платформы (PK). Ключ PK можно использовать для подписывания обновлений KEK или для отключения безопасной загрузки.

Обратитесь к производителю встроенного ПО для получения средств и помощи в создании этих баз данных.

Последовательность загрузки

  1. После включения компьютера базы данных сигнатуры проверяются на соответствие ключу платформы.
  2. Если встроенное ПО не является доверенным, встроенное ПО UEFI должно инициировать восстановление, зависят от изготовителя оборудования, чтобы восстановить доверенное встроенное ПО.
  3. Если возникла проблема с диспетчером загрузки Windows, встроенное ПО попытается загрузить резервную копию диспетчера загрузки Windows. Если это также не удается, встроенное ПО должно инициировать исправление для изготовителя оборудования.
  4. После запуска диспетчера загрузки Windows если возникла проблема с драйверами или ядром NTOS, загружается среда восстановления Windows (Windows RE), чтобы эти драйверы или образ ядра можно было восстановить.
  5. Windows загружает антивредоносное программное обеспечение.
  6. Windows загружает другие драйверы ядра и инициализирует процессы пользовательского режима.