Re: [Trans] WGLC started for draft-ietf-trans-threat-analysis

"David A. Cooper" <david.cooper@nist.gov> Mon, 07 May 2018 21:06 UTC

Return-Path: <david.cooper@nist.gov>
X-Original-To: trans@ietfa.amsl.com
Delivered-To: trans@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B733A12D7E6 for <trans@ietfa.amsl.com>; Mon, 7 May 2018 14:06:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 ZJJFGXS4Ko6B for <trans@ietfa.amsl.com>; Mon, 7 May 2018 14:06:21 -0700 (PDT)
Received: from wsget1.nist.gov (wsget1.nist.gov [129.6.13.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 89EB712D7E5 for <trans@ietf.org>; Mon, 7 May 2018 14:06:21 -0700 (PDT)
Received: from WSGHUB2.xchange.nist.gov (129.6.42.35) by wsget1.nist.gov (129.6.13.150) with Microsoft SMTP Server (TLS) id 14.3.389.1; Mon, 7 May 2018 17:07:38 -0400
Received: from postmark.nist.gov (129.6.16.94) by mail-g.nist.gov (129.6.42.33) with Microsoft SMTP Server id 14.3.389.1; Mon, 7 May 2018 17:06:19 -0400
Received: from [129.6.105.183] (cooper-optiplex-9010.campus.nist.gov [129.6.105.183]) by postmark.nist.gov (8.13.8/8.13.1) with ESMTP id w47KmdC0024535; Mon, 7 May 2018 16:48:39 -0400
To: Andrew Ayer <agwa@andrewayer.name>
CC: Paul Wouters <paul@nohats.ca>, Melinda Shore <melinda.shore@gmail.com>, Trans <trans@ietf.org>
References: <alpine.LRH.2.21.1804161658150.17034@bofh.nohats.ca> <cf3fd01c-a1f2-0cd0-d1a2-cda7b9558986@nist.gov> <20180507125652.cd2d51d942c699f66a60c02e@andrewayer.name>
From: "David A. Cooper" <david.cooper@nist.gov>
Message-ID: <65028e0b-7b1d-11a8-6c71-0c5edc39c85d@nist.gov>
Date: Mon, 07 May 2018 16:48:44 -0400
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
In-Reply-To: <20180507125652.cd2d51d942c699f66a60c02e@andrewayer.name>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Content-Language: en-US
X-NIST-MailScanner-Information:
Archived-At: <https://mailarchive.ietf.org/arch/msg/trans/PQSJq3VsNS_rtSn50E-eU9IALXo>
Subject: Re: [Trans] WGLC started for draft-ietf-trans-threat-analysis
X-BeenThere: trans@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Public Notary Transparency working group discussion list <trans.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/trans>, <mailto:trans-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/trans/>
List-Post: <mailto:trans@ietf.org>
List-Help: <mailto:trans-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/trans>, <mailto:trans-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 May 2018 21:06:25 -0000

I think it's fine for browsers to check for syntactic errors in 
certificates. However, I interpreted "thorough syntactic checks on 
certificates" to mean that browsers should be performing checks such as 
the ones described in 
https://tools.ietf.org/html/draft-kent-trans-domain-validation-cert-checks 
and 
https://tools.ietf.org/html/draft-kent-trans-extended-validation-cert-checks.

Most of the checks in these drafts are fine, as they are checks for 
requirements that are unlikely to change. However, some of the checks 
are more problematic. For example, the first of these drafts say that 
for DV certificates

             if the [subject] name does not contain an organizationName 
attribute,
             then the streetAddress attribute MUST NOT be present. If
             the organizationName attribute is present, the streetAddress
             attribute MAY be present.  This requirement is derived from
             section 9.2.4b of [CABF-DV].

What if a browser implemented a check for this and then the CA/Browser 
Forum later updated their Baseline Requirements to allow a streetAddress 
attribute in the subject fields of certificates that do not contain an 
organizationName attribute? This wouldn't cause a problem for users who 
keep their browsers up to date, but some clients continue to use 
browsers that are very old.


Section 5.6 says that the Monitor needs to obtain a list of certificates 
for the Subject to use as a reference, and then it says that "A Monitor 
must not rely on certificate discovery mechanisms to build the list of 
valid certificates since such mechanisms might result in bogus or 
erroneous certificates being added to the list." The phrase "or 
erroneous" should be removed.

There is no risk if the Monitor adds an erroneous certificate (that is 
not bogus) to the list of valid certificates, as it will not not mean 
"that the monitor would fail to alert the Subject about an erroneous 
certificate." If a Monitor is going to perform syntactic checks on 
certificates, then it should check all certificates for syntactic 
errors, regardless of how they came into its possession, even 
certificates that are received from the Subject in a secure manner for 
the purpose of creating a reference list of non-bogus certificates.

On 05/07/2018 03:56 PM, Andrew Ayer wrote:
> On Fri, 4 May 2018 14:51:47 -0400
> "David A. Cooper" <david.cooper@nist.gov> wrote:
>
>> Section 4.1.1.4 says "Unfortunately, experience suggests that many
>> browsers do not perform thorough syntactic checks on certificates, and so
>> it seems unlikely that browsers will be a reliable way to detect erroneous
>> certificates." and Section 4.2.1.4 says "As noted above (4.1.1.4), most
>> browsers fail to perform thorough syntax checks on certificates." These
>> sentences should be removed or modified. There is no reason that a
>> browser should perform thorough syntactic checks on certificates, and
>> there are good reasons for browsers not to. So, this document should
>> not be labeling this as unfortunate or a failure. We do not want to
>> encourage browsers to perform thorough syntax checks on certificates, as
>> this could lead to the same types of problems that TLS has experienced,
>> where making a change in something causes deployed products to break.
> The trend in Firefox and Chrome is to make their certificate validators
> much stricter about "syntactic" errors.  I think the main point of
> section 4.1.1.4 is that it's not feasible for browsers to notify other
> parties when it detects a syntactically misissued certificate, so these
> checks need to be performed by monitors.
>
> I think this sentence should just be dropped, as it's not true anymore
> and tries to moralize about a controversial issue.
>
>> Section 5.6, paragraph 4 says that "A Monitor must not rely on certificate
>> discovery mechanisms to build the list of valid certificates since such
>> mechanisms might result in bogus or erroneous certificates being added
>> to the list." What would be the risk if an erroneous certificate was
>> added to the list? When a Monitor is obtaining a list of certificates
>> for the Subject to be monitored, wouldn't we want erroneous certificates
>> to be included in that list so that the Monitor has a chance to detect
>> the error?
> Monitors look for subject names, not specific certificates.  The list
> of valid certificates is so the monitor doesn't raise an alarm when it
> finds a legitimate certificate for a monitored subject name.
>
> So the answer to your first question is that the monitor would fail
> to alert the Subject about an erroneous certificate.  This could be
> clarified in section 5.6.
>
> The answer to your second question is that the monitor would still
> detect erroneous certificates, because it's monitoring based on subject
> name.  This seems to be clear already from the description of a monitor
> in the introduction.
>
> Regards,
> Andrew
>