On 9/3/2019 2:37 μ.μ., Ryan Sleevi wrote:
I’m chiming in, Dimtris, as it sounds like you may have unintentionally misrepresented the discussion and positions, and I want to provide you, and possibly HARICA, the guidance and clarity it needs in this matter.

On Sat, Mar 9, 2019 at 12:46 AM Dimitris Zacharopoulos via dev-security-policy <[email protected] <mailto:[email protected]>> wrote:

    I am personally shocked that a large part of this community considers
    that now is the time for CAs to demonstrate "agility to replace
    certificates", as lightly as that, without considering the
    significant
    pain that Subscribers will experience having to replace hundreds of
    thousands of certificates around the globe. It is very possible that
    Relying parties will also suffer availability issues.


I believe this significantly misunderstands the discussion and motivation. Having read all of the discussion to date, I do not believe this is at all an accurate framing of the expectations or motivations. I would humbly ask that you provide citations to back this claim.

I must admit that I may have over-reacted with this one, taking one particular paragraph from https://groups.google.com/d/msg/mozilla.dev.security.policy/S2KNbJSJ-hs/HNDX5LaZCAAJ

which made me focus on the word "agility" as a requirement that CAs are ultimately responsible of building, and the sooner the better. Having worked with Subscribers that had a very hard time to manually install certificates in legacy web servers, I am very worried that CAs will have to repeat these tasks because for several cases, there are no tools to assist the automation process.


You are correct if you were to say one or two people have provided such a goal, but that’s certainly not consistent with the majority of the discussion to date from the root program participants. Indeed, the expectation expressed is that, *as with every other incident*, the CA consistently follow the expectations.

I highlight this, because I don’t think it’s reasonable to conflate existing expectations, which have been repeatedly clarified, as somehow motivated by some other motivation based on one or two participants’ views.

If you truly feel this way, please revisit the discussion in
https://groups.google.com/forum/m/#!topic/mozilla.dev.security.policy/S2KNbJSJ-hs , as I hope that mine and Wayne’s responses can demonstrate this. Judging by that thread, only a single voice has expressed something remotely as to how you’ve phrased it.

I stand corrected.


    I don't know if others share the same view about the
    interpretation of
    7.1 but it seems that some highly respected members of this community
    did. If we have to count every CA that had this interpretation,
    then I
    suppose all CAs that were using EJBCA with the default configuration
    have the same interpretation.


I believe this also misunderstands the discussion to date, and as a consequence misrepresents this. I don’t believe it is reasonable or fact based to suggest that the CAs that had incidents necessarily shared the interpretation. The incident reports demonstrate that there are a myriad reasons, beyond interpretive differences, that one can find themselves in such a situation. Avoiding conflating the two is necessary, although if you feel it is justified, then I would implore you when summarizing others views to support your view, that you provide the direct links and references. This makes it easier to respond to and provide CAs the necessary clarity of expectations, as well as allows other participants to evaluate and judge themselves the accuracy of the summary.

I think I provided a link to an issue in the github repository of cablint where this topic was briefly discussed in the past.

Although I agree with you on that summarizing others views without them explicitly saying so (my comment for CAs using EJBCA with the default configuration) is not very objective, I see that over the past years, more and more CAs avoid to participate in m.d.s.p. leaving us with no choice but to "guess". That is unfortunate. At some point, the issue of less-and-less CA participation in m.d.s.p. should be discussed.


    BTW, the configuration in EJBCA that we are talking about, as the
    default number of bytes, had the number "8" in the setting,
    resulting in
    64-bits, not 63. So, as far as the CA administrator was concerned,
    this
    setting resulted in using 64 random bits from a CSPRNG. One would
    have
    to see the internal code to determine that the first bit was
    replaced by
    a zero.


This is exactly the point. CAs have an obligation to understand the code they’re using, regardless of the software platform. The failing is not with EJBCA, it is with the CAs that have done so. While there are a number of considerable and profound benefits to using EJBCA - most notably, it seems, in the dearth of issues the CAs presently reporting have had compared to those using closed-source platforms or home-grown platforms - the strength of that platform is not a reasonable mitigation for the CAs not being thorough.

As others have mentioned [1], building a fully custom system from scratch seems to bring a lot more risks to the ecosystem and although I agree with the general expectation you described (that CAs must verify the software's compliance with all the policies/requirements set by the BRs and Root store programs), for this particular issue, it seems very unlikely that a CA could perform this level of code analysis, especially if they interpreted the BRs that all that is needed is 64 random bits from a CSPRNG. Thus, for this particular topic, you might be raising the bar to an unreachable level.



Every CA, when Ballot 164 was passed, had a clear obligation to review how they construct serial numbers, from the technical implementation to the policy configuration. CAs that did so could have placed in a request for the newly announced functionality, or, given the open source nature, contributed such a change themselves.


IMO that is the main difference with other cases of mis-issuance. EJBCA constructed serial numbers according to the policy and the technical implementation was getting 64 bits of entropy from a CSPRNG. To the best of my knowledge and after reading the response from PrimeKey and other community members [2], [3] (to list some), my conclusion is that this was certainly not a creative interpretation of the requirements.

That is guidance that stands regardless of the serial number, and trying to conflate it as somehow a unique response to this incident only does it a disservice.

    IMO, Mozilla should also treat this as an incident and evaluate the
    specific parameters (strict interpretation of section 7.1, CAs did
    not
    deliberately violate the requirement, a globally-respected software
    vendor and other experts had a different allowable interpretation
    of a
    requirement, the security impact on Subscribers and Relying
    Parties for
    1 bit of entropy is negligible), and consider treating this
    incident at
    least as the underscore issue. In the underscore case, there was a
    SCWG
    ballot with an effective date where CAs had to ultimately revoke all
    certificates that included an underscore.


The response from Wayne in
https://groups.google.com/forum/m/#!topic/mozilla.dev.security.policy/S2KNbJSJ-hs already sets the clear expectations, which are and have been consistent with how we handle incidents. It’s thoroughly unproductive to have this discussion every time there is an incident, especially when the principles and goals are quite sound and to the benefit of users. There is nothing punitive about them, and rather clear guidance about the expectations.

While a point-by-point comparison to underscores could be made, with the result being a very clear diverengence in the material facts, the end result would still be the consistent application of principles. I don’t think treating misissuances as popularity contests is indeed productive - that same logic would have us ignore many of the requirements, given
https://wiki.mozilla.org/CA/Incident_Dashboard .

I believe Root programs have the necessary policy in place to treat incidents -in exceptional circumstances- on a case-by-case basis. Wayne had mentioned in a previous post [4] that Mozilla doesn't want to be responsible for assessing the potential impact, but that statement took for granted that there was a definite violation of a requirement.

The question I'm having trouble answering, and I would appreciate if this was answered by the Mozilla CA Certificate Policy Module Owner, is

"does Mozilla treat this finding as a violation of the current language of section 7.1 of the CA/B Forum Baseline Requirements"?

I believe answering this question would bring some clarity to the participating CAs.


Thank you,
Dimitris.


[1] https://groups.google.com/d/msg/mozilla.dev.security.policy/7WuWS_20758/HfyVD5-sCAAJ

[2] https://groups.google.com/d/msg/mozilla.dev.security.policy/nnLVNfqgz7g/OVKywVZIBgAJ

[3] https://groups.google.com/d/msg/mozilla.dev.security.policy/nnLVNfqgz7g/KSaNV9-vAAAJ

[4] https://groups.google.com/d/msg/mozilla.dev.security.policy/hbo2SCH8c_M/efVpglelBQAJ
_______________________________________________
dev-security-policy mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to