第32回 プロセッサにセキュリティ機能って何なの?頭脳放談

2003年は、プロセッサにセキュリティ機能を装備するのが流行となりそう。このプロセッサのセキュリティ機能とはどういったものなのだろうか?

» 2003年01月28日 05時00分 公開
「頭脳放談」のインデックス

連載目次

 正月休みに成人式の連休と、正月ボケが抜けきらないうちの1月14日、TransmetaがDESやAESなどの暗号化アルゴリズムに対応するアクセラレーション機能を搭載したプロセッサ「Crusoe TM5800」を開発中である、という趣旨の発表を行った(Transmetaの「セキュリティ機能を内蔵したプロセッサの開発について」)。該当機能を搭載したTM5800のサンプルも工場から届いたという。セキュリティ技術が2003年のはやりなのか、1月22日にはVIA Technologiesも同社のx86互換プロッサ「VIA C3」にセキュリティ機能*1を内蔵したと発表した(VIA Technologiesの「セキュリティ機能内蔵のVIA C3について」)。x86プロセッサ業界に関心のある人なら、これは2002年にIntelが発表した開発コード名「LaGrande(ラグランデ)技術(後述)」と呼ばれるセキュリティ機能に対するTransmetaの対抗策だとすぐに気付くだろう。

*1 VIA C3が実装するセキュリティ機能は、プロセッサの電気ノイズを利用した乱数発生装置で、「PadLock(パッドロック)」と呼ばれる。暗号化アルゴリズムのアクセラレーション機能などは実装されていない。


 TransmetaのCrusoeの場合、x86命令を独自のコードモーフィング・ソフトウェアによって命令を変換し、それをVLIW方式のプロセッサで実行するというアーキテクチャを採用している。つまり、Crusoeにとってx86命令は「ネイティブ」なオブジェクト・コードでないわけだ。今回発表したセキュリティ機能内蔵のCrusoe TM5800では、こうしたアーキテクチャの特性を利用することで、暗号化のハードウェアや使用するメモリなどを、VLIWコアからしか見えない形に実装している。こうすれば、簡単にx86命令のアプリケーションから隠ぺいできる。x86命令コードで暗号化すると、きっとだれかが暗号破りを企てるから、その対策となる。コードモーフィング・レイヤを隠れ蓑に、その下側にある一般のプログラマーがいじれない部分にセキュリティ機能を実装する、というのはよいアイデアだ。もちろん、これはIntelのLaGrande技術がやはり単なる暗号化のアクセラレータでなく、「新たなプロセッサ・モード」であって、一般のソフトウェアからは、隔絶したところで動作するということに対応している。こうなってくると、x86アーキテクチャの複雑度は、「Complex(複雑な)」をとおり越して、「Mysterious(神秘的な)」な領域に近付くことになる。

インターネットがセキュリティ機能を推進する?

 そのLaGrande技術の方は、早々とコンセプトだけは発表されたものの、例によって詳細な技術内容はまだ一般に公開されていない。Intel Developer Forum(IDF)などで公開された情報によれば、単に暗号化のアクセラレーション機能を実装するのではなく、実行中のプログラム自体を暗号化したり、プロセッサとメモリ間に流れるデータを暗号化したりするような技術も含まれるようだ。Intelのことだから、当然のことながら、すでに技術はある程度出来上がっているのだろう。それどころか、この技術を搭載した内部評価用のシステムくらい、すでにあるのではないかと推測する。ただ、一般への公開は対応するプロセッサ・システムのリリースまでコントロールし、現在は、秘密保持契約を結んだ会社だけがアクセスできるという状況なのだろう。当然ながら、対応するOSやミドルウェアのリリースも、ほとんど同時に発表となるはずだ。もちろん、セキュリティという分野なので、最後まで仕組みを明かすことができない部分も残るだろう。

LaGrande技術の概要 LaGrande技術の概要
IDF Fall 2002 Japanのプレゼンテーション資料より。実行中のプログラム、メモリ、ストレージがLaGrandeが実現するセキュリティ機能によって保護されるという。2003年2月に開催予定のIDF Spring 2003でより具体的な内容が公開されると思われる。

 このように暗号化ハードウェアが必要とされるのは、「ネットワークがとっても危ない」ということがみんなに認識されたからだろう。ADSLなどが普及したお陰(?)か、個人のPCといえどもファイアウォール・ソフトウェアやゲートウェイなしにインターネットに接続するのはためらわれる昨今だ。特に無線LANなどのワイヤレス通信は危険だ。IEEE 802.11bなど、何も考えずに使うぶんにはとっても便利なのだが、WEPによるセキュリティは簡単に破れるという話を聞く。どこで悪いやつに覗かれるか分かったものではない。もちろん、種々のセキュリティ強化策が進んでいるのでワイヤレスも安全な方向に向かうであろうが、いろんなレベルでセキュリティ強化は欠かせない時代になってきている。ネットワークの中核であるTCP/IPでも、IPSecなどセキュリティの枠組みが立ち上がろうとしている。

 それに著作権保護にも暗号化は必須だ。映像にせよ、音楽にせよ、ネットワークに流れるコンテンツ自体にも暗号はかかる。新しく規格化された媒体には、SDカードにせよ、メモリースティックにせよ、みんな暗号機能をサポートするようになっている。それらセキュリティ確保の前提が、高速に暗号化と復号(解読)ができるハードウェアである。

なぜセキュリティ機能はハードウェア実装なのか

 しかし、プロセッシング・パワーがありソフトウェアである程度何でもできてしまうx86プロセッサの場合は、ある意味セキュリティのハードウェア化は遅れていたともいえる。それに対して、非力なプロセッサでセキュアな通信をしなければならない組み込み用途や、プロセッシング・パワーも大きいが扱うトラフィックも格段に大きいハイエンドIPルータなどのネットワーク機器などの方が、ハードウェア化の要求は大きい。小さいところではICカードやRF-ID*2の類はほとんどハードウェアでセキュリティを確保している。ソフトウェアでは解読されると困るということもあるが、搭載する非力なコントローラでは、なかなか計算スピードが要求処理時間に追いつかないという理由が大きい。そのためか、大抵のIPベンダ(こちらのIPはInternet Protocolでなく、Intellectual Propertyすなわち知的財産の方である)がDESのアクセラレータなど売っている。売っているといっても部品ではなく、ハードウェアを記述するためのソース・コードが提供されるだけである。

 このように特に暗号化技術を持っていないような半導体設計プロジェクトでも、このごろは比較的簡単に暗号化ハードウェアだけなら組み込めるようになってきた。それでも規格によっては、暗号化のアルゴリズムやパラメータを非公開にしているものも多い。アルゴリズムは簡単でもインサイダーにならないとそれに触れられないので、一般には詳細不明なものが多い。「暗号を破られると困るから、まずは秘密にしておく」というのは、実に分かりやすいセキュリティ確保の方法だ。

*2 電波を使ってデータの読み書きが行える小型のアンテナ付きICチップ。倉庫などにおいて、在庫やパレットなどにRF-IDを付けることで、在庫管理や入出庫処理の簡易化が行える。また、コンサートのチケットなどへの応用も考えられている。


LaGrandeはどこに行くのか?

 x86プロセッサの場合、ウイルスなども含め、どのようなプログラムが実行されるか分からない「汎用環境」である。その中でセキュリティを確保するためには、「新たなプロセッサ・モード」などの枠組みがまず必要になり、そこで暗号化ハードウェアを考えなければならない。この点が、組み込み用途とは異なる、PC向けプロセッサ特有の問題に思える。一般の組み込み用途では、あらかじめ組み込まれたファームウェアしか実行されないものが多いので、生の暗号化ハードウェアをポロっと付けても問題はないだろう。

 少し高性能なプロセッサ分野で暗号化ハードウェアを実装している例がないかと思って探してみたところ、当のIntelからセキュリティ機能を搭載した製品がすでに出荷されていた。IXP2850という10Gbits/s級のネットワーク・プロセッサ(NPU)である。3DESやAES対応の暗号化に加え、SHA-1(Secure Hash Algorithm)までハードウェア化し、IPSecのサポートを打ち出している。Intelのことだから、ここで使われている技術をそのままx86プロセッサに搭載するようなことはないだろう。でも最低このくらいの機能は簡単に集積できるということなので、どこまでやるのか少々見当が付かなくなってしまった。断片的な情報からは、LaGrande技術はある意味既存の枠組みを組み替えてしまうほどの新機軸らしいから、成り行きを期待して見ていよう。Transmetaも頑張っていただきたい。でも、どこか忘れている。そう、AMDだ。AMDももちろん何か開発しているはず。最近、少々おとなしいAMDは、どのような隠し球を持っているのだろう。だれか教えてください。

筆者紹介

Massa POP Izumida

日本では数少ないx86プロセッサのアーキテクト。某米国半導体メーカーで8bitと16bitの、日本のベンチャー企業でx86互換プロセッサの設計に従事する。その後、出版社の半導体事業部を経て、現在は某半導体メーカーでRISCプロセッサを中心とした開発を行っている。


「頭脳放談」のインデックス

頭脳放談

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。