HTTPSの背後にある未解明の数字
楕円曲線暗号(ECC)は、ブラウザがウェブサイトと構築する安全な接続の基盤であり、共有秘密鍵を公然と交換することを可能にしています。この数学的偉業は「楕円曲線」に依存しており、特定の演算は計算上は容易ですが、逆算することは事実上不可能です。2000年にNISTによって公開された標準であるP-256曲線は、TLS 1.3およびHTTPSの礎となり、事実上すべてのアプリケーションで必須となっています。
20年以上にわたり、暗号学者はこれらのNIST曲線に対して深い懸念を抱いてきました。その形状を定義するパラメータには、NSAが提供した任意の「シード」が組み込まれていましたが、その起源に関する公的な説明はありませんでした。この透明性の欠如が憶測を呼びました。NSAは秘密のバックドアを埋め込むために意図的にこれらのシードを選択し、暗号化された通信への独自のアクセス権を得ようとしたのではないか、という疑念です。
Dual_EC_DRBG乱数生成器に関するスノーデンの悪名高い暴露は、NSAの影響を受けた別の標準が実際に侵害されていたことを示し、これらの疑念を増幅させました。しかし、Dual_EC_DRBGとNISTの楕円曲線を区別することは極めて重要です。前者の事件によってP-256に関する陰謀論が理解可能なものとなったとはいえ、それが楕円曲線そのものにバックドアが存在する証拠となったことは一度もありませんでした。
Claudeは有名な手がかりを無視し、タイムスタンプを発見した
数十年間、NSAの数学者Jerry Solinasに帰せられる魅力的な噂がありました。それは、P-256のシードは記憶に残るフレーズをハッシュ化して生成されたというものです。この説明は完全には裏付けられていませんでしたが、研究者たちを「Bob ReiterとJerry Solinasを昇給させろ」といった、Solinasが2023年に亡くなる前に思い出せなかった「ジョークのフレーズ」を探すという無益な調査へと導きました。これが長年にわたる懸賞金につながり、憶測を煽っていました。
しかし、Claudeはこの有名な手がかりを無視しました。忘れ去られたフレーズを追いかける代わりに、このAnthropicのモデルは一般的な擬似乱数生成器(PRNG)のパターンを調査しました。その結果、特定のレガシー生成器に特徴的な、最上位ビットが常にゼロであるといった統計的アーティファクトを特定しました。格子基底縮小アルゴリズムを使用して、Claudeはこれらの「指紋」から逆算し、生成器の内部状態を再構築しました。
重要な結果として、P-256を含むいくつかのNIST素数曲線のシードが、lrand48の出力と一致することが判明しました。1990年代に広く使用されていたこの馴染み深いUnix時代のCライブラリ生成器は、単純なUnixタイムスタンプから初期化されていました。特にP-256については、この再構築により、lrand48が1997年8月16日01時52分34秒(UTC)にシードされ、公式のP-256シードがその1,842番目に生成された数値に対応していることが示されました。P-192などの他のNIST曲線も、1997年5月から1998年4月にかけてのタイムスタンプからのlrand48出力と一致しました。
迅速なフォレンジック的突破口の背後にある数学
Claudeの突破口は、シード値の中に潜む微妙な統計的「指紋」を認識したことにあります。Claudeは、NISTが提供したシードが、1990年代のCライブラリにおける一般的な擬似乱数生成器(PRNG)であるlrand48と一致する特性を示していることを特定しました。具体的には、生成された出力において最上位ビットが制限されている挙動に注目しました。
これらの切り詰められた出力から、ClaudeはPRNGの内部状態を巧みに再構築しました。高次元格子における短いベクトルを見つけるための高度な手法であるlattice-reduction methods(格子基底簡約法)を用いて、不完全な情報からでもジェネレーターの状態をリバースエンジニアリングしました。これにより、乱数を初期条件まで遡ることが可能になりました。
この再構築の速度は驚異的で、5つのNIST曲線に対して30分以内でした。Claudeの内部スクラッチパッドには、その迅速な成功に対して、シミュレーション環境にいるのではないかと驚きを隠せない様子も記録されていました。P-256の場合、ジェネレーターは1997年8月16日01:52:34 UTCに開始され、公式のシードは生成された1,842番目の数値でした。
Anthropicはこれらの調査結果を厳密に検証し、独立した研究者が報告されたシードを数秒で文字通り再現できる検証可能なコードを公開しました。このプロセスにより、いくつかのANSI X9.62およびNISTのベースポイントの起源も解明され、Arjen LenstraのFreeLIPライブラリに関連付けられました。Anthropicはこの発見に対して長年未解決だった36,864ドルの報奨金を請求し、それをInternet Security Research Group (ISRG) に寄付しました。研究論文を含む詳細は、Anthropic Research: ECDSA Curve Originsで確認できます。
この記事が気に入ったら、毎朝同じようなものをメールで受け取れます。
1日1通 · 2クリックで解除 · サードパーティのトラッキングなし
安心できる回答、しかし残された謎
タイムスタンプの起源が明らかになったことは、暗号学的な危機ではなく、むしろ大きな安心感をもたらします。約30ビットの選択肢を提供するUnixタイムスタンプは、意図的に仕組まれたバックドアが必要とするものよりもはるかに小さな探索空間しか持ちません。この限られた自由度は、隠された脆弱性が存在する可能性が極めて低いことを意味します。
重要な点として、この発見はTLSを破るものでも、秘密鍵を漏洩させるものでも、署名を偽造するものでもありません。P-256は依然として安全であり、緊急のパッチやプロトコルの見直しは必要ありません。Anthropicの分析とそれに続く独立した検証により、これらの曲線は弱体化しているのではなく、むしろクリーンであることが確認されました。
しかし、未解決の疑問も残っています。例えば、B-163バイナリ曲線のシードについては、まだ完全な説明がなされていません。楕円曲線上の初期座標である特定のbase pointsの正確な起源についても、一部はArjen LenstraのFreeLIPライブラリに関連付けられていますが、完全な解明には至っていません。
さらに、暗号学者は、なぜP-256の候補の一つが、同じ基準を満たす他の候補よりも選ばれたのかという点について議論を続けています。Claudeの成果はNIST曲線を取り巻く疑念を劇的に軽減させましたが、それは設計上のあらゆる選択を網羅した決定的な記録ではなく、その歴史における重要な一章を提供するものです。
よくある質問
ClaudeはNIST曲線のシードについて何を発見しましたか?
AnthropicのClaudeは、いくつかのNIST曲線のシードが、Unixタイムスタンプで初期化されたlrand48擬似乱数生成器の出力に由来することを突き止めました。
この発見は、P-256にバックドアが仕掛けられていたことを意味しますか?
いいえ。タイムスタンプに基づくプロセスでは、意図的なバックドアを仕込むには自由度が少なすぎます。また、この発見によってP-256に対する攻撃が可能になるわけではありません。
Claudeはどのようにしてシードを再構築したのですか?
lrand48の出力に見られる統計的なパターンを認識し、格子基底簡約法を含む数学的手法を用いて、可能性の高いジェネレーターの状態を復元しました。
すべての曲線の起源は現在解明されていますか?
いいえ。B-163バイナリ曲線のシードやP-256の候補の選定など、一部のシードの起源やベースポイントの選択については未解決のままです。

