Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable client-side caching #8

Open
bifurcation opened this issue Jun 22, 2015 · 2 comments
Open

Enable client-side caching #8

bifurcation opened this issue Jun 22, 2015 · 2 comments

Comments

@bifurcation
Copy link
Collaborator

Having the extension_data of the client extension be empty is wasting an opportunity. Instead, we should allow the client to maintain a cache of RRs it has seen for each server, and then have the client tell the server in its ClientHello what RRs it still has and considers valid.

@MelindaShore
Copy link
Owner

Viktor's comments on client-side caching:

"Validation of RRSIGs is a subtle art, the client will definitely
need to check not only the signatures but also the validity intervals
of all RRSIGs (the client must trust its own clock or have access
to a trusted time source). Since the server forwards wire-format
RRsets, these include TTLs, and clients might plausibly cache these,
provided the TTLs are consistent with the RRSIG validity intervals.
The draft might provide guidance on any client-side caching (clients
might e.g. not even send the extension when they have unexpired
cached TLSA data from a previous interaction with the server)."

@shuque
Copy link
Collaborator

shuque commented Jul 6, 2015

Right now the document says clients don't cache (I think mainly to reduce implementation complexity on the client, was our original thinking), so we'll need to adjust.

I'll add a placeholder that a future revision of the doc will allow clients to cache and send a list of cached, unexpired records in the extension. The security considerations section also needs to be rewritten a bit. There are several things not quite correct in it, but the current description about caching specifically is incorrect (it says no caching at all, whereas the server was already expected to cache and reuse the chain).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants