%20%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E7%BD%B2%E5%90%8D%E3%81%95%E3%82%8C%E3%81%9F%20shim%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F.png)
これに関するガイドがあるかどうかはわかりませんが、次のことを達成するために必要な詳細な手順 (ステップバイステップのガイドなど) を知りたいです。
- カスタム CA 秘密キーを使用して shim に再署名しますが、shim が Fedora ブート CA 公開キーを使用してセキュア ブートのカーネル コンポーネントを検証できるようにします。
- ファームウェアに保存されている Microsoft のキーを、shim の署名に使用された秘密キーを持つ対応するカスタム CA 公開キーに置き換えます。
私が達成したい主な目標は、ファームウェアに格納されている組み込みのMicrosoftのCA証明書を置き換えて、Microsoft署名のOSブートローダーの実行を禁止し、UEFIのセキュアブート機能を使用してF19を起動することです。概要は次のとおりのようです。このリンクしかし、これを行うための詳細なガイドを見つけることができません。
答え1
以下のプロセスに従うことができると思います:
- システムのキーを生成します。私が知っている良い方法はこれ
- これで、この署名を使用して shim.efi に署名できます。指定されたリンクに記載されているように、署名には pesign を使用します。
- これで動作するはずですが、動作しない場合は、他のバイナリも新しい署名で署名する必要があるかもしれません。
しかし、shim.efiからMS証明書を削除すると壊れるのではないかと心配しています。興味がある方は読んでみてください。これ詳細についてはリンクをご覧ください。
以下に参考までにいくつかの点を挙げておきます。
ポイント1
多くのユーザーは独自のカーネルを構築したいと考えています。独自のディストリビューションを構築したいというユーザーもいます。ブートローダとカーネルに署名することは、その障害となります。バイナリに署名するために使用するすべてのツールを提供しますが、明らかな理由により、キーを配布することはできません。ここでは 3 つのアプローチがあります。1 つ目は、ユーザーが独自のキーを生成し、それをシステム ファームウェアに登録することです。ファームウェアに存在するキーで署名されたものはすべて信頼します。2 つ目は、独自のキーをインストールして shim ローダを再構築し、99 ドルを支払って Microsoft に署名することです。つまり、コピーを他のユーザーに渡して、何もせずにインストールさせることができます。3 つ目は、セキュア ブートを完全に無効にすることです。その時点で、マシンは現在と同じ自由度を付与する状態に戻ります。
ポイント2:
カスタム モードのシステムでは、既存のキーをすべて削除して独自のキーに置き換えることができます。その後は、Fedora ブートローダーに再署名するだけです (前述したように、そのためのツールとドキュメントを提供します)。すると、Fedora を起動できるものの、Microsoft コードの起動を拒否するコンピューターが完成します。デスクトップの場合は、グラフィックス カードとネットワーク カード上の Microsoft 署名の UEFI ドライバーを処理する必要があるため、少し扱いにくいかもしれませんが、これも解決可能です。インストールされたドライバーを自動的にホワイトリストに登録できるツールを実装する方法を検討しています。ファームウェアのバックドアがない限り、信頼できるソフトウェアのみをコンピューターで実行するようにセキュア ブートを構成することができます。自由とは、実行したいソフトウェアを実行できることですが、実行したくないソフトウェアを選択できることも意味します。