Re: [TLS] rfc7366: is encrypt-then-mac implemented?

mrex@sap.com (Martin Rex) Mon, 03 November 2014 17:11 UTC

Return-Path: <mrex@sap.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 46F321A1A2D for <tls@ietfa.amsl.com>; Mon, 3 Nov 2014 09:11:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.551
X-Spam-Level:
X-Spam-Status: No, score=-6.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oxgz3ZKeMTkp for <tls@ietfa.amsl.com>; Mon, 3 Nov 2014 09:11:21 -0800 (PST)
Received: from smtpde01.smtp.sap-ag.de (smtpde01.smtp.sap-ag.de [155.56.68.170]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B86921A0235 for <tls@ietf.org>; Mon, 3 Nov 2014 09:11:21 -0800 (PST)
Received: from mail05.wdf.sap.corp (mail05.sap.corp [194.39.131.55]) by smtpde01.smtp.sap-ag.de (Postfix) with ESMTPS id 191623AAFD; Mon, 3 Nov 2014 18:11:18 +0100 (CET)
Received: from ld9781.wdf.sap.corp (ld9781.wdf.sap.corp [10.21.82.193]) by mail05.wdf.sap.corp (Postfix) with ESMTP id D158543B39; Mon, 3 Nov 2014 18:11:18 +0100 (CET)
Received: by ld9781.wdf.sap.corp (Postfix, from userid 10159) id CA4FE1AF8D; Mon, 3 Nov 2014 18:11:18 +0100 (CET)
In-Reply-To: <5456a7c8.e94bc20a.62d5.25f2@mx.google.com>
To: c.kahlo@ageto.net
Date: Mon, 03 Nov 2014 18:11:18 +0100
X-Mailer: ELM [version 2.4ME+ PL125 (25)]
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="US-ASCII"
Message-Id: <20141103171118.CA4FE1AF8D@ld9781.wdf.sap.corp>
From: mrex@sap.com
Archived-At: http://mailarchive.ietf.org/arch/msg/tls/tgwNZftlc2vsvozRyncyDbOe0Ok
Cc: 'Manuel Pégourié-Gonnard' <mpg@polarssl.org>, tls@ietf.org
Subject: Re: [TLS] rfc7366: is encrypt-then-mac implemented?
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: mrex@sap.com
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 03 Nov 2014 17:11:29 -0000

Christian Kahlo wrote:
> > > The last two paragraphs of
> > http://tools.ietf.org/html/rfc5246#appendix-
> > > E.1
> > > make that clear: "Thus, TLS servers compliant with this specification
> > > MUST accept any value {03,XX} as the record layer version number for
> > > ClientHello.".
> > 
> > OK. Fixed. Checked In. Deployed.
> 
> By the way this is an operational system. The server is PFS-only with
> ECDSA_RSA activated. RC4 and Camellia are not supported and 3DES is
> deactivated. TLS1.0 is supported but not enabled.

None of this matters.  Server that reject the Handshake because the
initial ClientHello on a new connection arrived in a TLS Record with
an outer { 0x03, 0x00 } protocol_version is *ACTIVELY* hurting
interop in an extremely serious fashion, and server misbehaviour like
this is the reason why the "downgrade dance" heuristics that current
browsers are performing.

The original TLS protocol provides a means for protected negotiation of
protocol features, and a regular/generic client that doesn't contain
any complex reconnect fallback ("downgrade dance") logic at the application
level will be using { 0x03, 0x00 } in the Record Layer for the initial
ClientHello.  This choice will provide out-of-the-box connectivity to
a few remaining old SSLv3-only servers, while simultaneously ensuring
that only newer protocol versions will get used with servers that
support newer TLS protocol versions.


A reason why even TLS clients that do not want to talk SSLv3,
would sensibly be using { 0x03, 0x00 } here, is that they can normally
expect to get an SSL alert in return if the server understands the
SSL/TLS record format.


-Martin