Yes, I agree that the problem is error handling.  I get that it is trivial to 
distinguish encrypted from unencrypted, but I would appreciate it if the spec 
could clarify the appropriate actions in the scenario where an unencrypted 
(non-appdata) record is received after keys have been installed in the 
connection state.  It would be strange to send an alert in response to an alert.

PS: I was testing with OpenSSL when I hit the interop issue.

From: Martin Thomson <martin.thom...@gmail.com>
Date: Wednesday, April 26, 2017 at 8:42 AM
To: "m...@sap.com" <m...@sap.com>
Cc: Ilari Liusvaara <ilariliusva...@welho.com>, Roelof Du Toit 
<roelof_dut...@symantec.com>, "tls@ietf.org" <tls@ietf.org>
Subject: [EXT] Re: [TLS] Alert after sending ServerHello

On 26 April 2017 at 22:25, Martin Rex <m...@sap.com<mailto:m...@sap.com>> wrote:
The code I was talking about was handling the special case that the
server might receive either encrypted or unencrypted alert in response
to its flight. And the difference it makes is just what error is
declared as abort reason.

Up to TLSv1.2 there was no confusion about whether a TLS record
was encrypted or not: everything before "ChangeCipherSpec" is cleartext,
everything thereafter is encrypted.

That's not a problem here either.  It's trivial to tell between an
encrypted record and an unencrypted one.  The question - if there is
any - is when to start encrypting if there happens to be an error.

_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to