セキュア ブート (Fedora) にカスタム署名された shim を使用するにはどうすればよいですか?

セキュア ブート (Fedora) にカスタム署名された shim を使用するにはどうすればよいですか?

これに関するガイドがあるかどうかはわかりませんが、次のことを達成するために必要な詳細な手順 (ステップバイステップのガイドなど) を知りたいです。

  1. カスタム CA 秘密キーを使用して shim に再署名しますが、shim が Fedora ブート CA 公開キーを使用してセキュア ブートのカーネル コンポーネントを検証できるようにします。
  2. ファームウェアに保存されている Microsoft のキーを、shim の署名に使用された秘密キーを持つ対応するカスタム CA 公開キーに置き換えます。

私が達成したい主な目標は、ファームウェアに格納されている組み込みのMicrosoftのCA証明書を置き換えて、Microsoft署名のOSブートローダーの実行を禁止し、UEFIのセキュアブート機能を使用してF19を起動することです。概要は次のとおりのようです。このリンクしかし、これを行うための詳細なガイドを見つけることができません。

答え1

以下のプロセスに従うことができると思います:

  1. システムのキーを生成します。私が知っている良い方法はこれ
  2. これで、この署名を使用して shim.efi に署名できます。指定されたリンクに記載されているように、署名には pesign を使用します。
  3. これで動作するはずですが、動作しない場合は、他のバイナリも新しい署名で署名する必要があるかもしれません。

しかし、shim.efiからMS証明書を削除すると壊れるのではないかと心配しています。興味がある方は読んでみてください。これ詳細についてはリンクをご覧ください。

以下に参考までにいくつかの点を挙げておきます。

ポイント1

多くのユーザーは独自のカーネルを構築したいと考えています。独自のディストリビューションを構築したいというユーザーもいます。ブートローダとカーネルに署名することは、その障害となります。バイナリに署名するために使用するすべてのツールを提供しますが、明らかな理由により、キーを配布することはできません。ここでは 3 つのアプローチがあります。1 つ目は、ユーザーが独自のキーを生成し、それをシステム ファームウェアに登録することです。ファームウェアに存在するキーで署名されたものはすべて信頼します。2 つ目は、独自のキーをインストールして shim ローダを再構築し、99 ドルを支払って Microsoft に署名することです。つまり、コピーを他のユーザーに渡して、何もせずにインストールさせることができます。3 つ目は、セキュア ブートを完全に無効にすることです。その時点で、マシンは現在と同じ自由度を付与する状態に戻ります。

ポイント2:

カスタム モードのシステムでは、既存のキーをすべて削除して独自のキーに置き換えることができます。その後は、Fedora ブートローダーに再署名するだけです (前述したように、そのためのツールとドキュメントを提供します)。すると、Fedora を起動できるものの、Microsoft コードの起動を拒否するコンピューターが完成します。デスクトップの場合は、グラフィックス カードとネットワーク カード上の Microsoft 署名の UEFI ドライバーを処理する必要があるため、少し扱いに​​くいかもしれませんが、これも解決可能です。インストールされたドライバーを自動的にホワイトリストに登録できるツールを実装する方法を検討しています。ファームウェアのバックドアがない限り、信頼できるソフトウェアのみをコンピューターで実行するようにセキュア ブートを構成することができます。自由とは、実行したいソフトウェアを実行できることですが、実行したくないソフトウェアを選択できることも意味します。

関連情報