Re: [TLS] AD Review of draft-ietf-tls-tls13

Nico Williams <nico@cryptonector.com> Mon, 22 May 2017 21:00 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 192CB126C25 for <tls@ietfa.amsl.com>; Mon, 22 May 2017 14:00:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.299
X-Spam-Level:
X-Spam-Status: No, score=-4.299 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-2.8, RCVD_IN_SORBS_SPAM=0.5, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cryptonector.com
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 9AqTuhnJ-Eyd for <tls@ietfa.amsl.com>; Mon, 22 May 2017 14:00:24 -0700 (PDT)
Received: from homiemail-a107.g.dreamhost.com (sub4.mail.dreamhost.com [69.163.253.135]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AAB76126B72 for <tls@ietf.org>; Mon, 22 May 2017 14:00:24 -0700 (PDT)
Received: from homiemail-a107.g.dreamhost.com (localhost [127.0.0.1]) by homiemail-a107.g.dreamhost.com (Postfix) with ESMTP id 38F4320051C24; Mon, 22 May 2017 14:00:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=cryptonector.com; h=date :from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=cryptonector.com; bh=g28niWHQ38xE5Y 7fwjfsHEOtH0A=; b=LT5doJDTl+gWwNImumdi0QfzkBlyg6pDcSakd4DCHv8Wst GoKxN1buGRUNoyHdGWpfbrOdOZJAbqKb30rNauWuniCd1CC4gdX7CSbm5a/X85CI tVBvhm1XsmSZ/pF1f29MkYBPZdxz7cmK8tOgiNI+c0fYF02DZMVHsVgaZ2SIk=
Received: from localhost (cpe-70-123-158-140.austin.res.rr.com [70.123.158.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by homiemail-a107.g.dreamhost.com (Postfix) with ESMTPSA id ED39A20051C23; Mon, 22 May 2017 14:00:23 -0700 (PDT)
Date: Mon, 22 May 2017 16:00:20 -0500
From: Nico Williams <nico@cryptonector.com>
To: Eric Rescorla <ekr@rtfm.com>
Cc: TLS WG <tls@ietf.org>
Message-ID: <20170522210018.GQ10188@localhost>
References: <f262447d-5bd1-68c8-dac6-ad2224733235@akamai.com> <35E448DD-7F74-4563-9707-DFAB66125FAA@dukhovni.org> <89704888-5f4d-0021-74cb-4cea28c773bd@akamai.com> <ac704db142c04e7b8a836df711e9bc7f@usma1ex-dag1mb1.msg.corp.akamai.com> <1A619330-282A-44F0-871B-DF6D15850394@dukhovni.org> <CABcZeBOvRGar9ZLTo=tu+oUxRWtMucwr5Bk1dPY8C1mAa9asTg@mail.gmail.com> <20170522201729.GO10188@localhost> <CABcZeBMx5wbfchzonxQ5E6N2cOSAXSFX5JpEdTQMMaTnoCb7Dg@mail.gmail.com> <20170522204326.GP10188@localhost> <CABcZeBM1SWnganpX_VyDRiVm+ZFSoA6tZpCWX+Ec-D6So6RUGw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CABcZeBM1SWnganpX_VyDRiVm+ZFSoA6tZpCWX+Ec-D6So6RUGw@mail.gmail.com>
User-Agent: Mutt/1.5.24 (2015-08-30)
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/IevHGXk64WzL8PxBqgBJB9SvjwE>
Subject: Re: [TLS] AD Review of draft-ietf-tls-tls13
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.22
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: <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: Mon, 22 May 2017 21:00:26 -0000

On Tue, May 23, 2017 at 05:49:47AM +0900, Eric Rescorla wrote:
> On Tue, May 23, 2017 at 5:43 AM, Nico Williams <nico@cryptonector.com>
> wrote:
> > On Tue, May 23, 2017 at 05:26:28AM +0900, Eric Rescorla wrote:
> > > On Tue, May 23, 2017 at 5:17 AM, Nico Williams <nico@cryptonector.com>
> > > wrote:
> > > > > In any case, I think there are two issues:
> > > > > 1. Forbid TLS 1.3 implementations from accepting MD5 and SHA-1.
> > > > > 2. Require a specific failure if the peer presents such a
> > certificate.
> > > > >
> > > > > There was pretty strong consensus to do #1 and I don't support
> > removing
> > > > > it. That seems like a pretty modest layering violation. If people
> > think
> > > > that
> > > > > the mandate for this specific alert is too onerous, I could live with
> > > > > removing
> > > > > that.
> > > >
> > > > I don't understand how you can have (1) and not (2).
> > >
> > > As Ilari suggests, you could just treat the algorithms as unknown.
> >
> > How does that square with (1)?
> >
> 
> I don't understand the question. If you treat them as unknown then
> either your path construction code will route around them or once you
> try to verify, it will fail.

That *really* seems like a layer violation!

> > > I don't think that the current text prohibits that, because of :
> >
> > That takes care of DANE and pre-shared cert uses, but not of
> > opportunistic use.  And maybe not of TOFU either: since on first use the
> > server's cert won't be known to the client, it's not a "trust anchor"
> > yet and cannot fall under this safe-harbor.
> 
> I wouldn't have any trouble interpreting it that way.

Why not be clear?

> > >    The signatures on certificates that are self-signed or certificates
> > >    that are trust anchors are not validated since they begin a
> > >    certification path (see [RFC5280], Section 3.2).  A certificate that
> > >    begins a certification path MAY use a signature algorithm that is not
> > >    advertised as being supported in the "signature_algorithms"
> > >    extension.
> > >
> > > In this case, I think one can argue are treating this as a trust
> > > anchor.  Feel free to propose new text that you think makes that
> > > clearer.
> >
> > Proposal:
> >
> >    Clients SHOULD/MUST NOT accept server certificates, or certificate
> >    validation paths, where the server certificate or intermediate
> >    certificates (but not trust anchors) are signed with "weak" signature
> >    algorithms, unless the client is not expecting TLS to strongly
> >    authenticate the server (e.g., for opportunistic use) or where the
> >    client has previously learned and cached the server's certificate.
> 
> I don't think "strongly authenticate" is useful here. I think the
> requirement is that the RP must not accept these algorithms in any
> context which would require validating signatures made using them.

Well, I want it to be crystal clear that the "not MD5 and such"
requirement need not apply to opportunistic TLS usage.  If you don't
like my text, maybe you can propose your own.

Nico
--