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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Wed, Feb 8, 2017 at 7:19 AM, Viktor Dukhovni <ietf-dane@xxxxxxxxxxxx> wrote:
On Wed, Feb 08, 2017 at 06:46:41AM -0800, Wei Chuang wrote:

> > This draft breaks the existing name constraint restrictions, because
> > the same CA can now issue EE certificates with SmtpUtf8 addresses
> > outside the permitted rfc822Name tree.  Possibly including all-ASCII
> > addresses that just happen to be found in an SmtpUtf8 subjectAltName.
> >
> > The problem is that the namespaces of the existing "rfc822Name"
> > constraints and the new "SmtpUtf8Name" constraints substantially
> > overlap leading to unexpected behaviour.
>
> I wouldn't say unexpected.

It may well be expected as a consequence of decisions in the draft,
but it is objectively unwanted new behaviour for a name constrained
CA, to suddenly be able to issue certificates for previously excluded
addresses.  Software that allows such violations of previously
enforced constraints would IMHO be CVE-worthy.

> The draft says the rfc822Name and SmtpUtf8Name
> name constraints are applied separately, and don't affect other results
> (see section 6).

Yes, that's what I'm objecting to.  This is a design error in the
draft.  The namespaces are *not* separate, and orthogonal constraints
are not desirable.

You are stretching the language used above.  They are "applied separately".  

I think we're open to changing how name constraints are applied.  But its worth spelling out the design concern clearly before going down that path.  The concern is that as we add a new representation for international email address that we are seeing that combinatorial increase in comparisons needed for name constraints.  An alternate design of SmtpUtf8Name would have to check constraints for rfc822Name and legacy email address in Distinguished Names in addition to SmtpUtf8Name and vice versa for those forms.  This design chooses to simplify that by keeping rfc822Name name constraint behavior and separately defining a new SmtpUtf8Name name constraint behavior that works only on SmtpUtf8Name names.  That simplifies the work of the path verifier and eliminates potential domain (A/U label) conversions between the alternate forms.  Work is now shifted to the issuer which must explicitly define SmtpUtf8Name name constraint.  
 

> It is followed by examples illustrating the behavior of
> the overlap case.  The reason for separating the rfc822Name and
> SmtpUtf8Name constraints was to minimize the domain A-label to U-label
> conversions (and vice versa) (which I believe you're asking for too).

This is not a valid reason to violate the meaning of existing name
constraints.  It is not even clear why any conversions would be
required.  All that one needs to do is satisfy rfc822Name constraints
when no SmtpUtf8Name constraints are present in the same certificate.
When the domain is a non-ASCII domain, no permitted tree or excluded
sub-tree matches without conversion.  Thus the address is acceptable
only if the rfc822Name constraints contain only excluded sub-trees.

The only corner case is when an all-ASCII address (both localpart
and domainpart) for some reason appears in SmtpUtf8Name.  Such
names could match a full address in rfc822Name constraints (not
just a domainpart sub-tree).  This is why it is important to be
clear about whether all-ASCII names are valid in that context.

> The assumption being made in the draft is that a SmtpUtf8Name
> aware issuer will also be aware of the name constraints on that type.

The issuer may be SmtpUtf8 aware, but the parent CA that sets the
issuer's constraints (possibly some time ago in the past) may not.
The issuer should not be able to evade name constraints.

Assuming we keep the current name constraint design, we can add a requirement that name constraints on email addresses has to be consistently applied on the certificate issuance path.  In other words, an issuer with only rfc822Name name constraints in its path can only issue rfc822Name subAltName email addresses.  Similarly SmptUtf8Name.  An issuer with both SmtpUtf8Name and rfc822Name in its path can issue both subjectAltName name form email addresses.
 
-Wei

<<attachment: smime.p7s>>


[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]