[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: OCSP response pre-production



I also agree with this idea proposed by Julien Stern, checking the
nextUpdate field is a good way of distinguishing fresh responses from
cached or pre-produced ones (in fact I think the date checking makes
sense for this type of responses, with all the clock drift associated
problems, as in the case of CRLs). 

However I object the use of a server generated nonce to avoid condition
1.2 in Julien's statement. How is that different from a replay attack? 

Miguel A Rodriguez
SeguriDATA
Mexico

> -----Original Message-----
> From: owner-ietf-pkix@xxxxxxxxxxxx
[mailto:owner-ietf-pkix@xxxxxxxxxxxx]
> On Behalf Of Florian Oelmaier
> Sent: Tuesday, September 30, 2003 2:05 PM
> To: 'Julien Stern'; ietf-pkix@xxxxxxx
> Subject: RE: OCSP response pre-production
> 
> 
> 
> Thanks, Julien!
> 
> First: I love your client behaviour and your nextUpdate checking is
> cool.
> 
> Second: SyTrust ValidationWorks shows a similar behaviour in its
default
> configuration. So I am not alone out there. Hipp Hipp Hurray :)
> 
> We understood the RfC the same way and I like the flexibility of this
> approach.
> 
> And if a responder wants enforce nonce-checking on your client, it can
> simply include a server-generated nonce into all responses. Thus an
> attacker cannot get a response out of this OCSP responder that would
> force your client into 1.2.
> 
> --
> Florian Oelmaier
> SyTrust
> 
> > -----Original Message-----
> > From: owner-ietf-pkix@xxxxxxxxxxxx
> > [mailto:owner-ietf-pkix@xxxxxxxxxxxx] On Behalf Of Julien Stern
> > Sent: Tuesday, September 30, 2003 6:26 PM
> > To: ietf-pkix@xxxxxxx
> > Subject: Re: OCSP response pre-production
> >
> >
> >
> > If I may attempt to add my 2 cents, the RFC says that
> >
> > "If nextUpdate is not set, the responder is indicating that
> > newer revocation information is available all the time."
> >
> > The behavior of our (experimental) client currently is:
> >
> > 1) We send a nonce
> > 	1.1) We get a nonce back
> > 		=> We check the nonce
> > 	1.2) We do not get a nonce back
> > 		=> We check "nextUpdate", if absent, we reject, as a
> > 		live responder should really provide a nonce, if present
> > 		we assume the responder is keyless or proxy and we check
> > 		the local clock thingies
> >
> > 2) We do not send a nonce
> > 	Whether we get a nonce back or not.
> > 		=> We check "nextUpdate", if absent, we know very well
> > 		that we could be subject to an replay attack, we decide
> > 		based on user config (I would tend to reject but we
> > 		kinda looked for it...), if present, we also
> > know we could
> > 		be subject to a replay attacka (as in 1.2 actually) but
> > 		about as bad as what we have with CRLs, so we accept
> > 		after checking the local clock thingies
> >
> > If the two sets [Nonce-capable server] and [live servers] are
> > the same and if they are respecting the above RFC quote, the
> > replay attacks seem to be minimized by the above client
> > behavior. Also, we play fairly nicely with keyless and proxy
> > responders.
> >
> > The only thing we really do not accept is a "live" server
> > pretending it is unable to include nonces...
> >
> > Now, the question is whether the distinction between "live"
> > and "caching" servers can actually be made (in real life)
> > from the "nextUpdate" field as indicated by the RFC above quote?
> >
> > --
> > Julien
> >
> >