ROCA脆弱性のソースを表示
←
ROCA脆弱性
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
{{Infobox bug | name = ROCA脆弱性 | image = | caption = | CVE = {{CVE|2017-15361}} | discovered = {{Start date and age|February 2017}} | patched = | discoverer = Matúš Nemec, Marek Sýs, et al. ([[マサリク大学]]) | affected hardware = [[Trusted Platform Module|TPM]], [[Yubikey]], Gemalto IDPrime .NET [[ICカード|スマートカード]]s | affected software = 脆弱なRSALibで作ったRSA鍵 | website = }} '''ROCA 脆弱性''' とは、この脆弱性を内包する装置で生成された[[鍵 (暗号)|公開鍵]]から[[鍵 (暗号)|秘密鍵]]が導出できてしまうような[[暗号理論]]上の弱点のひとつである。"ROCA" は、"Return of Coppersmith's attack"の略である<ref>{{Cite web |url=https://crocs.fi.muni.cz/public/papers/rsa_ccs17 |title=ROCA: Vulnerable RSA generation (CVE-2017-15361) [CRoCS wiki] |accessdate=2024-04-30 |language=en }}</ref><ref name=Goodin2017>{{Cite news |url=https://arstechnica.com/information-technology/2017/10/crippling-crypto-weakness-opens-millions-of-smartcards-to-cloning/ |title=Crippling crypto weakness opens millions of smartcards to cloning |work=Ars Technica |access-date=2024-04-30 |language=en-us |first=Dan |last=Goodin |date=2017-10-23 }}</ref>。当脆弱性は、{{CVE|2017-15361}}で特定される。 当脆弱性は、[[インフィニオン・テクノロジーズ]]の提供した脆弱だったバージョンの''RSALib''[[ライブラリ]]の用いた[[RSA暗号|RSA]]鍵生成の手法によって生じた。[[YubiKey|YubiKey 4]]トークンをはじめ、[[Pretty Good Privacy|PGP]]鍵の生成によく用いられる多くの[[ICカード|スマートカード]]、[[Trusted Platform Module|トラステッド・プラットフォーム・モジュール]] (TPM) やハードウェア・セキュリティー・モジュールらが、このライブラリを呼び出していた。脆弱なバージョンのインフィニオンのライブラリで生成された512、1024、2048ビット長の鍵は、ROCA攻撃にたいして脆弱である <ref name=nemecsys>{{cite conference| url=https://crocs.fi.muni.cz/_media/public/papers/nemec_roca_ccs17_preprint.pdf|title=The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli|first1=Matus|last1=Nemec|first2=Marek|last2=Sys|first3=Petr|last3=Svenda|first4=Dusan|last4=Klinec|first5=Vashek|last5=Matyas|date=November 2017|doi=10.1145/3133956.3133969|book-title=Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security|series=CCS '17}}</ref><ref name=thehackernews>{{Cite news |url=https://thehackernews.com/2017/10/rsa-encryption-keys.html |title=Serious Crypto-Flaw Lets Hackers Recover Private RSA Keys Used in Billions of Devices |last=Khandelwal |first=Swati |work=The Hacker News |access-date=2024-04-30 }}</ref>。 当攻撃を発見した[[マサリク大学]]のMatúš NemecとMarek Sýs<ref name=nemecsys />らの率いる研究チームは、当時のTPM装置の約4分の1に影響したものと見積もった<ref>{{Cite news |location=United Kingdom |url=https://www.theregister.co.uk/2017/10/16/roca_crypto_vuln_infineon_chips/ |title=Never mind the WPA2 drama... Details emerge of TPM key cockup that hits tonnes of devices |publisher=The Register |access-date=2024-05-01 |first=John |last=Leyden |date=16 October 2017}}</ref>。数百万枚の[[ICカード|スマートカード]]に影響したとみられる<ref name="Goodin2017" />。 チームは、''RSALib''の問題をインフィニオンにたいしては2017年2月に通知しつつ、{{ill|責任ある開示|en|responsible disclosure}}の観点から一般への公表は10月中旬まで見送った。その際は、攻撃法と公開鍵の検査方法も公表した。攻撃の詳細の公表は11月だった <ref name=nemecsys />。 ==技術的詳細== RSA鍵の生成には、大きい[[素数]]であるような複数の[[乱数生成]]および選択が含まれる。乱数生成は、スマートカードのような小さい装置では特に、時間のかかりうる処理である。素数であることにくわえ、高度の安全性のためには、他の性質ももつことが好ましい。しかし、脆弱な''RSALib''での処理は、次の形の素数かどうかだけを検査した。 {{Indent|<math>k * M + (65537^a \mod{M})</math>}} ここで<math>M</math>は、連続した最初の''n''個の素数 (2, 3, 5, 7, 11, 13,...) の相乗([[素数階乗]])であり、''n''は、指定された鍵長だけに依存する定数である。安全性は、秘密の定数である<math>k</math>と<math>a</math>とにかかることになる。ROCA攻撃は、カッパースミス法の変種を用い、素数の形式につけこむものである。さらに、こうしてできた公開鍵は、<math>M</math>を法とすると[[65537]]を底とした[[離散対数]]を計算しておくことで、容易に他と区別することが可能となる。大きな群での離散対数の計算は通常、きわめて困難だが、<math>M</math>が[[:en:smooth number]]であることから、Pohlig–Hellmanのアルゴリズムの適用で効率的な計算が可能である。検査用サイトがインターネットにも存在する<ref name=nemecsys /><ref>{{Cite web |url= https://www.ncsc.gov.uk/guidance/roca-infineon-tpm-and-secure-element-rsa-vulnerability-guidance |title=ROCA: Infineon TPM and Secure Element RSA Vulnerability Guidance |website=www.ncsc.gov.uk |location=United Kingdom |access-date=2024-05-01}}</ref><ref>{{Cite web |title=ROCA: Vulnerable RSA generation (CVE-2017-15361) |publisher=Centre for Research on Cryptography and Security, Faculty of Informatics, [[Masaryk University]] |location=Czech Republic |url=https://crocs.fi.muni.cz/public/papers/rsa_ccs17 |access-date=2024-05-01}}</ref><ref>{{Cite web |url=https://www.infineon.com/cms/en/product/promopages/rsa-update/ |title=Information on software update of RSA key generation function |publisher=Infineon Technologies AG |access-date=2024-05-01}}</ref>。すなわち、この形の鍵は、エントロピーがかなり小さく、比較的効果的 (数週~数か月) に攻撃でき、非常に短時間 (マイクロ秒) で形式を確認できる。攻撃の実装が複数、公開されている<ref>{{Cite web |url=https://github.com/brunoproduit/roca |title=Implementation of the ROCA attack (CVE-2017-15361) |author=Bruno Produit |website=[[GitHub]] |date=2019-05-15 |access-date=2024-05-01}}</ref><ref>{{Cite web |url=https://github.com/FlorianPicca/ROCA |title=ROCA |author=Florian Picca |website=[[GitHub]] |date=2020-05-03 |access-date=2024-05-01}}</ref><ref>{{Cite web |url=https://github.com/elliptic-shiho/crypto_misc/blob/master/small_root/roca_attack.sage |title=ROCA |date=2020-04-13 |author=Shiho Midorikawa |website=[[GitHub]] |access-date=2024-05-01}}</ref>。 ==関連項目== * [[Trusted Platform Module]] ==脚注== {{脚注ヘルプ}} {{reflist}} ==外部リンク== *[https://github.com/crocs-muni/roca ROCA検出ツール (ソース・コード)] *[https://keychest.net/roca ROCA Vulnerability Test Suite (鍵、ファイル、Githubアカウント、GnuPGの鍵などの検査のオンライン・ツール)] *[https://monitor.certipath.com/rsatest/ TrustMonitor ROCA Vulnerability Test (複数証明書のオンライン検査ツール)] *[https://github.com/iadgov/Detect-CVE-2017-15361-TPM CVE-2017-15361脆弱なTPMの検出スクリプト群] [[Category:暗号解読攻撃]] [[Category:公開鍵基盤]]
このページで使用されているテンプレート:
テンプレート:CVE
(
ソースを閲覧
)
テンプレート:Cite conference
(
ソースを閲覧
)
テンプレート:Cite news
(
ソースを閲覧
)
テンプレート:Cite web
(
ソースを閲覧
)
テンプレート:Ill
(
ソースを閲覧
)
テンプレート:Indent
(
ソースを閲覧
)
テンプレート:Infobox bug
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
ROCA脆弱性
に戻る。
ナビゲーション メニュー
個人用ツール
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
ツール
リンク元
関連ページの更新状況
ページ情報