90年代半ばから,その時々のPCが備えるべきハードウェア仕様は,米Intel社と米Microsoft社の手によって描かれるようになった。両社がスペックを定め,そのスペックに基づいてPC関連メーカーが開発を進めるという流れができ上がっているのだ。スペックとして定められる項目には,CPUの動作周波数,メモリー/ハードディスクの容量,グラフィックス/サウンド機能,光ディスク,インタフェースなどがある。

 Microsoftから見れば,このハードウェア仕様は新しいWindowsの基盤となる。Intelおよびそのパートナーにプラットフォームを整えてもらい,そこにプラットフォームの能力を最大限に活用する新しいOSを投入するというシナリオだ。

図1●2006年頃までにパソコンに実装される技術(本誌推定)
CPUのマルチコア化や仮想化は構想段階にあり,実装時期は明らかにしていない。
図2●Next-Generation Secure Computing Base(NGSCB)の概念図
図3●LaGrandeの動作環境
OSよりもさらに権限の強い実行モードで動作することで,OSがアクセスできない領域を作る。ここで動作するプログラム「ドメイン・マネージャ」が一般のOSとセキュアなOSを切り替える。
図4●これまでの攻撃手法とSafer Computingでの解決策

 このシナリオは今も健在である。Microsoftの次世代OSは2006年に登場予定の「Longhorn」である。IntelはLonghorn登場に備え,着々とハードウェアの整備を進めている。図1[拡大表示]は現在からLonghornの登場する2006年頃までにIntelのプラットフォームに搭載されると思われる機能である。これらのほとんどはMicrosoftが「Longhornでサポートする」と明言している機能でもある*1

 ざっと眺めると,直接ユーザーの使い勝手を向上させる分かりやすい新機能はない。しかし,内部的に見るとかなりの部分が大きく変わる。まず,PCIやIDE,BIOSといったパソコンの根幹をなしてきた技術はすべて新しい技術に置き換えられる。CPUも変わる。セキュリティ強化のための新しい動作モードが追加されるほか(詳細は後述),64ビット・アドレッシングの機能が搭載される。以下,これらの機能を見ていこう。

LaGrande
OSよりも下層で動く動作モードを追加

 MicrosoftがLonghornで新たに追加する機能の中で,最もハードウェアと密接に関連しているのがNGSCB(Next-Generation Secure Computing Base)と呼ぶセキュリティ機構である*2

 NGSCBを簡単に表現すれば「不正なプログラムが重要なデータを盗み出せない仕組み」となる。メモリー上に従来型のOSが動作する領域(一般モード:図2[拡大表示]の左側)と,新しいセキュアなOSが動作する領域(保護モード:図2の右側)を作り,従来型のOSの領域からは,直接セキュアなOSの部分にアクセスできないようにする。加えて,セキュアなOSの部分では許可されたプログラム以外は動かないようにする。

 このような仕組みは,OSの対応だけでは実現できない。ソフトウェアだけで守るセキュリティは,プログラムに穴があれば簡単に破られてしまうからだ。ハードウェア・レベルで二つのモードを分離する機構が必要になる。

 そこでIntelが用意するのがLaGrande(コードネーム)という仕組みである。「2006年までに用意する」(IntelのPatrick Gelsinger最高技術顧問)。

 IntelはまだLaGrandeの詳細を明らかにしていない。ただし,(1)一般のOSが動作するよりも権限の強い動作モードで動く「ドメイン・マネージャ」を使って一般のOSとセキュアOSを切り替える,(2)ハードウェア的に保護領域へのメモリー・アクセスを禁止する――という二つの技術で実現する公算が大きい(図3[拡大表示])。

 IntelのCPUではプログラムの動作モードとして,リングという考え方が採用されている。現行のCPUではリング0~3が定義されており,数字が大きくなるほど権限は弱い。あるリングで動作するプログラムは同じリングまたは数字の大きなリングが使用しているメモリー領域にはアクセスできるが,自分より小さな数字のリングで動作しているプログラムが使用するメモリー領域にはアクセスできない。WindowsではOSカーネルがリング0,アプリケーションがリング3で動作する。

 Intelは,OSより権限の強い動作モードとなるリング(例えばリング-1)を新設し,ドメイン・マネージャをそこで動くにように設計するものと見られる。リング0よりも下のリングで動作させることで,OSから制御できないメモリー領域を作れる。一般のOSがセキュアOSとの間でデータを受け渡す場合にはドメイン・マネージャを介す。こうすることで,セキュアOSの領域へのアクセスをハードウェア・レベルで保護できる。

周辺機器とはセキュアな経路を用意

 ただし,上記の仕組みだけでは,一部の脅威しか取り除けない。例えば,キー入力情報を盗み見るキーロガーを使った攻撃。打ち込んだパスワードやクレジット・カード番号が不正プログラムに盗まれるかもしれない。

 画面の情報を盗むケースも考えられる。重要な内容が書かれた文書が表示されている際に,画像情報が入ったビデオメモリー(VRAM)からデータがコピーされれば,ファイルが盗まれたのと同様の被害が出る。

 このほか,DMA(Direct Memory Access)機構を使って許可されていないメモリー領域を盗み出すことも考えられる。DMAとはメモリーの内容をCPUを介さずに直接周辺機器とやり取りする機構である。

 Intelはこれらの攻撃から守るためにチップセットに保護機構を入れる。同社はこの環境を「Safer Computing」と呼んでいる。具体的には,(1)セキュアなモードで動作している際はキーボードからの入力が一般モードのプログラムに渡らないようにする,(2)一般モードのプログラムからは保護されたVRAM領域にアクセスできなくする,(3)DMA機構を使って保護された領域のメモリーを取り出せないようにする――などである(図4[拡大表示])。

 これらを実現するにはグラフィックス・チップメーカーやキーボード・コントローラ・チップメーカーとの連携が欠かせない。Intelは仕様を策定し,パートナー企業に開発を促している。

 また,ハードディスクに格納されている内容が狙われる危険性もある。せっかくメモリーを守っても,そこで作られたデータがそのままハードディスク上に残れば意味がない。

 そこで,ハードディスクに対する攻撃に対処するために,セキュアな領域で動くプログラムがハードディスクに保存する際,データを暗号化して保存する。この実現に向け,暗号処理機構を備え,鍵データを格納できるチップ「TPM(Trusted Platform Module)」をマザーボード上に置くことを決めている*3*4

(中道 理)