Re: [Spasm] Different EAI options for carrying IDNs

Russ Housley <housley@vigilsec.com> Mon, 08 May 2017 22:00 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 7D7BD1287A5 for <spasm@ietfa.amsl.com>; Mon, 8 May 2017 15:00:17 -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 6f8xjUT2l2wR for <spasm@ietfa.amsl.com>; Mon, 8 May 2017 15:00:15 -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 4ED6D127333 for <spasm@ietf.org>; Mon, 8 May 2017 15:00:15 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id A0C39300526 for <spasm@ietf.org>; Mon, 8 May 2017 18:00:14 -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 KIx8Z0q19g6s for <spasm@ietf.org>; Mon, 8 May 2017 18:00:10 -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 C02193004CE; Mon, 8 May 2017 18:00:09 -0400 (EDT)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <D197427E-6B0C-4F2C-9979-B3579D1A8016@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_B2DF3D8E-CD7C-4751-9092-C48926501CD4"
Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\))
Date: Mon, 08 May 2017 18:00:12 -0400
In-Reply-To: <CAAFsWK3ydxV1RzpE9=Ex7Q5ddz9HL0BWAuubs8kxOraZQ4akTQ@mail.gmail.com>
Cc: SPASM <spasm@ietf.org>, Nico Williams <nico@cryptonector.com>, Viktor Dukhovni <ietf-dane@dukhovni.org>
To: Wei Chuang <weihaw@google.com>
References: <CAAFsWK3ydxV1RzpE9=Ex7Q5ddz9HL0BWAuubs8kxOraZQ4akTQ@mail.gmail.com>
X-Mailer: Apple Mail (2.3273)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/V44nm28j4see9xWeYYzv3OHO6gA>
Subject: Re: [Spasm] Different EAI options for carrying IDNs
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.22
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, 08 May 2017 22:00:17 -0000

I can live with either Option 1 or Option 2, but I have a preference for Option 1.  As was discussed in Chicago, the rfc822Name constraint works with both of these options.  With Option 1, the U-Labels in the SmtpUTF8Name need to be converted to A-Labels to enforce the constraints, but no conversion is need to display the SmtpUTF8Name.  With Option 2, the A-Labels in the SmtpUTF8Name need to be converted to U-Labels for display, but no conversion is need to to enforce the name constraints.  In both cases, the CA should make sure that conversion back and forth results in the same IDN, otherwise there will be errors in either display or name constraint enforcement.

I have already spoken against Option 3, and I will not repeat those points here.

I think the concerns with draft -08 that were discussed in Chicago apply to Option 4.  In particular, the need to provide independent name constraints for rfc822Name and SmtpUTF8Name will lead to trouble.

Russ


> On May 7, 2017, at 6:42 PM, Wei Chuang <weihaw@google.com> wrote:
> 
> Hi all,
> 
> To resolve the direction of the EAI draft, I've tried to summarize the different
> options from the earlier mail threads on draft-ietf-lamps-eai-addresses-09 and
> highlight particular features that might help differentiate the approaches.  In
> particular there might have been confusion with the earlier Option 1, so this
> describes draft -09 take on it.  This then tries to summarize the two very
> different approaches of carrying IDNs solely as A-label (Option 2) and U-label
> (Option 4).  This also describes the option of providing both SAN forms
> rfc822Name and SmtpUTF8Name that was brought up in the thread as well (Option 3). 
> I've tried CC'ing the folks who proposed these different options, in case I've missed
> anything in the summary.  Comments welcome, particularly about about a preferred
> direction.
> 
> -Wei
> 
> =====
> 
> Option 1 is described in the -09 draft.  When the local part of a email address
> SAN is non-ASCII, the SAN is in SmtpUTF8Name form which carries the IDNs as
> U-Labels, otherwise the SAN is in rfc822Name which carries the IDNs as A-label.
> Name constraints always use rfc822Name as it only now represents hostname and
> domain only.
> 
> * FROM comparsion- no conversion for SmtpUTF8Name; conversion of FROM U-Labels
>   to A-label for comparison with rfc822Name; more frequent.
> * Display- no conversion for SmtpUTF8Name; conversion of rfc822Name SAN A-labels
>   to U-label for display; more frequent.
> * Name constraint- no conversion for rfc822Name SAN for path verification;
>   conversion needed for SmptUTF8Name path verification where rfc822Name name
>   constraint A-labels is converted to U-label; name constraints are very
>   infrequently issued.
> * Internationalization library needed for path verifier for name constraint
>   conversion, FROM comparison and display.
> * Lower byte overhead as rfc822Name more frequently used which is generally
>   more compact.
> * Fully backwards compatible.
> 
> Example SAN
>   SmtpUTF8Name          医生@大学.com <http://xn--pss25c.com/>  
>   rfc822Name            student@xn--pss25c.com <mailto:student@xn--pss25c.com>  
> 
> Example name constraint
>   rfc822Name            xn--pss25c.com <http://xn--pss25c.com/>  
> 
> 
> Option 2 is described in Viktor and Russ's message, where IDNs are always
> carried as A-Labels.  When the local part of a email address SAN is non-ASCII,
> the SAN is in SmtpUTF8Name form which carries the the IDNs as A-Labels,
> otherwise the SAN is in rfc822Name which carries the IDNs as A-label.  Name
> constraints always use rfc822Name as it only now represents hostname and domain
> only.
> 
> * FROM comparsion- conversion of FROM U-labels to A-labels for comparison with
>   rfc822Name and SmtpUTF8Name IDNs A-label; more frequent
> * Display- conversion of rfc822Name and SmtpUTF8Name SAN IDNs A-labels to
>   U-labels; more frequent
> * Name constraint- No conversion of IDNs; name constraints are very infrequently used.
> * Internationalization library needed for FROM comparison and display.
> * lower byte overhead as rfc822Name more frequently used which is generally
>   more compact.
> * Fully backwards compatible.
> 
> Example SAN
>   SmtpUTF8Name          医生@xn--pss25c.com <http://xn--pss25c.com/>
>   rfc822Name            student@xn--pss25c.com <mailto:student@xn--pss25c.com>  
> 
> Example name constraint
>   rfc822Name            xn--pss25c.com <http://xn--pss25c.com/>  
> 
> 
> Option 3 is described in William’s message where both SAN forms rfc822Name and
> SmtpUTF8Name are present for a given email address and represent equivalent
> information (except when local-part can't be represented as in rfc822Name and
> non-ASCII local-part).  SmtpUTF8Name carries the IDNs as U-Labels while
> rfc822Name carries the IDNs as A-labels.  Name constraints presumably always use
> rfc822Name and it only now represents hostname and domain only.
> 
> * FROM comparsion- Select SmtpUTF8Name for comparison which does not need IDN
>   label conversion; more frequent.
> * Display- Select SmtpUTF8Name for display which does not need IDN label
>   conversion; more frequent.
> * Name constraint- Select rfc822Name for path verification comparison which does
>   not need IDN label conversion; name constraints are very infrequently used.
> * Internationalization library not needed for conversion.
> * Higher byte overhead as duplicate SAN are present.
> * Fully backwards compatible.
> 
> Example SAN
>   SmtpUTF8Name          医生@大学.com <http://xn--pss25c.com/>
>   SmtpUTF8Name          student@大学.com <mailto:student@%E5%A4%A7%E5%AD%A6.com>
>   rfc822Name            student@xn--pss25c.com <mailto:student@xn--pss25c.com>  (equivalent to above)
> 
> Example name constraint
>   rfc822Name            xn--pss25c.com <http://xn--pss25c.com/>  
> 
> 
> Option 4 is alluded to in Russ's and Viktor's emails (as an idealized Option 1)
> and takes some elements of -08.  The SAN of up-to-date issuers SHOULD use the
> SmtpUTF8Name form which carries the the IDNs as U-Labels for all email
> addresses, though rfc822Name SAN which carries the the IDNs as A-Labels may be
> present particularly from legacy issuers.  Name constraints MUST now present
> both SmtpUTF8Name and rfc822Name forms (for backwards compatibility), and still
> only represents hostname and domain only.
> 
> * FROM comparsion- No conversion for SmtpUTF8Name (though required for legacy);
>   more frequent.
> * Display- No conversion for SmtpUTF8Name (though required for legacy); more
>   frequent.
> * Name constraint- Select form needed hence no conversion (though required for
>   legacy); name constraints are very infrequently used.
> * Internationalization library needed for legacy or backwards compatibility
>   during FROM comparison or path verification.
> * Moderately more byte overhead as SmtpUTF8Name has an extra OID vs rfc822Name.
>   Some penalty for duplicate name constraint though that is infrequent.
> * Fully backwards compatible.
> 
> Example SAN
>   SmtpUTF8Name          医生@大学.com <http://xn--pss25c.com/>
>   SmtpUTF8Name          student@大学.com <mailto:student@%E5%A4%A7%E5%AD%A6.com>
> 
> Example name constraint
>   SmtpUTF8Name          大学.com <http://xn--pss25c.com/>
>   rfc822Name            xn--pss25c.com <http://xn--pss25c.com/>  (equivalent to above) 
> 
> 
> _______________________________________________
> Spasm mailing list
> Spasm@ietf.org
> https://www.ietf.org/mailman/listinfo/spasm