Share via


Zertifizieren und Signieren des Updatepakets

Da das Firmwareupdate als Treiberpaket bereitgestellt wird, muss es alle Überprüfungs- und Signaturprozesse wie ein normales Treiberpaket durchlaufen. Das Treiberpaket muss Windows Hardware Lab Kit-Tests (Windows HLK) bestehen und zum Signieren an das Partner Center übermittelt werden. Nach der Signatur wird das Treiberpaket zurück an den Übermittelnden verteilt.

Die Signierung des Treiberpakets unterscheidet sich vom Signieren der UEFI-Firmware oder der Gerätefirmware selbst. Die Signatur des Treiberpakets, die über den Sicherheitskatalog bereitgestellt wird, wird von Windows verwendet, um die Integrität von firmware.bin zu überprüfen, bevor sie an die UEFI übergeben wird. Windows stellt den Sicherheitskatalog nicht für die Firmware bereit. Die Signatur der UEFI-Firmware oder des Gerätefirmwareupdates wird von der Plattformfirmware überprüft und nicht von Windows überprüft. Der IHV/OEM ist dafür verantwortlich, die Integrität und Sicherheit der Firmware durch Signaturüberprüfung, Verschlüsselung oder andere Mittel zu gewährleisten.

Signaturprozess für Firmwareupdates und Anforderungen für den sicheren UEFI-Start

Beim Signieren von UEFI-Firmwareupdates, die für die Nutzung durch Windows-Geräte mit aktivem UEFI-Sicherem Start bestimmt sind, umfasst der Signierungsprozess eine Kombination der folgenden Aufgaben:

  1. Signieren der aktualisierten Firmwareimages.

  2. Signieren der Kapsel, die die aktualisierte Firmware enthält.

  3. Signieren des Firmwareupdatepakets, das für das Betriebssystem bereitgestellt wird; Dieses Paket enthält die Kapsel.

Von diesen Aufgaben ist immer nur #3 erforderlich. Auf einem sicheren Startsystem muss die gesamte UEFI-Firmware signiert werden. Dies bedeutet, dass #1 erforderlich ist, wenn das Update UEFI-Treiber oder -Anwendungen betrifft. Für verbundene Standbysysteme ist #1 auch für die gesamte Systemfirmware erforderlich. Wenn das Firmwareupdate nicht auf andere Weise geschützt ist, muss die Kapsel signiert werden, um das Firmwareupdate selbst zu schützen und die Authentizität des Updatepakets vor der Installation sicherzustellen.

Das folgende Diagramm zeigt den Signierer für die verschiedenen Komponenten, die im weiteren Verlauf dieses Artikels erläutert werden.

Firmwareupdatekomponenten und -signierer.

Signieren der aktualisierten Firmware

Wenn sie signiert ist, muss die Signatur der aktualisierten Firmware während des Startvorgangs vom Firmwareladeprogramm des Systems überprüft werden können. Dies erfolgt mindestens automatisch beim Neustart, aber eine Vorabvalidierung wird aus Gründen der Zuverlässigkeit und Der Benutzerfreundlichkeit empfohlen.

Auf Arm-Systemen können keine UEFI-Treiber oder -Anwendungen installiert werden, die vom Firmwareimage selbst getrennt sind, da das einzige zulässige UEFI PE/COFF-Image der Microsoft Windows-Betriebssystemladeprogramm (BootMgfw.efi) ist, und es wird mithilfe des einzigen UEFI Allowed Database-Eintrags überprüft, der die Microsoft Windows Production CA 2011 enthält. Daher kann nur System- und Gerätefirmware hinzugefügt werden. Auf Nicht-Arm-Systemen können UEFI-Treiber und -Anwendungen mit jeder Schlüsselverkettung zurück an einen Schlüssel in der UEFI Allowed Database signiert werden.

System- oder Gerätefirmware kann entweder mit einer Schlüsselkette zurück an einen Schlüssel signiert werden, der an das Systemstart-ROM gebunden ist, oder auf andere Wege geschützt werden (z. B. eine signierte Kapsel und dann eine geschützte Installation).

Signieren der Kapsel

Der Kapselinhalt wird vom OEM bestimmt. Die Kapsel kann nur einen Katalog von Firmwareimages enthalten, die in jedem format vom OEM gewählten Format aktualisiert werden sollen, oder sie kann in Form eines EFI-Anwendungsimages (PE/COFF-Dateiformat) bereitgestellt werden. Wenn es sich bei der Kapsel um eine PE/COFF-Datei handelt, muss sie vom OEM signiert werden, bevor die Signatur an Microsoft für Windows Firmware Update Package übermittelt wird.

Da bei Arm-basierten Systemen keine anderen Schlüssel als die Microsoft Production CA 2011 in der UEFI Allowed Database ("db") zulässig sind und Microsoft keinen Signierer unter dieser Zertifizierungsstelle verwendet, um UEFI-Code von Drittanbietern zu signieren, kann das Laden einer solchen Kapsel den regulären UEFI LoadImage-Dienst nicht verwenden. Die Kapselanwendung kann jedoch mithilfe einer plattformspezifischen Überprüfung des öffentlichen Start-ROM-Schlüssels oder der UEFI-PK geladen werden. Diese Last muss wie bei jedem anderen Image weiterhin in TPM PCR[7] gemessen werden. Allgemeiner gilt: Wenn die Signatur von Kapseln als notwendig erachtet wird (z. B. um die Integrität und Authentizität des vollständigen Updatepakets sicherzustellen) und die Kapsel Firmwareupdates für Firmware außerhalb von UEFI umfassen kann, sollte die Kapsel so signiert werden, dass sie mithilfe von plattformgebundenen, nicht UEFI-Schlüsseln überprüft werden kann (z. B. mit einer Schlüsselkette zurück zu einem öffentlichen Schlüssel, der an das Starten von ROM oder der UEFI-PK gebunden ist).

Auf Nicht-Arm-Systemen kann die Kapsel eine EFI-Anwendung sein, solange sie mit einer Schlüsselverkettung zurück zu einem Eintrag in der UEFI Allowed Database signiert ist. UEFI Secure Boot kann dann automatisch verwendet werden, um die Integrität der Kapsel zu überprüfen.

Signieren des Firmwareupdatepakets

Das Firmwareupdatepaket muss an das Partner Center übermittelt werden, um signiert zu werden. In diesem Schritt wird eine Katalogsignatur des Paketinhalts erstellt. Die Katalogsignatur wird vom Microsoft-Betriebssystemladeprogramm verwendet, um zu überprüfen, ob das Paket authentisch ist und nicht manipuliert wurde, bevor das eigentliche Update über UpdateCapsule für die Firmware bereitgestellt wird.

Übermitteln des Firmwareupdatepakets an das Partner Center zum Signieren:

  1. Signieren Sie den Inhalt der Kapsel gemäß den Anweisungen im vorherigen Abschnitt.

  2. Erstellen Sie ein Firmwareupdatepaket, das die Kapsel enthält, und signieren Sie das Firmwareupdatepaket. Weitere Informationen finden Sie unter Erstellen eines Updatetreiberpakets.

    Ab Windows 8 lässt Windows keine Firmwareupdatepakete mit OEM-Verisign zu, auch nicht in Testumgebungen.

  3. Aktualisieren Sie die Firmware, indem Sie das Firmwareupdatepaket installieren.

  4. Installieren Sie das Windows Hardware Lab Kit (HLK) auf dem Testsystem, und führen Sie alle Tests aus, die für das Firmwaregerät gelten.

  5. Übermitteln Sie die HLK-Protokolle und den Treiber zur Signatur an das Partner Center.

Stellen Sie beim Übermitteln des Firmwareupdatetreiberpakets sicher, dass Sie Windows 8 oder höher als anwendbares Betriebssystem auswählen. Wenn Sie ein down-level-Betriebssystem auswählen, signiert das Partner Center den Katalog im Treiberpaket mit dem SHA1-Algorithmus. Ab Windows 8 müssen alle Firmwareupdatetreiberpakete SHA256-signiert sein.

Updates der System- und Gerätefirmware über ein Firmwaretreiberpaket

Auffüllen der ESRT-Tabelle

Anpassen der Firmware für verschiedene geografische Regionen

Erstellen eines Firmwareupdatepakets

Installieren des Updates