Skip to main content
QUICK REVIEW

[論文レビュー] Formal Analysis of CRT-RSA Vigilant's Countermeasure Against the BellCoRe Attack: A Pledge for Formal Methods in the Field of Implementation Security

Pablo Rauzy, Sylvain Guilley|arXiv (Cornell University)|Jan 31, 2014
Security and Verification in Computing参考文献 15被引用数 4
ひとこと要約

この論文は、拡張された記号的計算ツール(finja)を用いて、VigilantのCRT-RSA対策がBellCoRe故障注入攻撃に対して形式的に検証および簡略化されている。元々の対策は脆弱であることが判明したが、以前の予想よりも深刻ではない。これにより、Coronらの修正版を、9つのモジュラー検証のうち2つを削除することで簡略化可能であり、形式的にその簡略化されたバージョンが恒久的および一時的故障、特にゼロ化およびランダム化故障に対しても安全であることが証明された。

ABSTRACT

In our paper at PROOFS 2013, we formally studied a few known countermeasures to protect CRT-RSA against the BellCoRe fault injection attack. However, we left Vigilant's countermeasure and its alleged repaired version by Coron et al. as future work, because the arithmetical framework of our tool was not sufficiently powerful. In this paper we bridge this gap and then use the same methodology to formally study both versions of the countermeasure. We obtain surprising results, which we believe demonstrate the importance of formal analysis in the field of implementation security. Indeed, the original version of Vigilant's countermeasure is actually broken, but not as much as Coron et al. thought it was. As a consequence, the repaired version they proposed can be simplified. It can actually be simplified even further as two of the nine modular verifications happen to be unnecessary. Fortunately, we could formally prove the simplified repaired version to be resistant to the BellCoRe attack, which was considered a "challenging issue" by the authors of the countermeasure themselves.

研究の動機と目的

  • BellCoRe故障注入攻撃に対するVigilantのCRT-RSA対策を形式的に分析すること。これは、元来分析ツールの算術的機能の制限により形式的検証が困難であった。
  • finjaツールに高度なモジュラー算術サポートを拡張し、Vigilantのスキームを分析するために不可欠な合成次数の剰余類および離散対数の性質を扱えるようにすること。
  • 恒久的および一時的故障(ゼロ化を含む)を含む包括的な故障モデル下で、Vigilantの対策の元版および修正版の安全性を評価すること。
  • 安全性を損なわず、冗長な検証チェックを特定・削除することで、修正された対策を簡略化すること。
  • 形式的技法が実装上の欠陥を特定し、安全で最小限の対策設計を可能にする重要な役割を果たすことを示すこと。

提案手法

  • モジュラー算術における記号的計算機能を拡張し、特に合成剰余類における離散対数の性質をサポートするようにfinjaツールを強化した。
  • 拡張されたfinjaフレームワークを用いて、Vigilantの元のCRT-RSA対策およびCoronらの修正されたCRT-RSA対策がBellCoRe攻撃に対して形式的に安全であることを検証した。
  • 完全な故障カバレッジ分析を実施し、メモリ内の恒久的故障およびバス上やレジスタバンクでのデータ伝送中の一時的故障をモデル化した。
  • 故障モデルにはゼロ化故障およびランダム化故障を含み、CRT-RSA計算パイプラインのさまざまな段階で攻撃が可能であることを想定した。
  • 修正された対策の9つのモジュラー検証のうち2つが不要であることが形式的に特定・証明され、簡略化が可能となった。
  • 単一および二重故障攻撃、特に中間ステップでの不均衡な検証の存在を悪用する二重故障攻撃に対しても、簡略化された対策が抵抗を示すことを検証した。

実験結果

リサーチクエスチョン

  • RQ1VigilantのCRT-RSA対策の元版は、BellCoRe故障注入攻撃に対して安全であり、包括的な故障モデル下でも安全であるか?
  • RQ2Coronらの修正版は、安全性を損なわず、簡略化可能か?
  • RQ3修正された対策には、安全性を損なわず形式的に削除可能な冗長な検証ステップが存在するか?
  • RQ4形式的検証は、手動分析やヒューリスティック最適化では見逃された脆弱性をどの程度明らかにするか?
  • RQ5形式的技法は、暗号的対策におけるセキュリティ強化とパフォーマンス最適化の両方を可能にするか?

主な発見

  • 元のVigilant対策は、形式的にBellCoRe攻撃に対して脆弱であることが証明されたが、当初の仮定とは反対に、以前の予想よりも深刻ではない。
  • Coronらの修正版は、包括的な故障モデル下で、恒久的および一時的故障(ゼロ化およびランダム化故障を含む)に対して形式的に安全であることが証明された。
  • 修正された対策の9つのモジュラー検証のうち2つは、形式的に不要であることが証明され、より簡略化され、効率の良い実装が可能となった。
  • 簡略化された対策は、中間ステップでの不均衡な検証の存在を悪用する二重故障攻撃を含め、BellCoRe攻撃に対して完全な抵抗を示した。
  • 形式的分析により、元のスキームで導入された高速化最適化が、意図せず脆弱性を生み出したことが明らかになった。これは後にCoronらによって修正された。これはヒューリスティック開発のリスクを浮き彫りにした。
  • 本研究は、形式的技法がセキュリティの検証にとどまらず、冗長なチェックの特定・削除を通じて最適化を可能にするという点で不可欠であることを示した。

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

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

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

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