米NSA(国家安全保障局)が、暗号技術にバックドア(裏口)を設けて暗号通信を解読している疑念がさらに深まっている。本誌の取材によって、日本政府がエドワード・スノーデン氏の告発より前の2009年の時点で、疑惑対象の技術を「安全上問題がある」とし、政府が使用する暗号技術候補から外していたことが分かった。

 NSAのバックドアが疑われているのは、乱数生成アルゴリズムの「Dual_EC_DRBG」だ。米NIST(国立標準技術研究所)は同アルゴリズムの標準化にNSA職員が関与したことを認め、2013年9月末には同アルゴリズムを実装するソフト66種類をWebサイトで公表、ユーザーに注意を促し始めた。米EMCや米シスコシステムズ、米マイクロソフトといった大手の製品や、オープンソースソフトウエアの「OpenSSL」などが挙げられている。

 「Dual_EC_DRBG」は、「楕円曲線暗号」に使用するアルゴリズム。楕円曲線上からランダムに選んだ2点(のPとQ)から、暗号化に使う乱数を生成する。しかし、「NISTの規格書で推奨されていたPとQの選び方が、ランダムである証拠が無かった」と情報処理推進機構(IPA)セキュリティセンター暗号グループの研究員は説明する。PとQがランダムに選ばれなかった場合、このアルゴリズムが生成する乱数は予測可能になり、「ある秘密鍵が破られることで、同じシステムが生成した残りの秘密鍵も破られてしまうような問題が生じる」(IPA)という。

図●乱数生成アルゴリズム「Dual_EC_DRBG」の問題点
「Dual_EC_DRBG」は、楕円曲線上からランダムに選んだ2点(PとQ)を使って乱数を生成するアルゴリズムだった。規格書に記されたPとQの推奨値がランダムであるという証拠が無かったため、生成される乱数が予測可能になる恐れがあった。
図●乱数生成アルゴリズム「Dual_EC_DRBG」の問題点
[画像のクリックで拡大表示]

 これらの問題は、Dual_EC_DRBGが技術標準になった2007年当時から、セキュリティ専門家によって指摘されていた。そのため、「電子政府推奨暗号リスト」を定めているCRYPTREC(総務省と経済産業省によるプロジェクト)は、使ってもよいと例示する乱数生成アルゴリズムの一覧を2009年に改訂した際に、「Dual_EC_DRBG」を除外していた。

 ユーザーはNISTのリストを参照し、自社が使用しているツールが該当していないか確認することが望ましい。