secure boot 証明書を確認する

こんにちは、masm11 です。

もうすぐあなたの PC が起動しなくなるかもしれない!? そんな話をします。

secure boot の仕組み

最近の Windows PC は、大抵 secure boot で保護されていると思います。 secure boot とは、早い話 BIOS や Windows kernel を改ざんから守る機能です。 改ざんを検出したら、それ以上起動しません。

どうやって改ざんを検出するか、というと、HTTPS でも使われている方法です。 ファイルに署名し、証明書で検証します。

HTTPS で使われている証明書は階層構造になっていますよね。 secure boot で使われている証明書もそうです。 一番上の証明書を PK、2番目を KEK と呼んでいます。

証明書を取り出す

では、KEK を取り出してみます。

管理者権限の powershell を起動して、以下のコマンドを実行します。

Get-SecureBootUEFI -Name KEK -OutputFilePath kek.bin

カレントディレクトリに kek.bin というファイルができます。

私は Linux の方が慣れているので、この kek.bin を Linux 環境なり WSL なりにコピーします。

さて、kek.bin の中身はどんな形式でしょうか?

leo:masm % file kek.bin
kek.bin: EFI Signature List, X509, total size: 1560 bytes
leo:masm %

X509 の EFI Signatre List? らしいです。 efitools で扱えそうですね。

Linux に efitools をインストールして、中身を取り出してみます。

leo:masm % sig-list-to-certs kek.bin kek
X509 Header sls=1560, header=0, sig=1516
file kek-0.der: Guid 77fa9abd-0359-4d32-bd60-28f4e78f784b
Written 1516 bytes
leo:masm %

kek-0.der というファイルができますので、その中身を見てみます。

leo:masm % openssl x509 -in kek-0.der -noout -text

KEK を検証する

その出力結果からの抜粋がこちら。

Validity
    Not Before: Jun 24 20:41:29 2011 GMT
    Not After : Jun 24 20:51:29 2026 GMT
Subject: C=US, ST=Washington, L=Redmond, O=Microsoft Corporation, CN=Microsoft Corporation KEK CA 2011

はい、証明書の有効期限が 2026年6月になっていますね。もうすぐです。

有効期限がちゃんと検証されてるなら、これを過ぎると、その PC は起動しなくなります。

GPU の VBIOS を確認する

もう一つあります。NVIDIA 等の dGPU を搭載している場合、 そこにも BIOS があるらしいのです。VBIOS と呼ばれており、 それにも署名があるそうです。

その確認方法を紹介します。

ただし、ツールを2つダウンロードして使います。 両方とも管理者権限を要求されます。 私は使いましたが、これらのツールが悪いものでない保証はありませんので、 ダウンロードや使用は自己責任でお願いします。

まず、GPU-Z というツールをダウンロードして、実行します。 インストールするかどうかを尋ねられますが、インストールは不要なので No を選択すれば良いでしょう。

で、ウィンドウ一番下から NVIDIA の GPU を選択します。 BIOS Version の右にあるリンクマーク (NVIDIA ロゴのすぐ下) をクリックすると、 「画面が一瞬暗くなるかも」等の警告表示の後に VBIOS が抽出されます。

これで VBIOS の抽出は終わりです。 私の場合は AD107.rom というファイル名になっていました。 次にこの VBIOS が何で署名されているかを確認します。

これに使うツールは GOP Updater です。 zip なので一度展開します。 展開した中に GOPupd.bat (GOPupd.exe と間違わないように) があるので、 先程抽出した VBIOS (*.rom とかいうファイル名になっていると思います) をドラッグして GOPupd.bat にドロップします。 すると、管理者権限の端末が開き、何やらいろいろ出力されます。

その中に、

Most likely signed by: Microsoft Corporation UEFI CA 2011

という表記がありました。何故 Most likely と曖昧なのかはよくわかりませんが、 どうやらこれも古い鍵で署名されているようですね。

聞くところによると、期限を過ぎると、dGPU は使えませんが iGPU は引き続き使えるそうです。 (iGPU というのは、チップセットとかに内蔵されてるやつで、Intel UHD Graphics とかのことです)

まとめ

今回は警告だけです。 今新しい PC に買い替えても証明書が新しいものかどうかはわかりません。 (今年買った PC が上記の状態でした…)

自前で更新はできるらしいのですが、 2025年11月現在、今はまだ新しい証明書が配布されるのを待っておけば良いと思います。 ただし、配布方法は Windows Update らしいので、 Windows Update が止まってるような古い Windows を使ってる方は要注意なのと、 古い PC の場合は対象外になるでしょうから、こちらも要注意ですかね。 これらの方は「secure boot mosby」でググると良いでしょう。

ではまた!