OpenSSLに重大な脆弱性? RSA暗号の1024ビット鍵が20分で因数分解できるとの怪情報が流れる

RSA暗号

海外掲示板Redditに「OpenSSLの脆弱性によりRSA暗号の1024ビット鍵が20分で因数分解できる」との投稿があり、Twitterなどで話題になっています。OpenSSLとは、インターネット上における標準的な暗号通信プロトコルであるSSLやTLSに対応したオープンソースのライブラリーです。

ただし、この投稿の内容を再現できているRedditユーザーはいないようで、信ぴょう性が疑われている状況です。

OpenSSL bug allows RSA 1024 key factorization in 20 minutes

問題の投稿によれば、スペインのセキュリティカンファレンス「Navaja Negra」で、OpenSSLにおけるRSA暗号の鍵生成にバグがあるとの報告がなされたとのこと。報告者は、ラップトップを使用し、1024ビット(10進数で309桁)の整数をたったの20分で因数分解するライブデモを披露したといいます。

RSA暗号とは、2つの素数を乗じた数を計算するのには時間がかからないが、逆に乗じた数を素数の積に分解するためにはかなりの計算時間を必要とすることを安全性の根拠としている公開鍵暗号で、現在広く利用されています。たとえば、 23×53=1219 となることを暗算するのはそこまで難しくはありませんが、1219を暗算で素因数分解することは難しくなります。桁数が増えれば増えるほど素因数分解に要するリソースは増加していき、暗号の安全性が高まるとされているわけです。

仮に、たった20分で素因数分解できるとすれば、1024ビットのRSA暗号に関しては、その安全性の根拠が崩れることになります。

今回の投稿では、報告者が主張する脆弱性は、OpenSSLのrsa_gen.cファイルに存在する端数処理に関するコードに起因すると説明されています。また、OpenSSLの全バージョンに影響するとの注意もなされています。

しかし、この投稿は、友人からの伝聞を根拠としていることや、カンファレンスでの報告者がOpenSSLの開発者への報告やその他の情報公開をおこなう予定がないと投稿で説明されていることなどから、情報の真実性には疑問符が付くものです。

また、情報セキュリティ研究者の大居司氏(@a4lg)は、Radditにて投稿の内容を否定するとともに「ソースコードの解析からはその主張を裏付ける証拠は見つからない」とツイートしています。

なお、海外の主なテクノロジー系メディアは現時点で、この投稿をニュースとして取り上げていないようです。少なくとも日本国内では大きな注目を集めつつあるだけに、専門家によるさらなる分析が待たれるところです。

【追記:2014/10/7 10:25】

今回問題とされた脆弱性は存在しませんでした。