Поделиться через


Сертификация и подпись пакета обновления

Так как обновление встроенного ПО поставляется в виде пакета драйверов, ему потребуется пройти все те же процессы проверки и подписывания, что и обычный пакет драйверов. Пакет драйверов должен пройти тесты Windows Hardware Lab Kit (Windows HLK) и должен быть отправлен в Центр партнеров для подписания. После подписания пакет драйвера будет передан обратно поставщику.

Подписывание пакета драйверов отличается от подписывания встроенного ПО UEFI или самого встроенного ПО устройства. Сигнатура пакета драйвера, доставляемого через каталог безопасности, используется Windows для проверки целостности firmware.bin перед его передачой в UEFI. Windows не предоставляет каталог безопасности встроенному ПО. Подпись в обновлении встроенного ПО UEFI или встроенного ПО устройства проверяется встроенным ПО платформы и не проверяется Windows. IHV/OEM отвечает за обеспечение целостности и безопасности встроенного ПО с помощью проверки подписи, шифрования или других средств.

Процесс подписывания обновлений встроенного ПО и требования к безопасной загрузке UEFI

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

  1. Подписывание обновленных образов встроенного ПО.

  2. Подписывание капсулы с обновленным встроенным ПО.

  3. Подписывание пакета обновления встроенного ПО, предоставленного операционной системе; этот пакет будет содержать капсулу.

Из этих задач всегда требуется только 3. В безопасной системе с поддержкой загрузки все встроенное ПО UEFI должно быть подписано, что означает, что в случае обновления драйверов или приложений UEFI требуется #1. Для подключенных резервных систем также требуется #1 для всех системных встроенного ПО. Если обновление встроенного ПО не защищено другими способами, капсула должна быть подписана, чтобы защитить само обновление встроенного ПО и обеспечить подлинность пакета обновления перед установкой.

На следующей схеме показан подписыватель для различных компонентов, рассмотренных в оставшейся части этой статьи.

Компоненты обновления встроенного ПО и подписыватели.

Подпись обновленного встроенного ПО

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

В системах Arm нельзя установить драйверы или приложения UEFI отдельно от образа встроенного ПО, так как единственным разрешенным образом UEFI PE/COFF является загрузчик ОС Microsoft Windows (BootMgfw.efi), и он будет проверен с помощью единственной записи разрешенной базы данных UEFI, содержащей microsoft Windows Production CA 2011. Таким образом, можно добавить только встроенное ПО системы и устройства. В системах, отличных от Arm, драйверы и приложения UEFI могут быть подписаны с помощью любой цепочки ключей, возвращающихся к ключу в разрешенной базе данных UEFI.

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

Подписать капсулу

Содержимое капсулы определяется изготовителем оборудования. Капсула может содержать каталог образов встроенного ПО для обновления в любом формате, выбранном изготовителем оборудования, или он может быть доставлен в виде образа приложения EFI (формат файла PE/COFF). Если капсула является PE/COFF-файлом, он должен быть подписан изготовителем оборудования перед отправкой в Корпорацию Майкрософт для подписывания пакета обновления встроенного ПО Windows.

В системах на основе Arm, так как никакие ключи, кроме Microsoft Production CA 2011, не разрешены в базе данных UEFI ("db") и корпорация Майкрософт не будет использовать подписывающего в этом ЦС для подписывания стороннего кода UEFI, загрузка такой капсулы не может использовать обычную службу UEFI LoadImage. Однако приложение капсулы может быть загружено с помощью проверки для конкретной платформы открытого ключа загрузочного ПЗУ или PK UEFI. Эта нагрузка по-прежнему должна измеряться в PCR доверенного платформенного модуля[7], как и для любого другого образа. В более общем случае, когда подпись капсулы считается необходимой (например, для обеспечения целостности и подлинности полного пакета обновления), а капсула может содержать обновления встроенного ПО для встроенного ПО за пределами UEFI, капсула должна быть подписана таким образом, чтобы ее можно было проверить с помощью ключей, удерживаемых на платформе, не UEFI (например, с помощью цепочки ключей обратно в открытый ключ, привязанный к загрузочному ПЗУ или UEFI PK).

В системах, отличных от Arm, капсула может быть приложением EFI, если оно подписано с помощью цепочки ключей обратно в запись в разрешенной базе данных UEFI. Затем безопасную загрузку UEFI можно автоматически использовать для проверки целостности капсулы.

Подпись пакета обновления встроенного ПО

Пакет обновления встроенного ПО необходимо отправить в Центр партнеров для подписания. На этом шаге создается сигнатура каталога для содержимого пакета. Подпись каталога используется загрузчиком ОС Майкрософт, чтобы убедиться, что пакет является подлинным и не был изменен, прежде чем фактическое обновление будет предоставлено встроенному ПО через UpdateCapsule.

Отправка пакета обновления встроенного ПО в Центр партнеров для подписания:

  1. Подпишите содержимое капсулы в соответствии с инструкциями в предыдущем разделе.

  2. Создайте пакет обновления встроенного ПО, включающий капсулу, и подпишите пакет обновления встроенного ПО. Дополнительные сведения см. в статье Создание пакета драйверов обновления.

    Начиная с Windows 8, Windows не разрешает пакеты обновления встроенного ПО, подписанные oem Verisign, даже в тестовых средах.

  3. Обновите встроенное ПО, установив пакет обновления встроенного ПО.

  4. Установите пакет Windows Hardware Lab Kit (HLK) в тестовой системе и запустите все тесты, применимые к устройству встроенного ПО.

  5. Отправьте журналы HLK и драйвер в Центр партнеров для подписи.

При отправке пакета драйверов обновления встроенного ПО выберите Windows 8 или более поздней версии в качестве применимой ОС. При выборе ос нижнего уровня Центр партнеров подпишет каталог в пакете драйверов с помощью алгоритма SHA1. Начиная с Windows 8 все пакеты драйверов обновления встроенного ПО должны быть подписаны на SHA256.

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

Заполнение таблицы ESRT

Настройка встроенного ПО для разных географических регионов

Создание пакета обновления встроенного ПО

Установка обновления