研究概要 |
1.復号化ハードウェアの詳細設計 公開鍵暗号としてRSAを用い,その復号回路を設計した.また,昨年度開発したプロセッサコアをベースに開発した復号器等を統合し,提案方式を実現するプロセッサをVerilogで開発した。次項で生成した暗号化されたオブジェクトプログラムを用いてVerilogシミュレータで所定の動作が実現できていることを確認した.また,0.18μmプロセスの京大版スタンダードセルライブラリを用い,目標サイクルタイム200MHzで合成したところ,CPUコア(8KB+8KBキャッシュ込み)18.52mm^2,TLB:0.28mm^2,AES復号器:0.67mm^2,RSA復号器:1.75mm^2,鍵テーブル:0.10m^2となり,全体11.32mm^2の約29%が暗号化で追加された部分である. 2.暗号化ソフトウェアのコンパイラ・リンカへの統合 ELF形式のオブジェクトファイルにおいて,初期化を行う.init,プログラム本体の.text,終了時に実行する.finiの各セクションを暗号化するプログラムを作成した.しかし,gccコンパイラによるARM用オブジェクトは,textセクションにアドレス定数などのデータを持ったコードを生成しており,暗号化により正しい動作が出来ないという問題が分かった.これは9CCに手を入れてこのようなコードを生成しないようにすることで回避可能である. 3.提案方式による保護の問題点についての検討 提案システムにおいて,・バスなどのデータは観測できる,・ブートデバイスを代えることで,OSレベルの特権機能を使用できる,・外部割り込みなどを使って1命令ずつ実行した後解読プログラムに制御を戻せる,と言った条件化で,実行結果を観測するだけで命令を特定できるか検討を行ったところ,現実的な時間内で推定できることが分かった.今後,どの前提条件を崩すことで,推測不能にできるのか研究を進めたい.
|