Skip to main content
QUICK REVIEW

[論文レビュー] Rosita: Towards Automatic Elimination of Power-Analysis Leakage in Ciphers

Madura A. Shelton, Niels Samwel|IACR Cryptology ePrint Archive|Dec 11, 2019
Cryptographic Implementations and Security被引用数 10
ひとこと要約

Rosita は、強化された漏洩エミュレータ(Elmo*)を用いて、マスク化された暗号実装におけるパワー解析漏洩を検出および除去する自動コード再書き換えエンジンである。AES および Xoodoo では、ほぼすべての漏洩を最小限のパフォーマンスコストで除去し、ChaCha では 64% のパフォーマンスペナルティを伴いながらも 99% 以上の漏洩削減を達成した。これは、組み込み暗号における実用的応用を示している。

ABSTRACT

Since their introduction over two decades ago, side-channel attacks have presented a serious security threat. While many ciphers' implementations employ masking techniques to protect against such attacks, they often leak secret information due to unintended interactions in the hardware. We present Rosita, a code rewrite engine that uses a leakage emulator which we amend to correctly emulate the micro-architecture of a target system. We use Rosita to automatically protect masked implementations of AES, ChaCha, and Xoodoo. For AES and Xoodoo, we show the absence of observable leakage at 1,000,000 traces with less than 21% penalty to the performance. For ChaCha, which has significantly more leakage, Rosita eliminates over 99% of the leakage, at a performance cost of 64%.

研究の動機と目的

  • マスク化された暗号実装におけるパワー解析漏洩を引き起こす、意図しないマイクロアーキテクチャ的相互作用という重要な課題に対処すること。
  • マスク化暗号における漏洩の修正という、手作業で行われ、誤りを含みやすいプロセスを自動化し、熟練者による試行錯誤に依存するのを減らすこと。
  • ISO/IEC 17825 などの基準準拠を満たすために、漏洩エミュレーションと自動コード再書き換えを統合したツールチェインの開発。
  • 実際のハードウェアを用いて、マスク化された AES、ChaCha、Xoodoo の実装に対する自動漏洩緩和の有効性を評価すること。
  • 自動化ツールが、組み込み暗号システムにおけるサイドチャネル耐性を達成するための作業負荷を顕著に低減できることを示すこと。

提案手法

  • Rosita は、漏洩が特定された箇所に対して変換を適用するルール駆動型コード再書き換えエンジンを用いる。
  • Elmo* は、レジスタやラッチなどのマイクロアーキテクチャ的ストレージ要素をモデル化し、オペランドの相互作用や値の依存関係に起因する漏洩を検出する、改変された漏洩エミュレータである。
  • Elmo* は、非連続命令漏洩の検出および、漏洩の根本原因(具体的なストレージコンponent)の同定を可能にするよう拡張された。
  • システムは、エミュレーショントレースのオンライン統計的分析を実行し、t検定などの標準的なサイドチャネルテストを用いて漏洩を検出する。
  • ワークフローは、Elmo* を繰り返し実行して漏洩を検出し、Rosita の再書き換えルールを適用し、実ハードウェア上で修正コードの検証を実施する。
  • このアプローチは、順序実行・キャッシュなしのマイクロコントローラー(例:Cortex-M0 や AVR プロセッサ)を想定しており、1次サイドチャネル漏洩を対象としている。

実験結果

リサーチクエスチョン

  • RQ1漏洩エミュレータは、検出の他に、ソフトウェア実装におけるサイドチャネル漏洩の自動緩和にも利用可能だろうか?
  • RQ2自動コード再書き換えは、マスク化暗号におけるマイクロアーキテクチャ的相互作用に起因する漏洩をどの程度除去できるだろうか?
  • RQ3Rosita ツールチェインは、複雑性の異なるさまざまな暗号設計において、漏洩をどの程度低減できるだろうか?
  • RQ4自動漏洩緩和によって引き起こされるパフォーマンスオーバーヘッドはどの程度で、暗号ごとにどのように変化するだろうか?
  • RQ5強化されたエミュレーションとルール駆動型再書き換えの組み合わせは、ISO/IEC 17825 のようなサイドチャネルセキュリティ基準準拠を達成できるだろうか?

主な発見

  • 1,000,000 トレース後に、マスク化された AES-128 および Xoodoo 実装において、Rosita は観察可能なすべての漏洩を除去し、残存漏洩ポイントは 0 となった。
  • ChaCha では、元の 238 個の漏洩ポイントのうちわずか 1 個にまで漏洩を削減し、99% を超える削減効果を達成したが、64% のパフォーマンスペナルティを伴った。
  • パフォーマンスオーバーヘッドは、複雑なラウンド関数と高いマスキング複雑性を有する ChaCha で最も高かったが、実用的導入には十分に許容可能な水準であった。
  • ツールチェインは、AES および Xoodoo において ISO/IEC 17825 に完全準拠し、実ハードウェア上でも利用可能な漏洩は検出されなかった。
  • Elmo* は、非連続命令漏洩のモデル化および根本原因の同定に成功し、再書き換えルールの正確なターゲティングを可能にした。
  • 結果として、リソース制限のあるマイクロコントローラーに一般的に使用される組み込みシステムにおいて、自動漏洩緩和が実現可能かつ有効であることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。