Independent Submission J. Touch
Request for Comments: 6978 USC/ISI
Category: Experimental July 2013
ISSN: 2070-1721
A TCP Authentication Option Extension for NAT Traversal
Touch Experimental [Page 1]
RFC 6978 TCP-AO NAT Extension July 2013
Table of Contents
1. Introduction
This document describes an extension to the TCP Authentication Option (TCP-AO) [RFC5925] called TCP-AO-NAT to support its use in the presence of Network Address Translators and/or Network Address and Port Translators (NATs/NAPTs) [RFC2663]. These devices translate the source address and/or the source port number of a TCP connection. TCP-AO without TCP-AO-NAT extensions would be sensitive to these modifications and would discard authenticated segments.
2. Conventions Used in This Document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. When used in lower case, these words have their conventional meaning and do not convey the interpretations in RFC 2119.
Touch Experimental [Page 2]
RFC 6978 TCP-AO NAT Extension July 2013 3. BackgroundTCP-AO generates traffic keys that are specific to a socket pair [RFC5925]. The following information is used to create a connection's traffic keys. (Note that 'local' and 'remote' are interpreted as in TCP-AO [RFC5925].)
4. Extension to Allow NAT Traversal
The premise of TCP-AO-NAT is that it might be useful to allow TCP-AO use in the presence of NATs, e.g., to protect client/server communication where clients are behind NATs.
Touch Experimental [Page 3]
RFC 6978 TCP-AO NAT Extension July 2013
o localNAT
5. Intended Use
A host MAY use TCP-AO-NAT when it is behind a NAT, as determined using NAT discovery techniques, or when TCP-AO protection is desired but conventional TCP-AO fails to establish connections.
Touch Experimental [Page 4]
RFC 6978 TCP-AO NAT Extension July 2013 6. Security ConsiderationsTCP-AO-NAT does not affect the security of connections that do not set either the localNAT or remoteNAT flags. Such connections are not affected themselves and are not affected by segments in other connections that set those flags.
7. References 7.1. Normative References[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
7.2. Informative References
[RFC2663] Srisuresh, P. and M. Holdrege, "IP Network Address
Touch Experimental [Page 5]
RFC 6978 TCP-AO NAT Extension July 2013
[RFC5926] Lebovitz, G. and E. Rescorla, "Cryptographic Algorithms
8. Acknowledgments
This extension was inspired by discussions with Dan Wing.