Comments
Description
Transcript
Virtex-4セキュリティ ソリューションで デザインをロック
E N G I N E E R I N G SO L UT IO N S Virtex-4セキュリティ ソリューションで デザインをロック Virtex-4 FPGAがIPコアやマイクロチップ デザインの盗難防止用に 最新のAES暗号化方式を提供 Chen Wei Tseng Configuration Product PAE Xilinx, Inc. [email protected] FPGAは電 源投入のたびにコンフィギュ レーションを行う必要があり、FPGAの普及 と共にデザイン セキュリティへの関心が高 まってきています。適切な防止策を講じない と、FPGAのコンフィギュレーション中にビット ストリームが簡単にクローニングされたり、 リバース エンジニアリングされたりする恐れ があります。 す べ て の ザ イリンクスVirtex-4TM デ バ イ スには、コンフィギュレーション ビットスト リームを保護するための、イネーブル可能な オンチップのデクリプタ(復号器)が搭載され ています。また、ビットストリームを保護す るために、Advanced Encryption Standard (AES:先進暗号化標準)方式が実装されてい ます。 最新のセキュリティ デザイン ザイリンクスは、Virtex-IITM アーキテクチャ に実装されていたトリプルDES暗号化方式を AESと置き換えました。どちらの暗号化方式 も高度なセキュリティを提供しますが、AES は3つの56ビット キーを1つの256ビット キーで置き換え、コンフィギュレーション クロッキング周波数を100 MHzまで可能に したことにより、トリプルDESに比べて、よ り高度なセキュリティを実現できると同時に スループットも向上させています。 60 ENGINEERING SOLUTIONS ザイリンクスのSecure Chipソリューションの主な利点について 次に紹介します。 (フローの詳細については、Virtex-4 1532 BSDLファイルをご覧 1. AESは、米国標準技術局(NIST)および米国商務省の政府公式 規格、FIPS-197です。NSA(米国国家安全保障局) も、トップ シークレットレベルの機密扱いの通信を保護するAESの能力を 認定しています。 2. AESのキーは、JTAGインターフェイスを介してのみプログラム 可能です。これにより、BSCAN_Virtex4プリミティブを使用 して、JTAGライン内外の望ましくない動作を監視することが できます。 3. バ ッ テ リ バ ッ ク アップ 式 の 揮 発 性キーが、敵意を キーのリードバックを防ぐために、以前の暗号キーは消去されます。 ください。 )暗号キーが合致した場合は、新しいキーと新たに暗号化 されたビットストリームによりデザインを更新することができます。 Virtex-4 FPGAはまた、金属層の下にキーを保持するメモリを組 み込んでいます。キーは揮発性メモリに保存されるため、ハードウェア への攻撃中にキー メモリの電源に問題が生じると、キーは失われる ことになります。 ユーザーはキーの有無に関わらず、デバイスをコンフィギュレー 図 1 システムレベルのアプリケーション向け暗号化ビットストリームのリファレンス回路 AES暗号化ビットストリーム コンフィギュレーション デバイス もったハッキング に対して最大の防 DIN 御を行います。 DOUT 4. この低コスト ソ リュー ションに VBATT は、Rayovac TM リチウム電池など のように広く使用 されている標準コ 次のデバイスの DINへ 3.6V + ‒ ンポーネントが含 バッテリ:Tadiran社製 TLH-4986 耐用年数20年以上のソリューション (システム内部周囲温度50℃時) まれています。 5. 暗号化キー スト レージは20年 以 上にわたる長期 寿命が保証されています (図1) 。 ションするために、常に非暗号化ビットストリームを使用することが できます。たとえば、非暗号化ビットストリームをロードする場合、 そのビットストリームの生成時には注意を払う必要があります。ま Advanced Encryption Standard (AES) た、非暗号化ビットストリームのリードバックが必要な場合、適切 トリプルDESアルゴリズムが攻撃に対して有効であることは変わ なセキュリティ レベルを設定する必要があります。ただし、暗号化 りませんが、AESは現在最も安全性の高い暗号化方式として、多く ビットストリームのリコンフィギュレーションには、PROGピンの のアプリケーションでDESに取って代わりつつあります。FIPS-197 切り替え、電源の入れ直し、あるいは2つのJTAG命令、JPROGと で規定されているように、AESは電子データの保護に利用可能な JSTARTのいずれかの発行が必要です。 NSA認定の暗号アルゴリズムを備えています。 AESはDESのキーの欠点を補うために、暗号プロセスから対称性 を排除する暗号ブロックを採用しています。AESキー展開の非線形 性により、等価キーの再現は実質的に不可能になります。 AESは、そのキーの強度から銀行業務、防衛、政府向けアプリケー ションをはじめとする、ATM、HDTV、ブロードバンドISDN、音声、 衛星放送などの高度なテクニカルアプリケーションに適した暗号化 方式といえます。 内部的には、デバイスのリコンフィギュレーションのために内部 コンフィギュレーション アクセス ポート(ICAP)を使用できます。 ICAPは、ユーザーがデザイン セキュリティを補強する目的でデバイ スを部分的にリコンフィギュレーションできるように、コンフィギュ レーション ロジックへ内部的にアクセスするSelectMAPと同じコン フィギュレーション インターフェイスを提供します。 Virtex-4デバイスは、ICAPに加え、内部のBSCAN_Virtex4プリ ミティブを使って外部のJTAGピン上の動作をモニタすることができ ます。BSCAN_Virtex4プリミティブは、TDI上の動作をミラーし、 データの暗号化をサポート Test-Logic-ResetやUpdate-DRなどJTAGタップ コントローラの Virtex-4のAESシステムは、ソフトウェアベースのビットストリー 状態をいくつか出力します。サイド チャネルへの攻撃中にJTAGに ム暗号化システムと、オンチップAES(Rijndael)復号化システムに 不正なアクセスがあると、これを検出することができます。その上 より構成されています。この復号化システムは、入力ビットストリー で、VBATTを含むFPGAへの電源供給をカットしたり、再度キー アク ムを復合化するために暗号ブロック連鎖方式(CBC)を採用していま セス モードに入って以前の暗号キーを消去したり、新しい暗号キー す。AESキーは、補助電源(VCCAUX)または外部バッテリから電源供 を書いたりするなどの対策を講じることができます。 給される専用メモリに保存されます。 Virtex-4デバイスは、キー検索などの強引なソフトウェア攻撃に さらに、故障部品をザイリンクスに戻してテストを依頼する際、返 却部品の解析用に暗号キーを知らせる必要はありません。 対抗するために、起こり得る1.1×1077通りのキーの組み合わせを可 能にする256ビットAESキー システムを備えています。キーをプロ ソフトウェア面のインテグレーション グラムするには、JTAGを介してデバイスをIEEE1532フロー内の ザイリンクスのISETM 7.1iは、暗号化ビットストリームとキー生 “キーアクセス モード” にする必要があります。このモードに入ると、 成に関してソフトウェア面でのフル サポートを提供します。暗号化 61 ENGINEERING SOLUTIONS 揮発性ストレージ向けにバッテリを組み込んだ安全性の高いシステムを設計するという手法は、 最高のセキュリティ形態として他業界でも実績があります。 ビットストリームの生成時に必要なのは2つのBitGenオプションの 長です。Rayovac社のリチウム電池は、年に0.3%に満たない自己 みです。たとえば、 “bitgen -g encrypt:yes -g key0:AA995566 放電率です。気温の高い状態でも、自己放電の悪化の度合いはごく top.ncd top.bit”と指定すると、暗号化ビットストリーム(top.bit) 小さなものです。例として、これを0.6%とし、BR1225の容量が とキーを“AA995566”とする暗号キー(top.nky)が自動生成され 50 mAhの場合を見てみましょう。 Virtex-4のIBATTの電流値を50 nAと仮定します。VBATT信号は、 ます。その後ユーザーは、暗号化ビットストリームをロードする前に、 JTAG インターフェイスを介してtop.nkyファイルをデバイスにロード リーク電流を除去するためPC基板に内部配線され、1時間あたりの する必要があります。 自己放電は34 nAとなります。 GUIに関しては、ザイリンクスのProject NavigatorがGenerate 34 nA + 50 nA = 84 nA Programming Fileコマンドの暗号化オプションを提供します。プリ 50 mAh / 0.000084 mA = 595,238時間 =∼67年 ファレンスを設定すると、リードバック、パーシャル リコンフィギュ このように、20年の製品寿命が1個のバッテリで容易に実現され レーション、暗号化が可能です。 ザイリンクスのプログラミング ツールiMPACTを使用すると、 ます。 キーのみのプログラム、またはキーと共に暗号化ビットストリーム バッテリの予測寿命の算出法とデザイン上の考慮事項については、 をプログラムすることができます。独立したプログラミング アプ http://www.xilinx.co.jp/bvdocs/appnotes/xapp766.pdfより、 リケーションの場合、暗号キーをダウンロードする詳細な手順が、 ザイリンクスのアプリケーションノートXAPP766、 “Using High Virtex-4 IEEE1532 BSDLファイルに記載されています。それら Security Features in Virtex-II Series FPGAs” を参照してください。 のファイルは、ISEをインストールする際にXilinx/Virtex4/data ディレクトリ内にインストールされます。また、www.xilinx.co.jp/ 結 論 このようにVirtex-4デバイスは、ユーザー デザインに対して最新 support/sw_bsdl.htmからもダウンロードが可能です。 のセキュリティ オプションを提供します。統合されたソフトウェア バッテリ保証システム フローが簡単なこと、必要なボード スペースが最小限で済むこと、 揮発性ストレージ向けにバッテリを組み込んで安全性の高いシ AESにより最高のセキュリティが保証されることから、Virtex-4 ステムを設計するという手法は、最高のセキュリティ形態として他 Secure Chip AESセキュリティ ソリューションは、デザインをハッ 業界でもすでに実績があり、米国政府では安全確保モジュールと カーから守る最適なソリューションです。 Advanced Encryption Standard(AES:先進暗号化標準)の詳 して必要なデザインだと指定しています(http://csrc.nist.gov/ publications/fips/fips140-2/fips1402.pdf) 。 バッテリの使用に関してはいくつかの誤解があり、たとえばバッテ リには追加のメンテナンスが必要と考えられている場合があります。 そのような懸念は根拠のないもので、ほとんどのアプリケーションで、 メンテナンスや寿命について全く問題がありません。通常バッテリの 寿命は、バッテリ搭載製品の有効期間をはるかに上回っています。 すべてのバッテリは、未使用時に負荷がなくても“自己放電”を 行っています。最新のリチウム電池は、極めて低い自己放電率が特 62 細については、以下のサイトをご覧ください。 ● http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf ● http://csrc.nist.gov/encryption/aes/rijndael/ ● http://csrc.nist.gov/encryption/aes/rijndael/Rijndael.pdf ● http://csrc.nist.gov/encryption/aes/ ● http://csrc.nist.gov/encryption/aes/round2/r2report.pdf ● http://csrc.nist.gov/encryption/aes/round2/NSA-AESfinalreport.pdf