Re: [TLS] Deprecate SHA1 for signatures in TLS 1.3 (was Re: TLS 1.3 draft-07 sneak peek)

Viktor Dukhovni <ietf-dane@dukhovni.org> Fri, 10 July 2015 15:49 UTC

Return-Path: <ietf-dane@dukhovni.org>
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 240811B2A3A for <tls@ietfa.amsl.com>; Fri, 10 Jul 2015 08:49:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001] 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 6zEhJ9GJZdK1 for <tls@ietfa.amsl.com>; Fri, 10 Jul 2015 08:49:36 -0700 (PDT)
Received: from mournblade.imrryr.org (mournblade.imrryr.org [38.117.134.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3FF651B2A46 for <tls@ietf.org>; Fri, 10 Jul 2015 08:49:19 -0700 (PDT)
Received: by mournblade.imrryr.org (Postfix, from userid 1034) id 72CC1284D69; Fri, 10 Jul 2015 15:49:12 +0000 (UTC)
Date: Fri, 10 Jul 2015 15:49:12 +0000
From: Viktor Dukhovni <ietf-dane@dukhovni.org>
To: tls@ietf.org
Message-ID: <20150710154912.GU28047@mournblade.imrryr.org>
References: <CALuAYvbteowTeyWe9VneRHgyvzTRS3LfKdorWt=jmEy2k+wNqw@mail.gmail.com> <CACsn0c=W8c5KjHtVEpHeBVy-ifJxTKoN1+WXP0EZ8fJqqd3yxA@mail.gmail.com> <20150710150514.GS28047@mournblade.imrryr.org> <201507101137.44703.davemgarrett@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <201507101137.44703.davemgarrett@gmail.com>
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/sM58pavuqxc75X0uIYFZC77UuKk>
Subject: Re: [TLS] Deprecate SHA1 for signatures in TLS 1.3 (was Re: TLS 1.3 draft-07 sneak peek)
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: tls@ietf.org
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: <https://mailarchive.ietf.org/arch/browse/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: Fri, 10 Jul 2015 15:49:39 -0000

On Fri, Jul 10, 2015 at 11:37:44AM -0400, Dave Garrett wrote:

> > ... refusing to provide
> > the chain they have, just because the client did not disclose every
> > signature algorithm it supports (or simply did not send any) is a
> > mistake in the implementation and likely a design error in the
> > specification.
> 
> The only instance a TLS 1.2 client is allowed to omit the extension is
> when it only support the defaults. If it doesn't support the default or
> supports something else (or both) then it MUST send the extension. The
> server MUST interpret the lack of an extension as equivalent to sending
> SHA1 support. A client not sending the extension is telling the server
> not to send it anything other than SHA1.

Suppose the server's certificate is signed with SHAKE256, but the
client has no idea that SHA256 exists.  Suppose also the client is
doing opportunistic (unauthenticated TLS) or using DANE TLSA with
the server's certificate binding published in a DANE-EE(3) digest.

Then the client does not care what signatures may or may not be
present in the server certificate.  And yet the specification
demands that the server abort the handshake.  The specification is
wrong, and implementations that follow it are not well thought out.

With time we learn to ignore some elements of specifications that
don't make sense.  This is one such element.

Perhaps it is not too late to fix this in 1.3, so that the
specification does not demand unreasonable server behaviour.

-- 
	Viktor.