This is exciting: IETF has a working group on adding encryption to TCP. TCPINC.
They’re explicitly punting on authentication and certificate verification. That’s smart. The result won’t protect against MITM attacks, but it will still provide significant improved protection against passive traffic collection. Also authentication is really hard whereas basic wire encryption is not.
They also explicitly mandate NAT compatibility, which is a practical choice but means users are mostly not protected from traffic analysis. I can live with that.
The failure of IPSEC is one of the greatest mistakes the Internet architecture has suffered so far. SSL is a total hack and botch compared to properly encrypting data traffic. I’d argue doing it at layer 3, the IP layer, is better than doing it in TCP. But encryption is sort of a session-oriented thing so I can see why they want to start with TCP.