핸드 셰이크 후 TLS 및 경고 21


7

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

1
villican-도움이되지 않는 수정 사항을 추가하지 마십시오.
Rory Alsop

당신 TLS v1.0은 기본적으로 제대로 이해되지 않습니까? 고객이 1983 년을 생각하는 이유가 있습니까?
Ramhound

2
@Ramhound : TLS 1.0 표준은 1999 년에 처음 발표되었습니다.
bwDraco

@bwDraco- 나는 그것을 실제로 알고 있습니다 ................ 당신은 그 두 번째 무관 한 질문의 요점을 완전히 놓쳤습니다. GMT Unix Time: Jun 25, 1983 13:56:23.000000000 Eastern Daylight Time따라서 고객이 왜 Junt 25 1983 @ 1:53 PM GMT를이 게시물과 동일하게 생각하는지 궁금합니다. 시간은 정확하지만 충분히 가깝습니다. 날짜는 정확하지 않습니다. 현재 오후 14:39 GMT이므로 충분히 알고 있습니다.
Ramhound

1
21은 경고 번호가 아니며 "암호화 경고"가 아닙니다. 21은 모든 경보 레코드 의 레코드 유형 이지만 경보 레코드는 암호화되며 Wireshark는이를 해독 할 수 없으므로 "암호화 된 경보"가 표시됩니다. 그것은 수 있습니다 정상이 close_notify하지만이 오류가 있었고 그래서 어떤 경우 생각 있는지 확인하려면 서버 로그를 확인합니다.
dave_thompson_085

답변:


9

믹스 업입니다

이것은 AlertDescription21 이 아닙니다 .

대신 이것은 ContentType21 입니다.

  enum {
      change_cipher_spec(20), alert(21), handshake(22),
      application_data(23), (255)
  } ContentType;

지금 무엇? 그래서 우리는 그것이 경고라는 것을 알고 있습니다. 그러나 어떤 종류입니까? AlertDescription필드에 한 바이트 폭이다 . 그래서 이것은 어느 것입니까? 슬프게도 대답은 ...

Alert Message: Encrypted Alert

... 우리는 모른다. 암호화되었습니다.

Q : 인증서에 개인 키를 사용하는 경우이 패킷 덤프를 해독 할 수 없습니까?
A : 아니요.이 연결은 임시 암호 제품군 (즉, Cipher Suite: TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x0033))을 사용하므로 안전하게 전달 되며 인증서의 개인 키에서 세션 벌크 암호화 키를 재구성 할 수 없습니다.

새로운 흔적을 찾으십시오.

다른 추적을 수행하지만 이번에는 나중에 해독 할 수 있어야합니다. 그렇게하려면 개인 키를 준비하고 비 전달 보안 스위트 ( DHE이름에 ECDHE가 없거나 이름이없는 것)를 강요하거나 소프트웨어가 세션 키를 어딘가에 덤프하도록하십시오. ( Chrome과 Firefox가이를 수행 할 수 있습니다. )


1
Wireshark가 서버 키를 사용하여 해독하려면 DH없는 제품군 (ECDH 포함)이 필요합니다. 엄밀히 말하면에만 DHE와 ECDHE (그리고 거의 사용되지 EC / DH_anon가) 있습니다 임시 및 DH 및 ECDH는 서버 키를 해독 할 수 있지만, 와이어 샤크는 그렇게하지 않습니다. (때로는 수동으로 한두 프레임을했지만, 스스로하는 일은 많은 일입니다.)
dave_thompson_085

@ dave_thompson_085 감사합니다. 내가 왜 "EC"를 썼는지 전혀 모른다.
StackzOfZtuff

4

... 우리는 TLS v1.0을 실행하는 클라이언트 / 서버를 가지고 있으며 최초 핸드 셰이크 후에 클라이언트로부터 암호화 경보 21을 계속받습니다.

클라이언트가 다운 레벨 인 것으로 보이며 업그레이드해야합니다.

에 따르면 RFC 5246, 전송 계층 보안 (TLS) 프로토콜 버전 1.2 , 21 경고 decryption_failed_RESERVED입니다 . 그리고 경고의 의미 :

decryption_failed_RESERVED
   이 경고는 일부 이전 버전의 TLS에서 사용되었으며
   CBC 모드 [CBCATT]에 대한 특정 공격 을 허용 했을 수 있습니다 . 그것은 반드시
   준수 구현으로 보낼 수 없습니다.


경보 번호는 21로 알려지지 않았으며 아마도 그렇지 않습니다. 질문에 대한 내 의견을 참조하십시오. 클라이언트가 2011 년 말 이후에 BEAST에 응답하여 광범위하게 구현 된 1 / N-1 조각화를하고 있음을 주목하십시오. 명시 적 오라클을 차단하기 위해 경보 20 = MAC 및 21 = 'decrypt'= CBC를 병합하는 것이 이미 권장되었습니다. 2009 년에 1.1이었고, 많은 사람들이 1.0에서 사실상 그것을 구현 한 이후였습니다.
dave_thompson_085
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.