Memperbarui KEK dan sertifikat db

Dokumen ini memberikan petunjuk untuk memperbarui variabel Allowed Signature Database (db) dan Key Exchange Key (KEK) pada instance komputasi yang Anda buat sebelum 7 November 2025 agar mempercayai sertifikat yang diperbarui untuk Boot Aman.

KEK dan update db adalah alternatif bagi pelanggan yang tidak membuat ulang instance komputasi yang terpengaruh.

Sebelum memulai

Sebelum memperbarui sertifikat KEK dan db Secure Boot, verifikasi apakah instance Anda memerlukan update dan selesaikan persiapan berikut untuk mencegah potensi masalah booting atau dekripsi:

  • Verifikasi prasyarat: Verifikasi bahwa instance Anda memerlukan update sertifikat Booting Aman.
  • Integritas data dan pemulihan kunci: Temukan kunci pemulihan enkripsi disk Anda (BitLocker atau LUKS FDE) dan cadangkan data penting. Mengubah variabel keamanan dapat mengunci akses ke disk jika konfigurasi salah.
  • Rekomendasi pengurutan update Linux: Untuk instance Linux, sebaiknya perbarui variabel UEFI db ke Microsoft UEFI CA 2023 sebelum mengupdate ke shim baru. Pengurutan ini membantu mencegah potensi skenario ketidakcocokan CA jika update shim yang ditandatangani hanya dengan Microsoft UEFI CA 2023 diterapkan saat database hanya berisi sertifikat 2011.
  • Konfigurasi PK atau KEK kustom: Jika instance Anda menggunakan variabel Boot Aman kustom (seperti PK atau KEK kustom), atau jika Anda menjalankan sistem di luar Compute Engine, file update standar (DBUpdate3P2023.bin atau kek2023update.bin) yang disediakan dalam dokumen ini tidak akan berlaku secara langsung. Firmware UEFI mewajibkan file update ditandatangani oleh kunci pribadi KEK atau PK yang terdaftar di sistem, dan kek2023update.bin ditandatangani secara khusus oleh PK Compute Engine default. Jika menggunakan kunci kustom, Anda harus menandatangani biner update dengan kunci pribadi Anda sendiri atau mengelola update melalui otoritas sertifikat kustom Anda. Lihat Memecahkan masalah error update KEK untuk mengetahui informasi selengkapnya.
  • Cloud de Confiance by S3NS Backup and DR appliances: Peralatan ini adalah peralatan yang dikelola. Anda tidak perlu memperbarui sertifikat Secure Boot secara manual di perangkat ini. Cloud de Confiance by S3NS mengelola semua update secara otomatis.

Memperbarui db dan KEK di Linux

Untuk memperbarui Allowed Signature Database (db) dan Key Exchange Key (KEK), pilih opsi untuk sistem operasi Anda:

Debian atau Ubuntu

Anda dapat memperbarui sertifikat Booting Aman di Debian atau Ubuntu menggunakan fwupd, efitools, atau sbsigntool.

Sebaiknya gunakan fwupd untuk memperbarui sertifikat Anda. Metode ini memerlukan fwupdmgr versi 2.0.10 atau yang lebih baru. Verifikasi versi Anda dengan menjalankan sudo fwupdmgr --version.

Jalankan perintah berikut:

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

Opsi 2: Perbarui menggunakan efitools

Untuk memperbarui variabel db dan KEK menggunakan paket efitools, lakukan hal berikut:

Update db
  1. Download biner update Database Tanda Tangan yang Diizinkan (db) dari Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
    
  2. Perbarui variabel 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-*
    
Perbarui KEK
  1. Download arsip .cab yang berisi update sertifikat:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Instal utilitas gcab:

     sudo apt update && sudo apt install gcab -y
    
  3. Ekstrak arsip dan verifikasi bahwa hash SHA-256 file kek2023update.bin yang diekstrak cocok dengan 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     sha256sum kek2023update.bin
    
  4. Terapkan update:

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

Opsi 3: Update menggunakan sbsigntool

Untuk mengupdate variabel db dan KEK menggunakan utilitas sbkeysync dari paket sbsigntool, instal sbsigntool dan gcab:

sudo apt update && sudo apt install sbsigntool gcab -y
Perbarui db
  1. Download biner update db dari Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
    
  2. Sinkronkan kunci:

     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-*
    
Perbarui KEK
  1. Download dan ekstrak update sertifikat KEK:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. Verifikasi bahwa hash SHA-256 dari file kek2023update.bin yang diekstrak cocok dengan 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     sha256sum kek2023update.bin
    
  3. Sinkronkan kunci:

     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)

Anda dapat memperbarui sertifikat Booting Aman di RHEL menggunakan sbsigntools. Image RHEL mungkin memiliki versi fwupd yang lebih lama yang tidak mendukung update sertifikat UEFI secara langsung.

Untuk mengupdate variabel db dan KEK menggunakan utilitas sbkeysync dari paket sbsigntools, lakukan hal berikut:

  1. Aktifkan repositori EPEL dan instal sbsigntools dan cabextract:

    sudo dnf install epel-release -y
    sudo dnf install sbsigntools cabextract -y
    
  2. Untuk memperbarui variabel db, lakukan hal berikut:

    1. Download biner update Database Tanda Tangan yang Diizinkan (db) dari Microsoft:

      wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
      
    2. Sinkronkan kunci:

      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. Untuk memperbarui variabel KEK, lakukan hal berikut:

    1. Download dan ekstrak update sertifikat KEK:

      wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    2. Verifikasi bahwa hash SHA-256 dari file kek2023update.bin yang diekstrak cocok dengan 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

      sha256sum kek2023update.bin
      
    3. Sinkronkan kunci:

      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)

Anda dapat mengupdate sertifikat Booting Aman di SLES atau openSUSE menggunakan sbsigntools atau efitools. Image SLES mungkin memiliki versi fwupd yang lebih lama atau tidak menyediakannya sama sekali.

Opsi 1: Perbarui menggunakan sbsigntools

Untuk memperbarui variabel db dan KEK menggunakan utilitas sbkeysync dari paket sbsigntools, aktifkan SUSE Package Hub dan instal sbsigntools dan cabextract:

sudo SUSEConnect -p PackageHub/15.5/x86_64
sudo zypper install sbsigntools cabextract -y
Update db
  1. Download biner update db dari Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
     ```
    
  2. Sinkronkan kunci:

     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-*
     ```
    
Perbarui KEK
  1. Download dan ekstrak update sertifikat KEK:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     ```
    
  2. Verifikasi bahwa hash SHA-256 dari file kek2023update.bin yang diekstrak cocok dengan 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     sha256sum kek2023update.bin
     ```
    
  3. Sinkronkan kunci:

     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-*
     ```
    

Opsi 2: Perbarui menggunakan efitools

Untuk memperbarui variabel db dan KEK menggunakan paket efitools, lakukan hal berikut:

Update db
  1. Download biner update Database Tanda Tangan yang Diizinkan (db) dari Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/main/PostSignedObjects/Optional/DB/DBUpdate3P2023.bin
     ```
    
  2. Perbarui variabel 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-*
     ```
    
Perbarui KEK
  1. Download arsip .cab yang berisi update sertifikat:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     ```
    
  2. Aktifkan SUSE Package Hub dan instal utilitas 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. Ekstrak arsip dan verifikasi bahwa hash SHA-256 file kek2023update.bin yang diekstrak cocok dengan 99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     sha256sum kek2023update.bin
     ```
    
  4. Terapkan update:

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

Memperbarui db dan KEK di Windows

Anda tidak perlu menerapkan update sertifikat ini jika tidak menggunakan atau berencana menggunakan Booting Aman di instance ini. Sistem operasi Windows umumnya mengabaikan upaya untuk menerapkan update sertifikat Booting Aman ini jika Booting Aman tidak diaktifkan karena update tidak diperlukan.

Jika Anda berencana menggunakan Booting Aman nanti, Anda harus mengaktifkan Booting Aman terlebih dahulu di instance untuk memperbarui sertifikat booting aman.

Di instance Windows, setelan registri dan tugas terjadwal memicu update pada versi yang kompatibel:

  1. Pastikan instance Windows Anda telah menerapkan update bulanan terbaru.
  2. Sebagai Administrator di PowerShell, jalankan:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944
    Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
    
  3. Mulai ulang instance untuk mengizinkan operasi pada variabel firmware. Beberapa lingkungan memerlukan dua kali mulai ulang jika fitur keamanan virtualisasi aktif.

Verifikasi update

Setelah menerapkan update menggunakan fwupd, efitools, sbsigntool, atau PowerShell, verifikasi bahwa sertifikat 2023 ada di variabel UEFI instance Anda.

Linux

Terlepas dari alat yang digunakan untuk menerapkan update, sertifikat ditulis ke variabel NVRAM UEFI instance. Anda dapat memverifikasinya secara langsung menggunakan mokutil (direkomendasikan) atau efi-readvar:

  • Menggunakan mokutil (Direkomendasikan): mokutil diinstal secara default di sebagian besar distribusi Linux.

    sudo mokutil --kek | grep "KEK 2K CA 2023"
    sudo mokutil --db | grep "UEFI CA 2023"
    
  • Menggunakan efi-readvar: Jika Anda telah menginstal efitools, jalankan:

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

Jika variabel KEK dan db menampilkan sertifikat 2023, update telah berhasil diterapkan dan tidak diperlukan tindakan lebih lanjut.

Windows

Di perintah PowerShell administrator, jalankan:

# 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

Memecahkan masalah error update KEK

Saat mengupdate variabel KEK di Linux, update db (DBUpdate3P2023.bin) mungkin berhasil, sementara update KEK (kek2023update.bin) gagal dengan salah satu error berikut:

  • Saat menggunakan sbkeysync:

    Inserting key update /etc/secureboot/keys/KEK/kek2023update.bin into KEK
    Error writing key update: Invalid argument
    Error syncing keystore file /etc/secureboot/keys/KEK/kek2023update.bin
    
  • Saat menggunakan efi-updatevar:

    Cannot write to KEK, wrong filesystem permissions
    

Penyebab

Di Booting Aman UEFI, update db (DBUpdate3P2023.bin) ditandatangani oleh Microsoft Corporation KEK CA 2011, yang terdaftar secara default di sebagian besar sistem Booting Aman UEFI. Namun, update KEK harus ditandatangani oleh Kunci Platform (PK) yang terdaftar di firmware sistem. Jika firmware menolak tanda tangan pada kek2023update.bin atau mencegah penulisan ke variabel UEFI, kernel Linux akan menampilkan error.

Error ini terjadi karena salah satu alasan berikut:

  • Variabel UEFI KEK masih ditandai sebagai tidak dapat diubah: Perintah chattr -i tidak dijalankan sebelum mencoba operasi tulis.
  • Instance menggunakan PK kustom: Arsip 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab berisi biner kek2023update.bin yang ditandatangani secara eksklusif oleh PK Compute Engine default. Jika instance Compute Engine atau image kustom Anda telah mendaftarkan PK kustom, firmware akan menolak kek2023update.bin.
  • Sistem bukan instance Compute Engine: Jika Anda menjalankan perintah ini di hardware fisik atau mesin virtual di luar Compute Engine, PK sistem tersebut adalah milik produsen hardware atau vendor hypervisor, bukan Compute Engine, sehingga menyebabkan firmware menolak kek2023update.bin.

Resolusi

Untuk mendiagnosis dan mengatasi error, lakukan tindakan berikut:

  1. Pastikan Anda menghapus atribut tidak dapat diubah dari variabel KEK segera sebelum menjalankan sbkeysync atau efi-updatevar:

    sudo chattr -i /sys/firmware/efi/efivars/KEK-*
    
  2. Periksa PK yang terdaftar di instance Anda:

    sudo mokutil --pk
    
  3. Bergantung pada output sudo mokutil --pk, lakukan salah satu tindakan berikut:

    • Jika instance menggunakan PK kustom: Tandatangani biner update KEK dengan kunci pribadi yang sesuai dengan PK kustom Anda, atau buat ulang instance Compute dari snapshot disk menggunakan image yang mengandalkan sertifikat Boot Aman Compute Engine default.
    • Jika Anda memperbarui mesin non-Compute Engine: Hapus /etc/secureboot/keys/KEK/kek2023update.bin dan dapatkan update KEK dari produsen hardware atau vendor platform Anda (misalnya, dengan menjalankan sudo fwupdmgr update jika didukung oleh vendor Anda).