Rob Stradling | 1 Nov 2011 12:41
Favicon

Re: An alternative proposal Was: Fwd: New Version

On Monday 31 Oct 2011 17:35:48 Martin Rex wrote:
<snip>
> ...and the client can indicate whether it still has cached OCSP-responses
> available and for which server certificate chain, which would obviate the
> sending of the stapled OCSP responses with each and every handshake (such as
> abbreviated TLS handshakes, aka session resumes) and still work
> successfully/transparently for credentials updates on the server.

Do you think the best way to accomplish this would be to extend draft-ietf-
tls-cached-info ?

> -Martin

Rob Stradling
Senior Research & Development Scientist
COMODO - Creating Trust Online
_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix

Miller, Timothy J. | 1 Nov 2011 13:18
Picon
Favicon

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt

On 10/28/11 11:14 AM, "Kyle Hamilton" <kyanha <at> kyanha.net> wrote:

>On Wed, Oct 26, 2011 at 2:02 PM, Phillip Hallam-Baker <hallam <at> gmail.com>
>wrote:
>> Thinking laterally on this issue.
>> The issue here seems to come up with the problem that OCSP does not
>>have a
>> proper response code for 'does not exist',
>
>I have no problem at all with improving OCSP, as a separate item.  I
>really want to improve it, actually.  The problem is that by
>definition, any OCSP responder which can respond with a "does not
>exist" will be required to respond in that manner for any and every
>certificate serial number which is not listed on the CRL.  CRL cannot
>meaningfully feed such a responder.

Since OCSP services can be delegated, the responder may not have access to
the CA database.  A responder without access to the CA database can *only*
respond with 'revoked' or 'good.'  Technically the 'good' answer is 'I
don't know otherwise' because it represents the absence of data.

Don't presume that a responder is synonymous with a CA.  There are
compelling reasons to divorce these services, and real PKIs do so in
practice.

-- T

_______________________________________________
pkix mailing list
pkix <at> ietf.org
(Continue reading)

Phillip Hallam-Baker | 1 Nov 2011 19:01
Picon

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt



On Tue, Nov 1, 2011 at 8:18 AM, Miller, Timothy J. <tmiller <at> mitre.org> wrote:
On 10/28/11 11:14 AM, "Kyle Hamilton" <kyanha <at> kyanha.net> wrote:

>On Wed, Oct 26, 2011 at 2:02 PM, Phillip Hallam-Baker <hallam <at> gmail.com>
>wrote:
>> Thinking laterally on this issue.
>> The issue here seems to come up with the problem that OCSP does not
>>have a
>> proper response code for 'does not exist',
>
>I have no problem at all with improving OCSP, as a separate item.  I
>really want to improve it, actually.  The problem is that by
>definition, any OCSP responder which can respond with a "does not
>exist" will be required to respond in that manner for any and every
>certificate serial number which is not listed on the CRL.  CRL cannot
>meaningfully feed such a responder.

Since OCSP services can be delegated, the responder may not have access to
the CA database.  A responder without access to the CA database can *only*
respond with 'revoked' or 'good.'  Technically the 'good' answer is 'I
don't know otherwise' because it represents the absence of data.

Don't presume that a responder is synonymous with a CA.  There are
compelling reasons to divorce these services, and real PKIs do so in
practice

Such as? 

People advanced this claim when OCSP was being developed. I have never seen any particularly good argument as to why the Valicert model of doing things was better than having the CA do the work. They certainly lost the argument in the market.

Allowing a random third party to make use of the OCSP protocol to publish whatever information they might be able to provide is unobjectionable.

Requiring that the protocol be *only* capable of supporting the capabilities of such a third party responder is nonsense on stilts. It was bogus then and it is bogus now.


If the OCSP responder knows that a certificate should not exist it should be able to say so. Responding 'not invalid' for not revoked and does not exist is no longer acceptable.

--
Website: http://hallambaker.com/

_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix
Miller, Timothy J. | 1 Nov 2011 21:24
Picon
Favicon

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt

On 11/1/11 1:01 PM, "Phillip Hallam-Baker" <hallam <at> gmail.com> wrote:

>Don't presume that a responder is synonymous with a CA.  There are
>compelling reasons to divorce these services, and real PKIs do so in
>practice

>Such as?

Such as limiting untrusted, unverified entities from accessing services on
component where critical key material and critical services are kept.  We
call this "risk mitigation."

>People advanced this claim when OCSP was being developed. I have never
>seen any particularly good argument as to why the Valicert model of doing
>things was better than having the CA do the work. They certainly lost the
>argument in the market.

The largest PKI on the planet operates this way, and no fewer than two
companies have sufficient business that they continue to offer delegated
OCSP service software and appliances.  I find your definition of "lost"
rather strange.

>Requiring that the protocol be *only* capable of supporting the
>capabilities of such a third party responder is nonsense on stilts. It
>was bogus then and it is bogus now.

Behavior of OCSP services using any of the trust models must be
consistent, else client responses will not be consistent and system
failures will result.

>If the OCSP responder knows that a certificate should not exist it should
>be able to say so. Responding 'not invalid' for not revoked and does not
>exist is no longer acceptable.

If the OCSP specification permits 'does not exist' (DNE) then the behavior
of Direct and Delegated trust responders are inconsistent with the
behavior of CA-signed responders; they *cannot* respond with DNE, and a
response of 'unknown' in that case is likewise improper.  What behavior
would you expect from a client in this case?

-- T

_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix

Kyle Hamilton | 1 Nov 2011 23:20

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt



On Tue, Nov 1, 2011 at 5:18 AM, Miller, Timothy J. <tmiller <at> mitre.org> wrote:
> On 10/28/11 11:14 AM, "Kyle Hamilton" <kyanha <at> kyanha.net> wrote:
>>I have no problem at all with improving OCSP, as a separate item.  I
>>really want to improve it, actually.  The problem is that by
>>definition, any OCSP responder which can respond with a "does not
>>exist" will be required to respond in that manner for any and every
>>certificate serial number which is not listed on the CRL.  CRL cannot
>>meaningfully feed such a responder.
>
> Since OCSP services can be delegated, the responder may not have access to
> the CA database.  A responder without access to the CA database can *only*
> respond with 'revoked' or 'good.'  Technically the 'good' answer is 'I
> don't know otherwise' because it represents the absence of data.

A responder without access to the CA database can answer REVOKED or UNKNOWN.

I want to do away with the technical limitations which require non-CA OCSP responders to answer UNKNOWN, by
providing a means to transfer comprehensive revocation information (including "this certificate is
not revoked") from the CA to the non-PKI OCSP server.

> Don't presume that a responder is synonymous with a CA.  There are
> compelling reasons to divorce these services, and real PKIs do so in
> practice.

There are indeed compelling reasons to divorce these services.  As a result, there are indeed compelling
reasons to create a format by which non-CA OCSP responders can know to answer GOOD or REVOKED instead of
UNKNOWN or REVOKED.  The former happens in industry.  The latter doesn't happen because PKIX-WG wishes to
avoid creating it with every excuse from "it won't solve the problem" to attacking the measure.

I know that it won't solve the problem.  I also know that the problem cannot be solved without intense
engineering effort.

Instead, I want to provide a means for implementations to copy+paste their CRL code with minimal changes to
support the new semantics.

-Kyle H
Attachment (Verify This Message with Penango.p7s): application/pkcs7-signature, 4028 bytes
_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix
Kyle Hamilton | 1 Nov 2011 23:22

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt

Again, please:  Do not let perfection become the enemy of any improvement at all.

On Thu, Oct 27, 2011 at 12:59 PM, Peter Sylvester <peter.sylvester <at> gmail.com> wrote:
> you just can add an extension that says "when I said revoked, it really
> means more, it doesn't even exist"

True.  I suggest something like this elsewhere in the thread.

(At least there are some discussions going on now.)

>> The OSCP responder does not need access to the CA, just a list or set of
>> lists for all the issued certificates.

...such as my proposal...

> It needs some information that can be used to verify if a cert had been
> issued.
> a strong one way function (in oder to avoid the word hash) towards that info
> to see
> whether a cert is valid for example.

I like the 'for example', as it implies that there are other ways to approach the problem.  (I prefer the term 'digest'.)

As I said, I propose what I do simply so that an extremely easy-to-implement (copy+paste with minimal
editing) incremental improvement can be made.  I believe that reducing the threat space[1] with a
mechanism that enforces desirable semantics[2] in a way that people already understand[3] is
preferable to requiring a major version bump at the least, much less additional debugging time before
being ready to roll out to the public... and that only after PKIX finally standardizes something it hasn't
been able to in the past decade, with additional mandates that don't address what the applications need
and can implement /right now/.

I believe that it's more desirable to get people in the mood to improve things at all with small,
easily-understandable engineering steps, than to demand that they accept yet another overblown
"standard" that achieves at best the zero security effect of no implementation and at worst the negative
security effect of immature technology failure during its roll out.  Once we get the implementers in the
mode of looking for a whitelist, we can improve it with strong ID data for issued certificates and provided
as a CRL/CMR extension.  Maybe something like:

-- contains one entry for each certificate
CertificateIssuanceList ::= SEQUENCE  (0..MAX) of CertificateIssuanceEntry;

-- contains multiple algorithm/digest tuples for one certificate
CertificateIssuanceEntry ::= SEQUENCE (0..MAX) of CertificateIssuanceAtom;

-- individual algorithm/digest tuple
CertificateIssuanceAtom ::= SEQUENCE {
    DigestAlgorithmOid OBJECT IDENTIFIER,
    DigestValue OCTET STRING }

This would permit the same certificate to be identified strongly with multiple digest algorithms, which
would permit stronger verification by a wider variety of clients than provided by a single algorithm.  RPs
would ignore hashes with algorithms they don't trust, and the CA could provide multiple hash values for
diverse consumers with the same semantics in the same structure.  (Personally, I'd check all of them,
under the theory that they will all test true even if I can't rely on the security of any one or more of them.  If
there's any mismatch at all, even in the broken digests, then something's wrong.)  Notably, it wouldn't
disclose the serial number of the matching certificate.

In the meantime, though, there's no reason that the CRL couldn't be usefully extended with 'removeFromCrl'.

The DigiNotar sleepwalk attack is going to become a much larger problem unless we take action now to stop it,
and Mozilla will not do anything without standards body backing.  Please, I know that this isn't optimal or
ideal, but it's an important first step to improving the infrastructure as a whole.

Incremental improvement, not perfection or bust.  PKIX-WG was wrong 10 years ago about what it thought the
perfect and ideal system would be, and there's no chance that any new monolithic standard will correctly
predict the future 10 years from now.  There are major problems which prevent the PKIX standards from
taking root, and the body's inflexibility and unwillingness to accept that its standards are broken in
fundamental ways is the reason they have remained unaddressed.  That self-reverential "reality should
be this way" view prevents it from considering or accepting incremental changes to help address -- as
stopgap measures -- the security holes which permitted the compromise of a CA to cause a person's death. 
PKIX-WG was warned about this vector in the past, and did nothing to defe
 nd it.

Let's look at the costs of a public CA distrust:

- the CA's death, thus the deprivation of a taxpayer and lower tax revenues from its newly-unemployed
employees, and thus a Gross Domestic Product hit for the entire state.
- the costs to every site enrolled in the CA's PKI of having to get recertified immediately, which is an
instant priority given that browser users (presumably and hopefully) won't go to uncertified sites. 
They can't make sales during the time they're uncertified, and each will instantly lose a portion of their
customer bases as a result.
- the costs to every other CA which must have enrollment channels sufficient to handle the influx of new enrollees.
- the costs to everyone who uses or shops at the sites newly uncertified.  Imagine if Thawte SGC CA or Equifax
Secure CA were compromised.  (Not familiar with Thawte SGC CA?  That's the one that issues to
mail.google.com.  Equifax Secure CA issues to docs.google.com.)
- the costs to the entire CA/Browser trust model and consumer confidence.

We cannot sit back and say "that's the cost the certified party pays for choosing a poorly-run CA".  There are
simply far too many people who are affected, with far too much cost to each one.  (Besides, even audited CAs
make mistakes.  The only thing that consumers have to rely upon are audits, and those audits obviously
don't catch everything.  We should allow them to continue to do their job, and provide them a means to help
end entities/relying parties protect themselves.)

-Kyle H

[1] Implementations MUST be able to handle serial numbers up to 160 bits, or 20 bytes.  (Notably, a serial
number might require a 21-byte encoding, since it's an integer and not a bit string or octet string.)  This
means that the threat space for CAs which enforce random serial numbers is (exp(2,160) - count(CRL)), or
(with 65,536 entries on the CRL) around 2**146.  The threat space for CAs which alter their CRLs to this spec
is becomes (count(CRL,entriesRemoved)), which instantly removes 2**152 or so possibilities.

[2] Desirable semantics include "if a particular serial number on this list is found to have an invalid
certificate associated with it, the CA can instantly and decisively take action by revoking and
reissuing where appropriate", and "the CA knows that this list is more accurate than providing simple
revocation data." Additional desirable semantics are the capacity for internal OCSP to answer for
serial numbers[4] known to not be in the list as "never issued".  If the generation of this list were
periodically entry-by-entry verified in a process completely separate from the technical operation of
the CA, it could provide an extra, affirmative, records-based and thus not easily technically defeated
approach to increase the probability of detecting CA compromise, and for both the enrollee an
 d the RP successfully defending against CA compromise.

[3] People understand the CRL.  More importantly, implementors understand the CRL.  We should build on what
we've got.  Once one gets past idealistic preconceived notions of "this is what this is for and never
anything more because it just is" and starts looking toward making it all work, one understands that the
best changes are the least changes in an already overly-complex and over-budget system of dubious actual utility.

[4] Once a spec comes out (still waiting for I-Ds) that will permit the stronger authentication of
certificates, it will be a major implementation task for an immature technology.  In the meantime, some
protection -- and it is protection, for both the CA and the end entities involved -- is better than none.  Do
not let the perfect become the enemy of the good.
Attachment (Verify This Message with Penango.p7s): application/pkcs7-signature, 4028 bytes
_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix
Miller, Timothy J. | 2 Nov 2011 13:10
Picon
Favicon

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt

On 11/1/11 5:20 PM, "Kyle Hamilton" <kyanha <at> kyanha.net> wrote:

>A responder without access to the CA database can answer REVOKED or
>UNKNOWN.

Current OCSP clients treat UNKNOWN as a failure.  UNKNOWN means the
responder cannot provide an answer; e.g., the responder doesn't have
current data, or the responder is not authorized to respond for that
issuer.  

Recall that the authoritative statement of validity is the CRL.  CRLs do
not communicate cert existence.  A responder seeded with a CRL has its
answer--the cert is good.

If the OCSP query is for a non-existent serial number, the responder's
answer is irrelevant anyway because the cert will fail path validation.
So I really don't see why this is a concern to you.

-- T
Attachment (smime.p7s): application/pkcs7-signature, 2295 bytes
_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix
Kyle Hamilton | 2 Nov 2011 20:56

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt



On Wed, Nov 2, 2011 at 5:10 AM, Miller, Timothy J. <tmiller <at> mitre.org> wrote:
> On 11/1/11 5:20 PM, "Kyle Hamilton" <kyanha <at> kyanha.net> wrote:
>
>>A responder without access to the CA database can answer REVOKED or
>>UNKNOWN.
>
> Current OCSP clients treat UNKNOWN as a failure.  UNKNOWN means the
> responder cannot provide an answer; e.g., the responder doesn't have
> current data, or the responder is not authorized to respond for that
> issuer.

Or "the responder doesn't have information on what serial numbers were actually issued, so it cannot
authoritatively answer VALID".

> Recall that the authoritative statement of validity is the CRL.  CRLs do
> not communicate cert existence.  A responder seeded with a CRL has its
> answer--the cert is good.

The CRL is completely insufficient for this need.

> If the OCSP query is for a non-existent serial number, the responder's
> answer is irrelevant anyway because the cert will fail path validation.
> So I really don't see why this is a concern to you.

No, it won't, not if the CA's hardware was induced to do something that wasn't authorized.

The records are the only legitimate authoritative source for enrollment information, and if a CA's doing
its job right it also has every certificate (or at least certificate serial number, since PKIX-WG never
provided any other means to identify certificates) ever issued to that entity and its disposition.

A person -died- because of this.  So I don't really see why this isn't a concern to you.

-Kyle H
Attachment (Verify This Message with Penango.p7s): application/pkcs7-signature, 4028 bytes
_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix
Peter Gutmann | 2 Nov 2011 21:02
Picon
Picon
Picon
Favicon

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt

"Miller, Timothy J." <tmiller <at> mitre.org> writes:

>Current OCSP clients treat UNKNOWN as a failure.  

No, current OCSP clients treat Unknown as pretty much anything.  In particular
since Unknown != Revoked, many treat it as "Not revoked" -> "Good" (OCSP's
"Good" doesn't actually mean that the cert is good, merely that it's not on a
CRL).

Oh, and responders are no better, they may report a cert as "Good" (meaning
"Not revoked") if it's not on a CRL.  Or pretty much anything else, depending
on the responder and how it's configured.

Peter.
_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix

Kyle Hamilton | 2 Nov 2011 21:27

Re: An alternative proposal Was: Fwd: New Version Notification for draft-hamilton-cmr-00.txt



On Wed, Nov 2, 2011 at 1:02 PM, Peter Gutmann <pgut001 <at> cs.auckland.ac.nz> wrote:
> "Miller, Timothy J." <tmiller <at> mitre.org> writes:
>
>>Current OCSP clients treat UNKNOWN as a failure.
>
> No, current OCSP clients treat Unknown as pretty much anything.  In particular
> since Unknown != Revoked, many treat it as "Not revoked" -> "Good" (OCSP's
> "Good" doesn't actually mean that the cert is good, merely that it's not on a
> CRL).

This is why we need a CRL-like whitelist, instead of a blacklist, to prove that a certificate was in fact
issued in accordance with the policy.

> Oh, and responders are no better, they may report a cert as "Good" (meaning
> "Not revoked") if it's not on a CRL.  Or pretty much anything else, depending
> on the responder and how it's configured.

Which is why OCSP needs to be fixed, by providing the responders with authoritative lists of valid certificates.

-Kyle H
Attachment (Verify This Message with Penango.p7s): application/pkcs7-signature, 4028 bytes
_______________________________________________
pkix mailing list
pkix <at> ietf.org
https://www.ietf.org/mailman/listinfo/pkix

Gmane