Re: [TLS] A la carte handshake negotiation

Hubert Kario <hkario@redhat.com> Mon, 15 June 2015 10:10 UTC

Return-Path: <hkario@redhat.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 003981B3548 for <tls@ietfa.amsl.com>; Mon, 15 Jun 2015 03:10:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.911
X-Spam-Level:
X-Spam-Status: No, score=-6.911 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 WMysV9FHe1jM for <tls@ietfa.amsl.com>; Mon, 15 Jun 2015 03:10:47 -0700 (PDT)
Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 85D3A1B3539 for <tls@ietf.org>; Mon, 15 Jun 2015 03:10:47 -0700 (PDT)
Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 18A903582A0; Mon, 15 Jun 2015 10:10:47 +0000 (UTC)
Received: from pintsize.usersys.redhat.com (dhcp-0-196.brq.redhat.com [10.34.0.196]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t5FAAjnA013655 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO); Mon, 15 Jun 2015 06:10:46 -0400
From: Hubert Kario <hkario@redhat.com>
To: tls@ietf.org
Date: Mon, 15 Jun 2015 12:10:39 +0200
Message-ID: <3129639.pNdByueU9m@pintsize.usersys.redhat.com>
User-Agent: KMail/4.14.7 (Linux/4.0.4-202.fc21.x86_64; KDE/4.14.7; x86_64; ; )
In-Reply-To: <201506122145.13790.davemgarrett@gmail.com>
References: <201506122145.13790.davemgarrett@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart1889505.7lrVgTz8D7"; micalg="pgp-sha512"; protocol="application/pgp-signature"
X-Scanned-By: MIMEDefang 2.68 on 10.5.11.27
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/cOlQFcTeoMwLCiNhKAwMxC5DOyI>
Subject: Re: [TLS] A la carte handshake negotiation
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
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, 15 Jun 2015 10:10:49 -0000

On Friday 12 June 2015 21:45:13 Dave Garrett wrote:
> Based on the discussions today, I've significantly revised the text of this
> proposal. This new draft goes into more detail for the PSK & anon cipher
> suites.
> 
> Of note, I've added a table to state what's available to negotiate with
> what. It's longer than it should be because both DHE_PSK and DH_anon should
> be dropped from there, but for now I've included them because ECDHE_PSK and
> ECDH_anon AEAD cipher suites have yet to be standardized. There's expired
> drafts for these and if PSK and anon are to be considered fully compatible
> with TLS 1.3, then these really should be defined. Merging them together
> into one I-D for AEAD ECDHE cipher suite assignments seems like the
> simplest route.
> 
> I'd also rather plain (symmetric-only) PSK be relegated to its own
> specifications and not included here, but I've included it in the table for
> now. ECDHE_PSK should ideally be the only supported PSK handshake. Plain
> PSK has no FS and it was generally agreed that TLS 1.3+ should be FS only.
> 
> New draft text:
> https://github.com/davegarrett/tls13-spec/blob/alacarte/draft-ietf-tls-tls13
> .md#cipher-suites Diff with master:
> https://github.com/tlswg/tls13-spec/compare/master...davegarrett:alacarte

How will the client know which parser it should use to deserialize the Server 
Key Exchange?

Especially when we're close to having DHE, ECDHE, DHE+PSK (and DHE+PSK+RSA?), 
ECDHE+PSK (and ECDHE+PSK+ECDSA, ECDHE+PSK+ECDSA?), ADH and AECDH in a single 
ciphersuite...

Especially with the case of overloading the ECDHE to handle the ECDH_anon, it 
makes it possible that many implementations will reintroduce state machine 
bugs...
-- 
Regards,
Hubert Kario
Quality Engineer, QE BaseOS Security team
Web: www.cz.redhat.com
Red Hat Czech s.r.o., Purkyňova 99/71, 612 45, Brno, Czech Republic