无法在TLS交换中查看Diffie-Hellman参数(p,g,Y)

时间:2015-08-04 22:02:40

标签: ssl openssl cryptography diffie-hellman

我有以下输出(从发布的总输出中选择)并且我试图弄清楚如何在握手期间查看Diffie-Hellman参数。根据我的理解(通过RFC 5246),这些参数应该可以在ServerKeyExchange消息中查看,但是我很难理解如何将下面的数据解析为我需要的值。我试过分析Wireshark中的握手,但没有运气提取所需的值。任何帮助将不胜感激。

证书

<<< TLS 1.2 Handshake [length 08d8], Certificate
    0b 00 08 d4 00 08 d1 00 04 a2 30 82 04 9e 30 82
    03 86 a0 03 02 01 02 02 03 04 24 1f 30 0d 06 09
    2a 86 48 86 f7 0d 01 01 0b 05 00 30 47 31 0b 30
    09 06 03 55 04 06 13 02 55 53 31 16 30 14 06 03
    55 04 0a 13 0d 47 65 6f 54 72 75 73 74 20 49 6e
    63 2e 31 20 30 1e 06 03 55 04 03 13 17 52 61 70
    69 64 53 53 4c 20 53 48 41 32 35 36 20 43 41 20
    2d 20 47 33 30 1e 17 0d 31 35 30 35 30 34 31 36
    34 36 32 36 5a 17 0d 31 38 30 35 30 35 31 35 31
    34 35 33 5a 30 81 8d 31 13 30 11 06 03 55 04 0b
    13 0a 47 54 31 36 33 30 34 38 34 31 31 31 30 2f
    06 03 55 04 0b 13 28 53 65 65 20 77 77 77 2e 72
    61 70 69 64 73 73 6c 2e 63 6f 6d 2f 72 65 73 6f
    75 72 63 65 73 2f 63 70 73 20 28 63 29 31 35 31
    2f 30 2d 06 03 55 04 0b 13 26 44 6f 6d 61 69 6e
    20 43 6f 6e 74 72 6f 6c 20 56 61 6c 69 64 61 74
    65 64 20 2d 20 52 61 70 69 64 53 53 4c 28 52 29
    31 12 30 10 06 03 55 04 03 0c 09 2a 2e 68 6f 6d
    65 2e 70 6c 30 82 01 22 30 0d 06 09 2a 86 48 86
    f7 0d 01 01 01 05 00 03 82 01 0f 00 30 82 01 0a
    02 82 01 01 00 b9 1d a1 01 64 e7 b3 90 b5 91 4f
    3f 5e 8d ab ce 31 d5 e4 37 e5 28 8f c9 18 f7 c7
    a7 06 fe 2e ea 06 92 7c ed b3 e0 f6 81 13 56 1f
    54 d8 49 83 57 ad 74 24 40 35 3c 72 60 f4 d4 ba
    36 1d b8 06 45 24 ef f6 98 58 b1 01 4a d8 55 a3
    bb 47 16 3e 53 7c 5e 08 49 f1 51 24 72 53 4b df
    0d 0c 2e 36 20 63 e5 d5 bc c7 31 62 69 84 57 b8
    1d d1 db 5f 9e 28 09 50 4c bd 15 34 e1 5b 83 be
    06 e5 0d b2 d2 1d 80 b3 d0 f6 50 c2 28 72 2e be
    bd e5 86 b8 c4 68 05 c7 6e de 5e e9 e6 a8 f5 c9
    60 f5 7e bb fe d4 63 ec f1 92 7a ac 8a d2 f6 8c
    cc 09 9b df ef 52 1e bc ba 86 22 30 65 9d f1 8f
    22 9b d9 c8 d8 47 f1 18 3c 32 49 3e 4d a1 63 c4
    32 58 73 97 57 5d a4 9c 40 8e a0 0f 30 7a 0e 7c
    4e f7 8b 50 25 0c 0f 21 2e 7e 48 ff 02 16 3b b4
    12 53 ef 46 8a 12 60 f5 93 a3 a5 5b 17 1d ec 05
    71 46 88 4e 9b 02 03 01 00 01 a3 82 01 4a 30 82
    01 46 30 1f 06 03 55 1d 23 04 18 30 16 80 14 c3
    9c f3 fc d3 46 08 34 bb ce 46 7f a0 7c 5b f3 e2
    08 cb 59 30 57 06 08 2b 06 01 05 05 07 01 01 04
    4b 30 49 30 1f 06 08 2b 06 01 05 05 07 30 01 86
    13 68 74 74 70 3a 2f 2f 67 76 2e 73 79 6d 63 64
    2e 63 6f 6d 30 26 06 08 2b 06 01 05 05 07 30 02
    86 1a 68 74 74 70 3a 2f 2f 67 76 2e 73 79 6d 63
    62 2e 63 6f 6d 2f 67 76 2e 63 72 74 30 0e 06 03
    55 1d 0f 01 01 ff 04 04 03 02 05 a0 30 1d 06 03
    55 1d 25 04 16 30 14 06 08 2b 06 01 05 05 07 03
    01 06 08 2b 06 01 05 05 07 03 02 30 1d 06 03 55
    1d 11 04 16 30 14 82 09 2a 2e 68 6f 6d 65 2e 70
    6c 82 07 68 6f 6d 65 2e 70 6c 30 2b 06 03 55 1d
    1f 04 24 30 22 30 20 a0 1e a0 1c 86 1a 68 74 74
    70 3a 2f 2f 67 76 2e 73 79 6d 63 62 2e 63 6f 6d
    2f 67 76 2e 63 72 6c 30 0c 06 03 55 1d 13 01 01
    ff 04 02 30 00 30 41 06 03 55 1d 20 04 3a 30 38
    30 36 06 06 67 81 0c 01 02 01 30 2c 30 2a 06 08
    2b 06 01 05 05 07 02 01 16 1e 68 74 74 70 73 3a
    2f 2f 77 77 77 2e 72 61 70 69 64 73 73 6c 2e 63
    6f 6d 2f 6c 65 67 61 6c 30 0d 06 09 2a 86 48 86
    f7 0d 01 01 0b 05 00 03 82 01 01 00 82 b9 cf f2
    32 9e 73 cb 54 99 c4 fe 97 50 80 64 51 a5 81 f0
    d2 d2 0d 4a e3 81 e0 b1 60 7b d1 2b 54 f6 fd 8d
    d1 11 b1 4f 32 a3 f6 b1 28 a2 38 a8 dc 36 81 30
    f8 c6 ae 0d 46 4f dc e8 11 71 a4 09 0b ef 2a 53
    51 89 bf 79 0f d9 a5 e5 60 b7 c7 9d ce 18 c9 ec
    e2 91 d7 f3 c8 5a 43 b1 9c 54 43 9d 67 77 54 02
    df f3 82 91 91 81 71 4e 57 16 62 54 7a b2 e4 41
    c7 16 98 0a 00 2b 73 96 af ba d7 93 35 1c 3b d1
    1e 41 84 98 28 5b 6a e6 cb 89 43 5d 73 1d 8e 10
    bb eb 12 3c 03 82 87 14 f8 dc c8 31 01 c9 84 f0
    bf 07 bd c7 7e e7 87 30 29 3a fb ee 3a 69 b6 7e
    aa 99 a0 0d 98 2c 36 90 1a 74 f9 17 9e cc 0f 6e
    0d 58 25 3b da 23 e6 75 04 11 50 ee f8 fb 40 c8
    e8 c0 d8 1c ff 68 e8 f6 7a 1e c0 67 d8 1d 27 fa
    55 48 50 d2 c6 a6 23 dd 6c b6 8b 2c b6 20 0f dc
    c4 c3 6c 61 81 c5 66 88 15 2c 27 ba 00 04 29 30
    82 04 25 30 82 03 0d a0 03 02 01 02 02 03 02 3a
    77 30 0d 06 09 2a 86 48 86 f7 0d 01 01 0b 05 00
    30 42 31 0b 30 09 06 03 55 04 06 13 02 55 53 31
    16 30 14 06 03 55 04 0a 13 0d 47 65 6f 54 72 75
    73 74 20 49 6e 63 2e 31 1b 30 19 06 03 55 04 03
    13 12 47 65 6f 54 72 75 73 74 20 47 6c 6f 62 61
    6c 20 43 41 30 1e 17 0d 31 34 30 38 32 39 32 31
    33 39 33 32 5a 17 0d 32 32 30 35 32 30 32 31 33
    39 33 32 5a 30 47 31 0b 30 09 06 03 55 04 06 13
    02 55 53 31 16 30 14 06 03 55 04 0a 13 0d 47 65
    6f 54 72 75 73 74 20 49 6e 63 2e 31 20 30 1e 06
    03 55 04 03 13 17 52 61 70 69 64 53 53 4c 20 53
    48 41 32 35 36 20 43 41 20 2d 20 47 33 30 82 01
    22 30 0d 06 09 2a 86 48 86 f7 0d 01 01 01 05 00
    03 82 01 0f 00 30 82 01 0a 02 82 01 01 00 af 54
    9b d9 58 5d 1e 2c 56 c6 d5 e8 7f f4 7d 16 03 ff
    d0 8b 5a e4 8e a7 dd 54 2e d4 04 c0 5d 98 9c 8d
    90 0f bc 10 65 5f da 9a d6 44 7c c0 9f b5 e9 4a
    8c 0b 06 43 04 bb f4 96 e2 26 f6 61 01 91 66 31
    22 c3 34 34 5f 3f 3f 91 2f 44 5f dc c7 14 b6 03
    9f 86 4b 0e a3 ff a0 80 02 83 c3 d3 1f 69 52 d6
    9d 64 0f c9 83 e7 1b c4 70 ac 94 e7 c3 a4 6a 2c
    bd b8 9e 69 d8 be 0a 8f 16 63 5a 68 71 80 7b 30
    de 15 04 bf cc d3 bf 3e 48 05 55 7a b3 d7 10 0c
    03 fc 9b fd 08 a7 8c 8c db a7 8e f1 1e 63 dc b3
    01 2f 7f af 57 c3 3c 48 a7 83 68 21 a7 2f e7 a7
    3f f0 b5 0c fc f5 84 d1 53 bc 0e 72 4f 60 0c 42
    b8 98 ad 19 88 57 d7 04 ec 87 bf 7e 87 4e a3 21
    f9 53 fd 36 98 48 8d d6 f8 bb 48 f2 29 c8 64 d1
    cc 54 48 53 8b af b7 65 1e bf 29 33 29 d9 29 60
    48 f8 ff 91 bc 57 58 e5 35 2e bb 69 b6 59 02 03
    01 00 01 a3 82 01 1d 30 82 01 19 30 1f 06 03 55
    1d 23 04 18 30 16 80 14 c0 7a 98 68 8d 89 fb ab
    05 64 0c 11 7d aa 7d 65 b8 ca cc 4e 30 1d 06 03
    55 1d 0e 04 16 04 14 c3 9c f3 fc d3 46 08 34 bb
    ce 46 7f a0 7c 5b f3 e2 08 cb 59 30 12 06 03 55
    1d 13 01 01 ff 04 08 30 06 01 01 ff 02 01 00 30
    0e 06 03 55 1d 0f 01 01 ff 04 04 03 02 01 06 30
    35 06 03 55 1d 1f 04 2e 30 2c 30 2a a0 28 a0 26
    86 24 68 74 74 70 3a 2f 2f 67 2e 73 79 6d 63 62
    2e 63 6f 6d 2f 63 72 6c 73 2f 67 74 67 6c 6f 62
    61 6c 2e 63 72 6c 30 2e 06 08 2b 06 01 05 05 07
    01 01 04 22 30 20 30 1e 06 08 2b 06 01 05 05 07
    30 01 86 12 68 74 74 70 3a 2f 2f 67 2e 73 79 6d
    63 64 2e 63 6f 6d 30 4c 06 03 55 1d 20 04 45 30
    43 30 41 06 0a 60 86 48 01 86 f8 45 01 07 36 30
    33 30 31 06 08 2b 06 01 05 05 07 02 01 16 25 68
    74 74 70 3a 2f 2f 77 77 77 2e 67 65 6f 74 72 75
    73 74 2e 63 6f 6d 2f 72 65 73 6f 75 72 63 65 73
    2f 63 70 73 30 0d 06 09 2a 86 48 86 f7 0d 01 01
    0b 05 00 03 82 01 01 00 a3 58 1e c6 43 32 ac ac
    2f 93 78 b7 ea ae 54 40 47 2d 7e 78 8d 50 f6 f8
    66 ac d6 4f 73 d6 44 ef af 0b cc 5b c1 f4 4f 9a
    8f 49 7e 60 af c2 27 c7 16 f1 fb 93 81 90 a9 7c
    ef 6f 7e 6e 45 94 16 84 bd ec 49 f1 c4 0e f4 af
    04 59 83 87 0f 2c 3b 97 c3 5a 12 9b 7b 04 35 7b
    a3 95 33 08 7b 93 71 22 42 b3 a9 d9 6f 4f 81 92
    fc 07 b6 79 bc 84 4a 9d 77 09 f1 c5 89 f2 f0 b4
    9c 54 aa 12 7b 0d ba 4f ef 93 19 ec ef 7d 4e 61
    a3 8e 76 9c 59 cf 8c 94 b1 84 97 f7 1a b9 07 b8
    b2 c6 4f 13 79 db bf 4f 51 1b 7f 69 0d 51 2a c1
    d6 15 ff 37 51 34 65 51 f4 1e be 38 6a ec 0e ab
    bf 3d 7b 39 05 7b f4 f3 fb 1a a1 d0 c8 7e 4e 64
    8d cd 8c 61 55 90 fe 3a ca 5d 25 0f f8 1d a3 4a
    74 56 4f 1a 55 40 70 75 25 a6 33 2e ba 4b a5 5d
    53 9a 0d 30 e1 8d 5f 61 2c af cc ef b0 99 a1 80
    ff 0b f2 62 4c 70 26 98

ServerKeyExchange

<<< TLS 1.2 Handshake [length 020f], ServerKeyExchange
    0c 00 02 0b 00 80 bb bc 2d ca d8 46 74 90 7c 43
    fc f5 80 e9 cf db d9 58 a3 f5 68 b4 2d 4b 08 ee
    d4 eb 0f b3 50 4c 6c 03 02 76 e7 10 80 0c 5c cb
    ba a8 92 26 14 c5 be ec a5 65 a5 fd f1 d2 87 a2
    bc 04 9b e6 77 80 60 e9 1a 92 a7 57 e3 04 8f 68
    b0 76 f7 d3 6c c8 f2 9b a5 df 81 dc 2c a7 25 ec
    e6 62 70 cc 9a 50 35 d8 ce ce ef 9e a0 27 4a 63
    ab 1e 58 fa fd 49 88 d0 f6 5d 14 67 57 da 07 1d
    f0 45 cf e1 6b 9b 00 01 02 00 80 24 2c 5c c4 23
    56 11 84 b7 da 00 e6 f7 c7 2a 30 d1 73 2d f4 6b
    e8 ce 24 ab 71 16 89 ff 13 3a 9b b7 dc 82 a2 82
    6b d9 85 4e 29 b8 d6 56 fe b6 9b 58 c0 21 a6 90
    ac 9b da 06 8d dd 0b 1e ad 29 51 8c 9b 5a 8a 12
    ff 01 b2 bb b2 e2 9a 71 82 ec f3 e9 f3 93 1c 2e
    9f 15 5c e0 6b e3 bc e5 56 28 8e 17 4b d5 2f ff
    3e b7 bd 96 9f c0 dc 2b 5f 07 66 65 da 1f 66 4c
    60 df 0e d0 89 c8 fd a5 c1 51 e7 06 01 01 00 42
    84 86 57 c8 3e de d7 a9 e3 62 b3 f2 9b 5b 9d a0
    4a c5 8f a9 c0 22 d3 0d e5 07 42 bc 57 05 22 5e
    18 94 f3 5a 82 20 86 d0 56 a9 2d 15 8e 47 5e 1c
    2b 60 ac cc 51 73 06 54 7d be a7 78 18 09 30 91
    8a 30 20 0e 7a af 03 41 fc d0 a5 e2 71 4a 83 a3
    8b 2d bc c0 c1 c1 d6 72 f9 a2 15 94 58 ec 8f 5e
    8a c6 8a 6c e4 ee 8e 9d 15 b5 e5 1e f5 68 f2 54
    9d 5d aa a6 c9 27 a1 4f 7e 4a 5c 6a bc 9f 37 f6
    04 85 02 28 ff 2e f3 09 95 e3 56 10 fb 57 c9 7e
    c1 aa bb e9 55 a6 ca 93 fa 20 08 ee 71 d9 df bc
    1f 2c ea 6d 51 3b cf a1 8c d2 61 0e 1c ab 3e 42
    52 c3 b6 59 97 1f 42 4b f7 20 25 5d 31 9b 79 de
    38 83 69 47 7c 75 a6 b4 bc 77 c8 9b 96 88 9a c3
    58 a5 dc a9 e3 c3 a5 77 2b 1d 92 5c 3f d2 10 d9
    a2 4b b6 90 bd 13 ad f1 b8 09 88 fe cb fc a5 86
    a7 44 4a c0 83 01 83 3b ff 15 a1 b7 10 25 a9

其他东西:

(c)15/OU=Domain Control Validated - RapidSSL(R)/CN=*.home.pl
    issuer=/C=US/O=GeoTrust Inc./CN=RapidSSL SHA256 CA - G3
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 3115 bytes and written 289 bytes
    ---
    New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    SSL-Session:
        Protocol  : TLSv1.2
        Cipher    : DHE-RSA-AES256-GCM-SHA384ch
        Session-ID: 1B6DAEA0174C47516F909513F0864FBCBD25316912FE17ED3173C1D09BA18933
        Session-ID-ctx: 
        Master-Key: 4C79D4EEF9BD54EC1269E039E186B100601C1EF6B8EAF9A7F35F0F0DCA2D4A26D0A2073312C253E6C047E6432E2BE62A
        Key-Arg   : None
        PSK identity: None
        PSK identity hint: None
        SRP username: None
        TLS session ticket lifetime hint: 600 (seconds)
        TLS session ticket:
        0000 - 08 b0 82 2d c8 30 d4 7b-1a 89 e3 6c f7 d8 3f 39   ...-.0.{...l..?9
        0010 - ef b8 8f 20 69 c5 a1 06-23 51 8b 6f 46 c9 f4 97   ... i...#Q.oF...
        0020 - 9d 94 28 df 37 c9 b0 fb-64 bf a2 17 e0 ae a9 7e   ..(.7...d......~
        0030 - f8 76 83 b5 d5 de bc 71-dc 56 d9 b9 f4 ed 07 eb   .v.....q.V......
        0040 - 7d 17 28 fc 4d a5 99 16-16 a4 f0 55 70 3e c6 a9   }.(.M......Up>..
        0050 - ca ff c3 ae 9b b7 71 07-4c 30 42 0d bc 79 19 23   ......q.L0B..y.#
        0060 - f0 11 6e e7 1e 16 e2 42-dc 16 a4 ec bf e0 a1 36   ..n....B.......6
        0070 - 8d 19 b2 4f 5a 5d c0 bf-59 e4 b6 55 c8 5e 26 d9   ...OZ]..Y..U.^&.
        0080 - 92 5a 69 fb e5 43 7b 1a-0e b1 ef c9 d6 b2 79 c3   .Zi..C{.......y.
        0090 - 4e de 46 c7 f7 7a b7 6b-40 33 84 10 f8 10 4a e1   N.F..z.k@3....J.
        00a0 - 87 d5 24 bb 88 88 64 35-f8 06 28 35 e3 33 09 f5   ..$...d5..(5.3..

    Start Time: 1438417544
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
---
>>> TLS 1.2 Alert [length 0002], warning close_notify
    01 00

1 个答案:

答案 0 :(得分:1)

注意:类似于https://crypto.stackexchange.com/questions/11310/with-openssl-and-ecdhe-how-to-show-the-actual-curve-being-used,但 EC DHE更简单(至少对于“命名”曲线)。

使用第4节中的符号和digitally-signed原语,为that section of the RFC中的TLSv1.2定义了ServerKeyExchange消息格式; TLSv1.1和TLSv1.0以及SSLv3是等效的,除非它们隐含了签名算法。将其应用于您的数据:

长度(2字节00 80表示128)和 DH模数值“P”

00 80 bb bc 2d ca d8 46 74 90 7c 43
fc f5 80 e9 cf db d9 58 a3 f5 68 b4 2d 4b 08 ee
d4 eb 0f b3 50 4c 6c 03 02 76 e7 10 80 0c 5c cb
ba a8 92 26 14 c5 be ec a5 65 a5 fd f1 d2 87 a2
bc 04 9b e6 77 80 60 e9 1a 92 a7 57 e3 04 8f 68
b0 76 f7 d3 6c c8 f2 9b a5 df 81 dc 2c a7 25 ec
e6 62 70 cc 9a 50 35 d8 ce ce ef 9e a0 27 4a 63
ab 1e 58 fa fd 49 88 d0 f6 5d 14 67 57 da 07 1d
f0 45 cf e1 6b 9b 

长度(2字节00 01表示1)和 DH发电机“G”的值(2)

00 01 02 

长度(2字节00 80表示128)和服务器公钥“Ys”的值

00 80 24 2c 5c c4 23
56 11 84 b7 da 00 e6 f7 c7 2a 30 d1 73 2d f4 6b
e8 ce 24 ab 71 16 89 ff 13 3a 9b b7 dc 82 a2 82
6b d9 85 4e 29 b8 d6 56 fe b6 9b 58 c0 21 a6 90
ac 9b da 06 8d dd 0b 1e ad 29 51 8c 9b 5a 8a 12
ff 01 b2 bb b2 e2 9a 71 82 ec f3 e9 f3 93 1c 2e
9f 15 5c e0 6b e3 bc e5 56 28 8e 17 4b d5 2f ff
3e b7 bd 96 9f c0 dc 2b 5f 07 66 65 da 1f 66 4c
60 df 0e d0 89 c8 fd a5 c1 51 e7 

algorithm-id(2bytes:SHA512-RSA)(参见section 7.4.1.4.1)length(2bytes 01 00表示256)和签名的值(对于RSA只是一个bignum):

06 01 01 00 42 
84 86 57 c8 3e de d7 a9 e3 62 b3 f2 9b 5b 9d a0
4a c5 8f a9 c0 22 d3 0d e5 07 42 bc 57 05 22 5e
18 94 f3 5a 82 20 86 d0 56 a9 2d 15 8e 47 5e 1c
2b 60 ac cc 51 73 06 54 7d be a7 78 18 09 30 91
8a 30 20 0e 7a af 03 41 fc d0 a5 e2 71 4a 83 a3
8b 2d bc c0 c1 c1 d6 72 f9 a2 15 94 58 ec 8f 5e
8a c6 8a 6c e4 ee 8e 9d 15 b5 e5 1e f5 68 f2 54
9d 5d aa a6 c9 27 a1 4f 7e 4a 5c 6a bc 9f 37 f6
04 85 02 28 ff 2e f3 09 95 e3 56 10 fb 57 c9 7e
c1 aa bb e9 55 a6 ca 93 fa 20 08 ee 71 d9 df bc
1f 2c ea 6d 51 3b cf a1 8c d2 61 0e 1c ab 3e 42
52 c3 b6 59 97 1f 42 4b f7 20 25 5d 31 9b 79 de
38 83 69 47 7c 75 a6 b4 bc 77 c8 9b 96 88 9a c3
58 a5 dc a9 e3 c3 a5 77 2b 1d 92 5c 3f d2 10 d9
a2 4b b6 90 bd 13 ad f1 b8 09 88 fe cb fc a5 86
a7 44 4a c0 83 01 83 3b ff 15 a1 b7 10 25 a9