Skip to main content

Cryptographic protection of TCP Streams (tcpcrypt)

Document Type Expired Internet-Draft (individual)
Expired & archived
Authors Andrea Bittau, Dan Boneh , Mike Hamburg , Mark J. Handley , David Mazieres , Quinn Slack
Last updated 2015-01-22 (Latest revision 2014-07-21)
RFC stream (None)
Intended RFC status (None)
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state Expired
Telechat date (None)
Responsible AD (None)
Send notices to (None)

This Internet-Draft is no longer active. A copy of the expired Internet-Draft is available in these formats:


This document presents tcpcrypt, a TCP extension for cryptographically protecting TCP segments. Tcpcrypt maintains the confidentiality of data transmitted in TCP segments against a passive eavesdropper. It protects connections against denial-of-service attacks involving desynchronizing of sequence numbers, and when enabled, against forged RST segments. Finally, applications that perform authentication can obtain end-to-end confidentiality and integrity guarantees by tying authentication to tcpcrypt Session ID values. The extension defines two new TCP options, CRYPT and MAC, which are designed to provide compatible interworking with TCPs that do not implement tcpcrypt. The CRYPT option allows hosts to negotiate the use of tcpcrypt and establish shared secret encryption keys. The MAC option carries a message authentication code with which hosts can verify the integrity of transmitted TCP segments. Tcpcrypt is designed to require relatively low overhead, particularly at servers, so as to be useful even in the case of servers accepting many TCP connections per second.


Andrea Bittau
Dan Boneh
Mike Hamburg
Mark J. Handley
David Mazieres
Quinn Slack

(Note: The e-mail addresses provided for the authors of this Internet-Draft may no longer be valid.)