]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - contrib/bind9/doc/draft/draft-ietf-dnsop-dnssec-operational-practices-08.txt
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / contrib / bind9 / doc / draft / draft-ietf-dnsop-dnssec-operational-practices-08.txt
1
2
3
4 DNSOP                                                         O. Kolkman
5 Internet-Draft                                                 R. Gieben
6 Obsoletes: 2541 (if approved)                                 NLnet Labs
7 Expires: September 7, 2006                                 March 6, 2006
8
9
10                       DNSSEC Operational Practices
11           draft-ietf-dnsop-dnssec-operational-practices-08.txt
12
13 Status of this Memo
14
15    By submitting this Internet-Draft, each author represents that any
16    applicable patent or other IPR claims of which he or she is aware
17    have been or will be disclosed, and any of which he or she becomes
18    aware will be disclosed, in accordance with Section 6 of BCP 79.
19
20    Internet-Drafts are working documents of the Internet Engineering
21    Task Force (IETF), its areas, and its working groups.  Note that
22    other groups may also distribute working documents as Internet-
23    Drafts.
24
25    Internet-Drafts are draft documents valid for a maximum of six months
26    and may be updated, replaced, or obsoleted by other documents at any
27    time.  It is inappropriate to use Internet-Drafts as reference
28    material or to cite them other than as "work in progress."
29
30    The list of current Internet-Drafts can be accessed at
31    http://www.ietf.org/ietf/1id-abstracts.txt.
32
33    The list of Internet-Draft Shadow Directories can be accessed at
34    http://www.ietf.org/shadow.html.
35
36    This Internet-Draft will expire on September 7, 2006.
37
38 Copyright Notice
39
40    Copyright (C) The Internet Society (2006).
41
42 Abstract
43
44    This document describes a set of practices for operating the DNS with
45    security extensions (DNSSEC).  The target audience is zone
46    administrators deploying DNSSEC.
47
48    The document discusses operational aspects of using keys and
49    signatures in the DNS.  It discusses issues as key generation, key
50    storage, signature generation, key rollover and related policies.
51
52
53
54
55 Kolkman & Gieben        Expires September 7, 2006               [Page 1]
56 \f
57 Internet-Draft        DNSSEC Operational Practices            March 2006
58
59
60    This document obsoletes RFC 2541, as it covers more operational
61    ground and gives more up to date requirements with respect to key
62    sizes and the new DNSSEC specification.
63
64
65 Table of Contents
66
67    1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
68      1.1.  The Use of the Term 'key'  . . . . . . . . . . . . . . . .  4
69      1.2.  Time Definitions . . . . . . . . . . . . . . . . . . . . .  5
70    2.  Keeping the Chain of Trust Intact  . . . . . . . . . . . . . .  5
71    3.  Keys Generation and Storage  . . . . . . . . . . . . . . . . .  6
72      3.1.  Zone and Key Signing Keys  . . . . . . . . . . . . . . . .  6
73        3.1.1.  Motivations for the KSK and ZSK Separation . . . . . .  7
74        3.1.2.  KSKs for High Level Zones  . . . . . . . . . . . . . .  8
75      3.2.  Key Generation . . . . . . . . . . . . . . . . . . . . . .  8
76      3.3.  Key Effectivity Period . . . . . . . . . . . . . . . . . .  9
77      3.4.  Key Algorithm  . . . . . . . . . . . . . . . . . . . . . .  9
78      3.5.  Key Sizes  . . . . . . . . . . . . . . . . . . . . . . . . 10
79      3.6.  Private Key Storage  . . . . . . . . . . . . . . . . . . . 12
80    4.  Signature generation, Key Rollover and Related Policies  . . . 12
81      4.1.  Time in DNSSEC . . . . . . . . . . . . . . . . . . . . . . 12
82        4.1.1.  Time Considerations  . . . . . . . . . . . . . . . . . 13
83      4.2.  Key Rollovers  . . . . . . . . . . . . . . . . . . . . . . 14
84        4.2.1.  Zone Signing Key Rollovers . . . . . . . . . . . . . . 15
85        4.2.2.  Key Signing Key Rollovers  . . . . . . . . . . . . . . 19
86        4.2.3.  Difference Between ZSK and KSK Rollovers . . . . . . . 20
87        4.2.4.  Automated Key Rollovers  . . . . . . . . . . . . . . . 21
88      4.3.  Planning for Emergency Key Rollover  . . . . . . . . . . . 22
89        4.3.1.  KSK Compromise . . . . . . . . . . . . . . . . . . . . 22
90        4.3.2.  ZSK Compromise . . . . . . . . . . . . . . . . . . . . 24
91        4.3.3.  Compromises of Keys Anchored in Resolvers  . . . . . . 24
92      4.4.  Parental Policies  . . . . . . . . . . . . . . . . . . . . 24
93        4.4.1.  Initial Key Exchanges and Parental Policies
94                Considerations . . . . . . . . . . . . . . . . . . . . 24
95        4.4.2.  Storing Keys or Hashes?  . . . . . . . . . . . . . . . 25
96        4.4.3.  Security Lameness  . . . . . . . . . . . . . . . . . . 25
97        4.4.4.  DS Signature Validity Period . . . . . . . . . . . . . 26
98    5.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 26
99    6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 27
100    7.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 27
101    8.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 27
102      8.1.  Normative References . . . . . . . . . . . . . . . . . . . 27
103      8.2.  Informative References . . . . . . . . . . . . . . . . . . 28
104    Appendix A.  Terminology . . . . . . . . . . . . . . . . . . . . . 29
105    Appendix B.  Zone Signing Key Rollover Howto . . . . . . . . . . . 30
106    Appendix C.  Typographic Conventions . . . . . . . . . . . . . . . 31
107    Appendix D.  Document Details and Changes  . . . . . . . . . . . . 33
108
109
110
111 Kolkman & Gieben        Expires September 7, 2006               [Page 2]
112 \f
113 Internet-Draft        DNSSEC Operational Practices            March 2006
114
115
116      D.1.  draft-ietf-dnsop-dnssec-operational-practices-00 . . . . . 33
117      D.2.  draft-ietf-dnsop-dnssec-operational-practices-01 . . . . . 33
118      D.3.  draft-ietf-dnsop-dnssec-operational-practices-02 . . . . . 33
119      D.4.  draft-ietf-dnsop-dnssec-operational-practices-03 . . . . . 33
120      D.5.  draft-ietf-dnsop-dnssec-operational-practices-04 . . . . . 34
121      D.6.  draft-ietf-dnsop-dnssec-operational-practices-05 . . . . . 34
122      D.7.  draft-ietf-dnsop-dnssec-operational-practices-06 . . . . . 34
123      D.8.  draft-ietf-dnsop-dnssec-operational-practices-07 . . . . . 34
124      D.9.  draft-ietf-dnsop-dnssec-operational-practices-08 . . . . . 34
125    Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 35
126    Intellectual Property and Copyright Statements . . . . . . . . . . 36
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167 Kolkman & Gieben        Expires September 7, 2006               [Page 3]
168 \f
169 Internet-Draft        DNSSEC Operational Practices            March 2006
170
171
172 1.  Introduction
173
174    This document describes how to run a DNSSEC (DNS SECure) enabled
175    environment.  It is intended for operators who have knowledge of the
176    DNS (see RFC 1034 [1] and RFC 1035 [2]) and want deploy DNSSEC.  See
177    RFC 4033 [4] for an introduction into DNSSEC and RFC 4034 [5] for the
178    newly introduced Resource Records and finally RFC 4035 [6] for the
179    protocol changes.
180
181    During workshops and early operational deployment tests, operators
182    and system administrators have gained experience about operating the
183    DNS with security extensions (DNSSEC).  This document translates
184    these experiences into a set of practices for zone administrators.
185    At the time of writing, there exists very little experience with
186    DNSSEC in production environments; this document should therefore
187    explicitly not be seen as representing 'Best Current Practices'.
188
189    The procedures herein are focused on the maintenance of signed zones
190    (i.e. signing and publishing zones on authoritative servers).  It is
191    intended that maintenance of zones such as re-signing or key
192    rollovers be transparent to any verifying clients on the Internet.
193
194    The structure of this document is as follows.  In Section 2 we
195    discuss the importance of keeping the "chain of trust" intact.
196    Aspects of key generation and storage of private keys are discussed
197    in Section 3; the focus in this section is mainly on the private part
198    of the key(s).  Section 4 describes considerations concerning the
199    public part of the keys.  Since these public keys appear in the DNS
200    one has to take into account all kinds of timing issues, which are
201    discussed in Section 4.1.  Section 4.2 and Section 4.3 deal with the
202    rollover, or supercession, of keys.  Finally Section 4.4 discusses
203    considerations on how parents deal with their children's public keys
204    in order to maintain chains of trust.
205
206    The typographic conventions used in this document are explained in
207    Appendix C.
208
209    Since this is a document with operational suggestions and there are
210    no protocol specifications, the RFC 2119 [9] language does not apply.
211
212    This document obsoletes RFC 2541 [12].
213
214 1.1.  The Use of the Term 'key'
215
216    It is assumed that the reader is familiar with the concept of
217    asymmetric keys on which DNSSEC is based (Public Key Cryptography
218    [18]).  Therefore, this document will use the term 'key' rather
219    loosely.  Where it is written that 'a key is used to sign data' it is
220
221
222
223 Kolkman & Gieben        Expires September 7, 2006               [Page 4]
224 \f
225 Internet-Draft        DNSSEC Operational Practices            March 2006
226
227
228    assumed that the reader understands that it is the private part of
229    the key pair that is used for signing.  It is also assumed that the
230    reader understands that the public part of the key pair is published
231    in the DNSKEY resource record and that it is the public part that is
232    used in key exchanges.
233
234 1.2.  Time Definitions
235
236    In this document we will be using a number of time related terms.
237    The following definitions apply:
238    o  "Signature validity period"
239          The period that a signature is valid.  It starts at the time
240          specified in the signature inception field of the RRSIG RR and
241          ends at the time specified in the expiration field of the RRSIG
242          RR.
243    o  "Signature publication period"
244          Time after which a signature (made with a specific key) is
245          replaced with a new signature (made with the same key).  This
246          replacement takes place by publishing the relevant RRSIG in the
247          master zone file.
248          After one stops publishing an RRSIG in a zone it may take a
249          while before the RRSIG has expired from caches and has actually
250          been removed from the DNS.
251    o  "Key effectivity period"
252          The period during which a key pair is expected to be effective.
253          This period is defined as the time between the first inception
254          time stamp and the last expiration date of any signature made
255          with this key, regardless of any discontinuity in the use of
256          the key.
257          The key effectivity period can span multiple signature validity
258          periods.
259    o  "Maximum/Minimum Zone Time to Live (TTL)"
260          The maximum or minimum value of the TTLs from the complete set
261          of RRs in a zone.  Note that the minimum TTL is not the same as
262          the MINIMUM field in the SOA RR.  See [11] for more
263          information.
264
265
266 2.  Keeping the Chain of Trust Intact
267
268    Maintaining a valid chain of trust is important because broken chains
269    of trust will result in data being marked as Bogus (as defined in [4]
270    section 5), which may cause entire (sub)domains to become invisible
271    to verifying clients.  The administrators of secured zones have to
272    realize that their zone is, to verifying clients, part of a chain of
273    trust.
274
275    As mentioned in the introduction, the procedures herein are intended
276
277
278
279 Kolkman & Gieben        Expires September 7, 2006               [Page 5]
280 \f
281 Internet-Draft        DNSSEC Operational Practices            March 2006
282
283
284    to ensure that maintenance of zones, such as re-signing or key
285    rollovers, will be transparent to the verifying clients on the
286    Internet.
287
288    Administrators of secured zones will have to keep in mind that data
289    published on an authoritative primary server will not be immediately
290    seen by verifying clients; it may take some time for the data to be
291    transferred to other secondary authoritative nameservers and clients
292    may be fetching data from caching non-authoritative servers.  In this
293    light it is good to note that the time for a zone transfer from
294    master to slave is negligible when using NOTIFY [8] and IXFR [7],
295    increasing by reliance on AXFR, and more if you rely on the SOA
296    timing parameters for zone refresh.
297
298    For the verifying clients it is important that data from secured
299    zones can be used to build chains of trust regardless of whether the
300    data came directly from an authoritative server, a caching nameserver
301    or some middle box.  Only by carefully using the available timing
302    parameters can a zone administrator assure that the data necessary
303    for verification can be obtained.
304
305    The responsibility for maintaining the chain of trust is shared by
306    administrators of secured zones in the chain of trust.  This is most
307    obvious in the case of a 'key compromise' when a trade off between
308    maintaining a valid chain of trust and replacing the compromised keys
309    as soon as possible must be made.  Then zone administrators will have
310    to make a trade off, between keeping the chain of trust intact -
311    thereby allowing for attacks with the compromised key - or to
312    deliberately break the chain of trust and making secured sub domains
313    invisible to security aware resolvers.  Also see Section 4.3.
314
315
316 3.  Keys Generation and Storage
317
318    This section describes a number of considerations with respect to the
319    security of keys.  It deals with the generation, effectivity period,
320    size and storage of private keys.
321
322 3.1.  Zone and Key Signing Keys
323
324    The DNSSEC validation protocol does not distinguish between different
325    types of DNSKEYs.  All DNSKEYs can be used during the validation.  In
326    practice operators use Key Signing and Zone Signing Keys and use the
327    so-called (Secure Entry Point) SEP [3] flag to distinguish between
328    them during operations.  The dynamics and considerations are
329    discussed below.
330
331    To make zone re-signing and key rollover procedures easier to
332
333
334
335 Kolkman & Gieben        Expires September 7, 2006               [Page 6]
336 \f
337 Internet-Draft        DNSSEC Operational Practices            March 2006
338
339
340    implement, it is possible to use one or more keys as Key Signing Keys
341    (KSK).  These keys will only sign the apex DNSKEY RRSet in a zone.
342    Other keys can be used to sign all the RRSets in a zone and are
343    referred to as Zone Signing Keys (ZSK).  In this document we assume
344    that KSKs are the subset of keys that are used for key exchanges with
345    the parent and potentially for configuration as trusted anchors - the
346    SEP keys.  In this document we assume a one-to-one mapping between
347    KSK and SEP keys and we assume the SEP flag to be set on all KSKs.
348
349 3.1.1.  Motivations for the KSK and ZSK Separation
350
351    Differentiating between the KSK and ZSK functions has several
352    advantages:
353
354    o  No parent/child interaction is required when ZSKs are updated.
355    o  The KSK can be made stronger (i.e. using more bits in the key
356       material).  This has little operational impact since it is only
357       used to sign a small fraction of the zone data.  Also the KSK is
358       only used to verify the zone's key set, not for other RRSets in
359       the zone.
360    o  As the KSK is only used to sign a key set, which is most probably
361       updated less frequently than other data in the zone, it can be
362       stored separately from and in a safer location than the ZSK.
363    o  A KSK can have a longer key effectivity period.
364
365    For almost any method of key management and zone signing the KSK is
366    used less frequently than the ZSK.  Once a key set is signed with the
367    KSK all the keys in the key set can be used as ZSK.  If a ZSK is
368    compromised, it can be simply dropped from the key set.  The new key
369    set is then re-signed with the KSK.
370
371    Given the assumption that for KSKs the SEP flag is set, the KSK can
372    be distinguished from a ZSK by examining the flag field in the DNSKEY
373    RR.  If the flag field is an odd number it is a KSK.  If it is an
374    even number it is a ZSK.
375
376    The zone signing key can be used to sign all the data in a zone on a
377    regular basis.  When a zone signing key is to be rolled, no
378    interaction with the parent is needed.  This allows for "Signature
379    Validity Periods" on the order of days.
380
381    The key signing key is only to be used to sign the DNSKEY RRs in a
382    zone.  If a key signing key is to be rolled over, there will be
383    interactions with parties other than the zone administrator.  These
384    can include the registry of the parent zone or administrators of
385    verifying resolvers that have the particular key configured as secure
386    entry points.  Hence, the key effectivity period of these keys can
387    and should be made much longer.  Although, given a long enough key,
388
389
390
391 Kolkman & Gieben        Expires September 7, 2006               [Page 7]
392 \f
393 Internet-Draft        DNSSEC Operational Practices            March 2006
394
395
396    the Key Effectivity Period can be on the order of years we suggest
397    planning for a key effectivity of the order of a few months so that a
398    key rollover remains an operational routine.
399
400 3.1.2.  KSKs for High Level Zones
401
402    Higher level zones are generally more sensitive than lower level
403    zones.  Anyone controlling or breaking the security of a zone thereby
404    obtains authority over all of its sub domains (except in the case of
405    resolvers that have locally configured the public key of a sub
406    domain, in which case this, and only this, sub domain wouldn't be
407    affected by the compromise of the parent zone).  Therefore, extra
408    care should be taken with high level zones and strong keys should
409    used.
410
411    The root zone is the most critical of all zones.  Someone controlling
412    or compromising the security of the root zone would control the
413    entire DNS name space of all resolvers using that root zone (except
414    in the case of resolvers that have locally configured the public key
415    of a sub domain).  Therefore, the utmost care must be taken in the
416    securing of the root zone.  The strongest and most carefully handled
417    keys should be used.  The root zone private key should always be kept
418    off line.
419
420    Many resolvers will start at a root server for their access to and
421    authentication of DNS data.  Securely updating the trust anchors in
422    an enormous population of resolvers around the world will be
423    extremely difficult.
424
425 3.2.  Key Generation
426
427    Careful generation of all keys is a sometimes overlooked but
428    absolutely essential element in any cryptographically secure system.
429    The strongest algorithms used with the longest keys are still of no
430    use if an adversary can guess enough to lower the size of the likely
431    key space so that it can be exhaustively searched.  Technical
432    suggestions for the generation of random keys will be found in RFC
433    4086 [15].  One should carefully assess if the random number
434    generator used during key generation adheres to these suggestions.
435
436    Keys with a long effectivity period are particularly sensitive as
437    they will represent a more valuable target and be subject to attack
438    for a longer time than short period keys.  It is strongly recommended
439    that long term key generation occur off-line in a manner isolated
440    from the network via an air gap or, at a minimum, high level secure
441    hardware.
442
443
444
445
446
447 Kolkman & Gieben        Expires September 7, 2006               [Page 8]
448 \f
449 Internet-Draft        DNSSEC Operational Practices            March 2006
450
451
452 3.3.  Key Effectivity Period
453
454    For various reasons keys in DNSSEC need to be changed once in a
455    while.  The longer a key is in use, the greater the probability that
456    it will have been compromised through carelessness, accident,
457    espionage, or cryptanalysis.  Furthermore when key rollovers are too
458    rare an event, they will not become part of the operational habit and
459    there is risk that nobody on-site will remember the procedure for
460    rollover when the need is there.
461
462    From a purely operational perspective a reasonable key effectivity
463    period for Key Signing Keys is 13 months, with the intent to replace
464    them after 12 months.  An intended key effectivity period of a month
465    is reasonable for Zone Signing Keys.
466
467    For key sizes that matches these effectivity periods see Section 3.5.
468
469    As argued in Section 3.1.2 securely updating trust anchors will be
470    extremely difficult.  On the other hand the "operational habit"
471    argument does also apply to trust anchor reconfiguration.  If a short
472    key-effectivity period is used and the trust anchor configuration has
473    to be revisited on a regular basis the odds that the configuration
474    tends to be forgotten is smaller.  The trade-off is against a system
475    that is so dynamic that administrators of the validating clients will
476    not be able to follow the modifications.
477
478    Key effectivity periods can be made very short, as in the order of a
479    few minutes.  But when replacing keys one has to take the
480    considerations from Section 4.1 and Section 4.2 into account.
481
482 3.4.  Key Algorithm
483
484    There are currently three different types of algorithms that can be
485    used in DNSSEC: RSA, DSA and elliptic curve cryptography.  The latter
486    is fairly new and has yet to be standardized for usage in DNSSEC.
487
488    RSA has been developed in an open and transparent manner.  As the
489    patent on RSA expired in 2000, its use is now also free.
490
491    DSA has been developed by NIST.  The creation of signatures takes
492    roughly the same time as with RSA, but is 10 to 40 times as slow for
493    verification [18].
494
495    We suggest the use of RSA/SHA-1 as the preferred algorithm for the
496    key.  The current known attacks on RSA can be defeated by making your
497    key longer.  As the MD5 hashing algorithm is showing (theoretical)
498    cracks, we recommend the usage of SHA-1.
499
500
501
502
503 Kolkman & Gieben        Expires September 7, 2006               [Page 9]
504 \f
505 Internet-Draft        DNSSEC Operational Practices            March 2006
506
507
508    At the time of publication it is known that the SHA-1 hash has
509    cryptanalysis issues.  There is work in progress on addressing these
510    issues.  We recommend the use of public key algorithms based on
511    hashes stronger than SHA-1, e.g.  SHA-256, as soon as these
512    algorithms are available in protocol specifications (See [20] and
513    [21] ) and implementations.
514
515 3.5.  Key Sizes
516
517    When choosing key sizes, zone administrators will need to take into
518    account how long a key will be used, how much data will be signed
519    during the key publication period (See Section 8.10 of [18]) and,
520    optionally, how large the key size of the parent is.  As the chain of
521    trust really is "a chain", there is not much sense in making one of
522    the keys in the chain several times larger then the others.  As
523    always, it's the weakest link that defines the strength of the entire
524    chain.  Also see Section 3.1.1 for a discussion of how keys serving
525    different roles (ZSK v.  KSK) may need different key sizes.
526
527    Generating a key of the correct size is a difficult problem, RFC 3766
528    [14] tries to deal with that problem.  The first part of the
529    selection procedure in Section 1 of the RFC states:
530
531       1. Determine the attack resistance necessary to satisfy the
532          security requirements of the application.  Do this by
533          estimating the minimum number of computer operations that
534          the attacker will be forced to do in order to compromise
535          the security of the system and then take the logarithm base
536          two of that number.  Call that logarithm value "n".
537
538          A 1996 report recommended 90 bits as a good all-around choice
539          for system security.  The 90 bit number should be increased
540          by about 2/3 bit/year, or about 96 bits in 2005.
541
542    [14] goes on to explain how this number "n" can be used to calculate
543    the key sizes in public key cryptography.  This culminated in the
544    table given below (slightly modified for our purpose):
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559 Kolkman & Gieben        Expires September 7, 2006              [Page 10]
560 \f
561 Internet-Draft        DNSSEC Operational Practices            March 2006
562
563
564       +-------------+-----------+--------------+
565       | System      |           |              |
566       | requirement | Symmetric | RSA or DSA   |
567       | for attack  | key size  | modulus size |
568       | resistance  | (bits)    | (bits)       |
569       | (bits)      |           |              |
570       +-------------+-----------+--------------+
571       |     70      |     70    |      947     |
572       |     80      |     80    |     1228     |
573       |     90      |     90    |     1553     |
574       |    100      |    100    |     1926     |
575       |    150      |    150    |     4575     |
576       |    200      |    200    |     8719     |
577       |    250      |    250    |    14596     |
578       +-------------+-----------+--------------+
579
580    The key sizes given are rather large.  This is because these keys are
581    resilient against a trillionaire attacker.  Assuming this rich
582    attacker will not attack your key and that the key is rolled over
583    once a year, we come to the following recommendations about KSK
584    sizes; 1024 bits low value domains, 1300 for medium value and 2048
585    for the high value domains.
586
587    Whether a domain is of low, medium, high value depends solely on the
588    views of the zone owner.  One could for instance view leaf nodes in
589    the DNS as of low value and TLDs or the root zone of high value.  The
590    suggested key sizes should be safe for the next 5 years.
591
592    As ZSKs can be rolled over more easily (and thus more often) the key
593    sizes can be made smaller.  But as said in the introduction of this
594    paragraph, making the ZSKs' key sizes too small (in relation to the
595    KSKs' sizes) doesn't make much sense.  Try to limit the difference in
596    size to about 100 bits.
597
598    Note that nobody can see into the future, and that these key sizes
599    are only provided here as a guide.  Further information can be found
600    in [17] and Section 7.5 of [18].  It should be noted though that [17]
601    is already considered overly optimistic about what key sizes are
602    considered safe.
603
604    One final note concerning key sizes.  Larger keys will increase the
605    sizes of the RRSIG and DNSKEY records and will therefore increase the
606    chance of DNS UDP packet overflow.  Also the time it takes to
607    validate and create RRSIGs increases with larger keys, so don't
608    needlessly double your key sizes.
609
610
611
612
613
614
615 Kolkman & Gieben        Expires September 7, 2006              [Page 11]
616 \f
617 Internet-Draft        DNSSEC Operational Practices            March 2006
618
619
620 3.6.  Private Key Storage
621
622    It is recommended that, where possible, zone private keys and the
623    zone file master copy that is to be signed, be kept and used in off-
624    line, non-network connected, physically secure machines only.
625    Periodically an application can be run to add authentication to a
626    zone by adding RRSIG and NSEC RRs.  Then the augmented file can be
627    transferred.
628
629    When relying on dynamic update to manage a signed zone [10], be aware
630    that at least one private key of the zone will have to reside on the
631    master server.  This key is only as secure as the amount of exposure
632    the server receives to unknown clients and the security of the host.
633    Although not mandatory one could administer the DNS in the following
634    way.  The master that processes the dynamic updates is unavailable
635    from generic hosts on the Internet, it is not listed in the NS RR
636    set, although its name appears in the SOA RRs MNAME field.  The
637    nameservers in the NS RR set are able to receive zone updates through
638    NOTIFY, IXFR, AXFR or an out-of-band distribution mechanism.  This
639    approach is known as the "hidden master" setup.
640
641    The ideal situation is to have a one way information flow to the
642    network to avoid the possibility of tampering from the network.
643    Keeping the zone master file on-line on the network and simply
644    cycling it through an off-line signer does not do this.  The on-line
645    version could still be tampered with if the host it resides on is
646    compromised.  For maximum security, the master copy of the zone file
647    should be off net and should not be updated based on an unsecured
648    network mediated communication.
649
650    In general keeping a zone-file off-line will not be practical and the
651    machines on which zone files are maintained will be connected to a
652    network.  Operators are advised to take security measures to shield
653    unauthorized access to the master copy.
654
655    For dynamically updated secured zones [10] both the master copy and
656    the private key that is used to update signatures on updated RRs will
657    need to be on-line.
658
659
660 4.  Signature generation, Key Rollover and Related Policies
661
662 4.1.  Time in DNSSEC
663
664    Without DNSSEC all times in DNS are relative.  The SOA fields
665    REFRESH, RETRY and EXPIRATION are timers used to determine the time
666    elapsed after a slave server synchronized with a master server.  The
667    Time to Live (TTL) value and the SOA RR minimum TTL parameter [11]
668
669
670
671 Kolkman & Gieben        Expires September 7, 2006              [Page 12]
672 \f
673 Internet-Draft        DNSSEC Operational Practices            March 2006
674
675
676    are used to determine how long a forwarder should cache data after it
677    has been fetched from an authoritative server.  By using a signature
678    validity period, DNSSEC introduces the notion of an absolute time in
679    the DNS.  Signatures in DNSSEC have an expiration date after which
680    the signature is marked as invalid and the signed data is to be
681    considered Bogus.
682
683 4.1.1.  Time Considerations
684
685    Because of the expiration of signatures, one should consider the
686    following:
687    o  We suggest the Maximum Zone TTL of your zone data to be a fraction
688       of your signature validity period.
689          If the TTL would be of similar order as the signature validity
690          period, then all RRSets fetched during the validity period
691          would be cached until the signature expiration time.  Section
692          7.1 of [4] suggests that "the resolver may use the time
693          remaining before expiration of the signature validity period of
694          a signed RRSet as an upper bound for the TTL".  As a result
695          query load on authoritative servers would peak at signature
696          expiration time, as this is also the time at which records
697          simultaneously expire from caches.
698          To avoid query load peaks we suggest the TTL on all the RRs in
699          your zone to be at least a few times smaller than your
700          signature validity period.
701    o  We suggest the Signature Publication Period to end at least one
702       Maximum Zone TTL duration before the end of the Signature Validity
703       Period.
704          Re-signing a zone shortly before the end of the signature
705          validity period may cause simultaneous expiration of data from
706          caches.  This in turn may lead to peaks in the load on
707          authoritative servers.
708    o  We suggest the minimum zone TTL to be long enough to both fetch
709       and verify all the RRs in the trust chain.  In workshop
710       environments it has been demonstrated [19] that a low TTL (under 5
711       to 10 minutes) caused disruptions because of the following two
712       problems:
713          1.  During validation, some data may expire before the
714          validation is complete.  The validator should be able to keep
715          all data, until is completed.  This applies to all RRs needed
716          to complete the chain of trust: DSs, DNSKEYs, RRSIGs, and the
717          final answers i.e. the RRSet that is returned for the initial
718          query.
719          2.  Frequent verification causes load on recursive nameservers.
720          Data at delegation points, DSs, DNSKEYs and RRSIGs benefit from
721          caching.  The TTL on those should be relatively long.
722
723
724
725
726
727 Kolkman & Gieben        Expires September 7, 2006              [Page 13]
728 \f
729 Internet-Draft        DNSSEC Operational Practices            March 2006
730
731
732    o  Slave servers will need to be able to fetch newly signed zones
733       well before the RRSIGs in the zone served by the slave server pass
734       their signature expiration time.
735          When a slave server is out of sync with its master and data in
736          a zone is signed by expired signatures it may be better for the
737          slave server not to give out any answer.
738          Normally a slave server that is not able to contact a master
739          server for an extended period will expire a zone.  When that
740          happens the server will respond differently to queries for that
741          zone.  Some servers issue SERVFAIL while others turn off the
742          'AA' bit in the answers.  The time of expiration is set in the
743          SOA record and is relative to the last successful refresh
744          between the master and the slave server.  There exists no
745          coupling between the signature expiration of RRSIGs in the zone
746          and the expire parameter in the SOA.
747          If the server serves a DNSSEC zone then it may well happen that
748          the signatures expire well before the SOA expiration timer
749          counts down to zero.  It is not possible to completely prevent
750          this from happening by tweaking the SOA parameters.
751          However, the effects can be minimized where the SOA expiration
752          time is equal or shorter than the signature validity period.
753          The consequence of an authoritative server not being able to
754          update a zone, whilst that zone includes expired signatures, is
755          that non-secure resolvers will continue to be able to resolve
756          data served by the particular slave servers while security
757          aware resolvers will experience problems because of answers
758          being marked as Bogus.
759          We suggest the SOA expiration timer being approximately one
760          third or one fourth of the signature validity period.  It will
761          allow problems with transfers from the master server to be
762          noticed before the actual signature times out.
763          We also suggest that operators of nameservers that supply
764          secondary services develop 'watch dogs' to spot upcoming
765          signature expirations in zones they slave, and take appropriate
766          action.
767          When determining the value for the expiration parameter one has
768          to take the following into account: What are the chances that
769          all my secondaries expire the zone; How quickly can I reach an
770          administrator of secondary servers to load a valid zone?  All
771          these arguments are not DNSSEC specific but may influence the
772          choice of your signature validity intervals.
773
774 4.2.  Key Rollovers
775
776    A DNSSEC key cannot be used forever (see Section 3.3).  So key
777    rollovers -- or supercessions, as they are sometimes called -- are a
778    fact of life when using DNSSEC.  Zone administrators who are in the
779    process of rolling their keys have to take into account that data
780
781
782
783 Kolkman & Gieben        Expires September 7, 2006              [Page 14]
784 \f
785 Internet-Draft        DNSSEC Operational Practices            March 2006
786
787
788    published in previous versions of their zone still lives in caches.
789    When deploying DNSSEC, this becomes an important consideration;
790    ignoring data that may be in caches may lead to loss of service for
791    clients.
792
793    The most pressing example of this occurs when zone material signed
794    with an old key is being validated by a resolver which does not have
795    the old zone key cached.  If the old key is no longer present in the
796    current zone, this validation fails, marking the data Bogus.
797    Alternatively, an attempt could be made to validate data which is
798    signed with a new key against an old key that lives in a local cache,
799    also resulting in data being marked Bogus.
800
801 4.2.1.  Zone Signing Key Rollovers
802
803    For zone signing key rollovers there are two ways to make sure that
804    during the rollover data still cached can be verified with the new
805    key sets or newly generated signatures can be verified with the keys
806    still in caches.  One schema, described in Section 4.2.1.2, uses
807    double signatures; the other uses key pre-publication
808    (Section 4.2.1.1).  The pros, cons and recommendations are described
809    in Section 4.2.1.3.
810
811 4.2.1.1.  Pre-publish Key Rollover
812
813    This section shows how to perform a ZSK rollover without the need to
814    sign all the data in a zone twice - the so-called "pre-publish
815    rollover".This method has advantages in the case of a key compromise.
816    If the old key is compromised, the new key has already been
817    distributed in the DNS.  The zone administrator is then able to
818    quickly switch to the new key and remove the compromised key from the
819    zone.  Another major advantage is that the zone size does not double,
820    as is the case with the double signature ZSK rollover.  A small
821    "HOWTO" for this kind of rollover can be found in Appendix B.
822
823    Pre-publish Key Rollover involves four stages as follows:
824
825     initial         new DNSKEY       new RRSIGs      DNSKEY removal
826
827     SOA0            SOA1             SOA2            SOA3
828     RRSIG10(SOA0)   RRSIG10(SOA1)    RRSIG11(SOA2)   RRSIG11(SOA3)
829
830     DNSKEY1         DNSKEY1          DNSKEY1         DNSKEY1
831     DNSKEY10        DNSKEY10         DNSKEY10        DNSKEY11
832                     DNSKEY11         DNSKEY11
833     RRSIG1 (DNSKEY) RRSIG1 (DNSKEY)  RRSIG1(DNSKEY)  RRSIG1 (DNSKEY)
834     RRSIG10(DNSKEY) RRSIG10(DNSKEY)  RRSIG11(DNSKEY) RRSIG11(DNSKEY)
835
836
837
838
839 Kolkman & Gieben        Expires September 7, 2006              [Page 15]
840 \f
841 Internet-Draft        DNSSEC Operational Practices            March 2006
842
843
844    initial: Initial version of the zone: DNSKEY 1 is the key signing
845       key.  DNSKEY 10 is used to sign all the data of the zone, the zone
846       signing key.
847    new DNSKEY: DNSKEY 11 is introduced into the key set.  Note that no
848       signatures are generated with this key yet, but this does not
849       secure against brute force attacks on the public key.  The minimum
850       duration of this pre-roll phase is the time it takes for the data
851       to propagate to the authoritative servers plus TTL value of the
852       key set.
853    new RRSIGs: At the "new RRSIGs" stage (SOA serial 2) DNSKEY 11 is
854       used to sign the data in the zone exclusively (i.e. all the
855       signatures from DNSKEY 10 are removed from the zone).  DNSKEY 10
856       remains published in the key set.  This way data that was loaded
857       into caches from version 1 of the zone can still be verified with
858       key sets fetched from version 2 of the zone.
859       The minimum time that the key set including DNSKEY 10 is to be
860       published is the time that it takes for zone data from the
861       previous version of the zone to expire from old caches i.e. the
862       time it takes for this zone to propagate to all authoritative
863       servers plus the Maximum Zone TTL value of any of the data in the
864       previous version of the zone.
865    DNSKEY removal: DNSKEY 10 is removed from the zone.  The key set, now
866       only containing DNSKEY 1 and DNSKEY 11 is re-signed with the
867       DNSKEY 1.
868
869    The above scheme can be simplified by always publishing the "future"
870    key immediately after the rollover.  The scheme would look as follows
871    (we show two rollovers); the future key is introduced in "new DNSKEY"
872    as DNSKEY 12 and again a newer one, numbered 13, in "new DNSKEY
873    (II)":
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895 Kolkman & Gieben        Expires September 7, 2006              [Page 16]
896 \f
897 Internet-Draft        DNSSEC Operational Practices            March 2006
898
899
900        initial             new RRSIGs          new DNSKEY
901
902        SOA0                SOA1                SOA2
903        RRSIG10(SOA0)       RRSIG11(SOA1)       RRSIG11(SOA2)
904
905        DNSKEY1             DNSKEY1             DNSKEY1
906        DNSKEY10            DNSKEY10            DNSKEY11
907        DNSKEY11            DNSKEY11            DNSKEY12
908        RRSIG1(DNSKEY)      RRSIG1 (DNSKEY)     RRSIG1(DNSKEY)
909        RRSIG10(DNSKEY)     RRSIG11(DNSKEY)     RRSIG11(DNSKEY)
910
911
912        new RRSIGs (II)     new DNSKEY (II)
913
914        SOA3                SOA4
915        RRSIG12(SOA3)       RRSIG12(SOA4)
916
917        DNSKEY1             DNSKEY1
918        DNSKEY11            DNSKEY12
919        DNSKEY12            DNSKEY13
920        RRSIG1(DNSKEY)      RRSIG1(DNSKEY)
921        RRSIG12(DNSKEY)     RRSIG12(DNSKEY)
922
923
924    Pre-Publish Key Rollover, showing two rollovers.
925
926    Note that the key introduced in the "new DNSKEY" phase is not used
927    for production yet; the private key can thus be stored in a
928    physically secure manner and does not need to be 'fetched' every time
929    a zone needs to be signed.
930
931 4.2.1.2.  Double Signature Zone Signing Key Rollover
932
933    This section shows how to perform a ZSK key rollover using the double
934    zone data signature scheme, aptly named "double sig rollover".
935
936    During the "new DNSKEY" stage the new version of the zone file will
937    need to propagate to all authoritative servers and the data that
938    exists in (distant) caches will need to expire, requiring at least
939    the maximum Zone TTL.
940
941
942
943
944
945
946
947
948
949
950
951 Kolkman & Gieben        Expires September 7, 2006              [Page 17]
952 \f
953 Internet-Draft        DNSSEC Operational Practices            March 2006
954
955
956    Double Signature Zone Signing Key Rollover involves three stages as
957    follows:
958
959        initial             new DNSKEY         DNSKEY removal
960
961        SOA0                SOA1               SOA2
962        RRSIG10(SOA0)       RRSIG10(SOA1)      RRSIG11(SOA2)
963                            RRSIG11(SOA1)
964
965        DNSKEY1             DNSKEY1            DNSKEY1
966        DNSKEY10            DNSKEY10           DNSKEY11
967                            DNSKEY11
968        RRSIG1(DNSKEY)      RRSIG1(DNSKEY)     RRSIG1(DNSKEY)
969        RRSIG10(DNSKEY)     RRSIG10(DNSKEY)    RRSIG11(DNSKEY)
970                            RRSIG11(DNSKEY)
971
972    initial: Initial Version of the zone: DNSKEY 1 is the key signing
973       key.  DNSKEY 10 is used to sign all the data of the zone, the zone
974       signing key.
975    new DNSKEY: At the "New DNSKEY" stage (SOA serial 1) DNSKEY 11 is
976       introduced into the key set and all the data in the zone is signed
977       with DNSKEY 10 and DNSKEY 11.  The rollover period will need to
978       continue until all data from version 0 of the zone has expired
979       from remote caches.  This will take at least the maximum Zone TTL
980       of version 0 of the zone.
981    DNSKEY removal: DNSKEY 10 is removed from the zone.  All the
982       signatures from DNSKEY 10 are removed from the zone.  The key set,
983       now only containing DNSKEY 11, is re-signed with DNSKEY 1.
984
985    At every instance, RRSIGs from the previous version of the zone can
986    be verified with the DNSKEY RRSet from the current version and the
987    other way around.  The data from the current version can be verified
988    with the data from the previous version of the zone.  The duration of
989    the "new DNSKEY" phase and the period between rollovers should be at
990    least the Maximum Zone TTL.
991
992    Making sure that the "new DNSKEY" phase lasts until the signature
993    expiration time of the data in initial version of the zone is
994    recommended.  This way all caches are cleared of the old signatures.
995    However, this duration could be considerably longer than the Maximum
996    Zone TTL, making the rollover a lengthy procedure.
997
998    Note that in this example we assumed that the zone was not modified
999    during the rollover.  New data can be introduced in the zone as long
1000    as it is signed with both keys.
1001
1002
1003
1004
1005
1006
1007 Kolkman & Gieben        Expires September 7, 2006              [Page 18]
1008 \f
1009 Internet-Draft        DNSSEC Operational Practices            March 2006
1010
1011
1012 4.2.1.3.  Pros and Cons of the Schemes
1013
1014    Pre-publish Key Rollover: This rollover does not involve signing the
1015       zone data twice.  Instead, before the actual rollover, the new key
1016       is published in the key set and thus available for cryptanalysis
1017       attacks.  A small disadvantage is that this process requires four
1018       steps.  Also the pre-publish scheme involves more parental work
1019       when used for KSK rollovers as explained in Section 4.2.3.
1020    Double Signature Zone-signing Key Rollover: The drawback of this
1021       signing scheme is that during the rollover the number of
1022       signatures in your zone doubles, this may be prohibitive if you
1023       have very big zones.  An advantage is that it only requires three
1024       steps.
1025
1026 4.2.2.  Key Signing Key Rollovers
1027
1028    For the rollover of a key signing key the same considerations as for
1029    the rollover of a zone signing key apply.  However we can use a
1030    double signature scheme to guarantee that old data (only the apex key
1031    set) in caches can be verified with a new key set and vice versa.
1032    Since only the key set is signed with a KSK, zone size considerations
1033    do not apply.
1034
1035
1036        initial        new DNSKEY        DS change       DNSKEY removal
1037      Parent:
1038        SOA0           -------->         SOA1            -------->
1039        RRSIGpar(SOA0) -------->         RRSIGpar(SOA1)  -------->
1040        DS1            -------->         DS2             -------->
1041        RRSIGpar(DS)   -------->         RRSIGpar(DS)    -------->
1042
1043
1044      Child:
1045        SOA0            SOA1             -------->       SOA2
1046        RRSIG10(SOA0)   RRSIG10(SOA1)    -------->       RRSIG10(SOA2)
1047                                         -------->
1048        DNSKEY1         DNSKEY1          -------->       DNSKEY2
1049                        DNSKEY2          -------->
1050        DNSKEY10        DNSKEY10         -------->       DNSKEY10
1051        RRSIG1 (DNSKEY) RRSIG1 (DNSKEY)  -------->       RRSIG2 (DNSKEY)
1052                        RRSIG2 (DNSKEY)  -------->
1053        RRSIG10(DNSKEY) RRSIG10(DNSKEY)  -------->       RRSIG10(DNSKEY)
1054
1055    Stages of Deployment for Key Signing Key Rollover.
1056
1057
1058
1059
1060
1061
1062
1063 Kolkman & Gieben        Expires September 7, 2006              [Page 19]
1064 \f
1065 Internet-Draft        DNSSEC Operational Practices            March 2006
1066
1067
1068    initial: Initial version of the zone.  The parental DS points to
1069       DNSKEY1.  Before the rollover starts the child will have to verify
1070       what the TTL is of the DS RR that points to DNSKEY1 - it is needed
1071       during the rollover and we refer to the value as TTL_DS.
1072    new DNSKEY: During the "new DNSKEY" phase the zone administrator
1073       generates a second KSK, DNSKEY2.  The key is provided to the
1074       parent and the child will have to wait until a new DS RR has been
1075       generated that points to DNSKEY2.  After that DS RR has been
1076       published on all servers authoritative for the parent's zone, the
1077       zone administrator has to wait at least TTL_DS to make sure that
1078       the old DS RR has expired from caches.
1079    DS change: The parent replaces DS1 with DS2.
1080    DNSKEY removal: DNSKEY1 has been removed.
1081
1082    The scenario above puts the responsibility for maintaining a valid
1083    chain of trust with the child.  It also is based on the premises that
1084    the parent only has one DS RR (per algorithm) per zone.  An
1085    alternative mechanism has been considered.  Using an established
1086    trust relation, the interaction can be performed in-band, and the
1087    removal of the keys by the child can possibly be signaled by the
1088    parent.  In this mechanism there are periods where there are two DS
1089    RRs at the parent.  Since at the moment of writing the protocol for
1090    this interaction has not been developed, further discussion is out of
1091    scope for this document.
1092
1093 4.2.3.  Difference Between ZSK and KSK Rollovers
1094
1095    Note that KSK rollovers and ZSK rollovers are different in the sense
1096    that a KSK rollover requires interaction with the parent (and
1097    possibly replacing of trust anchors) and the ensuing delay while
1098    waiting for it.
1099
1100    A zone key rollover can be handled in two different ways: pre-publish
1101    (Section Section 4.2.1.1) and double signature (Section
1102    Section 4.2.1.2).
1103
1104    As the KSK is used to validate the key set and because the KSK is not
1105    changed during a ZSK rollover, a cache is able to validate the new
1106    key set of the zone.  The pre-publish method would also work for a
1107    KSK rollover.  The records that are to be pre-published are the
1108    parental DS RRs.  The pre-publish method has some drawbacks for KSKs.
1109    We first describe the rollover scheme and then indicate these
1110    drawbacks.
1111
1112
1113
1114
1115
1116
1117
1118
1119 Kolkman & Gieben        Expires September 7, 2006              [Page 20]
1120 \f
1121 Internet-Draft        DNSSEC Operational Practices            March 2006
1122
1123
1124      initial         new DS           new DNSKEY      DS/DNSKEY removal
1125    Parent:
1126      SOA0            SOA1             -------->       SOA2
1127      RRSIGpar(SOA0)  RRSIGpar(SOA1)   -------->       RRSIGpar(SOA2)
1128      DS1             DS1              -------->       DS2
1129                      DS2              -------->
1130      RRSIGpar(DS)    RRSIGpar(DS)     -------->       RRSIGpar(DS)
1131
1132
1133
1134    Child:
1135      SOA0            -------->        SOA1            SOA1
1136      RRSIG10(SOA0)   -------->        RRSIG10(SOA1)   RRSIG10(SOA1)
1137                      -------->
1138      DNSKEY1         -------->        DNSKEY2         DNSKEY2
1139                      -------->
1140      DNSKEY10        -------->        DNSKEY10        DNSKEY10
1141      RRSIG1 (DNSKEY) -------->        RRSIG2(DNSKEY)  RRSIG2 (DNSKEY)
1142      RRSIG10(DNSKEY) -------->        RRSIG10(DNSKEY) RRSIG10(DNSKEY)
1143
1144    Stages of Deployment for a Pre-publish Key Signing Key rollover.
1145
1146    When the child zone wants to roll it notifies the parent during the
1147    "new DS" phase and submits the new key (or the corresponding DS) to
1148    the parent.  The parent publishes DS1 and DS2, pointing to DNSKEY1
1149    and DNSKEY2 respectively.  During the rollover ("new DNSKEY" phase),
1150    which can take place as soon as the new DS set propagated through the
1151    DNS, the child replaces DNSKEY1 with DNSKEY2.  Immediately after that
1152    ("DS/DNSKEY removal" phase) it can notify the parent that the old DS
1153    record can be deleted.
1154
1155    The drawbacks of this scheme are that during the "new DS" phase the
1156    parent cannot verify the match between the DS2 RR and DNSKEY2 using
1157    the DNS -- as DNSKEY2 is not yet published.  Besides, we introduce a
1158    "security lame" key (See Section 4.4.3).  Finally the child-parent
1159    interaction consists of two steps.  The "double signature" method
1160    only needs one interaction.
1161
1162 4.2.4.  Automated Key Rollovers
1163
1164    As keys must be renewed periodically, there is some motivation to
1165    automate the rollover process.  Consider that:
1166
1167    o  ZSK rollovers are easy to automate as only the child zone is
1168       involved.
1169    o  A KSK rollover needs interaction between parent and child.  Data
1170       exchange is needed to provide the new keys to the parent,
1171       consequently, this data must be authenticated and integrity must
1172
1173
1174
1175 Kolkman & Gieben        Expires September 7, 2006              [Page 21]
1176 \f
1177 Internet-Draft        DNSSEC Operational Practices            March 2006
1178
1179
1180       be guaranteed in order to avoid attacks on the rollover.
1181
1182 4.3.  Planning for Emergency Key Rollover
1183
1184    This section deals with preparation for a possible key compromise.
1185    Our advice is to have a documented procedure ready for when a key
1186    compromise is suspected or confirmed.
1187
1188    When the private material of one of your keys is compromised it can
1189    be used for as long as a valid trust chain exists.  A trust chain
1190    remains intact for:
1191    o  as long as a signature over the compromised key in the trust chain
1192       is valid,
1193    o  as long as a parental DS RR (and signature) points to the
1194       compromised key,
1195    o  as long as the key is anchored in a resolver and is used as a
1196       starting point for validation (this is generally the hardest to
1197       update).
1198
1199    While a trust chain to your compromised key exists, your name-space
1200    is vulnerable to abuse by anyone who has obtained illegitimate
1201    possession of the key.  Zone operators have to make a trade off if
1202    the abuse of the compromised key is worse than having data in caches
1203    that cannot be validated.  If the zone operator chooses to break the
1204    trust chain to the compromised key, data in caches signed with this
1205    key cannot be validated.  However, if the zone administrator chooses
1206    to take the path of a regular roll-over, the malicious key holder can
1207    spoof data so that it appears to be valid.
1208
1209 4.3.1.  KSK Compromise
1210
1211    A zone containing a DNSKEY RRSet with a compromised KSK is vulnerable
1212    as long as the compromised KSK is configured as trust anchor or a
1213    parental DS points to it.
1214
1215    A compromised KSK can be used to sign the key set of an attacker's
1216    zone.  That zone could be used to poison the DNS.
1217
1218    Therefore when the KSK has been compromised, the trust anchor or the
1219    parental DS, should be replaced as soon as possible.  It is local
1220    policy whether to break the trust chain during the emergency
1221    rollover.  The trust chain would be broken when the compromised KSK
1222    is removed from the child's zone while the parent still has a DS
1223    pointing to the compromised KSK (the assumption is that there is only
1224    one DS at the parent.  If there are multiple DSs this does not apply
1225    -- however the chain of trust of this particular key is broken).
1226
1227    Note that an attacker's zone still uses the compromised KSK and the
1228
1229
1230
1231 Kolkman & Gieben        Expires September 7, 2006              [Page 22]
1232 \f
1233 Internet-Draft        DNSSEC Operational Practices            March 2006
1234
1235
1236    presence of a parental DS would cause the data in this zone to appear
1237    as valid.  Removing the compromised key would cause the attacker's
1238    zone to appear as valid and the child's zone as Bogus.  Therefore we
1239    advise not to remove the KSK before the parent has a DS to a new KSK
1240    in place.
1241
1242 4.3.1.1.  Keeping the Chain of Trust Intact
1243
1244    If we follow this advice the timing of the replacement of the KSK is
1245    somewhat critical.  The goal is to remove the compromised KSK as soon
1246    as the new DS RR is available at the parent.  And also make sure that
1247    the signature made with a new KSK over the key set with the
1248    compromised KSK in it expires just after the new DS appears at the
1249    parent.  Thus removing the old cruft in one swoop.
1250
1251    The procedure is as follows:
1252    1.  Introduce a new KSK into the key set, keep the compromised KSK in
1253        the key set.
1254    2.  Sign the key set, with a short validity period.  The validity
1255        period should expire shortly after the DS is expected to appear
1256        in the parent and the old DSs have expired from caches.
1257    3.  Upload the DS for this new key to the parent.
1258    4.  Follow the procedure of the regular KSK rollover: Wait for the DS
1259        to appear in the authoritative servers and then wait as long as
1260        the TTL of the old DS RRs.  If necessary re-sign the DNSKEY RRSet
1261        and modify/extend the expiration time.
1262    5.  Remove the compromised DNSKEY RR from the zone and re-sign the
1263        key set using your "normal" validity interval.
1264
1265    An additional danger of a key compromise is that the compromised key
1266    could be used to facilitate a legitimate DNSKEY/DS rollover and/or
1267    nameserver changes at the parent.  When that happens the domain may
1268    be in dispute.  An authenticated out-of-band and secure notify
1269    mechanism to contact a parent is needed in this case.
1270
1271    Note that this is only a problem when the DNSKEY and or DS records
1272    are used for authentication at the parent.
1273
1274 4.3.1.2.  Breaking the Chain of Trust
1275
1276    There are two methods to break the chain of trust.  The first method
1277    causes the child zone to appear as 'Bogus' to validating resolvers.
1278    The other causes the the child zone to appear as 'insecure'.  These
1279    are described below.
1280
1281    In the method that causes the child zone to appear as 'Bogus' to
1282    validating resolvers, the child zone replaces the current KSK with a
1283    new one and resigns the key set.  Next it sends the DS of the new key
1284
1285
1286
1287 Kolkman & Gieben        Expires September 7, 2006              [Page 23]
1288 \f
1289 Internet-Draft        DNSSEC Operational Practices            March 2006
1290
1291
1292    to the parent.  Only after the parent has placed the new DS in the
1293    zone, the child's chain of trust is repaired.
1294
1295    An alternative method of breaking the chain of trust is by removing
1296    the DS RRs from the parent zone altogether.  As a result the child
1297    zone would become insecure.
1298
1299 4.3.2.  ZSK Compromise
1300
1301    Primarily because there is no parental interaction required when a
1302    ZSK is compromised, the situation is less severe than with a KSK
1303    compromise.  The zone must still be re-signed with a new ZSK as soon
1304    as possible.  As this is a local operation and requires no
1305    communication between the parent and child this can be achieved
1306    fairly quickly.  However, one has to take into account that just as
1307    with a normal rollover the immediate disappearance of the old
1308    compromised key may lead to verification problems.  Also note that as
1309    long as the RRSIG over the compromised ZSK is not expired the zone
1310    may be still at risk.
1311
1312 4.3.3.  Compromises of Keys Anchored in Resolvers
1313
1314    A key can also be pre-configured in resolvers.  For instance, if
1315    DNSSEC is successfully deployed the root key may be pre-configured in
1316    most security aware resolvers.
1317
1318    If trust-anchor keys are compromised, the resolvers using these keys
1319    should be notified of this fact.  Zone administrators may consider
1320    setting up a mailing list to communicate the fact that a SEP key is
1321    about to be rolled over.  This communication will of course need to
1322    be authenticated e.g. by using digital signatures.
1323
1324    End-users faced with the task of updating an anchored key should
1325    always validate the new key.  New keys should be authenticated out-
1326    of-band, for example, looking them up on an SSL secured announcement
1327    website.
1328
1329 4.4.  Parental Policies
1330
1331 4.4.1.  Initial Key Exchanges and Parental Policies Considerations
1332
1333    The initial key exchange is always subject to the policies set by the
1334    parent.  When designing a key exchange policy one should take into
1335    account that the authentication and authorization mechanisms used
1336    during a key exchange should be as strong as the authentication and
1337    authorization mechanisms used for the exchange of delegation
1338    information between parent and child.  I.e. there is no implicit need
1339    in DNSSEC to make the authentication process stronger than it was in
1340
1341
1342
1343 Kolkman & Gieben        Expires September 7, 2006              [Page 24]
1344 \f
1345 Internet-Draft        DNSSEC Operational Practices            March 2006
1346
1347
1348    DNS.
1349
1350    Using the DNS itself as the source for the actual DNSKEY material,
1351    with an out-of-band check on the validity of the DNSKEY, has the
1352    benefit that it reduces the chances of user error.  A DNSKEY query
1353    tool can make use of the SEP bit [3] to select the proper key from a
1354    DNSSEC key set; thereby reducing the chance that the wrong DNSKEY is
1355    sent.  It can validate the self-signature over a key; thereby
1356    verifying the ownership of the private key material.  Fetching the
1357    DNSKEY from the DNS ensures that the chain of trust remains intact
1358    once the parent publishes the DS RR indicating the child is secure.
1359
1360    Note: the out-of-band verification is still needed when the key-
1361    material is fetched via the DNS.  The parent can never be sure
1362    whether the DNSKEY RRs have been spoofed or not.
1363
1364 4.4.2.  Storing Keys or Hashes?
1365
1366    When designing a registry system one should consider which of the
1367    DNSKEYs and/or the corresponding DSs to store.  Since a child zone
1368    might wish to have a DS published using a message digest algorithm
1369    not yet understood by the registry, the registry can't count on being
1370    able to generate the DS record from a raw DNSKEY.  Thus, we recommend
1371    that registry systems at least support storing DS records.
1372
1373    It may also be useful to store DNSKEYs, since having them may help
1374    during troubleshooting and, as long as the child's chosen message
1375    digest is supported, the overhead of generating DS records from them
1376    is minimal.  Having an out-of-band mechanism, such as a registry
1377    directory (e.g.  Whois), to find out which keys are used to generate
1378    DS Resource Records for specific owners and/or zones may also help
1379    with troubleshooting.
1380
1381    The storage considerations also relate to the design of the customer
1382    interface and the method by which data is transferred between
1383    registrant and registry; Will the child zone administrator be able to
1384    upload DS RRs with unknown hash algorithms or does the interface only
1385    allow DNSKEYs?  In the registry-registrar model one can use the
1386    DNSSEC EPP protocol extension [16] which allows transfer of DS RRs
1387    and optionally DNSKEY RRs.
1388
1389 4.4.3.  Security Lameness
1390
1391    Security Lameness is defined as what happens when a parent has a DS
1392    RR pointing to a non-existing DNSKEY RR.  When this happens the
1393    child's zone may be marked as "Bogus" by verifying DNS clients.
1394
1395    As part of a comprehensive delegation check the parent could, at key
1396
1397
1398
1399 Kolkman & Gieben        Expires September 7, 2006              [Page 25]
1400 \f
1401 Internet-Draft        DNSSEC Operational Practices            March 2006
1402
1403
1404    exchange time, verify that the child's key is actually configured in
1405    the DNS.  However if a parent does not understand the hashing
1406    algorithm used by child the parental checks are limited to only
1407    comparing the key id.
1408
1409    Child zones should be very careful removing DNSKEY material,
1410    specifically SEP keys, for which a DS RR exists.
1411
1412    Once a zone is "security lame", a fix (e.g. removing a DS RR) will
1413    take time to propagate through the DNS.
1414
1415 4.4.4.  DS Signature Validity Period
1416
1417    Since the DS can be replayed as long as it has a valid signature, a
1418    short signature validity period over the DS minimizes the time a
1419    child is vulnerable in the case of a compromise of the child's
1420    KSK(s).  A signature validity period that is too short introduces the
1421    possibility that a zone is marked Bogus in case of a configuration
1422    error in the signer.  There may not be enough time to fix the
1423    problems before signatures expire.  Something as mundane as operator
1424    unavailability during weekends shows the need for DS signature
1425    validity periods longer than 2 days.  We recommend an absolute
1426    minimum for a DS signature validity period of a few days.
1427
1428    The maximum signature validity period of the DS record depends on how
1429    long child zones are willing to be vulnerable after a key compromise.
1430    On the other hand shortening the DS signature validity interval
1431    increases the operational risk for the parent.  Therefore the parent
1432    may have policy to use a signature validity interval that is
1433    considerably longer than the child would hope for.
1434
1435    A compromise between the operational constraints of the parent and
1436    minimizing damage for the child may result in a DS signature validity
1437    period somewhere between the order of a week to order of months.
1438
1439    In addition to the signature validity period, which sets a lower
1440    bound on the number of times the zone owner will need to sign the
1441    zone data and which sets an upper bound to the time a child is
1442    vulnerable after key compromise, there is the TTL value on the DS
1443    RRs.  Shortening the TTL means that the authoritative servers will
1444    see more queries.  But on the other hand, a short TTL lowers the
1445    persistence of DS RRSets in caches thereby increases the speed with
1446    which updated DS RRSets propagate through the DNS.
1447
1448
1449 5.  IANA Considerations
1450
1451    This overview document introduces no new IANA considerations.
1452
1453
1454
1455 Kolkman & Gieben        Expires September 7, 2006              [Page 26]
1456 \f
1457 Internet-Draft        DNSSEC Operational Practices            March 2006
1458
1459
1460 6.  Security Considerations
1461
1462    DNSSEC adds data integrity to the DNS.  This document tries to assess
1463    the operational considerations to maintain a stable and secure DNSSEC
1464    service.  Not taking into account the 'data propagation' properties
1465    in the DNS will cause validation failures and may make secured zones
1466    unavailable to security aware resolvers.
1467
1468
1469 7.  Acknowledgments
1470
1471    Most of the ideas in this draft were the result of collective efforts
1472    during workshops, discussions and try outs.
1473
1474    At the risk of forgetting individuals who were the original
1475    contributors of the ideas we would like to acknowledge people who
1476    were actively involved in the compilation of this document.  In
1477    random order: Rip Loomis, Olafur Gudmundsson, Wesley Griffin, Michael
1478    Richardson, Scott Rose, Rick van Rein, Tim McGinnis, Gilles Guette
1479    Olivier Courtay, Sam Weiler, Jelte Jansen, Niall O'Reilly, Holger
1480    Zuleger, Ed Lewis, Hilarie Orman, Marcos Sanz and Peter Koch.
1481
1482    Some material in this document has been copied from RFC 2541 [12].
1483
1484    Mike StJohns designed the key exchange between parent and child
1485    mentioned in the last paragraph of Section 4.2.2
1486
1487    Section 4.2.4 was supplied by G. Guette and O. Courtay.
1488
1489    Emma Bretherick, Adrian Bedford and Lindy Foster corrected many of
1490    the spelling and style issues.
1491
1492    Kolkman and Gieben take the blame for introducing all miscakes(SIC).
1493
1494    Kolkman was employed by the RIPE NCC while working on this document.
1495
1496
1497 8.  References
1498
1499 8.1.  Normative References
1500
1501    [1]  Mockapetris, P., "Domain names - concepts and facilities",
1502         STD 13, RFC 1034, November 1987.
1503
1504    [2]  Mockapetris, P., "Domain names - implementation and
1505         specification", STD 13, RFC 1035, November 1987.
1506
1507    [3]  Kolkman, O., Schlyter, J., and E. Lewis, "Domain Name System KEY
1508
1509
1510
1511 Kolkman & Gieben        Expires September 7, 2006              [Page 27]
1512 \f
1513 Internet-Draft        DNSSEC Operational Practices            March 2006
1514
1515
1516         (DNSKEY) Resource Record (RR) Secure Entry Point (SEP) Flag",
1517         RFC 3757, May 2004.
1518
1519    [4]  Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,
1520         "DNS Security Introduction and Requirements", RFC 4033,
1521         March 2005.
1522
1523    [5]  Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,
1524         "Resource Records for the DNS Security Extensions", RFC 4034,
1525         March 2005.
1526
1527    [6]  Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,
1528         "Protocol Modifications for the DNS Security Extensions",
1529         RFC 4035, March 2005.
1530
1531 8.2.  Informative References
1532
1533    [7]   Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995,
1534          August 1996.
1535
1536    [8]   Vixie, P., "A Mechanism for Prompt Notification of Zone Changes
1537          (DNS NOTIFY)", RFC 1996, August 1996.
1538
1539    [9]   Bradner, S., "Key words for use in RFCs to Indicate Requirement
1540          Levels", BCP 14, RFC 2119, March 1997.
1541
1542    [10]  Eastlake, D., "Secure Domain Name System Dynamic Update",
1543          RFC 2137, April 1997.
1544
1545    [11]  Andrews, M., "Negative Caching of DNS Queries (DNS NCACHE)",
1546          RFC 2308, March 1998.
1547
1548    [12]  Eastlake, D., "DNS Security Operational Considerations",
1549          RFC 2541, March 1999.
1550
1551    [13]  Gudmundsson, O., "Delegation Signer (DS) Resource Record (RR)",
1552          RFC 3658, December 2003.
1553
1554    [14]  Orman, H. and P. Hoffman, "Determining Strengths For Public
1555          Keys Used For Exchanging Symmetric Keys", BCP 86, RFC 3766,
1556          April 2004.
1557
1558    [15]  Eastlake, D., Schiller, J., and S. Crocker, "Randomness
1559          Requirements for Security", BCP 106, RFC 4086, June 2005.
1560
1561    [16]  Hollenbeck, S., "Domain Name System (DNS) Security Extensions
1562          Mapping for the Extensible Provisioning Protocol (EPP)",
1563          RFC 4310, December 2005.
1564
1565
1566
1567 Kolkman & Gieben        Expires September 7, 2006              [Page 28]
1568 \f
1569 Internet-Draft        DNSSEC Operational Practices            March 2006
1570
1571
1572    [17]  Lenstra, A. and E. Verheul, "Selecting Cryptographic Key
1573          Sizes", The Journal of Cryptology 14 (255-293), 2001.
1574
1575    [18]  Schneier, B., "Applied Cryptography: Protocols, Algorithms, and
1576          Source Code in C", ISBN (hardcover) 0-471-12845-7, ISBN
1577          (paperback) 0-471-59756-2, Published by John Wiley & Sons Inc.,
1578          1996.
1579
1580    [19]  Rose, S., "NIST DNSSEC workshop notes", June 2001.
1581
1582    [20]  Jansen, J., "Use of RSA/SHA-256 DNSKEY and RRSIG Resource
1583          Records in DNSSEC", draft-ietf-dnsext-dnssec-rsasha256-00.txt
1584          (work in progress), January 2006.
1585
1586    [21]  Hardaker, W., "Use of SHA-256 in DNSSEC Delegation Signer (DS)
1587          Resource Records (RRs)", draft-ietf-dnsext-ds-sha256-04.txt
1588          (work in progress), January 2006.
1589
1590
1591 Appendix A.  Terminology
1592
1593    In this document there is some jargon used that is defined in other
1594    documents.  In most cases we have not copied the text from the
1595    documents defining the terms but given a more elaborate explanation
1596    of the meaning.  Note that these explanations should not be seen as
1597    authoritative.
1598
1599    Anchored Key: A DNSKEY configured in resolvers around the globe.
1600       This key is hard to update, hence the term anchored.
1601    Bogus: Also see Section 5 of [4].  An RRSet in DNSSEC is marked
1602       "Bogus" when a signature of a RRSet does not validate against a
1603       DNSKEY.
1604    Key Signing Key or KSK: A Key Signing Key (KSK) is a key that is used
1605       exclusively for signing the apex key set.  The fact that a key is
1606       a KSK is only relevant to the signing tool.
1607    Key size: The term 'key size' can be substituted by 'modulus size'
1608       throughout the document.  It is mathematically more correct to use
1609       modulus size, but as this is a document directed at operators we
1610       feel more at ease with the term key size.
1611    Private and Public Keys: DNSSEC secures the DNS through the use of
1612       public key cryptography.  Public key cryptography is based on the
1613       existence of two (mathematically related) keys, a public key and a
1614       private key.  The public keys are published in the DNS by use of
1615       the DNSKEY Resource Record (DNSKEY RR).  Private keys should
1616       remain private.
1617
1618
1619
1620
1621
1622
1623 Kolkman & Gieben        Expires September 7, 2006              [Page 29]
1624 \f
1625 Internet-Draft        DNSSEC Operational Practices            March 2006
1626
1627
1628    Key Rollover: A key rollover (also called key supercession in some
1629       environments) is the act of replacing one key pair by another at
1630       the end of a key effectivity period.
1631    Secure Entry Point key or SEP Key: A KSK that has a parental DS
1632       record pointing to it or is configured as a trust anchor.
1633       Although not required by the protocol we recommend that the SEP
1634       flag [3] is set on these keys.
1635    Self-signature: This is only applies to signatures over DNSKEYs; a
1636       signature made with DNSKEY x, over DNSKEY x is called a self-
1637       signature.  Note: without further information self-signatures
1638       convey no trust, they are useful to check the authenticity of the
1639       DNSKEY, i.e. they can be used as a hash.
1640    Singing the Zone File: The term used for the event where an
1641       administrator joyfully signs its zone file while producing melodic
1642       sound patterns.
1643    Signer: The system that has access to the private key material and
1644       signs the Resource Record sets in a zone.  A signer may be
1645       configured to sign only parts of the zone e.g. only those RRSets
1646       for which existing signatures are about to expire.
1647    Zone Signing Key or ZSK: A Zone Signing Key (ZSK) is a key that is
1648       used for signing all data in a zone.  The fact that a key is a ZSK
1649       is only relevant to the signing tool.
1650    Zone Administrator: The 'role' that is responsible for signing a zone
1651       and publishing it on the primary authoritative server.
1652
1653
1654 Appendix B.  Zone Signing Key Rollover Howto
1655
1656    Using the pre-published signature scheme and the most conservative
1657    method to assure oneself that data does not live in caches, here
1658    follows the "HOWTO".
1659    Step 0: The preparation: Create two keys and publish both in your key
1660       set.  Mark one of the keys as "active" and the other as
1661       "published".  Use the "active" key for signing your zone data.
1662       Store the private part of the "published" key, preferably off-
1663       line.
1664       The protocol does not provide for attributes to mark a key as
1665       active or published.  This is something you have to do on your
1666       own, through the use of a notebook or key management tool.
1667    Step 1: Determine expiration: At the beginning of the rollover make a
1668       note of the highest expiration time of signatures in your zone
1669       file created with the current key marked as "active".
1670       Wait until the expiration time marked in Step 1 has passed
1671    Step 2: Then start using the key that was marked as "published" to
1672       sign your data i.e. mark it as "active".  Stop using the key that
1673       was marked as "active", mark it as "rolled".
1674
1675
1676
1677
1678
1679 Kolkman & Gieben        Expires September 7, 2006              [Page 30]
1680 \f
1681 Internet-Draft        DNSSEC Operational Practices            March 2006
1682
1683
1684    Step 3: It is safe to engage in a new rollover (Step 1) after at
1685       least one "signature validity period".
1686
1687
1688 Appendix C.  Typographic Conventions
1689
1690    The following typographic conventions are used in this document:
1691    Key notation: A key is denoted by DNSKEYx, where x is a number or an
1692       identifier, x could be thought of as the key id.
1693    RRSet notations: RRs are only denoted by the type.  All other
1694       information - owner, class, rdata and TTL - is left out.  Thus:
1695       "example.com 3600 IN A 192.0.2.1" is reduced to "A".  RRSets are a
1696       list of RRs.  A example of this would be: "A1, A2", specifying the
1697       RRSet containing two "A" records.  This could again be abbreviated
1698       to just "A".
1699    Signature notation: Signatures are denoted as RRSIGx(RRSet), which
1700       means that RRSet is signed with DNSKEYx.
1701    Zone representation: Using the above notation we have simplified the
1702       representation of a signed zone by leaving out all unnecessary
1703       details such as the names and by representing all data by "SOAx"
1704    SOA representation: SOAs are represented as SOAx, where x is the
1705       serial number.
1706    Using this notation the following signed zone:
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735 Kolkman & Gieben        Expires September 7, 2006              [Page 31]
1736 \f
1737 Internet-Draft        DNSSEC Operational Practices            March 2006
1738
1739
1740    example.net.      86400  IN SOA  ns.example.net. bert.example.net. (
1741                             2006022100   ; serial
1742                             86400        ; refresh (  24 hours)
1743                             7200         ; retry   (   2 hours)
1744                             3600000      ; expire  (1000 hours)
1745                             28800 )      ; minimum (   8 hours)
1746                      86400  RRSIG   SOA 5 2 86400 20130522213204 (
1747                                   20130422213204 14 example.net.
1748                                   cmL62SI6iAX46xGNQAdQ... )
1749                      86400  NS      a.iana-servers.net.
1750                      86400  NS      b.iana-servers.net.
1751                      86400  RRSIG   NS 5 2 86400 20130507213204 (
1752                                   20130407213204 14 example.net.
1753                                   SO5epiJei19AjXoUpFnQ ... )
1754                      86400  DNSKEY  256 3 5 (
1755                                   EtRB9MP5/AvOuVO0I8XDxy0... ) ; id = 14
1756                      86400  DNSKEY  257 3 5 (
1757                                   gsPW/Yy19GzYIY+Gnr8HABU... ) ; id = 15
1758                      86400  RRSIG   DNSKEY 5 2 86400 20130522213204 (
1759                                   20130422213204 14 example.net.
1760                                   J4zCe8QX4tXVGjV4e1r9... )
1761                      86400  RRSIG   DNSKEY 5 2 86400 20130522213204 (
1762                                   20130422213204 15 example.net.
1763                                   keVDCOpsSeDReyV6O... )
1764                      86400  RRSIG   NSEC 5 2 86400 20130507213204 (
1765                                   20130407213204 14 example.net.
1766                                   obj3HEp1GjnmhRjX... )
1767    a.example.net.    86400  IN TXT  "A label"
1768                      86400  RRSIG   TXT 5 3 86400 20130507213204 (
1769                                   20130407213204 14 example.net.
1770                                   IkDMlRdYLmXH7QJnuF3v... )
1771                      86400  NSEC    b.example.com. TXT RRSIG NSEC
1772                      86400  RRSIG   NSEC 5 3 86400 20130507213204 (
1773                                   20130407213204 14 example.net.
1774                                   bZMjoZ3bHjnEz0nIsPMM... )
1775                      ...
1776
1777    is reduced to the following representation:
1778
1779        SOA2006022100
1780        RRSIG14(SOA2006022100)
1781        DNSKEY14
1782        DNSKEY15
1783
1784        RRSIG14(KEY)
1785        RRSIG15(KEY)
1786
1787    The rest of the zone data has the same signature as the SOA record,
1788
1789
1790
1791 Kolkman & Gieben        Expires September 7, 2006              [Page 32]
1792 \f
1793 Internet-Draft        DNSSEC Operational Practices            March 2006
1794
1795
1796    i.e a RRSIG created with DNSKEY 14.
1797
1798
1799 Appendix D.  Document Details and Changes
1800
1801    This section is to be removed by the RFC editor if and when the
1802    document is published.
1803
1804    $Id: draft-ietf-dnsop-dnssec-operational-practices.xml,v 1.31.2.14
1805    2005/03/21 15:51:41 dnssec Exp $
1806
1807 D.1.  draft-ietf-dnsop-dnssec-operational-practices-00
1808
1809    Submission as working group document.  This document is a modified
1810    and updated version of draft-kolkman-dnssec-operational-practices-00.
1811
1812 D.2.  draft-ietf-dnsop-dnssec-operational-practices-01
1813
1814    changed the definition of "Bogus" to reflect the one in the protocol
1815    draft.
1816
1817    Bad to Bogus
1818
1819    Style and spelling corrections
1820
1821    KSK - SEP mapping made explicit.
1822
1823    Updates from Sam Weiler added
1824
1825 D.3.  draft-ietf-dnsop-dnssec-operational-practices-02
1826
1827    Style and errors corrected.
1828
1829    Added Automatic rollover requirements from I-D.ietf-dnsop-key-
1830    rollover-requirements.
1831
1832 D.4.  draft-ietf-dnsop-dnssec-operational-practices-03
1833
1834    Added the definition of Key effectivity period and used that term
1835    instead of Key validity period.
1836
1837    Modified the order of the sections, based on a suggestion by Rip
1838    Loomis.
1839
1840    Included parts from RFC 2541 [12].  Most of its ground was already
1841    covered.  This document obsoletes RFC 2541 [12].  Section 3.1.2
1842    deserves some review as it in contrast to RFC 2541 does _not_ give
1843    recomendations about root-zone keys.
1844
1845
1846
1847 Kolkman & Gieben        Expires September 7, 2006              [Page 33]
1848 \f
1849 Internet-Draft        DNSSEC Operational Practices            March 2006
1850
1851
1852    added a paragraph to Section 4.4.4
1853
1854 D.5.  draft-ietf-dnsop-dnssec-operational-practices-04
1855
1856    Somewhat more details added about the pre-publish KSK rollover.  Also
1857    moved that subsection down a bit.
1858
1859    Editorial and content nits that came in during wg last call were
1860    fixed.
1861
1862 D.6.  draft-ietf-dnsop-dnssec-operational-practices-05
1863
1864    Applied some another set of comments that came in _after_ the the
1865    WGLC.
1866
1867    Applied comments from Hilarie Orman and made a referece to RFC 3766.
1868    Deleted of a lot of key length discussion and took over the
1869    recommendations from RFC 3766.
1870
1871    Reworked all the heading of the rollover figures
1872
1873 D.7.  draft-ietf-dnsop-dnssec-operational-practices-06
1874
1875    One comment from Scott Rose applied.
1876
1877    Marcos Sanz gave a lots of editorial nits.  Almost all are
1878    incorporated.
1879
1880 D.8.  draft-ietf-dnsop-dnssec-operational-practices-07
1881
1882    Peter Koch's comments applied.
1883
1884    SHA-1/SHA-256 remarks added
1885
1886 D.9.  draft-ietf-dnsop-dnssec-operational-practices-08
1887
1888    IESG comments applied.  Added headers and some captions to the tables
1889    and applied all the nits.
1890
1891    IESG DISCUSS comments applied
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903 Kolkman & Gieben        Expires September 7, 2006              [Page 34]
1904 \f
1905 Internet-Draft        DNSSEC Operational Practices            March 2006
1906
1907
1908 Authors' Addresses
1909
1910    Olaf M. Kolkman
1911    NLnet Labs
1912    Kruislaan 419
1913    Amsterdam  1098 VA
1914    The Netherlands
1915
1916    Email: olaf@nlnetlabs.nl
1917    URI:   http://www.nlnetlabs.nl
1918
1919
1920    Miek Gieben
1921    NLnet Labs
1922    Kruislaan 419
1923    Amsterdam  1098 VA
1924    The Netherlands
1925
1926    Email: miek@nlnetlabs.nl
1927    URI:   http://www.nlnetlabs.nl
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959 Kolkman & Gieben        Expires September 7, 2006              [Page 35]
1960 \f
1961 Internet-Draft        DNSSEC Operational Practices            March 2006
1962
1963
1964 Intellectual Property Statement
1965
1966    The IETF takes no position regarding the validity or scope of any
1967    Intellectual Property Rights or other rights that might be claimed to
1968    pertain to the implementation or use of the technology described in
1969    this document or the extent to which any license under such rights
1970    might or might not be available; nor does it represent that it has
1971    made any independent effort to identify any such rights.  Information
1972    on the procedures with respect to rights in RFC documents can be
1973    found in BCP 78 and BCP 79.
1974
1975    Copies of IPR disclosures made to the IETF Secretariat and any
1976    assurances of licenses to be made available, or the result of an
1977    attempt made to obtain a general license or permission for the use of
1978    such proprietary rights by implementers or users of this
1979    specification can be obtained from the IETF on-line IPR repository at
1980    http://www.ietf.org/ipr.
1981
1982    The IETF invites any interested party to bring to its attention any
1983    copyrights, patents or patent applications, or other proprietary
1984    rights that may cover technology that may be required to implement
1985    this standard.  Please address the information to the IETF at
1986    ietf-ipr@ietf.org.
1987
1988
1989 Disclaimer of Validity
1990
1991    This document and the information contained herein are provided on an
1992    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
1993    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
1994    ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
1995    INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
1996    INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
1997    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1998
1999
2000 Copyright Statement
2001
2002    Copyright (C) The Internet Society (2006).  This document is subject
2003    to the rights, licenses and restrictions contained in BCP 78, and
2004    except as set forth therein, the authors retain all their rights.
2005
2006
2007 Acknowledgment
2008
2009    Funding for the RFC Editor function is currently provided by the
2010    Internet Society.
2011
2012
2013
2014
2015 Kolkman & Gieben        Expires September 7, 2006              [Page 36]
2016 \f