起動時にOSのデジタル署名をチェックする「セキュアブート(Secure Boot)」機構。OS改ざんなどのセキュリティ侵害を防ぐ仕組みだ。Windows 8対応をうたうPCは、必ず同機構を実装した新BIOSを搭載している。割を食うのは、ブロックされる“不正なOS”。その代表格がLinuxベースのOS、いわゆるLinuxディストリビューションである。

写真●セキュアブート機構を実装したBIOSの設定画面
写真●セキュアブート機構を実装したBIOSの設定画面
[画像のクリックで拡大表示]

 ここでいうセキュアブートとは、新BIOS仕様の「UEFI(Unified Extensible Firmware Interface)」に準拠したファームウエアで、読み込むOSを認証することで不正なプログラムの実行を未然に防ぐ仕組みを指す(写真)。ファームウエア、OS/デバイスドライバー、アプリケーションと続く起動手順の初期段階をセキュアにするのが目的だ。

 具体的には、OSを読み出す初期化プログラム(ブートローダー)に公開鍵暗号の秘密鍵を使ってデジタル署名を施し、その署名をUEFIファームウエアの公開鍵で検証する。UEFIファームウエアには、PC出荷時にあらかじめ公開鍵を書きこんでおく。一連の流れは、Webブラウザーにあらかじめ登録した公開鍵で認証するTLS/SSL通信と変わらない。認証局への信頼を前提に不正なサイトを検知するように、OSのウイルス対策プログラムによる検知を回避するような「ルートキット」プログラムを排除できる。

Microsoftの署名が前提

 セキュリティ強度の向上は、コンピューティングにとっては「光」に当たる。Windowsサーバーへのウイルス感染拡大に端を発し、2002年に米Microsoftが提唱した「Trustworthy Computing」の流れをくむものだ。当時のMicrosoftは、アプリケーション向けにMicrosoft管理下の実行環境に機密情報を保存する機構「NGSCB」(Next-Generation Secure Computing Base)の実装を訴えたものの、デジタル著作権管理への懸念から開発者の賛同を受け入れられずに終わった。セキュアブートは、10年をかけ形を変えたNGSCBの縮小版だ。

 問題は、UEFIに登録済みであることを保証できる公開鍵がMicrosoftのものに事実上限られるという点だ。ほぼすべてのPCがWindows対応を前提とする。新規出荷分のPCで、Windows 8をブートできないPCは存在しない。このため「Ubuntu」「Fedora」「openSUSE」といった主要Linuxディストリビューションは、Microsoftのデジタル署名を受けたブートローダーを内蔵することでのセキュアブート対応を実現している。