Atualizar certificados de KEK e de banco de dados

Este documento fornece instruções para atualizar as variáveis de banco de dados de assinatura permitida (db) e de 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 de KEK e db é 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 KEK e db da Inicialização segura, verifique se as instâncias exigem uma atualização e conclua os preparativos a seguir para evitar possíveis problemas de inicialização ou descriptografia:

  • Verificação de pré-requisito: Verifique se as instâncias exigem uma atualização de certificados de Inicialização segura.
  • Integridade de dados e recuperação de chaves:localize as chaves de recuperação de criptografia de disco (BitLocker ou LUKS FDE) e faça backup dos dados críticos. A mudança de 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 db para a CA UEFI da Microsoft 2023 antes de atualizar para novos shims. Esse sequenciamento ajuda a evitar um possível cenário de incompatibilidade de CA se uma atualização de shim assinada apenas com a CA UEFI da Microsoft 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 de Inicialização segura personalizadas (como um PK ou KEK personalizado), os arquivos de atualização padrão (DBUpdate3P2023.bin ou kek2023update.bin) fornecidos neste guia não serão aplicados diretamente. O firmware UEFI exige que os arquivos de atualização sejam assinados pela chave privada do KEK ou PK presente no sistema. Se você usar chaves personalizadas, assine os binários de atualização com suas próprias chaves privadas ou gerencie as atualizações pela sua autoridade de certificação personalizada.
  • 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 em esses dispositivos. Cloud de Confiance by S3NS gerencia automaticamente todas as atualizações.

Atualizar db e KEK no Linux

Para atualizar o banco de dados de assinatura permitida (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 Ubuntu usando fwupd, efitools ou sbsigntool.

Recomendamos usar fwupd para atualizar os certificados. Esse método exige a versão 2.0.10 ou mais recente do fwupdmgr. Verifique sua versão executando 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 db
  1. Faça o download do binário de atualização do banco de dados de assinatura permitida (db) da Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. 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
  1. Faça o download do arquivo .cab que contém a atualização do certificado:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Instale o utilitário gcab:

     sudo apt update && sudo apt install gcab -y
    
  3. Extraia o arquivo e verifique se o hash SHA-256 do arquivo kek2023update.bin extraído corresponde a 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     sha256sum kek2023update.bin
    
  4. 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-*
    

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 db
  1. Faça o download do binário de atualização db da Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. 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
  1. 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.cab
    
  2. Verifique se o hash SHA-256 do arquivo kek2023update.bin extraído corresponde a 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     sha256sum kek2023update.bin
    
  3. 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-*
    

Red Hat Enterprise Linux (RHEL)

É possível atualizar os certificados de 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.

Para atualizar as variáveis db e KEK usando o utilitário sbkeysync do pacote sbsigntools, faça o seguinte:

  1. Ative o repositório EPEL e instale sbsigntools e cabextract:

    sudo dnf install epel-release -y
    sudo dnf install sbsigntools cabextract -y
    
  2. Para atualizar a variável db, faça o seguinte:

    1. Faça o download do binário de atualização do banco de dados de assinatura permitida (db) da Microsoft:

      wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
      
    2. 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-*
      
  3. Para atualizar a variável KEK, faça o seguinte:

    1. 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
      
    2. Verifique se o hash SHA-256 do arquivo kek2023update.bin extraído corresponde a 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

      sha256sum kek2023update.bin
      
    3. 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-*
      

SUSE Linux Enterprise Server (SLES)

É possível atualizar os certificados de Inicialização segura no SLES ou openSUSE usando sbsigntools ou efitools. As imagens do SLES podem ter uma versão mais antiga do fwupd ou não fornecê-la.

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 db
  1. Faça o download do binário de atualização db da Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
     ```
    
  2. 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
  1. 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
     ```
    
  2. Verifique se o hash SHA-256 do arquivo kek2023update.bin extraído corresponde a 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     sha256sum kek2023update.bin
     ```
    
  3. 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 db
  1. Faça o download do binário de atualização do banco de dados de assinatura permitida (db) da Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
     ```
    
  2. 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
  1. Faça o download do arquivo .cab que contém a atualização do certificado:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     ```
    
  2. 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.
    
  3. Extraia o arquivo e verifique se o hash SHA-256 do arquivo kek2023update.bin extraído corresponde a 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     sha256sum kek2023update.bin
     ```
    
  4. 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 db e KEK no Windows

Não é necessário aplicar essas atualizações de certificado se você não usar ou planejar usar a Inicialização segura nessa instância. Os sistemas operacionais Windows geralmente ignoram 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 Inicialização segura na instância para atualizar os certificados de inicialização segura.

Em instâncias do Windows, as configurações do registro e as tarefas agendadas acionam atualizações em versões compatíveis:

  1. Verifique se as instâncias do Windows têm atualizações mensais recentes aplicadas.
  2. 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"
    
  3. Reinicialize 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.