【めじゃーどぶーと】

メジャードブート とは?

最終更新:
💡 起動時の測定結果を残し、検証の手がかりにする仕組み

起動時のファームウェアやブートローダーなどのハッシュ値を測定し、TPMのPCRに記録する仕組み。記録はリモートアテステーションなどの検証に利用でき、記録すること自体が起動を止めるわけではない。

📌 このページのポイント
メジャードブート:測定して記録 ファームウェア ブートローダー カーネル TPM:対象のPCRに蓄積 同じPCRの新値 = Hash( そのPCRの旧値 || 測定値 ) || は連結。PCR番号は進まない 検証側:署名付きPCR・ログ 許可した状態と照合 値の変化だけで「改ざん」とは決まらない
対象PCRへ蓄積する起動時の測定値は、署名付きPCRとTPM外に保持したイベントログを使って検証できる。測定対象やPCRへの割り当ては実装による。
ひよこ ひよこ
メジャードブートってセキュアブートと似た名前だけど、何が違うの?
ペンギン先生 ペンギン先生
セキュアブートは信頼する署名などに基づいて起動するコードを確認する仕組み。メジャードブートは、起動時の測定結果を記録する仕組みだよ。両方を組み合わせられるけれど、測定しただけで不正なコードを自動的に止めるわけではないんだ。
ひよこ ひよこ
具体的にどんな記録をするの?
ペンギン先生 ペンギン先生
ファームウェアやブートローダーなどのハッシュ値を測定し、TPMのPCRへ蓄積する。どの要素を測るか、どのPCRに記録するかは実装によるよ。何を測ったかを示すイベントログも使う。すべてのアプリの動作を録画するカメラとは違うんだ。
ひよこ ひよこ
PCRって何なの?
ペンギン先生 ペンギン先生
Platform Configuration Registerの略で、TPMにある測定値用のレジスタだよ。extendという更新では「そのPCRの以前の値と、新しい測定値を連結してハッシュ化」する。足し算でも、次のPCR番号へ移る操作でもないんだ。測定値や順序が変われば、その測定を蓄積したPCRの値に影響するよ。
ひよこ ひよこ
その記録を見れば、改ざんされたかすぐ分かる?
ペンギン先生 ペンギン先生
記録だけで安全とは判定できないよ。遠隔から検証するなら、署名付きのPCR情報などで証拠を確認し、イベントログと照合して、許可した状態か判断する。測定する側への信頼や検証の設定も大切だね。正規の更新で値が変わることもあり、違う値なら必ず改ざん、とは言えないんだ。
ひよこ ひよこ
BitLockerでは、値が変わるともう起動できないの?
ペンギン先生 ペンギン先生
BitLockerは選択したPCRなどの条件でキーを保護するよ。起動時の状態が条件から外れると、通常のキー解放ではなく回復モードになることがある。その場合は回復キーなどでアクセスを回復できる。全PCRの変化で必ず永久に起動不能になる、という仕組みではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「メジャードブート」って出てきたら「起動時の測定結果をTPMに記録する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Measured Boot」 = 測定する起動
💬 Measureは「測定する」、Bootは「起動」。起動時の構成要素を測定して記録することを表す名前だよ。

参考資料

← 用語集にもどる