2008年12月08日

ワンタイムパスワードSecureIDの脆弱性とオフライン鍵検索攻撃 ---- RFC3552より

IETFにより定められたRFC3552(2003年7月)は、全てのRFC著者に考慮すべきセキュリティに関するガイダンスを提供することを意図した文書である。
この文書の4.1.2項「チャレンジレスポンスとワンタイムパスワード」に以下の記述がある。この中にSecureIDの安全性を否定する重大な事柄が書かれている。
即ち、SecureID や DES Gold はリプレイ攻撃に対する防護を提供するが、「オフライン鍵検索攻撃」に対して脆弱なままである。理由は、ワンタイムパスワードはクライアントとサーバの両者によって共有された秘密から計算されるので、攻撃者が使われている関数を知っている場合、攻撃者は正しい出力を作り出すものを発見するまで、すべての共有された秘密の候補を試すことができる、とのことである。

RFC3552の原文は7/16の書き込みで示したとおりであるが、その日本語訳がIPAで公開されていたので該当箇所を以下に示す。
http://www.ipa.go.jp/security/rfc/RFC3552JA.html

4.1.2. チャレンジレスポンスとワンタイムパスワード
ユーザ名/パスワードよりも高いセキュリティを要求するシステムは、しばしば、ワンタイムパスワード [OTP] スキームかチャレンジレスポンスのいずれかを採用します。ワンタイムパスワードスキームにおいて、ユーザには、パスワードのリストが提供され、これは、順番に毎回 1つずつ使わなければならないものです。(しばしば、これらのパスワードは、何らかの秘密鍵から生成されるので、ユーザは、単純に、順番 に次のパスワードを計算できます。) SecureID や DES Gold は、このスキームの流派です。チャレンジレスポンスのスキームにおいて、ホストとユーザは、何らかの秘密を共有します。(これは、しばしば、パスワードとして現れます。)ユーザを認証するために、ホストは、ユーザに(乱雑に生成された)チャレンジを提供します。ユーザは、チャレンジとその秘密に基づくいくつかの関数を計算し、それをホストに提供し、ホストはそれを検証します。しばしば、この計算は、DES Gold カードのような携帯デバイスで処理されます。

両種のスキームは、リプレイ攻撃に対する防護を提供しますが、しばしば、「オフライン鍵検索攻撃」(待ち伏せ攻撃の 1 形態)に対して脆弱なままです。: 既述のように、しばしば、ワンタイムパスワードやレスポンスは、共有された秘密から計算されます。攻撃者が使われている関数を知っている場合、彼は、正しい出力を作り出すものを発見するまで、すべての共有された秘密の候補を単に試すことができます。共有された秘密がパスワードであり、「辞書攻撃」をしかけることができる場合、これは容易になります。(「単なる乱雑な文字列ではなく、通常の単語(もしくは文字列)のリストを試すこと」を意味します。)これらのシステムは、しばしば、積極的な攻撃に対しても脆弱です。通信セキュリティがセッション全体について提供されない限り、攻撃者は、単に、認証が行われるまで待って、コネクションをハイジャックすることができます。
posted by ダンケルク at 19:35| Comment(0) | TrackBack(0) | セキュリティ | このブログの読者になる | 更新情報をチェックする
×

この広告は90日以上新しい記事の投稿がないブログに表示されております。