NIST SP 800-90

2013年9月頃に話題になったらしいDual EC DRBGの問題について、日本語のまとまった情報があんまりなかったので、自力で少し調べたので備忘録的にまとめます。

どんな問題か

2013年9月に元NSA職員のエドワード・スノーデン氏による秘密文書問題で明らかになった、NSAによるインターネット上の情報の傍受・暗号解読のバックドア組み込み等の一連の問題を発端とするセキュリティ問題。
http://itpro.nikkeibp.co.jp/article/NEWS/20130920/506064/

NIST(米国商務省標準技術研究所)は上記秘密文書の内容を受けて、セキュリティ技術の標準化にNSAが関わっていることを明らかにし、標準化した「SP 800-90/90A」についても、セキュリティ上の懸念があるとして使用を控えるよう声明を発表した。
http://www.cryptrec.go.jp/topics/cryptrec_20131106_dual_ec_drbg.html

Dual EC DRBGについては2007年11月より、セキュリティ専門家で暗号研究家のブルース・シュナイアー(Bruce Schneier)氏より、そのアルゴリズムの欠陥について指摘されていた。
https://www.schneier.com/blog/archives/2007/11/the_strange_sto.html

このアルゴリズムを世界的に有名なセキュリティ企業であるEMC社(旧RSA社)の提供する暗号ライブラリ「RSA BSafe」にて標準として採用し続けていた。この裏にはNSAからの裏金(1000万ドル)を受けて採用していたとのエドワード・スノーデン氏からのリーク情報がある。 なお、本件については当然ながらEMC社は否定している。
http://www.atmarkit.co.jp/ait/articles/1402/27/news061.html

 

Dual EC DRBGとは

Dual ElipticCurve DeterministicRandomBitGeneratorの略で、楕円曲線問題から生成する擬似乱数生成器アルゴリズム
https://projectbullrun.org/dual-ec/description.html

 

擬似乱数生成器(PRNG)とは

暗号化において重要な役割をもつ乱数を生成するためのアルゴリズム。
乱数が予測できてしまうと、あるノードの暗号通信を傍受し続け、ある段階での暗号通信の解読に成功した場合、乱数の予測によりその他のすべての暗号文の解読が容易に行えるようになってしまうと言う問題がある。 そのため乱数生成器は再現や予測ができないことが重要になる。
また、生成される乱数の種類が少ないとそれだけ総当りにかかる時間が短くなってしまうので、非常に大きな乱数を生成する必要がある。

 

この問題で気になった点

RSA BSafe という暗号化ライブラリで、Dual EC DRBGが標準として採用されていた。
この旧RSA社だが、我々の身近でかつ重要なところで使われていている製品がある。
RSA SecurityのSecurID製品だ。具体的に言うとネット銀行などが顧客向けに配っているOTPトークンだ。
https://www.google.co.jp/search?q=RSA+Security+%E3%83%88%E3%83%BC%E3%82%AF%E3%83%B3&num=100&newwindow=1&safe=off&client=firefox-a&rls=org.mozilla:ja:official&hl=ja&channel=fflb&source=lnms&tbm=isch&sa=X&ei=_6r5U-SCC47s8AW6wYLoAQ&ved=0CAgQ_AUoAQ&biw=1728&bih=1019

2要素認証の先駆けとしてRSA社が世界的にほぼ独占的に発行している。
SecurIDトークンについても、いわば6桁の数字の乱数を1分ごとに表示し続ける機器なわけだが。
これが果たして安全なのかが気になって調べたが、一応EMC社の公式発表ではSecurIDトークンを使用する、Authentication Managerと言う製品では、別のFIPS準拠の乱数生成器を使用しているのでDual EC DRBGは使用していないとのことだ。
http://arstechnica.com/security/2013/09/we-dont-enable-backdoors-in-our-crypto-products-rsa-tells-customers/

ただ、気になるのはこの製品の最新バージョンが2013年12月にVer8.1って発行されているので、最新バージョンはさすがにこれらの問題に対応してそうだけどそれ以前のバージョンってどうなのか気になるなあ。
まぁ、トークン本体に関してはそもそも6桁の数字を生成するだけだし、顧客に配っちゃうものだからアップデートで良くなるもクソもないか。。。

Pocket

,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)