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 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 Secure Boot.
  • 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 UEFI Microsoft 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.

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/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 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, procédez comme suit :

  1. 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/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 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/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 Secure Boot sur SLES ou openSUSE à l'aide de sbsigntools ou efitools. Il est possible que les images SLES disposent d'une ancienne version de fwupd ou ne la fournissent pas 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, procédez comme suit :

  1. Activez le 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/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 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/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 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
    
  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 clé KEK sous 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 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.