| CVE 識別子 | CVE - 2017-15361 |
|---|---|
| 発見日 | 2017年2月 |
| 発見者 | Matúš Nemec、Marek Sýs、他(マサリク大学) |
| 影響を受けるハードウェア | TPM、Yubikey、Gemalto IDPrime .NETスマート カード |
| 影響を受けるソフトウェア | BitLockerやPGPを含むRSALibを使用した公開鍵暗号 |
ROCA脆弱性は、脆弱性のあるデバイスによって生成されたキーの公開キーからキー ペアの 秘密キーを復元できる暗号化の弱点です。「ROCA」は「Return of Coppersmith's attack」の頭字語です。[1]この脆弱性には、識別子CVE - 2017-15361 が与えられています。
この脆弱性は、Infineon Technologiesが提供し、多くのスマートカード、トラステッドプラットフォームモジュール(TPM)、ハードウェアセキュリティモジュール (HSM) 実装 ( PGP キーの生成によく使用されるYubiKey 4 トークンを含む)に組み込まれているソフトウェアライブラリRSALibの脆弱なバージョンで使用されるRSAキー生成方法の問題から生じています。これらのバージョンの Infineon ライブラリを使用して生成された 512、1024、2048 ビットの長さのキーは、実用的な ROCA 攻撃に対して脆弱です。[2] [3]この攻撃を発見した研究チーム (すべてマサリク大学に所属し、Matúš Nemec と Marek Sýs が率いる) [2] は 、世界中の現在の TPM デバイスの約 4 分の 1 が影響を受けたと推定しています。[4]数百万枚のスマートカードが影響を受けると考えられています。[1]
チームは2017年2月にインフィニオンにRSALib問題を報告したが、責任ある開示を理由に10月中旬まで公表を控えた。その時点でチームは攻撃を発表し、公開鍵の脆弱性をテストするツールを提供した。チームは11月に攻撃の詳細を公開した。[2]
技術的な詳細
RSA キーを生成するには、ランダムに生成された 2 つの大きな素数を選択する必要があり、このプロセスは、特にスマート カードなどの小型デバイスでは時間のかかる場合があります。素数であることに加えて、最高のセキュリティを実現するには、数値に他の特定のプロパティも必要です。脆弱なRSALib の選択プロセスでは、次の形式の素数かどうかをテストするだけで、必要なタイプの素数をすばやく作成します。
ここで、 は最初のn 個の連続する素数 (2、3、5、7、11、13、...) の積であり、n は必要な鍵のサイズにのみ依存する定数です。セキュリティは秘密定数とに基づいています。ROCA 攻撃は、Coppersmith 法のバリエーションを使用して、素数に対してこの特定の形式を利用します。さらに、この方法で生成された公開鍵には独特の指紋があり、65537 を底とする公開鍵の離散対数を計算しようとすることですぐに認識できます。大規模なグループの離散対数を計算するのは通常非常に困難ですが、この場合は が滑らかな数であるため、 Pohlig–Hellman アルゴリズムを使用して効率的に実行できます。インターネットでテスト サイトを利用できます。[2] [5] [6] [7] 要するに、この形式に適合するキーはエントロピーが非常に低く、比較的効率的に(数週間から数ヶ月)攻撃することができ、その形式は攻撃者によって非常に迅速に(マイクロ秒単位で)確認(「フィンガープリント」)することができます。この攻撃の複数の実装が公開されています。[8] [9] [10]
緩和
ROCA の著者は、 RSALibによって生成された長さ 512、1024、および 2048 ビットの公開キーが 脆弱であると考えています。キー生成の詳細はキーの長さによって異なるため、短いキーが必ずしも長いキーよりも脆弱であるとは限りません。たとえば、1952 ビットの RSAlib キーは 2048 ビットのキーよりも強力であり、4096 ビットのキーは 3072 ビットのキーよりも弱いです。
著者らによると、最善の緩和策は、 OpenSSLなどのより強力な方法を使用してRSAキーを生成することです。それが不可能な場合、ROCAの著者らは、3936ビット、3072ビット、またはキーの最大サイズが2048ビットの場合は1952ビットなど、ROCAの影響を受けにくいキー長を使用することを提案しています。[2] :Sec 5.1
インフィニオンは、同社のTPMを使用しているメーカー向けに、 TPMのファームウェアアップデートをリリースしました。[11]
意味合い
この脆弱性は、コモンクライテリア認証スマートカード製品のリストに存在していたため、コモンクライテリア認証制度のいくつかの欠点を浮き彫りにしました。具体的には、自社開発の暗号化アルゴリズムの承認、認証レポートの透明性の欠如、既知の脆弱性のある製品のコモンクライテリア証明書を取り消して、認証製品のユーザーにこの情報を配布できないことなどです。[12] : Sec 6.7.5
エストニアでは、脆弱性の発見により国家レベルのサイバー危機が発生しました。脆弱なスマートカードチップが、エストニアの住民と電子居住者が安全にオンライン認証を行い、デジタル署名を作成するために日常的に使用する75万枚以上のエストニアの身分証明書に導入されたためです。 [12] : Sec 6.7
参照
参考文献
- ^ ab Goodin, Dan (2017-10-23). 「重大な暗号の弱点により、何百万枚ものスマートカードが複製される恐れ」Ars Technica . 2017-10-25閲覧。
- ^ abcde Nemec, Matus; Sys, Marek; Svenda, Petr; Klinec, Dusan; Matyas, Vashek (2017 年 11 月)。「Coppersmith の攻撃の復活: 広く使用されている RSA モジュライの実用的な因数分解」(PDF)。2017 ACM SIGSAC コンピューターおよび通信セキュリティ会議の議事録。CCS '17。doi : 10.1145/3133956.3133969。
- ^ Khandelwal, Swati. 「深刻な暗号欠陥により、ハッカーは数十億台のデバイスで使用されている秘密の RSA キーを復元できる」。The Hacker News。2017年 10 月 25 日閲覧。
- ^ Leyden, John (2017年10月16日). 「WPA2のドラマは気にしないで…多数のデバイスに影響するTPMキーの失敗の詳細が明らかに」イギリス: The Register . 2017年10月25日閲覧。
- ^ 「ROCA: Infineon TPM およびセキュアエレメント RSA 脆弱性ガイダンス」www.ncsc.gov.uk . イギリス. 2017 年 10 月 25 日閲覧。
- ^ 「ROCA: 脆弱な RSA 生成 (CVE-2017-15361)」。チェコ共和国: マサリク大学情報学部、暗号化とセキュリティ研究センター。2017年 10 月 25 日閲覧。
- ^ 「RSA鍵生成機能のソフトウェアアップデートのご案内」Infineon Technologies AG . 2017年10月25日閲覧。
- ^ Bruno Produit (2019-05-15). 「ROCA 攻撃の実装 (CVE-2017-15361)」. GitHub . 2020-06-29閲覧。
- ^ フロリアン・ピッカ (2020-05-03). 「ロカ」。GitHub。2020年6月29日に取得。
- ^ 緑川志保 (2020-04-13). 「ロカ」。GitHub。2020年6月29日に取得。
- ^ 「TPM アップデート - Infineon Technologies」 。2021年3 月 19 日閲覧。
- ^ ab Parsovs, Arnis (2021年3月)。エストニアの電子IDカードとそのセキュリティ上の課題(博士号)。タルトゥ大学。
外部リンク
- ROCA 検出ツール (検出ソースコード)
- ROCA 脆弱性テスト スイート (キー、ファイル、GitHub アカウント、GnuPG キーをテストするためのオンライン ツール。S/MIME および PGP 電子メール レスポンダーが含まれています)
- TrustMonitor ROCA 脆弱性テスト (複数の証明書をテストするためのオンライン ツール)
- CVE-2017-15361 に対して脆弱な Trusted Platform Modules を検出する (スクリプト)
