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

Eric Rescorla <ekr@rtfm.com> Tue, 16 May 2017 15:28 UTC

Return-Path: <ekr@rtfm.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 5514112EBC1 for <tls@ietfa.amsl.com>; Tue, 16 May 2017 08:28:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.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 p0Nki360lgeL for <tls@ietfa.amsl.com>; Tue, 16 May 2017 08:28:12 -0700 (PDT)
Received: from mail-yb0-x22f.google.com (mail-yb0-x22f.google.com [IPv6:2607:f8b0:4002:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 555F1127599 for <tls@ietf.org>; Tue, 16 May 2017 08:23:56 -0700 (PDT)
Received: by mail-yb0-x22f.google.com with SMTP id 132so17987280ybq.1 for <tls@ietf.org>; Tue, 16 May 2017 08:23:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Hxp7ol9xvKvbTYAd8DGTxmCv59CB/OkGpn781UW8qp0=; b=l1dcbbcmWCx+is7y02Tbp/O6uHUnxrdQukZvlgd1fDQviVVeuPyZkqmHIHqXqb3FOO 83NNW2V4iTFsxJEMGbxTSRUyaWIiwN/hErrvNPdaAkmsi2MVvCYDGhJ/8FsjYU7a6Fcb KJHXgAlSpHSrvROjOYfCoh+65RtempZGXxwjDHEb9qYwXc3EWnCtDRjGCOIMGcPA/QAN P00Zw2wjKJBdWcDGxQd8yefX+d2F2MA6lhH/a7sWp1jNBqVpPtWOX7iZNIp+HCaxS8Uz kyDc9wbjj7JeiNQ18NTM/f4m8uySy5pMeWbxQVwtqoIeiSV1W5lGhsI/xMS7xcjvBQAb 3h2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Hxp7ol9xvKvbTYAd8DGTxmCv59CB/OkGpn781UW8qp0=; b=ohPhoPmoKEOhzsFV9b0IyBTVB5fr2QRWYCoTpcUvxtJ2hmXAmtxpSxhf0BKo6Ne209 texYUr2bgKZKDR7RtGvDWnN9w647M55wIRSWDGConXx3m5BpYO8a/y7rFq8cMP/OKh0a RT4bm+4WrHppvgceikI6jerCl51Kljy0PGWoXkrTbykBe+AO+VGk4RwXwHNVWPi5N/cd aEC+NbIEukH95ooonhMIJa9MTpsrk7bCqf1At2Q7rtGBdQ18JJCUcJSMsnirgnJkZzyz QwWkXWvledQ6EOEftr5btMR1cEFHAdXeg2ZN5tNu1WFcxvdEGb03gUM5XxRwqC+vOPMG /rlA==
X-Gm-Message-State: AODbwcCqrppd5V9w/75HVzQCc+hCNTTQOml139h3zv49iGOBuAmqgI25 ZvujKXleEJR5Cd8XzyOniAMgyj3L8g==
X-Received: by 10.37.161.196 with SMTP id a62mr10213480ybi.9.1494948235522; Tue, 16 May 2017 08:23:55 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.129.131.150 with HTTP; Tue, 16 May 2017 08:23:15 -0700 (PDT)
In-Reply-To: <0ED5F216-365D-432E-B390-D95014ED5676@vigilsec.com>
References: <CAHbuEH4PXU5569RYJ1uPcriQruCewmRrXUU3MVBZ+GtpyceiAw@mail.gmail.com> <CABcZeBMMQ8kNWUA4Y6ssMw7h54fPbBxrLbgZtxSkYc7-fzypSA@mail.gmail.com> <9C0E15E5-E852-47E0-B9A6-F807034ECFB8@vigilsec.com> <CABcZeBPGK9BguF6OJo=QT3Sx1mLwBQJhh4JiBkAmws5umvctSg@mail.gmail.com> <0ED5F216-365D-432E-B390-D95014ED5676@vigilsec.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 16 May 2017 08:23:15 -0700
Message-ID: <CABcZeBPnLSbNySpRoGd8gQNBDf9jAEzX8eG6WC96MTmoqdpJHA@mail.gmail.com>
To: Russ Housley <housley@vigilsec.com>
Cc: Kathleen Moriarty <kathleen.moriarty.ietf@gmail.com>, IETF TLS <tls@ietf.org>
Content-Type: multipart/alternative; boundary="f403045c5632897d00054fa5c2df"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tls/iRRgWs6NxuKjudOJlHZRLk1A0C4>
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: Tue, 16 May 2017 15:28:14 -0000

On Tue, May 16, 2017 at 8:17 AM, Russ Housley <housley@vigilsec.com> wrote:

>
> On May 15, 2017, at 7:01 PM, Eric Rescorla <ekr@rtfm.com> wrote:
>
>
>
> On Mon, May 15, 2017 at 12:38 PM, Russ Housley <housley@vigilsec.com>
> wrote:
>
>> Just commenting on Section 4.2 …
>>
>> >
>> > > 3. Section 4.2.
>> > >
>> > >    "In general, detailed certificate validation procedures are out of
>> > >    scope for TLS (see [RFC5280]).  This section provides TLS-specific
>> > >    requirements."
>> > >
>> > > I don't see an explanation of why it is out-of-scope.  The reference
>> > > is just to RFC5280, which seems odd.  I would expect the reference to
>> > > be to something that explains why it is out-of-scope.
>>
>> I think the the separation of certificate path validation from the TLS
>> protocol is correct, but perhaps this can be explained differently.
>> Perhaps the approach should be that TLS depends upon certificate path
>> validation as described in RFC 5280.
>>
>> > In general, TLS's policy (dating back to TLS 1.0) has been that the
>> > job of TLS is to carry the certificates and other authentication
>> > material but to leave it up to other parts of the system to
>> > interpret them. It's been a long time since that decision was made,
>> > but from my perspective, there are a number of major reasons:
>> >
>> > 1. Most of PKI processing (path construction, etc.) is generic and
>> >    not specific to TLS. What is specific to TLS is:
>> >
>> >    * How to indicate what your PKI capabilities are
>> >      (see, e.g, S 4.2.4 and 4.3.2)
>> >    * How to stuff the PKI material into the protocol
>> >      (principally S 4.4.2)
>> >    * How to determine whether a given certificate is suitable for
>> >      use in TLS 4.4.4.2 and 4.3.2.1).
>> >
>> >    So we want to outsource the generic PKI part
>> >
>> >
>> > 2. It matches the software architecture that people often use,
>> >    which is to have a TLS stack but separate PKI validation. For
>> >    instance, Firefox uses NSS for TLS but moz::pkix for
>> >    validation. Similarly, Chrome uses BoringSSL for TLS
>> >    but the system PKI libraries for validation.
>> >
>> >
>> > In this case, I think that this text was more intended to
>> > say "and go read 5280 to learn how to do this". To that end,
>> > I suggest we say"
>> >
>> >
>> >     "In general detailed certificate validation procedures are out of
>> >     scope for TLS. [RFC5280] provides general procedures for
>> >     certificate validation. This section provides TLS-specific
>> >     requirements.”
>>
>> I agree with the reasoning, however the dependency on RFC 5280 should be
>> called out in a MUST statement.  I suggest something like:
>>
>>     "TLS depends on certificate path validation, and a conformant
>>     TLS implementation MUST implement certificate paths validation
>>     in a manner that achieves the same result as [RFC5280]. This
>>     section provides TLS-specific requirements.”
>>
>> Note that RFC 5280 is already a normative reference.
>>
>
> A MUST here would be a pretty material change to historical TLS practice.
> As Viktor says, there are TLS-using applications that just don't validate
> the cert via 5280 at all.
>
>
> I think we want to say that if the certificates are used, then the
> certification path MUST be validated in a manner that is compatible with
> Internet X.509 certificate profile [RFC5280]; however, other approaches to
> validation of the public key, such as the DANE TLSA resource record
> [RFC6698], are also acceptable.
>

I can see how you would want to say that, but it's not really consistent
either
with historical practice or with the way that other standards track RFCs
use TLS
with certificates (see RFC 5763).

-Ekr


> Russ
>
>
>