ubuntuインストールをセキュアブートするために、shimとgrub2でデフォルトのubuntuアプローチを使用し、独自のプラットフォームキー(sbsignを使用した自己署名shim)と暗号化されたルートパーティションを組み合わせています。ただし、これはgrubx64.efiとカーネルのみを検証しますが、暗号化されていないブートパーティション上のinitrd.imgおよびgrub.cfgファイルを悪意のある変更から保護しません。
では、ブートに使用する前に、おそらくsha256ハッシュを使用して、initrdとgrubの構成を確認するにはどうすればよいですか?その検証は、shim、grub、またはshimやgrubに加えて、またはその代わりに使用する他のツールで発生する可能性があります。
この質問の目的は、変更された環境(カーネルコマンドラインとinitrd)でカーネルを実行して、ルートパーティションの暗号化パスワードがどこかに漏洩するのを防ぐことです。
UbuntuとLinux FoundationのPreLoader.efiを含むセキュアブートに関するWebチュートリアル/ブログを数日間読んだにもかかわらず、ブート構成を検証する方法は見つかりませんでした。これらはすべて、カーネルモジュールを含む実行可能ファイルの検証がどのように機能するかを説明していますが、どれもこれはgrub.cfgと(内部のシェルスクリプトと構成ファイル)initrdについて言及しているため、起動プロセスで非バイナリの検証を要求するのは私が初めてのようです。私が見つけた最高の情報源は、ロッド・スミスの情報源です。
私がまだ試していないのは、shimやgrubのソースコードを変更したり、フォークを作成したり、それらに直接貢献することです。それが唯一の方法でしょうか?