web-dev-qa-db-ja.com

弱い暗号スイートを使用したHTTPSはどの程度安全ですか?

今日、私はWebサイト https://mtgox.com/ に出くわしました。私は好奇心から証明書をチェックしました(それは彼らが最初に主張するものです、「安全」の安全性を見てみましょう)、それはメッセージ認証のためのMD5を備えた128ビットRC4でした。

私の知る限り、AESは現在のところ最も優れた対称暗号化アルゴリズムです。 RC4も大丈夫のようですが、ウィキペディアは新しいシステムでの使用に反対しています。そして、MD5 ...批判の負荷にもかかわらず、ハッシュに十分な賞金がない場合、実際には十分に安全であるように見えますが、それを使用することにはまだ多くの批判があります。

また、クリアテキストは<head>の一部、そして確かにdoctypeのように、ここでは部分的に知られていることに注意してください。これがRC4の攻撃で使用できるかどうかはわかりません。

それでは、この暗号スイートは本当にどれほど安全ですか?この接続を改ざんするには何が必要ですか?または、無制限の時間を想定して、送信されたデータを読み取るには何が必要ですか?また、使用されている下位のスイート、たとえば一般的ではあるが古くなったブラウザ(FF3.6、IE8など)も使用されていますか?

8
Luc

RC4は安全であると見なされなくなりました。TLSでの使用を明示的に禁止するドキュメントがあります: RFC7465

現在RC4を使用しない必要があります。

暗号に関する古い情報は危険なので更新された投稿

2012年に投稿された古い情報:

RC4は安全です。実際、TLS 1.2を使用していない場合は、RC4を使用してBEASTから保護する必要があります。

MD5は安全ではありませんが、MAC機能として使用した場合、まだ壊れていません

MD5ハッシュを無効にすると、SHA-1とネゴシエートします。実際、RC4を無効にすると、AESをネゴシエートします。 https://www.ssllabs.com/ssltest/analyze.html ?d = mtgox%2ecom&s = 72%2e52%2e5%2e67

8
Hubert Kario

現在(2013年3月)のRC4の既知の弱点は、統計的バイアスです。

  • ストリームの最初の数バイト、特に2番目のバイトはかなり偏っています。つまり、攻撃者が多くのSSLセッションを観察した場合、クライアントまたはサーバーが送信した2番目のバイトが何であるかを推測できます(セッションの開始時)。しかし、それは彼にあまり教えません:攻撃者はすでにクライアントが送信した2番目のバイトが 'E'(HTTP 'GET 'リクエスト)、サーバーから送信される2番目のバイトは' T '(HTTP応答の場合、常に' HTTP 'で始まる).

  • 他のバイアスは、バイトのペアについてであり、本来あるべき可能性よりも低くなります。バイアスは、1ギガバイトのRC4出力を観察した後に表示できます。しかし、ラボの条件の偏りを観察することと、暗号化されたデータから何かを推測することは、2つの異なるものです。このRC4のバイアスをSSLへの実際の攻撃に変える既知の方法はありません(私が聞いた最も可能性の高いシナリオは、すべて同じ秘密データ(Cookieまたはパスワードなど)を含む数十億の接続を確実に観察することです。予測可能な場所-それは数千年の患者の盗聴しかかかりません)。

現在(2013年3月)のMD5の既知の弱点は次のとおりです。

  • 衝突への非耐性(2004年のWangの攻撃以降)。
  • プリイメージに関する理論的な弱点(ただし、コストは2以上)123、それは「理論のみ」の領域にはかなり遠いです。

SSLで使用した場合、MD5には直接影響しません。実際、SSLは [〜#〜] hmac [〜#〜] の一部としてMD5を使用します。これは、MD5で使用される圧縮機能が-と区別できないかどうかにセキュリティを関連づける「セキュリティ証明」を持っています [〜#〜] prf [〜#〜] 。 MD5の圧縮関数はPRFではないことが知られています。それは1996年以来知られていて、その圧縮関数に関するDobbertinの仕事です。これにより、HMACのセキュリティ証明が「適用外」になります。ただし、そのHMAC/MD5が安全であることが証明されていないことは、安全でないことが証明されていることを意味するものではありません。現在、HMAC/MD5に対する実際の攻撃は確認されていません。これに対応して、SSLでの使用は依然として「安全」です。

これは、MD5の前身である MD4 の状況で裏付けられています。 MD4はvery衝突に関して、MD5よりもはるかに壊れています(同じマシンがMD5衝突を構築するのに数秒かかりますが、 1秒あたりのMD4衝突数ミリオンを構築します)。 MD4に対するプリイメージ攻撃も知られていますが、理論的なもののみです(2分の1のコスト)。102)。 HMAC/MD4には「ほぼ実用的な」攻撃があり、2の偽造につながります58queries(攻撃するSSLクライアントまたはサーバーに、攻撃者が選択したデータについて、同じセッション内でその多くのSSLレコードを計算するように説得する必要があります。 1つの偽のレコード)。これは、ifSSLがMD5ではなくMD4を使用していたことを意味しますが、現時点では「実用的に安全」であり、「高度な警告フラグ」があるだけです。 「より良いものに移行する必要性について。 MD5は、すべての点でMD4よりも堅牢であるため、パニックする必要はありません。


そしてもちろん、これは証明書とは関係ありません。サーバーがRC4、AES、MD5、SHA-256のいずれを使用するかは、証明書に記述されていないので、Verisignが完全にアクセスできないやってみたいです。証明書のジョブはサーバー公開キーで終了し、サーバーがその公開キーを使用して行うことはもちろんのこと、サーバーがセッションで実行することはカバーされません公開鍵を使用して交換された鍵。

7
Thomas Pornin

この暗号スイートに対する既知の攻撃はありません。私はそれを「弱い」とは言いません。この暗号スイートを選択することは、私がベストプラクティスと呼ぶものではありませんが、他の誰かがあなたのために選択し、あなたがそれを使用できない場合は、おそらく問題ありません。それがシステムの最も弱いリンクになることはまずありません。

3
D.W.