| < draft-ietf-hip-rfc5205-bis-07.txt | draft-ietf-hip-rfc5205-bis-10.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) June 10, 2015 | Obsoletes: 5205 (if approved) August 4, 2016 | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: December 12, 2015 | Expires: February 5, 2017 | |||
| Host Identity Protocol (HIP) Domain Name System (DNS) Extension | Host Identity Protocol (HIP) Domain Name System (DNS) Extension | |||
| draft-ietf-hip-rfc5205-bis-07 | draft-ietf-hip-rfc5205-bis-10 | |||
| Abstract | Abstract | |||
| This document specifies a new resource record (RR) for the Domain | This document specifies a resource record (RR) for the Domain Name | |||
| Name System (DNS), and how to use it with the Host Identity Protocol | 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. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 December 12, 2015. | This Internet-Draft will expire on February 5, 2017. | |||
| 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 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | |||
| 8.1. Attacker Tampering with an Insecure HIP RR . . . . . . . 13 | 8.1. Attacker Tampering with an Insecure HIP RR . . . . . . . 13 | |||
| 8.2. Hash and HITs Collisions . . . . . . . . . . . . . . . . 13 | 8.2. Hash and HITs Collisions . . . . . . . . . . . . . . . . 14 | |||
| 8.3. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 8.3. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 14 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 12.1. Normative references . . . . . . . . . . . . . . . . . . 14 | 12.1. Normative references . . . . . . . . . . . . . . . . . . 15 | |||
| 12.2. Informative references . . . . . . . . . . . . . . . . . 15 | 12.2. Informative references . . . . . . . . . . . . . . . . . 16 | |||
| Appendix A. Changes from RFC 5205 . . . . . . . . . . . . . . . 17 | Appendix A. Changes from RFC 5205 . . . . . . . . . . . . . . . 18 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 1. Introduction | 1. Introduction | |||
| This document specifies a new resource record (RR) for the Domain | This document specifies a resource record (RR) for the Domain Name | |||
| Name System (DNS) [RFC1034], and how to use it with the Host Identity | System (DNS) [RFC1034], and how to use it with the Host Identity | |||
| Protocol (HIP) [I-D.ietf-hip-rfc5201-bis]. This RR allows a HIP node | Protocol (HIP) [RFC7401]. This RR allows a HIP node to store in the | |||
| to store in the DNS its Host Identity (HI, the public component of | DNS its Host Identity (HI, the public component of the node public- | |||
| the node public-private key pair), Host Identity Tag (HIT, a | private key pair), Host Identity Tag (HIT, a truncated hash of its | |||
| truncated hash of its HI), and the Domain Names of its rendezvous | HI), and the Domain Names of its rendezvous servers (RVSs) | |||
| 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 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 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]. | |||
| 3. Usage Scenarios | 3. Usage Scenarios | |||
| 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 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 8, line 6 ¶ | skipping to change at page 8, line 14 ¶ | |||
| 4. Overview of Using the DNS with HIP | 4. Overview of Using the DNS with HIP | |||
| 4.1. Storing HI, HIT, and RVS in the DNS | 4.1. Storing HI, HIT, and RVS in the DNS | |||
| For any HIP node, its Host Identity (HI), the associated Host | For any HIP node, its Host Identity (HI), the associated Host | |||
| Identity Tag (HIT), and the FQDN of its possible RVSs can be stored | Identity Tag (HIT), and the FQDN of its possible RVSs can be stored | |||
| in a DNS HIP RR. Any conforming implementation may store a Host | in a DNS HIP RR. Any conforming implementation may store a Host | |||
| Identity (HI) and its associated Host Identity Tag (HIT) in a DNS HIP | Identity (HI) and its associated Host Identity Tag (HIT) in a DNS HIP | |||
| RDATA format. HI and HIT are defined in Section 3 of the HIP | RDATA format. HI and HIT are defined in Section 3 of the HIP | |||
| specification [I-D.ietf-hip-rfc5201-bis]. | specification [RFC7401]. | |||
| Upon return of a HIP RR, a host MUST always calculate the HI- | Upon return of a HIP RR, a host MUST always calculate the HI- | |||
| derivative HIT to be used in the HIP exchange, as specified in | derivative HIT to be used in the HIP exchange, as specified in | |||
| Section 3 of the HIP specification [I-D.ietf-hip-rfc5201-bis], while | Section 3 of the HIP specification [RFC7401], while the HIT possibly | |||
| the HIT possibly embedded along SHOULD only be used as an | embedded along SHOULD only be used as an optimization (e.g., table | |||
| optimization (e.g., table lookup). | lookup). | |||
| The HIP resource record may also contain one or more domain name(s) | The HIP resource record may also contain one or more domain name(s) | |||
| of rendezvous server(s) towards which HIP I1 packets might be sent to | of rendezvous server(s) towards which HIP I1 packets might be sent to | |||
| trigger the establishment of an association with the entity named by | trigger the establishment of an association with the entity named by | |||
| this resource record [I-D.ietf-hip-rfc5204-bis]. | this resource record [I-D.ietf-hip-rfc5204-bis]. | |||
| The rendezvous server field of the HIP resource record stored at a | The rendezvous server field of the HIP resource record stored at a | |||
| given owner name MAY include the owner name itself. A semantically | given owner name MAY include the owner name itself. A semantically | |||
| equivalent situation occurs if no rendezvous server is present in the | equivalent situation occurs if no rendezvous server is present in the | |||
| HIP resource record stored at that owner name. Such situations occur | HIP resource record stored at that owner name. Such situations occur | |||
| skipping to change at page 8, line 49 ¶ | skipping to change at page 9, line 8 ¶ | |||
| 4.2. Initiating Connections Based on DNS Names | 4.2. 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 a ULP attempts to communicate with an entity and the DNS | whenever a ULP attempts to communicate with an entity and the DNS | |||
| lookup returns HIP resource records. | lookup returns HIP resource records. | |||
| The HIP resource records have a Time To Live (TTL) associated with | The HIP resource records have a Time To Live (TTL) associated with | |||
| them. When the number of seconds that passed since the record was | them. When the number of seconds that passed since the record was | |||
| retrieved exceeds the record's TTL, the record MUST be considered to | retrieved exceeds the record's TTL, the record MUST be considered to | |||
| be no longer valid and deleted by the entiry 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 10, line 48 ¶ | skipping to change at page 10, line 48 ¶ | |||
| In addition, this document similarly defines the public key format of | In addition, this document similarly defines the public key format of | |||
| type ECDSA as the algorithm-specific portion of the DNSKEY RR RDATA | type ECDSA as the algorithm-specific portion of the DNSKEY RR RDATA | |||
| for ECDSA [RFC6605], i.e, all of the DNSKEY RR DATA after the first | for ECDSA [RFC6605], i.e, all of the DNSKEY RR DATA after the first | |||
| four octets, corresponding to the same portion of the DNSKEY RR that | four octets, corresponding to the same portion of the DNSKEY RR that | |||
| must be specified by documents that define a DNSSEC algorithm. | must be specified by documents that define a DNSSEC algorithm. | |||
| 5.6. Rendezvous Servers Format | 5.6. Rendezvous Servers Format | |||
| The Rendezvous Servers field indicates one or more variable length | The Rendezvous Servers field indicates one or more variable length | |||
| wire-encoded domain names of rendezvous server(s), as described in | wire-encoded domain names of rendezvous server(s), concatenated, and | |||
| Section 3.3 of RFC 1035 [RFC1035]. The wire-encoded format is self- | encoded as described in Section 3.3 of RFC 1035 [RFC1035]: "<domain- | |||
| describing, so the length is implicit. The domain names MUST NOT be | name> is a domain name represented as a series of labels, and | |||
| compressed. The rendezvous server(s) are listed in order of | terminated by a label with zero length". Since the wire-encoded | |||
| preference (i.e., first rendezvous server(s) are preferred), defining | format is self-describing, the length of each domain-name is | |||
| an implicit order amongst rendezvous servers of a single RR. When | implicit: The zero length label termination serves as a separator | |||
| multiple HIP RRs are present at the same owner name, this implicit | between multiple rendezvous server domain names concatenated in the | |||
| order of rendezvous servers within an RR MUST NOT be used to infer a | Rendezvous Servers field of a same HIP RR. Since the length of the | |||
| preference order between rendezvous servers stored in different RRs. | other portion of the RR's RRDATA is known, and the overall length of | |||
| the RR's RDATA is also known (RDLENGTH), all the length information | ||||
| necessary to parse the HIP RR is available. | ||||
| The domain names MUST NOT be compressed. The rendezvous server(s) | ||||
| are listed in order of preference (i.e., first rendezvous server(s) | ||||
| are preferred), defining an implicit order amongst rendezvous servers | ||||
| of a single RR. When multiple HIP RRs are present at the same owner | ||||
| name, this implicit order of rendezvous servers within an RR MUST NOT | ||||
| be used to infer a preference order between rendezvous servers stored | ||||
| in different RRs. | ||||
| 6. HIP RR Presentation Format | 6. HIP RR Presentation Format | |||
| This section specifies the representation of the HIP RR in a zone | This section specifies the representation of the HIP RR in a zone | |||
| master file. | master file. | |||
| The HIT length field is not represented, as it is implicitly known | The HIT length field is not represented, as it is implicitly known | |||
| thanks to the HIT field representation. | thanks to the HIT field representation. | |||
| The PK algorithm field is represented as unsigned integers. | The PK algorithm field is represented as unsigned integers. | |||
| The HIT field is represented as the Base16 encoding [RFC4648] (a.k.a. | The HIT field is represented as the Base16 encoding [RFC4648] (a.k.a. | |||
| hex or hexadecimal) of the HIT. The encoding MUST NOT contain | hex or hexadecimal) of the HIT. The encoding MUST NOT contain | |||
| whitespaces to distinguish it from the public key field. | whitespaces to distinguish it from the public key field. | |||
| The Public Key field is represented as the Base64 encoding [RFC4648] | The Public Key field is represented as the Base64 encoding of the | |||
| of the public key. The encoding MUST NOT contain whitespace(s) to | public key, as defined in Section 4 of [RFC4648]. The encoding MUST | |||
| distinguish it from the Rendezvous Servers field. | NOT contain whitespace(s) to distinguish it from the Rendezvous | |||
| Servers field. | ||||
| The PK length field is not represented, as it is implicitly known | The PK length field is not represented, as it is implicitly known | |||
| thanks to the Public key field representation containing no | thanks to the Public key field representation containing no | |||
| whitespaces. | whitespaces. | |||
| The Rendezvous Servers field is represented by one or more domain | The Rendezvous Servers field is represented by one or more domain | |||
| name(s) separated by whitespace(s). | name(s) separated by whitespace(s). These whitespace(s) are only | |||
| used in the HIP RR representation format, and are not part of the HIP | ||||
| RR wire format. | ||||
| The complete representation of the HPIHI record is: | The complete representation of the HIP record is: | |||
| IN HIP ( pk-algorithm | IN HIP ( pk-algorithm | |||
| base16-encoded-hit | base16-encoded-hit | |||
| base64-encoded-public-key | base64-encoded-public-key | |||
| rendezvous-server[1] | rendezvous-server[1] | |||
| ... | ... | |||
| rendezvous-server[n] ) | rendezvous-server[n] ) | |||
| When no RVSs are present, the representation of the HPIHI record is: | When no RVSs are present, the representation of the HIP record is: | |||
| IN HIP ( pk-algorithm | IN HIP ( pk-algorithm | |||
| base16-encoded-hit | base16-encoded-hit | |||
| base64-encoded-public-key ) | base64-encoded-public-key ) | |||
| 7. Examples | 7. Examples | |||
| In the examples below, the public key field containing no whitespace | In the examples below, the public key field containing no whitespace | |||
| is wrapped since it does not fit in a single line of this document. | is wrapped since it does not fit in a single line of this document. | |||
| skipping to change at page 12, line 46 ¶ | skipping to change at page 13, line 14 ¶ | |||
| 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. | |||
| skipping to change at page 14, line 16 ¶ | skipping to change at page 14, line 30 ¶ | |||
| based solely on a HIT retrieved from the DNS, but SHOULD rather use | based solely on a HIT retrieved from the DNS, but SHOULD rather use | |||
| HI-based authentication. | HI-based authentication. | |||
| 8.3. DNSSEC | 8.3. DNSSEC | |||
| In the absence of DNSSEC, the HIP RR is subject to the threats | In the absence of DNSSEC, the HIP RR is subject to the threats | |||
| described in RFC 3833 [RFC3833]. | described in RFC 3833 [RFC3833]. | |||
| 9. IANA Considerations | 9. IANA Considerations | |||
| IANA is requested to replace references to [RFC5205] by references to | [RFC5205], obsoleted by this document, made the following definition | |||
| this document in the the DNS RR type code registry. | and reservation in the IANA Registry for DNS RR Types: | |||
| IANA is requested to allocate the following algorithm type in the | Value Type | |||
| IPSECKEY RR [RFC4025] registry: | ----- ---- | |||
| 55 HIP | ||||
| [IANA-TBD] is ECDSA | This document updates the IANA Registry for DNS RR Types by replacing | |||
| references to [RFC5205] by references to this document. | ||||
| As [RFC5205], this document reuses the Algorithm Types defined by | ||||
| [RFC4025] for the IPSEC KEY RR. Presently defined values are shown | ||||
| here for reference only: | ||||
| Value Description | ||||
| ----- -------------------------------------------------------- | ||||
| 1 A DSA key is present, in the format defined in [RFC2536] | ||||
| 2 A RSA key is present, in the format defined in [RFC3110] | ||||
| IANA is requested to make the following Algorithm Type reservation | ||||
| and definition in the IANA Registry for the IPSECKEY RR [RFC4025] | ||||
| Algorithm Types: | ||||
| Value Description | ||||
| -------- ----------- | ||||
| TBD-IANA An ECDSA key is present, in the format defined in [RFC6605] | ||||
| 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 | |||
| Flinck, Olafur Gudmundsson, Tom Henderson, Peter Koch, Olaf Kolkman, | Flinck, Olafur Gudmundsson, Tom Henderson, Peter Koch, Olaf Kolkman, | |||
| Miika Komu, Andrew McGregor, Erik Nordmark, and Gabriel Montenegro. | Miika Komu, Andrew McGregor, Erik Nordmark, and Gabriel Montenegro. | |||
| Some parts of this document stem from the HIP specification | Some parts of this document stem from the HIP specification | |||
| [I-D.ietf-hip-rfc5201-bis]. | [RFC7401]. Finally, thanks Sheng Jiang for performing the Internet | |||
| Area Directorate review of this document in the course of the | ||||
| publication process. | ||||
| 12. References | 12. References | |||
| 12.1. Normative references | 12.1. Normative references | |||
| [I-D.ietf-hip-rfc5201-bis] | ||||
| Moskowitz, R., Heer, T., Jokela, P., and T. Henderson, | ||||
| "Host Identity Protocol Version 2 (HIPv2)", draft-ietf- | ||||
| hip-rfc5201-bis-20 (work in progress), October 2014. | ||||
| [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-05 (work | Rendezvous Extension", draft-ietf-hip-rfc5204-bis-07 (work | |||
| in progress), December 2014. | in progress), December 2015. | |||
| [RFC1034] 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, DOI 10.17487/RFC1034, November 1987, | |||
| <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, November 1987. | specification", STD 13, RFC 1035, DOI 10.17487/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 | |||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | ||||
| <http://www.rfc-editor.org/info/rfc2119>. | ||||
| [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS | [RFC2181] Elz, R. and R. Bush, "Clarifications to the DNS | |||
| Specification", RFC 2181, July 1997. | Specification", RFC 2181, DOI 10.17487/RFC2181, July 1997, | |||
| <http://www.rfc-editor.org/info/rfc2181>. | ||||
| [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, | [RFC3596] Thomson, S., Huitema, C., Ksinant, V., and M. Souissi, | |||
| "DNS Extensions to Support IP Version 6", RFC 3596, | "DNS Extensions to Support IP Version 6", RFC 3596, | |||
| October 2003. | DOI 10.17487/RFC3596, October 2003, | |||
| <http://www.rfc-editor.org/info/rfc3596>. | ||||
| [RFC4025] Richardson, M., "A Method for Storing IPsec Keying | [RFC4025] Richardson, M., "A Method for Storing IPsec Keying | |||
| Material in DNS", RFC 4025, March 2005. | Material in DNS", RFC 4025, DOI 10.17487/RFC4025, March | |||
| 2005, <http://www.rfc-editor.org/info/rfc4025>. | ||||
| [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| Rose, "DNS Security Introduction and Requirements", RFC | Rose, "DNS Security Introduction and Requirements", | |||
| 4033, March 2005. | RFC 4033, DOI 10.17487/RFC4033, March 2005, | |||
| <http://www.rfc-editor.org/info/rfc4033>. | ||||
| [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| Rose, "Resource Records for the DNS Security Extensions", | Rose, "Resource Records for the DNS Security Extensions", | |||
| RFC 4034, March 2005. | RFC 4034, DOI 10.17487/RFC4034, March 2005, | |||
| <http://www.rfc-editor.org/info/rfc4034>. | ||||
| [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| Rose, "Protocol Modifications for the DNS Security | Rose, "Protocol Modifications for the DNS Security | |||
| Extensions", RFC 4035, March 2005. | Extensions", RFC 4035, DOI 10.17487/RFC4035, March 2005, | |||
| <http://www.rfc-editor.org/info/rfc4035>. | ||||
| [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | |||
| Encodings", RFC 4648, October 2006. | Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, | |||
| <http://www.rfc-editor.org/info/rfc4648>. | ||||
| [RFC6605] Hoffman, P. and W. Wijngaards, "Elliptic Curve Digital | [RFC6605] Hoffman, P. and W. Wijngaards, "Elliptic Curve Digital | |||
| Signature Algorithm (DSA) for DNSSEC", RFC 6605, April | Signature Algorithm (DSA) for DNSSEC", RFC 6605, | |||
| 2012. | DOI 10.17487/RFC6605, April 2012, | |||
| <http://www.rfc-editor.org/info/rfc6605>. | ||||
| [RFC7401] Moskowitz, R., Ed., Heer, T., Jokela, P., and T. | ||||
| Henderson, "Host Identity Protocol Version 2 (HIPv2)", | ||||
| RFC 7401, DOI 10.17487/RFC7401, April 2015, | ||||
| <http://www.rfc-editor.org/info/rfc7401>. | ||||
| 12.2. Informative references | 12.2. Informative references | |||
| [RFC2536] Eastlake, D., "DSA KEYs and SIGs in the Domain Name System | [RFC2536] Eastlake 3rd, D., "DSA KEYs and SIGs in the Domain Name | |||
| (DNS)", RFC 2536, March 1999. | System (DNS)", RFC 2536, DOI 10.17487/RFC2536, March 1999, | |||
| <http://www.rfc-editor.org/info/rfc2536>. | ||||
| [RFC3110] Eastlake, D., "RSA/SHA-1 SIGs and RSA KEYs in the Domain | [RFC3110] Eastlake 3rd, D., "RSA/SHA-1 SIGs and RSA KEYs in the | |||
| Name System (DNS)", RFC 3110, May 2001. | Domain Name System (DNS)", RFC 3110, DOI 10.17487/RFC3110, | |||
| May 2001, <http://www.rfc-editor.org/info/rfc3110>. | ||||
| [RFC3833] Atkins, D. and R. Austein, "Threat Analysis of the Domain | [RFC3833] Atkins, D. and R. Austein, "Threat Analysis of the Domain | |||
| Name System (DNS)", RFC 3833, August 2004. | Name System (DNS)", RFC 3833, DOI 10.17487/RFC3833, August | |||
| 2004, <http://www.rfc-editor.org/info/rfc3833>. | ||||
| [RFC4423] Moskowitz, R. and P. Nikander, "Host Identity Protocol | [RFC4423] Moskowitz, R. and P. Nikander, "Host Identity Protocol | |||
| (HIP) Architecture", RFC 4423, May 2006. | (HIP) Architecture", RFC 4423, DOI 10.17487/RFC4423, May | |||
| 2006, <http://www.rfc-editor.org/info/rfc4423>. | ||||
| [RFC5205] Nikander, P. and J. Laganier, "Host Identity Protocol | [RFC5205] Nikander, P. and J. Laganier, "Host Identity Protocol | |||
| (HIP) Domain Name System (DNS) Extensions", RFC 5205, | (HIP) Domain Name System (DNS) Extensions", RFC 5205, | |||
| April 2008. | DOI 10.17487/RFC5205, April 2008, | |||
| <http://www.rfc-editor.org/info/rfc5205>. | ||||
| [RFC5206] Henderson, T., Ed., "End-Host Mobility and Multihoming | [RFC5206] Henderson, T., Ed., "End-Host Mobility and Multihoming | |||
| with the Host Identity Protocol", RFC 5206, April 2008. | with the Host Identity Protocol", RFC 5206, April 2008. | |||
| Appendix A. Changes from RFC 5205 | Appendix A. Changes from RFC 5205 | |||
| o Updated HIP references to revised HIP specifications. | o Updated HIP references to revised HIP specifications. | |||
| o Extended DNS HIP RR to support for Host Identities based on | o Extended DNS HIP RR to support for Host Identities based on | |||
| Elliptic Curve Digital Signature Algorithm (ECDSA). | Elliptic Curve Digital Signature Algorithm (ECDSA). | |||
| o Clarified that new query must be made when the time that passed | o Clarified that new query must be made when the time that passed | |||
| since a RR was retrieved exceeds the TTL of the RR. | since a RR was retrieved exceeds the TTL of the RR. | |||
| o Added considerations related to multiple HIP RRs being associated | o Added considerations related to multiple HIP RRs being associated | |||
| with a single name. | with a single name. | |||
| o Clarified that the Base64 encoding in use is as per Section 4 of | ||||
| [RFC4648]. | ||||
| o Clarified the wire format when more than one rendezvous servers | ||||
| are defined in one RR. | ||||
| o Clarified that "whitespace" is used as the delimiter in the human- | ||||
| readable representation of the RR but is not part of the wire | ||||
| format. | ||||
| Author's Address | Author's Address | |||
| Julien Laganier | Julien Laganier | |||
| Luminate Wireless, Inc. | Luminate Wireless, Inc. | |||
| Cupertino, CA | Cupertino, CA | |||
| USA | USA | |||
| EMail: julien.ietf@gmail.com | EMail: julien.ietf@gmail.com | |||
| End of changes. 61 change blocks. | ||||
| 120 lines changed or deleted | 191 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||