[cabf_validation] [EXTERNAL]Re: Ballot Proposal: Validation Method in certificatePolicies

Tim Hollebeek tim.hollebeek at digicert.com
Tue Aug 14 10:47:24 MST 2018


More than happy to clarify since I can understand how this would be confusing.

 

The message you reference is discussing operations on the main path of validating certificates.  That’s an extremely common operation that must be robust to all sorts of silliness or the entire world goes south very quickly.  It should also be noted that Wayne’s proposal was for disclosure only and to be able to more effectively determine appropriate remediations, and therefore there actually isn’t any need at all to parse this information as part of certificate validation.  Is the Chrome team planning to selectively distrust certificates based on validation method?

 

Viewing certificate details is a very, very rare operation for most people.  It still has to be secure and robust in the face of unexpected inputs, but that’s very different from requiring that they actually be displayed in an easily understood form.  As I stated in London, I would love if all certificate viewers were well maintained and wonderful, but I can understand that everybody has limited resources, and I’m sympathetic if really pretty display of the latest and greatest certificate changes doesn’t make it to the top of the backlog.

 

-Tim

 

From: Ryan Sleevi <sleevi at google.com> 
Sent: Tuesday, August 14, 2018 1:40 PM
To: Tim Hollebeek <tim.hollebeek at digicert.com>
Cc: Wayne Thayer <wthayer at mozilla.com>; Doug Beattie <doug.beattie at globalsign.com>; CA/Browser Forum Validation WG List <validation at cabforum.org>
Subject: Re: [cabf_validation] [EXTERNAL]Re: Ballot Proposal: Validation Method in certificatePolicies

 

Tim,

 

That seems really inconsistent with your previously stated views in https://cabforum.org/pipermail/validation/2018-August/001001.html . Could you help me understand why the - quite literally - completely opposite argument is now being made? Did you change your views on browser update cycles?

 

I think it's also a mistaken framing to suggest that because it is in the BRs, certificate viewers SHOULD support it. I think the value proposition to those certificate viewers is relative to customer demand and intended use, and those products are making effective decisions about what is applicable to their community of relying parties.

 

This is why I find the entire discussion about certificate viewers to be a misdirect, but I'd like to understand from Wayne if there's a viewpoint that I've miss understood.

On Tue, Aug 14, 2018 at 1:35 PM Tim Hollebeek <tim.hollebeek at digicert.com <mailto:tim.hollebeek at digicert.com> > wrote:

While in theory it should be ample time, experience has shown that certificate viewers evolve glacially.  And, as we discussed in London, there are good reasons for that.  The target audience is extremely small, and it doesn’t surprise me that improvements there often get deprioritized.  There are things that were added to the BRs many years ago that many certificate viewers still don’t understand.

 

I’m kind of torn on BIT STRING vs SEQUENCE.  There are strong arguments that can be made both ways.

 

-Tim

 

From: Ryan Sleevi <sleevi at google.com <mailto:sleevi at google.com> > 
Sent: Tuesday, August 14, 2018 1:19 PM
To: Wayne Thayer <wthayer at mozilla.com <mailto:wthayer at mozilla.com> >
Cc: Doug Beattie <doug.beattie at globalsign.com <mailto:doug.beattie at globalsign.com> >; CA/Browser Forum Validation WG List <validation at cabforum.org <mailto:validation at cabforum.org> >; Tim Hollebeek <tim.hollebeek at digicert.com <mailto:tim.hollebeek at digicert.com> >
Subject: Re: [cabf_validation] [EXTERNAL]Re: Ballot Proposal: Validation Method in certificatePolicies

 

Wayne,

 

Could you expand on what you mean by "difficult to interpret when viewing the cert"?

 

With an effective date so far back as to be July 1, 2019, that seems ample time to update certificate viewers as we do for other bitstring fields (e.g. CRL reasons or keyUsages) to display their semantic value - or even just their numerical bit position, which would have the same "viewer" effect as an integer.

 

On Tue, Aug 14, 2018 at 1:07 PM Wayne Thayer <wthayer at mozilla.com <mailto:wthayer at mozilla.com> > wrote:

Doug - thanks for the comments! Let's discuss this on Thursday's call.

 

I don't like the BIT STRING idea because it will be difficult to interpret when viewing the cert.

 

I'm open to changing the language to account for the current structure of 3.2.2.5, or perhaps it's just time to get the IP 'any other method' ballot cranked out.

 

I chose to start the IP numbering at 501 because the section number is 3.2.2.5. I'm happy to change that if it's not a helpful cue. We could also get creative and make it 322501.

 

I do intend to move the effective date to July 1, 2019 as we discussed on the last call.

 

On Tue, Aug 14, 2018 at 10:02 AM Ryan Sleevi <sleevi at google.com <mailto:sleevi at google.com> > wrote:

I'm not sure why it would follow that there needs to be two BIT STRINGs vs one. You can use a single set for the validation methods - for example, bits 1 - 10 could be DNS validation methods, bit 11-15 could be IP, and then as we add a new validation method, a new bit is allocated - for example, bit 16 could be a new DNS method, bits 17 and 18 two new IP address methods, etc.

 

There's no need to semantically distinguish them, AFAICT

 

On Tue, Aug 14, 2018 at 12:52 PM Doug Beattie <doug.beattie at globalsign.com <mailto:doug.beattie at globalsign.com> > wrote:

Ryan,

 

If there are lots of examples for poor implementations of SET, then using sequence would certainly be preferred.  I was just commenting that since the order is irrelevant that SET might be better.  

 

Enforcement of using Bitstring is an interesting option, but it seems there are also pitfalls with that approach.  In addition, we’d need to encode 2 bitstrings, one for dNSName  and for iPAddress (which might actually be good).

 

 

 

From: Ryan Sleevi <sleevi at google.com <mailto:sleevi at google.com> > 
Sent: Tuesday, August 14, 2018 10:37 AM
To: Doug Beattie <doug.beattie at globalsign.com <mailto:doug.beattie at globalsign.com> >; CA/Browser Forum Validation WG List <validation at cabforum.org <mailto:validation at cabforum.org> >
Cc: Wayne Thayer <wthayer at mozilla.com <mailto:wthayer at mozilla.com> >; Tim Hollebeek <tim.hollebeek at digicert.com <mailto:tim.hollebeek at digicert.com> >
Subject: Re: [cabf_validation] [EXTERNAL]Re: Ballot Proposal: Validation Method in certificatePolicies

 

 

On Tue, Aug 14, 2018 at 7:29 AM Doug Beattie via Validation <validation at cabforum.org <mailto:validation at cabforum.org> > wrote:

Hi Wayne,

 

I have a couple of comments/suggestions:

 

Did we agree to change the effective date to a bit later than April?

 

On the numbering scheme, certainly 500 is high enough that we won’t see a collision any time soon, but it might be easier to mentally map the IP address numbers if they started at 1000 (just a minor suggestion).   Also we’ll need to be sure we update IP address validation section before this ballot goes into effect – do we need to point out this dependency?

 

You used the construct Sequence vs. Set, so there is an implied meaning to the order of the integers, but I think they are randomly “sequenced”.  Maybe Set is better in this case unless we want them ordered for some reason?  It’s not a big deal because RFC 5280 uses sequence for things like EKU where the order isn’t important also.

 

We've seen CAs botch the SET ordering for DER badly in the past (example: equivalent subject AttributeValues), so it also seems less risk to order by SEQUENCE, which gives it nice predictability. I've certainly seen encoding libraries have troubles with SET OF vs SEQUENCE OF. I agree that semantically, we're not approaching special value to the ordering.

 

Neither Set nor Sequence precludes duplicate values, so the statement “..assert every distinct method” isn’t enforced via the ASN structure.  I don’t think there is an easy way (nor necessarily a strong requirement) to enforce this at the encoding level – just pointing it out in case someone has an idea or opinion about that.  However, this random article says that “the entries of a set usually are assumed to be unique, no two identical entries in a set, while a sequence may contain many identical entries”, which further suggests we should use set for our purposes.

https://stackoverflow.com/questions/31442003/asn1-sequence-vs-set

 

I'm not really sure that supports the point you're making though. That's just talking about assumptions people make that aren't supported by the text (e.g. X.680 E.2.10 for SEQUENCE/SEQUENCE OF, E.2.11 for SET/SET OF)

 

If the goal here is to guarantee that one-and-only-one instance appears, and to minimize the size, the alternative encoding is using a BITSTRING (c.f. X.680 E.2.5.3  Use a bit string type to model the values of a bit map, an ordered collection of logical variables indicating whether a particular condition holds for each of a correspondingly ordered collection of objects.). Note that if using a named bitlist, you have to make sure you're observing the DER rule (of no additional trailing zeroes), which is another thing some CA impls have botched, but seems... slightly better?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cabforum.org/pipermail/validation/attachments/20180814/1633e5e4/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4940 bytes
Desc: not available
URL: <http://cabforum.org/pipermail/validation/attachments/20180814/1633e5e4/attachment-0001.p7s>


More information about the Validation mailing list