Enhanced Performance and Privacy for TLS over TCP Fast Open
This addresses performance and privacy problems for web users and developers, offering an incremental improvement over TFO.
The paper tackles performance and privacy issues in TCP Fast Open (TFO), finding that 40% of client revisits fail to use abbreviated handshakes due to server load-balancing and that TFO enables tracking by attackers. It introduces TCP Fast Open Privacy (FOP), which prevents tracking while allowing 0-RTT handshakes and outperforms TLS over TFO in multi-IP scenarios.
Small TCP flows make up the majority of web flows. For them, the TCP three-way handshake induces significant delay overhead. The TCP Fast Open (TFO) protocol can significantly decrease this delay via zero round-trip time (0-RTT) handshakes for all TCP handshakes that follow a full initial handshake to the same host. However, this comes at the cost of privacy limitations and also has some performance limitations. In this paper, we investigate the TFP deployment on popular websites and browsers. We found that a client revisiting a web site for the first time fails to use an abbreviated TFO handshake in 40% of all cases due to web server load-balancing using multiple IP addresses. Our analysis further reveals significant privacy problems of the protocol design and implementation. Network-based attackers and online trackers can exploit TFO to track the online activities of users. As a countermeasure, we introduce a novel protocol called TCP Fast Open Privacy (FOP). TCP FOP prevents tracking by network attackers and impedes third-party tracking, while still allowing 0-RTT handshakes as in TFO. As a proof-of-concept, we have implemented the proposed protocol for the Linux kernel and a TLS library. Our measurements indicate that TCP FOP outperforms TLS over TFO when websites are served from multiple IP addresses.