Mettre à jour les certificats KEK et de base de données

Ce document explique comment mettre à jour les variables de la base de données de signatures autorisées (db) et de la clé d'échange de clés (KEK) sur les instances de calcul que vous avez créées avant le 7 novembre 2025 pour qu'elles fassent confiance aux certificats mis à jour pour le démarrage sécurisé.

La mise à jour de la clé de chiffrement de clé (KEK) et de la base de données est une alternative pour les clients qui ne recréent pas leurs instances de calcul concernées.

Avant de commencer

Avant de mettre à jour vos certificats KEK et db Secure Boot, vérifiez si vos instances nécessitent une mise à jour et effectuez les préparatifs suivants pour éviter d'éventuels problèmes de démarrage ou de déchiffrement :

  • Vérification des prérequis : vérifiez que vos instances nécessitent une mise à jour des certificats de démarrage sécurisé.
  • Intégrité des données et récupération des clés : localisez vos clés de récupération de chiffrement de disque (BitLocker ou LUKS FDE) et sauvegardez les données critiques. Si la configuration est incorrecte, la modification des variables de sécurité peut bloquer l'accès aux disques.
  • Recommandation concernant l'ordre de mise à jour de Linux : pour les instances Linux, nous vous recommandons de mettre à jour la variable UEFI db vers Microsoft UEFI CA 2023 avant de passer aux nouveaux shims. Cette séquence permet d'éviter un éventuel scénario d'incompatibilité de l'autorité de certification si une mise à jour du shim signée uniquement avec l'autorité de certification Microsoft UEFI 2023 est appliquée alors que la base de données ne contient que le certificat de 2011.
  • Configurations personnalisées de clé privée ou de KEK : si votre instance utilise des variables Secure Boot personnalisées (telles que PK ou KEK), les fichiers de mise à jour standards (DBUpdate3P2023.bin ou kek2023update.bin) fournis dans ce guide ne s'appliqueront pas directement. Le micrologiciel UEFI exige que les fichiers de mise à jour soient signés par la clé privée de KEK ou PK présente sur le système. Si vous utilisez des clés personnalisées, vous devez signer les binaires de mise à jour avec vos propres clés privées ou gérer les mises à jour via votre autorité de certification personnalisée.
  • Google Cloud  Dispositifs Backup and DR : il s'agit de dispositifs gérés. Vous n'avez pas besoin de mettre à jour manuellement les certificats Secure Boot sur ces appliances. Google Cloud gère automatiquement toutes les mises à jour.

Mettre à jour la base de données et la clé KEK sous Linux

Pour mettre à jour la base de données des signatures autorisées (db) et la clé d'échange de clés (KEK), sélectionnez l'option correspondant à votre système d'exploitation :

Debian ou Ubuntu

Vous pouvez mettre à jour les certificats de démarrage sécurisé sur Debian ou Ubuntu à l'aide de fwupd, efitools ou sbsigntool.

Nous vous recommandons d'utiliser fwupd pour mettre à jour vos certificats. Cette méthode requiert la version 2.0.10 ou ultérieure de fwupdmgr. Vérifiez votre version en exécutant sudo fwupdmgr --version.

Exécutez les commandes suivantes :

sudo fwupdmgr refresh
sudo fwupdmgr update 5bc922b7bd1adb5b6f99592611404036bd9f42d0
sudo fwupdmgr update b7a1d3d90faa1f6275d9a98da4fb3be7118e61c7

Option 2 : Mettre à jour à l'aide de efitools

Pour mettre à jour les variables db et KEK à l'aide du package efitools :

Mettre à jour la base de données
  1. Téléchargez le fichier binaire de mise à jour de la base de données des signatures autorisées (db) depuis Microsoft :

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
    
  2. Mettez à jour la 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-*
    
Mettre à jour le KEK
  1. Téléchargez l'archive .cab contenant la mise à jour du certificat :

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Installez l'utilitaire gcab :

     sudo apt update && sudo apt install gcab -y
    
  3. Extrayez l'archive et vérifiez que le hachage SHA-256 du fichier kek2023update.bin extrait correspond à 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf :

     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     sha256sum kek2023update.bin
    
  4. Appliquez la mise à jour :

     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 : Mettre à jour à l'aide de sbsigntool

Pour mettre à jour les variables db et KEK à l'aide de l'utilitaire sbkeysync du package sbsigntool, installez sbsigntool et gcab :

sudo apt update && sudo apt install sbsigntool gcab -y
Mettre à jour la base de données
  1. Téléchargez le binaire de mise à jour db depuis Microsoft :

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
    
  2. Synchronisez la clé :

     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-*
    
Mettre à jour le KEK
  1. Téléchargez et extrayez la mise à jour du certificat KEK :

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Vérifiez que le hachage SHA-256 du fichier kek2023update.bin extrait correspond à 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf :

     sha256sum kek2023update.bin
    
  3. Synchronisez la clé :

     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)

Vous pouvez mettre à jour les certificats de démarrage sécurisé sur RHEL à l'aide de sbsigntools. Les images RHEL peuvent contenir une ancienne version de fwupd qui ne prend pas en charge les mises à jour des certificats UEFI prêtes à l'emploi.

Pour mettre à jour les variables db et KEK à l'aide de l'utilitaire sbkeysync du package sbsigntools, procédez comme suit :

  1. Activez le dépôt EPEL et installez sbsigntools et cabextract :

    sudo dnf install epel-release -y
    sudo dnf install sbsigntools cabextract -y
    
  2. Pour mettre à jour la variable db, procédez comme suit :

    1. Téléchargez le fichier binaire de mise à jour de la base de données des signatures autorisées (db) depuis Microsoft :

      wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
      
    2. Synchronisez la clé :

      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. Pour mettre à jour la variable KEK, procédez comme suit :

    1. Téléchargez et extrayez la mise à jour du certificat KEK :

      wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    2. Vérifiez que le hachage SHA-256 du fichier kek2023update.bin extrait correspond à 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf :

      sha256sum kek2023update.bin
      
    3. Synchronisez la clé :

      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)

Vous pouvez mettre à jour les certificats Secure Boot sur SLES ou openSUSE à l'aide de sbsigntools ou efitools. Les images SLES peuvent avoir une ancienne version de fwupd ou ne pas la fournir du tout.

Option 1 : Mettre à jour à l'aide de sbsigntools

Pour mettre à jour les variables db et KEK à l'aide de l'utilitaire sbkeysync du package sbsigntools, activez SUSE Package Hub et installez sbsigntools et cabextract :

sudo SUSEConnect -p PackageHub/15.5/x86_64
sudo zypper install sbsigntools cabextract -y
Mettre à jour la base de données
  1. Téléchargez le binaire de mise à jour db depuis Microsoft :

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
     ```
    
  2. Synchronisez la clé :

     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-*
     ```
    
Mettre à jour le KEK
  1. Téléchargez et extrayez la mise à jour du certificat KEK :

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     ```
    
  2. Vérifiez que le hachage SHA-256 du fichier kek2023update.bin extrait correspond à 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf :

     sha256sum kek2023update.bin
     ```
    
  3. Synchronisez la clé :

     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 : Mettre à jour à l'aide de efitools

Pour mettre à jour les variables db et KEK à l'aide du package efitools :

Mettre à jour la base de données
  1. Téléchargez le fichier binaire de mise à jour de la base de données des signatures autorisées (db) depuis Microsoft :

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
     ```
    
  2. Mettez à jour la 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-*
     ```
    
Mettre à jour le KEK
  1. Téléchargez l'archive .cab contenant la mise à jour du certificat :

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     ```
    
  2. Activez le SUSE Package Hub et installez l'utilitaire 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. Extrayez l'archive et vérifiez que le hachage SHA-256 du fichier kek2023update.bin extrait correspond à 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf :

     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     sha256sum kek2023update.bin
     ```
    
  4. Appliquez la mise à jour :

     sudo chattr -i /sys/firmware/efi/efivars/KEK-*
     sudo efi-updatevar -a -f kek2023update.bin KEK
     sudo chattr +i /sys/firmware/efi/efivars/KEK-*
     ```
    

Mettre à jour la base de données et la KEK sur Windows

Vous n'avez pas besoin d'appliquer ces mises à jour de certificat si vous n'utilisez pas ou ne prévoyez pas d'utiliser le démarrage sécurisé sur cette instance. En général, les systèmes d'exploitation Windows ignorent les tentatives d'application de ces mises à jour de certificats de démarrage sécurisé si le démarrage sécurisé n'est pas activé, car la mise à jour est inutile.

Si vous prévoyez d'utiliser le démarrage sécurisé ultérieurement, vous devez d'abord l'activer sur l'instance pour mettre à jour les certificats de démarrage sécurisé.

Sur les instances Windows, les paramètres de registre et les tâches planifiées déclenchent les mises à jour sur les versions compatibles :

  1. Assurez-vous que les mises à jour mensuelles récentes ont été appliquées à vos instances Windows.
  2. En tant qu'administrateur dans PowerShell, exécutez :

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944
    Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
    
  3. Redémarrez l'instance pour autoriser les opérations sur les variables du micrologiciel. Certains environnements nécessitent un double redémarrage si les fonctionnalités de sécurité de la virtualisation sont actives.

Vérifier la mise à jour

Après avoir appliqué les mises à jour à l'aide de fwupd, efitools, sbsigntool ou PowerShell, vérifiez que les certificats 2023 sont présents dans les variables UEFI de votre instance.

Linux

Quel que soit l'outil utilisé pour appliquer la mise à jour, les certificats sont écrits dans les variables NVRAM UEFI de l'instance. Vous pouvez les valider directement à l'aide de mokutil (recommandé) ou efi-readvar :

  • Utiliser mokutil (recommandé) : mokutil est installé par défaut sur la plupart des distributions Linux.

    sudo mokutil --kek | grep "KEK 2K CA 2023"
    sudo mokutil --db | grep "UEFI CA 2023"
    
  • Utilisation de efi-readvar : si efitools est installé, exécutez la commande suivante :

    sudo efi-readvar -v KEK | grep "KEK 2K CA 2023"
    sudo efi-readvar -v db | grep "UEFI CA 2023"
    

Si les variables KEK et db affichent les certificats de 2023, la mise à jour a été appliquée avec succès et aucune autre action n'est requise.

Windows

Dans une invite PowerShell d'administrateur, exécutez la commande suivante :

# 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