The general consensus appears to be that TLS 1.3 in 0-RTT mode over TCP in Fast-Open mode (TFO) is secure in terms of CIA as long as you trust the CA system and treat the early data as being potentially part of a reply attack. In particular there are concerns regarding replayability for both TFO and TLS 1.3 0-RTT.
In practice for HTTPS, this means that you should only allow GET requests in 0-RTT mode and have to ensure that all GET requests are indeed idempotent as is technically required by the HTTP spec. Correct so far?
Based on this my question is: Do these same concerns regarding replayablity also apply when enabling TFO on host supporting TLS 1.0-1.3 without also enabling the TLS 1.3 0-RTT feature?
My gut feeling on this is that the TLS handshake should fail in case of a replayed TFO packet and hence there should be no difference in terms of security between TLS over TCP with TFO and TLS over TCP without TFO, but I’m a crytographic layman and couldn’t find any solid research on this, so I thought I’d better ask before just enabling this mode on the company web servers… (In particular as of today, not all HTTPS GET endpoints are idempotent, so enabling TLS 1.3 0-RTT definitely isn’t an option in any case yet.)
Note: This should also be tagged tfo
IMHO, but I’m not allowed to do that……