Security and Privacy Implications of Numeric Identifiers Employed in Network Protocols
draft-gont-predictable-numeric-ids-03

Document Type Active Internet-Draft (individual)
Last updated 2019-03-11
Stream (None)
Intended RFC status (None)
Formats plain text pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
On Agenda secdispatch at IETF-104
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Network Working Group                                            F. Gont
Internet-Draft                                    SI6 Networks / UTN-FRH
Intended status: Best Current Practice                           I. Arce
Expires: September 12, 2019                                    Quarkslab
                                                          March 11, 2019

  Security and Privacy Implications of Numeric Identifiers Employed in
                           Network Protocols
                 draft-gont-predictable-numeric-ids-03

Abstract

   This document performs an analysis of the security and privacy
   implications of different types of "numeric identifiers" used in IETF
   protocols, and tries to categorize them based on their
   interoperability requirements and the associated failure severity
   when such requirements are not met.  It describes a number of
   algorithms that have been employed in real implementations to meet
   such requirements and analyzes their security and privacy properties.
   Additionally, it provides advice on possible algorithms that could be
   employed to satisfy the interoperability requirements of each
   identifier type, while minimizing the security and privacy
   implications, thus providing guidance to protocol designers and
   protocol implementers.  Finally, it provides recommendations for
   future protocol specifications regarding the specification of the
   aforementioned numeric identifiers.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 12, 2019.

Gont & Arce            Expires September 12, 2019               [Page 1]
Internet-Draft           Predictable Numeric IDs              March 2019

Copyright Notice

   Copyright (c) 2019 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
   (https://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.

   This document may not be modified, and derivative works of it may not
   be created, and it may not be published except as an Internet-Draft.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Threat Model  . . . . . . . . . . . . . . . . . . . . . . . .   5
   4.  Issues with the Specification of Identifiers  . . . . . . . .   5
   5.  Timeline of Vulnerability Disclosures Related to Some Sample
       Identifiers . . . . . . . . . . . . . . . . . . . . . . . . .   6
     5.1.  IPv4/IPv6 Identification  . . . . . . . . . . . . . . . .   6
     5.2.  TCP Initial Sequence Numbers (ISNs) . . . . . . . . . . .   7
   6.  Protocol Failure Severity . . . . . . . . . . . . . . . . . .   9
   7.  Categorizing Identifiers  . . . . . . . . . . . . . . . . . .   9
   8.  Common Algorithms for Identifier Generation . . . . . . . . .  11
     8.1.  Category #1: Uniqueness (soft failure)  . . . . . . . . .  11
       8.1.1.  Simple Randomization Algorithm  . . . . . . . . . . .  11
       8.1.2.  Another Simple Randomization Algorithm  . . . . . . .  12
     8.2.  Category #2: Uniqueness (hard failure)  . . . . . . . . .  13
     8.3.  Category #3: Uniqueness, constant within context (soft-
           failure)  . . . . . . . . . . . . . . . . . . . . . . . .  13
     8.4.  Category #4: Uniqueness, monotonically increasing within
           context (hard failure)  . . . . . . . . . . . . . . . . .  14
       8.4.1.  Predictable Linear Identifiers Algorithm  . . . . . .  14
       8.4.2.  Per-context Counter Algorithm . . . . . . . . . . . .  16
       8.4.3.  Simple Hash-Based Algorithm . . . . . . . . . . . . .  18
       8.4.4.  Double-Hash Algorithm . . . . . . . . . . . . . . . .  20
       8.4.5.  Random-Increments Algorithm . . . . . . . . . . . . .  21
   9.  Common Vulnerabilities Associated with Identifiers  . . . . .  23
Show full document text