Re: [Spasm] Last Call: <draft-ietf-lamps-eai-addresses-05.txt> (Internationalized Email Addresses in X.509 certificates) to Proposed Standard

Russ Housley <housley@vigilsec.com> Mon, 13 March 2017 14:44 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D96D71296C3 for <spasm@ietfa.amsl.com>; Mon, 13 Mar 2017 07:44:22 -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, HTML_MESSAGE=0.001, URIBL_BLOCKED=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 z0ECSFgmO_EA for <spasm@ietfa.amsl.com>; Mon, 13 Mar 2017 07:44:21 -0700 (PDT)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F3B811294F1 for <spasm@ietf.org>; Mon, 13 Mar 2017 07:44:20 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 5BD35300250 for <spasm@ietf.org>; Mon, 13 Mar 2017 10:44:20 -0400 (EDT)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 9-58hmTcqRgy for <spasm@ietf.org>; Mon, 13 Mar 2017 10:44:18 -0400 (EDT)
Received: from a860b60074bd.home (pool-108-45-101-150.washdc.fios.verizon.net [108.45.101.150]) by mail.smeinc.net (Postfix) with ESMTPSA id 625503001A6 for <spasm@ietf.org>; Mon, 13 Mar 2017 10:44:18 -0400 (EDT)
From: Russ Housley <housley@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_038FD95C-8249-4FBD-800C-2CB2BB93248F"
Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\))
Date: Mon, 13 Mar 2017 10:44:32 -0400
References: <alpine.OSX.2.20.1702111606270.2386@ary.qy> <CAAFsWK0KoeeHeKxay=j=NR8AqbzaHXtjNoQNQqRHwUNT3-Pe_Q@mail.gmail.com> <D237E866-CEC3-4A3C-9D5E-0D1B48F1799B@dukhovni.org> <841bb724-7403-4682-3d50-f878f63b0346@cs.tcd.ie> <6d114340-c9a7-e311-e6f9-0614600cafd2@cs.tcd.ie> <CAAFsWK2RMGp0jqesx3cTbN=S7p0WuhH+0AbeJuuiZPF6WCbQOQ@mail.gmail.com> <BCEFAA3C-B711-4269-81C8-4DA0E1AA7AD0@dukhovni.org> <CAAFsWK3yJ9r+6abTXZQsNsey+VcRpdtVv=Hku_54_LZ9y1T2xQ@mail.gmail.com> <B8A5967B-9C19-4167-8A20-B82DFD46A924@dukhovni.org> <00c401d298b8$616fffa0$4001a8c0@gateway.2wire.net> <CAAFsWK1Q=d-9E++J0Z7UyEn3mshKkbYZ9yuGX974XvU8rO0VQw@mail.gmail.com> <CAAFsWK3n=dpix1dF6_tm+ZBSqkC=+DW301HaLSg__p-0Tt0rxg@mail.gmail.com>
To: SPASM <spasm@ietf.org>
In-Reply-To: <CAAFsWK3n=dpix1dF6_tm+ZBSqkC=+DW301HaLSg__p-0Tt0rxg@mail.gmail.com>
Message-Id: <9EC9BC6B-B1AB-4B1C-AC73-5501AA94465B@vigilsec.com>
X-Mailer: Apple Mail (2.3259)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/Y8W3ociBCvDLZIwoCAUOUbiHl24>
Subject: Re: [Spasm] Last Call: <draft-ietf-lamps-eai-addresses-05.txt> (Internationalized Email Addresses in X.509 certificates) to Proposed Standard
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 13 Mar 2017 14:44:23 -0000

These changes were made in response to an IETF Last Call comment.  Please review them.  The vast bulk of the changes are in Section 6.  Please speak promptly if you think this is the word technical solution.

Russ



> On Mar 12, 2017, at 5:40 PM, Wei Chuang <weihaw@google.com> wrote:
> 
> The latest draft 08 is up:
> https://tools.ietf.org/html/draft-ietf-lamps-eai-addresses-08 <https://tools.ietf.org/html/draft-ietf-lamps-eai-addresses-08>
> 
> The diff is:
> https://tools.ietf.org/rfcdiff?url2=draft-ietf-lamps-eai-addresses-08.txt <https://tools.ietf.org/rfcdiff?url2=draft-ietf-lamps-eai-addresses-08.txt>
> 
> This draft attempts to capture Viktor's name constraint verifier logic, and illustrate the examples in the diagrams.
> 
> -Wei
>  
> 
> On Thu, Mar 9, 2017 at 10:22 AM, Wei Chuang <weihaw@google.com <mailto:weihaw@google.com>> wrote:
> There seems to be a consensus here and internally to the changes that Viktor proposes.  We can put that in the next draft update.
> 
> -Wei
> 
> On Thu, Mar 9, 2017 at 1:34 AM, tom p. <daedulus@btconnect.com <mailto:daedulus@btconnect.com>> wrote:
> ----- Original Message -----
> From: "Viktor Dukhovni" <ietf-dane@dukhovni.org <mailto:ietf-dane@dukhovni.org>>
> To: <spasm@ietf.org <mailto:spasm@ietf.org>>; "IETF general list" <ietf@ietf.org <mailto:ietf@ietf.org>>
> Sent: Thursday, March 09, 2017 3:19 AM
> > On Mar 8, 2017, at 8:17 PM, Wei Chuang <weihaw@google.com <mailto:weihaw@google.com>> wrote:
> >
> > Okay.  I think the direction then is to have SmtpUTF8Name respect
> rfc822Name name constraints and vice versa.
> 
> Well, no, the simplest proposal on the table is for SmtpUTF8Name to
> be *prohibited* when rfc822Name constraints are present and SmtpUTF8Name
> constraints are not.  When both present, they can operate independently.
> 
> <tp>
> 
> Getting security right can be tricky as the legion of failed attempts
> that make it to RFC testify but what you are proposing here seems so
> simple, so obviously the right thing to do that I am puzzled, bewildered
> even, that anyone can disagree with you.
> 
> Tom Petch
> 
> The verifier logic is then:
> 
> 1. If neither rfc822Name constraints nor SmtpUTF8Name constraints
>            are present in any CA certificate in the chain, any mixture
> of
>            rfc822Name and SmtpUTF8Name SAN elements is valid.
> 
> 2. If some certificate in the chain contains *only* rfc822Name
>    constraints, then these apply to rfc822Name SAN elements, but
>    all SmtpUTF8Names are prohibited.
> 
> 3. When both types of constraints are present in all CA certificates
>            that have either type, then constraints for each SAN type are
>    exclusively based on just the corresponding constraint type.
> 
> 4. If some certificate in the chain contains only SmtpUTF8Name
>      constraints then those are unavoidably at risk of bypass via
>            rfc822Name SAN elements when processed by legacy verifiers.
>    Therefore, this should be avoided, and the CA needs to
>      publish rfc822Name constraints that prevent bypass.  Such
>    constraints *need not* be equivalent (not always possible)
>    to the desired SmtpUTF8Name constraints.  Rather, it suffices
>    to not permit rfc822Name elements that would be prohibited
>    if they were simply cut/pasted (with no A-label to U-label
>            conversions) as SmtpUTF8Name elements.  It is not necessary
>    for these to permit everything that SmtpUTF8Name permits.
> 
> Thus for example, if SmtpUtf8Name only permits addresses in the non
> NR-LDH
> domain "духовный.org <http://xn--b1adqpd3ao5c.org/>" (or a specific set of addresses in such a domain),
> then the corresponding rfc822Name constraint could just permit "." (or
> the
> reserved "invalid" TLD if that's preferable) which is not a usable email
> domain.  This ensures that only the permitted SmtpUTF8Name SANs are used
> and no rfc822Name SANs are used.
> 
> If, instead the Smtp8Name constraints are excluded non-ASCII address
> forms,
> then since these have no literal rfc822Name equivalents, the rfc822Name
> constraints can be omitted with the same effect.
> 
> Only when the intention is to permit NR-LDH domains with either ASCII or
> UTF-8 localparts (or an all-ASCII full address) do the rfc822Name and
> SmtpUTF8Name constraints need to be fully equivalent.  This is of course
> trivial to do.  Just cut/paste the same string into both types of
> constraint.
> 
> --
> Viktor.
> 
> 
>