web-dev-qa-db-ja.com

エフェメラルRSAでSSL / TLS暗号化アラートコードを読み取る方法

WebサーバーでSSL暗号化アラートをデバッグしようとしています。問題が何であるかはわかりませんが、動作しているように見えますが、WiresharkにTLSv1暗号化アラートが多数表示されているので、そこにあるべきではないと感じています。

TLSv1アラートプロトコル( http://en.wikipedia.org/wiki/Transport_Layer_Security#Alert_protocol )は、何が問題なのかを示すエラーコードを提供しますが、残念ながらこのコードは暗号化されています。

Wiresharkでは、SSL設定ページで秘密鍵(私が持っている)を提供することにより、SSLを復号化できます。ただし、セッションがEphemeral RSAでセットアップされているため、これは機能しません(Sharkfest'09 http://sharkfest.wireshark.org/sharkfest.12/presentations/MB-1_SSL_Troubleshooting_with%20_Wireshark_Software.pdf 59ページ)。

このアラートコードの読み方を知りたいのですが。次のいずれかが私をそこに連れて行きます:
a)EphemeralRSAを使用してWiresharkにSSLを復号化させる
b)Wiresharkが復号化できるように、エフェメラルRSAの使用は避けてください
c)SSLにnull暗号化を強制的に使用させて、コードを読み取ってデバッグできるようにします

7
user1967117

b)Wiresharkが復号化できるように、エフェメラルRSAの使用は避けてください

WebサーバーがApacheの場合は、次のことを試してください。

httpd.conf

SSLProtocol +all -SSLv2 -SSLv3
SSLCipherSuite -kEECDH:-kEDH:+kRSA:+HIGH:+MEDIUM:-LOW:-EXP

c)SSLにnull暗号化を使用させて、コードを読み取ってデバッグできるようにします

これは少し難しいかもしれませんが、eNULLをリストの先頭に移動してみてください。 eNULLはおそらくクライアントによって拒否されますが、試してみる価値はあります。クライアントが暗号(または、さらに言えばaNULL)を許可しないため、拒否されると思います。

クライアントにeNULLがある場合でも、それは使用されない可能性があります。サーバーは通常、クライアントの暗号を尊重するため、クライアントがeNullを要求しない限り、サーバー構成のオーバーライドを見つける必要があります。

1
jww