[cabfpub] Proposed new ballot on IP Addresses in SANs

Ryan Sleevi sleevi at google.com
Tue Apr 26 13:53:35 MST 2016


Reposting this on Brian's request.

---------- Forwarded message ----------
From: Brian Smith <brian at briansmith.org>
Date: Tue, Apr 26, 2016 at 12:47 PM
Subject: Re: [cabfpub] Proposed new ballot on IP Addresses in SANs
To: Ryan Sleevi <sleevi at google.com>


[Please forward this to the mailing list.]

Ryan Sleevi <sleevi at google.com> wrote:

> The best solution would be for clients to be updated to follow RFC 2818
>> and check iPAddress entries in the SAN.
>>
>
> Indeed, and Microsoft can solve this very easily, without the same risks
> and compatibility issues of nameConstraints.
>

I agree. I'm also not trying to shame Microsoft. At the same time, it's
clearly Microsoft's fault that Microsoft's software doesn't do the right
thing. I don't see how the risks in Microsoft updating its software to
become correct could be higher than the risks in other vendors updating
their software to become incorrect.


> To me, it seems that allowing string-ified IP address in dNSName entries
>> in the SAN when the same IP address is included as an iPAddress entry in
>> the SAN is a reasonable tradeoff.  It is no worse than including the same
>> in the common name.
>
>
This is not true. In particular, not only would the subjectAltName parsing
need to be changed, but name constraint processing would also need to be
changed. For example, consider a constraint that disallowed all IP
addresses. The code for enforcing that would be correct if it only looked
at iPAddress subjectAltName entries (and the subject CN, if the
implementation supports that deprecated practice). However, if one needs to
emulate Microsoft's behavior then it would need to be changed to also look
in dNSName entries for IP addresses. Depending on how the code is
structured, that may be a very significant change.

Further, if the implementation doesn't support the deprecated practice of
IP addresses in the subject CN, then it would need to add additional code
to parse IP addresses into a format suitable for applying the iPAddress
constraint. Note that an implementation has an IP Address parser for
parsing URLs, but it might not be able to reasonably use that same parser
in its certificate validation code.

Any/all of these kinds of changes add significant risks of adding bugs--not
only bugs in processing IP addresses, but also bugs in processing other
kinds of names, in particular DNS names. Such bugs could be disastrous for
security.


> If you have a client that properly conforms to RFC 2818, then this is a
>> no-op for you — you will look at the IPaddress entry and never try to match
>> on DNSname.  You had expressed concern that Mozilla would need to update
>> its code, but Gerv had indicated back in August that this was not necessary
>> (https://cabforum.org/pipermail/public/2015-August/005850.html).
>>
>
I am the person that wrote Mozilla's code in question. Mozilla failed to
mention situations where it would in fact be problematic--In particular,
the cases where name constraints are being used.


> That's not what is in the ballot. What is in the ballot can and will cause
> compatibility issues. It also suggests that Chrome would need to adopt
> Firefox's peculiar behaviour (only validating presented identifiers as
> they're encountered, rather than at parse time). That's not something we
> are comfortable with implementing
>

Although I think "peculiar" is an unnecessarily negative characterization
of Mozilla's implementation--which I personally think is brilliant--I do
agree that it isn't reasonable to expect all other implementations to parse
certificates in the "lazy" manner in which Firefox does.


> and especially not foisting upon the ecosystem to know about the "special"
> rules the CA/B Forum embraces. There's already enough magic in the WebPKI -
> we shouldn't knowingly introduce more.
>

I agree.


> There's clearly a demonstration of CA value - they do less work - and of
>> browser value - Microsoft does less work - but there has yet to be an
>> articulation of why the solution is non-viable.
>
>
Not only that, but there also hasn't been any demonstration that this
problem has *significant* impact (i.e. millions of users are affected).

For a very long time, Firefox did a terrible job at building certificate
chains, causing real problems for many CAs and may websites. Mozilla
recognized it had a technical problem, fixed it, and offered the solution
to all of its users--for free. That was a significant investment of
resources that involved rewriting the entire certificate validation
subsystem. Mozilla could have, instead, proposed new CAB Forum rules to
restrict CAs to doing what would work for its implementation--i.e. shift
its costs to the community. But Mozilla didn't; instead Mozilla fixed their
code.

Let's solve technical problems with code, and let's solve political
problems with politics. This is a technical problem.

Cheers,
Brian
-- 
https://briansmith.org/


On Fri, Apr 22, 2016 at 2:44 PM, Ryan Sleevi <sleevi at google.com> wrote:

>
>
> On Fri, Apr 22, 2016 at 12:45 PM, Peter Bowen <pzb at amzn.com> wrote:
>
>> So it would seem that this solution might not be the best option.
>>
>
> "Not the best" isn't the goal. It's "Don't violate RFC5280" that should be
> the goal.
>
> Multiple SANs is a complete red-herring as to the issue. There's no
> requirement that such certificates have them.
>
> Common name deprecation is equally a red-herring. If it offers a viable
> path for these clients, without the attendant security issues and
> *fundamental violation of RFC5280*, it's worth exploring.
>
> That there's been no further explanation other than "Meh" is,
> unquestionably, not a position we can endorse, but even moreso, a policy of
> "Oh well, we'll violate them anyways" is just grossly irresponsible.
>
>
>> The best solution would be for clients to be updated to follow RFC 2818
>> and check iPAddress entries in the SAN.
>>
>
> Indeed, and Microsoft can solve this very easily, without the same risks
> and compatibility issues of nameConstraints.
>
> We considered the RFC5280 non-criticality of nameConstraints because it
> offered significant positive security value for a majority of clients,
> without compatibility risks. The iPAddresses provide no positive security
> value - other than allowing CAs to sell to users with buggy software that
> their vendor doesn't want to fix - and come with significant compatibility
> and security risks.
>
>
>>
>> To me, it seems that allowing string-ified IP address in dNSName entries
>> in the SAN when the same IP address is included as an iPAddress entry in
>> the SAN is a reasonable tradeoff.  It is no worse than including the same
>> in the common name.  As you have pointed out, a string-ified IP address can
>> never match a hostname, so there is no chance of confusion
>
>
> I've already explained to you why this is incorrect. It's unfortunate that
> you continue to suggest this line of thinking. A string-ified IP address is
> not a valid hostname.
>
>
>> If you have a client that properly conforms to RFC 2818, then this is a
>> no-op for you — you will look at the IPaddress entry and never try to match
>> on DNSname.  You had expressed concern that Mozilla would need to update
>> its code, but Gerv had indicated back in August that this was not necessary
>> (https://cabforum.org/pipermail/public/2015-August/005850.html).
>>
>
> That's not what is in the ballot. What is in the ballot can and will cause
> compatibility issues. It also suggests that Chrome would need to adopt
> Firefox's peculiar behaviour (only validating presented identifiers as
> they're encountered, rather than at parse time). That's not something we
> are comfortable with implementing, and especially not foisting upon the
> ecosystem to know about the "special" rules the CA/B Forum embraces.
> There's already enough magic in the WebPKI - we shouldn't knowingly
> introduce more.
>
> I appreciate that conformance is a great goal, but not causing customer
>> pain is also a laudable goal.  In this case it seems the risk is low and
>> the customer value is high.
>>
>
> There has yet to be a demonstration of the customer value compared to the
> solution posed 8 months ago.  There's clearly a demonstration of CA value -
> they do less work - and of browser value - Microsoft does less work - but
> there has yet to be an articulation of why the solution is non-viable. The
> closest comment is Jeremy saying they've investigated, it's not practical -
> but provided zero evidence or technical detail that would allow a reasoned
> weighing of the risk versus reward. Instead, we see CAs eager to violate
> RFC5280, easy to cause compatibility issues with clients, and w/o apparent
> care for the long-term damage to the ecosystem they would be doing.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://cabforum.org/pipermail/public/attachments/20160426/5d5ac046/attachment-0001.html 


More information about the Public mailing list