2017-10-04 8 views
0

問題の説明:TLS 1.0で起こっている第2の手ぶれ

WindowsラップトップからWindows IISサーバーにTLS 1.0に接続しようとしています。私たちは相互認証をIISでセットアップしています。

握手のために行われたコールは、以下を参照してください。

enter image description here

だから、フレームなし4にハロークライアントで始まり、その後、次のステップServerでそれが証明書の送信および暗号がネゴシエートされています。そして12番のフレームでは、ハンドシェイクが終了したようです。フレーム番号13では、クライアントはアプリケーションデータの送信を開始します。

しかし、フレーム14では、Serverはhelloを送信し、2番目のハンドシェイクが表示されます。私の下の質問に答えてください。

質問>>相互認証では、クライアントはサーバー証明書を要求します。そして、サーバーはクライアント証明書を要求します。そして両方が互いの証明書を認証すると、クライアントはアプリケーションデータの送信を開始します。これは相互認証のための通常のプロセスではありませんか?

質問>>フレーム13で、クライアントは既にアプリケーションデータの共有を開始しています。それでは、IISがフレーム21で2度目の手振れを求めているのはなぜですか?

質問>> 2番目の手ぶれは、クライアント証明書を取得するためのものです(フレーム24)。しかし、サーバーがフレーム13より前にクライアント証明書を要求するべきではありません。

このIISの動作が間違っていることに同意する場合は、これを修正する方法として提案してください。

ありがとうございます。

答えて

0

このシナリオは、サーバーがすべてのリソースに対して相互認証を要求するのではなく、特定のリソースにアクセスする場合にのみ発生します。したがって:

  • クライアント証明書のない初期ハンドシェイクが行われます(フレーム4..12)。
  • クライアントはHTTP要求(フレーム13)を送信します。
  • この要求に基づいて、サーバーはクライアントが相互認証を必要とするリソースにアクセスすることを好むことを認識します。したがって、サーバは、Hello要求(フレーム14)を使用して新しいハンドシェイクを要求する。
  • 今回はクライアント証明書(フレーム15..25)で新しいハンドシェイクが行われました。
  • サーバーは、クライアントの認証が成功した後にHTTP応答を送信します(フレーム26,29)。
+0

ありがとうございますSteffen .....私たちは、最初の手ぶれですべての検証を強制することができます....どうすればいいか教えてください.....また、メインフレームのCICSアプリケーションでIISサーバー.....私たちは、IISにTLS 1.0とTLS 1.2の両方を使用してCICSを呼びました.....両方のシナリオで2つ目の握手を見ています.... TLS1.2では、2番目の握手は成功しています...しかし、TLS 1.0の場合、2番目のハンドシェイクは失敗しています.....なぜこれが起こっているのかを知りません.... – Kowshik

+0

@Kowshik:IISの設定方法と実装方法についてはわかりません。しかし、クライアント証明書がサイト全体ではなく特定のリソースに対してのみ必要な場合は、要求されたリソースが最初の成功したハンドシェイクとクライアントからの最初の要求の後でしか認識されないため変更できません。なぜそれがTLS 1.0では失敗しているのですが、TLS 1では失敗しています。2:私は考えていないが、これはとにかく問題に関する独自の(異なる)詳細を必要とする別の質問になるだろう。 –

関連する問題