Skip to main content
QUICK REVIEW

[論文レビュー] An End-to-End Analysis of EMFI on Bit-sliced Post-Quantum Implementations

Richa Singh, Saad Islam|arXiv (Cornell University)|Apr 13, 2022
Cryptographic Implementations and Security被引用数 7
ひとこと要約

本稿では、NISTの後量子暗号デジタル署名最終候補であるDilithiumにおける数論的変換(NTT)のためのビットスライス冗長設計を提案し、電磁界フォールトインジェクション(EMFI)攻撃を検出する。各ビットを内部命令冗長性を用いた並列データパスとして扱うことで、EMFI中に潜在的に利用可能なフォールトの81.3%を検出するが、制御フローが保護されていない状態でも、成功するフォールトインジェクションの確率は顕著に低下する。

ABSTRACT

Bit-slicing is a software implementation technique that treats an N-bit processor datapath as N parallel single-bit datapaths. The natural spatial redundancy of bit-sliced software can be used to build countermeasures against implementation attacks. While the merits of bit-slicing for side-channel countermeasures have been studied before, their application for protection of post-quantum algorithms against fault injection is still unexplored. We present an end-to-end analysis of the efficacy of bit-slicing to detect and thwart electromagnetic fault injection (EMFI) attacks on post-quantum cryptography (PQC). We study Dilithium, a digital signature finalist of the NIST PQC competition. We present a bit-slice-redundant design for the Number-Theoretic Transform (NTT), the most complex and compute-intensive component in Dilithium. We show a data-redundant countermeasure for NTT which offers two concurrent bits for every single bit in the original implementation. We then implement a full Dilithium signature sequence on a 667 MHz ARM Cortex-A9 processor integrated in a Xilinx Zynq SoC. We perform a detailed EM fault-injection parameter search to optimize the location, intensity and timing of injected EM pulses. We demonstrate that, under optimized fault injection parameters, about 10% of the injected faults become potentially exploitable. However, the bit-sliced NTT design is able to catch the majority of these potentially exploitable faults, even when the remainder of the Dilithium algorithm as well as the control flow is left unprotected. To our knowledge, this is the first demonstration of a bitslice-redundant design of Dilithium that offers distributed fault detection throughout the execution of the algorithm.

研究の動機と目的

  • 後量子格子暗号、特にDilithiumに対する電磁界フォールトインジェクション(EMFI)攻撃の脆弱性に対処すること。
  • 空間的冗長性を提供するフォールト検出のための、ソフトウェアベースの新たな対策としてのビットスライシングの検討。
  • ARM Cortex-A9上で実際のフォールトインジェクション実験を実施し、EMFIフォールトの検出能力を、ビットスライス冗長NTTの有効性を評価すること。
  • 特に制御フローが保護されていない状況下でも、ビットスライス設計が検出できる潜在的に利用可能なフォールトの割合を定量すること。

提案手法

  • 数論的変換(NTT)のビットスライス冗長実装を設計し、元のビットごとに2つの並列ビットを提供する内部命令冗長性(IIR)を用いる。Dilithiumで最も計算コストの高いコンponentである。
  • Xilinx Zynq SoC内に統合された667 MHz ARM Cortex-A9プロセッサ上で、完全なDilithium署名生成シーケンスを実装する。
  • パルス遅延(0–5M ns)、パルス出力(80–90%)、固定プローブ位置を変更して、フォールトインジェクションのホットスポットを特定するためのエンドツーエンドのEMFIパrameterスイープを実施する。
  • フォールトの結果を、影響なし、クラッシュ、検出されないフォールト、検出されたフォールトに分類し、さらに潜在的に利用可能なフォールトと利用不可能なフォールトに細分化する。
  • クラッシュしやすい領域と潜在的に利用可能なフォールトの位置が一致するかを分析し、検出可能なフォールトクラスタを特定する。
  • 統計的分析を用いて、データパスと制御フローまたはメモリに影響を与える潜在的に利用可能なフォールトの割合を推定する。

実験結果

リサーチクエスチョン

  • RQ1内部命令冗長性を用いたビットスライシングは、DilithiumのNTTコンponentにおける検出可能なEMFIフォールトの数をどの程度削減するか?
  • RQ2ARM Cortex-A9上でEMFI攻撃に最も脆弱な領域はどこか?また、パルス遅延と出力パワーのパラメータが攻撃可能性にどのように影響するか?
  • RQ3潜在的に利用可能なフォールトのうち、ビットスライスNTT設計が検出できる割合はどれくらいか?また、保護されていない実装と比較してどうか?
  • RQ4潜在的に利用可能なフォールトの分布は、クラッシュしやすい領域や検出可能なフォールトクラスタとどの程度相関するか?
  • RQ5時間的冗長性が存在しない状況でも、データ冗長型のビットスライス設計は、Dilithiumの最も計算コストの高い部分を効果的に保護できるか?

主な発見

  • 実験2では、潜在的に利用可能なフォールト127個中81個(63.77%)がビットスライスNTT設計で検出され、高いフォールト検出能力を示した。
  • 実験3では、潜在的に利用可能なフォールトが382個に増加し、そのうち236個が検出された。これは、データパスに影響を与えるフォールトの検出率が61.7%であることを示している。
  • 高いクラッシュ確率を示す領域と、潜在的に利用可能なフォールトが発生する領域に明確な相関が観察され、一貫したフォールトインジェクションホットスポットが特定された。
  • 本手法は、時間的冗長性が存在しない状況でも、NTTコンponentにおける潜在的に利用可能なフォールトの81.3%を検出でき、攻撃表面を顕著に縮小した。
  • 制御フローが保護されていない状況下でも、内部命令冗長性を用いたビットスライシングが、後量子実装におけるデータパスフォールトの検出に有効であることが確認された。
  • 本研究の結果から、提案された対策は、最も計算コストの高いコンponentにフォーカスすることで、フォールトインジェクション攻撃の成功確率を著しく低下させられると示された。

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

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

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

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