]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - contrib/bind9/doc/rfc/rfc3090.txt
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / contrib / bind9 / doc / rfc / rfc3090.txt
1
2
3
4
5
6
7 Network Working Group                                           E. Lewis
8 Request for Comments: 3090                                      NAI Labs
9 Category: Standards Track                                     March 2001
10
11
12           DNS Security Extension Clarification on Zone Status
13
14 Status of this Memo
15
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.
21
22 Copyright Notice
23
24    Copyright (C) The Internet Society (2001).  All Rights Reserved.
25
26 Abstract
27
28    The definition of a secured zone is presented, clarifying and
29    updating sections of RFC 2535.  RFC 2535 defines a zone to be secured
30    based on a per algorithm basis, e.g., a zone can be secured with RSA
31    keys, and not secured with DSA keys.  This document changes this to
32    define a zone to be secured or not secured regardless of the key
33    algorithm used (or not used).  To further simplify the determination
34    of a zone's status, "experimentally secure" status is deprecated.
35
36 1 Introduction
37
38    Whether a DNS zone is "secured" or not is a question asked in at
39    least four contexts.  A zone administrator asks the question when
40    configuring a zone to use DNSSEC.  A dynamic update server asks the
41    question when an update request arrives, which may require DNSSEC
42    processing.  A delegating zone asks the question of a child zone when
43    the parent enters data indicating the status the child.  A resolver
44    asks the question upon receipt of data belonging to the zone.
45
46 1.1 When a Zone's Status is Important
47
48    A zone administrator needs to be able to determine what steps are
49    needed to make the zone as secure as it can be.  Realizing that due
50    to the distributed nature of DNS and its administration, any single
51    zone is at the mercy of other zones when it comes to the appearance
52    of security.  This document will define what makes a zone qualify as
53    secure.
54
55
56
57
58 Lewis                       Standards Track                     [Page 1]
59 \f
60 RFC 3090         DNS Security Extension on Zone Status        March 2001
61
62
63    A name server performing dynamic updates needs to know whether a zone
64    being updated is to have signatures added to the updated data, NXT
65    records applied, and other required processing.  In this case, it is
66    conceivable that the name server is configured with the knowledge,
67    but being able to determine the status of a zone by examining the
68    data is a desirable alternative to configuration parameters.
69
70    A delegating zone is required to indicate whether a child zone is
71    secured.  The reason for this requirement lies in the way in which a
72    resolver makes its own determination about a zone (next paragraph).
73    To shorten a long story, a parent needs to know whether a child
74    should be considered secured.  This is a two part question.  Under
75    what circumstances does a parent consider a child zone to be secure,
76    and how does a parent know if the child conforms?
77
78    A resolver needs to know if a zone is secured when the resolver is
79    processing data from the zone.  Ultimately, a resolver needs to know
80    whether or not to expect a usable signature covering the data.  How
81    this determination is done is out of the scope of this document,
82    except that, in some cases, the resolver will need to contact the
83    parent of the zone to see if the parent states that the child is
84    secured.
85
86 1.2 Islands of Security
87
88    The goal of DNSSEC is to have each zone secured, from the root zone
89    and the top-level domains down the hierarchy to the leaf zones.
90    Transitioning from an unsecured DNS, as we have now, to a fully
91    secured - or "as much as will be secured" - tree will take some time.
92    During this time, DNSSEC will be applied in various locations in the
93    tree, not necessarily "top down."
94
95    For example, at a particular instant, the root zone and the "test."
96    TLD might be secured, but region1.test. might not be.  (For
97    reference, let's assume that region2.test. is secured.)  However,
98    subarea1.region1.test. may have gone through the process of becoming
99    secured, along with its delegations.  The dilemma here is that
100    subarea1 cannot get its zone keys properly signed as its parent zone,
101    region1, is not secured.
102
103    The colloquial phrase describing the collection of contiguous secured
104    zones at or below subarea1.region1.test. is an "island of security."
105    The only way in which a DNSSEC resolver will come to trust any data
106    from this island is if the resolver is pre-configured with the zone
107    key(s) for subarea1.region1.test., i.e., the root of the island of
108    security.  Other resolvers (not so configured) will recognize this
109    island as unsecured.
110
111
112
113
114 Lewis                       Standards Track                     [Page 2]
115 \f
116 RFC 3090         DNS Security Extension on Zone Status        March 2001
117
118
119    An island of security begins with one zone whose public key is pre-
120    configured in resolvers.  Within this island are subzones which are
121    also secured.  The "bottom" of the island is defined by delegations
122    to unsecured zones.  One island may also be on top of another -
123    meaning that there is at least one unsecured zone between the bottom
124    of the upper island and the root of the lower secured island.
125
126    Although both subarea1.region1.test. and region2.test. have both been
127    properly brought to a secured state by the administering staff, only
128    the latter of the two is actually "globally" secured - in the sense
129    that all DNSSEC resolvers can and will verify its data.  The former,
130    subarea1, will be seen as secured by a subset of those resolvers,
131    just those appropriately configured.  This document refers to such
132    zones as being "locally" secured.
133
134    In RFC 2535, there is a provision for "certification authorities,"
135    entities that will sign public keys for zones such as subarea1.
136    There is another document, [RFC3008], that restricts this activity.
137    Regardless of the other document, resolvers would still need proper
138    configuration to be able to use the certification authority to verify
139    the data for the subarea1 island.
140
141 1.2.1 Determining the closest security root
142
143    Given a domain, in order to determine whether it is secure or not,
144    the first step is to determine the closest security root.  The
145    closest security root is the top of an island of security whose name
146    has the most matching (in order from the root) right-most labels to
147    the given domain.
148
149    For example, given a name "sub.domain.testing.signed.exp.test.", and
150    given the secure roots "exp.test.", "testing.signed.exp.test." and
151    "not-the-same.xy.", the middle one is the closest.  The first secure
152    root shares 2 labels, the middle 4, and the last 0.
153
154    The reason why the closest is desired is to eliminate false senses of
155    insecurity because of a NULL key.  Continuing with the example, the
156    reason both "testing..." and "exp.test." are listed as secure root is
157    presumably because "signed.exp.test." is unsecured (has a NULL key).
158    If we started to descend from "exp.test." to our given domain
159    (sub...), we would encounter a NULL key and conclude that sub... was
160    unsigned.  However, if we descend from "testing..." and find keys
161    "domain...." then we can conclude that "sub..." is secured.
162
163    Note that this example assumes one-label deep zones, and assumes that
164    we do not configure overlapping islands of security.  To be clear,
165    the definition given should exclude "short.xy.test." from being a
166    closest security root for "short.xy." even though 2 labels match.
167
168
169
170 Lewis                       Standards Track                     [Page 3]
171 \f
172 RFC 3090         DNS Security Extension on Zone Status        March 2001
173
174
175    Overlapping islands of security introduce no conceptually interesting
176    ideas and do not impact the protocol in anyway.  However, protocol
177    implementers are advised to make sure their code is not thrown for a
178    loop by overlaps.  Overlaps are sure to be configuration problems as
179    islands of security grow to encompass larger regions of the name
180    space.
181
182 1.3 Parent Statement of Child Security
183
184    In 1.1 of this document, there is the comment "the parent states that
185    the child is secured."  This has caused quite a bit of confusion.
186
187    The need to have the parent "state" the status of a child is derived
188    from the following observation.  If you are looking to see if an
189    answer is secured, that it comes from an "island of security" and is
190    properly signed, you must begin at the (appropriate) root of the
191    island of security.
192
193    To find the answer you are inspecting, you may have to descend
194    through zones within the island of security.  Beginning with the
195    trusted root of the island, you descend into the next zone down.  As
196    you trust the upper zone, you need to get data from it about the next
197    zone down, otherwise there is a vulnerable point in which a zone can
198    be hijacked. When or if you reach a point of traversing from a
199    secured zone to an unsecured zone, you have left the island of
200    security and should conclude that the answer is unsecured.
201
202    However, in RFC 2535, section 2.3.4, these words seem to conflict
203    with the need to have the parent "state" something about a child:
204
205       There MUST be a zone KEY RR, signed by its superzone, for every
206       subzone if the superzone is secure.  This will normally appear in
207       the subzone and may also be included in the superzone.  But, in
208       the case of an unsecured subzone which can not or will not be
209       modified to add any security RRs, a KEY declaring the subzone to
210       be unsecured MUST appear with the superzone signature in the
211       superzone, if the superzone is secure.
212
213    The confusion here is that in RFC 2535, a secured parent states that
214    a child is secured by SAYING NOTHING ("may also be" as opposed to
215    "MUST also be").  This is counter intuitive, the fact that an absence
216    of data means something is "secured."  This notion, while acceptable
217    in a theoretic setting has met with some discomfort in an operation
218    setting.  However, the use of "silence" to state something does
219    indeed work in this case, so there hasn't been sufficient need
220    demonstrated to change the definition.
221
222
223
224
225
226 Lewis                       Standards Track                     [Page 4]
227 \f
228 RFC 3090         DNS Security Extension on Zone Status        March 2001
229
230
231 1.4 Impact on RFC 2535
232
233    This document updates sections of RFC 2535.  The definition of a
234    secured zone is an update to section 3.4 of the RFC.  Section 3.4 is
235    updated to eliminate the definition of experimental keys and
236    illustrate a way to still achieve the functionality they were
237    designed to provide.  Section 3.1.3 is updated by the specifying the
238    value of the protocol octet in a zone key.
239
240 1.5 "MUST" and other key words
241
242    The key words "MUST", "REQUIRED", "SHOULD", "RECOMMENDED", and "MAY"
243    in this document are to be interpreted as described in [RFC 2119].
244    Currently, only "MUST" is used in this document.
245
246 2 Status of a Zone
247
248    In this section, rules governing a zone's DNSSEC status are
249    presented.  There are three levels of security defined: global,
250    local, and unsecured.  A zone is globally secure when it complies
251    with the strictest set of DNSSEC processing rules.  A zone is locally
252    secured when it is configured in such a way that only resolvers that
253    are appropriately configured see the zone as secured.  All other
254    zones are unsecured.
255
256    Note: there currently is no document completely defining DNSSEC
257    verification rules.  For the purposes of this document, the strictest
258    rules are assumed to state that the verification chain of zone keys
259    parallels the delegation tree up to the root zone.  (See 2.b below.)
260    This is not intended to disallow alternate verification paths, just
261    to establish a baseline definition.
262
263    To avoid repetition in the rules below, the following terms are
264    defined.
265
266    2.a Zone signing KEY RR - A KEY RR whose flag field has the value 01
267    for name type (indicating a zone key) and either value 00 or value 01
268    for key type (indicating a key permitted to authenticate data).  (See
269    RFC 2535, section 3.1.2).  The KEY RR also has a protocol octet value
270    of DNSSEC (3) or ALL (255).
271
272    The definition updates RFC 2535's definition of a zone key.  The
273    requirement that the protocol field be either DNSSEC or ALL is a new
274    requirement (a change to section 3.1.3.)
275
276    2.b On-tree Validation - The authorization model in which only the
277    parent zone is recognized to supply a DNSSEC-meaningful signature
278    that is used by a resolver to build a chain of trust from the child's
279
280
281
282 Lewis                       Standards Track                     [Page 5]
283 \f
284 RFC 3090         DNS Security Extension on Zone Status        March 2001
285
286
287    keys to a recognized root of security.  The term "on-tree" refers to
288    following the DNS domain hierarchy (upwards) to reach a trusted key,
289    presumably the root key if no other key is available.  The term
290    "validation" refers to the digital signature by the parent to prove
291    the integrity, authentication and authorization of the child's key to
292    sign the child's zone data.
293
294    2.c Off-tree Validation - Any authorization model that permits domain
295    names other than the parent's to provide a signature over a child's
296    zone keys that will enable a resolver to trust the keys.
297
298 2.1 Globally Secured
299
300    A globally secured zone, in a nutshell, is a zone that uses only
301    mandatory to implement algorithms (RFC 2535, section 3.2) and relies
302    on a key certification chain that parallels the delegation tree (on-
303    tree validation).  Globally secured zones are defined by the
304    following rules.
305
306    2.1.a. The zone's apex MUST have a KEY RR set.  There MUST be at
307    least one zone signing KEY RR (2.a) of a mandatory to implement
308    algorithm in the set.
309
310    2.1.b. The zone's apex KEY RR set MUST be signed by a private key
311    belonging to the parent zone.  The private key's public companion
312    MUST be a zone signing KEY RR (2.a) of a mandatory to implement
313    algorithm and owned by the parent's apex.
314
315    If a zone cannot get a conforming signature from the parent zone, the
316    child zone cannot be considered globally secured.  The only exception
317    to this is the root zone, for which there is no parent zone.
318
319    2.1.c. NXT records MUST be deployed throughout the zone.  (Clarifies
320    RFC 2535, section 2.3.2.)  Note: there is some operational discomfort
321    with the current NXT record.  This requirement is open to
322    modification when two things happen.  First, an alternate mechanism
323    to the NXT is defined and second, a means by which a zone can
324    indicate that it is using an alternate method.
325
326    2.1.d. Each RR set that qualifies for zone membership MUST be signed
327    by a key that is in the apex's KEY RR set and is a zone signing KEY
328    RR (2.a) of a mandatory to implement algorithm.  (Updates 2535,
329    section 2.3.1.)
330
331    Mentioned earlier, the root zone is a special case.  The root zone
332    will be considered to be globally secured provided that if conforms
333    to the rules for locally secured, with the exception that rule 2.1.a.
334    be also met (mandatory to implement requirement).
335
336
337
338 Lewis                       Standards Track                     [Page 6]
339 \f
340 RFC 3090         DNS Security Extension on Zone Status        March 2001
341
342
343 2.2 Locally Secured
344
345    The term "locally" stems from the likely hood that the only resolvers
346    to be configured for a particular zone will be resolvers "local" to
347    an organization.
348
349    A locally secured zone is a zone that complies with rules like those
350    for a globally secured zone with the following exceptions.  The
351    signing keys may be of an algorithm that is not mandatory to
352    implement and/or the verification of the zone keys in use may rely on
353    a verification chain that is not parallel to the delegation tree
354    (off-tree validation).
355
356    2.2.a. The zone's apex MUST have a KEY RR set.  There MUST be at
357    least one zone signing KEY RR (2.a) in the set.
358
359    2.2.b. The zone's apex KEY RR set MUST be signed by a private key and
360    one of the following two subclauses MUST hold true.
361
362    2.2.b.1 The private key's public companion MUST be pre-configured in
363    all the resolvers of interest.
364
365    2.2.b.2 The private key's public companion MUST be a zone signing KEY
366    RR (2.a) authorized to provide validation of the zone's apex KEY RR
367    set, as recognized by resolvers of interest.
368
369    The previous sentence is trying to convey the notion of using a
370    trusted third party to provide validation of keys.  If the domain
371    name owning the validating key is not the parent zone, the domain
372    name must represent someone the resolver trusts to provide
373    validation.
374
375    2.2.c. NXT records MUST be deployed throughout the zone.  Note: see
376    the discussion following 2.1.c.
377
378    2.2.d. Each RR set that qualifies for zone membership MUST be signed
379    by a key that is in the apex's KEY RR set and is a zone signing KEY
380    RR (2.a).  (Updates 2535, section 2.3.1.)
381
382 2.3 Unsecured
383
384    All other zones qualify as unsecured.  This includes zones that are
385    designed to be experimentally secure, as defined in a later section
386    on that topic.
387
388
389
390
391
392
393
394 Lewis                       Standards Track                     [Page 7]
395 \f
396 RFC 3090         DNS Security Extension on Zone Status        March 2001
397
398
399 2.4 Wrap up
400
401    The designation of globally secured, locally secured, and unsecured
402    are merely labels to apply to zones, based on their contents.
403    Resolvers, when determining whether a signature is expected or not,
404    will only see a zone as secured or unsecured.
405
406    Resolvers that follow the most restrictive DNSSEC verification rules
407    will only see globally secured zones as secured, and all others as
408    unsecured, including zones which are locally secured.  Resolvers that
409    are not as restrictive, such as those that implement algorithms in
410    addition to the mandatory to implement algorithms, will see some
411    locally secured zones as secured.
412
413    The intent of the labels "global" and "local" is to identify the
414    specific attributes of a zone.  The words are chosen to assist in the
415    writing of a document recommending the actions a zone administrator
416    take in making use of the DNS security extensions.  The words are
417    explicitly not intended to convey a state of compliance with DNS
418    security standards.
419
420 3 Experimental Status
421
422    The purpose of an experimentally secured zone is to facilitate the
423    migration from an unsecured zone to a secured zone.  This distinction
424    is dropped.
425
426    The objective of facilitating the migration can be achieved without a
427    special designation of an experimentally secure status.
428    Experimentally secured is a special case of locally secured.  A zone
429    administrator can achieve this by publishing a zone with signatures
430    and configuring a set of test resolvers with the corresponding public
431    keys.  Even if the public key is published in a KEY RR, as long as
432    there is no parent signature, the resolvers will need some pre-
433    configuration to know to process the signatures.  This allows a zone
434    to be secured with in the sphere of the experiment, yet still be
435    registered as unsecured in the general Internet.
436
437 4 IANA Considerations
438
439    This document does not request any action from an assigned number
440    authority nor recommends any actions.
441
442
443
444
445
446
447
448
449
450 Lewis                       Standards Track                     [Page 8]
451 \f
452 RFC 3090         DNS Security Extension on Zone Status        March 2001
453
454
455 5 Security Considerations
456
457    Without a means to enforce compliance with specified protocols or
458    recommended actions, declaring a DNS zone to be "completely" secured
459    is impossible.  Even if, assuming an omnipotent view of DNS, one can
460    declare a zone to be properly configured for security, and all of the
461    zones up to the root too, a misbehaving resolver could be duped into
462    believing bad data.  If a zone and resolver comply, a non-compliant
463    or subverted parent could interrupt operations.  The best that can be
464    hoped for is that all parties are prepared to be judged secure and
465    that security incidents can be traced to the cause in short order.
466
467 6 Acknowledgements
468
469    The need to refine the definition of a secured zone has become
470    apparent through the efforts of the participants at two DNSSEC
471    workshops, sponsored by the NIC-SE (.se registrar), CAIRN (a DARPA-
472    funded research network), and other workshops.  Further discussions
473    leading to the document include Olafur Gudmundsson, Russ Mundy,
474    Robert Watson, and Brian Wellington.  Roy Arends, Ted Lindgreen and
475    others have contributed significant input via the namedroppers
476    mailing list.
477
478 7 References
479
480    [RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
481              STD 13, RFC 1034, November 1987.
482
483    [RFC1035] Mockapetris, P., "Domain Names - Implementation and
484              Specification", STD 13, RFC 1035, November 1987.
485
486    [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
487              Requirement Levels", BCP 14, RFC 2119, March 1997.
488
489    [RFC2136] Vixie, P., (Ed.), Thomson, S., Rekhter, Y. and J. Bound,
490              "Dynamic Updates in the Domain Name System", RFC 2136,
491              April 1997.
492
493    [RFC2535] Eastlake, D., "Domain Name System Security Extensions", RFC
494              2535, March 1999.
495
496    [RFC3007] Wellington, B., "Simple Secure Domain Name System (DNS)
497              Dynamic Update", RFC 3007, November 2000.
498
499    [RFC3008] Wellington, B., "Domain Name System Security (DNSSEC)
500              Signing Authority", RFC 3008, November 2000.
501
502
503
504
505
506 Lewis                       Standards Track                     [Page 9]
507 \f
508 RFC 3090         DNS Security Extension on Zone Status        March 2001
509
510
511 10 Author's Address
512
513    Edward Lewis
514    NAI Labs
515    3060 Washington Road Glenwood
516    MD 21738
517
518    Phone: +1 443 259 2352
519    EMail: lewis@tislabs.com
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562 Lewis                       Standards Track                    [Page 10]
563 \f
564 RFC 3090         DNS Security Extension on Zone Status        March 2001
565
566
567 11 Full Copyright Statement
568
569    Copyright (C) The Internet Society (2001).  All Rights Reserved.
570
571    This document and translations of it may be copied and furnished to
572    others, and derivative works that comment on or otherwise explain it
573    or assist in its implementation may be prepared, copied, published
574    and distributed, in whole or in part, without restriction of any
575    kind, provided that the above copyright notice and this paragraph are
576    included on all such copies and derivative works.  However, this
577    document itself may not be modified in any way, such as by removing
578    the copyright notice or references to the Internet Society or other
579    Internet organizations, except as needed for the purpose of
580    developing Internet standards in which case the procedures for
581    copyrights defined in the Internet Standards process must be
582    followed, or as required to translate it into languages other than
583    English.
584
585    The limited permissions granted above are perpetual and will not be
586    revoked by the Internet Society or its successors or assigns.
587
588    This document and the information contained herein is provided on an
589    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
590    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
591    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
592    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
593    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
594
595 Acknowledgement
596
597    Funding for the RFC Editor function is currently provided by the
598    Internet Society.
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618 Lewis                       Standards Track                    [Page 11]
619 \f