Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Need inputs/suggestions on SSL/TLS protocol version fallback mechanism.

12 views
Skip to first unread message

Bhat, Jayalakshmi Manjunath

unread,
Oct 29, 2012, 8:26:35 AM10/29/12
to

Hi All,

 

I have a client application that uses SSL23_client_method(). When the client is getting connected to server that supports TLS 1.0 there are no issues. When the client is getting connected to server that supports only SSLv3.0, connection is getting aborted with protocol number error.

 

I have couple of question around this issue.

 

1.       If I like to support the fallback mechanism,  I need to implement the same in the client application. SSL client state machine in OpenSSL does not implement any fallback.

2.       I did not see any recommendation in SSL/TLS RFC to implement the fallback mechanism. I wanted to know are there any side effects in OpenSSL library if fallback mechanism is implemented.

 

Any help on this points are appreciated.

 

Regards

Jayalakshmi

 

 

 

                               

Charles Mills

unread,
Oct 29, 2012, 10:10:18 AM10/29/12
to

Do you call SSL_CTX_set_options() with bit flags (SSL_OP_ALL, SSL_OP_NO_SSLv3, etc.) to indicate the protocols you are willing to accept?

 

BTW, openssl-users (not –dev) is the proper forum for this sort of questions.

 

Charles

Bhat, Jayalakshmi Manjunath

unread,
Oct 29, 2012, 10:27:55 AM10/29/12
to

Hi Charles,

 

Thank you for the reply.  I am not setting any option using SSL_CTX_set_options, should I indicate protocols using this function?.

 

Regards

Jaya

Charles Mills

unread,
Oct 29, 2012, 11:17:22 AM10/29/12
to

You should at least look into it. I am not sure what the defaults are without looking at the docs. Try setting SSL_OP_ALL (sounds good to me) | SSL_OP_NO_SSLv2 (SSL v2 is considered to be badly flawed). That should (IIRC) leave you able to accept SSL v3, TLS v1, and TLS v1.1.

Bhat, Jayalakshmi Manjunath

unread,
Oct 29, 2012, 12:48:50 PM10/29/12
to

Hi  Charles,

 

I was under the assumption that I can turn of protocols using this options. Since I wanted to give a try, without turning off any protocol, did not give attention towards this call. Let me give a try.

 

Thank you

Jeffrey Walton

unread,
Oct 29, 2012, 1:34:43 PM10/29/12
to
> SSL_CTX_set_options, should I indicate protocols using this function?.
Before you do that, please realize TLS 1.0 is the least broken of the
protocols you are trying to enable. You really want all TLS 1.2
clients, but its not widely implemented in clients and servers. I can
tell you that a number of organizations will not want an SSL2/SSL3
clients accessing their corporate data.

Differences Between SSLv2, SSLv3, and TLS, www.yaksman.org/~lweith/ssl.pdf
Analysis of the SSL 3.0 Protocol, www.schneier.com/paper-ssl.html.

Jeff

On Mon, Oct 29, 2012 at 10:27 AM, Bhat, Jayalakshmi Manjunath
<jayalaks...@hp.com> wrote:
> Hi Charles,
>
> Thank you for the reply. I am not setting any option using
> SSL_CTX_set_options, should I indicate protocols using this function?.
>
> From: owner-ope...@openssl.org
> [mailto:owner-ope...@openssl.org] On Behalf Of Charles Mills
> Sent: Monday, October 29, 2012 7:40 PM
> To: openss...@openssl.org
> Subject: RE: Need inputs/suggestions on SSL/TLS protocol version fallback
> mechanism.
>
> Do you call SSL_CTX_set_options() with bit flags (SSL_OP_ALL,
> SSL_OP_NO_SSLv3, etc.) to indicate the protocols you are willing to accept?
>
> BTW, openssl-users (not –dev) is the proper forum for this sort of
> questions.
>
> From: owner-ope...@openssl.org
> [mailto:owner-ope...@openssl.org] On Behalf Of Bhat, Jayalakshmi
> Manjunath
> Sent: Monday, October 29, 2012 5:27 AM
> To: opens...@openssl.org; openss...@openssl.org
> Subject: Need inputs/suggestions on SSL/TLS protocol version fallback
> mechanism.
>
> I have a client application that uses SSL23_client_method(). When the client
> is getting connected to server that supports TLS 1.0 there are no issues.
> When the client is getting connected to server that supports only SSLv3.0,
> connection is getting aborted with protocol number error.
>
> I have couple of question around this issue.
>
> 1. If I like to support the fallback mechanism, I need to implement
> the same in the client application. SSL client state machine in OpenSSL does
> not implement any fallback.
>
> 2. I did not see any recommendation in SSL/TLS RFC to implement the
> fallback mechanism. I wanted to know are there any side effects in OpenSSL
> library if fallback mechanism is implemented.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openss...@openssl.org
Automated List Manager majo...@openssl.org

Bhat, Jayalakshmi Manjunath

unread,
Oct 30, 2012, 12:44:32 AM10/30/12
to
Hi Jeff,

Thanks for the reply. I don’t want to enable SSLv2, but would like to support SSLv3, TLS 1.0. Code where I am creating the SSL context and setting the options looks as shown below

ssl_ctx = SSL_CTX_new(SSLv23_client_method());
if (ssl_ctx != NULL)
SSL_CTX_set_options(ssl_ctx,SSL_OP_ALL|SSL_OP_NO_SSLv2);
...... ...... ...... ...... ...... ......
...... ...... ...... ...... ......

When I try to connect to a server that supports only SSLv3, client does not fallback, rather it fails with an alert "protocol version". Because client sends client hello with protocol version of TLS 1.0, that server does not support. Is this the right behavior? Or should I modifiy the client app to try with lower protocol version when I receive this alert. My understanding is OpenSSL stack will not perform any fallback. It is up to applications to handle it.


Regards
Jaya

Bhat, Jayalakshmi Manjunath

unread,
Oct 30, 2012, 12:47:15 AM10/30/12
to
0 new messages