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

Encrypted extensions for client #449

Merged
merged 3 commits into from May 15, 2016

Conversation

ekr
Copy link
Contributor

@ekr ekr commented May 3, 2016

WIP, not ready to land. @martinthomson PTAL

Implementations SHOULD determine the security parameters for the
1-RTT phase of the connection entirely before processing the EncryptedExtensions
and Finished, using those values solely to determine whether to
accept or reject the "early_data" extension.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not the extension that is being accepted or rejected, it's the 0-RTT data.

@ekr ekr force-pushed the encrypted_extensions_for_client branch from 121d545 to e64c039 Compare May 10, 2016 10:55
propagation delays are most likely causes of a mismatch in legitimate
values for elapsed time. Both the NewSessionTicket and ClientHello
messages might be retransmitted and therefore delayed, which might be
hidden by TCP.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The client could also have since moved to another network. Or perhaps got load-balanced to a different server. Or maybe I got the ticket at 4am when no one was awake and now it's noon and the network's busier.

I'm not sure how useful it is to pin down all the sources of error and recommend that servers SHOULD measure the RTT and put it in NewSessionTicket. I think more realistic is that servers will pick some vaguely reasonable amount of slop and use that.

I also suspect the difference between "an attacker can replay this for 5 seconds" and "an attacker can replay this for 1 minute" isn't much and so keeping the clock tight isn't that valuable. If you're online-ish, you can get a lot of replays in anyway. I'd probably buy "an attacker can replay this for 1 minute" vs. "an attacker can replay this for however long this ticket key is alive" is meaningful since that's now offline-ish.

@ekr ekr merged commit 9851e16 into tlswg:master May 15, 2016
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

Successfully merging this pull request may close these issues.

None yet

4 participants