draft-ietf-hip-dns-02.txt | draft-ietf-hip-dns-03.txt | |||
---|---|---|---|---|
Network Working Group P. Nikander | Network Working Group P. Nikander | |||
Internet-Draft Ericsson Research Nomadic Lab | Internet-Draft Ericsson Research Nomadic Lab | |||
Expires: January 14, 2006 J. Laganier | Expires: April 13, 2006 J. Laganier | |||
DoCoMo Euro-Labs | DoCoMo Euro-Labs | |||
July 11, 2005 | October 10, 2005 | |||
Host Identity Protocol (HIP) Domain Name System (DNS) Extensions | Host Identity Protocol (HIP) Domain Name System (DNS) Extensions | |||
draft-ietf-hip-dns-02 | draft-ietf-hip-dns-03 | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
skipping to change at page 1, line 35 | skipping to change at page 1, line 35 | |||
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." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on January 14, 2006. | This Internet-Draft will expire on April 13, 2006. | |||
Copyright Notice | Copyright Notice | |||
Copyright (C) The Internet Society (2005). | Copyright (C) The Internet Society (2005). | |||
Abstract | Abstract | |||
This document specifies two new resource records (RRs) for the Domain | This document specifies two new resource records (RRs) for the Domain | |||
Name System (DNS), and how to use them with the Host Identity | Name System (DNS), and how to use them with the Host Identity | |||
Protocol (HIP). These RRs allow a HIP node to store in the DNS its | Protocol (HIP). These RRs allow a HIP node to store in the DNS its | |||
Host Identity (HI, the public component of the node public-private | Host 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 Name or IP addresses of its Rendezvous Servers | key), and the Domain Name or IP addresses of its rendezvous servers | |||
(RVS). | (RVS). | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Conventions used in this document . . . . . . . . . . . . . . 6 | 2. Conventions used in this document . . . . . . . . . . . . . . 6 | |||
3. Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . 7 | 3. Usage Scenarios . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
3.1 Simple static singly homed end-host . . . . . . . . . . . 8 | 3.1. Simple static singly homed end-host . . . . . . . . . . . 8 | |||
3.2 Mobile end-host . . . . . . . . . . . . . . . . . . . . . 9 | 3.2. Mobile end-host . . . . . . . . . . . . . . . . . . . . . 9 | |||
3.3 Mixed Scenario . . . . . . . . . . . . . . . . . . . . . . 10 | 3.3. Mixed Scenario . . . . . . . . . . . . . . . . . . . . . . 10 | |||
4. Overview of using the DNS with HIP . . . . . . . . . . . . . . 12 | 4. Overview of using the DNS with HIP . . . . . . . . . . . . . . 12 | |||
4.1 Storing HI and HIT in DNS . . . . . . . . . . . . . . . . 12 | 4.1. Storing HI and HIT in DNS . . . . . . . . . . . . . . . . 12 | |||
4.1.1 Different types of HITs . . . . . . . . . . . . . . . 12 | 4.1.1. HI and HIT Verification . . . . . . . . . . . . . . . 12 | |||
4.2 Storing Rendezvous Servers in the DNS . . . . . . . . . . 13 | 4.2. Storing Rendezvous Servers in the DNS . . . . . . . . . . 12 | |||
4.3 Initiating connections based on DNS names . . . . . . . . 13 | 4.3. Initiating connections based on DNS names . . . . . . . . 12 | |||
5. Storage Format . . . . . . . . . . . . . . . . . . . . . . . . 14 | 5. Storage Format . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
5.1 HIPHI RDATA format . . . . . . . . . . . . . . . . . . . . 14 | 5.1. HIPHI RDATA format . . . . . . . . . . . . . . . . . . . . 13 | |||
5.1.1 HIT type format . . . . . . . . . . . . . . . . . . . 14 | 5.1.1. PK algorithm format . . . . . . . . . . . . . . . . . 13 | |||
5.1.2 HIT algorithm format . . . . . . . . . . . . . . . . . 14 | 5.1.2. HIT length format . . . . . . . . . . . . . . . . . . 13 | |||
5.1.3 PK algorithm format . . . . . . . . . . . . . . . . . 15 | 5.1.3. HIT format . . . . . . . . . . . . . . . . . . . . . . 13 | |||
5.1.4 HIT format . . . . . . . . . . . . . . . . . . . . . . 15 | 5.1.4. Public key format . . . . . . . . . . . . . . . . . . 13 | |||
5.1.5 Public key format . . . . . . . . . . . . . . . . . . 15 | 5.2. HIPRVS RDATA format . . . . . . . . . . . . . . . . . . . 14 | |||
5.2 HIPRVS RDATA format . . . . . . . . . . . . . . . . . . . 16 | 5.2.1. Preference format . . . . . . . . . . . . . . . . . . 14 | |||
5.2.1 Preference format . . . . . . . . . . . . . . . . . . 16 | 5.2.2. Rendezvous server type format . . . . . . . . . . . . 14 | |||
5.2.2 Rendezvous server type format . . . . . . . . . . . . 16 | 5.2.3. Rendezvous server format . . . . . . . . . . . . . . . 15 | |||
5.2.3 Rendezvous server format . . . . . . . . . . . . . . . 17 | 6. Presentation Format . . . . . . . . . . . . . . . . . . . . . 16 | |||
6. Presentation Format . . . . . . . . . . . . . . . . . . . . . 18 | 6.1. HIPHI Representation . . . . . . . . . . . . . . . . . . . 16 | |||
6.1 HIPHI Representation . . . . . . . . . . . . . . . . . . . 18 | 6.2. HIPRVS Representation . . . . . . . . . . . . . . . . . . 16 | |||
6.2 HIPRVS Representation . . . . . . . . . . . . . . . . . . 18 | 6.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
6.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 7. Retrieving Multiple HITs and IPs from the DNS . . . . . . . . 18 | |||
7. Retrieving Multiple HITs and IPs from the DNS . . . . . . . . 20 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 19 | |||
8. Security Considerations . . . . . . . . . . . . . . . . . . . 21 | 8.1. Attacker tampering with an insecure HIPHI RR . . . . . . . 19 | |||
8.1 Attacker tampering with an unsecure HIPHI RR . . . . . . . 21 | 8.2. Attacker tampering with an insecure HIPRVS RR . . . . . . 19 | |||
8.2 Attacker tampering with an unsecure HIPRVS RR . . . . . . 21 | 8.3. Opportunistic HIP . . . . . . . . . . . . . . . . . . . . 20 | |||
8.3 Opportunistic HIP . . . . . . . . . . . . . . . . . . . . 22 | 8.4. Unpublished Initiator HI . . . . . . . . . . . . . . . . . 20 | |||
8.4 Unpublished Initiator HI . . . . . . . . . . . . . . . . . 22 | 8.5. Hash and HITs Collisions . . . . . . . . . . . . . . . . . 20 | |||
8.5 Hash and HITs Collisions . . . . . . . . . . . . . . . . . 22 | 8.6. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
8.6 DNSSEC . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 25 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 11.1. Normative references . . . . . . . . . . . . . . . . . . . 23 | |||
11.1 Normative references . . . . . . . . . . . . . . . . . . . 26 | 11.2. Informative references . . . . . . . . . . . . . . . . . . 24 | |||
11.2 Informative references . . . . . . . . . . . . . . . . . . 27 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 27 | Intellectual Property and Copyright Statements . . . . . . . . . . 26 | |||
Intellectual Property and Copyright Statements . . . . . . . . 28 | ||||
1. Introduction | 1. Introduction | |||
This document specifies two new resource records (RRs) for the Domain | This document specifies two new resource records (RRs) for the Domain | |||
Name System (DNS) [1], and how to use them with the Host Identity | Name System (DNS) [RFC1034], and how to use them with the Host | |||
Protocol (HIP) [11]. These RRs allow a HIP node to store in the DNS | Identity Protocol (HIP) [I-D.ietf-hip-base]. These RRs allow a HIP | |||
its Host Identity (HI, the public component of the node public- | node to store in the DNS its Host Identity (HI, the public component | |||
private key pair), Host Identity Tag (HIT, a truncated hash of its | of the node public-private key pair), Host Identity Tag (HIT, a | |||
HI), and the Domain Name or IP addresses of its Rendezvous Servers | truncated hash of its HI), and the Domain Name or IP addresses of its | |||
(RVS) [14]. | rendezvous servers (RVS) [I-D.ietf-hip-rvs]. | |||
The current Internet architecture defines two global namespaces: IP | The current Internet architecture defines two global namespaces: IP | |||
addresses and domain names. The Domain Name System provides a two | addresses and domain names. The Domain Name System provides a two | |||
way lookup between these two namespaces. The HIP architecture [12] | way lookup between these two namespaces. The HIP architecture | |||
defines a new third namespace, called the Host Identity Namespace. | [I-D.ietf-hip-arch] defines a new third namespace, called the Host | |||
This namespace is composed of Host Identifiers (HI) of HIP nodes. | Identity Namespace. This namespace is composed of Host Identifiers | |||
The Host Identity Tag (HIT) is one representation of an HI. This | (HI) of HIP nodes. The Host Identity Tag (HIT) is one representation | |||
representation is obtained by taking the output of a secure hash | of an HI. This representation is obtained by taking the output of a | |||
function applied to the HI, truncated to the IPv6 address size. HITs | secure hash function applied to the HI, truncated to the IPv6 address | |||
are supposed to be used in the place of IP addresses within most ULPs | size. HITs are supposed to be used in the place of IP addresses | |||
and applications. | within most ULPs and applications. | |||
The Host Identity Protocol [11] allows two HIP nodes to establish | The Host Identity Protocol [I-D.ietf-hip-base] allows two HIP nodes | |||
together a HIP Association. A HIP association is bound to the nodes | to establish together a HIP Association. A HIP association is bound | |||
HIs rather than to their IP address(es). | to the nodes HIs rather than to their IP address(es). | |||
A HIP node establish a HIP association by initiating a 4 way | A HIP node establish a HIP association by initiating a 4 way | |||
handshake where two parties, the Initiatior and Responder, exchange | handshake where two parties, the initiator and responder, exchange | |||
the I1, I2, R1 and R2 HIP packets (see section 5.3 of [11]) | the I1, I2, R1 and R2 HIP packets (see section 5.3 of [I-D.ietf-hip- | |||
base]) | ||||
+-----+ +-----+ | +-----+ +-----+ | |||
| |-------I1------>| | | | |-------I1------>| | | |||
| I |<------R1-------| R | | | I |<------R1-------| R | | |||
| |-------I2------>| | | | |-------I2------>| | | |||
| |<------R2-------| | | | |<------R2-------| | | |||
+-----+ +-----+ | +-----+ +-----+ | |||
Although a HIP node can initiate HIP communication | Although a HIP node can initiate HIP communication | |||
"opportunistically", i.e., without a priori knowledge of its peer's | "opportunistically", i.e., without prior knowledge of its peer's HI, | |||
HI, doing so exposes both endpoints to Man-in-the-Middle attacks on | doing so exposes both endpoints to Man-in-the-Middle attacks on the | |||
the HIP handshake and its cryptographic protocol. Hence, there is a | HIP handshake and its cryptographic protocol. Hence, there is a | |||
desire to gain knowledge of peers' HI before applications and ULPs | desire to gain knowledge of peers' HI before applications and ULPs | |||
initiate communication. Because many applications use the Domain | initiate communication. Because many applications use the Domain | |||
Name System [1] to name nodes, DNS is a straightforward way to | Name System [RFC1034] to name nodes, DNS is a straightforward way to | |||
provision nodes with the HIP informations (i.e. HI and possibly RVS) | provision nodes with the HIP information (i.e. HI, HIT and possibly | |||
of nodes named in the DNS tree, without introducing or relying on an | RVS) of nodes named in the DNS tree, without introducing or relying | |||
additional piece of infrastructure. Note that without DNSSEC [3] the | on an additional piece of infrastructure. Note that in the absence | |||
Man-in-the-Middle attack evocated before has moved from the | of DNSSEC [RFC2065], the DNS name resolution is vulnerable to Man-in- | |||
opportunistic HIP handshake to the DNS name resolution; See also | the-Middle attack (See Section 8), and hence the HIP handshake is | |||
Section 8. | also vulnerable to a Man-in-the-Middle attack. | |||
The proposed HIP multi-homing mechanisms [13] allow a node to | The proposed HIP multi-homing mechanisms [I-D.ietf-hip-mm] allow a | |||
dynamically change its set of underlying IP addresses while | node to dynamically change its set of underlying IP addresses while | |||
maintaining IPsec SA and transport layer session survivability. The | maintaining IPsec SA and transport layer session survivability. The | |||
HIP rendezvous extensions [14] proposal allows a HIP node to maintain | HIP rendezvous extensions [I-D.ietf-hip-rvs] proposal allows a HIP | |||
HIP reachability while it is changing its current location (the node | node to maintain HIP reachability while it is changing its current | |||
IP address(es)). This rendezvous service is provided by a third | location (the node IP address(es)). This rendezvous service is | |||
party, the node's Rendezvous Server (RVS). | provided by a third party, the node's rendezvous server (RVS). | |||
+-----+ | +-----+ | |||
+--I1--->| RVS |---I1--+ | +--I1--->| RVS |---I1--+ | |||
| +-----+ | | | +-----+ | | |||
| v | | v | |||
+-----+ +-----+ | +-----+ +-----+ | |||
| |<------R1-------| | | | |<------R1-------| | | |||
| I |-------I2------>| R | | | I |-------I2------>| R | | |||
| |<------R2-------| | | | |<------R2-------| | | |||
+-----+ +-----+ | +-----+ +-----+ | |||
An initiator (I) willing to establish a HIP association with a | An initiator (I) willing to establish a HIP association with a | |||
responder (R) would typically initiate a HIP exchange by sending an | responder (R) would typically initiate a HIP exchange by sending an | |||
I1 towards the RVS IP address rather than towards the responder IP | I1 towards the RVS IP address rather than towards the responder IP | |||
address. Then, the RVS, noticing that the receiver HIT is not its | address. Then, the RVS, noticing that the receiver HIT is not its | |||
own, but the HIT of a HIP node registered for the rendezvous Service, | own, but the HIT of a HIP node registered for the rendezvous service, | |||
would relay the I1 to the responder. Typically the responder would | would relay the I1 to the responder. Typically the responder would | |||
then complete the exchange without further assistance from the RVS by | then complete the exchange without further assistance from the RVS by | |||
sending an R1 directly to the initiator IP address. | sending an R1 directly to the initiator IP address. | |||
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 address(es). This step occurs prior | |||
to communication with the remote host, and relies on a DNS lookup. | to communication with the remote host, and relies on a DNS lookup. | |||
With HIP, IP addresses are expected to be used mostly for on-the-wire | With HIP, IP addresses are expected to be used mostly for on-the-wire | |||
communication between end hosts, while most ULPs and applications | communication between end hosts, while most ULPs and applications use | |||
uses HIs or HITs instead (ICMP might be an example of an ULP not | HIs or HITs instead (ICMP might be an example of an ULP not using | |||
using them). Consequently, we need a means to translate a domain | them). Consequently, we need a means to translate a domain name into | |||
name into an HI. Using the DNS for this translation is pretty | an HI. Using the DNS for this translation is pretty straightforward: | |||
straightforward: We define a new HIPHI (HIP HI) resource record. | We define a new HIPHI (HIP HI) resource record. Upon query by an | |||
Upon query by an application or ULP for a FQDN -> IP lookup, the | application or ULP for a FQDN -> IP lookup, the resolver would then | |||
resolver would then additionally perform an FQDN -> HI lookup, and | additionally perform an FQDN -> HI lookup, and use it to construct | |||
use it to construct the resulting HI -> IP mapping (which is internal | the resulting HI -> IP mapping (which is internal to the HIP layer). | |||
to the HIP layer). The HIP layer uses the HI -> IP mapping to | The HIP layer uses the HI -> IP mapping to translate HIs and their | |||
translate HIs and their local representations (HITs, IPv4 and IPv6- | local representations (HITs, IPv4 and IPv6-compatible LSIs) into IP | |||
compatible LSIs) into IP addresses and vice versa. | addresses and vice versa. | |||
This draft introduces the following new DNS Resource Records: | This draft introduces the following new DNS Resource Records: | |||
- HIPHI, for storing Host Identifiers and Host Identity Tags | - HIPHI, for storing Host Identifiers and Host Identity Tags | |||
- HIPRVS, for storing rendezvous server information | - HIPRVS, for storing rendezvous server 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 RFC2119 [4]. | document are to be interpreted as described in RFC2119 [RFC2119]. | |||
3. Usage Scenarios | 3. Usage Scenarios | |||
In this section, we briefly introduce a number of usage scenarios | In this section, we briefly introduce a number of usage scenarios | |||
where the DNS is useful with the Host Identity Protocol. | where the DNS is useful with the Host Identity Protocol. | |||
With HIP, most application and ULPs are unaware of the IP addresses | With HIP, most application and ULPs are unaware of the IP addresses | |||
used to carry packets on the wire. Consequently, a HIP node could | used to carry packets on the wire. Consequently, a HIP node could | |||
take advantage of having multiple IP addresses for fail-over, | take advantage of having multiple IP addresses for fail-over, | |||
redundancy, mobility, or renumbering, in a manner which is | redundancy, mobility, or renumbering, in a manner which is | |||
transparent to most ULPs and applications (because they are bound to | transparent to most ULPs and applications (because they are bound to | |||
HIs, hence they are agnostic to these IP address changes). | HIs, hence they are agnostic to these IP address changes). | |||
In these situations, a node wishing to be reachable by reference to | In these situations, a node wishing to be reachable by reference to | |||
its FQDN should store the following informations in the DNS: | its FQDN should store the following information in the DNS: | |||
o A set of IP address(es) through A and AAAA RRs. | o A set of IP address(es) through A and AAAA RRs. | |||
o A Host Identity (HI) and/or Host Identity Tag (HIT) through HIPHI | o A Host Identity (HI) and/or Host Identity Tag (HIT) through HIPHI | |||
RRs. | RRs. | |||
o An IP address or DNS name of its Rendezvous Server(s) (RVS) | o An IP address or DNS name of its rendezvous server(s) (RVS) | |||
through HIPRVS RRs. | through HIPRVS RRs. | |||
When a HIP node wants to initiate a communication with another HIP | When a HIP node wants to initiate a 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 a priori 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 obtain the HI of the responder, | |||
and then initiate the exchange. This can be done, for example, | and then initiate the exchange. This can be done, for example, | |||
through manual configuration or DNS lookups. Hence, a new HIPHI RR | through manual configuration or DNS lookups. Hence, a new HIPHI RR | |||
is introduced. | is 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 | |||
dynamic DNS update latency may prevent it from publishing its new IP | dynamic DNS update latency may prevent it from publishing its new IP | |||
address(es) in the DNS. For solving this problem, the HIP | address(es) in the DNS. For solving this problem, the HIP | |||
architecture introduces Rendezvous Servers (RVS). A HIP host uses a | architecture introduces rendezvous servers (RVS). A HIP host uses a | |||
Rendezvous Server as a Rendezvous point, to maintain reachability | rendezvous server as a rendezvous point, to maintain reachability | |||
with possible HIP initiators. Such a HIP node would publish in the | with possible HIP initiators. Such a HIP node would publish in the | |||
DNS its RVS IP address or DNS name in a HIPRVS RR, while keeping its | DNS its RVS IP address or DNS name in a HIPRVS RR, while keeping its | |||
RVS up-to-date with its current set of IP addresses. | RVS 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. First the initiator will need | will perform a number of DNS lookups. Depending on the type of the | |||
to query for an A or AAAA record at the responders FQDN. | implementation, the order in which those lookups will be issued may | |||
vary. For instance, implementations using IP address in APIs may | ||||
typically first query for A and/or AAAA records at the responder | ||||
FQDN, while those using HIT in APIS may typically first query for | ||||
HIPHI records. | ||||
In the following we assume that the initiator first queries for A | ||||
and/or AAAA records at the responder FQDN. | ||||
If the query for the A and/or AAAA was responded to with a DNS answer | If the query for the A and/or AAAA was responded to with a DNS answer | |||
with RCODE=3 (Name Error), then the responder's information is not | with RCODE=3 (Name Error), then the responder's information is not | |||
present in the DNS and further queries SHOULD NOT be made. | present in the DNS and further queries SHOULD NOT be made. | |||
In case the query for the address records returned a DNS answer with | In case the query for the address records returned a DNS answer with | |||
RCODE=0 (No Error), then the initiator sends out two queries: One for | RCODE=0 (No Error), then the initiator sends out two queries: One for | |||
the HIPHI type and one for the HIPRVS type at the responder's FQDN. | the HIPHI type and one for the HIPRVS type at the responder's FQDN. | |||
Depending on the combinations of answer the situations described in | Depending on the combinations of answer the situations described in | |||
Section 3.1, Section 3.2 and Section 3.3 can occur. | Section 3.1, Section 3.2 and Section 3.3 can occur. | |||
Note that storing HIP RR information in the DNS at a FQDN which is | Note that storing HIP RR information in the DNS at a FQDN which 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 singly homed end-host | 3.1. Simple static singly homed end-host | |||
A HIP node (R) with a single static network attachment, wishing to be | A HIP node (R) with a single static network attachment, wishing to be | |||
reachable by reference to its FQDN (www.example.com), would store in | reachable by reference to its FQDN (www.example.com), would store in | |||
the DNS, in addition to its IP address(es) (IP-R), its Host Identity | the DNS, in addition to its IP address(es) (IP-R), its Host Identity | |||
(HI-R) in a HIPHI resource record. | (HI-R) in a HIPHI resource record. | |||
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: | |||
QNAME=www.example.com, QTYPE=A | QNAME=www.example.com, QTYPE=A | |||
(QCLASS=IN is assumed and ommitted from the examples) | (QCLASS=IN is assumed and omitted from the examples) | |||
Which returns a DNS packet with RCODE=0 and one or more A RRs A with | Which returns a DNS packet with RCODE=0 and one or more A RRs A with | |||
the address of the responder (e.g. IP-R) in the answer section. | the address of the responder (e.g. IP-R) in the answer section. | |||
QNAME=www.example.com, QTYPE=HIPHI | QNAME=www.example.com, QTYPE=HIPHI | |||
Which returns a DNS packet with RCODE=0 and one or more HIPHI RRs | Which returns a DNS packet with RCODE=0 and one or more HIPHI RRs | |||
with the HIT and HI (e.g. HIT-R and HI-R) of the responder in the | with the HIT and HI (e.g. HIT-R and HI-R) of the responder in the | |||
answer section. | answer section. | |||
skipping to change at page 9, line 28 | skipping to change at page 9, line 28 | |||
| | [A IP-R ] | | | [A IP-R ] | |||
| | [HIPHI 10 3 2 HIT-R HI-R] | | | [HIPHI 10 3 2 HIT-R HI-R] | |||
| v | | v | |||
+-----+ +-----+ | +-----+ +-----+ | |||
| |--------------I1------------->| | | | |--------------I1------------->| | | |||
| I |<-------------R1--------------| R | | | I |<-------------R1--------------| R | | |||
| |--------------I2------------->| | | | |--------------I2------------->| | | |||
| |<-------------R2--------------| | | | |<-------------R2--------------| | | |||
+-----+ +-----+ | +-----+ +-----+ | |||
3.2 Mobile end-host | 3.2. Mobile end-host | |||
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) in a HIPHI RR, and the IP | to its IP address(es) (IP-R), its HI (HI-R) in a HIPHI RR, and the IP | |||
address(es) of its Rendezvous Server(s) (IP-RVS) in HIPRVS resource | address(es) of its rendezvous server(s) (IP-RVS) in HIPRVS resource | |||
record(s). The mobile HIP node also need to notify its Rendezvous | record(s). The mobile HIP node also needs to notify its rendezvous | |||
Servers of any change in its set of IP address(es). | servers of any change in its set of IP address(es). | |||
An initiator willing to associate with such mobile node would | An initiator willing to associate with such mobile node would | |||
typically issue the following queries: | typically issue the following queries: | |||
QNAME=www.example.com, QTYPE=A | QNAME=www.example.com, QTYPE=A | |||
Which returns a DNS packet with RCODE=0 and an empty answer section. | Which returns a DNS packet with RCODE=0 and an empty answer section. | |||
QNAME=www.example.com, QTYPE=HIPHI | QNAME=www.example.com, QTYPE=HIPHI | |||
Which returns a DNS packet with RCODE=0 and one or more HIPHI RRs | Which returns a DNS packet with RCODE=0 and one or more HIPHI RRs | |||
with the HIT and HI (e.g HIT-R and HI-R) of the responder in the | with the HIT and HI (e.g. HIT-R and HI-R) of the responder in the | |||
answer section. | answer section. | |||
QNAME=www.example.com, QTYPE=HIPRVS | QNAME=www.example.com, QTYPE=HIPRVS | |||
Which returns a DNS packet with RCODE=0 and one or more HIPRVS RRs | Which returns a DNS packet with RCODE=0 and one or more HIPRVS RRs | |||
containing IP address(es) (e.g IP-RVS) or FQDN(s) of RVS(s). | containing IP address(es) (e.g. IP-RVS) or FQDN(s) of RVS(s). | |||
[A? HIPRVS? HIPHI?] | [A? HIPRVS? HIPHI?] | |||
[www.example.com ] +-----+ | [www.example.com ] +-----+ | |||
+--------------------------------->| | | +--------------------------------->| | | |||
| | DNS | | | | DNS | | |||
| +--------------------------------| | | | +--------------------------------| | | |||
| | [A? HIPRVS? HIPHI? ] +-----+ | | | [A? HIPRVS? HIPHI? ] +-----+ | |||
| | [www.example.com ] | | | [www.example.com ] | |||
| | [HIPRVS 1 2 IP-RVS ] | | | [HIPRVS 1 2 IP-RVS ] | |||
| | [HIPHI 10 3 2 HIT-R HI-R] | | | [HIPHI 10 3 2 HIT-R HI-R] | |||
skipping to change at page 10, line 36 | skipping to change at page 10, line 33 | |||
+-----+ +-----+ | +-----+ +-----+ | |||
| |<---------------R1------------| | | | |<---------------R1------------| | | |||
| I |----------------I2----------->| R | | | I |----------------I2----------->| R | | |||
| |<---------------R2------------| | | | |<---------------R2------------| | | |||
+-----+ +-----+ | +-----+ +-----+ | |||
The initiator would then send an I1 to one of its RVS. Following, | The initiator would then send an I1 to one of its RVS. Following, | |||
the RVS will relay the I1 up to the mobile node, which will complete | the RVS will relay the I1 up to the mobile node, which will complete | |||
the HIP exchange. | the HIP exchange. | |||
3.3 Mixed Scenario | 3.3. Mixed Scenario | |||
A HIP node might be configured with more than one IP address (multi- | A HIP node might be configured with more than one IP address (multi- | |||
homed), or Rendezvous Server (multi-reachable). In these cases, it | homed), or rendezvous server (multi-reachable). In these cases, it | |||
is possible that the DNS returns multiple A or AAAA RRs, as well as | is possible that the DNS returns multiple A or AAAA RRs, as well as | |||
HIPRVS containing one or multiple Rendezvous Servers. In addition to | HIPRVS containing one or multiple rendezvous servers. In addition to | |||
its set of IP address(es) (IP-R1, IP-R2), a multi-homed end-host | its set of IP address(es) (IP-R1, IP-R2), a multi-homed end-host | |||
would store in the DNS its HI (HI-R) in a HIPHI RR, and possibly the | would store in the DNS its HI (HI-R) in a HIPHI RR, and possibly the | |||
IP address(es) of its RVS(s) (IP-RVS1, IP-RVS2) in HIPRVS RRs. | IP address(es) of its RVS(s) (IP-RVS1, IP-RVS2) in HIPRVS RRs. | |||
An initiator willing to associate with such a node would typically | An initiator willing to associate with such a node would typically | |||
issue the following queries: | issue the following queries: | |||
QNAME=www.example.com, QTYPE=A | QNAME=www.example.com, QTYPE=A | |||
Which returns a DNS packet with RCODE=0 and one or more A or AAAA RRs | Which returns a DNS packet with RCODE=0 and one or more A or AAAA RRs | |||
containing IP address(es) (e.g IP-R1 and IP-R2) in the answer | containing IP address(es) (e.g. IP-R1 and IP-R2) in the answer | |||
section. | section. | |||
QNAME=www.example.com, QTYPE=HIPHI | QNAME=www.example.com, QTYPE=HIPHI | |||
Which returns a DNS packet with RCODE=0 and one or more HIPHI RRs | Which returns a DNS packet with RCODE=0 and one or more HIPHI RRs | |||
with the HIT and HI (e.g HIT-R and HI-R) of the responder in the | with the HIT and HI (e.g. HIT-R and HI-R) of the responder in the | |||
answer section. | answer section. | |||
QNAME=www.example.com, QTYPE=HIPRVS | QNAME=www.example.com, QTYPE=HIPRVS | |||
Which returns a DNS packet with RCODE=0 and one or more HIPRVS RRs | Which returns a DNS packet with RCODE=0 and one or more HIPRVS RRs | |||
containing IP address(es) (e.g IP-RVS1, IP-RVS2) or FQDN(s) of | containing IP address(es) (e.g. IP-RVS1, IP-RVS2) or FQDN(s) of | |||
RVS(s). | RVS(s). | |||
[A? HIPRVS? HIPHI?] | [A? HIPRVS? HIPHI?] | |||
[www.example.com ] +-----+ | [www.example.com ] +-----+ | |||
+--------------------------------->| | | +--------------------------------->| | | |||
| | DNS | | | | DNS | | |||
| +--------------------------------| | | | +--------------------------------| | | |||
| | [A? HIPRVS? HIPHI? ] +-----+ | | | [A? HIPRVS? HIPHI? ] +-----+ | |||
| | [www.example.com ] | | | [www.example.com ] | |||
| | [A IP-R1 ] | | | [A IP-R1 ] | |||
skipping to change at page 12, line 7 | skipping to change at page 12, line 7 | |||
| |---------------I2------------->| | | | |---------------I2------------->| | | |||
| |<--------------R2--------------| | | | |<--------------R2--------------| | | |||
+-----+ +-----+ | +-----+ +-----+ | |||
| ^ | | ^ | |||
| +------+ | | | +------+ | | |||
+-----I1----->| RVS2 |------I1------+ | +-----I1----->| RVS2 |------I1------+ | |||
+------+ | +------+ | |||
4. Overview of using the DNS with HIP | 4. Overview of using the DNS with HIP | |||
4.1 Storing HI and HIT in DNS | 4.1. Storing HI and HIT in DNS | |||
Any conforming implementation may store Host Identifiers in a DNS | ||||
HIPHI RDATA format. An implementation may also store a HIT along | ||||
with its associated HI. If a particular form of an HI or HIT does | ||||
not already have a specified RDATA format, a new RDATA-like format | ||||
SHOULD be defined for the HI or HIT. | ||||
4.1.1 Different types of HITs | ||||
There are two types of HITs. HITs of the first type, called Type 1 | ||||
HIT, consist of an 8-bit prefix followed by 120 bits of the hash of | ||||
the public key. HITs of the second type (Type 2 HIT) consist of a | ||||
Host Assigning Authority Field (HAA), and only the last 64 bits come | ||||
from a SHA-1 hash of the Host Identity. This latter format for HIT | ||||
is recommended for 'well known' systems. It is possible to support a | ||||
resolution mechanism for these names in hierarchical directories, | ||||
like the DNS. | ||||
This document fully specifies only Type 2 HITs. Type 1 HITs are | ||||
specified in Section 3.1 of [11]. | ||||
Note that the format how HITs are stored in the HIPHI RRs may be | ||||
different form the format actually used in protocols, the HIP base | ||||
exchange [11] included. This is because the DNS RR explicitly | ||||
contains the HIT type and algorithm, while some protocols may prefer | ||||
to use a prefix to indicate the HIT type. The implementations are | ||||
expected to use the actual HI when comparing Host Identities. | ||||
4.1.1.1 Host Assigning Authority (HAA) field | ||||
The 64 bits of HAA supports two levels of delegation. The first is a | ||||
registered assigning authority (RAA). The second is a registered | ||||
identity (RI, commonly a company). The RAA is 24 bits with values | ||||
assign sequentially by ICANN. The RI is 40 bits, also assigned | ||||
sequentially but by the RAA. | ||||
4.1.1.2 Storing HAA in HIPHI Resource Records | ||||
Any conforming implementation may store a domain name Host Assigning | Any conforming implementation may store a Host Identity (HI) and its | |||
Authority (HAA) in a DNS HIPHI RDATA format. A HAA MUST be stored | associated Host Identity Tag (HIT) in a DNS HIPHI RDATA format. If a | |||
like a Type 2 HIT, while the least significant bits of the HIT | particular form of an HI does not already have a specified RDATA | |||
extracted from the HI hash output are set to zero, the Host Identity | format, a new RDATA-like format SHOULD be defined for the HI. HI and | |||
Length is set zero, and the Host Identity field is omitted. If a | HIT are defined in Section 3 of [I-D.ietf-hip-base]. | |||
particular form of a HAA does not already have an associated HIT | ||||
specified RDATA format, a new RDATA-like format SHOULD be defined for | ||||
the HIT/HAA. | ||||
4.1.1.3 HI and HIT verification | 4.1.1. HI and HIT Verification | |||
Upon return of a HIPHI RR, a host MUST always calculate the HI- | Upon return of a HIPHI RR, a host MUST always calculate the HI- | |||
derivative HIT to be used in the HIP exchange, as specified in the | derivative HIT to be used in the HIP exchange, as specified in | |||
HIP architecture [12], while the HIT possibly embedded along SHOULD | Section 3 of the HIP base specification [I-D.ietf-hip-base], while | |||
only be used as an optimization (e.g. table lookup). | the HIT possibly embedded along SHOULD only be used as an | |||
optimization (e.g. table lookup). | ||||
4.2 Storing Rendezvous Servers in the DNS | 4.2. Storing Rendezvous Servers in the DNS | |||
The HIP Rendezvous server (HIPRVS) resource record indicates an | The HIP rendezvous server (HIPRVS) resource record indicates an | |||
address or a domain name of a RendezVous Server, towards which a HIP | address or a domain name of a rendezvous Server, towards which a HIP | |||
I1 packet might be sent to trigger the establishment of an | I1 packet might be sent to trigger the establishment of an | |||
association with the entity named by this resource record [14]. | association with the entity named by this resource record [I-D.ietf- | |||
hip-rvs]. | ||||
An RVS receiving such an I1 would then relay it to the appropriate | An RVS receiving such an I1 would then relay it to the appropriate | |||
responder (the owner of the I1 receiver HIT). The responder will | responder (the owner of the I1 receiver HIT). The responder will | |||
then complete the exchange with the initiator, typically without | then complete the exchange with the initiator, typically without | |||
ongoing help from the RVS. | ongoing help from the RVS. | |||
Any conforming implementation may store Rendezvous Server's IP | Any conforming implementation may store rendezvous server's IP | |||
address(es) or DNS name in a DNS HIPRVS RDATA format. If a | address(es) or DNS name in a DNS HIPRVS RDATA format. If a | |||
particular form of a RVS reference does not already have a specified | particular form of a RVS reference does not already have a specified | |||
RDATA format, a new RDATA-like format SHOULD be defined for the RVS. | RDATA format, a new RDATA-like format SHOULD be defined for the RVS. | |||
4.3 Initiating connections based on DNS names | 4.3. Initiating connections based on DNS names | |||
On a HIP node, a Host Identity Protocol exchange SHOULD be initiated | On a HIP node, a Host Identity Protocol exchange SHOULD be initiated | |||
whenever an Upper Layer Protocol attempt to communicate with an | whenever an Upper Layer Protocol attempt to communicate with an | |||
entity and the DNS lookup returns HIPHI and/or HIPRVS resource | entity and the DNS lookup returns HIPHI and/or HIPRVS resource | |||
records. If a DNS lookup returns one or more HIPRVS RRs and no A nor | records. If a DNS lookup returns one or more HIPRVS RRs and no A nor | |||
AAAA RRs, the afore mentioned HIP exchange SHOULD be initiated | AAAA RRs, the afore mentioned HIP exchange SHOULD be initiated | |||
towards one of these RVS [11]. Since some hosts may choose not to | towards one of these RVS [I-D.ietf-hip-base]. Since some hosts may | |||
have HIPHI information in DNS, hosts MAY implement support for | choose not to have HIPHI information in DNS, hosts MAY implement | |||
opportunistic HIP. | support for opportunistic HIP. | |||
5. Storage Format | 5. Storage Format | |||
5.1 HIPHI RDATA format | 5.1. HIPHI RDATA format | |||
The RDATA for a HIPHI RR consists of a HIT type, an algorithm type, a | The RDATA for a HIPHI RR consists of a public key algorithm type, the | |||
HIT, and a public key. | HIT length, a HIT, and a public key. | |||
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 type | HIT algorithm | PK algorithm | | | | PK algorithm | HIT length | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ HIT | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ HIT | | |||
~ ~ | ~ ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| / | | / | |||
/ Public Key / | / Public Key / | |||
/ / | / / | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| | |||
5.1.1 HIT type format | The PK algorithm, HIT length, HIT and Public Key field are REQUIRED. | |||
The HIT type field indicates the Host Identity Tag (HIT) type and the | ||||
implied HIT format. | ||||
The following values are defined: | ||||
0 No HIT is present | ||||
1 A Type 1 HIT is present | ||||
2 A Type 2 HIT is present | ||||
3-6 Unassigned | ||||
7 A HAA is present | ||||
5.1.2 HIT algorithm format | ||||
The HIT algorithm indicates the hash algorithm used to generate the | ||||
Host Identity Tag (HIT) from the HI. | ||||
The following values are defined: | ||||
0 Reserved | ||||
1 SHA1 | ||||
2-255 Unassigned | ||||
5.1.3 PK algorithm format | 5.1.1. PK algorithm format | |||
The PK algorithm field indicates the public key cryptographic | The PK algorithm field indicates the public key cryptographic | |||
algorithm and the implied public key field format. This document | algorithm and the implied public key field format. This document | |||
reuse the values defined for the 'algorithm type' of the IPSECKEY RR | reuse the values defined for the 'algorithm type' of the IPSECKEY RR | |||
[10] 'gateway type' field. | [RFC4025] 'gateway type' field. | |||
The presently defined values are given only informally: | The presently defined values are given only informally: | |||
1 A DSA key is present, in the format defined in RFC2536 [5]. | 1 A DSA key is present, in the format defined in RFC2536 | |||
[RFC2536]. | ||||
2 A RSA key is present, in the format defined in RFC3110 [6]. | ||||
5.1.4 HIT format | 2 A RSA key is present, in the format defined in RFC3110 | |||
[RFC3110]. | ||||
There's currently two types of HITs, and a single type of HAA. Both | 5.1.2. HIT length format | |||
of them are stored in network byte order within a self-describing | ||||
variable length wire-encoded <character-string> (as per Section 3.3 | ||||
of [2]): | ||||
o A *Type 1* HIT: least significant bits of the hash (e.g. SHA1) of | The HIT length indicates the length in bytes of the HIT field. | |||
the public key (Host Identity), which is possibly following in the | ||||
HIPHI RR. | ||||
o A *Type 2* HIT: binary prefix (HAA) concatenated with a the least | 5.1.3. HIT format | |||
significant bits of the hash (e.g. SHA1) of the public key (Host | ||||
Identity), which is possibly following in the HIPHI RR. | ||||
o A HAA: binary prefix (HAA) concatenated with 0, up to the | The HIT is stored, as a binary value, in network byte order. | |||
associated HIT length. | ||||
5.1.5 Public key format | 5.1.4. Public key format | |||
Both of the public key types defined in this document (RSA and DSA) | Both of the public key types defined in this document (RSA and DSA) | |||
reuse the public key formats defined for the IPSECKEY RR [10] (which | reuse the public key formats defined for the IPSECKEY RR [RFC4025] | |||
in turns contains the algorithm-specific portion of the KEY RR RDATA, | (which in turns contains the algorithm-specific portion of the KEY RR | |||
all of the KEY RR DATA after the first four octets, corresponding to | RDATA, all of the KEY RR DATA after the first four octets, | |||
the same portion of the KEY RR that must be specified by documents | corresponding to the same portion of the KEY RR that must be | |||
that define a DNSSEC algorithm). | specified by documents that define a DNSSEC algorithm). | |||
In the future, if a new algorithm is to be used both by IPSECKEY RR | In the future, if a new algorithm is to be used both by IPSECKEY RR | |||
and HIPHI RR, it would probably use the same public key encodings for | and HIPHI RR, it would probably use the same public key encoding for | |||
both RRs. Unless specified otherwise, the HIPHI public key field | both RRs. Unless specified otherwise, the HIPHI public key field | |||
would use the same public key format as the IPSECKEY RR RDATA for the | would use the same public key format as the IPSECKEY RR RDATA for the | |||
corresponding algorithm. | corresponding algorithm. | |||
The DSA key format is defined in RFC2536 [5]. | The DSA key format is defined in RFC2536 [RFC2536]. | |||
The RSA key format is defined in RFC3110 [6] and the RSA key size | The RSA key format is defined in RFC3110 [RFC3110] and the RSA key | |||
limit (4096 bits) is relaxed in the IPSECKEY RR [10] specification. | size limit (4096 bits) is relaxed in the IPSECKEY RR [RFC4025] | |||
specification. | ||||
5.2 HIPRVS RDATA format | 5.2. HIPRVS RDATA format | |||
The RDATA for a HIPRVS RR consists of a preference value, a | The RDATA for a HIPRVS RR consists of a preference value, a | |||
Rendezvous server type and either one or more Rendezvous server | rendezvous server type and either one or more rendezvous server | |||
address, or one Rendezvous server domain name. | address, or one rendezvous server domain name. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| preference | type | | | | preference | type | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rendezvous server | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ rendezvous server | | |||
~ ~ | ~ ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
5.2.1 Preference format | The Preference and RVS Type fields are REQUIRED. At least one RVS | |||
field MUST be present. | ||||
5.2.1. Preference format | ||||
This is an unsigned 8-bit value, used to specify the preference given | This is an unsigned 8-bit value, used to specify the preference given | |||
to the RVS in the HIPRVS RR amongst others at the same owner. RVSs | to the RVS in the HIPRVS RR amongst others at the same owner. RVSs | |||
with lower values are preferred. If there is a tie within some RR | with lower values are preferred. If there is a tie within some RR | |||
subset, the initiating HIP host should pick one of the RVS randomly | subset, the initiating HIP host should pick one of the RVS randomly | |||
from the set of RRs, such that the requester load is fairly balanced | from the set of RRs, such that the requester load is fairly balanced | |||
amongst all RVSs of the set. | amongst all RVSs of the set. | |||
5.2.2 Rendezvous server type format | 5.2.2. Rendezvous server type format | |||
The Rendezvous server type indicates the format of the information | The rendezvous server type indicates the format of the information | |||
stored in the Rendezvous server field. | stored in the rendezvous server field. | |||
This document reuses the type values for the 'gateway type' field of | This document reuses the type values for the 'gateway type' field of | |||
the IPSECKEY RR [10]. The presently defined values are given only | the IPSECKEY RR [RFC4025]. The presently defined values are given | |||
informally: | only informally: | |||
1. One or more 4-byte IPv4 address(es) in network byte order are | 1. One or more 4-byte IPv4 address(es) in network byte order are | |||
present. | present. | |||
2. One or more 16-byte IPv6 address(es) in network byte order are | 2. One or more 16-byte IPv6 address(es) in network byte order are | |||
present. | present. | |||
3. One or more variable length wire-encoded domain names as | 3. One or more variable length wire-encoded domain names as | |||
described in section 3.3 of RFC1035 [2]. The wire-encoded format | described in section 3.3 of RFC1035 [RFC1035]. The wire-encoded | |||
is self-describing, so the length is implicit. The domain names | format is self-describing, so the length is implicit. The domain | |||
MUST NOT be compressed. | names MUST NOT be compressed. | |||
5.2.3 Rendezvous server format | 5.2.3. Rendezvous server format | |||
The Rendezvous server field indicates one or more Rendezvous | The rendezvous server field indicates one or more rendezvous | |||
Server(s) IP address(es), or domain name(s). A HIP I1 packet sent to | server(s) IP address(es), or domain name(s). A HIP I1 packet sent to | |||
any of these RVS would reach the entity named by this resource | any of these RVS would reach the entity named by this resource | |||
record. | record. | |||
This document reuses the format used for the 'gateway' field of the | This document reuses the format used for the 'gateway' field of the | |||
IPSECKEY RR [10], but allows to concatenate several IP (v4 or v6) | IPSECKEY RR [RFC4025], but allows to concatenate several IP (v4 or | |||
addresses. The presently defined formats for the data portion of the | v6) addresses. The presently defined formats for the data portion of | |||
Rendezvous server field are given only informally: | the rendezvous server field are given only informally: | |||
o One or more 32-bit IPv4 address(es) in network byte order. | o One or more 32-bit IPv4 address(es) in network byte order. | |||
o One or more 128-bit IPv6 address(es) in network byte order. | o One or more 128-bit IPv6 address(es) in network byte order. | |||
o One or more variable length wire-encoded domain names as described | o One or more variable length wire-encoded domain names as described | |||
in section 3.3 of RFC1035 [2]. The wire-encoded format is self- | in Section 3.3 of RFC1035 [RFC1035]. The wire-encoded format is | |||
describing, so the length is implicit. The domain names MUST NOT | self-describing, so the length is implicit. The domain names MUST | |||
be compressed. | NOT be compressed. | |||
6. Presentation Format | 6. Presentation Format | |||
This section specifies the representation of the HIPHI and HIPRVS RR | This section specifies the representation of the HIPHI and HIPRVS RR | |||
in a zone data master file. | in a zone data master file. | |||
6.1 HIPHI Representation | 6.1. HIPHI Representation | |||
The HIT Type, HIT algorithm, PK algorithm, HIT and Public Key are | The PK algorithm field is represented as unsigned integers. | |||
REQUIRED. | ||||
The HIT Type, HIT algorithm, and PK algorithm are represented as | The HIT length field is not represented as it is implicitly known | |||
unsigned integers. | thanks to the HIT field representation. | |||
The HIT field is represented as the Base16 encoding [8] (a.k.a. hex | The HIT field is represented as the Base16 encoding [RFC3548] (a.k.a. | |||
or hexadecimal) of the public key hash. The encoding MUST NOT | hex or hexadecimal) of the HIT. The encoding MUST NOT contains | |||
contains whitespace. If no HIT is to be indicated, then the HIT | whitespace(s). | |||
algorithm MUST be zero and the HIT field must be "." (a single dot | ||||
character). | ||||
The Public Key field is represented as the Base64 encoding [8] of the | The Public Key field is represented as the Base64 encoding [RFC3548] | |||
public key. The encoding MAY contains whitespace(s), and such | of the public key. The encoding MAY contains whitespace(s), and such | |||
whitespaces MUST be ignored. | whitespace(s) MUST be ignored. | |||
The complete representation of the HPIHI record is: | The complete representation of the HPIHI record is: | |||
IN HIPHI ( hit-type hit-algorithm pk-algorithm | IN HIPHI ( pk-algorithm | |||
base16-encoded-hit | base16-encoded-hit | |||
base64-encoded-public-key ) | base64-encoded-public-key ) | |||
6.2 HIPRVS Representation | 6.2. HIPRVS Representation | |||
The Preference and RVS Type fields are REQUIRED. At least one RVS | ||||
field MUST be present. | ||||
The HIT Type, HIT algorithm, and PK algorithm are represented as | ||||
unsigned integers. | ||||
The RVS field is represented by one or more: | The RVS field is represented by one or more: | |||
o IPv4 dotted decimal address(es) | o IPv4 dotted decimal address(es) | |||
o IPv6 colon hex address(es) | o IPv6 colon hex address(es) | |||
o uncompressed domain name(s) | o uncompressed domain name(s) | |||
The complete representation of the HPIRVS record is: | The complete representation of the HPIRVS record is: | |||
IN HIPRVS ( preference rendezvous-server-type | IN HIPRVS ( preference rendezvous-server-type | |||
rendezvous-server[1] | rendezvous-server[1] | |||
... | ... | |||
rendezvous-server[n] ) | rendezvous-server[n] ) | |||
6.3 Examples | 6.3. Examples | |||
Example of a node with a HI but no HIT: | ||||
www.example.com IN HIPHI ( 0 1 2 | ||||
. | ||||
AB3NzaC1kc3MAAACBAOBhKn | ||||
TCPOuFBzZQX/N3O9dm9P9iv | ||||
UIMoId== ) | ||||
Example of a node with a HI and a HIT: | Example of a node with a HI and a HIT: | |||
www.example.com IN HIPHI ( 1 1 2 | www.example.com IN HIPHI ( 2 2A20E0FF0FE8A52422D059FFFEA938A1 | |||
AB3NzaC1kc3MAAACBAOBhKn | AB3NzaC1kc3MAAACBAOBhKn | |||
TCPOuFBzZQX/N3O9dm9P9iv | TCPOuFBzZQX/N3O9dm9P9iv | |||
UIMoId== ) | UIMoId== ) | |||
Example of a node with an IPv6 RVS: | Example of a node with an IPv6 RVS: | |||
www.example.com IN HIPRVS (10 2 2001:db8:200:1:20c:f1ff:feb:a533 ) | www.example.com IN HIPRVS (10 2 2001:db8:200:1:20c:f1ff:feb:a533 ) | |||
Example of a node with three IPv4 RVS: | Example of a node with three IPv4 RVS: | |||
skipping to change at page 20, line 34 | skipping to change at page 18, line 34 | |||
It is RECOMMENDED that if a host receives multiple HITs, the host | It is RECOMMENDED that if a host receives multiple HITs, the host | |||
SHOULD first try to initiate the base exchange by using the | SHOULD first try to initiate the base exchange by using the | |||
opportunistic mode. If the returned HIT does not match with any of | opportunistic mode. If the returned HIT does not match with any of | |||
the expected HITs, the host SHOULD retry by sending further I1s, one | the expected HITs, the host SHOULD retry by sending further I1s, one | |||
at time, trying out all of the listed HITs. If the host receives an | at time, trying out all of the listed HITs. If the host receives an | |||
R1 for any of the I1s, the host SHOULD continue to use the successful | R1 for any of the I1s, the host SHOULD continue to use the successful | |||
IP address until an R1 with a listed HIT is received, or the host has | IP address until an R1 with a listed HIT is received, or the host has | |||
tried all HITs, and try the other IP addresses only after that. A | tried all HITs, and try the other IP addresses only after that. A | |||
host MAY also send multiple I1s in parallel, but sending such I1s | host MAY also send multiple I1s in parallel, but sending such I1s | |||
MUST be rate limited to avoid flooding (as per Section 8.4.1 of | MUST be rate limited to avoid flooding (as per Section 8.4.1 of | |||
[11]). | [I-D.ietf-hip-base]). | |||
8. Security Considerations | 8. Security Considerations | |||
Though the security considerations of the HIP DNS extensions still | Though the security considerations of the HIP DNS extensions still | |||
need to be more investigated and documented, this section contains a | need to be more investigated and documented, this section contains a | |||
description of the known threats involved with the usage of the HIP | description of the known threats involved with the usage of the HIP | |||
DNS extensions. | DNS extensions. | |||
In a manner similar to the IPSECKEY RR [10], the HIP DNS Extensions | In a manner similar to the IPSECKEY RR [RFC4025], the HIP DNS | |||
allows to provision two HIP nodes with the public keying material | Extensions allows to provision two HIP nodes with the public keying | |||
(HI) of their peer. These HIs will be subsequently used in a key | material (HI) of their peer. These HIs will be subsequently used in | |||
exchange between the peers. Hence, the HIP DNS Extensions introduce | a key exchange between the peers. Hence, the HIP DNS Extensions | |||
the same kind of threats that IPSECKEY does, plus threats caused by | introduce the same kind of threats that IPSECKEY does, plus threats | |||
the possibility given to a HIP node to initiate or accept a HIP | caused by the possibility given to a HIP node to initiate or accept a | |||
exchange using "Opportunistic" or "Unpublished Initiator HI" modes. | HIP exchange using "opportunistic" or "unpublished initiator HI" | |||
modes. | ||||
A HIP node SHOULD obtain both the HIPHI and HIPRVS RRs from a trusted | A HIP node SHOULD obtain both the HIPHI and HIPRVS RRs from a trusted | |||
party trough a secure channel insuring proper data integrity of the | party trough a secure channel insuring proper data integrity of the | |||
RRs. DNSSEC [3] provides such a secure channel. | RRs. DNSSEC [RFC2065] provides such a secure channel. | |||
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 | |||
subject to DoS attacks as well. These threats are described in the | subject to DoS attacks as well. These threats are described in the | |||
following sections. | following sections. | |||
8.1 Attacker tampering with an unsecure HIPHI RR | 8.1. Attacker tampering with an insecure HIPHI RR | |||
The HIPHI RR contains public keying material in the form of the named | The HIPHI RR contains public keying material in the form of the named | |||
peer's public key (the HI) and its secure hash (the HIT). Both of | peer's public key (the HI) and its secure hash (the HIT). Both of | |||
these are not sensitive to attacks where an adversary gains knowledge | these are not sensitive to attacks where an adversary gains knowledge | |||
of them. However, an attacker that is able to mount an active attack | of them. However, an attacker that is able to mount an active attack | |||
on the DNS, i.e., tampers with this HIPHI RR (e.g. using DNS | on the DNS, i.e., tampers with this HIPHI RR (e.g. using DNS | |||
spoofing) is able to mount Man-in-the-Middle attacks on the | spoofing) is able to mount Man-in-the-Middle attacks on the | |||
cryptographic core of the eventual HIP exchange (responder's HIPHI | cryptographic core of the eventual HIP exchange (responder's HIPHI | |||
and HIPRVS rewritten by the attacker). | and HIPRVS rewritten by the attacker). | |||
8.2 Attacker tampering with an unsecure HIPRVS RR | 8.2. Attacker tampering with an insecure HIPRVS RR | |||
The HIPRVS RR contains a destination IP address where the named peer | The HIPRVS RR contains a destination IP address where the named peer | |||
is reachable by an I1 (HIP Rendezvous Extensions IPSECKEY RR [14] ). | is reachable by an I1 (HIP Rendezvous Extensions IPSECKEY RR | |||
Thus, an attacker able to tamper with this RRs is able to redirect I1 | [I-D.ietf-hip-rvs] ). Thus, an attacker able to tamper with this RR | |||
packets sent to the named peer to a chosen IP address, for DoS or | is able to redirect I1 packets sent to the named peer to a chosen IP | |||
MitM attacks. Note that this kind of attacks are not specific to HIP | address, for DoS or MitM attacks. Note that this kind of attacks is | |||
and exist independently to whether or not HIP and the HIPRVS RR are | not specific to HIP and exists independently to whether or not HIP | |||
used. Such an attacker might tamper with A and AAAA RRs as well. | and the HIPRVS RR are used. Such an attacker might tamper with A and | |||
AAAA RRs as well. | ||||
An attacker might obviously use these two attacks in conjunction: It | An attacker might obviously use these two attacks in conjunction: It | |||
will replace the responder's HI and RVS IP address by its owns in a | will replace the responder's HI and RVS IP address by its owns in a | |||
spoofed DNS packet sent to the initiator HI, then redirect all | spoofed DNS packet sent to the initiator HI, then redirect all | |||
exchanged packets through him and mount a MitM on HIP. In this case | exchanged packets to him and mount a MitM on HIP. In this case HIP | |||
HIP won't provide confidentiality nor initiator HI protection from | won't provide confidentiality nor initiator HI protection from | |||
eavesdroppers. | eavesdroppers. | |||
8.3 Opportunistic HIP | 8.3. Opportunistic HIP | |||
A HIP initiator may not be aware of its peer's HI, and/or its HIT | A HIP initiator may not be aware of its peer's HI, and/or its HIT | |||
(e.g. because the DNS does not contains HIP material, or the resolver | (e.g. because the DNS does not contains HIP material, or the resolver | |||
isn't HIP-enabled), and attempt an opportunistic HIP exchange towards | isn't HIP-enabled), and attempt an opportunistic HIP exchange towards | |||
its known IP address, filling the responder HIT field with zeros in | its known IP address, filling the responder HIT field with zeros in | |||
the I1 header. Such an initiator is vulnerable to a MitM attack | the I1 header. Such an initiator is vulnerable to a MitM attack | |||
because it can't validate the HI and HIT contained in a replied R1. | because it can't validate the HI and HIT contained in a replied R1. | |||
Hence, an implementation MAY choose not to use opportunistic mode. | Hence, an implementation MAY choose not to use opportunistic mode. | |||
8.4 Unpublished Initiator HI | 8.4. Unpublished Initiator HI | |||
A HIP initiator may choose to use an unpublished HI, which is not | A HIP initiator may choose to use an unpublished HI, which is not | |||
stored in the DNS by means of a HIPHI RR. A responder associating | stored in the DNS by means of a HIPHI RR. A responder associating | |||
with such an initiator knowingly risks a MitM attack because it | with such an initiator knowingly risks a MitM attack because it | |||
cannot validate the initiator's HI. Hence, an implementation MAY | cannot validate the initiator's HI. Hence, an implementation MAY | |||
choose not to use unpublished mode. | choose not to use unpublished mode. | |||
8.5 Hash and HITs Collisions | 8.5. Hash and HITs Collisions | |||
As many cryptographic algorithm, some secure hashes (e.g. SHA1, used | As many cryptographic algorithm, some secure hashes (e.g. SHA1, used | |||
by HIP to generate a HIT from an HI) eventually become insecure, | by HIP to generate a HIT from an HI) eventually become insecure, | |||
because an exploit has been found in which an attacker with a | because an exploit has been found in which an attacker with a | |||
reasonable computation power breaks one of the security features of | reasonable computation power breaks one of the security features of | |||
the hash (e.g. its supposed collision resistance). This is why a HIP | the hash (e.g. its supposed collision resistance). This is why a HIP | |||
end-node implementation SHOULD NOT authenticate its HIP peers based | end-node implementation SHOULD NOT authenticate its HIP peers based | |||
solely on a HIT retrieved from DNS, but SHOULD rather use HI-based | solely on a HIT retrieved from DNS, but SHOULD rather use HI-based | |||
authentication. | authentication. | |||
8.6 DNSSEC | 8.6. DNSSEC | |||
In the absence of DNSSEC, the HIPHI and HIPRVS RRs are subject to the | In the absence of DNSSEC, the HIPHI and HIPRVS RRs are subject to the | |||
threats described in RFC 3833 [17]. | threats described in RFC 3833 [RFC3833]. | |||
9. IANA Considerations | 9. IANA Considerations | |||
IANA needs to allocate two new RR type code for HIPHI and HIPRVS from | IANA needs to allocate two new RR type code for HIPHI and HIPRVS from | |||
the standard RR type space. | the standard RR type space. | |||
IANA needs to open a new registry for the HIPHI RR HIT type. Defined | ||||
types are: | ||||
0 No HIT is present | ||||
1 A Type 1 HIT is present | ||||
2 A Type 2 HIT is present | ||||
3-6 Unassigned | ||||
7 A HAA is present | ||||
Adding new reservations requires IETF consensus RFC2434 [16]. | ||||
IANA needs to open a new registry for the HIPHI RR HIT algorithm. | ||||
Defined types are: | ||||
0 Reserved | ||||
1 SHA1 | ||||
2-255 Unassigned | ||||
Adding new reservations requires IETF consensus RFC2434 [16]. | ||||
IANA does not need to open a new registry for the HIPHI RR type for | IANA does not need to open a new registry for the HIPHI RR type for | |||
public key algorithms because the HIPHI RR reuse 'algorithms types' | public key algorithms because the HIPHI RR reuse 'algorithms types' | |||
defined for the IPSECKEY RR [10]. The presently defined numbers are | defined for the IPSECKEY RR [RFC4025]. The presently defined numbers | |||
given here only informally: | are given here only informally: | |||
0 is reserved | 0 is reserved | |||
1 is RSA | 1 is RSA | |||
2 is DSA | 2 is DSA | |||
IANA does not need to open a new registry for the HIPRVS RR | IANA does not need to open a new registry for the HIPRVS RR | |||
Rendezvous server type because the HIPHI RR reuse the 'gateway types' | rendezvous server type because the HIPHI RR reuse the 'gateway types' | |||
defined for the IPSECKEY RR [10]. The presently defined numbers are | defined for the IPSECKEY RR [RFC4025]. The presently defined numbers | |||
given here only informally: | are given here only informally: | |||
0 is reserved | 0 is reserved | |||
1 is IPv4 | 1 is IPv4 | |||
2 is IPv6 | 2 is IPv6 | |||
3 is a wire-encoded uncompressed domain name | 3 is a wire-encoded uncompressed domain name | |||
10. Acknowledgments | 10. 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 thanks the author | between many people. The authors would like to thanks the author | |||
(Michael Richardson), contributors and reviewers of the IPSECKEY RR | (Michael Richardson), contributors and reviewers of the IPSECKEY RR | |||
[10] specification, which this document was framed after. The | [RFC4025] specification, which this document was framed after. The | |||
authors would also like to thanks the following people, who have | authors would also like to thanks 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 improving this document: Rob Austein, Hannu Flinck, Tom | have helped improving this document: Rob Austein, Hannu Flinck, Tom | |||
Henderson, Olaf Kolkman, Miika Komu, Andrew McGregor, Erik Nordmark, | Henderson, Olaf Kolkman, Miika Komu, Andrew McGregor, Erik Nordmark, | |||
and Gabriel Montenegro. Some parts of this draft stem from [11]. | and Gabriel Montenegro. Some parts of this draft stem from | |||
[I-D.ietf-hip-base]. | ||||
Julien Laganier is partly funded by Ambient Networks, a research | Julien Laganier is partly funded by Ambient Networks, a research | |||
project supported by the European Commission under its Sixth | project supported by the European Commission under its Sixth | |||
Framework Program. The views and conclusions contained herein are | Framework Program. The views and conclusions contained herein are | |||
those of the authors and should not be interpreted as necessarily | those of the authors and should not be interpreted as necessarily | |||
representing the official policies or endorsements, either expressed | representing the official policies or endorsements, either expressed | |||
or implied, of the Ambient Networks project or the European | or implied, of the Ambient Networks project or the European | |||
Commission. | Commission. | |||
11. References | 11. References | |||
11.1 Normative references | 11.1. Normative references | |||
[1] Mockapetris, P., "Domain names - concepts and facilities", | [RFC1034] Mockapetris, P., "Domain names - concepts and facilities", | |||
STD 13, RFC 1034, November 1987. | STD 13, RFC 1034, November 1987. | |||
[2] Mockapetris, P., "Domain names - implementation and | [RFC1035] Mockapetris, P., "Domain names - implementation and | |||
specification", STD 13, RFC 1035, November 1987. | specification", STD 13, RFC 1035, November 1987. | |||
[3] Eastlake, D. and C. Kaufman, "Domain Name System Security | [RFC2065] Eastlake, D. and C. Kaufman, "Domain Name System Security | |||
Extensions", RFC 2065, January 1997. | Extensions", RFC 2065, January 1997. | |||
[4] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[5] Eastlake, D., "DSA KEYs and SIGs in the Domain Name System | [RFC2536] Eastlake, D., "DSA KEYs and SIGs in the Domain Name System | |||
(DNS)", RFC 2536, March 1999. | (DNS)", RFC 2536, March 1999. | |||
[6] Eastlake, D., "RSA/SHA-1 SIGs and RSA KEYs in the Domain Name | [RFC3110] Eastlake, D., "RSA/SHA-1 SIGs and RSA KEYs in the Domain | |||
System (DNS)", RFC 3110, May 2001. | Name System (DNS)", RFC 3110, May 2001. | |||
[7] Bush, R., Durand, A., Fink, B., Gudmundsson, O., and T. Hain, | ||||
"Representing Internet Protocol version 6 (IPv6) Addresses in | ||||
the Domain Name System (DNS)", RFC 3363, August 2002. | ||||
[8] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", | [RFC3363] Bush, R., Durand, A., Fink, B., Gudmundsson, O., and T. | |||
RFC 3548, July 2003. | Hain, "Representing Internet Protocol version 6 (IPv6) | |||
Addresses in the Domain Name System (DNS)", RFC 3363, | ||||
August 2002. | ||||
[9] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, "DNS | [RFC3548] Josefsson, S., "The Base16, Base32, and Base64 Data | |||
Extensions to Support IP Version 6", RFC 3596, October 2003. | Encodings", RFC 3548, July 2003. | |||
[10] Richardson, M., "A Method for Storing IPsec Keying Material in | [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, | |||
DNS", RFC 4025, March 2005. | "DNS Extensions to Support IP Version 6", RFC 3596, | |||
October 2003. | ||||
[11] Moskowitz, R., "Host Identity Protocol", draft-ietf-hip-base-03 | [RFC4025] Richardson, M., "A Method for Storing IPsec Keying | |||
(work in progress), June 2005. | Material in DNS", RFC 4025, March 2005. | |||
[12] Moskowitz, R., "Host Identity Protocol Architecture", | [I-D.ietf-hip-base] | |||
draft-ietf-hip-arch-02 (work in progress), January 2005. | Moskowitz, R., "Host Identity Protocol", | |||
draft-ietf-hip-base-03 (work in progress), June 2005. | ||||
[13] Nikander, P., "End-Host Mobility and Multi-Homing with Host | [I-D.ietf-hip-rvs] | |||
Identity Protocol", draft-ietf-hip-mm-01 (work in progress), | Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) | |||
February 2005. | Rendezvous Extension", draft-ietf-hip-rvs-04 (work in | |||
progress), October 2005. | ||||
[14] Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) | 11.2. Informative references | |||
Rendezvous Extension", draft-ietf-hip-rvs-02 (work in | ||||
progress), June 2005. | ||||
11.2 Informative references | [I-D.ietf-hip-arch] | |||
Moskowitz, R. and P. Nikander, "Host Identity Protocol | ||||
Architecture", draft-ietf-hip-arch-03 (work in progress), | ||||
August 2005. | ||||
[15] Jokela, P., "Using ESP transport format with HIP", | [I-D.ietf-hip-mm] | |||
draft-jokela-hip-esp-00 (work in progress), February 2005. | Nikander, P., "End-Host Mobility and Multihoming with the | |||
Host Identity Protocol", draft-ietf-hip-mm-02 (work in | ||||
progress), July 2005. | ||||
[16] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA | [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an | |||
Considerations Section in RFCs", BCP 26, RFC 2434, | IANA Considerations Section in RFCs", BCP 26, RFC 2434, | |||
October 1998. | October 1998. | |||
[17] Atkins, D. and R. Austein, "Threat Analysis of the Domain Name | [RFC3833] Atkins, D. and R. Austein, "Threat Analysis of the Domain | |||
System (DNS)", RFC 3833, August 2004. | Name System (DNS)", RFC 3833, August 2004. | |||
Authors' Addresses | Authors' Addresses | |||
Pekka Nikander | Pekka Nikander | |||
Ericsson Research Nomadic Lab | Ericsson Research Nomadic Lab | |||
JORVAS FIN-02420 | JORVAS FIN-02420 | |||
FINLAND | FINLAND | |||
Phone: +358 9 299 1 | Phone: +358 9 299 1 | |||
Email: pekka.nikander@nomadiclab.com | Email: pekka.nikander@nomadiclab.com | |||
End of changes. 119 change blocks. | ||||
379 lines changed or deleted | 279 lines changed or added | |||
This html diff was produced by rfcdiff 1.27, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |