‎As suggested by others, I submitted comments to CABF questions email address 
regarding the code signing cert requirements.

I'm including them below in the event there is any interest in the wider 
Mozilla community in discussing the issues further in a public forum.

Thanks. 


====== Submitted Comments ======
‎I'd like to offer the following comments on the public draft of this 
requirements document.


1) One of the key benefits of putting together this BR has to be formalizing 
the separation of keys used for signing code and those used for other purposes, 
SSL in particular.‎ As such I'd like to see this idea of separation featured 
more prominently than it currently is. The first mention of it that I noticed 
was deep in section 10.3.2 item 3 "key reuse". Why not bring this up in section 
9.5? Or, better yet, put a bullet list of goals in the Purpose section and 
include this as one of them?


2) ‎In reading the EKU sections in Appendix B, I was disappointed that strong 
separation of keys was being compromised in the name of what I'll call "special 
cases". I don't actually know what a special case looks like or how valid I 
would personally consider it to be, but I'm willing to allow there are cases 
where the need for a single key to be used for code signing and something else 
is unavoidable. If that truly is the case, the loophole being granted in these 
sections is far too broad and should be reconsidered.

I'll offer an alternate approach‎, starting with the assumption that special 
cases are rare and, therefore, not every CA or cert issuer will be doing it. 
I'd like to keep it rare, hence the following:

A) As a first layer of defense, place a restriction on which intermediate certs 
are even allowed to be used in a code signing cert chain and a "other" chain. 
The restriction is based on those intermediates which have an existing, 
documented need. Intermediate cert holders will have to provide that 
documentation to an auditor.

B) As a best practice, encourage the segregation of code signing and other keys 
at a root level. Doing so provides the greatest level of protection to the 
general public.‎ I would expect that most CA's are doing this already, but it 
doesn't hurt to encourage others to do this too.

C) At every step where offering the capability for key reuse is being 
considered, require that the decision making be based on pre-existing, rare 
cases with documented (and then audited) evidence. I define pre-existing as "a 
business relationship and documented need that exists prior to the date of this 
BR publication".

The bottom line is that the need to protect the general public should outweigh 
a theoretical business need. To put it another way, "key reuse puts the public 
at risk" must outweigh "I'd like to have the option of offering key reuse as a 
service in the future".


My preference is still to disallow key reuse in all cases but perhaps ‎these 
rare, special cases really are unavoidable.

Thank you for your consideration.‎
_______________________________________________
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to