Intelは、9月10日(現地時間)から開催された開発者向けカンファレンス「IDF(Intel Developer Conference) Fall 2002」で、ハードウェアベースのセキュリティ技術「LaGrande(ラグランド)」に取り組んでいることを明らかにした。これについては、前のコラム“PCアーキテクチャの大変革を目指す「LaGrande」をIntelが発表”で説明した通りだ。
LaGrandeについては、まだほとんど明らかになっていないが、現在LaGrandeについて謳われている内容は、Microsoftの同様の構想「Palladium(パレイディアム)」のそれと、ほぼ重なっている。また、IntelはMicrosoftとも協力すると言っている。そのため、Palladiumの技術から、LaGrandeもある程度想像ができる。
MicrosoftのPalladiumは、PCのハードウェアとソフトウェアの両アーキテクチャの大変革を要求する。これはLaGrandeと同様だ。Palladiumがハードウェアの変革まで要求するのは、“ほぼ完全にセキュアな”PCを作ろうとしているからだ。セキュリティを堅固にするために、Palladiumでは、ソフトウェアだけでなくハードウェアを使ってセキュリティを守ろうとしている。
従来のPCセキュリティの根本的な問題は、セキュリティの基本となる暗号化や署名生成などの処理がソフトウェアで行なわれている点にあった。現在広く使われている公開鍵暗号方式は、秘密鍵と公開鍵という一対の鍵を使って暗号化/復号化を行なう。それぞれの鍵で暗号化したデータは、対応する鍵でないと復号化できない。だから、秘密鍵が漏れない限り、セキュリティを保つことができる。
ところが、通常のPCアーキテクチャでは、秘密鍵はソフトウェアであり、暗号化/復号化はソフトウェアで行なわれる。だから、ハックされる可能性がある。つまり、大切なものにはしっかり鍵をかけてあるのだが、その鍵自体は家の中にあり、人によっては家の鍵は簡単に開けられてしまうレベル、という状態にあったわけだ。
そこで、Palladiumでは秘密鍵を「Security Support Component (SSC)」と呼ぶハードウェア内に格納する。SSCは、当初はセキュリティチップとしてマザーボード上に搭載されると見られる。SSCセキュリティチップは、RSA秘密鍵とAESシンメトリックキーを固定ハードウェアとして内蔵する。また、RSAの暗号化/復号化とデジタル署名の生成とベリフィケーション、AES暗号化/復号化、SHA-1ハッシュ計算をハードウェアで行なう。
このアーキテクチャだと、ソフトウェア処理ではないため、暗号化/復号化の際にも、秘密鍵は決して露出しない。つまり、SSCチップの暗号化/復号化アルゴリズムは、チップ内の秘密鍵を使ってチップ内のメモリ空間だけで処理を行なうことになる。この方法なら、秘密鍵は本当に秘密に保たれることになる。大切なものに鍵をかけ、その鍵自体は絶対に誰にも見つからない場所にある、という状態なわけだ。これでまず、セキュリティの基本の暗号化は、万全に近い状態になる。
IntelのLaGrandeのプレゼンテーションでも、サウスブリッジにセキュリティマークのチップがひとつ接続されていた。そのため、初期のインプリメントでは、LaGrandeでもSSCチップに相当するセキュリティチップがマザーボード上に搭載されると思われる。しかし、SSCチップの機能は、もしPalladium(ないしLaGrande)が成功して浸透するのなら、将来、CPU(あるいはチップセット?)に統合されると思われる。PCの世界では、誰も新たにチップが増えることを喜ばないからだ。
●CPUやチップセットにもアーキテクチャ変更が必要に
もっとも、SSC自体は新しい考え方ではない。SSCの機能の基本は、現在のセキュアPCの規格「Trusted Computing Platform Alliance (TCPA)」のセキュリティチップとほぼ共通している。
しかし、SSC以外にもPalladiumは、PCアーキテクチャに多くの変革を要求する。それは、Palladiumがプログラムの実行でもセキュリティを実現しようとしているからだ。具体的には、Palladiumでは「Curtained Memory」と呼ぶ機能を提供する。これは、Palladium対応のソフトウェアを走らせるための専用のメモリ空間だ。
Palladium PCでは、CPUはセキュアであると認証されたPalladium対応のソフトウェアを、分離された専用のメモリ空間で走らせることができる。Microsoftは、このメモリ空間は“物理的に分離され”ており、通常のメモリ空間のソフトウェアやI/Oからアクセスできないようになっていると説明している。つまり、ソフトウェアがPalladiumに対応すれば、そのソフトウェアはウイルスやハッキングなどから守られることになる。これまで家の中で出しっぱなしにしてあったもろもろのモノを、金庫に納めるというわけだ。
IntelのLaGrandeでいう「protected memory」も、同じ考え方だと推測される。メモリ空間を分離する具体的なインプリメントについては明らかになっていない。しかし、物理的というからには、通常のオペレーションではアドレッシング自体をできないようにしてしまうといった方法が考えられる。例えば、これまでのアドレス空間はそのままで、Palladiumソフトだけが利用できるアドレッシングモードを設けるとか。その拡張アドレッシングは、Palladium対応プログラムが走るセキュアモードしか使えないわけだ。
いずれにせよ、CPUはセキュアモードのための命令セットとレジスタの拡張を含むようになると思われる。ちなみに、Microsoftは、IntelだけでなくAMDとも、Palladiumについてすでに話し合っていることを明らかにしている。
また、セキュアメモリのためにはチップセットのノースブリッジチップのメモリコントローラ(Hammerの場合はCPU側)もPalladiumに対応させる必要がある。Palladiumでは、このほか、キーボードやマウスからの入力やグラフィックスチップ(GPU)への出力も、ハックされない仕組みを作ろうとしている。そのため、GPUなどにもPalladiumに対応したセキュリティ機能拡張が必要となる。
●Windows内では従来環境と並存するPalladium
また、Palladiumでは、ディスク上に暗号化したセキュアなストレージスペース「Sealed Storage」も設ける。これは、IntelのLaGrandeの「protected storage」と同じことだと思われる。Palladiumでは、Palladium対応ソフトやデータをそのスペースに格納することで、ソフトやデータのディスク上での改ざんなどもできないようにする。
この機能は、特にハードウェアで行なうわけではないと思われる。しかし、SSCセキュリティチップで暗号化され、Palladiumのメモリ空間で走るソフトからしかアクセスできないようになる。そのため、ディスクだけ外して盗んだとしても、Sealed Storageの内容は読むことができない。暗号鍵はハードウェアで固定されているからだ。また、同じマシンを異なるPalladium対応OS(例えば、Palladium対応版Linuxとか)で立ち上げた場合にも、別なOS環境でストアされたデータにはアクセスができないという。
MicrosoftはこのPalladiumハードウェアに対応したOSコンポーネントを提供する。ベースになるのは「Trusted Operating Root (TOR)」または「Nexus」と呼ばれる、OSカーネルのサブセットだ。Nexus(TOR)はPalladiumのセキュアなメモリ空間で、カーネルモードで走る。
そして、Nexusが、ユーザーモードで走るPalladium対応アプリケーションを管理する。このアプリケーションは、「Trusted Agent」あるいは単に「Palladium Application」と呼ばれる。Nexusは、Palladium Applicationに対してベーシックなサービスとAPIを提供する。
つまり、通常のWindowsのカーネルとアプリケーションの横に、Palladium対応のカーネル(Nexus)とPalladium対応のアプリケーションが、Palladiumの実行スペースの中に構築される格好になる。だから、従来のWindows環境とアプリケーションは、Palladium PCの上でもそのままこれまでと変わらず実行できる。
●前途多難なPalladiumの今後
こうして見ると、Palladiumのポイントは、セキュアPCアーキテクチャを、従来のPCの中にサブセットとして構築してしまう点にあることがわかる。つまり、PCの通常のオペレーションをベースからセキュアにしてしまうのではなく、従来のPCはそのままで、張り出し部分としてセキュアPCをつけ加える。家を改築してセキュリティの高い家にするのではなく、家はそのままで、その中に堅牢な鍵付きの金庫部屋を増築してしまうという発想だ。おそらく、IntelのLaGrandeの目指すところも同じだろう。
その意図は明白だ。PCの今のオープン性を保ちつつ、必要なところではセキュリティを提供できるようにすることだ。Microsoftは今のPCワールド自体は壊したくない。PCの強みは、そのオープン性にあり、オープン性を失ったら、PCは失速してしまうことを知っているからだ。
しかし、PCが行き詰まっている原因のひとつがセキュリティにあるのも確かだ。例えば、ネットワークでのコンテンツ配信などが進まないのは、コンテンツプロテクションのベースとなるセキュリティがPC上では確保しにくいからだ。そこで、折衷案として、MicrosoftはオープンなPCの中に、セキュアなPalladium PCという金庫を作ってしまおうとしているわけだ。これは、新機能を張り出しアーキテクチャとして加える、Microsoft伝統の手法だ。
だが、こうした比較的慎重なアプローチであっても、Palladiumが議論を呼ぶことは間違いない。というか、すでに激論を巻き起こしている。このあたりは本日掲載の「Microsoftの「Palladium」でPCは“自由から管理”へ!?」でレポートされている通りだ。
Palladiumに関して言えば、議論を呼んでいるのは、PCワールドがPalladium化して行くと、最終的には窮屈に管理された世界になってしまう懸念があるからだ。セキュリティと管理は両刃の剣で、完全に近いセキュリティを実現できる技術は、無制限に近い管理を実現できる技術ということになる。Palladiumを使って管理しないとMicrosoftが約束しても、(Microsoftやそれ以外の誰でもが)管理できる潜在力を持つことは確かなので、警戒されてしまう。
IntelのLaGrandeは、こうした議論のまっただ中に突っ込んでゆくことになる。
□Trusted Computing Platform Allianceのホームページ(英文)
http://www.trustedcomputing.org/
□関連記事
【9月11日】【ハイテク】Microsoftの「Palladium」でPCは“自由から管理”へ!?
http://pc.watch.impress.co.jp/docs/2002/0911/high30.htm
【9月10日】【海外】PCアーキテクチャの大変革を目指す「LaGrande」をIntelが発表
http://pc.watch.impress.co.jp/docs/2002/0910/kaigai02.htm
【7月29日】マイクロソフト、セキュリティの取り組みについて説明会を開催
http://pc.watch.impress.co.jp/docs/2002/0729/ms2.htm
(2002年9月11日)
[Reported by 後藤 弘茂]