[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: New Lightweight OCSP I-D
Thanks again Santosh,
This gives me a better idea as to your concerns so I will go back and work
on a -01 version with your comments in mind. Look for a new version
sometime next week.
Alex
> -----Original Message-----
> From: Santosh Chokhani [mailto:chokhani@xxxxxxxxxxxx]
> Sent: Tuesday, October 05, 2004 3:01 PM
> To: ietf-pkix@xxxxxxx
> Subject: RE: New Lightweight OCSP I-D
>
>
>
> Alex,
>
> Thanks for your comments. See my responses in-line using [SC:]
>
> -----Original Message-----
> From: Deacon, Alex [mailto:alex@xxxxxxxxxxxx]
> Sent: Tuesday, October 05, 2004 3:00 PM
> To: 'Santosh Chokhani'; ietf-pkix@xxxxxxx
> Subject: RE: New Lightweight OCSP I-D
>
>
>
> Santosh,
>
> Thanks for taking the time to review the draft. Comments in line....
>
> > -----Original Message-----
> > From: Santosh Chokhani [mailto:chokhani@xxxxxxxxxxxx]
> > Sent: Monday, October 04, 2004 6:54 AM
> > To: ietf-pkix@xxxxxxx
> > Subject: New Lightweight OCSP I-D
> >
> > I have some concerns regarding the new RFC. There are several items
> > in the I-D that are good engineering advice, but they go far beyond
> > what should be within the scope of the RFC and should be up to the
> > application and relying party. These are listed as MUST in the RFC
> > and should be changed to SHOULD or RECOMMENDED. These items are
> > included in the comments below.
>
> Remember that the main motivation of this draft is to define
> a profile of
> OCSP that ensures OCSP scalability (including bandwidth issues and
> client/server processing) when used in large PKI
> environments. Moving some
> of the MUSTs to SHOULDs seems to water down what we are
> trying to accomplish. Also, our goal is to not make current client
> implementations non-conformant, but to define behavior when these
> clients find themselves in high volume environments. We will make
> this clearer in the introduction for -01.
>
> [SC: I am aware of this. Most of my comments are related to
> client behavior
> and not to the bits on the wire. The possible exception
> being the mandatory
> caching of the responses. There, I felt the client simplicity should
> drive.]
>
> > 1. Section 1.2.2, sha256WithRSAEncryption should be added to the
> > signature algorithms.
>
> Although I understand the reasoning behind adding this
> requirement, I think
> doing so is a little premature and would create a situation
> Where this draft is no longer a strict profile of RFC2560. I think
> 2560 has to move first on this point.
>
> [SC: 2560 does not limit the signing algorithm. It imports
> these. 3280
> also is not dependent. They bring in the algorithm
> identifiers from 3279 or
> successor. I think this I-D should follow the same modular approach.
> Otherwise, we will need to revise it in another year]
>
> > 2. Section 1.2.2, The term "validity window" for the response is
> > not clear or defined. I suspect it is thisUpdate and nextUpdate for
> > the response. It should be defined. Furthermore, there is no
> > reason for the Responder certificate validity period to envelope
> > the response window. For example, the Responder may have been
> > issued a new certificate since thisUpdate or may get a new
> > certificate before nextUpdate. Thus, this requirement is excessive.
> > Also, it is not clear why this requirement is imposed from security
> > viewpoint.
>
> Well, from a security point of view its my opinion that a
> properly behaved
> OCSP responder would always ensure that responses it creates
> are enveloped
> within the validity period of the certificate it uses to sign
> the responses.
> If one assumes that the OCSP responder certificate is a
> license to issue
> responses a responder should not be entitled to issue a response that
> exceeds his license to make such statements.
>
> [SC: The above text is not a security argument. Actually, there is no
> security issue in this topic or a security reason to envelop
> the validity
> period in a revocation entry with that of the Responder
> certificate. One
> could try to say that producedAt should fall within the
> certificate validity
> period. But, even that is not necessary. Furthermore, since
> you recommend
> short validity period for Responder, this may pose a problem.
> Imagine a CA
> issuing weekly or daily CRL and Responder renewing it
> certificate monthly.
> You do not want to change thisUpdate or nextUpdate. You may
> not be able to
> use old or the new certificate. Aside from being useless
> from security
> viewpoint, you could be in a deadlock at worst and adding the
> complexity to
> the Responder and the client that is not needed and 2560 does
> not advocate
> it.]
>
> >From a more practical point of view, there exist many widely deployed
> clients that will fail OCSP response validation if this
> nesting does not
> occur. Thus we were hoping to increase interop with the
> existing client
> base with this requirement. You will note that this draft is
> currently
> specified as informational due in some part to the fact that
> it defines
> existing and deployed implementations.
>
> [SC: If we defined PKI mantra using some of the widely
> deployed products, we
> would have security holes the size of pacific ocean. We do
> not change the
> security principles and standards because commercial products
> do it one way.
> As to informational RFC, may be you or some one can explain
> to me what the
> term MUST means for informational. My comments are oriented towards
> enhancing interoperability.]
>
> Having said that, I agree clarification would be helpful. Here is a
> proposed update to the 3rd paragraph of section 1.2.2 -
>
> 1.2.2 Signed OCSPResponses
>
> [...]
>
> The response validity period is the time interval during
> which the responder warrants that the response is accurate,
> it is represented as two dates: the date in which the
> response validity period begins (thisUpdate) and the date
> in which the response validity period ends (nextUpdate). The
> response validity period SHOULD NOT exceed the validity period
> of the responders certificate.
>
> [SC: See previous response]
>
> > 3. Section 1.2.3, It is not clear if the certificate has
> expired and
> > the Responder does not maintain revocation status of expired
> > certificates, what the response should be. May be
> "unauthorized" is
> > meant. If so, this should be made clearer.
>
> OK. We will update the last paragraph of Section 1.2.3 as follows:
>
> The responder will return an OCSPResponseStatus of "unauthorized"
> when processing requests for which it is not capable of
> responding
> authoritatively. This includes the scenario where a responder has
> removed the records of expired certificate from its database.
>
> [SC: Thanks]
>
> > 4. Section 2.1, The recognition of AIA should be changed from MUST
> > to RECOMMENDED. Using MUST means that clients and implementations
> > that use OCSP Responder as trust anchor, will have an added
> > requirement.
>
> I think its important that if a CA includes an OCSP AIA
> extension in the
> cert that all clients have the ability to recognize this
> extension. The
> requirement does not mandate a client communicate with the
> responder on the
> other side of the AIA URI...just that it has the option of
> doing so (or not
> doing so) based on local policy.
>
> [SC: I am ok with AIA as MUST for an informational RFC]
>
> > 5. Section 2.1, The requirement to check OCSP before CRL
> as a MUST is
> > excessive. This should be recommended. It should be left
> up to the
> > implementation to determine whether to use CRL or OCSP.
>
> Well...I think asking for a CRL that may be many megabytes when a
> simple/small OCSP request/response would do the trick is also
> excessive :)
> If others feel the MUST here is excessive I'll change to a SHOULD.
>
> [SC: I think we should change it]
>
> > 6. Section 2.2, The order in which path is validated and when the
> > OCSP response is requested, should be changed from MUST to
> > RECOMMENDED. This should be an application decision.
>
> If a client is unable to validate a signature on a cert, why
> would it bother
> to hit the wire to determine the certs status?Remember that
> one goal of this
> ID is to limit clients hits to the server and thus we are
> suggesting that
> applications using OCSP clients in these scenarios (not all
> scenarios mind
> you) validate the cert first, before it hits the wire to ask for its
> revocation status. What if we qualified this MUST as follows:
>
> 2.2 Sending an OCSP Request
>
> To avoid needless network traffic, when applications are
> operating
> as a lightweight OCSP client they MUST verify the signature of
> signed data before asking an OCSP client to check the status of
> certificates used to verify the data. If the signature is invalid
> or the application is not able to verify it, an OCSP check MUST
> NOT be requested.
>
> [SC: My comments are based on giving the leeway to the
> clients since these
> things do not impact interoperability or security. That is
> why this should
> be RECOMMENDED.]
>
> > 7. Section 3, When nonce is not included in the request or
> response,
> > another way to check freshness are producedAt and thisUpdate.
> > These should be described in this section.
>
> Agreed. We mention this in section 3, but don't elaborate.
>
> [SC: Thanks]
>
> >
> > 8.Section 3, The checks for nextUpdate that are MUST should
> be changed
> > to RECOMMENDED. Basically, freshness check should be based on the
> > local policy and this I-D should RECOMMEND items based on a
> > combination of the three dates asserted in the response.
>
> We are saying that when a client is configured (via local policy or
> otherwise) to work in a highvolume/lightweight mode it must make these
> checks. We are not mandating that clients always operate in
> this mode.
> Would qualifying this MUST such that it applies to OCSP
> clients operating in
> a lightweight/highvolume environment (as suggested for #6
> above) do the trick?
>
> [SC: Again, I do not see why lightweight high volume relates
> to thus. The
> client should be able to use any of the three mechanisms and
> local policy to
> determine if a response is fresh enough. This is another
> case of having a
> more stringent requirement and creating extra bits on the
> wire, when local
> policy or other two dates will help accept a response.]
>
> >
> > 9.Section 5.1, Caching should be RECOMMEND and not MUST.
>
> I disagree...especially when clients are operating in a
> lightweight/highvolume environment. Caching on the client is key to
> ensuring server load and network bandwidth is kept to a
> minimum. Again,
> would qualifying this MUST address your issue?
>
> [SC: May be qualifying here is the best compromise in the interest of
> bandwidth.]
>
> > 10. The I-D should explicitly require the Responders to
> have access
> > to accurate source of time in order to assert producedAt
> and possibly
> > thisUpdate and nextUpdate, depending on how the Responder asserts
> > these two values.
>
> Will add to section 3.
>
> [SC: Thanks.]
>
> Thanks
> Alex
>
>