バックナンバーはこちら

today&tomorrow

What's New in DesignWare IP?

2017 Jan Winter vol.105

サイドチャネル攻撃への耐性を備えた超低消費電力プロセッサ

著者:Angela Raucher, Product Marketing Manager, ARC Processors, Synopsys

  • データによる命令実行サイクル数の変動を無くすタイミング均一化
  • 消費電力のピーク/異常値を無くす電力平坦化
  • 電力とタイミングに関するパイプライン・ランダム化

これらの機能により、セキュリティ処理に関する情報(セキュリティ処理を実行中かどうかや、処理されているデータなど)が隠蔽されます。ハッカーは暗号アルゴリズムの実装についての情報を利用して秘密鍵の解読を試みますが、タイミングと消費電力の情報を難読化すると、処理中のデータが解読されるのを防ぐことができます。次に示す2つのグラフは、「add」命令のサイクル平均消費電力をパイプライン・ランダム化機能オフの場合(図2)とオンの場合(図3)で比較したものです。これを見ると分かるように、図2ではadd命令のオペランドと消費電力の間に強い相関がありますが、図3では特定のパターンは認められません。

図2:パイプライン・ランダム化オフ	図3:パイプライン・ランダム化オン

  • 図2:パイプライン・ランダム化オフ
  • 図3:パイプライン・ランダム化オン

ARCプロセッサのもう1つの独自機能として、ユーザーが定義したカスタム命令を追加できるARC Processor EXtension(APEX)テクノロジがあります。これらの命令を使用すると、暗号化をより高速に実行したり、ダミー命令を追加して暗号処理のタイミング・シグネチャを変化させたりできます。これらの命令をチップ設計チーム以外には公開しないようにすれば、既知の実装との比較を防止し、システムに対するサイドチャネル攻撃の防御層をさらに厚くすることができます。

サイドチャネル攻撃防止の機能は、プロセッサ・レベルだけでなくチップ・レベルでも実装できます。具体例としては、電磁シールドの採用、バッファリング・キャパシタンスによる主電源と内部電源の分離、SoCのテスト用として一般的に使用されるスキャン機能に対する保護などがあります。繰り返しますが、サイドチャネル攻撃を防ぐ万能なソリューションは存在しません。したがって、なるべく多くの防御策を取り入れて攻撃に必要な時間と労力を増やし、攻撃が現実的でないとハッカーに思わせるようにすることが重要です。

カテゴリートップ