如何使用自訂簽署的 shim 進行安全啟動 (Fedora)?

如何使用自訂簽署的 shim 進行安全啟動 (Fedora)?

我不確定是否有這方面的指南,但我想知道實現以下目標所涉及的詳細步驟(也許是逐步指南?):

  1. 使用自訂 CA 私鑰重新簽署 shim,但仍讓 shim 使用 Fedora 啟動 CA 公鑰來驗證安全啟動的核心元件。
  2. 將韌體中儲存的 Microsoft 金鑰替換為相應的自訂 CA 公鑰(其私鑰用於對 shim 進行簽署)。

我想要實現的主要目標是替換韌體中儲存的內建微軟CA證書,以禁止執行微軟簽署的作業系統引導程序,並且仍然使用UEFI的安全引導功能來引導F19。一般概述似乎概述於這個連結,但我找不到任何詳細的指南來執行此操作。

答案1

我認為您可以遵循以下流程:

  1. 為您的系統產生密鑰。對我來說一個已知好的過程是
  2. 現在您可以使用此簽名來簽署您的 shim.efi。如給定連結中所述,使用 pesign 進行簽名
  3. 現在它應該可以工作了,如果不能,那麼您可能還必須使用新簽名來簽署其他二進位檔案。

但我擔心從 shim.efi 中刪除 MS 憑證可能會損壞。您可能有興趣閱讀連結了解更多詳情。

我總結了以下幾點供大家參考:

要點#1

我們的許多用戶希望建立自己的核心。有些人甚至想建立自己的發行版。簽署我們的引導程式和核心是一個障礙。我們將提供用於簽署二進位檔案的所有工具,但由於顯而易見的原因,我們無法分發金鑰。這裡有三種方法。第一個是用戶產生自己的金鑰並將其註冊到系統韌體中。我們將信任使用韌體中存在的金鑰簽署的任何內容。第二種是使用安裝的自己的金鑰重建 shim 加載程序,然後支付 99 美元並與 Microsoft 簽署。這意味著他們可以將副本提供給其他任何人,並讓他們無需任何操作即可安裝它。第三種方法是完全停用安全啟動,此時機器應該恢復授予與目前相同的自由集。

第2點:

自訂模式下的系統應該允許您刪除所有現有密鑰並用您自己的密鑰替換它們。之後,只需重新簽署 Fedora 引導程式(就像我說的,我們將為此提供工具和文件),您將擁有一台可以引導 Fedora 但拒絕引導任何 Microsoft 程式碼的電腦。對於桌上型電腦來說,這可能會有點尷尬,因為您可能必須處理顯示卡和網路卡上的 Microsoft 簽名 UEFI 驅動程序,但這也是可以解決的。我正在尋找實現一個工具的方法,以允許您自動將已安裝的驅動程式列入白名單。排除韌體後門,可以設定安全啟動,使您的電腦僅運行您信任的軟體。自由意味著可以運行您想運行的軟體,但也意味著可以選擇您不想運行的軟體。

相關內容