人間の監督下で作業するAIエージェントにより、Google DeepMindは1024ビットRSA暗号システムへの攻撃コストを削減する2つの方法を特定した。UCサンディエゴ校およびInriaの暗号研究者らと共同で行われたこの研究は、レガシーなRSA-1024に対する攻撃に必要な計算量が、これまで想定されていたよりも少ないことを示唆している。
RSAは公開鍵暗号方式であり、その強度は大きな数を素因数分解する難しさに依存している。しかし、Google DeepMindの副社長兼Google CloudのチーフサイエンティストであるPushmeet Kohliは、これらの結果の範囲を相対化することを強調する:「実際には、これらの結果は廃止された1024ビットRSAシステムにのみ関連し、2048ビット以上の鍵をほぼ普遍的に使用する現代の暗号化プロトコルは依然として安全です。」
デジタル署名とパディング
最初の発見は、デジタル署名とパディングに関するものである。パディングとは、多くの署名標準がメッセージを固定ブロックサイズに合わせるために追加する事前設定データのことだ。この仕組みは偽造を困難にすることが知られていたが、署名対象を選択できる攻撃者に対する有効性は不明確だった。DeepMindは、それが署名ブロックのうち攻撃者が制御する部分に依存することを明らかにした。Pushmeet Kohliが説明するように、「攻撃者がブロックの約半分以上を制御すると、パディングはもはや何の保護ももたらさなくなる」。
この研究に伴う科学論文によれば、これは暗号デバイス(ハードウェアセキュリティモジュール(HSM)など)のPKCS#11署名インターフェースで使用されるPKCS#1 v1.5形式に関係する。
隔離環境で実施されたテストでは、エージェントは既に学術研究で公開されている偽造攻撃を、同じ1024ビット鍵に対して再実行した。CPU計算時間は3.5分の1に短縮された。最初の偽造には、元の研究での1,380年・CPUコアに対して、391年・CPUコアが必要だった。
2つのAIエージェントが、偽造計算の設計、実行、修正を4日以内に行い、研究者からの約20回のメッセージ(ほとんどが承認)で完了した。鍵は因数分解されておらず、この情報源はその操作に50万から100万年・CPUコアが必要と推定している。攻撃者がブロックのより小さな部分(例えば32バイトのハッシュ)しか制御できない場合、偽造はより困難になる。それでもDeepMindは、理論的推定によれば、1024ビット鍵に対する従来の最良の方法よりも約1,600倍優れたアルゴリズムを発見したと述べている。
複数鍵の因数分解
2番目の発見は、同じサイズの多数のRSA鍵の因数分解に関する。攻撃者は、単一の大規模な初期計算コストをそれら全ての鍵に分散させることができる。DeepMindのエージェントは、平均して、追加の各1024ビット鍵の因数分解コストを、従来の最良のアプローチよりも約30倍低減するアルゴリズムを考案した。ただし、この理論的推定は、単一鍵の因数分解と同等のコストがかかる初期計算を前提としており、この方法は実装されていない。
研究者らは、署名に対する攻撃では秘密鍵を回復できないことを強調する。事前に約40億回の署名リクエストが必要であり、メッセージを内部でハッシュ化するデバイスに対しては機能しない。「全体として、これらの結果は、AI支援数学・計算の新時代において、暗号学的難しさを固定された仮定と見なすことはできないことを示している」とPushmeet Kohliは結論づける。彼はさらに、「AIを用いて従来の仮定を厳密にテストすることで、現代の暗号化が安全であり続けることを保証できるだろう」と付け加えた。
