クライアント認証で構成された TLS ハンドシェークでは、サーバーがクライアントの証明書を受信し、それを信頼するかどうかを選択するステップがあります (たとえば、Java では TrustManager を介して行われます)。
サーバーからの最終的な「信頼の失敗」メッセージが、クライアントが実際にその公開鍵を所有していることをサーバーが確認する前または後に送信されるかどうかを知りたいです(たとえば、クライアントの秘密でエンコードされたハンドシェイクから最初のいくつかのメッセージを受信することによって)鍵)。
私の質問の目的は、このクライアントのふりをして彼の公開鍵を使用することにより、サーバーがクライアントを信頼しているかどうかをサードパーティが確認できるかどうかを確認することです。
注: TLS が特定のセキュリティ要件を持つコンテキストで使用される場合、リスクは現実のものになります。たとえば、ピア間で TLS を使用し、連絡先リストからピアを認証する方法として TrustManager を使用する P2P アプリケーションを考えてみましょう。この連絡先リストは非公開にする必要があります。ISP は、ノードが通信する相手の IP を一覧表示し、それから TLS ハンドシェイクを開始して公開証明書を取得し、IP リストにあるノード同士を接続しようとすることができます。最終的に、ISP は非公開であるはずの連絡先リストの大部分を取得できます。