Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” for Some Precertificates

2019-09-02 Thread Jakob Bohm via dev-security-policy
On 03/09/2019 00:54, Ryan Sleevi wrote:
> On Mon, Sep 2, 2019 at 2:14 PM Alex Cohn via dev-security-policy <
> dev-security-policy@lists.mozilla.org> wrote:
> 
>> On Mon, Sep 2, 2019 at 12:42 PM Jakob Bohm via dev-security-policy <
>> dev-security-policy@lists.mozilla.org> wrote:
>>
>>> If an OCSP server supports returning (or always returns) properties of
>>> the actual cert, such as the CT proofs, then it really cannot do its
>>> usual "good" responses until the process of retrieving CT proofs and
>>> creating the final TBScertificate (and possibly signing it) has been
>>> completed.
>>>
>>> Thus as a practical matter, treating a sign-CT-sign-CT in-process state
>>> as "unknown serial, may issue in future" may often be the only practical
>>> solution.
>>>
>>
>> Waiting until CT submission of the final certificate is complete to return
>> "good" OCSP responses is definitely wrong. OCSP should return "good" at the
>> moment the final certificate is issued, which means in practice that there
>> might be a "good" OCSP response that doesn't contain SCTs yet.
>>
>> I don't know if any log does this, but RFC6962 allows logs to check for
>> certificate revocation before issuing a SCT; if the OCSP responder doesn't
>> return "good" the CA might never get the needed SCTs?
> 
> 
> Correct. Which is why I recommend CAs ignore Jakob Bohm’s advice here, as
> it can lead to a host of complications for CAs, Subscribers, and Relying
> Parties.
> 

I was not advising either cause of action, I was trying to explore 
conflicting requirements between the BRs, PKIX and the CT spec, which 
has apparently lead to confusion as to the what OCSP should return for 
soon-to-be-issued and not-yet-issued certificates.

This particular CT requirement contradicted a common Google practice 
across its services, which made me suspect it might be a specification 
oversight rather than intentional.


> 
>>
>> Also, if a CA is signing a precert, getting SCTs for that precert, then
>> embedding the SCTs in the final cert, they are already satisfying the
>> browsers' CT requirements. It would not be necessary for them to
>> additionally embed SCTs for the final cert in their OCSP responses.
>>
>> Now depending on interpretations, I am unsure if returning "revoked" for
>>> the general case of "unknown serial, may issue in future" would violate
>>> the ban on unrevoking certificates.
>>>
>>
>> RFC6960 section 2.2 documents a technique for indicating "unknown serial,
>> may issue in future" that involves returning "revoked" with a revocation
>> date of 1970-1-1 and a reason of certificateHold. I don't know if this
>> technique is used anywhere in practice - IIRC it requires the OCSP signing
>> key to be online and able to sign responses for arbitrary serial numbers in
>> real time.
> 
> 
> The BRs explicitly prohibit this.
> 
> You cannot unrevoke or suspend.
> 

That was my interpretation too.

> (Are any CAs even using the OCSP SCT delivery option? I haven't come across
>> this technique in the wild)
> 
> 
> Yes, several are.
> 


Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded 
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy


Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” for Some Precertificates

2019-09-02 Thread Ryan Sleevi via dev-security-policy
On Mon, Sep 2, 2019 at 2:14 PM Alex Cohn via dev-security-policy <
dev-security-policy@lists.mozilla.org> wrote:

> On Mon, Sep 2, 2019 at 12:42 PM Jakob Bohm via dev-security-policy <
> dev-security-policy@lists.mozilla.org> wrote:
>
> > If an OCSP server supports returning (or always returns) properties of
> > the actual cert, such as the CT proofs, then it really cannot do its
> > usual "good" responses until the process of retrieving CT proofs and
> > creating the final TBScertificate (and possibly signing it) has been
> > completed.
> >
> > Thus as a practical matter, treating a sign-CT-sign-CT in-process state
> > as "unknown serial, may issue in future" may often be the only practical
> > solution.
> >
>
> Waiting until CT submission of the final certificate is complete to return
> "good" OCSP responses is definitely wrong. OCSP should return "good" at the
> moment the final certificate is issued, which means in practice that there
> might be a "good" OCSP response that doesn't contain SCTs yet.
>
> I don't know if any log does this, but RFC6962 allows logs to check for
> certificate revocation before issuing a SCT; if the OCSP responder doesn't
> return "good" the CA might never get the needed SCTs?


Correct. Which is why I recommend CAs ignore Jakob Bohm’s advice here, as
it can lead to a host of complications for CAs, Subscribers, and Relying
Parties.


>
> Also, if a CA is signing a precert, getting SCTs for that precert, then
> embedding the SCTs in the final cert, they are already satisfying the
> browsers' CT requirements. It would not be necessary for them to
> additionally embed SCTs for the final cert in their OCSP responses.
>
> Now depending on interpretations, I am unsure if returning "revoked" for
> > the general case of "unknown serial, may issue in future" would violate
> > the ban on unrevoking certificates.
> >
>
> RFC6960 section 2.2 documents a technique for indicating "unknown serial,
> may issue in future" that involves returning "revoked" with a revocation
> date of 1970-1-1 and a reason of certificateHold. I don't know if this
> technique is used anywhere in practice - IIRC it requires the OCSP signing
> key to be online and able to sign responses for arbitrary serial numbers in
> real time.


The BRs explicitly prohibit this.

You cannot unrevoke or suspend.

(Are any CAs even using the OCSP SCT delivery option? I haven't come across
> this technique in the wild)


Yes, several are.

>
>
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy


Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” for Some Precertificates

2019-09-02 Thread Alex Cohn via dev-security-policy
On Mon, Sep 2, 2019 at 1:36 PM Jakob Bohm via dev-security-policy <
dev-security-policy@lists.mozilla.org> wrote:

> On 02/09/2019 20:13, Alex Cohn wrote:
> > On Mon, Sep 2, 2019 at 12:42 PM Jakob Bohm via dev-security-policy <
> > dev-security-policy@lists.mozilla.org> wrote:
> >
> > Waiting until CT submission of the final certificate is complete to
> return
> > "good" OCSP responses is definitely wrong. OCSP should return "good" at
> the
> > moment the final certificate is issued, which means in practice that
> there
> > might be a "good" OCSP response that doesn't contain SCTs yet.
> >
> > I don't know if any log does this, but RFC6962 allows logs to check for
> > certificate revocation before issuing a SCT; if the OCSP responder
> doesn't
> > return "good" the CA might never get the needed SCTs?
> >
>
> This seems to be an unfortunate aspect of the CT spec that wasn't
> thought through properly.  In particular, it should cause unnecessary
> delay if a CA updates its OCSP servers using "eventual consistency"
> principles.  Maybe it should be fixed in the next update of the spec.
>
> The BRs have the following requirements that are best satisfied by
> delayed update of OCSP servers:
>
> BR4.10.2 The OCSP servers must be up 24x7 .  Thus rolling out updates to
> different servers at different times would be a typical best practice.
>
> BR4.9.10 The OCSP servers only need to be updated twice a week (4 days)
> ..  This could only satisfy the CT requirement if issued certificates
> were somehow withheld from the subscriber for up to 4 days.
>

Withholding certificates for four days would be a huge competitive
disadvantage for a CA. If I were a CA relying on OCSP delivery of SCTs, I
would try to make absolutely sure my OCSP responders could be updated with
SCTs in a timely manner after initial issuance. Since this SCT delivery
method relies on OCSP stapling to work, I could even tell my customers to
configure their web servers with a special OCSP server URL (using, e.g.,
nginx's ssl_stapling_responder directive) that would block until a response
with embedded SCTs could be created.


> > RFC6960 section 2.2 documents a technique for indicating "unknown serial,
> > may issue in future" that involves returning "revoked" with a revocation
> > date of 1970-1-1 and a reason of certificateHold. I don't know if this
> > technique is used anywhere in practice - IIRC it requires the OCSP
> signing
> > key to be online and able to sign responses for arbitrary serial numbers
> in
> > real time.
> >
>
> The question was if this technique would be in violation of the BRs, as
> those generally prohibit the use of "certificateHold" .
>

Where is this prohibition in the BRs? The only relevant section I could
find is 4.9.13, which prohibits suspension of certificates. This isn't
suspension of a certificate; the certificate doesn't exist.

Alex
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy


Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” for Some Precertificates

2019-09-02 Thread Jakob Bohm via dev-security-policy

On 02/09/2019 20:13, Alex Cohn wrote:

On Mon, Sep 2, 2019 at 12:42 PM Jakob Bohm via dev-security-policy <
dev-security-policy@lists.mozilla.org> wrote:


If an OCSP server supports returning (or always returns) properties of
the actual cert, such as the CT proofs, then it really cannot do its
usual "good" responses until the process of retrieving CT proofs and
creating the final TBScertificate (and possibly signing it) has been
completed.

Thus as a practical matter, treating a sign-CT-sign-CT in-process state
as "unknown serial, may issue in future" may often be the only practical
solution.



Waiting until CT submission of the final certificate is complete to return
"good" OCSP responses is definitely wrong. OCSP should return "good" at the
moment the final certificate is issued, which means in practice that there
might be a "good" OCSP response that doesn't contain SCTs yet.

I don't know if any log does this, but RFC6962 allows logs to check for
certificate revocation before issuing a SCT; if the OCSP responder doesn't
return "good" the CA might never get the needed SCTs?



This seems to be an unfortunate aspect of the CT spec that wasn't
thought through properly.  In particular, it should cause unnecessary
delay if a CA updates its OCSP servers using "eventual consistency"
principles.  Maybe it should be fixed in the next update of the spec.

The BRs have the following requirements that are best satisfied by
delayed update of OCSP servers:

BR4.10.2 The OCSP servers must be up 24x7 .  Thus rolling out updates to
different servers at different times would be a typical best practice.

BR4.9.10 The OCSP servers only need to be updated twice a week (4 days) 
..  This could only satisfy the CT requirement if issued certificates 
were somehow withheld from the subscriber for up to 4 days.




Also, if a CA is signing a precert, getting SCTs for that precert, then
embedding the SCTs in the final cert, they are already satisfying the
browsers' CT requirements. It would not be necessary for them to
additionally embed SCTs for the final cert in their OCSP responses.

Now depending on interpretations, I am unsure if returning "revoked" for

the general case of "unknown serial, may issue in future" would violate
the ban on unrevoking certificates.



RFC6960 section 2.2 documents a technique for indicating "unknown serial,
may issue in future" that involves returning "revoked" with a revocation
date of 1970-1-1 and a reason of certificateHold. I don't know if this
technique is used anywhere in practice - IIRC it requires the OCSP signing
key to be online and able to sign responses for arbitrary serial numbers in
real time.



The question was if this technique would be in violation of the BRs, as
those generally prohibit the use of "certificateHold" .


(Are any CAs even using the OCSP SCT delivery option? I haven't come across
this technique in the wild)

Alex




Enjoy

Jakob
--
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy


Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” for Some Precertificates

2019-09-02 Thread Alex Cohn via dev-security-policy
On Mon, Sep 2, 2019 at 12:42 PM Jakob Bohm via dev-security-policy <
dev-security-policy@lists.mozilla.org> wrote:

> If an OCSP server supports returning (or always returns) properties of
> the actual cert, such as the CT proofs, then it really cannot do its
> usual "good" responses until the process of retrieving CT proofs and
> creating the final TBScertificate (and possibly signing it) has been
> completed.
>
> Thus as a practical matter, treating a sign-CT-sign-CT in-process state
> as "unknown serial, may issue in future" may often be the only practical
> solution.
>

Waiting until CT submission of the final certificate is complete to return
"good" OCSP responses is definitely wrong. OCSP should return "good" at the
moment the final certificate is issued, which means in practice that there
might be a "good" OCSP response that doesn't contain SCTs yet.

I don't know if any log does this, but RFC6962 allows logs to check for
certificate revocation before issuing a SCT; if the OCSP responder doesn't
return "good" the CA might never get the needed SCTs?

Also, if a CA is signing a precert, getting SCTs for that precert, then
embedding the SCTs in the final cert, they are already satisfying the
browsers' CT requirements. It would not be necessary for them to
additionally embed SCTs for the final cert in their OCSP responses.

Now depending on interpretations, I am unsure if returning "revoked" for
> the general case of "unknown serial, may issue in future" would violate
> the ban on unrevoking certificates.
>

RFC6960 section 2.2 documents a technique for indicating "unknown serial,
may issue in future" that involves returning "revoked" with a revocation
date of 1970-1-1 and a reason of certificateHold. I don't know if this
technique is used anywhere in practice - IIRC it requires the OCSP signing
key to be online and able to sign responses for arbitrary serial numbers in
real time.

(Are any CAs even using the OCSP SCT delivery option? I haven't come across
this technique in the wild)

Alex
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy


Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” for Some Precertificates

2019-09-02 Thread Jakob Bohm via dev-security-policy
If an OCSP server supports returning (or always returns) properties of 
the actual cert, such as the CT proofs, then it really cannot do its 
usual "good" responses until the process of retrieving CT proofs and 
creating the final TBScertificate (and possibly signing it) has been 
completed.

Thus as a practical matter, treating a sign-CT-sign-CT in-process state 
as "unknown serial, may issue in future" may often be the only practical 
solution.

Now depending on interpretations, I am unsure if returning "revoked" for 
the general case of "unknown serial, may issue in future" would violate 
the ban on unrevoking certificates.

On 31/08/2019 17:07, Jeremy Rowley wrote:
> Obviously I think good is the best answer based on my previous posts. A 
> precert is still a cert. But I can see how people could disagree with me.
> 
> From: dev-security-policy  on 
> behalf of Jeremy Rowley via dev-security-policy 
> 
> Sent: Saturday, August 31, 2019 9:05:24 AM
> To: Tomas Gustavsson ; 
> mozilla-dev-security-pol...@lists.mozilla.org 
> 
> Subject: Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” 
> for Some Precertificates
> 
> I dont recall the cab forum ever contemplating or discussing  ocsp for 
> precertificates. The requirement to provide responses is pretty clear, but 
> what that response should be is a little confusing imo.
> ...


Enjoy

Jakob
-- 
Jakob Bohm, CIO, Partner, WiseMo A/S.  https://www.wisemo.com
Transformervej 29, 2860 Søborg, Denmark.  Direct +45 31 13 16 10
This public discussion message is non-binding and may contain errors.
WiseMo - Remote Service Management for PCs, Phones and Embedded 
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy


Re: Intent to Ship: Move Extended Validation Information out of the URL bar

2019-09-02 Thread Josef Schneider via dev-security-policy
Am Sonntag, 1. September 2019 04:27:04 UTC+2 schrieb Peter Gutmann:

> Since the value to criminals of EV web certs is low, it seems they're not
> doing much to stop what the criminals are doing.  If they did have any value
> then criminals would be prepared to pay more for them, like they already do
> for EV code-signing certs.

But the target audience for phishing are uninformed people. People which have 
no idea what a EV cert is. People who don't even blink if the English on the 
phishing page is worse than a 5-year old could produce.

You cannot base the decision if a EV indication in the browser is useful on 
those people.

Same as you all, I don't have any “official” data to base these beliefs on. But 
for example there are studies which conclude that email scammers intentionally 
use unbelievable stories and bad grammar. Why do they do this? Because sending 
mails is free but interacting with replies is costly. They only want the most 
gullible people to answer in the first place.

In the same way, I argue, even if criminals would create scam websites with EV 
certificates, fewer people would notice immediately that the page is wrong. But 
this people are not the target group of the scammer anyway. This are the users 
that are already aware of the dangers on the internet. If they wouldn't leave 
the page because of the missing EV certificate, they would most likely find 
another sign that the page is fake and still leave.

The reason why criminals don't need EV certificates is: The people caring about 
EV indicators are not their target group.

The problem is that the data actually needed is missing and many here just use 
the easily available data and pretend it is possible to draw any valid 
conclusions from that.

The data we would need is: How many people do leave a malicious webpage because 
the EV indicator is missing?

The only data I have seen here is: (Estimated) how many people do enter their 
data in malicious websites.

It is just simply not possible to draw any information about the first question 
from answers to the second.

Using the same logic applied by many in favor of removing the EV indication one 
could argue against almost anything. E.g. for arguing against DUI laws:
1. Find a point in time when no DUI laws existed in a jurisdiction and there 
were fewer cases of drunk drivers than now. (trivial, because at some time 
there even where fewer drivers in total than drunk drivers now)
2. Argue that the DUI laws obviously don't prevent drunk driving, because not 
only are there still people driving drunken, but there are even a lot more of 
them than at the time found in 1.

I hope no one would believe that drunk driving wouldn't increase a lot if the 
laws were removed now.

For the EV indicator, we just don't know how many people prevented being 
scammed because of this. And removing a security feature because we don't know 
if it is successful is a dangerous thing to do. The better way would be to find 
out if it is really so useless as argued by some here. If it is that obvious 
that it is not helping, producing this data should be an easy task.

But the information “some people fall for scams with DV certificates” is not 
the right information to decide this. The interesting people are the ones NOT 
falling for a scam because it is using a DV certificate and I haven't seen 
anyone giving any data about them here.

- Josef
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy


Re: 2019.08.28 Let’s Encrypt OCSP Responder Returned “Unauthorized” for Some Precertificates

2019-09-02 Thread Tomas Gustavsson via dev-security-policy
On Friday, August 30, 2019 at 8:58:17 PM UTC+2, Ryan Sleevi wrote:
> On Fri, Aug 30, 2019 at 11:26 AM Jeremy Rowley via dev-security-policy <



> Despite all of the writing above, I'm too lazy to copy/paste my comment
> from the Let's Encrypt issue, but I would hope any CA contemplating things
> should look at https://bugzilla.mozilla.org/show_bug.cgi?id=1577652#c3 in
> terms of a possible 'ideal' flow, and to share concerns or considerations
> with that. Even better would be CAs that have suggestions on how best to
> codify and memorialize that suggestion, if it's sensible and correct.

I added a comment to the bugzilla. I think there are several ways the process 
can be made safe, depending on the way a CA operates and which technologies are 
used.
___
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy