Defending against Sequence Number Attacks
RFC 6528
Document | Type |
RFC - Proposed Standard
(February 2012; No errata)
Obsoletes RFC 1948
Updates RFC 793
|
|
---|---|---|---|
Authors | Fernando Gont , Steven Bellovin | ||
Last updated | 2015-10-14 | ||
Replaces | draft-gont-tcpm-rfc1948bis | ||
Stream | Internent Engineering Task Force (IETF) | ||
Formats | plain text html pdf htmlized (tools) htmlized bibtex | ||
Reviews | |||
Stream | WG state | WG Document | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 6528 (Proposed Standard) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Wesley Eddy | ||
IESG note | David Borman (david.borman@windriver.com) is the document shepherd. | ||
Send notices to | (None) |
Internet Engineering Task Force (IETF) F. Gont Request for Comments: 6528 SI6 Networks / UTN-FRH Obsoletes: 1948 S. Bellovin Updates: 793 Columbia University Category: Standards Track February 2012 ISSN: 2070-1721 Defending against Sequence Number Attacks Abstract This document specifies an algorithm for the generation of TCP Initial Sequence Numbers (ISNs), such that the chances of an off-path attacker guessing the sequence numbers in use by a target connection are reduced. This document revises (and formally obsoletes) RFC 1948, and takes the ISN generation algorithm originally proposed in that document to Standards Track, formally updating RFC 793. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6528. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Gont & Bellovin Standards Track [Page 1] RFC 6528 Defending against Sequence Number Attacks February 2012 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Generation of Initial Sequence Numbers . . . . . . . . . . . . 3 3. Proposed Initial Sequence Number Generation Algorithm . . . . 4 4. Security Considerations . . . . . . . . . . . . . . . . . . . 5 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6.1. Normative References . . . . . . . . . . . . . . . . . . . 6 6.2. Informative References . . . . . . . . . . . . . . . . . . 7 Appendix A. Address-Based Trust-Relationship Exploitation Attacks . . . . . . . . . . . . . . . . . . . . . . . 10 A.1. Blind TCP Connection-Spoofing . . . . . . . . . . . . . . 10 Appendix B. Changes from RFC 1948 . . . . . . . . . . . . . . . . 12 1. Introduction For a long time, the Internet has experienced a number of off-path attacks against TCP connections. These attacks have ranged from trust-relationship exploitation to denial-of-service attacks [CPNI-TCP]. Discussion of some of these attacks dates back to at least 1985, when Morris [Morris1985] described a form of attack based on guessing what sequence numbers TCP [RFC0793] will use for new connections between two known end-points. In 1996, RFC 1948 [RFC1948] proposed an algorithm for the selection of TCP Initial Sequence Numbers (ISNs), such that the chances of an off-path attacker guessing valid sequence numbers are reduced. With the aforementioned algorithm, such attacks would remain possible if and only if the attacker already has the ability to perform "man-in- the-middle" attacks. This document revises (and formally obsoletes) RFC 1948, and takes the ISN generation algorithm originally proposed in that document to Standards Track. Section 2 provides a brief discussion of the requirements for a good ISN generation algorithm. Section 3 specifies a good ISN selection algorithm. Appendix A provides a discussion of the trust- relationship exploitation attacks that originally motivated the publication of RFC 1948 [RFC1948]. Finally, Appendix B lists the differences from RFC 1948 to 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]. Gont & Bellovin Standards Track [Page 2] RFC 6528 Defending against Sequence Number Attacks February 2012 2. Generation of Initial Sequence NumbersShow full document text