---- On Thu, 14 Feb 2019 13:00:16 -0500 David Benjamin <[email protected]> 
wrote ----




On Wed, Feb 13, 2019 at 7:37 PM Roelof DuToit <mailto:[email protected]> wrote:



Questions for PR [1]:



* Regarding this text:

The client MUST NOT use the server-provided retry keys until the handshake 
completes successfully. On success, it MUST NOT overwrite the DNS-provided keys 
with the retry keys. It MUST use the retry keys at most once and continue 
offering DNS-provided keys for subsequent connections. This avoids introducing 
a tracking vector, should a malicious server present client-specific retry keys.



... specifically this part: ".. use the retry keys at most once".  

Q1: Are you saying the client should persistently remember which public_name 
values triggered retry keys?  For how long?






No, exactly the opposite. You use the retry key for just the retry and then 
forget about it.

https://mailarchive.ietf.org/arch/msg/tls/xBEHe1_CcYEYinZQHxWGq8vjA0Q








I understood that part.   Let my clarify my question with an example:



A1. Client uses DNS-provided keys, and server returns retry keys

A2. Client uses retry keys, and everything works..

A3. Client restarts

A4. Client uses DNS-provided keys, and server returns the same retry keys as in 
A1

A5. Client violates spec by using those retry keys for a second time?


And what about this example:



B1. Client uses DNS-provided keys, and server returns retry keys

B2. Client uses retry keys, and everything works..

B3. Client uses DNS-provided keys, and server returns retry keys
B4. Client violates spec by using those retry keys for a second time?











Q2: What happens if fronting server A sent retry keys, and the subsequent 
transport connection ends up on server B, which also sends retry keys?






You keep retrying. And hen you hit the text which says:



> Clients SHOULD implement a limit on retries caused by "esni_retry_request" or

> servers which do not acknowledge the "encrypted_server_name" extension.




This is an error-correcting mechanism to avoid deployment risks. If your TLS 
deployment is so out of sync with itself that:



- It deployed ESNI keys in the DNS that your servers do not understand.

- Even on a retry to presumably the same IP address, you hit a different server 
node.

- Your load balancer keeps bouncing between different server nodes connections 
right after each other.

- Each of your server nodes believes in a totally disjoint set of ESNI keys..



Then I think giving up and failing the connection is not the end of the world.



 



--Roelof





---- On Wed, 13 Feb 2019 17:15:57 -0500 Christopher Wood 
<mailto:[email protected]> wrote ----










Hi folks,



PRs [1] and [2] need a little more review before we merge since 

they’re non-trivial changes. Please have a look and let the list know 

if you have objections with the contents therein. Otherwise, we will 

merge them by the end of the next week.



Thanks!

Chris (no hat)








[1] https://github.com/tlswg/draft-ietf-tls-esni/pull/124






[2] https://github.com/tlswg/draft-ietf-tls-esni/pull/125



_______________________________________________

TLS mailing list

mailto:[email protected]

https://www.ietf.org/mailman/listinfo/tls






_______________________________________________

 TLS mailing list

 mailto:[email protected]

 https://www.ietf.org/mailman/listinfo/tls
_______________________________________________
TLS mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/tls

Reply via email to