5

Java が で使用する最も優先される暗号をどのように選択するのかわかりませんServer Hello

Tomcat 5 構成があり、SSL コネクタにciphers=TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, etc

サーバー、つまり Java は、サポートされているクライアントの中で優先されるものとして選択TLS_RSA_WITH_AES_128_CBC_SHAされます。Server Helloしかし、これは最も安全というわけではなく、http: //docs.huihoo.com/java/javase/7/technotes/guides/security/SunProviders.html#SunJSSEProvider に推奨されるリストではありませんTLS_RSA_WITH_AES_256_CBC_SHA
次に、違いを生んだのは server.xml 属性の順序だと思い、別の暗号を最初に配置しました ( TLS_DHE_RSA_WITH_AES_256_CBC_SHA) で、Client Helloそれがサポートされていることがわかります。しかし、これも選ばれず、TLS_RSA_WITH_AES_128_CBC_SHAまた選ばれました。

では、JSSE はどのようにして好みの暗号を選択するのでしょうか? これはどこかに文書化されていますか?ここで何が起こっているのかわかりません。

4

3 に答える 3

4

その必要はありません。RFC 2246が言っているのは、「サーバーが暗号スイートを選択する」ということだけです。最も安全なものを選択するとはどこにも書かれておらず、実際、その選択方法についても何も書かれていません。

于 2012-04-24T10:16:03.800 に答える
1

理解しておくべきこと:クライアントは選択にも発言権を持っています。クライアントが 128 ビット暗号のみをサポートできると言っている場合は、それが選択されます。サポートされているすべての暗号を削除することにより、クライアントが AES 256 をサポートしていることを確認してください。

優先順に暗号のリストを提供していません。クライアントからのものと一致する必要がある受け入れ可能な暗号のリストを提供しています。それらのいずれかが受け入れられない場合は、それらを削除します。

于 2012-04-24T12:57:36.423 に答える
0

2246 (または 5256) は、サーバーがクライアントによって提供された優先順位で相互にサポートされている暗号スイートから暗号スイートを選択するとは言っていないというあなたの声明は正しいですが、NIST 800-57 パート 3 のセクション 4.3、調達ガイダンスでは、次のように述べています。 :

  1. 実装では、クライアントから送信された優先順に暗号スイートを選択する必要があります。
于 2013-06-04T19:54:36.187 に答える