web-dev-qa-db-ja.com

アプリケーションリクエストルーティングは、コンテンツサーバーに接続するときにSSLセッションを利用しますか?

ARRがSSL/TLSを使用してコンテンツサーバーに接続するように構成されているシナリオでは、SSLセッション(たとえば、セッション識別子を使用しますか? RFC 5246 )コンテンツサーバーとの後続の接続で省略されたハンドシェイクを利用できるようにしますか?

その場合、コンテンツサーバーとの単一のSSLセッションを使用して複数のクライアントにサービスを提供できますか?

ARRのSSL実装は、基盤となるschannelコンポーネントからのものであり、接続の両側でデフォルトでキャッシュを実行すると思います Secure Sockets Layerサーバーおよびクライアントキャッシュ要素を構成する方法 。しかし、ARRシナリオをサポートする決定的な記事を見つけることができませんでした。

3

Wiresharkを使用して答えを決定した後、自分の質問に答えます。

はい、AARはSSLセッションを利用し、それらのセッションは複数のクライアントにサービスを提供できます。

Wiresharkを使用して、次のことを確認しました。


Client1 -> AAR          GET /foo

AAR -> ContentServer    Client Hello
ContentServer -> AAR    Server Hello, Certificate, Server Hello Done
AAR -> ContentServer    Client Key Exchange, Change Cipher Spec, 
                        Encrypted Handshake Message
ContentServer -> AAR    Change Cipher Spec, Encrypted Handshake Message
AAR -> ContentServer    <encrypted application data>

Client2 -> AAR          GET /bar

AAR -> ContentServer    Client Hello
ContentServer -> AAR    Server Hello, Change Cipher Spec, 
                        Encrypted Handshake Message
AAR -> ContentServer    Change Cipher Spec, Encrypted Handshake Message
AAR -> ContentServer    <encrypted application data>

これは、 SSLの高速化:セッションの再利用を有効にする の図に示されている期待される結果と正確に一致します。

2

まず、答えはわかりませんが、少なくともセッションIDを使用していると思います。

次に、そのような詳細について信頼できるかどうかわからないドキュメントを調べるのではなく、トラフィックをスニッフィングし、100%正解を保証する方法で調べます。トラフィックをさまざまな効果に操作できるプロキシに関しては、これが最も簡単な方法だと思います。実際には、私が信じていることを実行しますか?

「スニッフィング」を正しく覚えていれば、SessionIDは暗号化されていないSSLパケットヘッダーの一部であり、Wiresharkまたはその他のパケットアナライザーですぐに表示できます。

最後に、完全な洞察を得るために復号化を行いたい場合 これも可能ですそしてここでも 、2番目の質問に推論ではなく明示的なフローデータを使用して回答します。

2
ErikE