Dieses Dokument enthält eine Anleitung zum Aktualisieren der Variablen „Allowed Signature Database“ (db) und „Key Exchange Key“ (KEK) auf Compute-Instanzen, die Sie vor dem 7. November 2025 erstellt haben, damit aktualisierte Zertifikate für Secure Boot vertrauenswürdig sind.
KEK und Datenbankaktualisierung sind eine Alternative für Kunden, die ihre betroffenen Compute-Instanzen nicht neu erstellen.
Hinweis
Bevor Sie Ihre KEK- und db-Zertifikate für Secure Boot aktualisieren, prüfen Sie, ob für Ihre Instanzen ein Update erforderlich ist, und treffen Sie die folgenden Vorbereitungen, um potenzielle Probleme beim Booten oder Entschlüsseln zu vermeiden:
- Voraussetzungsüberprüfung:Prüfen Sie, ob für Ihre Instanzen ein Update der Secure Boot-Zertifikate erforderlich ist.
- Datenintegrität und Schlüsselwiederherstellung:Suchen Sie Ihre Wiederherstellungsschlüssel für die Festplattenverschlüsselung (BitLocker oder LUKS FDE) und sichern Sie wichtige Daten. Wenn Sie Sicherheitsvariablen ändern, kann der Zugriff auf Festplatten gesperrt werden, falls die Konfiguration falsch ist.
- Empfohlene Reihenfolge für Linux-Updates:Bei Linux-Instanzen empfehlen wir, die
db-UEFI-Variable auf Microsoft UEFI CA 2023 zu aktualisieren, bevor Sie neue Shims installieren. Diese Reihenfolge trägt dazu bei, ein potenzielles Szenario mit CA-Konflikten zu verhindern, wenn ein Shim-Update, das nur mit der Microsoft UEFI CA 2023 signiert ist, angewendet wird, während die Datenbank nur das Zertifikat von 2011 enthält. - Benutzerdefinierte PK- oder KEK-Konfigurationen: Wenn auf Ihrer Instanz benutzerdefinierte Secure Boot-Variablen (z. B. ein benutzerdefinierter
PKoderKEK) verwendet werden oder Sie ein System außerhalb von Compute Engine verwenden, können die in diesem Dokument bereitgestellten Standard-Aktualisierungsdateien (DBUpdate3P2023.binoderkek2023update.bin) nicht direkt angewendet werden. Die UEFI-Firmware erfordert, dass Update-Dateien mit dem privaten Schlüssel des auf dem System registriertenKEKoderPKsigniert werden.kek2023update.binwird speziell mit dem standardmäßigen Compute Engine-PKsigniert. Wenn Sie benutzerdefinierte Schlüssel verwenden, müssen Sie die Update-Binärdateien mit Ihren eigenen privaten Schlüsseln signieren oder die Updates über Ihre benutzerdefinierte Zertifizierungsstelle verwalten. Weitere Informationen finden Sie unter Fehlerbehebung bei KEK-Updates. - Cloud de Confiance by S3NS Backup- und DR-Appliances:Dies sind verwaltete Appliances. Sie müssen die Secure Boot-Zertifikate auf diesen Geräten nicht manuell aktualisieren. Cloud de Confiance by S3NS verwaltet alle Updates automatisch.
Datenbank und KEK unter Linux aktualisieren
So aktualisieren Sie die Datenbank mit zulässigen Signaturen (db) und den Schlüsselaustauschschlüssel (KEK):
Debian oder Ubuntu
Sie können die Secure Boot-Zertifikate unter Debian oder Ubuntu mit fwupd, efitools oder sbsigntool aktualisieren.
Option 1: Mit fwupd aktualisieren (empfohlen)
Wir empfehlen, fwupd zum Aktualisieren Ihrer Zertifikate zu verwenden. Für diese Methode ist die fwupdmgr-Version 2.0.10 oder höher erforderlich. Prüfen Sie Ihre Version mit dem Befehl sudo fwupdmgr --version.
Führen Sie folgende Befehle aus:
sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7
Option 2: Aktualisierung über efitools
So aktualisieren Sie die Variablen db und KEK mit dem Paket efitools:
Datenbank aktualisieren
Laden Sie die Binärdatei für die Aktualisierung der Datenbank mit zulässigen Signaturen (
db) von Microsoft herunter:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binAktualisieren Sie die Variable
db:sudo chattr -i /sys/firmware/efi/efivars/db-* sudo efi-updatevar -a -f DBUpdate3P2023.bin db sudo chattr +i /sys/firmware/efi/efivars/db-*
KEK aktualisieren
Laden Sie das Archiv
.cabmit dem Zertifikatsupdate herunter:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabInstallieren Sie das Dienstprogramm
gcab:sudo apt update && sudo apt install gcab -yExtrahieren Sie das Archiv und prüfen Sie, ob der SHA‑256-Hash der extrahierten Datei
kek2023update.binmit99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eafübereinstimmt:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.binWenden Sie das Update an:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-*
Option 3: Aktualisierung über sbsigntool
So aktualisieren Sie die Variablen db und KEK mit dem Dienstprogramm sbkeysync aus dem Paket sbsigntool: Installieren Sie sbsigntool und gcab:
sudo apt update && sudo apt install sbsigntool gcab -y
Datenbank aktualisieren
Laden Sie die
db-Update-Binärdatei von Microsoft herunter:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binSchlüssel synchronisieren:
sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/db-*
KEK aktualisieren
Laden Sie das KEK-Zertifikatsupdate herunter und extrahieren Sie es:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabPrüfen Sie, ob der SHA-256-Hash der extrahierten Datei
kek2023update.binmit99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eafübereinstimmt:sha256sum kek2023update.binSchlüssel synchronisieren:
sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/KEK-*
Red Hat Enterprise Linux (RHEL)
Sie können die Secure Boot-Zertifikate unter RHEL mit sbsigntools aktualisieren. RHEL-Images haben möglicherweise eine ältere Version von fwupd, die UEFI-Zertifikatsupdates nicht sofort unterstützt.
So aktualisieren Sie die Variablen db und KEK mit dem sbkeysync-Dienstprogramm aus dem sbsigntools-Paket:
Aktivieren Sie das EPEL-Repository und installieren Sie
sbsigntoolsundcabextract:sudo dnf install epel-release -y sudo dnf install sbsigntools cabextract -ySo aktualisieren Sie die Variable
db:Laden Sie die Binärdatei für die Aktualisierung der Datenbank mit zulässigen Signaturen (
db) von Microsoft herunter:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binSchlüssel synchronisieren:
sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/db-*
So aktualisieren Sie die Variable
KEK:Laden Sie das KEK-Zertifikatsupdate herunter und extrahieren Sie es:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabPrüfen Sie, ob der SHA-256-Hash der extrahierten Datei
kek2023update.binmit99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eafübereinstimmt:sha256sum kek2023update.binSchlüssel synchronisieren:
sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/KEK-*
SUSE Linux Enterprise Server (SLES)
Sie können die Secure Boot-Zertifikate unter SLES oder openSUSE mit sbsigntools oder efitools aktualisieren. SLES-Images enthalten möglicherweise eine ältere Version von fwupd oder gar keine.
Option 1: Aktualisierung mithilfe von sbsigntools
Wenn Sie die Variablen db und KEK mit dem Dienstprogramm sbkeysync aus dem Paket sbsigntools aktualisieren möchten, aktivieren Sie den SUSE Package Hub und installieren Sie sbsigntools und cabextract:
sudo SUSEConnect -p PackageHub/15.5/x86_64
sudo zypper install sbsigntools cabextract -y
Datenbank aktualisieren
Laden Sie die
db-Update-Binärdatei von Microsoft herunter:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin ```Schlüssel synchronisieren:
sudo mkdir -p /etc/secureboot/keys/db sudo cp DBUpdate3P2023.bin /etc/secureboot/keys/db/ sudo chattr -i /sys/firmware/efi/efivars/db-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/db-* ```
KEK aktualisieren
Laden Sie das KEK-Zertifikatsupdate herunter und extrahieren Sie es:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```Prüfen Sie, ob der SHA-256-Hash der extrahierten Datei
kek2023update.binmit99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eafübereinstimmt:sha256sum kek2023update.bin ```Schlüssel synchronisieren:
sudo mkdir -p /etc/secureboot/keys/KEK sudo cp kek2023update.bin /etc/secureboot/keys/KEK/ sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo sbkeysync --verbose sudo chattr +i /sys/firmware/efi/efivars/KEK-* ```
Option 2: Aktualisierung über efitools
So aktualisieren Sie die Variablen db und KEK mit dem Paket efitools:
Datenbank aktualisieren
Laden Sie die Binärdatei für die Aktualisierung der Datenbank mit zulässigen Signaturen (
db) von Microsoft herunter:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin ```Aktualisieren Sie die Variable
db:sudo chattr -i /sys/firmware/efi/efivars/db-* sudo efi-updatevar -a -f DBUpdate3P2023.bin db sudo chattr +i /sys/firmware/efi/efivars/db-* ```
KEK aktualisieren
Laden Sie das Archiv
.cabmit dem Zertifikatsupdate herunter:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```Aktivieren Sie den SUSE Package Hub und installieren Sie das Dienstprogramm
gcab:sudo SUSEConnect -p PackageHub/15.5/x86_64 sudo zypper install gcab -y ``` Note: Replace `15.5` with your SLES version if different.Extrahieren Sie das Archiv und prüfen Sie, ob der SHA‑256-Hash der extrahierten Datei
kek2023update.binmit99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eafübereinstimmt:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.bin ```Wenden Sie das Update an:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-* ```
Datenbank und KEK unter Windows aktualisieren
Sie müssen diese Zertifikatsaktualisierungen nicht anwenden, wenn Sie Secure Boot auf dieser Instanz nicht verwenden oder nicht planen, es zu verwenden. Windows-Betriebssysteme ignorieren in der Regel Versuche, diese Secure Boot-Zertifikatsupdates anzuwenden, wenn Secure Boot nicht aktiviert ist, da das Update nicht erforderlich ist.
Wenn Sie Secure Boot später verwenden möchten, müssen Sie es zuerst auf der Instanz aktivieren, um die Secure Boot-Zertifikate zu aktualisieren.
Auf Windows-Instanzen werden Updates auf kompatiblen Versionen durch Registrierungseinstellungen und geplante Aufgaben ausgelöst:
- Achten Sie darauf, dass auf Ihren Windows-Instanzen die aktuellen monatlichen Updates angewendet werden.
Führen Sie als Administrator in PowerShell folgenden Befehl aus:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944 Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"Starten Sie die Instanz neu, um Vorgänge für Firmwarevariablen zu ermöglichen. In einigen Umgebungen sind zwei Neustarts erforderlich, wenn Virtualisierungssicherheitsfunktionen aktiv sind.
Aktualisierung bestätigen
Nachdem Sie die Updates mit fwupd, efitools, sbsigntool oder PowerShell angewendet haben, prüfen Sie, ob die Zertifikate für 2023 in den UEFI-Variablen Ihrer Instanz vorhanden sind.
Linux
Unabhängig vom Tool, das zum Anwenden des Updates verwendet wird, werden die Zertifikate in die UEFI-NVRAM-Variablen der Instanz geschrieben. Sie können sie direkt mit mokutil (empfohlen) oder efi-readvar überprüfen:
mokutilverwenden (empfohlen):mokutilist standardmäßig auf den meisten Linux-Distributionen installiert.sudo mokutil --kek | grep "KEK 2K CA 2023" sudo mokutil --db | grep "UEFI CA 2023"efi-readvarverwenden:Wenn Sieefitoolsinstalliert haben, führen Sie Folgendes aus:sudo efi-readvar -v KEK | grep "KEK 2K CA 2023" sudo efi-readvar -v db | grep "UEFI CA 2023"
Wenn sowohl die Variable KEK als auch die Variable db die Zertifikate für 2023 enthalten, wurde die Aktualisierung erfolgreich angewendet und es sind keine weiteren Maßnahmen erforderlich.
Windows
Führen Sie in einer PowerShell-Eingabeaufforderung mit Administratorrechten folgenden Befehl aus:
# Check for Microsoft KEK 2K CA 2023
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI KEK).bytes) -match 'Microsoft Corporation KEK 2K CA 2023'
# Check for UEFI CA 2023
[System.Text.Encoding]::ASCII.GetString((Get-SecureBootUEFI db).bytes) -match 'UEFI CA 2023'
# Confirm general Secure Boot enrollment state
Confirm-SecureBootUEFI
Fehlerbehebung bei KEK-Updates
Beim Aktualisieren der Variablen KEK unter Linux kann die Aktualisierung von db (DBUpdate3P2023.bin) erfolgreich sein, während die Aktualisierung von KEK (kek2023update.bin) mit einem der folgenden Fehler fehlschlägt:
Bei Verwendung von
sbkeysync:Inserting key update /etc/secureboot/keys/KEK/kek2023update.bin into KEK Error writing key update: Invalid argument Error syncing keystore file /etc/secureboot/keys/KEK/kek2023update.binBei Verwendung von
efi-updatevar:Cannot write to KEK, wrong filesystem permissions
Ursache
Bei UEFI Secure Boot werden db-Updates (DBUpdate3P2023.bin) von der Microsoft Corporation KEK CA 2011 signiert, die standardmäßig auf den meisten UEFI Secure Boot-Systemen registriert ist. KEK-Updates müssen jedoch mit dem Plattformschlüssel (PK) signiert werden, der in der Firmware des Systems registriert ist. Wenn die Firmware die Signatur für kek2023update.bin ablehnt oder das Schreiben in die UEFI-Variable verhindert, gibt der Linux-Kernel einen Fehler zurück.
Dieser Fehler tritt aus einem der folgenden Gründe auf:
- Die UEFI-Variable
KEKist weiterhin als unveränderlich gekennzeichnet: Der Befehlchattr -iwurde nicht ausgeführt, bevor der Schreibvorgang versucht wurde. - Die Instanz verwendet ein benutzerdefiniertes
PK: Das1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab-Archiv enthält einekek2023update.bin-Binärdatei, die ausschließlich mit dem standardmäßigen Compute Engine-PKsigniert ist. Wenn für Ihre Compute Engine-Instanz oder Ihr benutzerdefiniertes Image ein benutzerdefiniertesPKregistriert ist, lehnt die Firmwarekek2023update.binab. - Das System ist keine Compute Engine-Instanz: Wenn Sie diese Befehle auf physischer Hardware oder einer virtuellen Maschine außerhalb von Compute Engine ausführen, gehört die
PKdes Systems dem Hardwarehersteller oder Hypervisor-Anbieter und nicht Compute Engine. Daher wirdkek2023update.binvon der Firmware abgelehnt.
Lösung
So diagnostizieren und beheben Sie den Fehler:
Entfernen Sie das unveränderliche Attribut aus der Variablen
KEKunmittelbar vor dem Ausführen vonsbkeysyncoderefi-updatevar:sudo chattr -i /sys/firmware/efi/efivars/KEK-*Prüfen Sie die auf Ihrer Instanz registrierte
PK:sudo mokutil --pkFühren Sie je nach
sudo mokutil --pk-Ausgabe einen der folgenden Schritte aus:- Wenn die Instanz ein benutzerdefiniertes
PKverwendet: Signieren Sie das binäreKEK-Update mit dem privaten Schlüssel, der Ihrem benutzerdefiniertenPKentspricht, oder erstellen Sie die Compute-Instanz neu aus einem Laufwerks-Snapshot mit einem Image, das auf den standardmäßigen Compute Engine Secure Boot-Zertifikaten basiert. - Wenn Sie eine Maschine aktualisieren, die nicht in Compute Engine ausgeführt wird: Entfernen Sie
/etc/secureboot/keys/KEK/kek2023update.binund rufen Sie dasKEK-Update von Ihrem Hardwarehersteller oder Plattformanbieter ab, z. B. durch Ausführen vonsudo fwupdmgr update, sofern dies von Ihrem Anbieter unterstützt wird.
- Wenn die Instanz ein benutzerdefiniertes