質問: ハンドシェイク後のtlsおよびalert 21 tls v1.0を実行しているクライアント/サーバーがあり、最初のハンドシェイク後にクライアントから暗号化アラート21を取得し続けます。彼らは暗号ブロック連鎖を使用しており、ブロック暗号の入力長がブロック長の倍数以外のものと異なると復号化失敗アラートが発生する場所を読んだことがありますが、それが本当かどうかを判断するためにこれらの値をどこで見つけることができますか?警告の原因は?下にハンドシェイクシーケンスを添付しました...ありがとう...感謝しますセキュア・ソケット・レイヤーtlsv1 record layer: handshake protocol: client hello ## content type: handshake (22)### version: tls 1.0 (0x0301) length: 254 handshake protocol: client hello handshake type: client hello (1) length: 250 version: tls 1.2 (0x0303) random gmt unix time: jun 25, 1983 13:56:23.000000000 eastern daylight time random bytes: 2761896c45978dc3868cd4858d7a3d5749f7218e40f5fd3f... session id length: 0 cipher suites length: 100 cipher suites (50 suites) compression methods length: 1 compression methods (1 method) extensions length: 109 extension: ec_point_formats extension: elliptic_curves extension: sessionticket tls extension: signature_algorithms extension: heartbeat セキュア・ソケット・レイヤーtlsv1 record layer: handshake protocol: multiple handshake messages content type: handshake (22) version: tls 1.0 (0x0301) length: 1449 handshake protocol: server hello handshake type: server hello (2) length: 77 version: tls 1.0 (0x0301) random session id length: 32 session id: 569d341d4d75bc12b41fa995f22fea93a51d14fa1d612e69... cipher suite: tls_dhe_rsa_with_aes_128_cbc_sha (0x0033) compression method: null (0) extensions length: 5 extension: renegotiation_info handshake protocol: certificate handshake type: certificate (11) length: 816 certificates length: 813 certificates (813 bytes) handshake protocol: server key exchange handshake type: server key exchange (12) length: 540 diffie-hellman server params p length: 128 p: fd7f53811d75122952df4a9c2eece4e7f611b7523cef4400... g length: 20 g: 9760508f15230bccb292b982a2eb840bf0581cf5 pubkey length: 128 pubkey: 73f35da13f584ccb05901f5242f71da41b5f35cc185409a9... signature length: 256 signature: 3b8a31d223c149fb0af62f653be5d61af1297c11c4d6e925... handshake protocol: server hello done handshake type: server hello done (14) length: 0 セキュア・ソケット・レイヤーtlsv1 record layer: handshake protocol: client key exchange content type: handshake (22) version: tls 1.0 (0x0301) length: 134 handshake protocol: client key exchange handshake type: client key exchange (16) length: 130 diffie-hellman client params pubkey length: 128 pubkey: 76ef1851a1202c19b55aebc2cf830cbb023f15f75d7c963a... tlsv1 record layer: change cipher spec protocol: change cipher spec content type: change cipher spec (20) version: tls 1.0 (0x0301) length: 1 change cipher spec message tlsv1 record layer: handshake protocol: encrypted handshake message content type: handshake (22) version: tls 1.0 (0x0301) length: 48 handshake protocol: encrypted handshake message セキュア・ソケット・レイヤーtlsv1 record layer: change cipher spec protocol: change cipher spec content type: change cipher spec (20) version: tls 1.0 (0x0301) length: 1 change cipher spec message セキュア・ソケット・レイヤーtlsv1 record layer: handshake protocol: encrypted handshake message content type: handshake (22) version: tls 1.0 (0x0301) length: 48 handshake protocol: encrypted handshake message セキュア・ソケット・レイヤークライアント->サーバーtlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 32 encrypted application data: 50c0d7383385d5ea8aa08c9a489904b20fb508a1b53ec017... tlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 480 encrypted application data: 18ad9fa298268b2da260c4873075d8116554d3067659a0f6... セキュア・ソケット・レイヤーサーバー->クライアントtlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 352 encrypted application data: a425edb24ceb1fab0516b7cf64e18d571db0f222e606d1a7... セキュア・ソケット・レイヤークライアント->サーバーtlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 32 encrypted application data: 4952a32d5ca081870f74397b4b45d8af9017938b92db648a... tlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 480 encrypted application data: 3a97d944ddabc997a965cc75ed946aa0dd4b13e525f44aff... セキュア・ソケット・レイヤーサーバー->クライアントtlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 32 encrypted application data: 47f3838b409d33cfd039f51e432e7675095f6f724ba7c728... tlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 352 encrypted application data: 8bd4f772427b1bf25901b3cc59cff003d83b02bd11421e62... セキュア・ソケット・レイヤークライアント->サーバーtlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 32 encrypted application data: 1a0750299f160c207a88d6d6b2bc794373b7d45ae845129f... tlsv1 record layer: application data protocol: http content type: application data (23) version: tls 1.0 (0x0301) length: 480 encrypted application data: 094956aa5f580d500d9402bc84696748f6c008d8f75bcafc... セキュア・ソケット・レイヤークライアント->サーバーtlsv1 record layer: encrypted alert content type: alert (21) version: tls 1.0 (0x0301) length: 32 alert message: encrypted alert
回答: ミックスアップですこれはalertdescription 21ではありません。代わりに、これは contenttype 21 です。 enum { change_cipher_spec(20), alert(21), handshake(22), application_data(23), (255) } contenttype; 今何? isアラートですが、どのようなものですか? alertdescriptionフィールドは1バイト幅です 。では、これはどれですか?そして、悲しいことに、答えは...alert message: encrypted alert ...わかりません。暗号化されています。q:しかし、証明書に秘密キーを使用する場合、このパケットダンプを復号化することはできませんか? a:いいえ。この接続は一時的な暗号スイート(つまりcipher suite: tls_dhe_rsa_with_aes_128_cbc_sha (0x0033))を使用したので、 forward secure およびセッションです。証明書の秘密鍵からバルク暗号化鍵を再構築することはできません。新しいトレースを取ります。別のトレースを実行しますが、今回は後で復号化できることを確認します。これを行うには、秘密鍵を準備して、転送保護されていないスイート(名前にdheまたはecdheがないもの)を強制するか、ソフトウェアにセッションキーをどこかにダンプさせます。 ( chromeとfirefoxはこれを実行できます。 )