UC San DiegoとINRIAの研究チームは、HSM内の1,024ビットRSA鍵で署名偽造が成立する条件を示しました。BTC・ETHの取引署名はRSAではなく楕円曲線署名のため、今回の実験対象とは分けて理解する必要があります。
- UC San Diego・INRIAが1,024ビットRSA鍵で実験
- 約40億回要求と1,380 CPUコア年が条件
- BTC・ETH取引署名はRSA実験の対象外です
- FIPS無効化とテスト鍵の条件切り分けが焦点
1,024ビットRSA鍵で成立したHSMなりすまし
UC San DiegoとフランスのINRIAの研究チームは、ハードウェアセキュリティモジュール(HSM、秘密鍵を機器内に保ったまま署名処理を行う装置)内の1,024ビットRSA鍵について、鍵そのものを外へ取り出さずに署名を偽造したとされています。論文は9月20日にIACR Cryptology ePrint Archiveへ提出されました。
HSMは、暗号資産の保管業者などが秘密鍵を外部へ出さずに署名要求へ応じるために使う装置です。デジタル署名は、取引やメッセージを鍵の保有者が承認したことを示す証明です。今回の実験では、鍵を抜き出したのではなく、HSMが作った署名応答を大量に集めて、別の署名を作れる状態にした点が中心です。
攻撃に必要だった署名要求と計算量
実験の成立条件はかなり限定されています。研究チームはHSMのFIPSモード(認証されたセキュリティ設定)を無効にし、研究チーム自身が用意したテスト鍵を使いました。そのうえで、HSMに未整形の数値へ署名させています。
攻撃には約2^32回、つまり約40億回の署名要求が必要でした。さらに、計算量は1,380 CPUコア年とされています。これは、1つのCPUコアで計算した場合に1,380年分に相当する規模です。署名要求の量と計算負荷の両方が大きく、一般的な暗号資産ウォレットへの即時の攻撃手順として示されたものではありません。
BTC・ETH取引署名への非波及
今回の実験はRSAを対象にしています。ビットコインはECDSAという楕円曲線を使う署名方式で取引に署名しており、その曲線はSchnorr署名にも対応しています。イーサリアムや多くの主要ブロックチェーンも、RSAではなく楕円曲線署名を使っています。
そのため、この論文の主張を「ビットコインやイーサリアムの取引署名が破られた」という意味へ広げることはできません。暗号資産の文脈で重要なのは、HSMのような鍵管理装置への攻撃条件と、各チェーンが実際に使う署名方式を分けて見ることです。
現代的なRSA実装とブラインド署名の論点
研究チームは、パディングを使う現代的なRSA実装について、ただちに多くの運用へ脅威を与える可能性は低いとしています。パディングとは、署名前にデータの形式を整える処理です。標準的なRSA署名では、PKCS#1 v1.5やPSSなどのパディングが使われ、今回の攻撃に必要な署名応答を作らないと説明されています。
一方で、RSAベースのブラインド署名のように、サーバーが内容を見ずに署名する仕組みでは、署名要求をどう扱うかが別の論点になります。論文はプレプリントとして扱われており、今回の中心は暗号資産取引署名そのものではなく、RSAを使う署名システムとHSM運用の条件の切り分けです。
