1.暗号化方式の調査 公開鍵暗号には広く使われているRSAを用いるとし、共通鍵暗号について調査した。Triple-DES、AESを対象として論理設計し、0.18μmプロセスの京大版スタンダードセルライブラリを用い、目標サイクルタイム200MHzで合成した。ブロックサイズ64ビットのTriple-DESは0.907平方ミリ・16サイクル、ブロックサイズ128ビットのAESは0.942平方ミリ・10サイクルであり、AESの方が有利であることが分かった。 2.ソフトウェアシミュレータによる性能への影響予備調査 命令セットとしてARMを採用し、ソフトウェア性能評価シミュレータで命令キャッシュミスペナルティを増加させることで、暗号化の性能に与える影響を調査した。キャッシュ容量1KB、主記憶からの読み出しサイクルを22サイクル、ワークロードとして、Stanford、MiBenchの一部を用いた。非常にヒット率の悪いもの(95%)では20%のオーバヘッドとなるが、8KBまでキャッシュサイズを増加させると、ほとんどオーバヘッドは無視できる値となった。 3.組み込みプロセッサの基本設計 ARM命令セットを対象とし、シンプルなパイプライン処理を行うプロセッサをVerilogで開発した。上記と同じ条件で合成したところ、コア部分で1.12平方ミリ、それぞれ4KBの命令・データキャッシュが、2.16、1.87平方ミリとなることが分かった。 4.暗号鍵の選択方式 既提案のセキュアプロセッサでは、コンテキストスイッチ時にOSが鍵の入れ替えを行っている。しかし、これではOSや共通ライブラリなどの暗号化は行えず、暗号化プログラムと平文プログラムが混在することになるので、新たな方式として、仮想記憶の仕組みにうまく融合させることで、ハードウェアは、アクセスするアドレスで鍵を選択する方式を提案した。
|