[openssl-users] Question regarding TLS renegotiation and configuration of Openssl ssl context
Silverman, Ariel
ariel.silverman at intel.com
Thu Nov 9 20:17:18 UTC 2017
Dear Openssl Gurus,
I am facing the following problem, I am required to create an SSL client that talks (TLSv1.2, TLSv1.1 and TLSv1.0) against 3 different types of servers, one talks TLSv1.2 only (server_12) , one TLSv1.1 only (server_11) and one TLSv1.0 only (server_10)
The way I am configuring my tls context is as following
Note: I am using Openssl v1.0.2l
SSL_CTX *ctx;
ctx = SSL_CTX_new( SSLv23_method() )
SSL_CTX_set_options(ctx,SSL_OP_NO_SSLv3 | SSL_OP_NO_TICKET);
Now...
When I try to connect to server_10 I see the trace below, the negotiation fails with:
Alert Message
Level: Fatal (2)
Description: Protocol Version (70)
It makes sense, since the decription for this failure is:
70
protocol_version
The protocol version the client attempted to negotiate is recognized, but not supported. For example, old protocol versions might be avoided for security reasons. This message is always fatal.
Now my question is:
How do I configure my SSL_CTX options so that I can talk to server_10 whilst being able to connect to server_12 and server_11 and at the same time maintaining security and not becoming vulnerable to RFC7507 ( TLS Fallback Signaling Cipher Suite Value (SCSV) for Preventing Protocol Downgrade Attacks)
Thank you in advance for your help!!! :)
-Ariel Silverman
Wireshark Trace of TLS negotiation:
===================================
No. Time Source Destination Protocol Length Info
517 35.593453 192.168.0.70 192.168.0.102 TLSv1 249 Client Hello
Frame 517: 249 bytes on wire (1992 bits), 249 bytes captured (1992 bits) on interface 0
Ethernet II, Src: Vmware_e4:ae:09 (00:0c:29:e4:ae:09), Dst: Dell_c0:9a:2e (b8:ca:3a:c0:9a:2e)
Internet Protocol Version 4, Src: 192.168.0.70, Dst: 192.168.0.102
Transmission Control Protocol, Src Port: 63441, Dst Port: 16993, Seq: 1, Ack: 1, Len: 195
Secure Sockets Layer
TLSv1 Record Layer: Handshake Protocol: Client Hello
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 190
Handshake Protocol: Client Hello
Handshake Type: Client Hello (1)
Length: 186
Version: TLS 1.1 (0x0302)
Random: cdf0b0cb59d22675e6f840363eed6481674ce6e8714eeb45...
Session ID Length: 0
Cipher Suites Length: 100
Cipher Suites (50 suites)
Compression Methods Length: 1
Compression Methods (1 method)
Extensions Length: 45
Extension: ec_point_formats (len=4)
Extension: supported_groups (len=28)
Extension: heartbeat (len=1)
No. Time Source Destination Protocol Length Info
519 35.595600 192.168.0.102 192.168.0.70 TLSv1 1063 Server Hello, Certificate, Certificate Request, Server Hello Done
Frame 519: 1063 bytes on wire (8504 bits), 1063 bytes captured (8504 bits) on interface 0
Ethernet II, Src: Dell_c0:9a:2e (b8:ca:3a:c0:9a:2e), Dst: Vmware_e4:ae:09 (00:0c:29:e4:ae:09)
Internet Protocol Version 4, Src: 192.168.0.102, Dst: 192.168.0.70
Transmission Control Protocol, Src Port: 16993, Dst Port: 63441, Seq: 1, Ack: 196, Len: 1009
Secure Sockets Layer
TLSv1 Record Layer: Handshake Protocol: Server Hello
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 46
Handshake Protocol: Server Hello
Handshake Type: Server Hello (2)
Length: 42
Version: TLS 1.0 (0x0301)
Random: a0cb439203175bf9bb313ad516e0722288bd8d2b0ceb14f6...
Session ID Length: 4
Session ID: 79010000
Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
Compression Method: null (0)
TLSv1 Record Layer: Handshake Protocol: Certificate
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 931
Handshake Protocol: Certificate
Handshake Type: Certificate (11)
Length: 927
Certificates Length: 924
Certificates (924 bytes)
TLSv1 Record Layer: Handshake Protocol: Certificate Request
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 8
Handshake Protocol: Certificate Request
Handshake Type: Certificate Request (13)
Length: 4
Certificate types count: 1
Certificate types (1 type)
Distinguished Names Length: 0
TLSv1 Record Layer: Handshake Protocol: Server Hello Done
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 4
Handshake Protocol: Server Hello Done
Handshake Type: Server Hello Done (14)
Length: 0
No. Time Source Destination Protocol Length Info
520 35.595660 192.168.0.70 192.168.0.102 TLSv1 61 Alert (Level: Fatal, Description: Protocol Version)
Frame 520: 61 bytes on wire (488 bits), 61 bytes captured (488 bits) on interface 0
Ethernet II, Src: Vmware_e4:ae:09 (00:0c:29:e4:ae:09), Dst: Dell_c0:9a:2e (b8:ca:3a:c0:9a:2e)
Internet Protocol Version 4, Src: 192.168.0.70, Dst: 192.168.0.102
Transmission Control Protocol, Src Port: 63441, Dst Port: 16993, Seq: 196, Ack: 1010, Len: 7
Secure Sockets Layer
TLSv1 Record Layer: Alert (Level: Fatal, Description: Protocol Version)
Content Type: Alert (21)
Version: TLS 1.0 (0x0301)
Length: 2
Alert Message
Level: Fatal (2)
Description: Protocol Version (70)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mta.openssl.org/pipermail/openssl-users/attachments/20171109/6b71c385/attachment-0001.html>
More information about the openssl-users
mailing list