RSA SecurIDに対する攻撃

追記: RSA社は攻撃手法の詳細を把握しているようだ: http://d.hatena.ne.jp/ukky3/20110402/1301757824
(文中のC&CはCommand and Controlを指す。原文参照。)
RARはアメリカやヨーロッパの一部では非常に普及している。

以前の内容

RSAという名前の会社が攻撃され、SecurIDに関する秘密が盗み出されたのではないかと報道されている。
非常に紛らわしいが、RSA暗号自体が脆弱になったわけではない同じ名前の会社サイバー攻撃され、その結果としてSecurIDに関する情報が盗み出されたのではないかという懸念となる。*1
このRSA SecurIDを採用している企業は日本にも多い。有名なところではジャパンネット銀行(JNB)が有る。

一般ユーザの対応

もし、RSA SecurIDを持っていて認証に使用しているとしても、直ちにその認証が危険になることはないと考えられる。
(SecurIDでのログインは通常のパスワードとセットで行われるので、)一般的なセキュリティ上の注意点を守り続けることが重要と言える。つまり :

  • 信頼された端末でのみログインする
  • 脆弱なパスワードを避ける
  • パスワードやID名を他のサービスと共用しない
  • セキュリティトークンを紛失しない

現在のところ、トークンの交換等のアナウンスは出ていない。

SecurIDの概要

(ジャパンネット銀行の解説が参考になる : http://www.japannetbank.co.jp/token/onetime/about.html )
SecurIDは、いわゆる"ワンタイムパスワード"を生成するためのハードウェア(セキュリティトークン)とその認証のためのソフトウェアソリューションの組み合わせの製品。写真に載っているような、数字の出るキーホルダーがセキュリティトークンとなる。
セキュリティトークンは、簡単には乱数生成機であり、例えば次のような計算をして画面に表示する。

SHA1(内蔵している秘密鍵 + 分単位の現在時刻)

同じ値は、同じ秘密鍵をインストールしたサーバでも計算できる。つまり、ハッシュの下数ケタを入力してサーバに示すことで、適切な秘密鍵を所持していることを検証できる。
ハッシュの要素には現在時刻が含まれているので、同じハッシュは2度と有効になることは無いと考えられる。
(実際のアルゴリズムに興味が有るなら、いくつかのリバースエンジニアリングが有る: http://en.wikipedia.org/wiki/SecurID#Technical_details ただし、RSA社はアルゴリズムを(AESベースのものに)変えたとしている。)

盗むとしたら ?

SecurIDの安全性は、今のところ4つの要素で構成されている。つまり :

これらのうち、何が盗まれたのかについては情報が無い。
SecurIDが(暗号システムとして)適切に実装されているならば、顧客はseedさえ守ればシステムを健全にすることができる。
健全な暗号システムは、アルゴリズム(や、プロトコル)が公開されていても安全であり続けるため、それらの機密は特に重要ではない。実際、2に関しては一般に提供されているPC向けソフトウェアでも実装されているため、特にRSA社自体に侵入する必要性は無い。
重要なのは、それ以外の、暗号システム自体を構成していない部分の機密情報となる。
例えば、(Debian/UbuntuSSHや、PS3が危殆化したときのように、)seedの生成自体に脆弱性が存在した場合、SecurIDのシステム全体を危険にする。このような情報はRSA社自体に侵入しないと得られない。また、トークンや認証サーバ自体の脆弱性も、今回の侵入をきっかけに発見される可能性がある。
どちらにせよ、続報を待つ必要が有る。

*1:もちろんRSA社はRSAと無関係ではない。