draft-ietf-hip-rfc5205-bis-08.txt | draft-ietf-hip-rfc5205-bis-09.txt | |||
---|---|---|---|---|
Network Working Group J. Laganier | Network Working Group J. Laganier | |||
Internet-Draft Luminate Wireless, Inc. | Internet-Draft Luminate Wireless, Inc. | |||
Obsoletes: 5205 (if approved) December 14, 2015 | Obsoletes: 5205 (if approved) January 31, 2016 | |||
Intended status: Standards Track | Intended status: Standards Track | |||
Expires: June 16, 2016 | Expires: August 3, 2016 | |||
Host Identity Protocol (HIP) Domain Name System (DNS) Extension | Host Identity Protocol (HIP) Domain Name System (DNS) Extension | |||
draft-ietf-hip-rfc5205-bis-08 | draft-ietf-hip-rfc5205-bis-09 | |||
Abstract | Abstract | |||
This document specifies a new resource record (RR) for the Domain | This document specifies a new resource record (RR) for the Domain | |||
Name System (DNS), and how to use it with the Host Identity Protocol | Name System (DNS), and how to use it with the Host Identity Protocol | |||
(HIP). This RR allows a HIP node to store in the DNS its Host | (HIP). This RR allows a HIP node to store in the DNS its Host | |||
Identity (HI, the public component of the node public-private key | Identity (HI, the public component of the node public-private key | |||
pair), Host Identity Tag (HIT, a truncated hash of its public key), | pair), Host Identity Tag (HIT, a truncated hash of its public key), | |||
and the Domain Names of its rendezvous servers (RVSs). This document | and the Domain Names of its rendezvous servers (RVSs). This document | |||
obsoletes RFC5205. | obsoletes RFC5205. | |||
skipping to change at page 1, line 37 | skipping to change at page 1, line 37 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on June 16, 2016. | This Internet-Draft will expire on August 3, 2016. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | |||
3. Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
3.1. Simple Static Single Homed End-Host . . . . . . . . . . . 5 | 3.1. Simple Static Single Homed End-Host . . . . . . . . . . . 5 | |||
3.2. Mobile end-host . . . . . . . . . . . . . . . . . . . . . 6 | 3.2. Mobile end-host . . . . . . . . . . . . . . . . . . . . . 6 | |||
4. Overview of Using the DNS with HIP . . . . . . . . . . . . . 7 | 4. Overview of Using the DNS with HIP . . . . . . . . . . . . . 8 | |||
4.1. Storing HI, HIT, and RVS in the DNS . . . . . . . . . . . 7 | 4.1. Storing HI, HIT, and RVS in the DNS . . . . . . . . . . . 8 | |||
4.2. Initiating Connections Based on DNS Names . . . . . . . . 8 | 4.2. Initiating Connections Based on DNS Names . . . . . . . . 8 | |||
5. HIP RR Storage Format . . . . . . . . . . . . . . . . . . . . 9 | 5. HIP RR Storage Format . . . . . . . . . . . . . . . . . . . . 9 | |||
5.1. HIT Length Format . . . . . . . . . . . . . . . . . . . . 10 | 5.1. HIT Length Format . . . . . . . . . . . . . . . . . . . . 10 | |||
5.2. PK Algorithm Format . . . . . . . . . . . . . . . . . . . 10 | 5.2. PK Algorithm Format . . . . . . . . . . . . . . . . . . . 10 | |||
5.3. PK Length Format . . . . . . . . . . . . . . . . . . . . 10 | 5.3. PK Length Format . . . . . . . . . . . . . . . . . . . . 10 | |||
5.4. HIT Format . . . . . . . . . . . . . . . . . . . . . . . 10 | 5.4. HIT Format . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
5.5. Public Key Format . . . . . . . . . . . . . . . . . . . . 10 | 5.5. Public Key Format . . . . . . . . . . . . . . . . . . . . 10 | |||
5.6. Rendezvous Servers Format . . . . . . . . . . . . . . . . 10 | 5.6. Rendezvous Servers Format . . . . . . . . . . . . . . . . 10 | |||
6. HIP RR Presentation Format . . . . . . . . . . . . . . . . . 11 | 6. HIP RR Presentation Format . . . . . . . . . . . . . . . . . 11 | |||
7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 7. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
skipping to change at page 3, line 4 | skipping to change at page 3, line 4 | |||
This document specifies a new resource record (RR) for the Domain | This document specifies a new resource record (RR) for the Domain | |||
Name System (DNS) [RFC1034], and how to use it with the Host Identity | Name System (DNS) [RFC1034], and how to use it with the Host Identity | |||
Protocol (HIP) [RFC7401]. This RR allows a HIP node to store in the | Protocol (HIP) [RFC7401]. This RR allows a HIP node to store in the | |||
DNS its Host Identity (HI, the public component of the node public- | DNS its Host Identity (HI, the public component of the node public- | |||
private key pair), Host Identity Tag (HIT, a truncated hash of its | private key pair), Host Identity Tag (HIT, a truncated hash of its | |||
HI), and the Domain Names of its rendezvous servers (RVSs) | HI), and the Domain Names of its rendezvous servers (RVSs) | |||
[I-D.ietf-hip-rfc5204-bis]. | [I-D.ietf-hip-rfc5204-bis]. | |||
Currently, most of the Internet applications that need to communicate | Currently, most of the Internet applications that need to communicate | |||
with a remote host first translate a domain name (often obtained via | with a remote host first translate a domain name (often obtained via | |||
user input) into one or more IP address(es). This step occurs prior | user input) into one or more IP addresses. This step occurs prior to | |||
to communication with the remote host, and relies on a DNS lookup. | communication with the remote host, and relies on a DNS lookup. | |||
With HIP, IP addresses are intended to be used mostly for on-the-wire | With HIP, IP addresses are intended to be used mostly for on-the-wire | |||
communication between end hosts, while most Upper Layer Protocols | communication between end hosts, while most Upper Layer Protocols | |||
(ULP) and applications use HIs or HITs instead (ICMP might be an | (ULP) and applications use HIs or HITs instead (ICMP might be an | |||
example of an ULP not using them). Consequently, we need a means to | example of an ULP not using them). Consequently, we need a means to | |||
translate a domain name into an HI. Using the DNS for this | translate a domain name into an HI. Using the DNS for this | |||
translation is pretty straightforward: We define a new HIP resource | translation is pretty straightforward: We define a new HIP resource | |||
record. Upon query by an application or ULP for a name to IP address | record. Upon query by an application or ULP for a name to IP address | |||
lookup, the resolver would then additionally perform a name to HI | lookup, the resolver would then additionally perform a name to HI | |||
lookup, and use it to construct the resulting HI to IP address | lookup, and use it to construct the resulting HI to IP address | |||
mapping (which is internal to the HIP layer). The HIP layer uses the | mapping (which is internal to the HIP layer). The HIP layer uses the | |||
HI to IP address mapping to translate HIs and HITs into IP addresses | HI to IP address mapping to translate HIs and HITs into IP addresses | |||
and vice versa. | and vice versa. | |||
The HIP specification [RFC7401] specifies the HIP base exchange | ||||
between a HIP Initiator and a HIP Responder based on a four-way | ||||
handshake involving a total of four HIP packets (I1, R1, I2, and R2). | ||||
Since the HIP packets contain both the Initiator and the Responder | ||||
HIT, the initiator needs to have knowledge of the Responder's HI and | ||||
HIT prior to initiating the base exchange by sending an I1 packet.. | ||||
The HIP Rendezvous Extension [I-D.ietf-hip-rfc5204-bis] allows a HIP | The HIP Rendezvous Extension [I-D.ietf-hip-rfc5204-bis] allows a HIP | |||
node to be reached via the IP address(es) of a third party, the | node to be reached via the IP address(es) of a third party, the | |||
node's rendezvous server (RVS). An Initiator willing to establish a | node's rendezvous server (RVS). An Initiator willing to establish a | |||
HIP association with a Responder served by an RVS would typically | HIP association with a Responder served by an RVS would typically | |||
initiate a HIP exchange by sending an I1 towards the RVS IP address | initiate a HIP base exchange by sending the I1 packet initiating the | |||
rather than towards the Responder IP address. Consequently, we need | exchange towards the RVS IP address rather than towards the Responder | |||
a means to find the name of a rendezvous server for a given host | IP address. Consequently, we need a means to find the name of a | |||
name. | rendezvous server for a given host name. | |||
This document introduces the new HIP DNS resource record to store the | This document introduces the new HIP DNS resource record to store the | |||
Rendezvous Server (RVS), Host Identity (HI), and Host Identity Tag | Rendezvous Server (RVS), Host Identity (HI), and Host Identity Tag | |||
(HIT) information. | (HIT) information. | |||
2. Conventions Used in This Document | 2. Conventions Used in This Document | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in RFC 2119 [RFC2119]. | document are to be interpreted as described in RFC 2119 [RFC2119]. | |||
skipping to change at page 4, line 23 | skipping to change at page 4, line 30 | |||
of rendezvous servers (RVS) through HIP RRs. | of rendezvous servers (RVS) through HIP RRs. | |||
The HIP RR is class independent. | The HIP RR is class independent. | |||
When a HIP node wants to initiate communication with another HIP | When a HIP node wants to initiate communication with another HIP | |||
node, it first needs to perform a HIP base exchange to set up a HIP | node, it first needs to perform a HIP base exchange to set up a HIP | |||
association towards its peer. Although such an exchange can be | association towards its peer. Although such an exchange can be | |||
initiated opportunistically, i.e., without prior knowledge of the | initiated opportunistically, i.e., without prior knowledge of the | |||
Responder's HI, by doing so both nodes knowingly risk man-in-the- | Responder's HI, by doing so both nodes knowingly risk man-in-the- | |||
middle attacks on the HIP exchange. To prevent these attacks, it is | middle attacks on the HIP exchange. To prevent these attacks, it is | |||
recommended that the Initiator first obtain the HI of the Responder, | recommended that the Initiator first obtains the HI of the Responder, | |||
and then initiate the exchange. This can be done, for example, | and then initiates the exchange. This can be done, for example, | |||
through manual configuration or DNS lookups. Hence, a new HIP RR is | through manual configuration or DNS lookups. Hence, a new HIP RR is | |||
introduced. | introduced. | |||
When a HIP node is frequently changing its IP address(es), the | When a HIP node is frequently changing its IP address(es), the | |||
natural DNS latency for propagating changes may prevent it from | natural DNS latency for propagating changes may prevent it from | |||
publishing its new IP address(es) in the DNS. For solving this | publishing its new IP address(es) in the DNS. For solving this | |||
problem, the HIP Architecture [RFC4423] introduces rendezvous servers | problem, the HIP Architecture [RFC4423] introduces rendezvous servers | |||
(RVSs) [I-D.ietf-hip-rfc5204-bis]. A HIP host uses a rendezvous | (RVSs) [I-D.ietf-hip-rfc5204-bis]. A HIP host uses a rendezvous | |||
server as a rendezvous point to maintain reachability with possible | server as a rendezvous point to maintain reachability with possible | |||
HIP initiators while moving [RFC5206]. Such a HIP node would publish | HIP Initiators while moving [RFC5206]. Such a HIP node would publish | |||
in the DNS its RVS domain name(s) in a HIP RR, while keeping its RVS | in the DNS its RVS domain name(s) in a HIP RR, while keeping its RVS | |||
up-to-date with its current set of IP addresses. | up-to-date with its current set of IP addresses. | |||
When a HIP node wants to initiate a HIP exchange with a Responder, it | When a HIP node wants to initiate a HIP exchange with a Responder, it | |||
will perform a number of DNS lookups. Depending on the type of | will perform a number of DNS lookups. Depending on the type of | |||
implementation, the order in which those lookups will be issued may | implementation, the order in which those lookups will be issued may | |||
vary. For instance, implementations using HIT in APIs may typically | vary. For instance, implementations using HIT in Application | |||
first query for HIP resource records at the Responder FQDN, while | Programming Interfaces (APIs) may typically first query for HIP | |||
those using an IP address in APIs may typically first query for A | resource records at the Responder FQDN, while those using an IP | |||
and/or AAAA resource records. | address in APIs may typically first query for A and/or AAAA resource | |||
records. | ||||
In the following, we assume that the Initiator first queries for HIP | In the following, we assume that the Initiator first queries for HIP | |||
resource records at the Responder FQDN. | resource records at the Responder FQDN. | |||
If the query for the HIP type was responded to with a DNS answer with | If the query for the HIP type was responded to with a DNS answer with | |||
RCODE=3 (Name Error), then the Responder's information is not present | RCODE=3 (Name Error), then the Responder's information is not present | |||
in the DNS and further queries for the same owner name SHOULD NOT be | in the DNS and further queries for the same owner name SHOULD NOT be | |||
made. | made. | |||
In case the query for the HIP records returned a DNS answer with | In case the query for the HIP records returned a DNS answer with | |||
skipping to change at page 5, line 22 | skipping to change at page 5, line 30 | |||
Depending on the combinations of answers, the situations described in | Depending on the combinations of answers, the situations described in | |||
Section 3.1 and Section 3.2 can occur. | Section 3.1 and Section 3.2 can occur. | |||
Note that storing HIP RR information in the DNS at an FQDN that is | Note that storing HIP RR information in the DNS at an FQDN that is | |||
assigned to a non-HIP node might have ill effects on its reachability | assigned to a non-HIP node might have ill effects on its reachability | |||
by HIP nodes. | by HIP nodes. | |||
3.1. Simple Static Single Homed End-Host | 3.1. Simple Static Single Homed End-Host | |||
A HIP node (R) with a single static network attachment, wishing to be | In addition to its IP address(es) (IP-R), a HIP node (R) with a | |||
reachable by reference to its FQDN (www.example.com), would store in | single static network attachment that wishes to be reachable by | |||
the DNS, in addition to its IP address(es) (IP-R), its Host Identity | reference to its FQDN (www.example.com) to act as a Responder would | |||
(HI-R) and Host Identity Tag (HIT-R) in a HIP resource record. | store in the DNS a HIP resource record containing its Host Identity | |||
(HI-R) and Host Identity Tag (HIT-R). | ||||
An Initiator willing to associate with a node would typically issue | An Initiator willing to associate with a node would typically issue | |||
the following queries: | the following queries: | |||
o QNAME=www.example.com, QTYPE=HIP | o Query #1: QNAME=www.example.com, QTYPE=HIP | |||
o (QCLASS=IN is assumed and omitted from the examples) | (QCLASS=IN is assumed and omitted from the examples) | |||
Which returns a DNS packet with RCODE=0 and one or more HIP RRs with | Which returns a DNS packet with RCODE=0 and one or more HIP RRs with | |||
the HIT and HI (e.g., HIT-R and HI-R) of the Responder in the answer | the HIT and HI (e.g., HIT-R and HI-R) of the Responder in the answer | |||
section, but no RVS. | section, but no RVS. | |||
o QNAME=www.example.com, QTYPE=A QNAME=www.example.com, QTYPE=AAAA | o Query #2: QNAME=www.example.com, QTYPE=A | |||
Which returns DNS packets with RCODE=0 and one or more A or AAAA RRs | o Query #3: QNAME=www.example.com, QTYPE=AAAA | |||
containing IP address(es) of the Responder (e.g., IP-R) in the answer | Which would return DNS packets with RCODE=0 and respectively one or | |||
section. | more A or AAAA RRs containing IP address(es) of the Responder (e.g., | |||
IP-R) in their answer sections. | ||||
Caption: In the remainder of this document, for the sake of keeping | Caption: In the remainder of this document, for the sake of keeping | |||
diagrams simple and concise, several DNS queries and answers | diagrams simple and concise, several DNS queries and answers | |||
are represented as one single transaction, while in fact | are represented as one single transaction, while in fact | |||
there are several queries and answers flowing back and | there are several queries and answers flowing back and | |||
forth, as described in the textual examples. | forth, as described in the textual examples. | |||
[HIP? A? ] | [HIP? A? ] | |||
[www.example.com] +-----+ | [www.example.com] +-----+ | |||
+-------------------------------->| | | +-------------------------------->| | | |||
skipping to change at page 6, line 45 | skipping to change at page 6, line 48 | |||
A mobile HIP node (R) wishing to be reachable by reference to its | A mobile HIP node (R) wishing to be reachable by reference to its | |||
FQDN (www.example.com) would store in the DNS, possibly in addition | FQDN (www.example.com) would store in the DNS, possibly in addition | |||
to its IP address(es) (IP-R), its HI (HI-R), HIT (HIT-R), and the | to its IP address(es) (IP-R), its HI (HI-R), HIT (HIT-R), and the | |||
domain name(s) of its rendezvous server(s) (e.g., rvs.example.com) in | domain name(s) of its rendezvous server(s) (e.g., rvs.example.com) in | |||
HIP resource record(s). The mobile HIP node also needs to notify its | HIP resource record(s). The mobile HIP node also needs to notify its | |||
rendezvous servers of any change in its set of IP address(es). | rendezvous servers of any change in its set of IP address(es). | |||
An Initiator willing to associate with such a mobile node would | An Initiator willing to associate with such a mobile node would | |||
typically issue the following queries: | typically issue the following queries: | |||
o QNAME=www.example.com, QTYPE=HIP | o Query #1: QNAME=www.example.com, QTYPE=HIP | |||
Which returns a DNS packet with RCODE=0 and one or more HIP RRs with | Which returns a DNS packet with RCODE=0 and one or more HIP RRs with | |||
the HIT, HI, and RVS domain name(s) (e.g., HIT-R, HI-R, and | the HIT, HI, and RVS domain name(s) (e.g., HIT-R, HI-R, and | |||
rvs.example.com) of the Responder in the answer section. | rvs.example.com) of the Responder in the answer section. | |||
o QNAME=rvs.example.com, QTYPE=A QNAME=www.example.com, QTYPE=AAAA | o Query #2: QNAME=rvs.example.com, QTYPE=A | |||
Which returns DNS packets with RCODE=0 and one or more A or AAAA RRs | ||||
containing IP address(es) of the Responder's RVS (e.g., IP-RVS) in | o Query #3: QNAME=rvs.example.com, QTYPE=AAAA | |||
the answer section. | ||||
Which return DNS packets with RCODE=0 and respectively one or more A | ||||
or AAAA RRs containing IP address(es) of the Responder's RVS (e.g., | ||||
IP-RVS) in their answer sections. | ||||
[HIP? ] | [HIP? ] | |||
[www.example.com] | [www.example.com] | |||
[A? ] | [A? ] | |||
[rvs.example.com] +-----+ | [rvs.example.com] +-----+ | |||
+----------------------------------------->| | | +----------------------------------------->| | | |||
| | DNS | | | | DNS | | |||
| +----------------------------------------| | | | +----------------------------------------| | | |||
| | [HIP? ] +-----+ | | | [HIP? ] +-----+ | |||
skipping to change at page 9, line 12 | skipping to change at page 9, line 18 | |||
be no longer valid and deleted by the entity that retrieved it. If | be no longer valid and deleted by the entity that retrieved it. If | |||
access to the record is necessary to initiate communication with the | access to the record is necessary to initiate communication with the | |||
entity to which the record corresponds, a new query MUST be be made | entity to which the record corresponds, a new query MUST be be made | |||
to retrieve a fresh copy of the record. | to retrieve a fresh copy of the record. | |||
There may be multiple HIP RRs associated with a single name. It is | There may be multiple HIP RRs associated with a single name. It is | |||
outside the scope of this specification as to how a host chooses from | outside the scope of this specification as to how a host chooses from | |||
between multiple RRs when more than one is returned. The RVS | between multiple RRs when more than one is returned. The RVS | |||
information may be copied and aligned across multiple RRs, or may be | information may be copied and aligned across multiple RRs, or may be | |||
different for each one; a host MUST check that the RVS used is | different for each one; a host MUST check that the RVS used is | |||
associated with the HI being used, when multiple choices are | associated with the HI being used, when multiple choices are present. | |||
present." | ||||
5. HIP RR Storage Format | 5. HIP RR Storage Format | |||
The RDATA for a HIP RR consists of a public key algorithm type, the | The RDATA for a HIP RR consists of a public key algorithm type, the | |||
HIT length, a HIT, a public key, and optionally one or more | HIT length, a HIT, a public key (i.e., a HI), and optionally one or | |||
rendezvous server(s). | more rendezvous server(s). | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| HIT length | PK algorithm | PK length | | | HIT length | PK algorithm | PK length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ HIT ~ | ~ HIT ~ | |||
| | | | | | |||
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 12, line 46 | skipping to change at page 12, line 46 | |||
8. Security Considerations | 8. Security Considerations | |||
This section contains a description of the known threats involved | This section contains a description of the known threats involved | |||
with the usage of the HIP DNS Extension. | with the usage of the HIP DNS Extension. | |||
In a manner similar to the IPSECKEY RR [RFC4025], the HIP DNS | In a manner similar to the IPSECKEY RR [RFC4025], the HIP DNS | |||
Extension allows for the provision of two HIP nodes with the public | Extension allows for the provision of two HIP nodes with the public | |||
keying material (HI) of their peer. These HIs will be subsequently | keying material (HI) of their peer. These HIs will be subsequently | |||
used in a key exchange between the peers. Hence, the HIP DNS | used in a key exchange between the peers. Hence, the HIP DNS | |||
Extension introduces the same kind of threats that IPSECKEY does, | Extension is subject, as the IPSECKEY RR, to threats stemming from | |||
plus threats caused by the possibility given to a HIP node to | attacks against unsecured HIP RRs, as described in the remainder of | |||
initiate or accept a HIP exchange using "opportunistic" or | this section. | |||
"unpublished Initiator HI" modes. | ||||
A HIP node SHOULD obtain HIP RRs from a trusted party trough a secure | A HIP node SHOULD obtain HIP RRs from a trusted party trough a secure | |||
channel ensuring data integrity and authenticity of the RRs. DNSSEC | channel ensuring data integrity and authenticity of the RRs. DNSSEC | |||
[RFC4033] [RFC4034] [RFC4035] provides such a secure channel. | [RFC4033] [RFC4034] [RFC4035] provides such a secure channel. | |||
However, it should be emphasized that DNSSEC only offers data | However, it should be emphasized that DNSSEC only offers data | |||
integrity and authenticity guarantees to the channel between the DNS | integrity and authenticity guarantees to the channel between the DNS | |||
server publishing a zone and the HIP node. DNSSEC does not ensure | server publishing a zone and the HIP node. DNSSEC does not ensure | |||
that the entity publishing the zone is trusted. Therefore, the RRSIG | that the entity publishing the zone is trusted. Therefore, the RRSIG | |||
signature of the HIP RRSet MUST NOT be misinterpreted as a | signature of the HIP RRSet MUST NOT be misinterpreted as a | |||
certificate binding the HI and/or the HIT to the owner name. | certificate binding the HI and/or the HIT to the owner name. | |||
In the absence of a proper secure channel, both parties are | In the absence of a proper secure channel, both parties are | |||
vulnerable to MitM and DoS attacks, and unrelated parties might be | vulnerable to MitM and DoS attacks, and unrelated parties might be | |||
skipping to change at page 14, line 26 | skipping to change at page 14, line 24 | |||
IANA is requested to replace references to [RFC5205] by references to | IANA is requested to replace references to [RFC5205] by references to | |||
this document in the the DNS RR type code registry. | this document in the the DNS RR type code registry. | |||
IANA is requested to allocate the following algorithm type in the | IANA is requested to allocate the following algorithm type in the | |||
IPSECKEY RR [RFC4025] registry: | IPSECKEY RR [RFC4025] registry: | |||
[IANA-TBD] is ECDSA | [IANA-TBD] is ECDSA | |||
10. Contributors | 10. Contributors | |||
Pekka Nikander (pekka.nikander@nomadiclab.com) co-authored an | Pekka Nikander co-authored an earlier, experimental version of this | |||
earlier, experimental version of this specification [RFC5205]. | specification [RFC5205]. | |||
11. Acknowledgments | 11. Acknowledgments | |||
As usual in the IETF, this document is the result of a collaboration | As usual in the IETF, this document is the result of a collaboration | |||
between many people. The authors would like to thank the author | between many people. The authors would like to thank the author | |||
(Michael Richardson), contributors, and reviewers of the IPSECKEY RR | (Michael Richardson), contributors, and reviewers of the IPSECKEY RR | |||
[RFC4025] specification, after which this document was framed. The | [RFC4025] specification, after which this document was framed. The | |||
authors would also like to thank the following people, who have | authors would also like to thank the following people, who have | |||
provided thoughtful and helpful discussions and/or suggestions, that | provided thoughtful and helpful discussions and/or suggestions, that | |||
have helped improve this document: Jeff Ahrenholz, Rob Austein, Hannu | have helped improve this document: Jeff Ahrenholz, Rob Austein, Hannu | |||
skipping to change at page 15, line 7 | skipping to change at page 14, line 49 | |||
[RFC7401]. Finally, thanks Sheng Jiang for performing the Internet | [RFC7401]. Finally, thanks Sheng Jiang for performing the Internet | |||
Area Directorate review of this document in the course of the | Area Directorate review of this document in the course of the | |||
publication process. | publication process. | |||
12. References | 12. References | |||
12.1. Normative references | 12.1. Normative references | |||
[I-D.ietf-hip-rfc5204-bis] | [I-D.ietf-hip-rfc5204-bis] | |||
Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) | Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) | |||
Rendezvous Extension", draft-ietf-hip-rfc5204-bis-06 (work | Rendezvous Extension", draft-ietf-hip-rfc5204-bis-07 (work | |||
in progress), June 2015. | in progress), December 2015. | |||
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | |||
STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, | STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987, | |||
<http://www.rfc-editor.org/info/rfc1034>. | <http://www.rfc-editor.org/info/rfc1034>. | |||
[RFC1035] Mockapetris, P., "Domain names - implementation and | [RFC1035] Mockapetris, P., "Domain names - implementation and | |||
specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, | |||
November 1987, <http://www.rfc-editor.org/info/rfc1035>. | November 1987, <http://www.rfc-editor.org/info/rfc1035>. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
End of changes. 25 change blocks. | ||||
48 lines changed or deleted | 59 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |