セキュアブートのためのデータベース
セキュアブートでは、UEFIが保持している電子証明書のデータベースを使う。これにより、インターネット接続前の段階で、ブートローダーの署名者を確認できる。
ここで、問題になるのは電子証明を確認するためのデータベースが改竄されてしまうと、信頼性がなくなってしまうこと。このために、データベースは勝手に書き換えができないようになっている。
セキュアブート用のデータベースは、起動を許可する署名者のデータベース(DB、Allowed Database)と、問題があって信頼できなくなった署名者のデータベース(DBX、Revoked Database)の2つからなる。Microsoftの電子証明書は、最初からDBに登録されている。
セキュアブートでブートローダーが実行されるのは、ブートローダーの署名者がDBに登録されていて、かつDBXには登録されていない場合のみだ。これ以外の場合、たとえば、DBにもDBXにも登録がない場合には、ブートローダー実行が拒否される。これで、正しい証明書を持った改竄されていないブートローダーだけが実行されることになる。
DBとDBXは、UEFIが管理しているNVRAM(不揮発性メモリ)に保存されている。UEFIのNVRAMは、BIOSのCMOSに相当するもので、電源を切っている間も起動に必要なパラメーターなどを保持できる。
DBおよびDBXが改竄されないように、やはり電子署名が付けられている。これで、データベースDB、DBXに改竄がないことを確認できる。そのための電子証明書は、KEK(Key Exchange Key)に記録されている。KEKの役目は、DBとDBXを更新できる主体(暗号鍵の持ち主)の電子証明書を記録して、特定のユーザー、組織のみがDBとDBXを更新できるようにするものだ。ここにもMicrosoftの電子証明書(Microsoft KEK CA)が登録されている。
さらにKEK自体もPK(Platform Key)で電子署名がなされ、勝手な書き換えや改竄を阻止している。PKは、プラットフォームの所有者が管理するものとされる。メーカー製PCの場合、PKは製造メーカーが作成して管理している。
このようにすることで、セキュアブートを有効にして製品を出荷できる。しかし、自作PCなどでは、初期状態(標準状態)で、PKがなく、セキュアブートも無効になっている。これを有効にする場合、ユーザー自身が公開鍵暗号を作り、PKに電子署名をする。なお、企業や政府などの組織が組織内で使うPC用に独自のPKを提供することもある。マイクロソフトは、ブートローダー/DB/DBX/KEKまでは署名者となるが、PKには関わらない。
Windows 11では、セキュアブートのあと、Windows 11が起動するまでを保護する一連のセキュリティ機能がある。これにより、Windowsは、起動時に「悪意のあるプログラム」に影響される可能性が非常に低くなる。Windowsが起動すれば、その上で各種のセキュリティ機能が動き出す。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第524回
PC
Windows Insider Programが変化 チャンネルが3つになって整理される -
第523回
PC
AI傾倒に一息入れて、既存のWindowsの改良を宣言するMicrosoft タスクバーを画面の上下左右に移動可能に!? -
第522回
PC
Windowsでも完全キーボード操作派は注目! PowerToysのコマンドパレット -
第521回
PC
Windowsでアプリをインストールしたときに警告が表示する「Defender SmartScreen」と「Smart App Control」 -
第520回
PC
WindowsターミナルのPreview版 v1.25では「操作」設定に専用エディタが導入 -
第519回
PC
「セキュアブート」に「TPM」に「カーネルDMA保護」、Windowsのセキュリティを整理 -
第518回
PC
WindowsにおけるUAC(ユーザーアカウント制御)とは何? 設定は変えない方がいい? -
第517回
PC
Windows 11の付箋アプリはWindowsだけでなく、スマホなどとも共有できる -
第516回
PC
今年のWindows 11には26H2以外に「26H1」がある!? 新種のCPUでのAI対応の可能性 -
第515回
PC
そもそも1キロバイトって何バイトなの? - この連載の一覧へ











