Atualizar certificados de KEK e de banco de dados

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 (KEK) 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 db para 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 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 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 autoridade de certificação personalizada.

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.

Recomendamos usar fwupd para atualizar seus 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 banco de dados
  1. 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/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 o sbsigntool

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

  1. Instale sbsigntool e gcab:

     sudo apt update && sudo apt install sbsigntool gcab -y
     ```
    
Atualizar banco de dados
  1. Faça o download do binário de atualização do db na 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 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:

  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 assinaturas permitidas (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 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, faça o seguinte:

  1. 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
  1. Faça o download do binário de atualização do db na 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 banco de dados
  1. 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/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
    
  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 o banco de dados e a KEK no Windows

Não é necessário aplicar essas atualizações de certificado se você não usa nem planeja usar a Inicialização segura nessa instância. Em geral, os sistemas operacionais Windows ignoram as tentativas de aplicar essas atualizações de certificado da Inicialização segura se ela 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:

  1. Verifique se as instâncias do Windows têm as atualizações mensais mais 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. 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.