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

John C Klensin <john-ietf@jck.com> Fri, 03 February 2017 16:07 UTC

Return-Path: <john-ietf@jck.com>
X-Original-To: ietf@ietfa.amsl.com
Delivered-To: ietf@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 37C2C12965B for <ietf@ietfa.amsl.com>; Fri, 3 Feb 2017 08:07:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.098
X-Spam-Level:
X-Spam-Status: No, score=-5.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-3.199, 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 ew4JubU6tuW4 for <ietf@ietfa.amsl.com>; Fri, 3 Feb 2017 08:07:41 -0800 (PST)
Received: from bsa2.jck.com (ns.jck.com [70.88.254.51]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 91AAF12965F for <ietf@ietf.org>; Fri, 3 Feb 2017 08:07:41 -0800 (PST)
Received: from [198.252.137.70] (helo=PSB) by bsa2.jck.com with esmtp (Exim 4.82 (FreeBSD)) (envelope-from <john-ietf@jck.com>) id 1cZgOi-000Auj-Au for ietf@ietf.org; Fri, 03 Feb 2017 11:07:40 -0500
Date: Fri, 03 Feb 2017 11:07:33 -0500
From: John C Klensin <john-ietf@jck.com>
To: ietf@ietf.org
Subject: Re: Last Call: <draft-ietf-lamps-eai-addresses-05.txt> (Internationalized Email Addresses in X.509 certificates) to Proposed Standard
Message-ID: <D45CE6A5317D4B373CD90742@PSB>
In-Reply-To: <20170201210155.GI28349@mournblade.imrryr.org>
References: <B9F32633ED13374379C6E0D1@PSB> <20170124193109.68919.qmail@ary.lan> <20170201210155.GI28349@mournblade.imrryr.org>
X-Mailer: Mulberry/4.0.8 (Win32)
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
X-SA-Exim-Connect-IP: 198.252.137.70
X-SA-Exim-Mail-From: john-ietf@jck.com
X-SA-Exim-Scanned: No (on bsa2.jck.com); SAEximRunCond expanded to false
Archived-At: <https://mailarchive.ietf.org/arch/msg/ietf/BdFiEq_7hg9TIx0rZ-QbKLD3i-I>
X-BeenThere: ietf@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF-Discussion <ietf.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ietf>, <mailto:ietf-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ietf/>
List-Post: <mailto:ietf@ietf.org>
List-Help: <mailto:ietf-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ietf>, <mailto:ietf-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 03 Feb 2017 16:07:43 -0000

Victor, Wei Chuang, and IESG,

The more this discussion goes on, the more I become convinced
that this document should make an explicit reference to the IDNA
2008 and SMTPUTF8 documents, say that strings in certificates
MUST conform to whatever is allowed there and then, other than
making a statement about preference for U-labels over A-labels
(or vice versa), say as little as possible.  The problem is that
use of forms that might have coded meanings without knowing what
those meanings are is an opportunity for mischief, something
that should be of special concern for a piece of work that is
security-specific.   

I note that "prohibit everything that has a prefix consisting of
two ASCII letters followed by '--' unless the letter sequence is
specifically allowed" has been discussed at length and then
agreed on in at least three WGs specialized about the
identifiers, not just their embeddings (original IDN, IDNbis,
and PRECIS).  Even if there were a growing consensus that a
different rule would be more appropriate (and, AFAICT, there
definitely is not), it would be a bad idea for LAMPS or other
certificate-related work to get ahead of that consensus and
specify something inconsistent with the identifier standards
themselves.

Phill's proposal, independent of its merits, is almost
irrelevant to the question.  From the standpoint of the present
work, it is one of many proposals to do interesting things with
the DNS by using ACE-style (or trick-prefix) labels.  If the
community concludes that it is a good idea and has a plausible
chance of global deployment, the DNS/IDNA and SMTP (or SMTPUTF8)
specs will need to be modified to allow the prefix.  The LAMPS
"eai" spec should be written so that, if those specifications
are modified, whatever they allow should be allowed in certs,
but should, again, not be allowed to get ahead.   If that means
we are now in need of an IANA registry of such prefixes (with
exactly one initial entry plus maybe one long-deprecated one),
that ought to be easy to do.

As to "put all the alternate forms in the cert", we've been
there too and it hasn't ended happily.  Fully-qualified DNS
names are part of a hierarchy.   Transcoding between A-labels
and U-labels is an algorithmic matter, not a hierarchy of
choices but, if there are even two choices for the form of a
label at each of several different levels of the hierarchy, one
rapidly gets to a combinatorial explosion.  I trust everyone
here can do the arithmetic.  If listing all of the possible
variations on an FQDN in the certificate is the solution, then
the WG -- on behalf of those who issue, certify, validate, and
check certificates -- needs to be prepared for certs with
dozens, sometimes hundreds, of names in them, not just the
examples that have been floated with perhaps two or three.  

Remembering that, if, as Porky Pig, I can get a cert issued to
me with Mickey Mouse as an alternate name that is treated as a
synonym for all purposes, much of the value of certification is
lost and, IMO, we are all in big trouble.   If the WG wants to
encourage alternate name behavior, I think it is imperative that:

	(i) The document contain explicit instructions to
	certificate issuers and CAs about what should be checked
	and to client systems about what should be
	believed/trusted and under what circumstances.
	
	(ii) Certificate provisions to specify certification
	levels and exactly what is being certified need to be
	reexamined and probably expanded to identify trust
	levels and accountability around alternate names.
	
	(iii) The "Security Considerations" section of the I-D
	should be expanded to explicitly discuss these cases and
	the risks.

The document should not be approved until that work is complete
and reaches consensus.

   best,
      john


--On Wednesday, February 1, 2017 21:01 +0000 Viktor Dukhovni
<ietf-dane@dukhovni.org> wrote:

> On Tue, Jan 24, 2017 at 07:31:09PM -0000, John Levine wrote:
> 
>> > My impression is that there is little problem with the
>> > intended underlying spec, but the document text needs some
>> > tuning.
>> 
>> Agreed.  The subsequent section on comparing names would
>> likely benefit from clearer instructions, e.g.
>> 
>> a) if the domain contains A-labels, turn them into U-labels
>> b) if the domain still contains R-LDH labels, stop, not a
>> valid name. c) if the domain contains NR-LDH labels, make
>> them all the same case d) do a straight byte comparison of
>> the addresses
> 
> I think that restricting R-LDH labels that are not A-labels is
> too strict, see for example Phil Hallam-Baker's proposed
> encapsulation of email addresses with "the mesh" (attached).
> 
>   TL;DR:
> alice@example.com.mm--MBTVK-ZKCWT-KHMTE-XM3I7-GSQNK-MLFYE
> 
> The "mm" R-LDH namespace (if/when implemented) or some other
> future namespace should probably not be excluded at this time.
> 
> If the intent is to canonicalize A-labels to U-labels, then
> perhaps only "xn--" labels should be proscribed, if any.
> 
> On the other hand, I see there is some support for allowing
> certificates to contain whatever form is actually used in email
> headers, and perhaps more than just one such form.  If so,
> there is no need to proscribe any names at all.  The client
> performs no conversions, and the certificate would need to be
> inclusive of any addresses that are in actual use.