Questo documento fornisce istruzioni per aggiornare le variabili Allowed Signature Database
(db) e Key Exchange Key (KEK) sulle istanze di calcolo create
prima del 7 novembre 2025 per considerare attendibili i certificati aggiornati per Secure Boot.
KEK e aggiornamento del database sono un'alternativa per i clienti che non ricreano le istanze di calcolo interessate.
Prima di iniziare
Prima di aggiornare i certificati KEK e db di Avvio protetto, verifica se le tue istanze richiedono un aggiornamento e completa i seguenti preparativi per evitare potenziali problemi di avvio o decrittografia:
- Verifica dei prerequisiti:verifica che le tue istanze richiedano un aggiornamento dei certificati Secure Boot.
- Integrità dei dati e recupero delle chiavi:individua le chiavi di recupero della crittografia del disco (BitLocker o LUKS FDE) ed esegui il backup dei dati critici. La modifica delle variabili di sicurezza può bloccare l'accesso ai dischi se la configurazione non è corretta.
- Consiglio per la sequenza di aggiornamento di Linux:per le istanze Linux, ti consigliamo di aggiornare la variabile UEFI
dba Microsoft UEFI CA 2023 prima di eseguire l'aggiornamento ai nuovi shim. Questa sequenza aiuta a prevenire un potenziale scenario di mancata corrispondenza della CA se viene applicato un aggiornamento shim firmato solo con la CA UEFI di Microsoft 2023 mentre il database contiene solo il certificato 2011. - Configurazioni personalizzate di PK o KEK: se la tua istanza utilizza variabili Secure
Boot personalizzate (ad esempio un
PKo unKEKpersonalizzato) o se viene eseguita su un sistema esterno a Compute Engine, i file di aggiornamento standard (DBUpdate3P2023.binokek2023update.bin) forniti in questo documento non si applicano direttamente. Il firmware UEFI richiede che i file di aggiornamento siano firmati con la chiave privata diKEKoPKregistrata sul sistema ekek2023update.binsia firmato in modo specifico dalPKpredefinito di Compute Engine. Se utilizzi chiavi personalizzate, devi firmare i binari di aggiornamento con le tue chiavi private o gestire gli aggiornamenti tramite la tua autorità di certificazione personalizzata. Per saperne di più, consulta la sezione Risolvi i problemi relativi agli errori di aggiornamento della KEK. - Cloud de Confiance by S3NS Appliance di Backup e RE: si tratta di appliance gestite. Non è necessario aggiornare manualmente i certificati Secure Boot su questi dispositivi. Cloud de Confiance by S3NS gestisce automaticamente tutti gli aggiornamenti.
Aggiorna db e KEK su Linux
Per aggiornare il database delle firme consentite (db) e la chiave di scambio (KEK), seleziona l'opzione per il tuo sistema operativo:
Debian o Ubuntu
Puoi aggiornare i certificati di avvio protetto su Debian o Ubuntu utilizzando fwupd, efitools o sbsigntool.
Opzione 1: aggiorna utilizzando fwupd (consigliata)
Ti consigliamo di utilizzare fwupd per aggiornare i certificati. Questo metodo richiede la versione 2.0.10 o successive di fwupdmgr. Verifica la tua versione eseguendo sudo fwupdmgr --version.
Esegui questi comandi:
sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7
Opzione 2: aggiorna utilizzando efitools
Per aggiornare le variabili db e KEK utilizzando il pacchetto efitools:
Aggiorna db
Scarica il file binario di aggiornamento del database delle firme consentite (
db) da Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binAggiorna la variabile
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-*
Aggiorna KEK
Scarica l'archivio
.cabcontenente l'aggiornamento del certificato:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabInstalla l'utilità
gcab:sudo apt update && sudo apt install gcab -yEstrai l'archivio e verifica che l'hash SHA-256 del file
kek2023update.binestratto corrisponda a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.binApplica l'aggiornamento:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-*
Opzione 3: aggiorna utilizzando sbsigntool
Per aggiornare le variabili db e KEK utilizzando l'utilità sbkeysync dal pacchetto sbsigntool, installa sbsigntool e gcab:
sudo apt update && sudo apt install sbsigntool gcab -y
Aggiorna db
Scarica il file binario di aggiornamento
dbda Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binSincronizza la chiave:
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-*
Aggiorna KEK
Scarica ed estrai l'aggiornamento del certificato KEK:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabVerifica che l'hash SHA-256 del file
kek2023update.binestratto corrisponda a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:sha256sum kek2023update.binSincronizza la chiave:
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)
Puoi aggiornare i certificati di Avvio protetto su RHEL utilizzando sbsigntools. Le immagini RHEL potrebbero avere una versione precedente di fwupd che non supporta gli aggiornamenti dei certificati UEFI predefiniti.
Per aggiornare le variabili db e KEK utilizzando l'utilità sbkeysync dal pacchetto sbsigntools:
Attiva il repository EPEL e installa
sbsigntoolsecabextract:sudo dnf install epel-release -y sudo dnf install sbsigntools cabextract -yPer aggiornare la variabile
db:Scarica il file binario di aggiornamento del database delle firme consentite (
db) da Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binSincronizza la chiave:
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-*
Per aggiornare la variabile
KEK:Scarica ed estrai l'aggiornamento del certificato KEK:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabVerifica che l'hash SHA-256 del file
kek2023update.binestratto corrisponda a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:sha256sum kek2023update.binSincronizza la chiave:
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)
Puoi aggiornare i certificati di Avvio protetto su SLES o openSUSE utilizzando sbsigntools o efitools. Le immagini SLES potrebbero avere una versione precedente di fwupd o non fornirla affatto.
Opzione 1: aggiornamento utilizzando sbsigntools
Per aggiornare le variabili db e KEK utilizzando l'utilità sbkeysync dal pacchetto sbsigntools, attiva SUSE Package Hub e installa sbsigntools e cabextract:
sudo SUSEConnect -p PackageHub/15.5/x86_64
sudo zypper install sbsigntools cabextract -y
Aggiorna db
Scarica il file binario di aggiornamento
dbda Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin ```Sincronizza la chiave:
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-* ```
Aggiorna KEK
Scarica ed estrai l'aggiornamento del certificato KEK:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```Verifica che l'hash SHA-256 del file
kek2023update.binestratto corrisponda a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:sha256sum kek2023update.bin ```Sincronizza la chiave:
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-* ```
Opzione 2: aggiorna utilizzando efitools
Per aggiornare le variabili db e KEK utilizzando il pacchetto efitools:
Aggiorna db
Scarica il file binario di aggiornamento del database delle firme consentite (
db) da Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin ```Aggiorna la variabile
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-* ```
Aggiorna KEK
Scarica l'archivio
.cabcontenente l'aggiornamento del certificato:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```Attiva SUSE Package Hub e installa l'utilità
gcab:sudo SUSEConnect -p PackageHub/15.5/x86_64 sudo zypper install gcab -y ``` Note: Replace `15.5` with your SLES version if different.Estrai l'archivio e verifica che l'hash SHA-256 del file
kek2023update.binestratto corrisponda a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.bin ```Applica l'aggiornamento:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-* ```
Aggiorna db e KEK su Windows
Non è necessario applicare questi aggiornamenti dei certificati se non utilizzi o non prevedi di utilizzare Avvio protetto in questa istanza. I sistemi operativi Windows in genere ignorano i tentativi di applicare questi aggiornamenti dei certificati di avvio protetto se l'avvio protetto non è abilitato perché l'aggiornamento non è necessario.
Se intendi utilizzare l'avvio protetto in un secondo momento, devi prima abilitarlo sull'istanza per aggiornare i certificati di avvio protetto.
Sulle istanze Windows, le impostazioni del registro e le attività pianificate attivano gli aggiornamenti sulle versioni compatibili:
- Assicurati che alle tue istanze Windows siano stati applicati gli aggiornamenti mensili recenti.
In qualità di amministratore in PowerShell, esegui:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944 Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"Riavvia l'istanza per consentire le operazioni sulle variabili del firmware. Alcuni ambienti richiedono doppi riavvii se le funzionalità di sicurezza della virtualizzazione sono attive.
Verificare l'aggiornamento
Dopo aver applicato gli aggiornamenti utilizzando fwupd, efitools, sbsigntool o PowerShell, verifica che i certificati del 2023 siano presenti nelle variabili UEFI della tua istanza.
Linux
Indipendentemente dallo strumento utilizzato per applicare l'aggiornamento, i certificati vengono scritti nelle variabili NVRAM UEFI dell'istanza. Puoi verificarli direttamente utilizzando mokutil (consigliato) o efi-readvar:
Utilizzo di
mokutil(consigliato):mokutilè installato per impostazione predefinita nella maggior parte delle distribuzioni Linux.sudo mokutil --kek | grep "KEK 2K CA 2023" sudo mokutil --db | grep "UEFI CA 2023"Utilizzo di
efi-readvar:se hai installatoefitools, esegui:sudo efi-readvar -v KEK | grep "KEK 2K CA 2023" sudo efi-readvar -v db | grep "UEFI CA 2023"
Se entrambe le variabili KEK e db mostrano i certificati del 2023, l'aggiornamento è stato applicato correttamente e non sono necessari ulteriori interventi.
Windows
In un prompt di PowerShell amministratore, esegui:
# 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
Risolvere i problemi relativi agli errori di aggiornamento della KEK
Quando aggiorni la variabile KEK su Linux, l'aggiornamento di db (DBUpdate3P2023.bin) potrebbe riuscire, mentre l'aggiornamento di KEK (kek2023update.bin) non riesce e viene visualizzato uno dei seguenti errori:
Quando utilizzi
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.binQuando utilizzi
efi-updatevar:Cannot write to KEK, wrong filesystem permissions
Causa
Nell'avvio protetto UEFI, gli aggiornamenti db (DBUpdate3P2023.bin) sono firmati da Microsoft Corporation KEK CA 2011, registrata per impostazione predefinita nella maggior parte dei sistemi di avvio protetto UEFI. Tuttavia, gli aggiornamenti KEK devono essere firmati con la chiave della piattaforma (PK) registrata nel firmware del sistema. Quando il firmware rifiuta la firma su kek2023update.bin o impedisce la scrittura nella variabile UEFI, il kernel Linux restituisce un errore.
Questo errore si verifica per uno dei seguenti motivi:
- La variabile UEFI
KEKè ancora contrassegnata come immutabile: il comandochattr -inon è stato eseguito prima di tentare l'operazione di scrittura. - L'istanza utilizza un
PKpersonalizzato: l'archivio1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabcontiene un binariokek2023update.binfirmato esclusivamente dalPKpredefinito di Compute Engine. Se la tua istanza Compute Engine o la tua immagine personalizzata ha unPKpersonalizzato registrato, il firmware rifiutakek2023update.bin. - Il sistema non è un'istanza Compute Engine: se esegui questi comandi su hardware fisico o su una macchina virtuale al di fuori di Compute Engine, il
PKdel sistema appartiene al produttore dell'hardware o al fornitore dell'hypervisor anziché a Compute Engine, il che fa sì che il firmware rifiutikek2023update.bin.
Risoluzione
Per diagnosticare e risolvere l'errore:
Assicurati di rimuovere l'attributo immutabile dalla variabile
KEKimmediatamente prima di eseguiresbkeysyncoefi-updatevar:sudo chattr -i /sys/firmware/efi/efivars/KEK-*Controlla
PKregistrato nella tua istanza:sudo mokutil --pkA seconda dell'output di
sudo mokutil --pk, esegui una delle seguenti azioni:- Se l'istanza utilizza un
PKpersonalizzato: firma il binario di aggiornamentoKEKcon la chiave privata corrispondente al tuoPKpersonalizzato oppure ricrea l'istanza di computing da uno snapshot del disco utilizzando un'immagine che si basa sui certificati Secure Boot predefiniti di Compute Engine. - Se stai aggiornando una macchina non Compute Engine: rimuovi
/etc/secureboot/keys/KEK/kek2023update.bine ottieni l'aggiornamentoKEKdal produttore dell'hardware o dal fornitore della piattaforma (ad esempio eseguendosudo fwupdmgr updatese supportato dal fornitore).
- Se l'istanza utilizza un