Este documento fornece instruções para atualizar as variáveis do banco de dados de assinaturas permitidas (db) e da chave de troca de chaves (KEK) em instâncias de computação criadas antes de 7 de novembro de 2025 para confiar em certificados atualizados para a inicialização segura.
A atualização da KEK e do banco de dados é uma alternativa para clientes que não recriam as instâncias de computação afetadas.
Antes de começar
Antes de atualizar os certificados de chaves de criptografia de chaves e de banco de dados da inicialização segura, verifique se as instâncias precisam de uma atualização e conclua os preparativos a seguir para evitar possíveis problemas de inicialização ou descriptografia:
- Verificação de pré-requisitos:verifique se as instâncias precisam de uma atualização de certificados de inicialização segura.
- Integridade de dados e recuperação de chaves:localize as chaves de recuperação da criptografia de disco (BitLocker ou LUKS FDE) e faça backup dos dados críticos. Mudar as variáveis de segurança pode bloquear o acesso aos discos se a configuração estiver incorreta.
- Recomendação de sequenciamento de atualização do Linux:para instâncias do Linux, recomendamos atualizar a variável UEFI
dbpara a CA UEFI da Microsoft 2023 antes de atualizar para novos shims. Essa sequência ajuda a evitar uma possível incompatibilidade de CA se uma atualização de shim assinada apenas com a CA UEFI da Microsoft de 2023 for aplicada enquanto o banco de dados contém apenas o certificado de 2011. - Configurações personalizadas de PK ou KEK: se a instância usa variáveis personalizadas do Secure
Boot (como um
PKouKEKpersonalizado) ou se você está executando em um sistema fora do Compute Engine, os arquivos de atualização padrão (DBUpdate3P2023.binoukek2023update.bin) fornecidos neste documento não serão aplicados diretamente. O firmware UEFI exige que os arquivos de atualização sejam assinados pela chave privada doKEKouPKregistrado no sistema, e okek2023update.biné assinado especificamente peloPKpadrão do Compute Engine. Se você usa chaves personalizadas, assine os binários de atualização com suas próprias chaves privadas ou gerencie as atualizações pela autoridade de certificação personalizada. Consulte Resolver problemas de atualização da KEK para mais informações. - Cloud de Confiance by S3NS Dispositivos de backup e DR:são dispositivos gerenciados. Não é necessário atualizar manualmente os certificados de inicialização segura nesses dispositivos.O Cloud de Confiance by S3NS gerencia automaticamente todas as atualizações.
Atualizar o banco de dados e a KEK no Linux
Para atualizar o banco de dados de assinaturas permitidas (db) e a chave de troca de chaves (KEK), selecione a opção do seu sistema operacional:
Debian ou Ubuntu
É possível atualizar os certificados de Inicialização segura no Debian ou no Ubuntu usando fwupd, efitools ou sbsigntool.
Opção 1: atualizar usando fwupd (recomendado)
Recomendamos usar fwupd para atualizar seus certificados. Esse método exige a versão 2.0.10 ou mais recente do fwupdmgr. Para verificar sua versão, execute sudo fwupdmgr --version.
Execute os comandos a seguir:
sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7
Opção 2: atualizar usando efitools
Para atualizar as variáveis db e KEK usando o pacote efitools, faça o seguinte:
Atualizar banco de dados
Faça o download do binário de atualização do banco de dados de assinaturas permitidas (
db) da Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binAtualize a variável
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-*
Atualizar KEK
Baixe o arquivo
.cabque contém a atualização do certificado:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabInstale o utilitário
gcab:sudo apt update && sudo apt install gcab -yExtraia o arquivo e verifique se o hash SHA-256 do arquivo
kek2023update.binextraído corresponde a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.binAplique a atualização:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-*
Opção 3: atualizar usando sbsigntool
Para atualizar as variáveis db e KEK usando o utilitário sbkeysync do pacote sbsigntool, instale sbsigntool e gcab:
sudo apt update && sudo apt install sbsigntool gcab -y
Atualizar banco de dados
Baixe o binário de atualização
dbda Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binSincronize a chave:
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-*
Atualizar KEK
Faça o download e extraia a atualização do certificado KEK:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabVerifique se o hash SHA-256 do arquivo
kek2023update.binextraído corresponde a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:sha256sum kek2023update.binSincronize a chave:
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)
É possível atualizar os certificados da Inicialização segura no RHEL usando sbsigntools. As imagens do RHEL podem ter uma versão mais antiga do fwupd que não oferece suporte a atualizações de certificado UEFI de imediato.
Para atualizar as variáveis db e KEK usando o utilitário sbkeysync do pacote sbsigntools, faça o seguinte:
Ative o repositório EPEL e instale
sbsigntoolsecabextract:sudo dnf install epel-release -y sudo dnf install sbsigntools cabextract -yPara atualizar a variável
db, faça o seguinte:Faça o download do binário de atualização do banco de dados de assinaturas permitidas (
db) da Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.binSincronize a chave:
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-*
Para atualizar a variável
KEK, faça o seguinte:Faça o download e extraia a atualização do certificado KEK:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabVerifique se o hash SHA-256 do arquivo
kek2023update.binextraído corresponde a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:sha256sum kek2023update.binSincronize a chave:
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)
É possível atualizar os certificados de inicialização segura no SLES ou no openSUSE usando sbsigntools ou efitools. As imagens do SLES podem ter uma versão mais antiga do fwupd ou não fornecer esse recurso.
Opção 1: atualizar usando sbsigntools
Para atualizar as variáveis db e KEK usando o utilitário sbkeysync do pacote sbsigntools, ative o SUSE Package Hub e instale sbsigntools e cabextract:
sudo SUSEConnect -p PackageHub/15.5/x86_64
sudo zypper install sbsigntools cabextract -y
Atualizar banco de dados
Baixe o binário de atualização
dbda Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin ```Sincronize a chave:
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-* ```
Atualizar KEK
Faça o download e extraia a atualização do certificado KEK:
wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```Verifique se o hash SHA-256 do arquivo
kek2023update.binextraído corresponde a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:sha256sum kek2023update.bin ```Sincronize a chave:
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-* ```
Opção 2: atualizar usando efitools
Para atualizar as variáveis db e KEK usando o pacote efitools, faça o seguinte:
Atualizar banco de dados
Faça o download do binário de atualização do banco de dados de assinaturas permitidas (
db) da Microsoft:wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin ```Atualize a variável
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-* ```
Atualizar KEK
Baixe o arquivo
.cabque contém a atualização do certificado:wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab ```Ative o SUSE Package Hub e instale o utilitário
gcab:sudo SUSEConnect -p PackageHub/15.5/x86_64 sudo zypper install gcab -y ``` Note: Replace `15.5` with your SLES version if different.Extraia o arquivo e verifique se o hash SHA-256 do arquivo
kek2023update.binextraído corresponde a99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab sha256sum kek2023update.bin ```Aplique a atualização:
sudo chattr -i /sys/firmware/efi/efivars/KEK-* sudo efi-updatevar -a -f kek2023update.bin KEK sudo chattr +i /sys/firmware/efi/efivars/KEK-* ```
Atualizar o banco de dados e a KEK no Windows
Não é necessário aplicar essas atualizações de certificado se você não usa ou não planeja usar a inicialização segura nessa instância. Os sistemas operacionais Windows geralmente ignoram as tentativas de aplicar essas atualizações de certificado de inicialização segura se a inicialização segura não estiver ativada, porque a atualização é desnecessária.
Se você pretende usar a Inicialização segura mais tarde, primeiro ative-a na instância para atualizar os certificados.
Em instâncias do Windows, as configurações de registro e as tarefas programadas acionam atualizações em versões compatíveis:
- Confira se as instâncias do Windows têm as atualizações mensais mais recentes aplicadas.
Como administrador no PowerShell, execute:
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944 Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"Reinicie a instância para permitir operações em variáveis de firmware. Alguns ambientes exigem reinicializações duplas se os recursos de segurança de virtualização estiverem ativos.
Verificar a atualização
Depois de aplicar as atualizações usando fwupd, efitools, sbsigntool ou PowerShell, verifique se os certificados de 2023 estão presentes nas variáveis UEFI da sua instância.
Linux
Independente da ferramenta usada para aplicar a atualização, os certificados são gravados nas variáveis NVRAM UEFI da instância. É possível verificar diretamente usando mokutil (recomendado) ou efi-readvar:
Usando
mokutil(recomendado): omokutilé instalado por padrão na maioria das distribuições do Linux.sudo mokutil --kek | grep "KEK 2K CA 2023" sudo mokutil --db | grep "UEFI CA 2023"Usando
efi-readvar:se você tiver oefitoolsinstalado, execute:sudo efi-readvar -v KEK | grep "KEK 2K CA 2023" sudo efi-readvar -v db | grep "UEFI CA 2023"
Se as variáveis KEK e db mostrarem os certificados de 2023, a atualização foi aplicada corretamente e nenhuma outra ação é necessária.
Windows
Em um prompt do PowerShell de administrador, execute:
# 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
Resolver problemas de erros de atualização da KEK
Ao atualizar a variável KEK no Linux, a atualização db (DBUpdate3P2023.bin) pode ser concluída, mas a atualização KEK (kek2023update.bin) falha com um dos seguintes erros:
Ao usar o
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.binAo usar o
efi-updatevar:Cannot write to KEK, wrong filesystem permissions
Causa
Na inicialização segura do UEFI, as atualizações do db (DBUpdate3P2023.bin) são assinadas pela KEK CA 2011 da Microsoft Corporation, que é registrada por padrão na maioria dos sistemas de inicialização segura do UEFI. No entanto, as atualizações de KEK precisam ser assinadas pela chave da plataforma (PK) registrada no firmware do sistema. Quando o firmware rejeita a assinatura em kek2023update.bin ou impede a gravação na variável UEFI, o kernel do Linux retorna um erro.
Esse erro ocorre por um dos seguintes motivos:
- A variável UEFI
KEKainda está marcada como imutável: o comandochattr -inão foi executado antes da tentativa de operação de gravação. - A instância usa um
PKpersonalizado: o arquivo1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cabcontém um bináriokek2023update.binassinado exclusivamente peloPKpadrão do Compute Engine. Se a instância do Compute Engine ou a imagem personalizada tiver umPKpersonalizado registrado, o firmware vai rejeitarkek2023update.bin. - O sistema não é uma instância do Compute Engine: se você executar esses comandos em um hardware físico ou em uma máquina virtual fora do Compute Engine, o
PKdo sistema vai pertencer ao fabricante do hardware ou ao fornecedor do hipervisor, e não ao Compute Engine. Isso fará com que o firmware rejeitekek2023update.bin.
Resolução
Para diagnosticar e resolver o erro, faça o seguinte:
Remova o atributo imutável da variável
KEKimediatamente antes de executarsbkeysyncouefi-updatevar:sudo chattr -i /sys/firmware/efi/efivars/KEK-*Inspecione o
PKregistrado na sua instância:sudo mokutil --pkDependendo da saída de
sudo mokutil --pk, faça uma das seguintes ações:- Se a instância usar um
PKpersonalizado: assine o binário de atualizaçãoKEKcom a chave privada correspondente aoPKpersonalizado ou recrie a instância de computação de um snapshot de disco usando uma imagem que dependa dos certificados de inicialização segura padrão do Compute Engine. - Se você estiver atualizando uma máquina que não é do Compute Engine: remova
/etc/secureboot/keys/KEK/kek2023update.bine receba a atualizaçãoKEKdo fabricante do hardware ou do fornecedor da plataforma. Por exemplo, executesudo fwupdmgr updatese for compatível com seu fornecedor.
- Se a instância usar um