Internet Engineering Task Force (IETF) R. Moskowitz, Ed.
Request for Comments: 7401 HTT Consulting
Obsoletes: 5201 T. Heer
Category: Standards Track Hirschmann Automation and Control
ISSN: 2070-1721 P. Jokela
Ericsson Research NomadicLab
T. Henderson
University of Washington
April 2015
Host Identity Protocol Version 2 (HIPv2)
Abstract
This document specifies the details of the Host Identity Protocol
(HIP). HIP allows consenting hosts to securely establish and
maintain shared IP-layer state, allowing separation of the identifier
and locator roles of IP addresses, thereby enabling continuity of
communications across IP address changes. HIP is based on a Diffie-
Hellman key exchange, using public key identifiers from a new Host
Identity namespace for mutual peer authentication. The protocol is
designed to be resistant to denial-of-service (DoS) and man-in-the-
middle (MitM) attacks. When used together with another suitable
security protocol, such as the Encapsulating Security Payload (ESP),
it provides integrity protection and optional encryption for upper-
layer protocols, such as TCP and UDP.
This document obsoletes RFC 5201 and addresses the concerns raised by
the IESG, particularly that of crypto agility. It also incorporates
lessons learned from the implementations of RFC 5201.
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/rfc7401.
Moskowitz, et al. Standards Track [Page 1]RFC 7401 HIPv2 April 2015Copyright Notice
Copyright (c) 2015 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.
Table of Contents
1. Introduction ....................................................5
1.1. A New Namespace and Identifiers ............................6
1.2. The HIP Base Exchange (BEX) ................................6
1.3. Memo Structure .............................................7
2. Terms and Definitions ...........................................7
2.1. Requirements Terminology ...................................7
2.2. Notation ...................................................8
2.3. Definitions ................................................8
3. Host Identity (HI) and Its Structure ............................9
3.1. Host Identity Tag (HIT) ...................................10
3.2. Generating a HIT from an HI ...............................11
4. Protocol Overview ..............................................12
4.1. Creating a HIP Association ................................12
4.1.1. HIP Puzzle Mechanism ...............................14
4.1.2. Puzzle Exchange ....................................15
4.1.3. Authenticated Diffie-Hellman Protocol with
DH Group Negotiation ...............................17
4.1.4. HIP Replay Protection ..............................18
4.1.5. Refusing a HIP Base Exchange .......................19
4.1.6. Aborting a HIP Base Exchange .......................20
4.1.7. HIP Downgrade Protection ...........................20
4.1.8. HIP Opportunistic Mode .............................21
4.2. Updating a HIP Association ................................24