tlswg / tls13-spec

TLS 1.3 Specification
563 stars 159 forks source link

Reusing psk identities enables client and server tracking #1288

Closed emanjon closed 1 year ago

emanjon commented 1 year ago

1287

emanjon commented 1 year ago

1289

Added server tracking by changing the heading. The rest of the text talks about connections and therefore apply to both client and server tracking.

martinthomson commented 1 year ago

A PSK identifier could be a nonce (random), plus an encryption of the true identifier, using that nonce as input to the key derivation process. There are options for similar protections that use something like FPE (such as this), but they might not be strong enough to pass serious scrutiny as a generic mechanism.

emanjon commented 1 year ago

I don't agree that SHOULD NOT and MUST NOT are almost the same. In some cases the difference between SHOULD NOT and MUST NOT can be drastic with people treating SHOULD NOT as "I don't need to change" and MUST NOT as "Ok, I actually need to change". That said, recommendations for what to do is certainly needed.

I think there are at least three strategies inside TLS 1.3:

There are also things that can be done outside of TLS.:

I think there are a lot of solutions here both in TLS and for the application and they can potentially be used together. If some use case does not have a strategy for how to mitigate this type of tracking and fingerprinting, then I think it is hard to recommend the use external PSK at all.

Even a mechanism that does not give 100% privacy is probably much better than always reusing a single psk identifier for a long time, sometimes decades.

ekr commented 1 year ago

I agree that this is a real issue but I also think that the SHOULD NOT is too strong given the state of the art. I don't really think that a SHOULD NOT is that great. PR #1294 takes a more descriptive approach.

ekr commented 1 year ago

I am closing based on PR #1294.