私はpcapファイルを解読しようとしています。このpcapファイルには、HLSで暗号化されたビデオストリームのキャプチャが含まれています。 pcapにはTLSv1.2パケットが含まれています。非RSA TLS1.2パケット解読
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:
は、以下のpcapファイル
サーバーのHelloメッセージの暗号スイートからいくつかの情報です。
ECのDiffie-HellmanサーバPARAMS:pubkeyで(1)
ザ証明書ステータスメッセージ:
署名ハッシュアルゴリズムハッシュ:SHA256
署名ハッシュアルゴリズムシグニチャーECDSA
クライアント鍵交換メッセージ
ECのDiffie-HellmanサーバPARAMS:pubkeyで(2)
Iはthis Wireshark SSL decryption tutorialに追従しようとしました。しかし、それはRSAの暗号化のためだけに働くようです。 私はしばらくの間研究しており、this discussionが見つかりました。
心に重要なパラメータがあります:私はこの議論からの抽出物を引用しています(サーバの秘密鍵のコピーを持つ)受動 記録されたセッションの復号 鍵交換タイプであった場合にのみ機能しますRSAまたは静的DH。 "DHE"と "ECDHE" 暗号スイートを使用している場合は、サーバーの秘密鍵の知識が であっても、そのようなセッションを復号化することはできません。その場合、あなたはどちらか交渉し、「マスター・シークレット」 が必要になります、または積極的に接続
を傍受するために、サーバのプライベート キーを使用することは、私はクライアントの秘密鍵を持っていることをノートに値するのです。私の場合、クライアントはFFmpegビデオストリーマー(FFplay)です。私はTLS v1.2 RFCでも見ました。
私の質問:
このシナリオでは復号化は可能ですか?はいの場合は、そのためには何が必要ですか?
クライアントの秘密鍵を使用するか、pre_shared_master(Diffie-Hellman)を使用して復号化を行っていますか?
事前共有秘密が必要です。クライアントキーとは何ですか?証明書の秘密鍵ですか?認証にのみ使用されます。 –
あなたの返信ありがとう本当にありがとう!事前共有秘密が必要な場合は、それはDiffie-Hellman公開鍵ですか? RFC(https://tools.ietf.org/html/rfc5246#section-8.1.2)ではそれほど明確ではありません。クライアントプライベートキー(FFmpegキー)は、(https://github.com/FFmpeg/FFmpeg/blob/415f907ce8dcca87c9e7cfdc954b92df399d3d80/libavformat/tests/rtmpdh.c)にあります。これは256文字の長い文字列静的const char * private_key –