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 afin d'approuver les certificats mis à jour pour le démarrage sécurisé.

La mise à jour de la 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 de démarrage sécurisé KEK et de base de données, vérifiez si vos instances nécessitent une mise à jour et effectuez les préparatifs suivants pour éviter tout problème de démarrage ou de déchiffrement :

  • Vérification des conditions préalables : 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. La modification des variables de sécurité peut bloquer l'accès aux disques si la configuration est incorrecte.
  • Recommandation de séquencement des mises à jour Linux : pour les instances Linux, nous vous recommandons de mettre à jour la variable UEFI db vers Microsoft UEFI CA 2023 avant de passer à de nouveaux shims. Ce séquencement permet d'éviter un scénario potentiel de non-concordance de l'autorité de certification si une mise à jour de shim signée uniquement avec Microsoft UEFI CA 2023 est appliquée alors que la base de données ne contient que le certificat 2011.
  • Configurations PK ou KEK personnalisées : si votre instance utilise des variables de démarrage sécurisé personnalisées (telles qu'une PK ou une KEK personnalisée), les fichiers de mise à jour standards (DBUpdate3P2023.bin ou kek2023update.bin) fournis dans ce guide ne s'appliqueront pas directement. Le micrologiciel UEFI nécessite que les fichiers de mise à jour soient signés par la clé privée de la KEK ou de la 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 de démarrage sécurisé sur ces dispositifs. Google Cloud gère automatiquement toutes les mises à jour.

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

Pour mettre à jour la base de données de 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 nécessite 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, procédez comme suit :

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

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/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 la 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 à partir de Microsoft :

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/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 la 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 avoir une ancienne version de fwupd qui ne prend pas en charge les mises à jour de 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 binaire de mise à jour de la base de données de signatures autorisées (db) à partir de Microsoft :

      wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/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 de démarrage sécurisé 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 à partir de Microsoft :

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/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 la 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, procédez comme suit :

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

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/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 la 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 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. Les systèmes d'exploitation Windows ignorent généralement les tentatives d'application de ces mises à jour de certificat 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 des mises à jour sur les versions compatibles :

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

    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 de micrologiciel. Certains environnements nécessitent un double redémarrage si les fonctionnalités de sécurité de la virtualisation sont actives.