On Tue, 10 Mar 2020 at 22:19, Ryan Sleevi <r...@sleevi.com> wrote:

>
>
> On Tue, Mar 10, 2020 at 4:25 PM bif via dev-security-policy <
> dev-security-policy@lists.mozilla.org> wrote:
>
>> Matt,
>>
>> Voluntarily providing CSR is not an ideal way to prove key compromise,
>> because you could've simply found this CSR somewhere (I know, I know, super
>> unlikely with your Subject... but still could happen.)
>>
>
> That seems to be making the perfect the enemy of the good.
>

Most likely :) Take it as more general musings for having generally
accepted recipes for providing proof of key possession, using which would
not allow CAs to wiggle out of responsibility of revocation.


> This seems like a perfectly reasonable thing to allow and accept. If we're
> concerned about someone "might" having done something as a reason to reject
> it, it seems like we'd need another pass through the BRs validation methods
> - e.g. to remove the non-IANA-reserved mail addresses.
>

Sure, as long as CN is long enough, and CSR is clean, ie. no
extensions allowing to fit, say, collision attacks.


>
> I don't disagree that this is a possibility, but the probability of this
> possibility seems incredibly low, and the risk of a CA deciding to revoke
> on this basis seems immeasurably better than the risk of deciding to not
> revoke.
>

As a CA I would most likely accept this proof, considering the incredibly
low false positive possibility. :)
All I'm saying is that proof of key possession is not clearly defined in
the absence of said key being shared with a CA.


>
>
>> And while "compromised" is way too short (one can sign up to 32 bytes
>> using it as a nonce in regular TLS session) to prove the key compromise, in
>> the absence of the actual compromised private key, about the only way to
>> ensure the possession is to get the reporter to sign some data chosen by
>> the CA. It very well may be a random CN in the CSR, or plain old openssl
>> dgst.
>>
>
> I'm concerned about CAs disproportionately adding burdens to reporters of
> compromise. For example, your 'compromised' case doesn't really make sense.
> The string 'compromised', or even the hash of the string 'compromised',
> would not in and of itself be a sufficient TLS transcript. I agree with you
> that one can't simply /look/ for the string 'compromised' in the unsigned
> data, where that signed data is a TLS transcript, but that's not what you
> really described, and that distinction seems important.
>
> I also disgree with, and have concerns with, the CA being able to direct
> the signing of the data. I think the ecosystem learned a lot from the
> Heartbleed scenario, of "We're not affected, we're not affected... oh crap,
> we're affected".
>

> I'm sympathetic to CAs wanting to filter out the noise of shoddy reports
> and shenanigans, but I'm also highly suspicious of CAs that put too
> unreasonable an onus on reporters. It seems, in the key compromise case,
> the benefit of the doubt should largely deal with the reporter. If we saw
> some quantifiable increase in hijinks and misrevocations, there are a
> myriad of ways to deal with that. The most effective of these reasons seems
> to be facilitating rapid replacement of certificates, rather than
> preferring ossification.
>

I am totally against putting unreasonable onus on reporters! But hopefully
you agree that CAs should strive for zero false positives in revocations.
_______________________________________________
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy

Reply via email to