Subject: RE: ID draft-ietf-krb-wg-ocsp-for-pkinit-05

From: "Liqiang(Larry) Zhu" <[email-masked]>
Date: Thu, 2 Jun 2005 11:10:11 -0700

It does not require the order in general, but it requires that the
RFC2560 OCSPResponse contains the revocation status information for the
specified cert. a mis-match will cause this API to fail.

-- Larry

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]] On Behalf Of Jeffrey Altman
Sent: Thursday, June 02, 2005 10:24 AM
To: [email-masked]
Subject: Re: ID draft-ietf-krb-wg-ocsp-for-pkinit-05

Larry:

Thanks for that clarification.  Why does this function require
a special ordering in the OCSPResponse?

Jeffrey Altman

Liqiang(Larry) Zhu wrote:
> I think I meant 
> 
>   verifyWithOCSPResponse(Cert, OCSPResponse) -> BOOLEAN
> 
> instead.
> 
> Currently it is for the KDC cert and this is verified by the client.
> 
> -- larry
> 
> 
> 
> -----Original Message-----
> From: [email-masked]
> [mailto:[email-masked]] On Behalf Of Jeffrey
Altman
> Sent: Thursday, June 02, 2005 9:33 AM
> To: [email-masked]
> Subject: Re: ID draft-ietf-krb-wg-ocsp-for-pkinit-05
> 
> Larry:
> 
> What does your
> 
>   verifyWithOCSP(Cert) -> BOOLEAN
> 
> function do?   That looks to me as if it will perform its own OSCP
> request.   Is this being executed by the PKINIT client or the KDC?
> 
> Jeffrey Altman
> 
> 
> Liqiang(Larry) Zhu wrote:
> 
> 
>>[email-masked] wrote:
>>
>>
>>>verifyWithOCSP(Cert) -> BOOLEAN
>>
>>This is what we have; it is clearly more efficient than the other you
>>proposed.
>>
>>
>>-----Original Message-----
>>From: Nicolas Williams [mailto:[email-masked]] 
>>Sent: Wednesday, June 01, 2005 3:50 PM
>>To: Liqiang(Larry) Zhu
>>Cc: Chaskiel M Grundman; [email-masked]
>>Subject: Re: ID draft-ietf-krb-wg-ocsp-for-pkinit-05
>>
>>On Wed, Jun 01, 2005 at 03:44:21PM -0700, Liqiang(Larry) Zhu wrote:
>>
>>
>>>The information how the OCSP was obtained (for which certificate) is
>>>lost.
>>
>>
>>It's not.
>>
>>The API roughly should be like this:
>>
>>getOCSPResponse(Cert) -> OCSPResponse
>>getOCSPResponse(Cert, ...) -> SEQUENCE OF OCSPResponse
>>getOCSPResponsesForChain(Cert) -> SEQUENCE OF OCSPResponse
>>getOCSPResponsesForChains(Cert, ...) -> SEQUENCE OF OCSPResponse
>>
>>verifyWithOCSPResponse(Cert, OCSPResponse) -> BOOLEAN
>>verifyWithOCSPResponses(Cert, SEQUENCE OF OCSPResponse) -> BOOLEAN
>>
>>Whereas an API like this:
>>
>>verifyWithOCSP(Cert) -> BOOLEAN
>>
>>is clearly not useful in this case.
>>
>>Nico

---

From: Jeffrey Altman <[email-masked]>
Date: Thu, 02 Jun 2005 14:17:00 -0400

I agree that if you pass in the wrong OCSPResponse you will get a
failure.   Why would the client be given the wrong OCSPResponse by
the KDC?

Jeffrey Altman

---

From: Nicolas Williams <[email-masked]>
Date: Thu, 2 Jun 2005 13:46:23 -0500

> failure.   Why would the client be given the wrong OCSPResponse by

We have SEQUENCE OF OcspResponse so we can have an OCSP Response for
each cert in the chain.

Nico
--

---

From: Jeffrey Hutzelman <[email-masked]>
Date: Thu, 02 Jun 2005 15:03:05 -0400

> We have SEQUENCE OF OcspResponse so we can have an OCSP Response for

Right, and as I understand it, Larry's proposed change is to require the 
response for the KDC's own cert to be the first one in that SEQUENCE, so it 
is easy to find.

-- Jeff

---

From: Nicolas Williams <[email-masked]>
Date: Thu, 2 Jun 2005 14:06:48 -0500

> response for the KDC's own cert to be the first one in that SEQUENCE, so it 

Right.  It's easy for the sender to order the OCSP Responses for its
cert and chain to match the cert chain.

It's harder for the receipient to efficiently deal with an un-ordered
sequence or set of OCSP Responses.

---

From: Sam Hartman <[email-masked]>
Date: Thu, 02 Jun 2005 16:48:51 -0400

>>>>> "Nicolas" == Nicolas Williams <[email-masked]> writes:

    Nicolas> On Thu, Jun 02, 2005 at 03:03:05PM -0400, Jeffrey
    Nicolas> Hutzelman wrote:
    >> >>I agree that if you pass in the wrong OCSPResponse you will
    >> get a >>failure.  Why would the client be given the wrong
    >> OCSPResponse by >>the KDC?
    >> >
    >> >We have SEQUENCE OF OcspResponse so we can have an OCSP
    >> Response for >each cert in the chain.
    >> 
    >> Right, and as I understand it, Larry's proposed change is to
    >> require the response for the KDC's own cert to be the first one
    >> in that SEQUENCE, so it is easy to find.

    Nicolas> Right.  It's easy for the sender to order the OCSP
    Nicolas> Responses for its cert and chain to match the cert chain.

So do we want to go beyond Larry's requirement and make it be ordered
beyond the first response?

---

From: Jeffrey Altman <[email-masked]>
Date: Thu, 02 Jun 2005 17:07:30 -0400

> beyond the first response?

I completely agree that ordering the responses to match the order of the
chain is a wonderful optimization but if the goal here is
interoperability the rule is be strict about what you send and be
liberal with what you accept.  This practice argues for a SHOULD send
ordered and MUST accept unordered.  At most it is O(n) work for the
client to validate a cert with an unordered list of n responses.

Jeffrey Altman