7 Network Working Group D. Blacka
8 Request for Comments: 4955 VeriSign, Inc.
9 Category: Standards Track July 2007
12 DNS Security (DNSSEC) Experiments
16 This document specifies an Internet standards track protocol for the
17 Internet community, and requests discussion and suggestions for
18 improvements. Please refer to the current edition of the "Internet
19 Official Protocol Standards" (STD 1) for the standardization state
20 and status of this protocol. Distribution of this memo is unlimited.
24 Copyright (C) The IETF Trust (2007).
28 This document describes a methodology for deploying alternate, non-
29 backwards-compatible, DNS Security (DNSSEC) methodologies in an
30 experimental fashion without disrupting the deployment of standard
35 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
36 2. Definitions and Terminology . . . . . . . . . . . . . . . . . . 2
37 3. Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 2
38 4. Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
39 5. Defining an Experiment . . . . . . . . . . . . . . . . . . . . 4
40 6. Considerations . . . . . . . . . . . . . . . . . . . . . . . . 5
41 7. Use in Non-Experiments . . . . . . . . . . . . . . . . . . . . 5
42 8. Security Considerations . . . . . . . . . . . . . . . . . . . . 5
43 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
44 9.1. Normative References . . . . . . . . . . . . . . . . . . . 6
45 9.2. Informative References . . . . . . . . . . . . . . . . . . 6
58 Blacka Standards Track [Page 1]
60 RFC 4955 DNS Security (DNSSEC) Experiments July 2007
65 Historically, experimentation with DNSSEC alternatives has been a
66 problematic endeavor. There has typically been a desire to both
67 introduce non-backwards-compatible changes to DNSSEC and to try these
68 changes on real zones in the public DNS. This creates a problem when
69 the change to DNSSEC would make all or part of the zone using those
70 changes appear bogus (bad) or otherwise broken to existing security-
73 This document describes a standard methodology for setting up DNSSEC
74 experiments. This methodology addresses the issue of coexistence
75 with standard DNSSEC and DNS by using unknown algorithm identifiers
76 to hide the experimental DNSSEC protocol modifications from standard
77 security-aware resolvers.
79 2. Definitions and Terminology
81 Throughout this document, familiarity with the DNS system (RFC 1035
82 [5]) and the DNS security extensions (RFC 4033 [2], RFC 4034 [3], and
83 RFC 4035 [4]) is assumed.
85 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
86 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
87 document are to be interpreted as described in RFC 2119 [1].
91 When discussing DNSSEC experiments, it is necessary to classify these
92 experiments into two broad categories:
94 Backwards-Compatible: describes experimental changes that, while not
95 strictly adhering to the DNSSEC standard, are nonetheless
96 interoperable with clients and servers that do implement the
99 Non-Backwards-Compatible: describes experiments that would cause a
100 standard security-aware resolver to (incorrectly) determine that
101 all or part of a zone is bogus, or to otherwise not interoperate
102 with standard DNSSEC clients and servers.
104 Not included in these terms are experiments with the core DNS
107 The methodology described in this document is not necessary for
108 backwards-compatible experiments, although it certainly may be used
114 Blacka Standards Track [Page 2]
116 RFC 4955 DNS Security (DNSSEC) Experiments July 2007
121 The core of the methodology is the use of strictly unknown algorithm
122 identifiers when signing the experimental zone, and more importantly,
123 having only unknown algorithm identifiers in the DS records for the
124 delegation to the zone at the parent.
126 This technique works because of the way DNSSEC-compliant validators
127 are expected to work in the presence of a DS set with only unknown
128 algorithm identifiers. From RFC 4035 [4], Section 5.2:
130 If the validator does not support any of the algorithms listed in
131 an authenticated DS RRset, then the resolver has no supported
132 authentication path leading from the parent to the child. The
133 resolver should treat this case as it would the case of an
134 authenticated NSEC RRset proving that no DS RRset exists, as
139 If the resolver does not support any of the algorithms listed in
140 an authenticated DS RRset, then the resolver will not be able to
141 verify the authentication path to the child zone. In this case,
142 the resolver SHOULD treat the child zone as if it were unsigned.
144 Although this behavior isn't strictly mandatory (as marked by MUST),
145 it is unlikely for a validator to implement a substantially different
146 behavior. Essentially, if the validator does not have a usable chain
147 of trust to a child zone, then it can only do one of two things:
148 treat responses from the zone as insecure (the recommended behavior),
149 or treat the responses as bogus. If the validator chooses the
150 latter, this will both violate the expectation of the zone owner and
151 defeat the purpose of the above rule. However, with local policy, it
152 is within the right of a validator to refuse to trust certain zones
153 based on any criteria, including the use of unknown signing
156 Because we are talking about experiments, it is RECOMMENDED that
157 private algorithm numbers be used (see RFC 4034 [3], Appendix A.1.1.
158 Note that secure handling of private algorithms requires special
159 handing by the validator logic. See "Clarifications and
160 Implementation Notes for DNSSECbis" [6] for further details.)
161 Normally, instead of actually inventing new signing algorithms, the
162 recommended path is to create alternate algorithm identifiers that
163 are aliases for the existing, known algorithms. While, strictly
164 speaking, it is only necessary to create an alternate identifier for
165 the mandatory algorithms, it is suggested that all optional defined
166 algorithms be aliased as well.
170 Blacka Standards Track [Page 3]
172 RFC 4955 DNS Security (DNSSEC) Experiments July 2007
175 It is RECOMMENDED that for a particular DNSSEC experiment, a
176 particular domain name base is chosen for all new algorithms, then
177 the algorithm number (or name) is prepended to it. For example, for
178 experiment A, the base name of "dnssec-experiment-a.example.com" is
179 chosen. Then, aliases for algorithms 3 (DSA) and 5 (RSASHA1) are
180 defined to be "3.dnssec-experiment-a.example.com" and
181 "5.dnssec-experiment-a.example.com". However, any unique identifier
184 Using this method, resolvers (or, more specifically, DNSSEC
185 validators) essentially indicate their ability to understand the
186 DNSSEC experiment's semantics by understanding what the new algorithm
189 This method creates two classes of security-aware servers and
190 resolvers: servers and resolvers that are aware of the experiment
191 (and thus recognize the experiment's algorithm identifiers and
192 experimental semantics), and servers and resolvers that are unaware
195 This method also precludes any zone from being both in an experiment
196 and in a classic DNSSEC island of security. That is, a zone is
197 either in an experiment and only possible to validate experimentally,
200 5. Defining an Experiment
202 The DNSSEC experiment MUST define the particular set of (previously
203 unknown) algorithm identifiers that identify the experiment and
204 define what each unknown algorithm identifier means. Typically,
205 unless the experiment is actually experimenting with a new DNSSEC
206 algorithm, this will be a mapping of private algorithm identifiers to
207 existing, known algorithms.
209 Normally the experiment will choose a DNS name as the algorithm
210 identifier base. This DNS name SHOULD be under the control of the
211 authors of the experiment. Then the experiment will define a mapping
212 between known mandatory and optional algorithms into this private
213 algorithm identifier space. Alternately, the experiment MAY use the
214 Object Identifier (OID) private algorithm space instead (using
215 algorithm number 254), or MAY choose non-private algorithm numbers,
216 although this would require an IANA allocation.
218 For example, an experiment might specify in its description the DNS
219 name "dnssec-experiment-a.example.com" as the base name, and declare
220 that "3.dnssec-experiment-a.example.com" is an alias of DNSSEC
221 algorithm 3 (DSA), and that "5.dnssec-experiment-a.example.com" is an
222 alias of DNSSEC algorithm 5 (RSASHA1).
226 Blacka Standards Track [Page 4]
228 RFC 4955 DNS Security (DNSSEC) Experiments July 2007
231 Resolvers MUST only recognize the experiment's semantics when present
232 in a zone signed by one or more of these algorithm identifiers. This
233 is necessary to isolate the semantics of one experiment from any
234 others that the resolver might understand.
236 In general, resolvers involved in the experiment are expected to
237 understand both standard DNSSEC and the defined experimental DNSSEC
238 protocol, although this isn't required.
242 There are a number of considerations with using this methodology.
244 1. If an unaware validator does not correctly follow the rules laid
245 out in RFC 4035 (e.g., the validator interprets a DNSSEC record
246 prior to validating it), or if the experiment is broader in scope
247 that just modifying the DNSSEC semantics, the experiment may not
248 be sufficiently masked by this technique. This may cause
249 unintended resolution failures.
251 2. It will not be possible for security-aware resolvers unaware of
252 the experiment to build a chain of trust through an experimental
255 7. Use in Non-Experiments
257 This general methodology MAY be used for non-backwards compatible
258 DNSSEC protocol changes that start out as or become standards. In
261 o The protocol change SHOULD use public IANA allocated algorithm
262 identifiers instead of private algorithm identifiers. This will
263 help identify the protocol change as a standard, rather than an
266 o Resolvers MAY recognize the protocol change in zones not signed
267 (or not solely signed) using the new algorithm identifiers.
269 8. Security Considerations
271 Zones using this methodology will be considered insecure by all
272 resolvers except those aware of the experiment. It is not generally
273 possible to create a secure delegation from an experimental zone that
274 will be followed by resolvers unaware of the experiment.
276 Implementers should take into account any security issues that may
277 result from environments being configured to trust both experimental
278 and non-experimental zones. If the experimental zone is more
282 Blacka Standards Track [Page 5]
284 RFC 4955 DNS Security (DNSSEC) Experiments July 2007
287 vulnerable to attacks, it could, for example, be used to promote
288 trust in zones not part of the experiment, possibly under the control
293 9.1. Normative References
295 [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement
296 Levels", BCP 14, RFC 2119, March 1997.
298 [2] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,
299 "DNS Security Introduction and Requirements", RFC 4033,
302 [3] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,
303 "Resource Records for the DNS Security Extensions", RFC 4034,
306 [4] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,
307 "Protocol Modifications for the DNS Security Extensions",
308 RFC 4035, March 2005.
310 9.2. Informative References
312 [5] Mockapetris, P., "Domain names - implementation and
313 specification", STD 13, RFC 1035, November 1987.
315 [6] Weiler, S. and R. Austein, "Clarifications and Implementation
316 Notes for DNSSECbis", Work in Progress, March 2007.
322 21355 Ridgetop Circle
326 Phone: +1 703 948 3200
327 EMail: davidb@verisign.com
328 URI: http://www.verisignlabs.com
338 Blacka Standards Track [Page 6]
340 RFC 4955 DNS Security (DNSSEC) Experiments July 2007
343 Full Copyright Statement
345 Copyright (C) The IETF Trust (2007).
347 This document is subject to the rights, licenses and restrictions
348 contained in BCP 78, and except as set forth therein, the authors
349 retain all their rights.
351 This document and the information contained herein are provided on an
352 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
353 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
354 THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
355 OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
356 THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
357 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
359 Intellectual Property
361 The IETF takes no position regarding the validity or scope of any
362 Intellectual Property Rights or other rights that might be claimed to
363 pertain to the implementation or use of the technology described in
364 this document or the extent to which any license under such rights
365 might or might not be available; nor does it represent that it has
366 made any independent effort to identify any such rights. Information
367 on the procedures with respect to rights in RFC documents can be
368 found in BCP 78 and BCP 79.
370 Copies of IPR disclosures made to the IETF Secretariat and any
371 assurances of licenses to be made available, or the result of an
372 attempt made to obtain a general license or permission for the use of
373 such proprietary rights by implementers or users of this
374 specification can be obtained from the IETF on-line IPR repository at
375 http://www.ietf.org/ipr.
377 The IETF invites any interested party to bring to its attention any
378 copyrights, patents or patent applications, or other proprietary
379 rights that may cover technology that may be required to implement
380 this standard. Please address the information to the IETF at
385 Funding for the RFC Editor function is currently provided by the
394 Blacka Standards Track [Page 7]