写真1 Knoppix 5.1.1 for Trusted Computing Geeksのデスクトップ。左上のウインドウは,PCRの値などを確認できるユーザー・インタフェース(TPM Manager)。
写真1 Knoppix 5.1.1 for Trusted Computing Geeksのデスクトップ。左上のウインドウは,PCRの値などを確認できるユーザー・インタフェース(TPM Manager)。
[画像のクリックで拡大表示]

 産業技術総合研究所は2007年11月6日,自らが改変されていないことを確認しながら起動するKNOPPIXの新版「Knoppix 5.1.1 for Trusted Computing Geeks」を公開した(写真1)。KNOPPIXを収めたCD-ROMからパソコンを起動して利用できる。

 パソコン上でKNOPPIXが起動する場合は通常,(1)BIOSがCD-ROM上のブート・ローダーを呼び出し,(2)ブート・ローダーがLinuxカーネルをロードする。新版でもこの手順は変わらないが,それぞれの段階でバイナリが改変されていないことを保証する仕組み(Trusted Computing)を追加した。

 今回公開されたKnoppix 5.1.1 for Trusted Computing Geeksは,米IBM社,米Intel社,米Microsoft社などが参加する業界団体TCG(Trusted Computing Group)によるトラスティッド・コンピューティングの規格に沿って動作する。そのためには,TCGが規定した2つのハードウエアがパソコンに備わっていることが必要になる。(1)BIOS内の改変不能な領域CRTM(Core Root of Trust of Measurement)と,(2)BIOS外にあるセキュリティ・チップ(Trusted Platform Module)である。TPMは,20けたのSHA1(Secure Hash Algorithm 1)値をPCR(Platform Configuration Resister)に保管し,暗号演算を自ら実行する機能を備えたチップである。

 起動時の具体的な動作は以下の通り。パソコンの電源投入時に,CRTMがTPMを参照しながら,BIOSの完全性を測定する。この後,BIOSがIMA(Integrity Mesured Architecture)対応に改変したGNU GRUB(以下,GRUB)を起動,GRUBがIMA対応のLinuxカーネルをロードしてKNOPPIX全体が利用できるようになる。すべての段階でバイナリのハッシュ値がTPM内のPCR値と比較される。PCR値は改変できないため,OS全体の完全性が確認できる。

 新版では,IMA対応のGRUBとLinuxカーネル2.6.19用のIMAパッチ,TPMアクセス用のソフトウエア(TrouSerS)とユーザー・インタフェース(TPM Manager)を利用できる。起動時だけでなく,Linuxカーネルがアプリケーション・ソフトウエアを起動するごとにバイナリのSHA1ハッシュ値をTPMチップに記録でき,記録したPCR値をTPM Managerで確認できる。

 なお,今回の開発は,経済産業省の「新世代情報セキュリティ研究開発事業」の研究として日本IBMと産業技術総合研究所が共同で開発したものである。GRUBとLinuxカーネルのパッチは日本IBMが開発した。