[Smcwg-public] Certificate Template Information extension and SBR allowance

Russ Housley housley at vigilsec.com
Mon Feb 12 15:21:11 UTC 2024


I think the text should require such extension to be non-critical.

Russ

> On Feb 12, 2024, at 5:54 AM, Martijn Katerbarg via Smcwg-public <smcwg-public at cabforum.org> wrote:
> 
> Thanks all. Proposed language is in https://github.com/srdavidson/smime/pull/10
>  
>  
> From: Tim Hollebeek <tim.hollebeek at digicert.com <mailto:tim.hollebeek at digicert.com>>
> Date: Wednesday, 17 January 2024 at 22:01
> To: Clint Wilson <clintw at apple.com <mailto:clintw at apple.com>>, Martijn Katerbarg <martijn.katerbarg at sectigo.com <mailto:martijn.katerbarg at sectigo.com>>, SMIME Certificate Working Group <smcwg-public at cabforum.org <mailto:smcwg-public at cabforum.org>>
> Cc: Dimitris Zacharopoulos <dzacharo at harica.gr <mailto:dzacharo at harica.gr>>
> Subject: RE: [Smcwg-public] Certificate Template Information extension and SBR allowance
> 
> Yep.  If you use a SDO OID, you MUST use it in compliance with all the associated restrictions in the relevant standard.
>  
> Otherwise you’re using the OID for something else entirely, which you do not have the “right” to do.
>  
> You cannot claim that you have the “right” to use the CABF OrgID extension to identify a cheeseburger in order to allow customers to put cheeseburgers in certificates.  If you’re using an extension, you need to use it in the intended way.
>  
> Using extensions in non-standard ways eventually renders them useless and gets them banned (see: Organizational Unit).
>  
> -Tim
>  
> From: Clint Wilson <clintw at apple.com <mailto:clintw at apple.com>> 
> Sent: Tuesday, January 16, 2024 3:19 PM
> To: Martijn Katerbarg <martijn.katerbarg at sectigo.com <mailto:martijn.katerbarg at sectigo.com>>; SMIME Certificate Working Group <smcwg-public at cabforum.org <mailto:smcwg-public at cabforum.org>>
> Cc: Tim Hollebeek <tim.hollebeek at digicert.com <mailto:tim.hollebeek at digicert.com>>; Dimitris Zacharopoulos <dzacharo at harica.gr <mailto:dzacharo at harica.gr>>
> Subject: Re: [Smcwg-public] Certificate Template Information extension and SBR allowance
>  
> While I think I agree with the intent of Tim’s statement (especially in the context of this discussion and its applicability thereto), taken literally I believe it is stating something with broader impact than intended. 
> What I mean is that it’s important to carry the complete context of an OID over, including the requirements and/or prerequisites outlined for the use of an OID (to the extent specified or stipulated by the governing SDO). The “right” exists, but so to do obligations coinciding with the use of many (all?) OIDs. I believe everyone here’s suitably aware of this, but just wanted to state it explicitly so that too much nuance isn’t lost with any potential changes made to the text.
>  
> Cheers,
> -Clint
>  
> 
> On Jan 16, 2024, at 11:27 AM, Martijn Katerbarg via Smcwg-public <smcwg-public at cabforum.org <mailto:smcwg-public at cabforum.org>> wrote:
>  
> > Absolutely. Any OID that comes from a Standards Development Organization is intended for use by other organizations, and everyone has the “right” to use them.
>  
>  
>  
> I’d like to be able to read it this way, but I am concerned that the current language is too limiting in this regard.
>  
> Tim, since you also mentioned not liking the language, I’ll see if I can come up with an alternative to make this clear, and also make the implied allowance a stated fact.
>  
>  
>  
> Regards,
>  
> Martijn
>  
>  
> From: Tim Hollebeek <tim.hollebeek at digicert.com <mailto:tim.hollebeek at digicert.com>>
> Sent: Wednesday, January 10, 2024 10:58:58 pm
> To: Dimitris Zacharopoulos <dzacharo at harica.gr <mailto:dzacharo at harica.gr>>; SMIME Certificate Working Group <smcwg-public at cabforum.org <mailto:smcwg-public at cabforum.org>>
> Cc: Martijn Katerbarg <martijn.katerbarg at sectigo.com <mailto:martijn.katerbarg at sectigo.com>>
> Subject: RE: [Smcwg-public] Certificate Template Information extension and SBR allowance
>  
> 
> Absolutely.  Any OID that comes from a Standards Development Organization is intended for use by other organizations, and everyone has the “right” to use them.
>  
> -Tim
>  
> From: Dimitris Zacharopoulos <dzacharo at harica.gr <mailto:dzacharo at harica.gr>> 
> Sent: Wednesday, January 10, 2024 12:48 PM
> To: Tim Hollebeek <tim.hollebeek at digicert.com <mailto:tim.hollebeek at digicert.com>>; SMIME Certificate Working Group <smcwg-public at cabforum.org <mailto:smcwg-public at cabforum.org>>
> Cc: Martijn Katerbarg <martijn.katerbarg at sectigo.com <mailto:martijn.katerbarg at sectigo.com>>
> Subject: Re: [Smcwg-public] Certificate Template Information extension and SBR allowance
>  
> I also believe that any publicly supported and documented X.509 extension (e.g. defined by IETF or ITU-T) are allowed for use by CAs, as long as they are documented in the CA's CPS. 
> 
> Is there anything that prevents it in the current CA/B Forum documents? 
> 
> 
> Thanks, 
> DZ.
> 
> Jan 10, 2024 20:38:19 Tim Hollebeek via Smcwg-public <smcwg-public at cabforum.org <mailto:smcwg-public at cabforum.org>>:
> 
> You don’t need a contract to have a right to use someone else’s extension.
> I would say that if Microsoft has public documentation that says or implies that the extension can and should be used by other organizations, then other organizations “have the right” to use that extension.
> That said, I have never liked this language, which comes from the TLS BRs.  I would support making it more clear as to what is and isn’t allowed, and even maybe clarifying what problem is being solved with these requirements.
> -Tim
> From: Smcwg-public <smcwg-public-bounces at cabforum.org <mailto:smcwg-public-bounces at cabforum.org>> On Behalf Of Martijn Katerbarg via Smcwg-public
> Sent: Wednesday, January 10, 2024 5:54 AM
> To: SMIME Certificate Working Group <smcwg-public at cabforum.org <mailto:smcwg-public at cabforum.org>>
> Subject: [Smcwg-public] Certificate Template Information extension and SBR allowance
> Hi all,
> There’s been a request within the S/MIME working group to bring forward issues that have arisen since the adoption of the SBRs. While we’ve not seen a whole lot of issues, we believe we may have discovered one now.
> We offer support for Windows’s own auto-enrollment features. In the past we used to include the “Certificate Template Information” extension (OID 1.3.6.1.4.1.311.21.7) for this purpose. Since we started issuing SBR compliant certificates prior to September 1st, we removed support for this extension on publicly trusted S/MIME certificates.
> As we now have noticed, this has led to a partial breakdown of the auto-enrollment system. From what we understand, the auto-enrollment mechanism is specifically looking for this extension in certificates, if a certificate for a particular required Certificate Template (as specified through AD) is not found, auto-enrollment will “do its job”, and request a new certificate. This can lead to multiple new certificates being installed in a single day, all because the extension is missing.
> We’ve investigated bringing back support for the extension, and are led to the conclusion that no, this extension would not be allowed per the current language. A breakdown:
> Section 7.1.2.4 (https://github.com/cabforum/smime/blob/main/SBR.md#7124-all-certificates <https://url.avanan.click/v2/___https:/github.com/cabforum/smime/blob/main/SBR.md%237124-all-certificates___.YXAzOmRpZ2ljZXJ0OmE6bzphYmIxNjU3ZGU1ZTYwODNjM2Q3N2NjOTI2NDlhNTFhNzo2Ojk4ZDE6N2VhYmQyYzcxNDdhYjlhZDExZmE0MDI3ZWVmYzEyNDY0YzM5YjI1Yzc0NjEzZmUwZTU2MGJjMzhiM2QxMWRjMDpoOkY> ) states:
> “All fields and extensions SHALL be set in accordance with RFC 5280 <https://url.avanan.click/v2/___https:/datatracker.ietf.org/doc/html/rfc5280___.YXAzOmRpZ2ljZXJ0OmE6bzphYmIxNjU3ZGU1ZTYwODNjM2Q3N2NjOTI2NDlhNTFhNzo2OmIzZWM6YWE0NTVlYmI4ZDk2OWMwMzJkZmQ1NzM5YzE3YzAwOGUyOGFiYWE2ZTMyNDA4YWY4YTc2MzQyZWVlNDNlMjIzNTpoOkY>. The CA SHALL NOT issue a Certificate that contains a keyUsage flag, extKeyUsage value, Certificate extension, or other data not specified in Section 7.1.2.1 <https://url.avanan.click/v2/___https:/github.com/cabforum/smime/blob/main/SBR.md%237121-root-ca-certificates___.YXAzOmRpZ2ljZXJ0OmE6bzphYmIxNjU3ZGU1ZTYwODNjM2Q3N2NjOTI2NDlhNTFhNzo2OmZjMDg6MzYxZGEyOGIzOWI5YmEzY2Y4MjRiOTczYzlkZGMzYmIyNTk4YWU4ZjRkNTRhNzdmNGNlNGI4Y2E3MGZhOGVjZDpoOkY>, Section 7.1.2.2 <https://url.avanan.click/v2/___https:/github.com/cabforum/smime/blob/main/SBR.md%237122-subordinate-ca-certificates___.YXAzOmRpZ2ljZXJ0OmE6bzphYmIxNjU3ZGU1ZTYwODNjM2Q3N2NjOTI2NDlhNTFhNzo2OmU0MTg6MzE4Mzc4YTg4NThmMzMxOWY3Yjk3OGM1MmMyNzgzNTNkYzRiMmRiNTg4NWM0YmFlOTQ4MDAyZTMxZWQyYWY0NzpoOkY>, or Section 7.1.2.3 <https://url.avanan.click/v2/___https:/github.com/cabforum/smime/blob/main/SBR.md%237123-subscriber-certificates___.YXAzOmRpZ2ljZXJ0OmE6bzphYmIxNjU3ZGU1ZTYwODNjM2Q3N2NjOTI2NDlhNTFhNzo2OmRmM2E6ZDE5OTU5Yjg2ODJhYmVkOGZhYjUzMDcwNGY3MDNiZTQ2ZTQ3YTkxMWQ1NjE0OGMxOTJmNjQwYmIxNTI0ZDAwZjpoOkY> unless the CA is aware of a reason for including the data in the Certificate. If the CA includes fields or extensions in a Certificate that are not specified but are otherwise permitted by these Requirements, then the CA SHALL document the processes and procedures that the CA employs for the validation of information contained in such fields and extensions in its CP and/or CPS.”
> So far, we could see allowing the extension. We have “a reason for including the data in the Certificate”, and we could update our CPS. However, the language continues with an additional SHALL NOT:
> “CAs SHALL NOT issue a Certificate with:
> 
> Extensions that do not apply in the context of the public Internet (such as an extKeyUsage value for a service that is only valid in the context of a privately managed network), unless:
> i. such value falls within an OID arc for which the Applicant demonstrates ownership, or
> ii. the Applicant can otherwise demonstrate the right to assert the data in a public context; or
> Field or extension values which have not been validated according to the processes and procedures described in these Requirements or the CA's CP and/or CPS.”
> So while the first section might allow us to incorporate the extension, it seems we also need to meet one of the statements in this block:
> “Extensions that do not apply in the context of the public Internet (such as an extKeyUsage value for a service that is only valid in the context of a privately managed network), unless:”
> This extension indeed does not apply in the context of the public Internet. So, we move into the exception cases:
> ”i. such value falls within an OID arc for which the Applicant demonstrates ownership, or”
> No. Neither us, nor the Applicant owns the OID. It’s an OID under the Microsoft OID arc.
> ” ii. the Applicant can otherwise demonstrate the right to assert the data in a public context; or”
> Unless the Applicant gets a contract stating they were given the right by Microsoft, we don’t see how this requirement is met. 
> Then we’re left with “Field or extension values which have not been validated according to the processes and procedures described in these Requirements or the CA's CP and/or CPS.”
> This one is a bit odd. Does this suddenly suggest or imply that the CA may include any field or extension that has been validated according only to the CA’s CP and/or CPS? Item “(ii)” ends with an “or”. However, we believe this is an incorrect editorial bit that should be updated, since the list shifts back to a previous indentation.
> All in all, we’re left with the understanding that, no, this extension is not allowed (with the exception that if Microsoft were to be the Applicant, it would be allowed).
> With this breakdown, we’re left with a few questions:
> Have other CAs run into the same issue?
> Do other CAs share the same conclusion?
> If this does appear to be an issue, should an extension by the platform of one of our Certificate Consumers, be specifically added as an allowed extension?
> Regards,
> 
> Martijn
> Sectigo
>  
> _______________________________________________
> Smcwg-public mailing list
> Smcwg-public at cabforum.org <mailto:Smcwg-public at cabforum.org>
> https://lists.cabforum.org/mailman/listinfo/smcwg-public
>  
> _______________________________________________
> Smcwg-public mailing list
> Smcwg-public at cabforum.org <mailto:Smcwg-public at cabforum.org>
> https://lists.cabforum.org/mailman/listinfo/smcwg-public

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cabforum.org/pipermail/smcwg-public/attachments/20240212/2f995020/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4382 bytes
Desc: not available
URL: <http://lists.cabforum.org/pipermail/smcwg-public/attachments/20240212/2f995020/attachment-0001.p7s>


More information about the Smcwg-public mailing list