第47回 ケータイにだってセキュリティはほしい頭脳放談

携帯電話でウイルスが流行る兆しあり。そのためか携帯電話などの組み込み向けプロセッサにも、セキュリティ機能が搭載され始めている。

» 2004年04月27日 05時00分 公開
「頭脳放談」のインデックス

連載目次

 やたらと送られてくるウイルス・メールや、度重なるセキュリティ・ホールのニュースなど見ていると、ネットワークの進展に伴って良い面ばかりでなく、悪い面もどんどん成長しているように思われてならない。何台かPCを使っているのだが、ウイルス対策ソフトウェアなどに年間相当な金額を払っていることに気付く。まさに安全はタダではないことが実感させられる。

 以前、「第36回 組み込み用途でもセキュリティが大注目?」で、組み込み向けのセキュリティ対策について書いたが、最近ではプロセッサにセキュリティ機能をサポートするハードウェアを搭載するのがごく普通になってきた。4月12日にインテルが発表した「PCA(Personal Internet Client Architecture)」と呼ぶXScaleファミリの新機種PXA27xのニュースリリースにも、「インテル ワイヤレス・トラステッド・プラットフォーム」というセキュリティ機能を搭載したと書かれている(インテルの「PXA27xプロセッサ・ファミリに関するニュースリリース」)。

インテルのモバイル機器向けプロセッサ「PXA27x」) インテルのモバイル機器向けプロセッサ「PXA27x」)
XScaleアーキテクチャを採用するPDAやスマートフォン向けプロセッサ。ワイヤレスMMXテクノロジを採用した最初の製品となる。

 2004年2月にTexas Instruments(TI)がOMAPの新ファミリ「OMAP 24xx」を発表しているが、その中にもセキュリティ機能が搭載されていた。インテルにすると、OMAP 24xxへの追撃という感じなのかもしれない。もっともTIのOMAPは、今回のOMAP 2以前からセキュリティ機能をサポートしていたので、やっとインテルが追い付いてきたという感じなのだろう。

 これらのモバイル向けプロセッサがセキュリティにフォーカスを当てざるを得ないのは、携帯電話など無線通信を前提としたデバイスに採用されるためだ。これらのデバイスでは、どうしても信頼性の高いセキュリティが必須となる。というのも、携帯電話の迷惑メールは大問題になっているし、PCと同様、ウイルスやワームが蔓延する可能性もあるからだ。ゲームをダウンロードして動かせるようになったということは半面、そのリスクは大きくなっていることを意味する。携帯電話といえども、もはや小型のコンピュータである。インストール・ベースが増えれば、悪事を働く人にとってはカッコウのプラットフォームとなる。

 もう1つ携帯電話にセキュリティが求められるのは、携帯電話に保存した情報を使って、eチケットや自販機の支払いなど、お財布代わりに使おうという動きがあるからだ。それら情報の盗難、改ざんも大問題となることは、十分に予想できる。今回は、モバイル向けプロセッサを中心に、それらハードウェアが使っているセキュリティに関する要素技術について概要をまとめてみたい。

暗号処理をハードウェア化する意味

 セキュリティ向け要素技術のハードウェア的な中心は、やはり暗号処理である。何をやるにも暗号化とその解読は必須になる。従来から暗号の高速化のために専用ハードウェアを搭載するという動きはあった。何せ暗号処理には、プロセッサが比較的不得意な除算などの演算が頻出する。たまに処理するならともかく、通信のすべてを暗号で行おうとすると演算量もばかにならず、通信のボトルネックになりかねなかった。また無線系のデバイスの場合、あまりプロセッサを速いクロックで動作させて処理をするとバッテリ消費が心配になる、という事情もある。当然、専用ハードウェアを用いて、遅い動作クロックでも暗号化/復号する方が消費電力もケチれる。

 しかし、そういった暗号処理演算の高速化を狙った部分は、すでに載って当然の機能になっている。ハードウェア化はさらに進んでいる。それは暗号の秘密鍵の生成をいかに安全にするかという部分である。鍵の生成に使われる乱数をデバイスの外に知られることなく生成するために、オンチップの乱数発生器を持たせるプロセッサが増えてきた。乱数発生器は、鍵の自動生成に使われるだけでなく、自動生成されたIDやパスワードとして機器間の個人認証にも使われるので、重要度が高い。

 ここでの問題は、いかに予測の困難な乱数を発生するか、という乱数の「質」の問題である。ソフトウェア生成による擬似乱数などは、種が決まれば周期性があるため、外部で乱数値を観測すると、次が予想される危険性がある。予想不可能な乱数を生成できるかどうかは重要な要素となる。

 実際には乱数の質を確認するような認証機関もあるようなので、そういったところの評価結果が公表されないと本当のところは分からない。だが公開資料では、「True HW RNG(真のハードウェア乱数発生器)」といっているTIのOMAP系の方が、「Pseudo RNG(擬似乱数発生器)」といっているインテルのPXA27xよりもよさそうだ。このあたりは、スマートカードで先行している欧州の半導体ベンダなどの方が、よい技術を持っていそうだ。日本国内メーカーでも物理的な確率事象を乱数に反映する研究を行っていて、大分小さな回路でできるようになっている。今後は、こうした乱数発生器が標準で載るようになるだろう。

メモリやストレージの保護も重要

 暗号や鍵が高度化しても、メモリやストレージの保護がしりぬけでは、暗号鍵や、個人情報などが盗まれてしまう可能性がある。そのためストレージおよび各種ハードウェアのアクセスに関する保護機能を、ハードウェアで搭載することが一般化しつつある。当然、最近発表のTIやインテルのチップにも搭載されている。組み込み系IP(Intellectual Property:半導体の設計データやシミュレーション・モデルなど)の王者であるARMは、比較的早くからその必要を認めていて「TrustZone」という名の一種のアクセス制御機構を提供済みである。

 TrustZoneは、OSなどが動く特権モードとはまた別なCPUモードであって、セキュリティを提供する。例えば、鍵を管理するようなモジュールなどが動作する特殊なモードを用意して、すべてのセキュリティ機構の操作を通常のOSやアプリケーションから切り離すというものである。アプリケーションは当然ながら、OSすらも信用できない、というところだ。組み込み向けとはいえ巨大化し、かつベンダ各社から提供されるデバイス・ドライバなどを組み合わせて用いるOS自体、セキュリティを確保するのは容易ではない、という判断だろう。重要な鍵関係のストレージや一部の認証にもかかわる時刻情報などは、セキュリティのモード下でないと操作できないし、一般のストレージや表示機能、周辺機器の一部も必要に応じて制御下に取り込める。

 もちろん、フラッシュメモリのブートセクタを書き換えられ、システムのスタートのところを乗っ取られては保護も何もなくなってしまうので、保護された特殊なブート機構を備えるのも当然になってきた。

 こうしてセキュリティ保護関連のハードウェア搭載は、非常に高度化しつつあるとともに、広がりも示しつつある。今回紹介したような、組み込み向けとはいえ比較的上位の32bitプロセッサに留まらず、各種のICカード類などでの対応が先行したために、実は下位の16bitや8bit、一部の4bitプロセッサでも多くの事例が存在する。ただ、何でも秘密にしておく方が安全は保ちやすい。汎用プロセッサではいたしかなくそのような機構の存在を明らかにし、ある程度の仕様を公開しているが、専用マイコンでは存在すら公開していないものが多い。実際、汎用とはいえ、大手カスタマ向けのTIのOMAP 2もセキュリティ関連の隠し機能がいろいろ追加になったようだが一般には公開しないようだ。

 なお、ハードウェア機能はあくまでソフトウェアは実行しにくいか、不可能な機能のみを実装したものであって、セキュリティはソフトウェア抜きでは実現できないことに注意したい。暗号用データ・パスも、DES、AES、RSA、SHA-1といったアルゴリズムをソフトウェアで実装して初めて動作する。また、その上位にはVPNなどで使うIKEとか、IPSec、SSLといったプロトコルも必要である。そんなソフトウェア群をすべて揃えるのは大変なコストがかかる。本当に安全ってお金がかかる。

筆者紹介

Massa POP Izumida

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


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

頭脳放談

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

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

メールマガジン登録

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