rfc7401-henderson-edits.txt | rfc7401.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) R. Moskowitz, Ed. | Internet Engineering Task Force (IETF) R. Moskowitz, Ed. | |||
Request for Comments: 7401 HTT Consulting | Request for Comments: 7401 HTT Consulting | |||
Obsoletes: 5201 T. Heer | Obsoletes: 5201 T. Heer | |||
Category: Standards Track Hirschmann Automation and Control | Category: Standards Track Hirschmann Automation and Control | |||
ISSN: 2070-1721 P. Jokela | ISSN: 2070-1721 P. Jokela | |||
Ericsson Research NomadicLab | Ericsson Research NomadicLab | |||
T. Henderson | T. Henderson | |||
University of Washington | University of Washington | |||
January 2015 | February 2015 | |||
Host Identity Protocol Version 2 (HIPv2) | Host Identity Protocol Version 2 (HIPv2) | |||
Abstract | Abstract | |||
This document specifies the details of the Host Identity Protocol | This document specifies the details of the Host Identity Protocol | |||
(HIP). HIP allows consenting hosts to securely establish and | (HIP). HIP allows consenting hosts to securely establish and | |||
maintain shared IP-layer state, allowing separation of the identifier | maintain shared IP-layer state, allowing separation of the identifier | |||
and locator roles of IP addresses, thereby enabling continuity of | and locator roles of IP addresses, thereby enabling continuity of | |||
communications across IP address changes. HIP is based on a Diffie- | communications across IP address changes. HIP is based on a Diffie- | |||
skipping to change at page 111, line 14 | skipping to change at page 111, line 14 | |||
10. Differences from RFC 5201 | 10. Differences from RFC 5201 | |||
This section summarizes the technical changes made from [RFC5201]. | This section summarizes the technical changes made from [RFC5201]. | |||
This section is informational, intended to help implementors of the | This section is informational, intended to help implementors of the | |||
previous protocol version. If any text in this section contradicts | previous protocol version. If any text in this section contradicts | |||
text in other portions of this specification, the text found outside | text in other portions of this specification, the text found outside | |||
of this section should be considered normative. | of this section should be considered normative. | |||
This document specifies the HIP Version 2 protocol, which is not | This document specifies the HIP Version 2 protocol, which is not | |||
interoperable with the HIP Version 1 protocol specifed in [RFC5201]. | interoperable with the HIP Version 1 protocol specified in [RFC5201]. | |||
The main technical changes are the inclusion of additional | The main technical changes are the inclusion of additional | |||
cryptographic agility features, and an update of the mandatory and | cryptographic agility features, and an update of the mandatory and | |||
optional algorithms, including Elliptic Curve support via the | optional algorithms, including Elliptic Curve support via the | |||
Elliptic Curve DSA (ECDSA) and Elliptic Curve Diffie-Hellman (ECDH) | Elliptic Curve DSA (ECDSA) and Elliptic Curve Diffie-Hellman (ECDH) | |||
algorithms. The mandatory cryptographic algorithm implementations | algorithms. The mandatory cryptographic algorithm implementations | |||
have been updated, such as replacing HMAC-SHA1 with HMAC-SHA256, RSA/ | have been updated, such as replacing HMAC-SHA-1 with HMAC-SHA-256 and | |||
SHA1 signature algorithm with RSASSA-PSS, and adding ECDSA to RSA as | the RSA/SHA-1 signature algorithm with RSASSA-PSS, and adding ECDSA | |||
mandatory public key types. This version of HIP is also aligned with | to RSA as mandatory public key types. This version of HIP is also | |||
ORCHID revision [RFC7343]. | aligned with the ORCHID revision [RFC7343]. | |||
The following changes have been made to the protocol operation. | The following changes have been made to the protocol operation. | |||
o Section 4.1.3 describes the new process for Diffie Hellman group | o Section 4.1.3 describes the new process for Diffie-Hellman group | |||
negotiation, an aspect of cryptographic agility. The Initiator | negotiation, an aspect of cryptographic agility. The Initiator | |||
may express a preference for the choice of a DH group in the I1 | may express a preference for the choice of a DH group in the I1 | |||
packet and may suggest multiple possible choices. The Responder | packet and may suggest multiple possible choices. The Responder | |||
replies with a preference based on local policy and the options | replies with a preference based on local policy and the options | |||
provided by the Initiator. The Initiator may restart the base | provided by the Initiator. The Initiator may restart the base | |||
exchange if the option chosen by the Responder is unsuitable | exchange if the option chosen by the Responder is unsuitable | |||
(unsupported algorithms). | (unsupported algorithms). | |||
o Another aspect of cryptographic agility that has been added is the | o Another aspect of cryptographic agility that has been added is the | |||
ability to use different cryptographic hash functions to generate | ability to use different cryptographic hash functions to generate | |||
skipping to change at page 111, line 49 | skipping to change at page 111, line 49 | |||
was introduced to support this. In addition, HIT Suites have been | was introduced to support this. In addition, HIT Suites have been | |||
introduced to group the set of cryptographic algorithms used | introduced to group the set of cryptographic algorithms used | |||
together for public key signature, hash function, and hash | together for public key signature, hash function, and hash | |||
truncation. The use of HIT Suites constrains the combinatorial | truncation. The use of HIT Suites constrains the combinatorial | |||
possibilities of algorithm selection for different functions. HIT | possibilities of algorithm selection for different functions. HIT | |||
Suite IDs are related to the ORCHID OGA ID field ([RFC7343]). | Suite IDs are related to the ORCHID OGA ID field ([RFC7343]). | |||
o The puzzle mechanism has been slightly changed, in that the #I | o The puzzle mechanism has been slightly changed, in that the #I | |||
parameter depends on the HIT Hash function (RHASH) selected, and | parameter depends on the HIT Hash function (RHASH) selected, and | |||
the specification now advises against reusing the same #I value to | the specification now advises against reusing the same #I value to | |||
the same Initiator; more details are provided in Section 4.1.2 and | the same Initiator; more details are provided in Sections 4.1.2 | |||
Section 5.2.4). | and 5.2.4). | |||
o Section 4.1.4 was extended to cover details about R1 generation | o Section 4.1.4 was extended to cover details about R1 generation | |||
counter rollover or reset. | counter rollover or reset. | |||
o Section 4.1.6 was added to describe procedures for aborting a HIP | o Section 4.1.6 was added to describe procedures for aborting a HIP | |||
base exchange. | base exchange. | |||
o Section 4.1.7 provides guidance on avoiding downgrade attacks on | o Section 4.1.7 provides guidance on avoiding downgrade attacks on | |||
the cryptographic algorithms. | the cryptographic algorithms. | |||
skipping to change at page 112, line 41 | skipping to change at page 112, line 41 | |||
o Procedures for responding to version mismatches with an ICMP | o Procedures for responding to version mismatches with an ICMP | |||
Parameter Problem have been added. | Parameter Problem have been added. | |||
o The security considerations section (Section 8) has been updated | o The security considerations section (Section 8) has been updated | |||
to remove possible attacks no longer considered applicable. | to remove possible attacks no longer considered applicable. | |||
o The use of the Anonymous bit for making the sender's Host Identity | o The use of the Anonymous bit for making the sender's Host Identity | |||
anonymous is now supported in packets other than the R1 and I2. | anonymous is now supported in packets other than the R1 and I2. | |||
o Support for use of a NULL HIP CIPHER is explicitly limited to | o Support for the use of a NULL HIP CIPHER is explicitly limited to | |||
debugging and testing HIP, and is no longer a mandatory algorithm | debugging and testing HIP and is no longer a mandatory algorithm | |||
to support. | to support. | |||
The following changes have been made to the parameter types and | The following changes have been made to the parameter types and | |||
encodings (Section Section 5.2). | encodings (Section 5.2). | |||
o Four new Parameter types have been added: DH_GROUP_LIST, | o Four new parameter types have been added: DH_GROUP_LIST, | |||
HIP_CIPHER, HIT_SUITE_LIST, and TRANSPORT_FORMAT_LIST. | HIP_CIPHER, HIT_SUITE_LIST, and TRANSPORT_FORMAT_LIST. | |||
o Two Parameter types have been renamed: HMAC has been renamed to | o Two parameter types have been renamed: HMAC has been renamed to | |||
HIP_MAC, and HMAC2 has been renamed to HIP_MAC_2. | HIP_MAC, and HMAC2 has been renamed to HIP_MAC_2. | |||
o One Parameter types is deprecated: HIP_TRANSFORM. Functionally, | o One parameter type is deprecated: HIP_TRANSFORM. Functionally, it | |||
it has been replaced by the HIP_CIPHER but with slightly different | has been replaced by the HIP_CIPHER but with slightly different | |||
semantics (hashes have been removed and are now determined by | semantics (hashes have been removed and are now determined by | |||
RHASH). | RHASH). | |||
o The TRANSPORT_FORMAT_LIST parameter allows transports to be | o The TRANSPORT_FORMAT_LIST parameter allows transports to be | |||
negotiated with the list instead of by their order in the HIP | negotiated with the list instead of by their order in the HIP | |||
packet. | packet. | |||
o The type code for the R1_COUNTER has been changed from 128 to 129 | o The type code for the R1_COUNTER has been changed from 128 to 129 | |||
to reflect that it is now considered a Critical parameter and must | to reflect that it is now considered a Critical parameter and must | |||
be echoed when present in R1. | be echoed when present in R1. | |||
o The PUZZLE and SOLUTION parameter lengths are now variable and | o The PUZZLE and SOLUTION parameter lengths are now variable and | |||
dependent on the RHASH length. | dependent on the RHASH length. | |||
o The Diffie Hellman Group IDs supported have been updated. | o The Diffie-Hellman Group IDs supported have been updated. | |||
o The HOST_ID parameter now requires specification of an Algorithm. | o The HOST_ID parameter now requires specification of an Algorithm. | |||
o The NOTIFICATION parameter supports new Notify Message Type | o The NOTIFICATION parameter supports new Notify Message Type | |||
values. | values. | |||
o The HIP_SIGNATURE algorithm field has been changed from 8 bits to | o The HIP_SIGNATURE algorithm field has been changed from 8 bits to | |||
16 bits to achieve alignment with the HOST_ID parameters. | 16 bits to achieve alignment with the HOST_ID parameters. | |||
o The specification clarifies that the SEQ parameter always contains | o The specification clarifies that the SEQ parameter always contains | |||
one update ID but that the ACK parameter may acknowledge several | one update ID but that the ACK parameter may acknowledge several | |||
update IDs. | update IDs. | |||
o The restriction that only one ECHO_RESPONSE_UNSIGNED parameter | o The restriction that only one ECHO_RESPONSE_UNSIGNED parameter | |||
must be present in each HIP packet has been removed. | must be present in each HIP packet has been removed. | |||
o The document creates a new type range allocation for parameters | o The document creates a new type range allocation for parameters | |||
that are only covered by a signature if a signature is present, | that are only covered by a signature if a signature is present and | |||
and applies it to the newly created DH_GROUP_LIST parameter. | applies it to the newly created DH_GROUP_LIST parameter. | |||
o The document clarifies that several NOTIFY parameters may be | o The document clarifies that several NOTIFY parameters may be | |||
present in a packet. | present in a packet. | |||
The following changes have been made to the packet contents | The following changes have been made to the packet contents | |||
(Section 5.3). | (Section 5.3). | |||
o The I1 packet now carries the Initiator's DH_GROUP_LIST. | o The I1 packet now carries the Initiator's DH_GROUP_LIST. | |||
o The R1 packet now carries the HIP_CIPHER, HIT_SUITE_LIST, | o The R1 packet now carries the HIP_CIPHER, HIT_SUITE_LIST, | |||
skipping to change at page 116, line 21 | skipping to change at page 116, line 21 | |||
(IPv6)", RFC 6724, September 2012, | (IPv6)", RFC 6724, September 2012, | |||
<http://www.rfc-editor.org/info/rfc6724>. | <http://www.rfc-editor.org/info/rfc6724>. | |||
[RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay | [RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay | |||
Routable Cryptographic Hash Identifiers Version 2 | Routable Cryptographic Hash Identifiers Version 2 | |||
(ORCHIDv2)", RFC 7343, September 2014, | (ORCHIDv2)", RFC 7343, September 2014, | |||
<http://www.rfc-editor.org/info/rfc7343>. | <http://www.rfc-editor.org/info/rfc7343>. | |||
[RFC7402] Jokela, P., Moskowitz, R., and J. Melen, "Using the | [RFC7402] Jokela, P., Moskowitz, R., and J. Melen, "Using the | |||
Encapsulating Security Payload (ESP) Transport Format with | Encapsulating Security Payload (ESP) Transport Format with | |||
the Host Identity Protocol (HIP)", RFC 7402, January 2015, | the Host Identity Protocol (HIP)", RFC 7402, February | |||
<http://www.rfc-editor.org/info/rfc7402>. | 2015, <http://www.rfc-editor.org/info/rfc7402>. | |||
11.2. Informative References | 11.2. Informative References | |||
[AUR05] Aura, T., Nagarajan, A., and A. Gurtov, "Analysis of the | [AUR05] Aura, T., Nagarajan, A., and A. Gurtov, "Analysis of the | |||
HIP Base Exchange Protocol", in Proceedings of the 10th | HIP Base Exchange Protocol", in Proceedings of the 10th | |||
Australasian Conference on Information Security and | Australasian Conference on Information Security and | |||
Privacy, July 2005. | Privacy, July 2005. | |||
[CRO03] Crosby, S. and D. Wallach, "Denial of Service via | [CRO03] Crosby, S. and D. Wallach, "Denial of Service via | |||
Algorithmic Complexity Attacks", in Proceedings of the | Algorithmic Complexity Attacks", in Proceedings of the | |||
End of changes. 13 change blocks. | ||||
21 lines changed or deleted | 21 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |