CVE-2013-2566 はRC4に対する実際的な攻撃ですか、それとも概念的なものですか?WPA/TKIPにのみ適用されますか?
Matthew Greenによると のように、攻撃は「実現可能性の端」にあります。概念的には、RC4を使用するすべてのプロトコルに適用されますが、他のプロトコルよりも脆弱です。
RC4の弱点は、出力の最初のバイトのバイアスです。 RC4はキーから疑似ランダムバイトの長いストリームを生成し、暗号化はそのストリームで暗号化するデータのバイトごとのバイト数XORです。したがって、同じデータが暗号化されると複数回(毎回異なるキーを使用)、RC4出力のバイアスは秘密データの回復に変換されます。たとえば、出力の17番目のバイトの値が他の255バイト(架空の値)よりも頻繁に0x42であるとします。説明的な番号。同じメッセージが繰り返し暗号化されるため、その17番目のバイト(これをxと呼びましょう)は、RC4出力の17番目のバイトとXORされます。暗号化されたすべてのメッセージを観察する攻撃者は、たとえば、出力の17番目のバイトは他のどの値よりも多くの場合0x7Cです。攻撃者は、観測された値0x7CがRC4出力の17番目のバイトが0x42である場合に対応すると推測します[ x XOR 0x42 = 0x7C、つまりx = 0x3E。攻撃者は、1バイトの平文を回復しました。
重要な点は、RC4出力の最初のバイトのみにバイアスがあり、「妥当な」時間で悪用される可能性があることです。バイアスはまだわずかです。このようなバイアスを確実に観察するには、すべて同じ秘密データを持つ何百万観察された暗号化が必要です。
Webセットアップ(HTTPSを使用)では、攻撃は次のようになります。
www.example.com
と呼びましょう。攻撃者はそのCookieを必要としています。www.example.com
ではない)へのHTTP(HTTPSではない)リクエストに対する応答に、悪意のあるJavaScriptを挿入します。そのJavascriptは、https://www.example.com
へのHTTP GET呼び出しを繰り返しトリガーします。 Webページに非表示の<img>
タグを作成する。現実的には、攻撃者は、たとえば1秒あたり10接続を超えることを期待することはできません。また、これらの接続はすべてターゲットサイト(www.example.com
)に到達し、アラートが発生する場合があります。攻撃者が30時間ほど全速で攻撃を続行できる場合、攻撃者は1つまたは数個のcookieバイト(RC4バイアスが最も重要な位置でストリームに表示されるバイト)を推測できます。
結論は、実際のところ攻撃は実現可能性の端にあるということです。それは実験室の条件で実証できますが、実際には発見されていません。まだ。
WPA/TKIPの場合も同じ原則を適用できますが、そのプロトコルでは、個々のパケットごとに独自のRC4ストリームがあり、パケット固有のキーで新しく開始されるため、より実用的です。 100万の収集packetsは、100万の収集TLSハンドシェイクによるTCP接続を観察するよりも確実に簡単です。ただし、弱点は決してその単一のプロトコルに限定されません。それはRC4に実質的であり、RC4を使用するすべてのプロトコルにそれに従います。
noted の場合があります。SSHがRC4を使用する場合、通常は「arcfour128」または「arcfour256」という名前で実行されます。どちらの場合も、これはRC4ですが、出力の最初の1536バイトが削除されています。これらは、最大のバイアスを持つバイトです。したがって、これらのRC4バリアントはプレーンなRC4(SSH用語では「arcfour」として知られている)よりもかなり強力です。
新しいプロトコル設計では、RC4を使用しないでください。本当に「通常の」AES/GCMを超える必要がある場合は、 eSTREAMポートフォリオ のストリーム暗号を検討してください。RC4よりも安全で高速です。ただし、プロトコルの設計はhardであることを忘れないでください。