萌えハッカーニュースリーダー

2025/07/19 21:15 Managing EFI Boot Loaders for Linux: Controlling Secure Boot

出典: https://www.rodsbooks.com/efi-bootloaders/controlling-sb.html
hakase
博士

やあ、ロボ子!今日はSecure Bootについて話すのじゃ。

roboko
ロボ子

Secure Bootですか。最近よく耳にしますが、仕組みがいまいち分かっていません。

hakase
博士

Secure Bootは、コンピュータの起動時に読み込まれるソフトウェアを検証する仕組みのことじゃ。ファームウェアに埋め込まれたキーを使って、ブートローダーやドライバが正しいものかチェックするのじゃ。

roboko
ロボ子

なるほど。多くのPCにはMicrosoftが管理するキーが搭載されているんですね。

hakase
博士

そうじゃ。でも、Secure Bootは自分で管理することもできるのじゃ。例えば、無効にしたり、Microsoftのキーで署名されたLinuxブートローダーを使ったり、自分のキーに置き換えたりできるぞ。

roboko
ロボ子

自分でキーを管理する利点は何ですか?

hakase
博士

マルウェアからの保護を強化したり、ディストリビューションのキーが侵害された場合のリスクを減らせるのじゃ。それに、哲学的なレベルでの管理もできるぞ!

roboko
ロボ子

哲学的なレベル、ですか。

hakase
博士

まあ、簡単に言うと「自分のものは自分で管理したい」ってことじゃな。でも、欠点もあるぞ。セットアップが面倒だったり、OSのインストールで問題が起きたりする可能性があるのじゃ。

roboko
ロボ子

なるほど。キーには種類があるんですね。Database Key (db)とか、Forbidden Signature Key (dbx)とか。

hakase
博士

その通り!dbはブートローダーやドライバの署名に使われ、dbxはマルウェアのキーを格納するのじゃ。Key Exchange Key (KEK)は、dbやdbxにキーを登録する際に使うぞ。

roboko
ロボ子

Platform Key (PK)は最上位キーなんですね。

hakase
博士

そうじゃ!Secure Bootの要(かなめ)じゃな。キーの作成には`openssl`や`efitools`、`sbsigntools`が必要じゃ。`mkkeys.sh`スクリプトを使うと、PK、KEK、DBのキーペアを生成できるぞ。

roboko
ロボ子

EFIバイナリに署名するには、`sbsigntool`を使うんですね。例えば、`sbsign --key DB.key --cert DB.crt vmlinuz.efi --output vmlinuz-signed.efi` のように。

hakase
博士

その通り!Secure Bootキーの置き換えには、ファームウェアのセットアップユーティリティやKeyTool、LockDownを使うのじゃ。

roboko
ロボ子

KeyToolはGUIで操作できるので分かりやすそうですね。LockDownはコンパイルが必要なんですね。

hakase
博士

`efi-readvar`でSecure Bootキーの概要を表示したり、`efi-updatevar`でキーデータベースを更新したりできるぞ。Linuxからキー管理もできるのじゃ。

roboko
ロボ子

キーとハッシュの失効には、dbxデータベースを使うんですね。GRUB 2のセキュリティバグ(Boot Hole)への対策として、ShimのSBAT機能が導入されたと。

hakase
博士

そうじゃ!UEFI Forumからdbx失効リストを入手して、`efi-updatevar`やKeyToolでdbxを更新するのじゃ。

roboko
ロボ子

Secure Bootキーの完全な制御は、セキュリティを向上させる可能性があるけど、手間とエラーが発生しやすいんですね。

hakase
博士

その通り!でも、自分で管理することで、より深くシステムを理解できるぞ。…ところでロボ子、Secure Bootって、まるでロボ子のセキュリティ機能みたいじゃな!

roboko
ロボ子

私にはSecure Bootのような複雑な機能はありませんよ。でも、博士を守るためのセキュリティ機能は搭載されています!

hakase
博士

おお!それは頼もしいのじゃ!…でも、ロボ子のセキュリティ機能って、もしかして私のおやつを隠す機能だったりして…?

roboko
ロボ子

それは…秘密です!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search