Recommendations for Transport-Protocol Port Randomization
Metadata
- Publisher
- IETF
- Doc Type
- Best Practice
- Pages
- 29
- Abstract
- During the last few years, awareness has been raised about a number of "blind" attacks that can be performed against the Transmission Control Protocol (TCP) and similar protocols. The consequences of these attacks range from throughput reduction to broken connections or data corruption. These attacks rely on the attacker's ability to guess or know the five-tuple (Protocol, Source Address, Destination Address, Source Port, Destination Port) that identifies the transport protocol instance to be attacked. This document describes a number of simple and efficient methods for the selection of the client port number, such that the possibility of an attacker guessing the exact value is reduced. While this is not a replacement for cryptographic methods for protecting the transport-protocol instance, the aforementioned port selection algorithms provide improved security with very little effort and without any key management overhead. The algorithms described in this document are local policies that may be incrementally deployed and that do not violate the specifications of any of the transport protocols that may benefit from them, such as TCP, UDP, UDP-lite, Stream Control Transmission Protocol (SCTP), Datagram Congestion Control Protocol (DCCP), and RTP (provided that the RTP application explicitly signals the RTP and RTCP port numbers). This memo documents an Internet Best Current Practice.
- Publication Date
- 2011-01-01
- Status Note
- Best Current Practice
- DOI
10.17487/RFC6056- Link
- https://doi.org/10.17487/RFC6056
- Author(s)
- Michael LarsenFernando Gont
- Keyword(s)
- TCP, Blind Attacks
Latest version of IETF RFC 6056
Document Versions — IETF RFC 6056
-
▶ IETF RFC 6056 (2011-01-01)THIS DOC [ACTIVE] [LATEST VERSION]
Normative Reference(s)
- IETF RFC 768 [Active*]
- IETF RFC 793 [Superseded*]
- IETF RFC 1321 [Active*]
- IETF RFC 2119 [Active*]
- IETF RFC 2385 [Superseded*]
- IETF RFC 3550 [Active*]
- IETF RFC 3605 [Active*]
- IETF RFC 3828 [Active*]
- IETF RFC 4086 [Active*]
- IETF RFC 4301 [Active, Amended*]
- IETF RFC 4340 [Active*]
- IETF RFC 4787 [Active*]
- IETF RFC 4960 [Superseded*]
- IETF RFC 5382 [Active*]
Bibliographic Reference(s)
- Internet Assigned Numbers Authority [Active, Versionless]
- The NetBSD Project, < http://www.netbsd.org >. EXTERNAL
- Gont, F., "CPNI Technical Note 3/2009: Security Assessment of the Transmission Control Protocol (TCP)", 2009, < http://www.cpni.gov.uk/Docs/ tn-03-09-security-assessment-TCP.pdf >. EXTERNAL
- The FreeBSD Project, < http://www.freebsd.org >. EXTERNAL
- Stevens, W., "Unix Network Programming, Volume 1: Networking APIs: Socket and XTI", Prentice Hall, 1998. EXTERNAL
- Gont, F., "Security Assessment of the Transmission Control Protocol (TCP)", Work in Progress, February 2010. EXTERNAL
- Stewart, R., Poon, K., Tuexen, M., Lei, P., and V. Yasevich, V., "Sockets API Extensions for Stream Control Transmission Protocol (SCTP)", Work in Progress, January 2011. EXTERNAL
- OpenSolaris, < http://www.opensolaris.org >. EXTERNAL
- Watson, P., "Slipping in the Window: TCP Reset Attacks", CanSecWest 2004 Conference. EXTERNAL
- Silbersack, M., "Improving TCP/IP security through randomization without sacrificing interoperability", EuroBSDCon 2005 Conference. EXTERNAL
- The Linux Project, < http://www.kernel.org >. EXTERNAL
- The OpenBSD Project, < http://www.openbsd.org >. EXTERNAL
- Allman, M., "Comments On Selecting Ephemeral Ports", ACM Computer Communication Review, 39(2), 2009. EXTERNAL
- IETF RFC 1337 [Active*]
- IETF RFC 1948 [Superseded*]
- IETF RFC 2663 [Active*]
- IETF RFC 4953 [Active*]
- IETF RFC 5925 [Active*]
- IETF RFC 5927 [Active*]
Source Data (JSON)
Full registry record with provenance metadata. Open directly: /api/doc/RFC6056.json
Reference Tree
Explore all references and references to this document, as a navigable tree.
Open Reference TreeReference this Doc
Plain text (ISO 690 compliant)
Preview:
IETF RFC 6056, Recommendations for Transport-Protocol Port Randomization. Available at https://doi.org/10.17487/RFC6056
Snippet:
IETF RFC 6056, Recommendations for Transport-Protocol Port Randomization. Available at https://doi.org/10.17487/RFC6056
HTML (ISO 690 compliant)
Preview:
IETF RFC 6056, Recommendations for Transport-Protocol Port Randomization. Available at https://doi.org/10.17487/RFC6056
Snippet:
<span class="citation"><cite>IETF RFC 6056</cite>, Recommendations for Transport-Protocol Port Randomization. Available at <a href="https://doi.org/10.17487/RFC6056" target="_blank" rel="noopener">https://doi.org/10.17487/RFC6056</a></span>
SMPTE's HTML Pub
Preview:
IETF RFC 6056, Recommendations for Transport-Protocol Port Randomization
doi: 10.17487/RFC6056
url: https://doi.org/10.17487/RFC6056
doi: 10.17487/RFC6056
url: https://doi.org/10.17487/RFC6056
Snippet:
<li> <cite id="bib-rfc6056">IETF RFC 6056</cite>, Recommendations for Transport-Protocol Port Randomization <span class="doi">10.17487/RFC6056</span> </li>
Referenced By
- IETF RFC 6013 [Superseded*]
- IETF RFC 6169 [Active*]
- IETF RFC 6269 [Active*]
- IETF RFC 6528 [Superseded*]
- IETF RFC 6887 [Active*]
- IETF RFC 6888 [Active*]
- IETF RFC 6978 [Active*]
- IETF RFC 7269 [Active*]
- IETF RFC 7414 [Active*]
- IETF RFC 7599 [Active*]
- IETF RFC 8085 [Active*]
- IETF RFC 8656 [Active*]
- IETF RFC 9109 [Active*]
- IETF RFC 9416 [Active*]