| < draft-ietf-dnsext-dnssec-experiments-03.txt | draft-ietf-dnsext-dnssec-experiments-04.txt > | |||
|---|---|---|---|---|
| DNSEXT D. Blacka | DNSEXT D. Blacka | |||
| Internet-Draft VeriSign, Inc. | Internet-Draft VeriSign, Inc. | |||
| Intended status: Standards Track April 7, 2006 | Intended status: Best Current March 20, 2007 | |||
| Expires: October 9, 2006 | Practice | |||
| Expires: September 21, 2007 | ||||
| DNSSEC Experiments | DNSSEC Experiments | |||
| draft-ietf-dnsext-dnssec-experiments-03 | draft-ietf-dnsext-dnssec-experiments-04 | |||
| 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 34 ¶ | 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 October 9, 2006. | This Internet-Draft will expire on September 21, 2007. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (C) The Internet Society (2006). | Copyright (C) The IETF Trust (2007). | |||
| Abstract | Abstract | |||
| This document describes a methodology for deploying alternate, non- | This document describes a methodology for deploying alternate, non- | |||
| backwards-compatible, DNSSEC methodologies in an experimental fashion | backwards-compatible, DNSSEC methodologies in an experimental fashion | |||
| without disrupting the deployment of standard DNSSEC. | without disrupting the deployment of standard DNSSEC. | |||
| Table of Contents | Table of Contents | |||
| 1. Definitions and Terminology . . . . . . . . . . . . . . . . . 3 | 1. Definitions and Terminology . . . . . . . . . . . . . . . . . 3 | |||
| skipping to change at page 3, line 8 ¶ | skipping to change at page 3, line 8 ¶ | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 13 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 13 | 10.2. Informative References . . . . . . . . . . . . . . . . . 13 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| Intellectual Property and Copyright Statements . . . . . . . . . . 15 | Intellectual Property and Copyright Statements . . . . . . . . . . 15 | |||
| 1. Definitions and Terminology | 1. Definitions and Terminology | |||
| Throughout this document, familiarity with the DNS system (RFC 1035 | Throughout this document, familiarity with the DNS system (RFC 1035 | |||
| [5]) and the DNS security extensions ([2], [3], and [4] is assumed. | [5]) and the DNS security extensions (RFC 4033 [2], RFC 4034 [3], and | |||
| RFC 4035 [4]) is assumed. | ||||
| 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 [1]. | document are to be interpreted as described in RFC 2119 [1]. | |||
| 2. Overview | 2. Overview | |||
| Historically, experimentation with DNSSEC alternatives has been a | Historically, experimentation with DNSSEC alternatives has been a | |||
| problematic endeavor. There has typically been a desire to both | problematic endeavor. There has typically been a desire to both | |||
| introduce non-backwards-compatible changes to DNSSEC and to try these | introduce non-backwards-compatible changes to DNSSEC and to try these | |||
| changes on real zones in the public DNS. This creates a problem when | changes on real zones in the public DNS. This creates a problem when | |||
| the change to DNSSEC would make all or part of the zone using those | the change to DNSSEC would make all or part of the zone using those | |||
| changes appear bogus (bad) or otherwise broken to existing security- | changes appear bogus (bad) or otherwise broken to existing security- | |||
| skipping to change at page 6, line 14 ¶ | skipping to change at page 6, line 14 ¶ | |||
| 4. Method | 4. Method | |||
| The core of the methodology is the use of strictly unknown algorithm | The core of the methodology is the use of strictly unknown algorithm | |||
| identifiers when signing the experimental zone, and more importantly, | identifiers when signing the experimental zone, and more importantly, | |||
| having only unknown algorithm identifiers in the DS records for the | having only unknown algorithm identifiers in the DS records for the | |||
| delegation to the zone at the parent. | delegation to the zone at the parent. | |||
| This technique works because of the way DNSSEC-compliant validators | This technique works because of the way DNSSEC-compliant validators | |||
| are expected to work in the presence of a DS set with only unknown | are expected to work in the presence of a DS set with only unknown | |||
| algorithm identifiers. From [4], Section 5.2: | algorithm identifiers. From RFC 4035 [4], Section 5.2: | |||
| If the validator does not support any of the algorithms listed in | If the validator does not support any of the algorithms listed in | |||
| an authenticated DS RRset, then the resolver has no supported | an authenticated DS RRset, then the resolver has no supported | |||
| authentication path leading from the parent to the child. The | authentication path leading from the parent to the child. The | |||
| resolver should treat this case as it would the case of an | resolver should treat this case as it would the case of an | |||
| authenticated NSEC RRset proving that no DS RRset exists, as | authenticated NSEC RRset proving that no DS RRset exists, as | |||
| described above. | described above. | |||
| And further: | And further: | |||
| If the resolver does not support any of the algorithms listed in | If the resolver does not support any of the algorithms listed in | |||
| an authenticated DS RRset, then the resolver will not be able to | an authenticated DS RRset, then the resolver will not be able to | |||
| verify the authentication path to the child zone. In this case, | verify the authentication path to the child zone. In this case, | |||
| the resolver SHOULD treat the child zone as if it were unsigned. | the resolver SHOULD treat the child zone as if it were unsigned. | |||
| While this behavior isn't strictly mandatory (as marked by MUST), it | Although this behavior isn't strictly mandatory (as marked by MUST), | |||
| is likely that a validator would implement this behavior, or, more to | it is unlikely for a validator to implement a substantially different | |||
| the point, it would handle this situation in a safe way (see below | behavior. Essentially, if the validator does not have a usable chain | |||
| (Section 6).) | of trust to a child zone, then it can only do one of two things: | |||
| treat responses from the zone as insecure (the recommended behavior), | ||||
| or treat the responses as bogus. If the validator chooses the | ||||
| latter, this will both violate the expectation of the zone owner and | ||||
| defeat the purpose of the above rule. However, with local policy, it | ||||
| is within the right of a validator to refuse to trust certain zones | ||||
| based on any criteria, including the use of unknown signing | ||||
| algorithms. | ||||
| Because we are talking about experiments, it is RECOMMENDED that | Because we are talking about experiments, it is RECOMMENDED that | |||
| private algorithm numbers be used (see [3], appendix A.1.1. Note | private algorithm numbers be used (see RFC 4034 [3], appendix A.1.1. | |||
| that secure handling of private algorithms requires special handing | Note that secure handling of private algorithms requires special | |||
| by the validator logic. See [6] for further details.) Normally, | handing by the validator logic. See draft-ietf-dnssec-bis-updates | |||
| instead of actually inventing new signing algorithms, the recommended | [6] for further details.) Normally, instead of actually inventing | |||
| path is to create alternate algorithm identifiers that are aliases | new signing algorithms, the recommended path is to create alternate | |||
| for the existing, known algorithms. While, strictly speaking, it is | algorithm identifiers that are aliases for the existing, known | |||
| only necessary to create an alternate identifier for the mandatory | algorithms. While, strictly speaking, it is only necessary to create | |||
| algorithms, it is suggested that all optional defined algorithms be | an alternate identifier for the mandatory algorithms, it is suggested | |||
| aliased as well. | that all optional defined algorithms be aliased as well. | |||
| It is RECOMMENDED that for a particular DNSSEC experiment, a | It is RECOMMENDED that for a particular DNSSEC experiment, a | |||
| particular domain name base is chosen for all new algorithms, then | particular domain name base is chosen for all new algorithms, then | |||
| the algorithm number (or name) is prepended to it. For example, for | the algorithm number (or name) is prepended to it. For example, for | |||
| experiment A, the base name of "dnssec-experiment-a.example.com" is | experiment A, the base name of "dnssec-experiment-a.example.com" is | |||
| chosen. Then, aliases for algorithms 3 (DSA) and 5 (RSASHA1) are | chosen. Then, aliases for algorithms 3 (DSA) and 5 (RSASHA1) are | |||
| defined to be "3.dnssec-experiment-a.example.com" and | defined to be "3.dnssec-experiment-a.example.com" and | |||
| "5.dnssec-experiment-a.example.com". However, any unique identifier | "5.dnssec-experiment-a.example.com". However, any unique identifier | |||
| will suffice. | will suffice. | |||
| skipping to change at page 7, line 19 ¶ | skipping to change at page 7, line 27 ¶ | |||
| identifiers signify. | identifiers signify. | |||
| This method creates two classes of security-aware servers and | This method creates two classes of security-aware servers and | |||
| resolvers: servers and resolvers that are aware of the experiment | resolvers: servers and resolvers that are aware of the experiment | |||
| (and thus recognize the experiment's algorithm identifiers and | (and thus recognize the experiment's algorithm identifiers and | |||
| experimental semantics), and servers and resolvers that are unaware | experimental semantics), and servers and resolvers that are unaware | |||
| of the experiment. | of the experiment. | |||
| This method also precludes any zone from being both in an experiment | This method also precludes any zone from being both in an experiment | |||
| and in a classic DNSSEC island of security. That is, a zone is | and in a classic DNSSEC island of security. That is, a zone is | |||
| either in an experiment and only experimentally validatable, or it is | either in an experiment and only possible to validate experimentally, | |||
| not. | or it is not. | |||
| 5. Defining an Experiment | 5. Defining an Experiment | |||
| The DNSSEC experiment MUST define the particular set of (previously | The DNSSEC experiment MUST define the particular set of (previously | |||
| unknown) algorithm identifiers that identify the experiment, and | unknown) algorithm identifiers that identify the experiment, and | |||
| define what each unknown algorithm identifier means. Typically, | define what each unknown algorithm identifier means. Typically, | |||
| unless the experiment is actually experimenting with a new DNSSEC | unless the experiment is actually experimenting with a new DNSSEC | |||
| algorithm, this will be a mapping of private algorithm identifiers to | algorithm, this will be a mapping of private algorithm identifiers to | |||
| existing, known algorithms. | existing, known algorithms. | |||
| skipping to change at page 9, line 9 ¶ | skipping to change at page 9, line 9 ¶ | |||
| others that the resolver might understand. | others that the resolver might understand. | |||
| In general, resolvers involved in the experiment are expected to | In general, resolvers involved in the experiment are expected to | |||
| understand both standard DNSSEC and the defined experimental DNSSEC | understand both standard DNSSEC and the defined experimental DNSSEC | |||
| protocol, although this isn't required. | protocol, although this isn't required. | |||
| 6. Considerations | 6. Considerations | |||
| There are a number of considerations with using this methodology. | There are a number of considerations with using this methodology. | |||
| 1. Under some circumstances, it may be that the experiment will not | 1. If an unaware validator does not correctly follow the rules laid | |||
| be sufficiently masked by this technique and may cause resolution | out in RFC 4035 (e.g., the validator interprets a DNSSEC record | |||
| problem for resolvers not aware of the experiment. For instance, | prior to validating it), or if the experiment is broader in scope | |||
| the resolver may look at a non-validatable response and conclude | that just modifying the DNSSEC semantics, the experiment may not | |||
| that the response is bogus, either due to local policy or | be sufficiently masked by this technique. This may cause | |||
| implementation details. This is not expected to be a common | unintended resolution failures. | |||
| case, however. | ||||
| 2. It will not be possible for security-aware resolvers unaware of | 2. It will not be possible for security-aware resolvers unaware of | |||
| the experiment to build a chain of trust through an experimental | the experiment to build a chain of trust through an experimental | |||
| zone. | zone. | |||
| 7. Use in Non-Experiments | 7. Use in Non-Experiments | |||
| This general methodology MAY be used for non-backwards compatible | This general methodology MAY be used for non-backwards compatible | |||
| DNSSEC protocol changes that start out as or become standards. In | DNSSEC protocol changes that start out as or become standards. In | |||
| this case: | this case: | |||
| skipping to change at page 12, line 5 ¶ | skipping to change at page 11, line 12 ¶ | |||
| o Resolvers MAY recognize the protocol change in zones not signed | o Resolvers MAY recognize the protocol change in zones not signed | |||
| (or not solely signed) using the new algorithm identifiers. | (or not solely signed) using the new algorithm identifiers. | |||
| 8. Security Considerations | 8. Security Considerations | |||
| Zones using this methodology will be considered insecure by all | Zones using this methodology will be considered insecure by all | |||
| resolvers except those aware of the experiment. It is not generally | resolvers except those aware of the experiment. It is not generally | |||
| possible to create a secure delegation from an experimental zone that | possible to create a secure delegation from an experimental zone that | |||
| will be followed by resolvers unaware of the experiment. | will be followed by resolvers unaware of the experiment. | |||
| Implementers should take into account any security issues that may | ||||
| result from environments being configured to trust both experimental | ||||
| and non-experimental zones. If the experimental zone is more | ||||
| vulnerable to attacks, it could, for example, be used promote trust | ||||
| in zones not part of the experiment, possibly under the control of an | ||||
| attacker. | ||||
| 9. IANA Considerations | 9. IANA Considerations | |||
| This document has no IANA actions. | This document has no IANA actions. | |||
| 10. References | 10. References | |||
| 10.1. Normative References | 10.1. Normative References | |||
| [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement | [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement | |||
| Levels", BCP 14, RFC 2119, March 1997. | Levels", BCP 14, RFC 2119, March 1997. | |||
| skipping to change at page 15, line 7 ¶ | skipping to change at page 15, line 7 ¶ | |||
| 21355 Ridgetop Circle | 21355 Ridgetop Circle | |||
| Dulles, VA 20166 | Dulles, VA 20166 | |||
| US | US | |||
| Phone: +1 703 948 3200 | Phone: +1 703 948 3200 | |||
| Email: davidb@verisign.com | Email: davidb@verisign.com | |||
| URI: http://www.verisignlabs.com | URI: http://www.verisignlabs.com | |||
| Full Copyright Statement | Full Copyright Statement | |||
| Copyright (C) The Internet Society (2006). | Copyright (C) The IETF Trust (2007). | |||
| This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
| contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
| retain all their rights. | retain all their rights. | |||
| This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
| "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
| OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | |||
| ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | |||
| INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | |||
| INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | |||
| WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
| Intellectual Property | Intellectual Property | |||
| The IETF takes no position regarding the validity or scope of any | The IETF takes no position regarding the validity or scope of any | |||
| Intellectual Property Rights or other rights that might be claimed to | Intellectual Property Rights or other rights that might be claimed to | |||
| pertain to the implementation or use of the technology described in | pertain to the implementation or use of the technology described in | |||
| this document or the extent to which any license under such rights | this document or the extent to which any license under such rights | |||
| might or might not be available; nor does it represent that it has | might or might not be available; nor does it represent that it has | |||
| made any independent effort to identify any such rights. Information | made any independent effort to identify any such rights. Information | |||
| End of changes. 14 change blocks. | ||||
| 36 lines changed or deleted | 51 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/ | ||||