עדכון של אישורי KEK ו-db

במסמך הזה מוסבר איך לעדכן את המשתנים Allowed Signature Database (מסד נתונים של חתימות מותרות, db) ו-Key Exchange Key (מפתח להחלפת מפתחות, KEK) במכונות וירטואליות שיצרתם לפני 7 בנובמבר 2025, כדי שהמכונות יסמכו על אישורים מעודכנים של אתחול מאובטח.

עדכון KEK ו-db הוא חלופה ללקוחות שלא יוצרים מחדש את מכונות החישוב המושפעות שלהם.

לפני שמתחילים

לפני שמעדכנים את אישורי ה-KEK וה-db של Secure Boot, צריך לוודא שהמופעים דורשים עדכון ולהשלים את ההכנות הבאות כדי למנוע בעיות אפשריות בהפעלה או בפענוח:

  • אימות הדרישות המוקדמות: מוודאים שהמופעים שלכם דורשים עדכון של אישורי אתחול מאובטח.
  • תקינות נתונים ושחזור מפתחות: מאתרים את מפתחות השחזור של הצפנת הדיסק (BitLocker או LUKS FDE) ומגבים נתונים קריטיים. שינוי משתני אבטחה עלול לחסום את הגישה לדיסקים אם ההגדרה שגויה.
  • המלצה לגבי סדר העדכון של Linux: במקרים של מופעי Linux, מומלץ לעדכן את המשתנה db UEFI ל-Microsoft UEFI CA 2023 לפני שמעדכנים ל-shims חדשים. הסדר הזה עוזר למנוע תרחיש אפשרי של אי-התאמה של CA אם מוחל עדכון של shim שנחתם רק באמצעות Microsoft UEFI CA 2023, בזמן שבמסד הנתונים יש רק את האישור משנת 2011.
  • הגדרות מותאמות אישית של PK או KEK: אם המופע שלכם משתמש במשתני Secure Boot מותאמים אישית (כמו PK או KEK מותאמים אישית), קובצי העדכון הרגילים (DBUpdate3P2023.bin או kek2023update.bin) שמופיעים במדריך הזה לא יחולו ישירות. קושחת UEFI דורשת שקובצי העדכון ייחתמו על ידי המפתח הפרטי של KEK או PK שקיימים במערכת. אם אתם משתמשים במפתחות בהתאמה אישית, אתם צריכים לחתום על קובצי העדכון הבינאריים באמצעות המפתחות הפרטיים שלכם או לנהל את העדכונים דרך רשות האישורים בהתאמה אישית.

עדכון של db ו-KEK ב-Linux

כדי לעדכן את מסד הנתונים של החתימות המותרות (db) ואת מפתח החלפת המפתחות (KEK), בוחרים את האפשרות שמתאימה למערכת ההפעלה שלכם:

‫Debian או Ubuntu

אפשר לעדכן את האישורים של ההפעלה המאובטחת ב-Debian או ב-Ubuntu באמצעות fwupd,‏ efitools או sbsigntool.

מומלץ להשתמש ב-fwupd כדי לעדכן את האישורים. כדי להשתמש בשיטה הזו, נדרשת גרסה 2.0.10 ואילך של fwupdmgr. כדי לאמת את הגרסה, מריצים את הפקודה sudo fwupdmgr --version.

מריצים את הפקודות הבאות:

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

אפשרות 2: עדכון באמצעות efitools

כדי לעדכן את המשתנים db ו-KEK באמצעות חבילת efitools, מבצעים את הפעולות הבאות:

עדכון מסד הנתונים
  1. מורידים את הקובץ הבינארי של העדכון של מסד הנתונים של החתימות המותרות (db) מ-Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
     ```
    
  2. מעדכנים את המשתנה 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-*
     ```
    
עדכון KEK
  1. מורידים את הארכיון .cab שמכיל את עדכון האישור:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     ```
    
  2. מתקינים את כלי השירות gcab:

     sudo apt update && sudo apt install gcab -y
     ```
    
  3. מחולצים את הארכיון ומוודאים שגיבוב SHA-256 של הקובץ kek2023update.bin שחולץ זהה ל-99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     sha256sum kek2023update.bin
     ```
    
  4. מחילים את העדכון:

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

אפשרות 3: עדכון באמצעות sbsigntool

כדי לעדכן את המשתנים db ו-KEK באמצעות כלי השירות sbkeysync מהחבילה sbsigntool:

  1. התקנה של sbsigntool ושל gcab:

     sudo apt update && sudo apt install sbsigntool gcab -y
     ```
    
עדכון מסד הנתונים
  1. מורידים את קובץ העדכון הבינארי של db מ-Microsoft:

     wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
     ```
    
  2. מסנכרנים את המפתח:

     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-*
     ```
    
עדכון KEK
  1. מורידים ומחלצים את עדכון אישור ה-KEK:

     wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
     ```
    
  2. מוודאים שגיבוב SHA-256 של קובץ kek2023update.bin שחולץ תואם ל-99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

     sha256sum kek2023update.bin
     ```
    
  3. מסנכרנים את המפתח:

     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)

אפשר לעדכן את אישורי ההפעלה המאובטחת ב-RHEL באמצעות sbsigntools. יכול להיות שבתמונות RHEL יש גרסה ישנה יותר של fwupd שלא תומכת בעדכוני אישורים של UEFI מחוץ לקופסה.

כדי לעדכן את המשתנים db ו-KEK באמצעות כלי השירות sbkeysync מהחבילה sbsigntools:

  1. מפעילים את מאגר EPEL ומתקינים את sbsigntools ואת cabextract:

    sudo dnf install epel-release -y
    sudo dnf install sbsigntools cabextract -y
    
  2. כדי לעדכן את המשתנה db:

    1. מורידים את הקובץ הבינארי של העדכון של מסד הנתונים של החתימות המותרות (db) מ-Microsoft:

      wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
      
    2. מסנכרנים את המפתח:

      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. כדי לעדכן את המשתנה KEK:

    1. מורידים ומחלצים את עדכון אישור ה-KEK:

      wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
      
    2. מוודאים שגיבוב SHA-256 של קובץ kek2023update.bin שחולץ תואם ל-99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

      sha256sum kek2023update.bin
      
    3. מסנכרנים את המפתח:

      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)

אפשר לעדכן את אישורי האתחול המאובטח ב-SLES או ב-openSUSE באמצעות sbsigntools או efitools. יכול להיות שבתמונות SLES מותקנת גרסה ישנה יותר של fwupd או שהיא לא מסופקת בכלל.

אפשרות 1: עדכון באמצעות sbsigntools

כדי לעדכן את המשתנים db ו-KEK באמצעות כלי השירות sbkeysync מהחבילה sbsigntools:

  1. מפעילים את SUSE Package Hub ומתקינים את sbsigntools ואת cabextract:

    sudo SUSEConnect -p PackageHub/15.5/x86_64
    sudo zypper install sbsigntools cabextract -y
    
עדכון מסד הנתונים
  1. מורידים את קובץ העדכון הבינארי של db מ-Microsoft:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. מסנכרנים את המפתח:

    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-*
    
עדכון KEK
  1. מורידים ומחלצים את עדכון אישור ה-KEK:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    cabextract -f 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. מוודאים שגיבוב SHA-256 של קובץ kek2023update.bin שחולץ תואם ל-99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

    sha256sum kek2023update.bin
    
  3. מסנכרנים את המפתח:

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

אפשרות 2: עדכון באמצעות efitools

כדי לעדכן את המשתנים db ו-KEK באמצעות חבילת efitools, מבצעים את הפעולות הבאות:

עדכון מסד הנתונים
  1. מורידים את הקובץ הבינארי של העדכון של מסד הנתונים של החתימות המותרות (db) מ-Microsoft:

    wget https://github.com/microsoft/secureboot_objects/raw/refs/heads/main/PostSignedObjects/Optional/DB/amd64/DBUpdate3P2023.bin
    
  2. מעדכנים את המשתנה 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-*
    
עדכון KEK
  1. מורידים את הארכיון .cab שמכיל את עדכון האישור:

    wget https://fwupd.org/downloads/1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    
  2. מפעילים את SUSE Package Hub ומתקינים את כלי השירות gcab:

    sudo SUSEConnect -p PackageHub/15.5/x86_64
    sudo zypper install gcab -y
    
  3. מחולצים את הארכיון ומוודאים שגיבוב SHA-256 של הקובץ kek2023update.bin שחולץ זהה ל-99e340f5cfd7aa3698f80237b51e460fc6367111876f39b4a9e1d1aa495d5eaf:

    gcab --extract 1953fae13600a35944e93cd244476a6f6ce5fdbf620709b2f6f378fac2ae3bef-KEK-google_compute_engine.cab
    sha256sum kek2023update.bin
    
  4. מחילים את העדכון:

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

עדכון מסד הנתונים ומפתח הצפנה ב-Windows

אם אתם לא משתמשים ב-Secure Boot במופע הזה, או לא מתכננים להשתמש בו, אתם לא צריכים להחיל את עדכוני האישורים האלה. מערכות הפעלה של Windows בדרך כלל מתעלמות מניסיונות להחיל את עדכוני האישורים האלה של אתחול מאובטח אם האתחול המאובטח לא מופעל, כי העדכון לא נחוץ.

אם אתם מתכוונים להשתמש בהפעלה מאובטחת בהמשך, אתם צריכים להפעיל אותה קודם במופע כדי לעדכן את אישורי ההפעלה המאובטחת.

במופעי Windows, הגדרות הרישום ומשימות מתוזמנות מפעילות עדכונים בגרסאות תואמות:

  1. מוודאים שעדכונים חודשיים מהזמן האחרון הוחלו על מופעי Windows.
  2. כאדמינים ב-PowerShell, מריצים את הפקודה:

    Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecureBoot" -Name "AvailableUpdates" -Value 0x5944
    Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
    
  3. מפעילים מחדש את המופע כדי לאפשר פעולות על משתני קושחה. בסביבות מסוימות נדרשות שתי הפעלות מחדש אם תכונות האבטחה של הווירטואליזציה פעילות.