ミネルバ:ECDSA / EdDSA実装の一連の脆弱性

ミネルバ

マサリク大学の研究者が情報を明らかに 重要 の脆弱性について いろいろなECDSA / EdDSAデジタル署名生成アルゴリズムの実装、 これにより、サードパーティのチャネルを介して分析方法を適用するときに表示される個々のビットの情報漏えいの分析に基づいて、秘密鍵の値を回復できます。 脆弱性のコードネームはミネルバです。

最も有名なプロジェクト 影響する 提案された攻撃方法は OpenJDK、OracleJDK (CVE-2019-2894)およびライブラリ ライブラリクリプト (CVE-2019-13627)GnuPGで使用されます。 問題は ライブラリにも影響を受けやすい MatrixSSL、Crypto ++、wolfCrypt、楕円曲線、jsrsasign、Python-ECDSA、ruby_ecdsa、fastecdsa また、いくつかのスマートカード Athena IDProtect、TecSec装甲カード、SafeNet eToken 4300、有効なS / AIDflexV。

現時点で言及されている脆弱性に加えて、それらは影響を受けません OpenSSL、Botan、mbedTLS、およびBoringSSL。 Mozilla NSS、LibreSSL、Nettle、BearSSL、cryptlib、FIPSモードのOpenSSL。 Microsoft .NET暗号、Linuxカーネルlibkcapi、Sodium、およびGnuTLSはまだテストされていません。

ECCでのスカラー倍算中にスカラーのビット長を失う実装が見つかりました。 ビット長にはスカラーに存在する情報が非常に少ないため、このリークはごくわずかに見える場合があります。 ただし、ECDSA / EdDSA署名生成の場合、ランダムナンスのビット長をフィルタリングするだけで、既知のメッセージで数百から数千の署名を観察した後に使用される秘密鍵を完全に回復できます。いくつかのテクニック。

以前のすべてのカードは、Inside Secure AT214SC A2(ファームウェア)ではAthena OS755 ECDSA90コンポーネントとして説明されている共通のECDSAコンポーネント(FIPS 1.0モジュール)を共有しているため、影響を受けると考えています。 CPLCおよびATRデータを使用してAthenaIDProtectカードでのみ脆弱性をテストしました

この問題は、個々のビット値を決定する機能が原因で発生します ECC取引中のスカラーによる乗算中。 ビット情報を抽出するために、計算実行の遅延を推定するなどの間接的な方法が使用されます。

攻撃には、ホストへの非特権アクセスが必要です デジタル署名が生成されます(リモート攻撃は除外されませんが、非常に複雑で、分析のために大量のデータを必要とするため、可能性は低いと見なすことができます)。

リークのサイズが小さいにもかかわらず、ECDSAの場合、初期化ベクトル(ノンス)に関する情報を含む数ビットの定義でさえ、攻撃を実行して完全な秘密鍵を順次復元するのに十分です。

メソッドの作者によると、 キーの回復を成功させるには、生成された数百から数千のデジタル署名の分析で十分です。 攻撃者に知られているメッセージの場合。 たとえば、Inside SecureAT90SCチップに基づくAthenaIDProtectスマートカードで使用される秘密鍵を決定するために、楕円曲線secp256r1を使用して、11のデジタル署名が分析されました。 総攻撃時間は30分でした。

私たちの攻撃コードと概念実証は、Brumley&Tuveriメソッドに触発されています。

この問題は、libgcrypt1.8.5およびwolfCrypt4.1.0ですでに修正されています。、他のプロジェクトはまだ更新を生成していません。 次のページのディストリビューションで、libgcryptパッケージの脆弱性修正を追跡することもできます。 Debianの, Ubuntuの, RHEL, フェドーラ, openSUSE / SUSE, FreeBSDの, アーチ。

研究者は他のカードやライブラリもテストしましたが、次のものは脆弱ではありません。

  • OpenSSL 1.1.1d
  • バウンシーキャッスル 1.58
  • BoringSSL 974f4dddf
  • libtomcrypt 1.18.2
  • ボタン2.11.0
  • マイクロソフトCNG
  • mbedTLS 2.16.0
  • IntelIPP-暗号

カード

  • ACS ACOSJ 40K
  • フェイティアンA22CR
  • G&D SmartCafe 6.0
  • G&D SmartCafe 7.0
  • インフィニオンCJTOP80K INF SLJ 52GLA080AL M8.4
  • インフィニオンSLE78ユニバーサルJカード
  • NXP JCOP31 v2.4.1
  • NXP JCOP CJ2A081
  • NXP JCOP v2.4.2 R2
  • NXP JCOP v2.4.2 R3
  • SIMOME TaiSYS Vault

使用された攻撃と検出された脆弱性について詳しく知りたい場合は、 次のリンク。 攻撃を再現するために使用されるツールはダウンロードできます。


記事の内容は、次の原則に準拠しています。 編集倫理。 エラーを報告するには、 ここで.

コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。 必須フィールドには付いています *

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。