summaryrefslogtreecommitdiff
path: root/doc/draft
diff options
context:
space:
mode:
Diffstat (limited to 'doc/draft')
-rw-r--r--doc/draft/draft-faltstrom-uri-06.txt729
-rw-r--r--doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-02.txt616
-rw-r--r--doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-05.txt728
-rw-r--r--doc/draft/draft-ietf-dnsop-dnssec-key-timing-00.txt1960
-rw-r--r--doc/draft/draft-ietf-dnsop-dnssec-key-timing-02.txt1848
5 files changed, 3305 insertions, 2576 deletions
diff --git a/doc/draft/draft-faltstrom-uri-06.txt b/doc/draft/draft-faltstrom-uri-06.txt
new file mode 100644
index 0000000000000..cf4fd832e1f45
--- /dev/null
+++ b/doc/draft/draft-faltstrom-uri-06.txt
@@ -0,0 +1,729 @@
+
+
+
+Network Working Group P. Faltstrom
+Internet-Draft Cisco
+Updates: 3404, 3959 O. Kolkman
+(if approved) NLNet
+Intended status: Standards Track October 11, 2010
+Expires: April 14, 2011
+
+
+ The Uniform Resource Identifier (URI) DNS Resource Record
+ draft-faltstrom-uri-06.txt
+
+Abstract
+
+ This document defines a new DNS resource record, called the Uniform
+ Resource Identifier (URI) RR, for publishing mappings from hostnames
+ to URIs.
+
+Status of this Memo
+
+ This Internet-Draft is submitted in full conformance with the
+ provisions of BCP 78 and BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF). Note that other groups may also distribute
+ working documents as Internet-Drafts. The list of current Internet-
+ Drafts is at http://datatracker.ietf.org/drafts/current/.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ This Internet-Draft will expire on April 14, 2011.
+
+Copyright Notice
+
+ Copyright (c) 2010 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 1]
+
+Internet-Draft URI Resource Record October 2010
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Applicability Statement . . . . . . . . . . . . . . . . . . . 3
+ 3. DNS considerations . . . . . . . . . . . . . . . . . . . . . . 4
+ 4. The format of the URI RR . . . . . . . . . . . . . . . . . . . 4
+ 4.1. Ownername, class and type . . . . . . . . . . . . . . . . 4
+ 4.2. Priority . . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 4.3. Weight . . . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 4.4. Target . . . . . . . . . . . . . . . . . . . . . . . . . . 5
+ 4.5. URI RDATA Wire Format . . . . . . . . . . . . . . . . . . 6
+ 5. Definition of the flag 'D' for NAPTR records . . . . . . . . . 6
+ 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 6.1. Homepage at one domain, but two domains in use . . . . . . 7
+ 7. Relation to S-NAPTR . . . . . . . . . . . . . . . . . . . . . 7
+ 8. Relation to U-NAPTR . . . . . . . . . . . . . . . . . . . . . 7
+ 9. Relation to SRV . . . . . . . . . . . . . . . . . . . . . . . 8
+ 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
+ 10.1. Registration of the URI Resource Record Type . . . . . . . 8
+ 10.2. Registration of services . . . . . . . . . . . . . . . . . 8
+ 11. Security Considerations . . . . . . . . . . . . . . . . . . . 8
+ 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 9
+ Appendix A. RRTYPE Allocation Request . . . . . . . . . . . . . . 9
+ 13. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
+ 13.1. Normative References . . . . . . . . . . . . . . . . . . . 12
+ 13.2. Non-normative references . . . . . . . . . . . . . . . . . 12
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 2]
+
+Internet-Draft URI Resource Record October 2010
+
+
+1. Introduction
+
+ This document explains the use of the Domain Name System (DNS) for
+ the storage of URIs, and how to resolve hostnames to such URIs that
+ can be used by various applications. For resolution the application
+ need to know both the hostname and the protocol that the URI is to be
+ used for. The protocol is registered by IANA.
+
+ Currently, looking up URIs given a hostname uses the DDDS [RFC3401]
+ application framework with the DNS as a database as specified in RFC
+ 3404 [RFC3404]. This has a number of implications such as the
+ inability to select what NAPTR records that match the query are
+ interesting. The RRSet returned will always consist of all URIs
+ "connected" with the domain in question.
+
+ The URI resource record specified in this document enables the
+ querying party to select which ones of the NAPTR records one is
+ interested in. This because data in the service field of the NAPTR
+ record is included in the owner part of the URI resource record type.
+
+ Querying for URI resource records is not replacing querying for NAPTR
+ resource records (or use of S-NAPTR [RFC3958]). Instead, the URI
+ resource record type provides a complementary mechanism to use when
+ one already knows what service field is interesting. With it, one
+ can directly query for the specific subset of the otherwise possibly
+ large RRSet given back when querying for NAPTR resource records.
+
+ This document updates RFC 3958 and RFC 3404 by adding the flag "D" to
+ the list of defined terminal flags in section 2.2.3 of RFC 3958 and
+ 4.3 of RFC 3404.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in BCP 14, RFC 2119
+ [RFC2119].
+
+
+2. Applicability Statement
+
+ In general, it is expected that URI records will be used by clients
+ for applications where the relevant protocol to be used is known,
+ but, for example, an extra abstraction is needed in order to separate
+ a domain name from a point of service (as addressed by the URI). One
+ example of such a situation is when an organisation has many domain
+ names, but only one official web page.
+
+ Applications MUST know the specific service fields to prepend the
+ hostname with. Using repetitive queries for URI records MUST NOT be
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 3]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ a replacement for querying for NAPTR records according to the NAPTR
+ (DDDS) or S-NAPTR algorithms. NAPTR records serve the purpose to
+ discover the various services and URIs for looking up access points
+ for a given service. Those are two very different kinds of needs.
+
+
+3. DNS considerations
+
+ Using prefix labels, such as underscored service tags, prevents the
+ use of wildcards, as constructs as _s2._s1.*.example.net. are not
+ possible in the DNS, see RFC 4592 [RFC4592]. Besides, underscored
+ service tags used for the URI RR (based on the NAPTR service
+ descriptions) may have slightly different semantics than service tags
+ used for underscored prefix labels that are used in combination with
+ other (yet unspecified) RR types. This may cause subtle management
+ problems when delegation structure that has developed within the
+ context of URI RRs is also to be used for other RR types. Since the
+ service labels might be overloaded, applications should carefully
+ check that the application level protocol is indeed the protocol they
+ expect.
+
+ Subtle management issues may also arise when the delegations from
+ service to sub service label involves several parties and different
+ stake holders.
+
+
+4. The format of the URI RR
+
+ This is the presentation format of the URI RR:
+
+
+ Ownername TTL Class URI Priority Weight Target
+
+
+ The URI RR does not cause any kind of Additional Section processing.
+
+4.1. Ownername, class and type
+
+ The URI ownername is subject to special conventions.
+
+ Just like the SRV RR [RFC2782] the URI RR has service information
+ encoded in its ownername. In order to encode the service for a
+ specific owner name one uses service parameters. Valid service
+ parameters used are those used for SRV resource records, or
+ registered by IANA for Enumservice Registrations. The Enumservice
+ Registration parameters are reversed (subtype(s) before type),
+ prepended with an underscore (_) and prepended to the owner name in
+ separate labels. The underscore is prepended to the service
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 4]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ parameters to avoid collisions with DNS labels that occur in nature,
+ and the order is reversed to make it possible to do delegations, if
+ needed, to different zones (and therefore providers of DNS).
+
+ It should be noted that the usage of a prefix must be described in
+ detail in for example the Enumservice Registration documentation, or
+ in a specific document that clarifies potential overload of
+ parameters in the same URI. Specifically, registered URI schemes are
+ not automatically acceptable as a service. With the HTTP scheme, one
+ can for example have multiple methods (GET, PUT, etc), and this with
+ the same URI.
+
+ For example, suppose we are looking for the URI for a service with
+ Service Parameter "A:B:C" for host example.com.. Then we would query
+ for (QNAME,QTYPE)=("_C._B._A.example.com","URI")
+
+ The type number for the URI record is TBD1 (to be assigned by IANA).
+
+ The URI resource record is class independent.
+
+ The URI RR has no special TTL requirements.
+
+4.2. Priority
+
+ The priority of the target URI in this RR. Its range is 0-65535. A
+ client MUST attempt to contact the URI with the lowest-numbered
+ priority it can reach; URIs with the same priority SHOULD be tried in
+ the order defined by the weight field.
+
+4.3. Weight
+
+ A server selection mechanism. The weight field specifies a relative
+ weight for entries with the same priority. Larger weights SHOULD be
+ given a proportionately higher probability of being selected. The
+ range of this number is 0-65535.
+
+4.4. Target
+
+ The URI of the target, enclosed in double-quote characters ('"').
+ Resolution of the URI is according to the definitions for the Scheme
+ of the URI.
+
+ The URI is encoded as one or more <character-string> RFC1035 section
+ 3.3 [RFC1035].
+
+
+
+
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 5]
+
+Internet-Draft URI Resource Record October 2010
+
+
+4.5. URI RDATA Wire Format
+
+ The RDATA for a URI RR consists of a 2 octet Priority field, a two
+ octet Weight field, and a variable length target field.
+
+ Priority and Weight are unsigned integers in network byte order.
+
+ The Target field contains the URI (without the enclosing double-
+ quote characters used in the presentation format), encoded as a
+ sequence of one or more <character-string> (as specified in section
+ 3.3 of RFC 1035 [RFC1035]), where all but the last <character-string>
+ are filled up to the maximum length of 255 octets.
+
+ The Target field can also contain an IRI, but with the additional
+ requirements that it is in UTF-8 [RFC3629] and possible to convert to
+ a URI according to section 3.1 of RFC 3987 [RFC3987] and back again
+ to an IRI according to section 3.2. Other character sets than UTF-8
+ are not allowed. The domain name part of the IRI can be either an
+ U-LABEL or A-LABEL as defined in RFC 5890 [RFC5890].
+
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Priority | Weight |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ / /
+ / Target /
+ / /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+5. Definition of the flag 'D' for NAPTR records
+
+ This document specifies the flag "D" for use as a flag in NAPTR
+ records. The flag indicate a terminal NAPTR record because it
+ denotes the end of the DDDS/NAPTR processing rules. In the case of a
+ "D" flag, the Replacement field in the NAPTR record, prepended with
+ the service flags, is used as the Owner of a DNS query for URI
+ records, and normal URI processing as defined in this document is
+ applied.
+
+ The replacement field MUST NOT include any of the service parameters.
+ Those are to be prepended (together with underscore) as described in
+ other places in this document.
+
+ The Regexp field in the NAPTR record MUST be empty when the 'D' flag
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 6]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ is in use.
+
+
+6. Examples
+
+6.1. Homepage at one domain, but two domains in use
+
+ An organisation has the domain names example.com and example.net, but
+ the official URI http://www.example.com/. Given the service type
+ "web" and subtype "http" (from the IANA registry), the following URI
+ Resource Records could be made available in the respective zones
+ (example.com and example.net):
+
+
+ $ORIGIN example.com.
+ _http._web IN URI 10 1 "http://www.example.com/"
+
+ $ORIGIN example.net.
+ _http._web IN URI 10 1 "http://www.example.com/"
+
+
+
+7. Relation to S-NAPTR
+
+ The URI resource record type is not a replacement for the S-NAPTR.
+ It is instead an extension and the seond step of the S-NAPTR
+ resolution can resolve a URI resource record instead of using SRV
+ records and yet another algorithm for how to use SRV records for the
+ specific protocol.
+
+
+ $ORIGIN example.com.
+ ;; order pref flags
+ IN NAPTR 100 10 "s" "EM:ProtA" ( ; service
+ "" ; regexp
+ _ProtA._tcp.example.com. ; replacement
+ _ProtA._tcp IN URI "schemeA:service.example.com/example"
+
+
+
+8. Relation to U-NAPTR
+
+ The URI Resource Record Type, together with S-NAPTR, can be viewed as
+ a replacement for the U-NAPTR. The URI Resource Record Type is
+ though only interesting when one know a base domain name, a protocol
+ and service so that one can compose the record to look up. NAPTR
+ records of any kind are used to look up what services exists for a
+ certain domain, which is one step before the URI resource record is
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 7]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ used.
+
+
+9. Relation to SRV
+
+ The URI Resource Record Type can be viewed as a replacement for the
+ SRV record. This because it like the SRV record can only be looked
+ up if one know the base domain, the protocol and the service. It has
+ a similar functionality, but instead of returning a hostname and port
+ number, the URI record return a full URI. As such, it can be viewed
+ as a more powerful resource record than SRV.
+
+
+10. IANA Considerations
+
+10.1. Registration of the URI Resource Record Type
+
+ IANA has assigned Resource Record Type TBD1 for the URI Resource
+ Record Type and added the line depicted below to the registry named
+ Resource Record (RR) TYPEs and QTYPEs as defined in BCP 42 RFC 5395
+ [RFC5395] and located at
+ http://www.iana.org/assignments/dns-parameters.
+
+
+ TYPE Value and meaning Reference
+ ----------- --------------------------------------------- ---------
+ URI TBD1 a URI for a service (per the owner name) [RFCXXXX]
+
+
+10.2. Registration of services
+
+ No new registry is needed for the registration of services as the
+ Enumservice Registrations registry is used also for the URI resource
+ record type.
+
+
+11. Security Considerations
+
+ The authors do not believe this resource record cause any new
+ security problems. Deployment must though be done in a proper way as
+ misconfiguration of this resource record might make it impossible to
+ reach the service that was originally intended to be accessed.
+
+ Using the URI resource record together with security mechanisms that
+ relies on verification of authentication of hostnames, like TLS,
+ makes it important to choose the correct domain name when doing the
+ comparison.
+
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 8]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ The basic mechanism works as follows:
+
+ 1. Announce the fact example.com is hosted at example.org (with
+ some URL) in DNS
+ 2. Secure the URI resource record with DNSSEC.
+ 3. Verify the TLS (for example) certificate for the connection to
+ example.org matches, i.e. use the hostname in the URI and not
+ the hostname used originally when looking up the URI resource
+ record.
+ 4. If needed, do application layer authentication etc over the then
+ encrypted connection.
+
+ What also can happen is that the URI in the resource record type has
+ errors in it. Applications using the URI resource record type for
+ resolution should behave similarly as if the user typed (or copy and
+ pasted) the URI. At least it must be clear to the user that the
+ error is not due to any error from his side.
+
+ One SHOULD not include userinfo (see User Information, Section 3.2.1,
+ in RFC 3986 [RFC3986]) in a URI that is used in a URI resource record
+ as DNS data must be viewed as publicly available information.
+
+
+12. Acknowledgements
+
+ Ideas on how to split the two different kind of queries "What
+ services exists for this domain name" and "What is the URI for this
+ service" came from Scott Bradner and Lawrence Conroy. Other people
+ that have contributed to this document include Richard Barnes, Leslie
+ Daigle, Olafur Gudmundsson, Ted Hardie, Peter Koch and Penn Pfautz.
+
+
+Appendix A. RRTYPE Allocation Request
+
+ A. Submission Date:
+
+ May 23, 2009
+
+ B. Submission Type:
+
+ [X] New RRTYPE
+ [ ] Modification to existing RRTYPE
+
+ C. Contact Information for submitter:
+
+ Name: Patrik Faltstrom
+ Email Address: paf@cisco.com
+ International telephone number: +46-8-6859131
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 9]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ Other contact handles:
+ (Note: This information will be publicly posted.)
+
+ D. Motivation for the new RRTYPE application?
+
+ There is no easy way to get from a domain name to a URI (or
+ IRI). Some mechanisms exists via use of the NAPTR [RFC3403]
+ resource record. That implies quite complicated rules that are
+ simplified via the S-NAPTR [RFC3958] specification. But, the
+ ability to directly look up a URI still exists. This
+ specification uses a prefix based naming mechanism originated in
+ the definition of the SRV [RFC2782] resource record, and the
+ RDATA is a URI, encoded as one text field.
+
+ See also above (Section 1).
+
+ E. Description of the proposed RR type.
+
+ The format of the URI resource record is as follows:
+
+
+ Ownername TTL Class URI Priority Weight Target
+
+
+ The URI RR has service information encoded in its ownername. In
+ order to encode the service for a specific owner name one uses
+ service parameters. Valid service parameters used are either
+ Enumservice Registrations registered by IANA, or prefixes used
+ for the SRV resource record.
+
+ The wire format of the RDATA is as follows:
+
+
+ 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Priority | Weight |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ / /
+ / Target /
+ / /
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+
+
+
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 10]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ F. What existing RRTYPE or RRTYPEs come closest to filling that
+ need and why are they unsatisfactory?
+
+ The RRTYPE that come closest is the NAPTR resource record. It
+ is for example used in the DDDS and S-NAPTR algorithms. The
+ main problem with the NAPTR is that selection of what record (or
+ records) one is interested in is based on data stored in the
+ RDATA portion of the NAPTR resource record. This, as explained
+ in RFC 5507 [RFC5507], is not optimal for DNS lookups. Further,
+ most applications using NAPTR resource records uses regular
+ expression based rewrite rules for creation of the URI, and that
+ has shown be complicated to implement.
+
+ The second closest RRTYPE is the SRV record that given a
+ prefixed based naming just like is suggested for the URI
+ resource record, one get back a port number and domain name.
+ This can also be used for creation of a URI, but, only URIs
+ without path components.
+
+ G. What mnemonic is requested for the new RRTYPE (optional)?
+
+ URI
+
+ H. Does the requested RRTYPE make use of any existing IANA Registry
+ or require the creation of a new IANA sub-registry in DNS
+ Parameters?
+
+ Yes, partially.
+
+ One of the mechanisms to select a service is to use the
+ Enumservice Registry managed by IANA. Another is to use
+ services and protocols used for SRV records.
+
+ I. Does the proposal require/expect any changes in DNS servers/
+ resolvers that prevent the new type from being processed as an
+ unknown RRTYPE (see [RFC3597])?
+
+ No
+
+ J. Comments:
+
+ None
+
+
+
+13. References
+
+
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 11]
+
+Internet-Draft URI Resource Record October 2010
+
+
+13.1. Normative References
+
+ [E164] ITU-T, "The International Public Telecommunication Number
+ Plan", Recommendation E.164, May 1997.
+
+ [RFC1035] Mockapetris, P., "Domain names - implementation and
+ specification", STD 13, RFC 1035, November 1987.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO
+ 10646", STD 63, RFC 3629, November 2003.
+
+ [RFC3958] Daigle, L. and A. Newton, "Domain-Based Application
+ Service Location Using SRV RRs and the Dynamic Delegation
+ Discovery Service (DDDS)", RFC 3958, January 2005.
+
+ [RFC3987] Duerst, M. and M. Suignard, "Internationalized Resource
+ Identifiers (IRIs)", RFC 3987, January 2005.
+
+ [RFC5395] Eastlake, D., "Domain Name System (DNS) IANA
+ Considerations", BCP 42, RFC 5395, November 2008.
+
+ [RFC5890] Klensin, J., "Internationalized Domain Names for
+ Applications (IDNA): Definitions and Document Framework",
+ RFC 5890, August 2010.
+
+13.2. Non-normative references
+
+ [RFC2782] Gulbrandsen, A., Vixie, P., and L. Esibov, "A DNS RR for
+ specifying the location of services (DNS SRV)", RFC 2782,
+ February 2000.
+
+ [RFC3401] Mealling, M., "Dynamic Delegation Discovery System (DDDS)
+ Part One: The Comprehensive DDDS", RFC 3401, October 2002.
+
+ [RFC3403] Mealling, M., "Dynamic Delegation Discovery System (DDDS)
+ Part Three: The Domain Name System (DNS) Database",
+ RFC 3403, October 2002.
+
+ [RFC3404] Mealling, M., "Dynamic Delegation Discovery System (DDDS)
+ Part Four: The Uniform Resource Identifiers (URI)",
+ RFC 3404, October 2002.
+
+ [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform
+ Resource Identifier (URI): Generic Syntax", STD 66,
+ RFC 3986, January 2005.
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 12]
+
+Internet-Draft URI Resource Record October 2010
+
+
+ [RFC4592] Lewis, E., "The Role of Wildcards in the Domain Name
+ System", RFC 4592, July 2006.
+
+ [RFC4848] Daigle, L., "Domain-Based Application Service Location
+ Using URIs and the Dynamic Delegation Discovery Service
+ (DDDS)", RFC 4848, April 2007.
+
+ [RFC5507] IAB, Faltstrom, P., Austein, R., and P. Koch, "Design
+ Choices When Expanding the DNS", RFC 5507, April 2009.
+
+
+Authors' Addresses
+
+ Patrik Faltstrom
+ Cisco Systems
+
+ Email: paf@cisco.com
+
+
+ Olaf Kolkman
+ NLnet Labs
+
+ Email: olaf@NLnetLabs.nl
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Faltstrom & Kolkman Expires April 14, 2011 [Page 13]
+
+
diff --git a/doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-02.txt b/doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-02.txt
deleted file mode 100644
index ba1b4147f4dbc..0000000000000
--- a/doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-02.txt
+++ /dev/null
@@ -1,616 +0,0 @@
-
-
-
-DNSEXT Working Group M. Graff
-Internet-Draft P. Vixie
-Obsoletes: 2671 (if approved) Internet Systems Consortium
-Intended status: Standards Track July 28, 2009
-Expires: January 29, 2010
-
-
- Extension Mechanisms for DNS (EDNS0)
- draft-ietf-dnsext-rfc2671bis-edns0-02
-
-Status of this Memo
-
- This Internet-Draft is submitted to IETF in full conformance with the
- provisions of BCP 78 and BCP 79.
-
- Internet-Drafts are working documents of the Internet Engineering
- Task Force (IETF), its areas, and its working groups. Note that
- other groups may also distribute working documents as Internet-
- Drafts.
-
- Internet-Drafts are draft documents valid for a maximum of six months
- and may be updated, replaced, or obsoleted by other documents at any
- time. It is inappropriate to use Internet-Drafts as reference
- material or to cite them other than as "work in progress."
-
- The list of current Internet-Drafts can be accessed at
- http://www.ietf.org/ietf/1id-abstracts.txt.
-
- The list of Internet-Draft Shadow Directories can be accessed at
- http://www.ietf.org/shadow.html.
-
- This Internet-Draft will expire on January 29, 2010.
-
-Copyright Notice
-
- Copyright (c) 2009 IETF Trust and the persons identified as the
- document authors. All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust's Legal
- Provisions Relating to IETF Documents in effect on the date of
- publication of this document (http://trustee.ietf.org/license-info).
- Please review these documents carefully, as they describe your rights
- and restrictions with respect to this document.
-
-Abstract
-
- The Domain Name System's wire protocol includes a number of fixed
- fields whose range has been or soon will be exhausted and does not
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 1]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
- allow requestors to advertise their capabilities to responders. This
- document describes backward compatible mechanisms for allowing the
- protocol to grow.
-
- This document updates the EDNS0 specification based on 10 years of
- operational experience.
-
-
-Table of Contents
-
- 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
- 2. Requirements Language . . . . . . . . . . . . . . . . . . . . 3
- 3. EDNS Support Requirement . . . . . . . . . . . . . . . . . . . 3
- 4. Affected Protocol Elements . . . . . . . . . . . . . . . . . . 3
- 4.1. Message Header . . . . . . . . . . . . . . . . . . . . . . 3
- 4.2. Label Types . . . . . . . . . . . . . . . . . . . . . . . 4
- 4.3. UDP Message Size . . . . . . . . . . . . . . . . . . . . . 4
- 5. Extended Label Types . . . . . . . . . . . . . . . . . . . . . 4
- 6. OPT pseudo-RR . . . . . . . . . . . . . . . . . . . . . . . . 4
- 6.1. OPT Record Behavior . . . . . . . . . . . . . . . . . . . 4
- 6.2. OPT Record Format . . . . . . . . . . . . . . . . . . . . 5
- 6.3. Requestor's Payload Size . . . . . . . . . . . . . . . . . 6
- 6.4. Responder's Payload Size . . . . . . . . . . . . . . . . . 6
- 6.5. Payload Size Selection . . . . . . . . . . . . . . . . . . 7
- 6.6. Middleware Boxes . . . . . . . . . . . . . . . . . . . . . 7
- 6.7. Extended RCODE . . . . . . . . . . . . . . . . . . . . . . 7
- 6.8. OPT Options Type Allocation Procedure . . . . . . . . . . 8
- 7. Transport Considerations . . . . . . . . . . . . . . . . . . . 8
- 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9
- 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
- 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10
- 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
- 11.1. Normative References . . . . . . . . . . . . . . . . . . . 10
- 11.2. Informative References . . . . . . . . . . . . . . . . . . 10
- Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 10
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 2]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
-1. Introduction
-
- DNS [RFC1035] specifies a Message Format and within such messages
- there are standard formats for encoding options, errors, and name
- compression. The maximum allowable size of a DNS Message is fixed.
- Many of DNS's protocol limits are too small for uses which are or
- which are desired to become common. There is no way for
- implementations to advertise their capabilities.
-
- Unextended agents will not know how to interpret the protocol
- extensions detailed here. In practice, these clients will be
- upgraded when they have need of a new feature, and only new features
- will make use of the extensions. Extended agents must be prepared
- for behaviour of unextended clients in the face of new protocol
- elements, and fall back gracefully to unextended DNS. [RFC2671]
- originally proposed extensions to the basic DNS protocol to overcome
- these deficiencies. This memo refines that specification and
- obsoletes [RFC2671].
-
-
-2. Requirements Language
-
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
- "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
- document are to be interpreted as described in RFC 2119 [RFC2119].
-
-
-3. EDNS Support Requirement
-
- EDNS support is manditory in a modern world. DNSSEC requires EDNS
- support, and many other featres are made possible only by EDNS
- support to request or advertise them.
-
-
-4. Affected Protocol Elements
-
-4.1. Message Header
-
- The DNS Message Header's (see , section 4.1.1 [RFC1035]) second full
- 16-bit word is divided into a 4-bit OPCODE, a 4-bit RCODE, and a
- number of 1-bit flags. The original reserved Z bits have been
- allocated to various purposes, and most of the RCODE values are now
- in use. More flags and more possible RCODEs are needed. The OPT
- pseudo-RR specified below contains subfields that carry a bit field
- extension of the RCODE field and additional flag bits, respectively.
-
-
-
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 3]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
-4.2. Label Types
-
- The first two bits of a wire format domain label are used to denote
- the type of the label. ,section 4.1.4 [RFC1035] allocates two of the
- four possible types and reserves the other two. More label types
- were proposed in [RFC2671] section 3.
-
-4.3. UDP Message Size
-
- DNS Messages are limited to 512 octets in size when sent over UDP.
- While the minimum maximum reassembly buffer size still allows a limit
- of 512 octets of UDP payload, most of the hosts now connected to the
- Internet are able to reassemble larger datagrams. Some mechanism
- must be created to allow requestors to advertise larger buffer sizes
- to responders. To this end, the OPT pseudo-RR specified below
- contains a maximum payload size field.
-
-
-5. Extended Label Types
-
- The first octet in the on-the-wire representation of a DNS label
- specifies the label type; the basic DNS specification [RFC1035]
- dedicates the two most significant bits of that octet for this
- purpose.
-
- This document reserves DNS label type 0b01 for use as an indication
- for Extended Label Types. A specific extended label type is selected
- by the 6 least significant bits of the first octet. Thus, Extended
- Label Types are indicated by the values 64-127 (0b01xxxxxx) in the
- first octet of the label.
-
- This document does not describe any specific Extended Label Type.
-
- In practice, Extended Label Types are difficult to use due to support
- in clients and intermediate gateways. Therefore, the registry of
- Extended Label Types is requested to be closed. They cause
- interoperability problems and at present no defined label types are
- in use.
-
-
-6. OPT pseudo-RR
-
-6.1. OPT Record Behavior
-
- One OPT pseudo-RR (RR type 41) MAY be added to the additional data
- section of a request. If present in requests, compliant responders
- which implement EDNS MUST include an OPT record in non-truncated
- responses, and SHOULD attempt to include them in all responses. An
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 4]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
- OPT is called a pseudo-RR because it pertains to a particular
- transport level message and not to any actual DNS data. OPT RRs MUST
- NOT be cached, forwarded, or stored in or loaded from master files.
- The quantity of OPT pseudo-RRs per message MUST be either zero or
- one, but not greater.
-
-6.2. OPT Record Format
-
- An OPT RR has a fixed part and a variable set of options expressed as
- {attribute, value} pairs. The fixed part holds some DNS meta data
- and also a small collection of basic extension elements which we
- expect to be so popular that it would be a waste of wire space to
- encode them as {attribute, value} pairs.
-
- The fixed part of an OPT RR is structured as follows:
-
- +------------+--------------+------------------------------+
- | Field Name | Field Type | Description |
- +------------+--------------+------------------------------+
- | NAME | domain name | empty (root domain) |
- | TYPE | u_int16_t | OPT |
- | CLASS | u_int16_t | requestor's UDP payload size |
- | TTL | u_int32_t | extended RCODE and flags |
- | RDLEN | u_int16_t | describes RDATA |
- | RDATA | octet stream | {attribute,value} pairs |
- +------------+--------------+------------------------------+
-
- OPT RR Format
-
- The variable part of an OPT RR is encoded in its RDATA and is
- structured as zero or more of the following:
-
-
- +0 (MSB) +1 (LSB)
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
- 0: | OPTION-CODE |
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
- 2: | OPTION-LENGTH |
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
- 4: | |
- / OPTION-DATA /
- / /
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-
-
-
-
-
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 5]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
- OPTION-CODE
- Assigned by Expert Review.
-
- OPTION-LENGTH
- Size (in octets) of OPTION-DATA.
-
- OPTION-DATA
- Varies per OPTION-CODE.
-
- Order of appearance of option tuples is never relevant. Any option
- whose meaning is affected by other options is so affected no matter
- which one comes first in the OPT RDATA.
-
- Any OPTION-CODE values not understood by a responder or requestor
- MUST be ignored. Specifications of such options might wish to
- include some kind of signalled acknowledgement. For example, an
- option specification might say that if a responder sees option XYZ,
- it SHOULD include option XYZ in its response.
-
-6.3. Requestor's Payload Size
-
- The requestor's UDP payload size (which OPT stores in the RR CLASS
- field) is the number of octets of the largest UDP payload that can be
- reassembled and delivered in the requestor's network stack. Note
- that path MTU, with or without fragmentation, may be smaller than
- this. Values lower than 512 MUST be treated as equal to 512.
-
- Note that a 512-octet UDP payload requires a 576-octet IP reassembly
- buffer. Choosing 1280 for IPv4 over Ethernet would be reasonable.
- The consequence of choosing too large a value may be an ICMP message
- from an intermediate gateway, or even a silent drop of the response
- message.
-
- The requestor's maximum payload size can change over time, and MUST
- therefore not be cached for use beyond the transaction in which it is
- advertised.
-
-6.4. Responder's Payload Size
-
- The responder's maximum payload size can change over time, but can be
- reasonably expected to remain constant between two sequential
- transactions; for example, a meaningless QUERY to discover a
- responder's maximum UDP payload size, followed immediately by an
- UPDATE which takes advantage of this size. (This is considered
- preferrable to the outright use of TCP for oversized requests, if
- there is any reason to suspect that the responder implements EDNS,
- and if a request will not fit in the default 512 payload size limit.)
-
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 6]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
-6.5. Payload Size Selection
-
- Due to transaction overhead, it is unwise to advertise an
- architectural limit as a maximum UDP payload size. Just because your
- stack can reassemble 64KB datagrams, don't assume that you want to
- spend more than about 4KB of state memory per ongoing transaction.
-
- A requestor MAY choose to implement a fallback to smaller advertised
- sizes to work around firewall or other network limitations. A
- requestor SHOULD choose to use a fallback mechanism which begins with
- a large size, such as 4096. If that fails, a fallback around the
- 1220 byte range SHOULD be tried, as it has a reasonable chance to fit
- within a single Ethernet frame. Failing that, a requestor MAY choose
- a 512 byte packet, which with large answers may cause a TCP retry.
-
-6.6. Middleware Boxes
-
- Middleware boxes MUST NOT limit DNS messages over UDP to 512 bytes.
-
- Middleware boxes which simply forward requests to a recursive
- resolver MUST NOT modify the OPT record contents in either direction.
-
-6.7. Extended RCODE
-
- The extended RCODE and flags (which OPT stores in the RR TTL field)
- are structured as follows:
-
- +0 (MSB) +1 (LSB)
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
- 0: | EXTENDED-RCODE | VERSION |
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
- 2: | DO| Z |
- +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
-
- EXTENDED-RCODE
- Forms upper 8 bits of extended 12-bit RCODE. Note that
- EXTENDED-RCODE value "0" indicates that an unextended RCODE is
- in use (values "0" through "15").
-
- VERSION
- Indicates the implementation level of whoever sets it. Full
- conformance with this specification is indicated by version
- ``0.'' Requestors are encouraged to set this to the lowest
- implemented level capable of expressing a transaction, to
- minimize the responder and network load of discovering the
- greatest common implementation level between requestor and
- responder. A requestor's version numbering strategy MAY
- ideally be a run time configuration option.
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 7]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
- If a responder does not implement the VERSION level of the
- request, then it answers with RCODE=BADVERS. All responses
- MUST be limited in format to the VERSION level of the request,
- but the VERSION of each response SHOULD be the highest
- implementation level of the responder. In this way a requestor
- will learn the implementation level of a responder as a side
- effect of every response, including error responses and
- including RCODE=BADVERS.
-
- DO
- DNSSEC OK bit as defined by [RFC3225].
-
- Z
- Set to zero by senders and ignored by receivers, unless
- modified in a subsequent specification.
-
-6.8. OPT Options Type Allocation Procedure
-
- Allocations assigned by expert review. TBD
-
-
-7. Transport Considerations
-
- The presence of an OPT pseudo-RR in a request should be taken as an
- indication that the requestor fully implements the given version of
- EDNS, and can correctly understand any response that conforms to that
- feature's specification.
-
- Lack of presence of an OPT record in a request MUST be taken as an
- indication that the requestor does not implement any part of this
- specification and that the responder MUST NOT use any protocol
- extension described here in its response.
-
- Responders who do not implement these protocol extensions MUST
- respond with FORMERR messages without any OPT record.
-
- If there is a problem with processing the OPT record itself, such as
- an option value that is badly formatted or includes out of range
- values, a FORMERR MAY be retured. If this occurs the response MUST
- include an OPT record. This MAY be used to distinguish between
- servers whcih do not implement EDNS and format errors within EDNS.
-
- If EDNS is used in a request, and the response arrives with TC set
- and with no EDNS OPT RR, a requestor SHOULD assume that truncation
- prevented the OPT RR from being appended by the responder, and
- further, that EDNS is not used in the response. Correspondingly, an
- EDNS responder who cannot fit all necessary elements (including an
- OPT RR) into a response, SHOULD respond with a normal (unextended)
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 8]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
- DNS response, possibly setting TC if the response will not fit in the
- unextended response message's 512-octet size.
-
-
-8. Security Considerations
-
- Requestor-side specification of the maximum buffer size may open a
- new DNS denial of service attack if responders can be made to send
- messages which are too large for intermediate gateways to forward,
- thus leading to potential ICMP storms between gateways and
- responders.
-
- Announcing very large UDP buffer sizes may result in dropping by
- firewalls. This could cause retransmissions with no hope of success.
- Some devices reject fragmented UDP packets.
-
- Announcing too small UDP buffer sizes may result in fallback to TCP.
- This is especially important with DNSSEC, where answers are much
- larger.
-
-
-9. IANA Considerations
-
- The IANA has assigned RR type code 41 for OPT.
-
- [RFC2671] specified a number of IANA sub-registries within "DOMAIN
- NAME SYSTEM PARAMETERS:" "EDNS Extended Label Type", "EDNS Option
- Codes", "EDNS Version Numbers", and "Domain System Response Code."
- IANA is advised to re-parent these subregistries to this document.
-
- RFC 2671 created an extended label type registry. We request that
- this registry be closed.
-
- This document assigns extended label type 0bxx111111 as "Reserved for
- future extended label types." We request that IANA record this
- assignment.
-
- This document assigns option code 65535 to "Reserved for future
- expansion."
-
- This document expands the RCODE space from 4 bits to 12 bits. This
- will allow IANA to assign more than the 16 distinct RCODE values
- allowed in RFC 1035 [RFC1035].
-
- This document assigns EDNS Extended RCODE "16" to "BADVERS".
-
- IESG approval should be required to create new entries in the EDNS
- Extended Label Type or EDNS Version Number registries, while any
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 9]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
- published RFC (including Informational, Experimental, or BCP) should
- be grounds for allocation of an EDNS Option Code.
-
-
-10. Acknowledgements
-
- Paul Mockapetris, Mark Andrews, Robert Elz, Don Lewis, Bob Halley,
- Donald Eastlake, Rob Austein, Matt Crawford, Randy Bush, and Thomas
- Narten were each instrumental in creating and refining this
- specification.
-
-
-11. References
-
-11.1. Normative References
-
- [RFC1035] Mockapetris, P., "Domain names - implementation and
- specification", STD 13, RFC 1035, November 1987.
-
- [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)",
- RFC 2671, August 1999.
-
- [RFC3225] Conrad, D., "Indicating Resolver Support of DNSSEC",
- RFC 3225, December 2001.
-
-11.2. Informative References
-
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
- Requirement Levels", BCP 14, RFC 2119, March 1997.
-
-
-Authors' Addresses
-
- Michael Graff
- Internet Systems Consortium
- 950 Charter Street
- Redwood City, California 94063
- US
-
- Phone: +1 650.423.1304
- Email: mgraff@isc.org
-
-
-
-
-
-
-
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 10]
-
-Internet-Draft EDNS0 Extensions July 2009
-
-
- Paul Vixie
- Internet Systems Consortium
- 950 Charter Street
- Redwood City, California 94063
- US
-
- Phone: +1 650.423.1301
- Email: vixie@isc.org
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Graff & Vixie Expires January 29, 2010 [Page 11]
-
diff --git a/doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-05.txt b/doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-05.txt
new file mode 100644
index 0000000000000..a46655affe0af
--- /dev/null
+++ b/doc/draft/draft-ietf-dnsext-rfc2671bis-edns0-05.txt
@@ -0,0 +1,728 @@
+
+
+
+DNSEXT Working Group J. Damas
+Internet-Draft M. Graff
+Obsoletes: 2671, 2673 P. Vixie
+(if approved) Internet Systems Consortium
+Intended status: Standards Track March 7, 2011
+Expires: September 8, 2011
+
+
+ Extension Mechanisms for DNS (EDNS0)
+ draft-ietf-dnsext-rfc2671bis-edns0-05
+
+Abstract
+
+ The Domain Name System's wire protocol includes a number of fixed
+ fields whose range has been or soon will be exhausted and does not
+ allow requestors to advertise their capabilities to responders. This
+ document describes backward compatible mechanisms for allowing the
+ protocol to grow.
+
+ This document updates the EDNS0 specification [RFC2671] based on 10
+ years of deployment experience.
+
+Status of this Memo
+
+ This Internet-Draft is submitted in full conformance with the
+ provisions of BCP 78 and BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF). Note that other groups may also distribute
+ working documents as Internet-Drafts. The list of current Internet-
+ Drafts is at http://datatracker.ietf.org/drafts/current/.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ This Internet-Draft will expire on September 8, 2011.
+
+Copyright Notice
+
+ Copyright (c) 2011 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 1]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 3. EDNS Support Requirement . . . . . . . . . . . . . . . . . . . 3
+ 4. DNS Message changes . . . . . . . . . . . . . . . . . . . . . 4
+ 4.1. Message Header . . . . . . . . . . . . . . . . . . . . . . 4
+ 4.2. Label Types . . . . . . . . . . . . . . . . . . . . . . . 4
+ 4.3. UDP Message Size . . . . . . . . . . . . . . . . . . . . . 4
+ 5. Extended Label Types . . . . . . . . . . . . . . . . . . . . . 4
+ 6. The OPT pseudo-RR . . . . . . . . . . . . . . . . . . . . . . 5
+ 6.1. OPT Record Definition . . . . . . . . . . . . . . . . . . 5
+ 6.2. OPT Record Wire Format . . . . . . . . . . . . . . . . . . 5
+ 6.3. Cache behaviour . . . . . . . . . . . . . . . . . . . . . 7
+ 6.4. Fallback . . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 6.5. Requestor's Payload Size . . . . . . . . . . . . . . . . . 7
+ 6.6. Responder's Payload Size . . . . . . . . . . . . . . . . . 7
+ 6.7. Payload Size Selection . . . . . . . . . . . . . . . . . . 8
+ 6.8. Middleware Boxes . . . . . . . . . . . . . . . . . . . . . 8
+ 6.9. OPT Record TTL Field Use . . . . . . . . . . . . . . . . . 8
+ 6.10. Flags . . . . . . . . . . . . . . . . . . . . . . . . . . 9
+ 6.11. OPT Options Code Allocation Procedure . . . . . . . . . . 9
+ 7. Transport Considerations . . . . . . . . . . . . . . . . . . . 10
+ 8. Security Considerations . . . . . . . . . . . . . . . . . . . 10
+ 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
+ Appendix A. Document Editing History . . . . . . . . . . . . . . 11
+ Appendix A.1. Changes since RFC2671 . . . . . . . . . . . . . . . 11
+ Appendix A.2. Changes since -02 . . . . . . . . . . . . . . . . . 12
+ 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
+ 10.1. Normative References . . . . . . . . . . . . . . . . . . . 12
+ 10.2. Informative References . . . . . . . . . . . . . . . . . . 12
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
+
+
+
+
+
+
+
+
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 2]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+1. Introduction
+
+ DNS [RFC1035] specifies a Message Format and within such messages
+ there are standard formats for encoding options, errors, and name
+ compression. The maximum allowable size of a DNS Message is limited
+ to 512 bytes. Many of DNS's protocol limits are too small for uses
+ which are commom or desired to become common. RFC 1035 does not
+ define any way for implementations to advertise their capabilities.
+
+ [RFC2671] added extension mechanism to DNS, this mechanism is widely
+ supported and number of new DNS uses and protocol extensions depend
+ on the presence of these extensions. This memo refines that
+ specification and obsoletes [RFC2671].
+
+ Unextended agents will not know how to interpret the protocol
+ extensions defined in [RFC2671] and restated here. Extended agents
+ must be prepared for handling the interactions with unextended
+ clients in the face of new protocol elements, and fall back
+ gracefully to unextended DNS. [RFC2671] proposed extensions to the
+ basic DNS protocol to overcome these deficiencies. This memo refines
+ that specification and obsoletes [RFC2671].
+
+ [RFC2671] specified extended label types. The only one proposed was
+ in RFC2673 for a label type called "Bitstring Labels." For various
+ reasons introducing a new label type was found to be extremely
+ difficult, and RFC2673 was moved to Experimental. This document
+ Obsoletes Extended Labels.
+
+
+2. Terminology
+
+ "Requestor" is the side which sends a request. "Responder" is an
+ authoritative, recursive resolver, or other DNS component which
+ responds to questions.
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [RFC2119].
+
+
+3. EDNS Support Requirement
+
+ EDNS support is practically mandatory in a modern world. DNSSEC
+ requires EDNS support, and many other features are made possible only
+ by EDNS support to request or advertise them. Many organizations are
+ requiring DNSSEC. Without common interoperability, DNSSEC cannot be
+ as easily deployed.
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 3]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ DNS publishers are wanting to put more data in answers. DNSSEC
+ DNSKEY records, negative answers, and many other DNSSEC queries cause
+ larger answers to be returned. In order to support this, DNS
+ servers, middleware, and stub resolvers MUST support larger packet
+ sizes advertised via EDNS0.
+
+
+4. DNS Message changes
+
+4.1. Message Header
+
+ The DNS Message Header's second full 16-bit word is divided into a
+ 4-bit OPCODE, a 4-bit RCODE, and a number of 1-bit flags (see ,
+ section 4.1.1 [RFC1035]). Some of these were marked for future use,
+ and most these have since been allocated. Also, most of the RCODE
+ values are now in use. The OPT pseudo-RR specified below contains
+ extensions to the RCODE bit field as well as additional flag bits.
+
+4.2. Label Types
+
+ The first two bits of a wire format domain label are used to denote
+ the type of the label. [RFC1035] allocates two of the four possible
+ types and reserves the other two. More label types were defined in
+ [RFC2671]. This document obsoletes the use of the 2-bit combination
+ defined by [RFC2671] to identify extended label types.
+
+4.3. UDP Message Size
+
+ Traditional DNS Messages are limited to 512 octets in size when sent
+ over UDP ([RFC1035]). Today, many organizations wish to return many
+ records in a single reply, and special tricks are needed to make the
+ responses fit in this 512-byte limit. Additionally, inclusion of
+ DNSSEC records frequently requires a much larger response than a 512
+ byte message can hold.
+
+ EDNS0 is intended to address these larger packet sizes and continue
+ to use UDP. It specifies a way to advertise additional features such
+ as larger response size capability, which is intended to help avoid
+ truncated UDP responses which then cause retry over TCP.
+
+
+5. Extended Label Types
+
+ The first octet in the on-the-wire representation of a DNS label
+ specifies the label type; the basic DNS specification [RFC1035]
+ dedicates the two most significant bits of that octet for this
+ purpose.
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 4]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ [RFC2671] defined DNS label type 0b01 for use as an indication for
+ Extended Label Types. A specific Extended Label Type is selected by
+ the 6 least significant bits of the first octet. Thus, Extended
+ Label Types are indicated by the values 64-127 (0b01xxxxxx) in the
+ first octet of the label.
+
+ Extended Label Types are difficult to use due to support in clients
+ and intermediate gateways as described in [RFC3364] which moves them
+ to experimental status and [RFC3363], which describes the pros and
+ cons.
+
+ Therefore, this document moves them from experimental to historical,
+ making them obsoleted. Additionally, the registry of Extended Label
+ Types is requested to be closed.
+
+
+6. The OPT pseudo-RR
+
+6.1. OPT Record Definition
+
+ An OPT pseudo-RR (sometimes called a meta-RR) MAY be added to the
+ additional data section of a request.
+
+ The OPT RR has RR type 41.
+
+ If present in requests, compliant responders MUST include an OPT
+ record in their respective responses.
+
+ An OPT record does not carry any DNS data. It is used only to
+ contain control information pertaining to the question and answer
+ sequence of a specific transaction. OPT RRs MUST NOT be cached,
+ forwarded, or stored in or loaded from master files.
+
+ The OPT RR MAY be placed anywhere within the additional data section.
+ Only one OPT RR MAY be included within any DNS message. If a message
+ with more than one OPT RR is received, a FORMERR (RCODE=1) MUST be
+ returned. The placement flexibility for the OPT RR does not override
+ the need for the TSIG or SIG(0) RRs to be the last in the additional
+ section whenever they are present.
+
+6.2. OPT Record Wire Format
+
+ An OPT RR has a fixed part and a variable set of options expressed as
+ {attribute, value} pairs. The fixed part holds some DNS meta data
+ and also a small collection of basic extension elements which we
+ expect to be so popular that it would be a waste of wire space to
+ encode them as {attribute, value} pairs.
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 5]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ The fixed part of an OPT RR is structured as follows:
+
+ +------------+--------------+------------------------------+
+ | Field Name | Field Type | Description |
+ +------------+--------------+------------------------------+
+ | NAME | domain name | Must be 0 (root domain) |
+ | TYPE | u_int16_t | OPT (42) |
+ | CLASS | u_int16_t | requestor's UDP payload size |
+ | TTL | u_int32_t | extended RCODE and flags |
+ | RDLEN | u_int16_t | length of all RDATA |
+ | RDATA | octet stream | {attribute,value} pairs |
+ +------------+--------------+------------------------------+
+
+ OPT RR Format
+
+ The variable part of an OPT RR may contain zero or more options in
+ the RDATA. Each option must be treated as binary. Each option is
+ encoded as:
+
+
+ +0 (MSB) +1 (LSB)
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ 0: | OPTION-CODE |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ 2: | OPTION-LENGTH |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ 4: | |
+ / OPTION-DATA /
+ / /
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+
+ OPTION-CODE
+ Assigned by Expert Review.
+
+ OPTION-LENGTH
+ Size (in octets) of OPTION-DATA.
+
+ OPTION-DATA
+ Varies per OPTION-CODE. MUST be treated as binary.
+
+ The order of appearance of option tuples is not defined. If one
+ option modifies the behavior of another or multiple options are
+ related to one another in some way, they have the same effect
+ regardless of ordering in the RDATA wire encoding.
+
+ Any OPTION-CODE values not understood by a responder or requestor
+ MUST be ignored. Specifications of such options might wish to
+ include some kind of signaled acknowledgement. For example, an
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 6]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ option specification might say that if a responder sees option XYZ,
+ it MUST include option XYZ in its response.
+
+6.3. Cache behaviour
+
+ The OPT record MUST NOT be cached.
+
+6.4. Fallback
+
+ If a requestor detects that the remote end does not support EDNS0, it
+ MAY issue queries without an OPT record. It MAY cache this knowledge
+ for a brief time in order to avoid fallback delays in the future.
+ However, if DNSSEC or any future option using EDNS is required, no
+ fallback should be performed as they are only signaled through EDNS0.
+ If an implementation detects that some servers for the zone support
+ EDNS(0) while others would force the use of TCP to fetch all data,
+ preference SHOULD be given to those support EDNS(0).
+
+6.5. Requestor's Payload Size
+
+ The requestor's UDP payload size (encoded in the RR CLASS field) is
+ the number of octets of the largest UDP payload that can be
+ reassembled and delivered in the requestor's network stack. Note
+ that path MTU, with or without fragmentation, could be smaller than
+ this. Values lower than 512 MUST be treated as equal to 512.
+
+ The requestor SHOULD place a value in this field that it can actually
+ receive. For example, if a requestor sits behind a firewall which
+ will block fragmented IP packets, a requestor SHOULD not choose a
+ value which will cause fragmentation. Doing so will prevent large
+ responses from being received, and can cause fallback to occur.
+
+ Note that a 512-octet UDP payload requires a 576-octet IP reassembly
+ buffer. Choosing between 1280 and 1410 bytes for IP (v4 or v6) over
+ Ethernet would be reasonable. Choosing a very large value will
+ guarantee fragmentation at the IP layer, and may prevent answers from
+ being received due to a single fragment loss or misconfigured
+ firewalls.
+
+ The requestor's maximum payload size can change over time. It MUST
+ not be cached for use beyond the transaction in which it is
+ advertised.
+
+6.6. Responder's Payload Size
+
+ The responder's maximum payload size can change over time, but can be
+ reasonably expected to remain constant between two closely spaced
+ sequential transactions; for example, a meaningless QUERY to discover
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 7]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ a responder's maximum UDP payload size, followed immediately by an
+ UPDATE which takes advantage of this size. This is considered
+ preferable to the outright use of TCP for oversized requests, if
+ there is any reason to suspect that the responder implements EDNS,
+ and if a request will not fit in the default 512 payload size limit.
+
+6.7. Payload Size Selection
+
+ Due to transaction overhead, it is unwise to advertise an
+ architectural limit as a maximum UDP payload size. Just because your
+ stack can reassemble 64KB datagrams, don't assume that you want to
+ spend more than about 4KB of state memory per ongoing transaction.
+
+ A requestor MAY choose to implement a fallback to smaller advertised
+ sizes to work around firewall or other network limitations. A
+ requestor SHOULD choose to use a fallback mechanism which begins with
+ a large size, such as 4096. If that fails, a fallback around the
+ 1280-1410 byte range SHOULD be tried, as it has a reasonable chance
+ to fit within a single Ethernet frame. Failing that, a requestor MAY
+ choose a 512 byte packet, which with large answers may cause a TCP
+ retry.
+
+6.8. Middleware Boxes
+
+ Middleware boxes (e.g. firewalls, SOHO routers, load balancers, etc)
+ MUST NOT limit DNS messages over UDP to 512 bytes.
+
+ Middleware boxes which simply forward requests to a recursive
+ resolver MUST NOT modify and MUST NOT delete the OPT record contents
+ in either direction.
+
+ Middleware boxes which have additional functionality, such as
+ answering certain queries or acting like an intelligent forwarder,
+ MUST understand the OPT record. These boxes MUST consider the
+ incoming request and any outgoing requests as separate transactions
+ if the characteristics of the messages are different.
+
+ A complete discussion of middleware boxes acting as DNS proxies and
+ the impact of EDNS in those implementations is described in
+ [RFC5625].
+
+6.9. OPT Record TTL Field Use
+
+ The extended RCODE and flags (which OPT stores in the RR TTL field)
+ are structured as follows:
+
+
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 8]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ +0 (MSB) +1 (LSB)
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ 0: | EXTENDED-RCODE | VERSION |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+ 2: | DO| Z |
+ +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
+
+ EXTENDED-RCODE
+ Forms upper 8 bits of extended 12-bit RCODE (together with the
+ 4 bits defined in [RFC1035]. Note that EXTENDED-RCODE value 0
+ indicates that an unextended RCODE is in use (values 0 through
+ 15).
+
+ VERSION
+ Indicates the implementation level of whoever sets it. Full
+ conformance with this specification is indicated by version
+ ``0.'' Requestors are encouraged to set this to the lowest
+ implemented level capable of expressing a transaction, to
+ minimize the responder and network load of discovering the
+ greatest common implementation level between requestor and
+ responder. A requestor's version numbering strategy MAY
+ ideally be a run time configuration option.
+ If a responder does not implement the VERSION level of the
+ request, then it answers with RCODE=BADVERS. All responses
+ MUST be limited in format to the VERSION level of the request,
+ but the VERSION of each response SHOULD be the highest
+ implementation level of the responder. In this way a requestor
+ will learn the implementation level of a responder as a side
+ effect of every response, including error responses and
+ including RCODE=BADVERS.
+
+6.10. Flags
+
+ DO
+ DNSSEC OK bit as defined by [RFC3225].
+
+ Z
+ Set to zero by senders and ignored by receivers, unless
+ modified in a subsequent specification.
+
+6.11. OPT Options Code Allocation Procedure
+
+ Allocations assigned by expert review. Assignment of Option Codes
+ should be liberal, but duplicate functionality is to be avoided.
+
+
+
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 9]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+7. Transport Considerations
+
+ The presence of an OPT pseudo-RR in a request should be taken as an
+ indication that the requestor fully implements the given version of
+ EDNS, and can correctly understand any response that conforms to that
+ feature's specification.
+
+ Lack of presence of an OPT record in a request MUST be taken as an
+ indication that the requestor does not implement any part of this
+ specification and that the responder MUST NOT include an OPT record
+ in its response.
+
+ Responders who do not implement these protocol extensions MUST
+ respond with FORMERR messages without any OPT record.
+
+ If there is a problem with processing the OPT record itself, such as
+ an option value that is badly formatted or includes out of range
+ values, a FORMERR MUST be returned. If this occurs the response MUST
+ include an OPT record. This is intended to allow the requestor to to
+ distinguish between servers which do not implement EDNS and format
+ errors within EDNS.
+
+ The minimal response must be the DNS header, question section, and an
+ OPT record. This must also occur when an truncated response (using
+ the DNS header's TC bit) is returned.
+
+
+8. Security Considerations
+
+ Requestor-side specification of the maximum buffer size may open a
+ DNS denial of service attack if responders can be made to send
+ messages which are too large for intermediate gateways to forward,
+ thus leading to potential ICMP storms between gateways and
+ responders.
+
+ Announcing very large UDP buffer sizes may result in dropping by
+ middleboxes (see Section 6.8). This could cause retransmissions with
+ no hope of success. Some devices have been found to reject
+ fragmented UDP packets.
+
+ Announcing too small UDP buffer sizes may result in fallback to TCP
+ with a corresponding load impact on DNS servers. This is especially
+ important with DNSSEC, where answers are much larger.
+
+
+9. IANA Considerations
+
+ The IANA has assigned RR type code 41 for OPT.
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 10]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ [RFC2671] specified a number of IANA sub-registries within "DOMAIN
+ NAME SYSTEM PARAMETERS:"
+
+ o EDNS Extended Label Type
+
+ o EDNS Option Codes
+
+ o EDNS Version Numbers
+
+ o Domain System Response Code
+
+ IANA is advised to re-parent these sub-registries to this document.
+
+ [RFC2671] created the "EDNS Extended Label Type Registry". We
+ request that this registry be closed.
+
+ This document assigns option code 65535 in the "EDNS Option Codes"
+ registry to "Reserved for future expansion."
+
+ [RFC2671] expands the RCODE space from 4 bits to 12 bits. This
+ allows more than the 16 distinct RCODE values allowed in [RFC1035].
+ IETF Standards Action is required to add a new RCODE. Adding new
+ RCODEs should be avoided due to the difficulty in upgrading the
+ installed base.
+
+ This document assigns EDNS Extended RCODE 16 to "BADVERS".
+
+ IETF Standards Action is required for assignments of new EDNS0 flags.
+ Flags SHOULD be used only when necessary for DNS resolution to
+ function. For many uses, a EDNS Option Code may be preferred.
+
+ IETF Standards Action is required to create new entries in the EDNS
+ Version Number registry. Expert Review is required for allocation of
+ an EDNS Option Code.
+
+
+Appendix A. Document Editing History
+
+ Following is a list of high-level changes made to the original
+ RFC2671.
+
+Appendix A.1. Changes since RFC2671
+
+ o Support for the OPT record is now mandatory.
+
+ o Extended label types obsoleted and the registry is closed.
+
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 11]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+ o The bitstring label type, which was already moved from draft to
+ experimental, is requested to be moved to historical.
+
+ o Changes in how EDNS buffer sizes are selected, with
+ recommendations on how to select them.
+
+ o Front material (IPR notice and such) was updated to current
+ requirements.
+
+Appendix A.2. Changes since -02
+
+ o Specified the method for allocation of constants.
+
+ o Cleaned up a lot of wording, along with quite a bit of document
+ structure changes.
+
+
+10. References
+
+10.1. Normative References
+
+ [RFC1035] Mockapetris, P., "Domain names - implementation and
+ specification", STD 13, RFC 1035, November 1987.
+
+ [RFC2671] Vixie, P., "Extension Mechanisms for DNS (EDNS0)",
+ RFC 2671, August 1999.
+
+ [RFC3225] Conrad, D., "Indicating Resolver Support of DNSSEC",
+ RFC 3225, December 2001.
+
+ [RFC3363] Bush, R., Durand, A., Fink, B., Gudmundsson, O., and T.
+ Hain, "Representing Internet Protocol version 6 (IPv6)
+ Addresses in the Domain Name System (DNS)", RFC 3363,
+ August 2002.
+
+10.2. Informative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC3364] Austein, R., "Tradeoffs in Domain Name System (DNS)
+ Support for Internet Protocol version 6 (IPv6)", RFC 3364,
+ August 2002.
+
+ [RFC5625] Bellis, R., "DNS Proxy Implementation Guidelines",
+ BCP 152, RFC 5625, August 2009.
+
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 12]
+
+Internet-Draft EDNS0 Extensions March 2011
+
+
+Authors' Addresses
+
+ Joao Damas
+ Internet Systems Consortium
+ 950 Charter Street
+ Redwood City, California 94063
+ US
+
+ Phone: +1 650.423.1312
+ Email: joao@isc.org
+
+
+ Michael Graff
+ Internet Systems Consortium
+ 950 Charter Street
+ Redwood City, California 94063
+ US
+
+ Phone: +1 650.423.1304
+ Email: mgraff@isc.org
+
+
+ Paul Vixie
+ Internet Systems Consortium
+ 950 Charter Street
+ Redwood City, California 94063
+ US
+
+ Phone: +1 650.423.1301
+ Email: vixie@isc.org
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Damas, et al. Expires September 8, 2011 [Page 13]
+
diff --git a/doc/draft/draft-ietf-dnsop-dnssec-key-timing-00.txt b/doc/draft/draft-ietf-dnsop-dnssec-key-timing-00.txt
deleted file mode 100644
index 6028ee89d64bd..0000000000000
--- a/doc/draft/draft-ietf-dnsop-dnssec-key-timing-00.txt
+++ /dev/null
@@ -1,1960 +0,0 @@
-
-
-
-Internet Engineering Task Force S. Morris
-Internet-Draft ISC
-Intended status: Informational J. Ihren
-Expires: January 2, 2011 Netnod
- J. Dickinson
- Sinodun
- July 1, 2010
-
-
- DNSSEC Key Timing Considerations
- draft-ietf-dnsop-dnssec-key-timing-00.txt
-
-Abstract
-
- This document describes the issues surrounding the timing of events
- in the rolling of a key in a DNSSEC-secured zone. It presents
- timelines for the key rollover and explicitly identifies the
- relationships between the various parameters affecting the process.
-
-Status of this Memo
-
- This Internet-Draft is submitted in full conformance with the
- provisions of BCP 78 and BCP 79.
-
- Internet-Drafts are working documents of the Internet Engineering
- Task Force (IETF). Note that other groups may also distribute
- working documents as Internet-Drafts. The list of current Internet-
- Drafts is at http://datatracker.ietf.org/drafts/current/.
-
- Internet-Drafts are draft documents valid for a maximum of six months
- and may be updated, replaced, or obsoleted by other documents at any
- time. It is inappropriate to use Internet-Drafts as reference
- material or to cite them other than as "work in progress."
-
- This Internet-Draft will expire on January 2, 2011.
-
-Copyright Notice
-
- Copyright (c) 2010 IETF Trust and the persons identified as the
- document authors. All rights reserved.
-
- This document is subject to BCP 78 and the IETF Trust's Legal
- Provisions Relating to IETF Documents
- (http://trustee.ietf.org/license-info) in effect on the date of
- publication of this document. Please review these documents
- carefully, as they describe your rights and restrictions with respect
- to this document. Code Components extracted from this document must
- include Simplified BSD License text as described in Section 4.e of
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 1]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- the Trust Legal Provisions and are provided without warranty as
- described in the Simplified BSD License.
-
-
-Table of Contents
-
- 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
- 1.1. Key Rolling Considerations . . . . . . . . . . . . . . . . 3
- 1.2. Types of Keys . . . . . . . . . . . . . . . . . . . . . . 4
- 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
- 2. Rollover Methods . . . . . . . . . . . . . . . . . . . . . . . 4
- 2.1. ZSK Rollovers . . . . . . . . . . . . . . . . . . . . . . 4
- 2.2. KSK Rollovers . . . . . . . . . . . . . . . . . . . . . . 6
- 2.3. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 7
- 3. Key Rollover Timelines . . . . . . . . . . . . . . . . . . . . 8
- 3.1. Key States . . . . . . . . . . . . . . . . . . . . . . . . 8
- 3.2. Zone-Signing Key Timelines . . . . . . . . . . . . . . . . 9
- 3.2.1. Pre-Publication Method . . . . . . . . . . . . . . . . 9
- 3.2.2. Double-Signature Method . . . . . . . . . . . . . . . 13
- 3.2.3. Double-RRSIG Method . . . . . . . . . . . . . . . . . 14
- 3.3. Key-Signing Key Rollover Timelines . . . . . . . . . . . . 17
- 3.3.1. Double-Signature Method . . . . . . . . . . . . . . . 17
- 3.3.2. Double-DS Method . . . . . . . . . . . . . . . . . . . 20
- 3.3.3. Double-RRset Method . . . . . . . . . . . . . . . . . 22
- 3.3.4. Interaction with Configured Trust Anchors . . . . . . 25
- 3.3.4.1. Addition of KSK . . . . . . . . . . . . . . . . . 25
- 3.3.4.2. Removal of KSK . . . . . . . . . . . . . . . . . . 25
- 3.3.5. Introduction of First KSK . . . . . . . . . . . . . . 26
- 4. Standby Keys . . . . . . . . . . . . . . . . . . . . . . . . . 27
- 5. Algorithm Considerations . . . . . . . . . . . . . . . . . . . 28
- 6. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
- 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28
- 8. Security Considerations . . . . . . . . . . . . . . . . . . . 28
- 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 29
- 10. Change History . . . . . . . . . . . . . . . . . . . . . . . . 29
- 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 30
- 11.1. Normative References . . . . . . . . . . . . . . . . . . . 30
- 11.2. Informative References . . . . . . . . . . . . . . . . . . 30
- Appendix A. List of Symbols . . . . . . . . . . . . . . . . . . . 30
- Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 34
-
-
-
-
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 2]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
-1. Introduction
-
-1.1. Key Rolling Considerations
-
- When a zone is secured with DNSSEC, the zone manager must be prepared
- to replace ("roll") the keys used in the signing process. The
- rolling of keys may be caused by compromise of one or more of the
- existing keys, or it may be due to a management policy that demands
- periodic key replacement for security or operational reasons. In
- order to implement a key rollover, the keys need to be introduced
- into and removed from the zone at the appropriate times.
- Considerations that must be taken into account are:
-
- o DNSKEY records and associated information (such as RRSIG records
- created with the key or the associated DS records) are not only
- held at the authoritative nameserver, they are also cached at
- client resolvers. The data on these systems can be interlinked,
- e.g. a validating resolver may try to validate a signature
- retrieved from a cache with a key obtained separately.
-
- o A query for the key RRset returns all DNSKEY records in the zone.
- As there is limited space in the UDP packet (even with EDNS0
- support), dead key records must be periodically removed. (For the
- same reason, the number of stand-by keys in the zone should be
- restricted to the minimum required to support the key management
- policy.)
-
- o Zone "boot-strapping" events, where a zone is signed for the first
- time, can be common in configurations where a large number of
- zones are being served. Procedures should be able to cope with
- the introduction of keys into the zone for the first time as well
- as "steady-state", where the records are being replaced as part of
- normal zone maintenance.
-
- o To allow for an emergency re-signing of the zone as soon as
- possible after a key compromise has been detected, stand-by keys
- (additional keys over and above those used to sign the zone) need
- to be present.
-
- Management policy, e.g. how long a key is used for, also needs to be
- considered. However, the point of key management logic is not to
- ensure that a "rollover" is completed at a certain time but rather to
- ensure that no changes are made to the state of keys published in the
- zone until it is "safe" to do so ("safe" in this context meaning that
- at no time during the rollover process does any part of the zone ever
- go bogus). In other words, although key management logic enforces
- policy, it may not enforce it strictly.
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 3]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
-1.2. Types of Keys
-
- Although DNSSEC validation treats all keys equally, [RFC4033]
- recognises the broad classification of zone-signing keys (ZSK) and
- key-signing keys (KSK). A ZSK is used to authenticate information
- within the zone; a KSK is used to authenticate the key set in the
- zone. The main implication for this distinction concerns the
- consistency of information during a rollover.
-
- During operation, a validating resolver must use separate pieces of
- information to perform an authentication. At the time of
- authentication, each piece of information may be in the validating
- resolver's cache or may need to be retrieved from the authoritative
- server. The rollover process needs to happen in such a way that at
- all times through the rollover the information is consistent. With a
- ZSK, the information is the RRSIG (plus associated RRset) and the
- DNSKEY. These are both obtained from the same zone. In the case of
- the KSK, the information is the DNSKEY and DS RRset with the latter
- being obtained from a different zone.
-
- There are similarities in the rolling of ZSKs and KSKs: replace the
- RRSIG (plus RR) by the DNSKEY and replace the DNSKEY by the DS, and
- the ZSK rolling algorithms are virtually the same as the KSK
- algorithms. However, there are a number of differences, and for this
- reason the two types of rollovers are described separately in this
- document.
-
-1.3. Terminology
-
- The terminology used in this document is as defined in [RFC4033] and
- [RFC5011].
-
- A large number of symbols are used to identify times, intervals, etc.
- All are listed in Appendix A.
-
-
-2. Rollover Methods
-
-2.1. ZSK Rollovers
-
- A ZSK can be rolled in one of three ways:
-
- o Pre-Publication. Described in [RFC4641], the new key is
- introduced into the DNSKEY RRset, leaving the existing keys and
- signatures in place. This state of affairs remains in place for
- long enough to ensure that any DNSKEY RRsets cached in client
- validating resolvers contain both keys. At that point signatures
- created with the old key can be replaced by those created with the
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 4]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- new key, and the old signatures removed. During the re-signing
- process (which may or may not be atomic depending on how the zone
- is managed), it doesn't matter which key an RRSIG record retrieved
- by a client was created with; clients with a cached copy of the
- DNSKEY RRset will have a copy containing both the old and new
- keys.
-
- Once the zone contains only signatures created with the new key,
- there is an interval during which RRSIG records created with the
- old key expire from client caches. After this, there will be no
- signatures anywhere that were created using the old key, and it
- can can be removed from the DNSKEY RRset.
-
- o Double-Signature. Also mentioned in [RFC4641], this involves
- introducing the new key into the zone and using it to create
- additional RRSIG records; the old key and existing RRSIG records
- are retained. During the period in which the zone is being signed
- (again, the signing process may not be atomic), client resolvers
- are always able to validate RRSIGs: any combination of old and new
- DNSKEY RRset and RRSIG allows at least one signature to be
- validated.
-
- Once the signing process is complete and enough time has elapsed
- to allow all old information to expire from caches, the old key
- and signatures can be removed from the zone. As before, during
- this period any combination of DNSKEY RRset and RRSIG will allow
- validation of at least one signature.
-
- o Double-RRSIG. Strictly speaking, the use of the term "Double-
- Signature" above is a misnomer as the method is not only double
- signature, it is also double key as well. A true Double-Signature
- method (here called the Double-RRSIG method) involves introducing
- new signatures in the zone (while still retaining the old ones)
- but not the new key.
-
- Once the signing process is complete and enough time has elapsed
- to ensure that all caches that may contain an RR and associated
- RRSIG to have a copy of both signatures, the ZSK is changed.
- After a further interval during which the old DNSKEY RRset expires
- from caches, the old signatures are removed from the zone.
-
- Of three methods, Double-Signature is the simplest conceptually -
- introduce the new key and new signatures, then approximately one TTL
- later remove the old key and signatures. The drawback of this method
- is a noticeable increase in the size of the DNSSEC data, affecting
- both the overall size of the zone and the size of the responses.
-
- Pre-Publication is more complex - introduce the new key,
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 5]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- approximately one TTL later sign the records, and approximately one
- TTL after that remove the old key. However, the amount of DNSSEC
- data is kept to a minimum which reduces the impact on performance.
-
- The Double-RRSIG combines the increase in data volume of the Double-
- Signature method with the complexity of Pre-Publication. It has few
- (if any) advantages and a description is only included here for
- completeness.
-
-2.2. KSK Rollovers
-
- In the ZSK case the issue for the validating resolver is to ensure
- that it has access to the ZSK that corresponds to a particular
- signature. In the KSK case this can never be a problem as the KSK is
- only used for one signature (that over the DNSKEY RRset) and both the
- key the signature travel together. Instead, the issue is to ensure
- that the KSK is trusted.
-
- Trust in the KSK is either due to the existence of an explicitly
- configured trust anchor in the validating resolver or DS record in
- the parent zone (which is itself trusted). If the former, [RFC5011]
- timings will be needed to roll the keys. If the latter, the rollover
- algorithm will need to involve the parent zone in the addition and
- removal of DS records, so timings are not wholly under the control of
- the zone manager. (The zone manager may elect to include [RFC5011]
- timings in the key rolling process so as to cope with the possibility
- that the key has also been explicitly configured as a trust anchor.)
-
- It is important to note that this does not preclude the development
- of key rollover logic; in accordance with the goal of the rollover
- logic being able to determine when a state change is "safe", the only
- effect of being dependent on the parent is that there may be a period
- of waiting for the parent to respond in addition to any delay the key
- rollover logic requires. Although this introduces additional delays,
- even with a parent that is less than ideally responsive the only
- effect will be a slowdown in the rollover state transitions. This
- may cause a policy violation, but will not cause any operational
- problems.
-
- Like the ZSK case, there are three methods for rolling a KSK:
-
- o Double-Signature: Also known as Double-DNSKEY, the new KSK is
- added to the DNSKEY RRset which is then signed with both the old
- and new key. After waiting for the old RRset to expire from
- caches, the DS record in the parent zone is changed. After
- waiting a further interval for this change to be reflected in
- caches, the old key is removed from the RRset. (The name "Double-
- Signature" is used because, like the ZSK method of the same name,
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 6]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- the new key is introduced and immediately used for signing.)
-
- o Double-DS: the new DS record is published. After waiting for this
- change to propagate into the caches of all validating resolvers,
- the KSK is changed. After a further interval during which the old
- DNSKEY RRset expires from caches, the old DS record is removed.
-
- o Double-RRset: the new KSK is added to the DNSKEY RRset which is
- then signed with both the old and new key, and the new DS record
- added to the parent zone. After waiting a suitable interval for
- the old DS and DNSKEY RRsets to expire from validating resolver
- caches, the old DNSKEY and DS record are removed.
-
- In essence, "Double-Signature" means that the new KSK is introduced
- first and used to sign the DNSKEY RRset. The DS record is changed,
- and finally the old KSK removed. With "Double-DS" it is the other
- way around. Finally, Double-RRset does both updates more or less in
- parallel.
-
- The strategies have different advantages and disadvantages:
-
- o Double-Signature minimizes the number of interactions with the
- parent zone. However, for the period of the rollover the DNSKEY
- RRset is signed with two KSKs, so increasing the size of the
- response to a query for this data.
-
- o Double-DS keeps the size of the DNSKEY RRset to a minimum, but
- does require the additional administrative overhead of two
- interactions with the parent to roll a KSK. (Although this can be
- mitigated if the parent has the ability for a child zone to
- schedule the withdrawal of the old key at the same time as the
- introduction of the new one.)
-
- o Finally, Double-RRset allows the rollover to be done in roughly
- half the time of the other two methods; it also supports policies
- that require a period of running with old and new KSKs
- simultaneously. However, it does have the disadvantages of both
- the other two methods - it requires two signatures during the
- period of the rollover and two interactions with the parent.
-
-2.3. Summary
-
- The methods can be summarised as follows:
-
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 7]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- +------------------+------------------+-----------------------------+
- | ZSK Method | KSK Method | Description |
- +------------------+------------------+-----------------------------+
- | Pre-Publication | (not applicable) | Publish the DNSKEY before |
- | | | the RRSIG. |
- | Double-Signature | Double-Signature | Publish the DNSKEY and |
- | | | RRSIG at same time. (For a |
- | | | KSK, this happens before |
- | | | the DS is published.) |
- | Double-RRSIG | (not applicable) | Publish RRSIG before the |
- | | | DNSKEY. |
- | (not applicable) | Double-DS | Publish DS before the |
- | | | DNSKEY. |
- | (not applicable) | Double-RRset | Publish DNSKEY and DS in |
- | | | parallel. |
- +------------------+------------------+-----------------------------+
-
- Table 1
-
-
-3. Key Rollover Timelines
-
-3.1. Key States
-
- During the rolling process, a key moves through different states.
- These states are:
-
- Generated The key has been created, but has not yet been used for
- anything.
-
- Published The DNSKEY record - or information associated with it -
- is published in the zone, but predecessors of the key (or
- associated information) may be held in resolver caches.
-
- The idea of "associated information" is used in rollover
- methods where RRSIG or DS records are published first and
- the DNSKEY is changed in an atomic operation. It allows
- the rollover still to be thought of as moving through a
- set of states. In the rest of this section, the term
- "key" should be taken to mean "key or associated
- information".
-
- Ready The key has been published for long enough to guarantee
- that all caches that might contain a copy of the key
- RRset have a copy that includes this key.
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 8]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Active The key is in the zone and has started to be used to sign
- RRsets or authenticate the DNSKEY RRset. Note that when
- this state is entered, it might not be possible for every
- validating resolver to use the key for validation: the
- zone signing may not have finished, or the data might not
- have reached the resolver because of propagation delays
- and/or caching issues. If this is the case, the resolver
- will have to rely on the key's predecessor instead.
-
- Retired The key is in the zone but a successor key has become
- active. As there may still be information in caches that
- that require use of the key, it is being retained until
- this information expires.
-
- Dead The key is published in the zone but there is no
- information anywhere that requires its presence.
-
- Removed The key has been removed from the zone.
-
- There is one additional state, used where [RFC5011] considerations
- are in effect (see Section 3.3.4):
-
- Revoked The key is published for a period with the "revoke" bit
- set as a way of notifying validating resolvers that have
- configured it as a trust anchor that it is about to be
- removed from the zone.
-
-3.2. Zone-Signing Key Timelines
-
-3.2.1. Pre-Publication Method
-
- The following diagram shows the time line of a particular ZSK and its
- replacement by its successor using the Pre-Publication method. Time
- increases along the horizontal scale from left to right and the
- vertical lines indicate events in the life of the key. The events
- are numbered; significant times and time intervals are marked.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 9]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- |1| |2| |3| |4| |5| |6| |7| |8| |9|
- | | | | | | | | |
- Key N | |<-Ipub->|<--->|<-------Lzsk----->|<-Iret->|<--->|
- | | | | | | | | |
- Key N+1 | | | | |<-Ipub->|<->|<---Lzsk-- - -
- | | | | | | | | |
- Tgen Tpub Trdy Tact TpubS Tret Tdea Trem
-
- ---- Time ---->
-
-
- Figure 1: Timeline for a Pre-Publication ZSK rollover.
-
- Event 1: key N is generated at the generate time (Tgen). Although
- there is no reason why the key cannot be generated immediately prior
- to publication in the zone (Event 2), some implementations may find
- it convenient to create a pool of keys in one operation and draw from
- that pool as required. For this reason, it is shown as a separate
- event. Keys that are available for use but not published are said to
- be generated.
-
- Event 2: key N's DNSKEY record is put into the zone, i.e. it is added
- to the DNSKEY RRset which is then re-signed with the current key-
- signing key. The time at which this occurs is the key's publication
- time (Tpub), and the key is now said to be published. Note that the
- key is not yet used to sign records.
-
- Event 3: before it can be used, the key must be published for long
- enough to guarantee that any resolver that has a copy of the DNSKEY
- RRset from the zone in its cache will have a copy of the RRset that
- includes this key: in other words, that any prior cached information
- about the DNSKEY RRset has expired.
-
- This interval is the publication interval (Ipub) and, for the second
- or subsequent keys in the zone, is given by:
-
- Ipub = Dprp + TTLkey
-
- Here, Dprp is the propagation delay - the time taken for any change
- introduced at the master to replicate to all slave servers - which
- depends on the depth of the master-slave hierarchy. TTLkey is the
- time-to-live (TTL) for the DNSKEY records in the zone. The sum is
- therefore the time taken for existing DNSKEY records to expire from
- the caches of downstream validating resolvers, regardless of the
- nameserver from which they were retrieved.
-
- In the case of the first key in the zone, Ipub is slightly different
- because it is not information about a DNSKEY RRset that may be
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 10]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- cached, it is information about its absence. In this case:
-
- Ipub = Dprp + Ingc
-
- where Ingc is the negative cache interval from the zone's SOA record,
- calculated according to [RFC2308] as the minimum of the TTL of the
- SOA record itself (TTLsoa), and the "minimum" field in the record's
- parameters (SOAmin), i.e.
-
- Ingc = min(TTLsoa, SOAmin)
-
- After a delay of Ipub, the key is said to be ready and could be used
- to sign records. The time at which this event occurs is the key's
- ready time (Trdy), which is given by:
-
- Trdy = Tpub + Ipub
-
- Event 4: at some later time, the key starts being used to sign
- RRsets. This point is the active time (Tact) and after this, the key
- is said to be active.
-
- Event 5: while this key is active, thought must be given to its
- successor (key N+1). As with the introduction of the currently
- active key into the zone, the successor key will need to be published
- at least Ipub before it is used. Denoting the publication time of
- the successor key by TpubS, then:
-
- TpubS <= Tact + Lzsk - Ipub
-
- Here, Lzsk is the length of time for which a ZSK will be used (the
- ZSK lifetime). It should be noted that unlike the publication
- interval, Lzsk is not determined by timing logic, but by key
- management policy. Lzsk will be set by the operator according to
- their assessment of the risks posed by continuing to use a key and
- the risks associated with key rollover. However, operational
- considerations may mean a key is active for slightly more or less
- than Lzsk.
-
- Event 6: while the key N is still active, its successor becomes
- ready. From this time onwards, it could be used to sign the zone.
-
- Event 7: at some point the decision is made to start signing the zone
- using the successor key. This will be when the current key has been
- in use for an interval equal to the ZSK lifetime, hence:
-
- Tret = Tact + Lzsk
-
- This point in time is the retire time (Tret) of key N; after this the
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 11]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- key is said to be retired. (This time is also the point at which the
- successor key becomes active.)
-
- Event 8: the retired key needs to be retained in the zone whilst any
- RRSIG records created using this key are still published in the zone
- or held in resolver caches. (It is possible that a resolver could
- have an unexpired RRSIG record and an expired DNSKEY RRset in the
- cache when it is asked to provide both to a client. In this case the
- DNSKEY RRset would need to be looked up again.) This means that once
- the key is no longer used to sign records, it should be retained in
- the zone for at least the retire interval (Iret) given by:
-
- Iret = Dsgn + Dprp + TTLsig
-
- Dsgn is the delay needed to ensure that all existing RRsets have been
- re-signed with the new key. Dprp is (as described above) the
- propagation delay, required to guarantee that the updated zone
- information has reached all slave servers, and TTLsig is the TTL of
- the RRSIG records.
-
- (It should be noted that an upper limit on the retire interval is
- given by:
-
- Iret = Lsig + Dskw
-
- where Lsig is the lifetime of a signature (i.e. the interval between
- the time the signature was created and the signature end time), and
- Dskw is the clock skew - the maximum difference in time between the
- server and a validating resolver. The reasoning here is that
- whatever happens, a key only has to be available while any signatures
- created with it are valid. Wherever a signature record is held -
- published in the zone and/or held in a resolver cache - it won't be
- valid for longer than Lsig after it was created. The Dskw term is
- present to account for the fact that the signature end time is an
- absolute time rather than interval, and systems may not agree exactly
- about the time.)
-
- The time at which all RRSIG records created with this key have
- expired from resolver caches is the dead time (Tdea), given by:
-
- Tdea = Tret + Iret
-
- ...at which point the key is said to be dead.
-
- Event 9: at any time after the key becomes dead, it can be removed
- from the zone and the DNSKEY RRset re-signed with the current key-
- signing key. This time is the removal time (Trem), given by:
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 12]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Trem >= Tdea
-
- ...at which time the key is said to be removed.
-
-3.2.2. Double-Signature Method
-
- In the Double-Signature method, both the new key and signatures
- created using it are introduced at the same time. After a period
- during which this information propagates to validating resolver
- caches, the old key and signature are removed. The time line for the
- method is shown below:
-
-
-
- |1| |2| |3| |4| |5| |6|
- | | | | | |
- Key N | |<-------Lzsk------>|<-----Iret----->| |
- | | | | | |
- Key N+1 | | | |<----------Lzsk------- - -
- | | | | | |
- Tgen Tact Tret Tdea Trem
-
- ---- Time ---->
-
-
- Figure 2: Timeline for a Double-Signature ZSK rollover.
-
- Event 1: key N is generated at the generate time (Tgen). Although
- there is no reason why the key cannot be generated immediately prior
- to publication in the zone (Event 2), some implementations may find
- it convenient to create a pool of keys in one operation and draw from
- that pool as required. For this reason, it is shown as a separate
- event. Keys that are available for use but not published are said to
- be generated.
-
- Event 2: key N is added to the DNSKEY RRset and is immediately used
- to sign the zone; existing signatures in the zone are not removed.
- This is the active time (Tact) and the key is said to be active.
-
- Event 3: at some time later, the predecessor key (key N-1) and its
- signatures can be withdrawn from the zone. (The timing of key
- removal is discussed further in the description of event 5.)
-
- Event 4: the successor key (key N+1) is introduced into the zone and
- starts being used to sign RRsets. The successor is key is now active
- and the current key (key N) is said to be retired. This time is the
- retire time of the key (Tret); it is also the active time of the
- successor key (TactS).
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 13]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Tret = Tact + Lzsk
-
- Event 5: before key N can be withdrawn from the zone, all RRsets that
- need to be signed must have been signed by the successor key (as a
- result, all these RRsets are now signed twice, once by key N and once
- by its successor) and the information must have reached all
- validating resolvers that may have RRsets from this zone cached.
-
- This takes Iret, the retire interval, given by the expression:
-
- Iret = Dsgn + Dprp + max(TTLkey, TTLsig)
-
- As before, Dsgn is the time taken to sign the zone with the new key
- and Dprp is the propagation delay. The final term is the period to
- wait for old key and signature data to expire from caches. After the
- end of this interval, key N is said to be dead. This occurs at the
- dead time (Tdea) so:
-
- Tdea = Tret + Iret
-
- Event 6: at some later time key N and its signatures can be removed
- from the zone. This is the removal time Trem, given by:
-
- Trem >= Tdea
-
-3.2.3. Double-RRSIG Method
-
- As noted above, "Double-Signature" is simultaneous rollover of both
- signature and key. The time line for a pure Double-Signature ZSK
- rollover (the Double-RRSIG method) - where new signatures are
- introduced, the key changed, and finally the old signatures removed -
- is shown below:
-
-
-
- |1||2| |3| |4||5| |6||7| |8||9| |10| |11|
- | | | | | | | | | | |
- Key N | |<-Dsgn->| | |<-----------Lzsk-------->|<-Iret->| |
- | |<---IpubG-->| |<-IpubK->| | | | | |
- | | | | | | | | | | |
- Key N+1 | | | | | | |<-IpubG->| | | |
- | | | | | | | | | | |
- Tgen Tpub Trdy Tact TpubS TrdyS Tret Tdea Trem
-
- ---- Time ---->
-
-
- Figure 3: Timeline for a Double-Signature ZSK rollover.
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 14]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Event 1: key N is generated at the generate time (Tgen). Although
- there is no reason why the key cannot be generated immediately prior
- to publication in the zone (Event 2), some implementations may find
- it convenient to create a pool of keys in one operation and draw from
- that pool as required. For this reason, it is shown as a separate
- event. Keys that are available for use but not published are said to
- be generated.
-
- Event 2: key N is used to sign the zone but existing signatures are
- retained. Although the new ZSK is not published in the zone at this
- point, for analogy with the other ZSK rollover methods and because
- this is the first time that key information is visible (albeit
- indirectly through the created signatures) this time is called the
- publish time (Tpub).
-
- Event 3: after the signing interval, Dsgn, all RRsets that need to be
- signed have been signed by the new key. (As a result, all these
- RRsets are now signed twice, once by the existing key and once by the
- (still-absent) key N.
-
- Event 4: there is now a delay while the this information reaches all
- validating resolvers that may have RRsets from the zone cached. This
- interval is given by the expression:
-
- Dprp + TTLsig
-
- ...comprising the delay for the information to propagate through the
- nameserver infrastructure plus the time taken for signature
- information to expire from caches.
-
- Again in analogy with other key rollover methods, this is defined as
- key N's ready time (Trdy) and the key is said to be in the ready
- state. (Although the key is not in the zone, it is ready to be
- used.) The interval between the publication and ready times is the
- publication interval of the signature, IpubG, i.e.
-
- Trdy = Tpub + IpubG
-
- where
-
- IpubG = Dsgn + Dprp + TTLsig
-
- Event 5: at some later time the predecessor key is removed and the
- key N added to the DNSKEY RRset. As all the RRs have signatures
- created by the old and new keys, the records can still be
- authenticated. This time is the active time (Tact) and the key is
- now said to be active.
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 15]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Event 6: After IpubK - the publication interval of the key - the
- newly added DNSKEY RRset has propagated through to all validating
- resolvers. At this point the old signatures can be removed from the
- zone. IpubK is given by:
-
- IpubK = Dprp + TTLkey
-
- Event 7: as before, at some later time thought must be given to
- rolling the key. The first step is to publish signatures created by
- the successor key (key N+1) early enough so that key N can be
- replaced after it has been active for its scheduled lifetime. This
- occurs at TpubS (the publication time of the successor), given by:
-
- TpubS <= Tact + Lzsk - IpubG
-
- Event 8: the signatures have propagated through the zone and the new
- key could be added to the zone. This time is the ready time of the
- successor (TrdyS).
-
- TrdyS = TpubS + IpubG
-
- ... where IpubG is as defined above.
-
- Event 9: at some later time key N is removed from the zone and the
- successor key added. This is the retire time of the key (Tret).
-
- Event 10: The signatures must remain in the zone for long enough that
- the new DNSKEY RRset has had enough time to propagate to all caches.
- Once caches contain the new DNSKEY, the old signatures are no longer
- of use and can be considered to be dead. The time at which this
- occurs is the dead time (Tdea), given by:
-
- Tdea = Tret + Iret
-
- ... where Iret is the retire interval, given by:
-
- Iret = IpubK
-
- Event 11: At some later time the signatures can be removed from the
- zone. Although the key has is not longer in the zone, this is
- information associated with it and so the time can be regarded as the
- key's remove time (Trem), given by:
-
- Trem >= Tdea
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 16]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
-3.3. Key-Signing Key Rollover Timelines
-
-3.3.1. Double-Signature Method
-
- The Double-Signature method (also knows as the double-DNSKEY method)
- involves introducing the new KSK to the zone and waiting until its
- presence has been registered by all validating resolvers. At this
- point, the DS record in the parent is changed. Once that change has
- propagated to all validating resolvers, the old KSK is removed.
-
- The timing diagram for such a rollover is:
-
-
-
- |1| |2| |3| |4| |5| |6|
- | | | | | |
- Key N | |<-Ipub->|<--->|<-Dreg->|<---------Lksk--- - -
- | | | | | |
- Key N+1 | | | | | |
- | | | | | |
- Tgen Tpub Trdy Tsub Tact
-
- ---- Time ---->
-
- (continued...)
-
- |7| |8| |9| |10| |11| |12|
- | | | | | |
- Key N - - -------------Lksk------->|<-Iret->| |
- | | | | | |
- Key N+1 |<-Ipub->|<--->|<-Dreg->|<--------Lksk----- - -
- | | | | | |
- TpubS TrdyS TsubS Tret Tdea Trem
-
- ---- Time (cont) ---->
-
-
- Figure 4: Timeline for a Double-Signature KSK rollover.
-
- Event 1: key N is generated at time Tgen. As before, although there
- is no reason why the key cannot be generated immediately prior to
- publication, some implementations may find it convenient to create a
- central pool of keys and draw from it. For this reason, it is again
- shown as a separate event.
-
- Event 2: key N is introduced into the zone; it is added to the DNSKEY
- RRset, which is then signed by key N and all currently active KSKs.
- (So at this point, the DNSKEY RRset is signed by both key N and its
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 17]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- predecessor KSK. If other KSKs were active, it is signed by these as
- well.) This is the publication time (Tpub); after this the key is
- said to be published.
-
- Event 3: before it can be used, the key must be published for long
- enough to guarantee that any validating resolver that has a copy of
- the DNSKEY RRset from the zone in its cache will have a copy of the
- RRset that includes this key: in other words, that any prior cached
- information about the DNSKEY RRset has expired.
-
- The interval is the publication interval (Ipub) and, for the second
- or subsequent KSKs in the zone, is given by:
-
- Ipub = Dprp + TTLkey
-
- ... where Dprp is the propagation delay for the zone and TTLkey the
- TTL for the DNSKEY RRset. The time at which this occurs is the key's
- ready time, Trdy, given by:
-
- Trdy = Tpub + Ipub
-
- Event 4: at some later time, the DS RR corresponding to the new KSK
- is submitted to the parent zone for publication. This time is the
- submission time, Tsub.
-
- Event 5: the DS record is published in the parent zone. As this is
- the point at which all information for authentication - both DNSKEY
- and DS record - is available in the two zones, it is the active time
- of the key:
-
- Tact = Tsub + Dreg
-
- ... where Dreg is the registration delay, the time taken after the DS
- record has been received by the parent zone manager for it to be
- placed in the zone. (Parent zones are often managed by different
- entities, and this term accounts of the organisational overhead of
- transferring a record.)
-
- Event 6: at some time later, all validating resolvers that have the
- DS RRset cached will have a copy that includes the new DS record.
- For the second or subsequent DS records, this interval is given by
- the expression:
-
- DprpP + TTLds
-
- ... where DprpP is the propagation delay in the parent zone and TTLds
- the TTL assigned to DS records in that zone.
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 18]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- In the case of the first DS record for the zone in question, the
- expression is slightly different because it is not information about
- a DS RRset that may be cached, it is information about its absence.
- In this case, the interval is:
-
- DprpP + IngcP
-
- where IngcP is the negative cache interval from the zone's SOA
- record, calculated according to [RFC2308] as the minimum of the TTL
- of the parent SOA record itself (TTLsoaP), and the "minimum" field in
- the record's parameters (SOAminP), i.e.
-
- IngcP = min(TTLsoaP, SOAminP)
-
- Event 7: while key N is active, thought needs to be given to its
- successor (key N+1). At some time before the scheduled end of the
- KSK lifetime, the successor KSK is introduced into the zone and is
- used to sign the DNSKEY RRset. (As before, this means that the
- DNSKEY RRset is signed by both the current and successor KSK.) This
- is the publication time of the successor key, TpubS.
-
- Event 8: after an interval Ipub, the successor key becomes ready (in
- that all validating resolvers that have a copy of the DNSKEY RRset
- have a copy of this key). This is the successor ready time, TrdyS.
-
- Event 9: at the successor submission time (TsubS), the DS record
- corresponding to the successor key is submitted to the parent zone.
-
- Event 10: the successor DS record is published in the parent zone and
- the current DS record withdrawn. The current key is said to be
- retired and the time at which this occurs is Tret, given by:
-
- The relationships between these times are:
-
- TpubS <= Tact + Lksk - Dreg - Ipub
-
- Tret = Tact + Lksk
-
- ... where Lksk is the scheduled lifetime of the KSK.
-
- Event 11: key N must remain in the zone until any validators that
- have the DS RRset cached have a copy of the DS RRset containing the
- new DS record. This interval is the retire interval, given by:
-
- Iret = DprpP + TTLds
-
- ... where DprpP is the propagation delay in the parent zone and TTLds
- the TTL of a DS record.
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 19]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- As the key is no longer used for anything, it can also be said to be
- dead, in which case:
-
- Tdea = Tret + Iret
-
- Event 12: at some later time, key N is removed from the zone (at the
- remove time Trem); the key is now said to be removed.
-
- Trem >= Tdea
-
-3.3.2. Double-DS Method
-
- The Double-DS method is the reverse of the Double-Signature method is
- that it is the DS record that is pre-published (in the parent), and
- not the DNSKEY.
-
- The timeline for the key rollover is shown below:
-
-
-
- |1| |2| |3| |4| |5| |6|
- | | | | | |
- Key N | |<-Dreg->|<-IpubP->|<-->|<---------Lksk------- - -
- | | | | | |
- Key N+1 | | | | |<---->|<--Dreg+IpubP- - -
- | | | | | |
- Tgen Tsub Tpub Trdy Tact TsubS
-
- ---- Time ---->
-
- (continued...)
-
- |7| |8| |9| |10|
- | | | |
- Key N - - -----Lksk---------->|<-Iret->| |
- | | | |
- Key N+1 - - --Dreg+IpubP->|<--->|<------Lksk------ - -
- | | | |
- TrdyS Tret Tdea Trem
-
- ---- Time ---->
-
-
- Figure 5: Timeline for a Double-DS KSK rollover.
-
- Event 1: key N is generated at time Tgen. As before, although there
- is no reason why the key cannot be generated immediately prior to
- publication, some implementations may find it convenient to create a
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 20]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- central pool of keys and draw from it. For this reason, it is again
- shown as a separate event.
-
- Event 2: the DS record corresponding to key N is submitted for
- publication in the parent zone. This time is the submission time
- (Tsub).
-
- Event 3: after the registration delay, Dreg, the DS record is
- published in the parent zone. This is the publication time Tpub,
- given by:
-
- Tpub = Tsub + Dreg
-
- Event 4: at some later time, any validating resolver that has copies
- of the DS RRset in its cache will have a copy of the DS record for
- key N. At this point, key N, if introduced into the DNSKEY RRset,
- could be used to validate the zone. For this reason, this time is
- known as the key's ready time, Trdy, and is given by:
-
- Trdy = Tpub + IpubP
-
- IpubP is the parent publication interval and is given by the
- expression:
-
- IpubP = DprpP + TTLds
-
- ... where DprpP is the propagation delay in the parent zone and TTLds
- the TTL assigned to DS records in that zone.
-
- Event 5: at some later time, the key rollover takes place. The
- predecessor key is withdrawn from the DNSKEY RRset and the new key
- (key N) introduced and used to sign the RRset.
-
- As both DS records have been in the parent zone long enough to ensure
- that they are in the cache of any validating resolvers that have the
- DS RRset cached, the zone can be authenticated throughout the
- rollover - either the resolver has a copy of the DNSKEY RRset (and
- associated RRSIGs) authenticated by the predecessor key, or it has a
- copy of the updated RRset authenticated with the new key.
-
- This time is the key's active time (Tact) and at this point the key
- is said to be active.
-
- Event 6: at some point thought must be given to key replacement. The
- DS record for the successor key must be submitted to the parent zone
- at a time such that when the current key is withdrawn, any validating
- resolver that has DS records in its cache will have data about the DS
- record of the successor key. The time at which this occurs is the
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 21]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- submission time of the successor, given by:
-
- TsubS <= Tact + Lksk - IpubP - Dreg
-
- ... where Lksk is the lifetime of the KSK.
-
- Event 7: the successor key (key N+1) enters the ready state i.e. its
- DS record is now in the caches of all validating resolvers that have
- the parent DS RRset cached. (This is the ready time of the
- successor, TrdyS.)
-
- Event 8: when the current key has been active for its lifetime
- (Lksk), the current key is removed from the DNSKEY RRset and the
- successor key added; the RRset is then signed with the successor key.
- This point is the retire time of the key, Tret, given by:
-
- Tret = Tact + Lksk
-
- Event 9: at some later time, all copies of the old DNSKEY RRset have
- expired from caches and the old DS record is no longer needed. This
- is called the dead time, Tdea, and is given by:
-
- Tdea = Tret + Iret
-
- ... where Iret is the retire interval, given by:
-
- Iret = Dprp + TTLkey
-
- As before, this term includes the time taken to propagate the RRset
- change through the master-slave hierarchy and the time take for the
- DNSKEY RRset to expire from caches.
-
- Event 10: at some later time, the DS record is removed from the
- parent zone. This is the removal time (Trem), given by:
-
- Trem >= Tdea
-
-3.3.3. Double-RRset Method
-
- In the Double-RRset method, both the DS and DNSKEY records are
- changed at the same time, so for a period the zone can be
- authenticated with either key. The advantage of this method is its
- applicability in cases where zone management policy requires overlap
- of authentication keys during a roll.
-
- The timeline for this rollover is shown below:
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 22]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- |1| |2| |3| |4| |5| |6| |7|
- | | | | | | |
- Key N | |<-Dreg->|<-----Lksk----->|<-Iret->| |
- | | | | | | |
- Key N+1 | | | |<-Dreg->|<-----Lksk-- - -
- | | | | | | |
- Tgen Tpub Tact TpubS Tret Tdea Trem
-
- ---- Time ---->
-
-
- Figure 6: Timeline for a Double-RRset KSK rollover.
-
- Event 1: key N is created at time Tgen and thereby immediately
- becomes generated. As before, although there is no reason why the
- key cannot be generated immediately prior to publication, some
- implementations may find it convenient to create a central pool of
- keys and draw from it. For this reason, it is again shown as a
- separate event.
-
- Event 2: the key is added to and used for signing the DNSKEY RRset
- and is thereby published in the zone. At the same time the
- corresponding DS record is submitted to the parent zone for
- publication. This time is the publish time (Tpub) and the key is now
- said to be published.
-
- Event 3: after Dreg, the registration delay, the DS record is
- published in the parent zone. At this point, the zones have all the
- information needed for a validating resolver to authenticate the
- zone, although the information may not yet have reached all
- validating resolver caches. This time is the active time (Tact) and
- the key is said to be active.
-
- Tact = Tpub + Dreg
-
- Event 4: at some point we need to give thought to key replacement.
- The successor key must be introduced into the zone (and its DS record
- submitted to the parent) at a time such that it becomes active when
- the current key has been active for its lifetime, Lksk. This time is
- TpubS, the publication time of the successor key, and is given by:
-
- TpubS <= Tact + Lksk - Dreg
-
- ... where Lksk is the lifetime of the KSK.
-
- Event 5: the successor key's DS record appears in the parent zone and
- the successor key becomes active. At this point, the current key
- becomes retired. This occurs at Tret, given by:
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 23]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Tret = Tact + Lksk
-
- Event 6: the current DNSKEY and DS record must be retained in the
- zones until any any validating resolver that has cached the DNSKEY
- and/or DS RRsets will have a copy of the data for the successor key.
- At this point the current key information is dead, as any validating
- resolver can perform authentication using the successor key. This is
- the dead time, Tdea, given by:
-
- Tdea = Tret + Iret
-
- ... where Iret is the retire interval. This depends on how long both
- the successor DNSKEY and DS records take to propagate through the
- nameserver infrastructure and thence into validator caches. These
- delays are the publication intervals of the child and parent zones
- respectively, so a suitable expression for Iret is:
-
- Iret = max(IpubP, IpubC)
-
- IpubC is the publication interval of the DNSKEY in the child zone,
- IpubP that of the DS record in the parent.
-
- The child term comprises two parts - the time taken for the
- introduction of the DNSKEY record to be propagated to the downstream
- secondary servers (= DprpC, the child propagation delay) and the time
- taken for information about the DNSKEY RRset to expire from the
- validating resolver cache, i.e.
-
- IpubC = DprpC + TTLkey
-
- TTLkey is the TTL for a DNSKEY record in the child zone. The parent
- term is similar:
-
- IpubP = DprpP + TTLds
-
- DprpP the propagation delay in the parent zone and TTLds the TTL for
- a DS record in the parent zone.
-
- Event 7: at some later time, the DNSKEY record can be removed from
- the child zone and a request can be made to remove the DS record from
- the parent zone. This is the removal time, Trem and is given by:
-
- Trem >= Tdea
-
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 24]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
-3.3.4. Interaction with Configured Trust Anchors
-
- Although the preceding sections have been concerned with rolling KSKs
- where the trust anchor is a DS record in the parent zone, zone
- managers may want to take account of the possibility that some
- validating resolvers may have configured trust anchors directly.
-
- Rolling a configured trust anchor is dealt with in [RFC5011]. It
- requires introducing the KSK to be used as the trust anchor into the
- zone for a period of time before use, and retaining it (with the
- "revoke" bit set) for some time after use. The Double-Signature and
- Double-RRset methods can be adapted to include [RFC5011]
- recommendations so that the rollover will also be signalled to
- validating resolvers with configured trust anchors. (The
- recommendations are not suitable for the Double-DS method.
- Introducing the new key early and retaining the old key after use
- effectively converts it into a form of Double-RRset.)
-
-3.3.4.1. Addition of KSK
-
- When the new key is introduced, the publication interval (Ipub) in
- the Double-Signature method should also be subject to the condition:
-
- Ipub >= max(30 days, TTLkey)
-
- ... where the right had side of the expression is the add hold-down
- time defined in section 2.4.1 of [RFC5011].
-
- In the Double-RRSIG method, the key should not be regarded as being
- active until the add hold-down time has passed. In other words, the
- following condition should be enforced:
-
- Tact >= Tpub + max(30 days, TTLkey)
-
- (Effectively, this means extending the lifetime of the key by an
- appropriate amount.)
-
-3.3.4.2. Removal of KSK
-
- The timeline for the removal of the key in both methods is modified
- by introducing a new state, "revoked". When the key reaches the end
- of the retire period, instead of being declared "dead", it is
- revoked; the "revoke" bit is set on the DNSKEY RR and is published in
- (and used to sign) the DNSKEY RRset. The key is maintained in this
- state for the "revoke" interval, Irev, given by:
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 25]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Irev >= 30 days
-
- ... 30 days being the [RFC5011] remove hold-down time. After this
- time, the key is dead and can be removed from the zone when
- convenient.
-
-3.3.5. Introduction of First KSK
-
- There is an additional consideration when introducing a KSK into a
- zone for the first time, and that is that no validating resolver
- should be in a position where it can access the trust anchor before
- the KSK appears in the zone. To do so will cause the validating
- resolver to declare the zone to be bogus.
-
- This is important: in the case of a secure parent, it means ensuring
- that the DS record is not published in the parent zone until there is
- no possibility that a validating resolver can obtain the record yet
- not be able to obtain the corresponding DNSKEY. In the case of an
- insecure parent, i.e. the initial creation of a new security apex, it
- is important to not configure trust anchors in validating resolvers
- until the DNSKEY RRset has had sufficient time to propagate. In both
- cases, this time is the trust anchor availability time (Ttaa) given
- by:
-
- Ttaa >= Tpub + IpubC
-
- where
-
- IpubC = DprpC + TTLkeyC
-
- or
-
- IpubC = DprpC + IngcC
-
- The first expression applies if there was previously a DNSKEY RRset
- in the child zone, the expression for IpubC including the TTLkeyC
- term to account for the time taken for that RRset to expire from
- caches. (It is possible that the zone was signed but that the trust
- anchor had not been submitted to the parent.)
-
- If the introduction of the KSK caused the appearance of the first
- DNSKEY RRset in the child zone, the second expression applies in
- which the TTLkeyC term is replaced by Ingc to allow for the effect of
- negative caching.
-
- As before, IngcC is the negative cache interval from the child zone's
- SOA record, calculated according to [RFC2308] as the minimum of the
- TTL of the SOA record itself (TTLsoaC), and the "minimum" field in
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 26]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- the record's parameters (SOAminC), i.e.
-
- IngcC = min(TTLsoaC, SOAminC)
-
-
-4. Standby Keys
-
- Although keys will usually be rolled according to some regular
- schedule, there may be occasions when an emergency rollover is
- required, e.g. if the active key is suspected of being compromised.
- The aim of the emergency rollover is to allow the zone to be re-
- signed with a new key as soon as possible. As a key must be in the
- ready state to sign the zone, having at least one additional key (a
- standby key) in this state at all times will minimise delay.
-
- In the case of a ZSK, a standby key only really makes sense with the
- Pre-Publication method. A permanent standby DNSKEY RR should be
- included in zone or successor keys could be introduced as soon as
- possible after a key becomes active. Either way results in an
- additional ZSK in the DNSKEY RRset that can immediately be used to
- sign the zone if the current key is compromised.
-
- (Although in theory the mechanism could be used with both the Double-
- Signature and Double-RRSIG methods, it would require Pre-Publication
- of the signatures. Essentially, the standby key would be permanently
- active, as it would have to be periodically used to renew signatures.
- Zones would also permanently require two sets of signatures,
- something that could have a performance impact in large zones.)
-
- A standby key can also be used with the Double-Signature and
- Double-DS methods of rolling a KSK. (The idea of a standby key in
- the Double-RRset effectively means having two active keys.) The
- Double-Signature method requires that the standby KSK be included in
- the DNSKEY RRset; rolling the key then requires just the introduction
- of the DS record in the parent. (Note that the DNSKEY should also be
- used to sign the DNSKEY RRset. As the RRset and its signatures
- travel together, merely adding the DNSKEY does not provide the
- desired time saving; to be used in a rollover requires that the
- DNSKEY RRset be signed with the standby key, and this introduces a
- delay whilst the RRset and its signatures propagate to the caches of
- validating resolvers. There is no time advantage over introducing a
- new DNSKEY and signing the RRset with it at the same time.)
-
- In the Double-DS method of rolling a KSK, it is not a standby key
- that is present, it is a standby DS record in the parent zone.
- Whatever algorithm is used, the standby item of data can be
- introduced as a permanent standby, or be a successor introduced as
- early as possible.
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 27]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
-5. Algorithm Considerations
-
- The preceding sections have implicitly assumed that all keys and
- signatures are created using a single algorithm. However, [RFC4035]
- (section 2.4) states that "There MUST be an RRSIG for each RRset
- using at least one DNSKEY of each algorithm in the zone apex DNSKEY
- RRset".
-
- Except in the case of an algorithm rollover - where the algorithms
- used to create the signatures are being changed - there is no
- relationship between the keys of different algorithms. This means
- that they can be rolled independently of one another. In other
- words, the key rollover logic described above should be run
- separately for each algorithm; the union of the results is included
- in the zone, which is signed using the active key for each algorithm.
-
-
-6. Summary
-
- For ZSKs, "Pre-Publication" is generally considered to be the
- preferred way of rolling keys. As shown in this document, the time
- taken to roll is wholly dependent on parameters under the control of
- the zone manager.
-
- In contrast, "Double-RRset" is the most efficient method for KSK
- rollover due to the ability to have new DS records and DNSKEY RRsets
- propagate in parallel. The time taken to roll KSKs may depend on
- factors related to the parent zone if the parent is signed. For
- zones that intend to comply with the recommendations of [RFC5011], in
- virtually all cases the rollover time will be determined by the
- RFC5011 "add hold-down" and "remove hold-down" times. It should be
- emphasized that this delay is a policy choice and not a function of
- timing values and that it also requires changes to the rollover
- process due to the need to manage revocation of trust anchors.
-
- Finally, the treatment of emergency key rollover is significantly
- simplified by the introduction of stand-by keys as standard practice
- during all types of rollovers.
-
-
-7. IANA Considerations
-
- This memo includes no request to IANA.
-
-
-8. Security Considerations
-
- This document does not introduce any new security issues beyond those
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 28]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- already discussed in [RFC4033], [RFC4034], [RFC4035] and [RFC5011].
-
-
-9. Acknowledgements
-
- The authors gratefully acknowledge help and contributions from Roy
- Arends and Wouter Wijngaards.
-
-
-10. Change History
-
- o draft-morris-dnsop-dnssec-key-timing-02
- * General restructuring.
- * Added descriptions of more rollovers (IETF-76 meeting).
- * Improved description of key states and removed diagram.
- * Provided simpler description of standby keys.
- * Added section concerning first key in a zone.
- * Moved [RFC5011] to a separate section.
- * Various nits fixed (Alfred Hones, Jeremy Reed, Scott Rose, Sion
- Lloyd, Tony FinchX).
-
- o draft-morris-dnsop-dnssec-key-timing-01
- * Use latest boilerplate for IPR text.
- * List different ways to roll a KSK (acknowledgements to Mark
- Andrews).
- * Restructure to concentrate on key timing, not management
- procedures.
- * Change symbol notation (Diane Davidowicz and others).
- * Added key state transition diagram (Diane Davidowicz).
- * Corrected spelling, formatting, grammatical and style errors
- (Diane Davidowicz, Alfred Hoenes and Jinmei Tatuya).
- * Added note that in the case of multiple algorithms, the
- signatures and rollovers for each algorithm can be considered as
- more or less independent (Alfred Hoenes).
- * Take account of the fact that signing a zone is not atomic
- (Chris Thompson).
- * Add section contrasting pre-publication rollover with double
- signature rollover (Matthijs Mekking).
- * Retained distinction between first and subsequent keys in
- definition of initial publication interval (Matthijs Mekking).
-
- o draft-morris-dnsop-dnssec-key-timing-00
- Initial draft.
-
-
-11. References
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 29]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
-11.1. Normative References
-
- [RFC2308] Andrews, M., "Negative Caching of DNS Queries (DNS
- NCACHE)", RFC 2308, March 1998.
-
- [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
- Rose, "DNS Security Introduction and Requirements",
- RFC 4033, March 2005.
-
- [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S.
- Rose, "Resource Records for the DNS Security Extensions",
- RFC 4034, March 2005.
-
- [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
- Rose, "Protocol Modifications for the DNS Security
- Extensions", RFC 4035, March 2005.
-
- [RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC)
- Trust Anchors", RFC 5011, September 2007.
-
-11.2. Informative References
-
- [RFC4641] Kolkman, O. and R. Gieben, "DNSSEC Operational Practices",
- RFC 4641, September 2006.
-
-
-Appendix A. List of Symbols
-
- The document defines a number of symbols, all of which are listed
- here. All are of the form:
-
- All symbols used in the text are of the form:
-
- <TYPE><id><INST>
-
- where:
-
- <TYPE> is an upper-case character indicating what type the symbol is.
- Defined types are:
-
- D delay: interval that is a feature of the process
-
- I interval between two events
-
- L lifetime: interval set by the zone manager
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 30]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- SOA parameter related to SOA RR
-
- T a point in time
-
- TTL TTL of a record
-
- T and I are self-explanatory. D, and L are also time periods, but
- whereas I values are intervals between two events (even if the events
- are defined in terms of the interval, e.g. the dead time occurs
- "retire interval" after the retire time), D, and L are fixed
- intervals. An "L" interval (lifetime) is chosen by the zone manager
- and is a feature of policy. A "D" interval (delay) is a feature of
- the process, probably outside control of the zone manager. SOA and
- TTL are used just because they are common terms.
-
- <id> is lower-case and defines what object or event the variable is
- related to, e.g.
-
- act active
-
- ngc negative cache
-
- pub publication
-
- Finally, <INST> is a capital letter that distinguishes between the
- same variable applying to different instances of an object and is one
- of:
-
- C child
-
- G signature
-
- K key
-
- P parent
-
- S successor
-
- The list of variables used in the text is:
-
- Dprp Propagation delay. The amount of time for a change made at
- a master nameserver to propagate to all the slave
- nameservers.
-
- DprpC Propagation delay in the child zone.
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 31]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- DprpP Propagation delay in the parent zone.
-
- Dreg Registration delay. As a parent zone is often managed by a
- different organisation to that managing the child zone, the
- delays associated with passing data between zones is
- captured by this term.
-
- Dskw Clock skew. The maximum difference in time between the
- signing system and the resolver.
-
- Dsgn Signing delay. After the introduction of a new ZSK, the
- amount of time taken for all the RRs in the zone to be
- signed with it.
-
- Ingc Negative cache interval.
-
- IngcP Negative cache interval of the child zone.
-
- IngcP Negative cache interval of the parent zone.
-
- Ipub Publication interval. The amount of time that must elapse
- after the publication of a key before it can be considered
- to have entered the ready state.
-
- IpubC Publication interval in the child zone.
-
- IpubG Publication interval for the signature.
-
- IpubK Publication interval for the key.
-
- IpubP Publication interval in the parent zone.
-
- Iret Retire interval. The amount of time that must elapse after
- a key enters the retire state for any signatures created
- with it to be purged from validating resolver caches.
-
- Irev Revoke interval. The amount of time that a KSK must remain
- published with the revoke bit set to satisfy [RFC5011]
- considerations.
-
- Lksk Lifetime of a key-signing key. This is the intended amount
- of time for which this particular KSK is regarded as the
- active KSK. Depending on when the key is rolled-over, the
- actual lifetime may be longer or shorter than this.
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 32]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Lzsk Lifetime of a zone-signing key. This is the intended
- amount of time for which the ZSK is used to sign the zone.
- Depending on when the key is rolled-over, the actual
- lifetime may be longer or shorter than this.
-
- Lsig Lifetime of a signature: the difference in time between the
- signature's expiration time and the time at which the
- signature was created. (Note that this is not the
- difference between the signature's expiration and inception
- times: the latter is usually set a small amount of time
- before the signature is created to allow for clock skew
- between the signing system and the validating resolver.)
-
- SOAmin Value of the "minimum" field from an SOA record.
-
- SOAminC Value of the "minimum" field from an SOA record in the
- child zone.
-
- SOAminP Value of the "minimum" field from an SOA record in the
- parent zone.
-
- Tact Active time of the key; the time at which the key is
- regarded as the principal key for the zone.
-
- TactS Active time of the successor key.
-
- Tdea Dead time of a key. Applicable only to ZSKs, this is the
- time at which any record signatures held in validating
- resolver caches are guaranteed to be created with the
- successor key.
-
- Tgen Generate time of a key. The time that a key is created.
-
- Tpub Publish time of a key. The time that a key appears in a
- zone for the first time.
-
- TpubS Publish time of the successor key.
-
- Trem Removal time of a key. The time at which a key is removed
- from the zone.
-
- Tret Retire time of a key. The time at which a successor key
- starts being used to sign the zone.
-
- Trdy Ready time of a key. The time at which it can be
- guaranteed that validating resolvers that have key
- information from this zone cached have a copy of this key
- in their cache. (In the case of KSKs, should the
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 33]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- validating resolvers also have DS information from the
- parent zone cached, the cache must include information
- about the DS record corresponding to the key.)
-
- TrdyS Ready time of a successor key.
-
- Tsub Submit time - the time at which the DS record of a KSK is
- submitted to the parent.
-
- TsubS Submit time of the successor key.
-
- TTLds Time to live of a DS record (in the parent zone).
-
- TTLkey Time to live of a DNSKEY record.
-
- TTLkeyC Time to live of a DNSKEY record in the child zone.
-
- TTLsoa Time to live of a SOA record.
-
- TTLsoaC Time to live of a SOA record in the child zone.
-
- TTLsoaP Time to live of a SOA record in the parent zone.
-
- TTLsig Time to live of an RRSIG record.
-
- Ttaa Trust anchor availability time. The time at which a trust
- anchor record can be made available when a KSK is first
- introduced into a zone.
-
-
-Authors' Addresses
-
- Stephen Morris
- Internet Systems Consortium
- 950 Charter Street
- Redwood City, CA 94063
- USA
-
- Phone: +1 650 423 1300
- Email: stephen@isc.org
-
-
-
-
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 34]
-
-Internet-Draft DNSSEC Key Timing Considerations July 2010
-
-
- Johan Ihren
- Netnod
- Franzengatan 5
- Stockholm, SE-112 51
- Sweden
-
- Phone: +46 8615 8573
- Email: johani@autonomica.se
-
-
- John Dickinson
- Sinodun Internet Technologies Ltd
- Stables 4 Suite 11, Howbery Park
- Wallingford, Oxfordshire OX10 8BA
- UK
-
- Phone: +44 1491 818120
- Email: jad@sinodun.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-Morris, et al. Expires January 2, 2011 [Page 35]
-
diff --git a/doc/draft/draft-ietf-dnsop-dnssec-key-timing-02.txt b/doc/draft/draft-ietf-dnsop-dnssec-key-timing-02.txt
new file mode 100644
index 0000000000000..60d2772b5dc3b
--- /dev/null
+++ b/doc/draft/draft-ietf-dnsop-dnssec-key-timing-02.txt
@@ -0,0 +1,1848 @@
+
+
+
+Internet Engineering Task Force S. Morris
+Internet-Draft ISC
+Intended status: Informational J. Ihren
+Expires: September 11, 2011 Netnod
+ J. Dickinson
+ Sinodun
+ March 10, 2011
+
+
+ DNSSEC Key Timing Considerations
+ draft-ietf-dnsop-dnssec-key-timing-02.txt
+
+Abstract
+
+ This document describes the issues surrounding the timing of events
+ in the rolling of a key in a DNSSEC-secured zone. It presents
+ timelines for the key rollover and explicitly identifies the
+ relationships between the various parameters affecting the process.
+
+Status of this Memo
+
+ This Internet-Draft is submitted in full conformance with the
+ provisions of BCP 78 and BCP 79.
+
+ Internet-Drafts are working documents of the Internet Engineering
+ Task Force (IETF). Note that other groups may also distribute
+ working documents as Internet-Drafts. The list of current Internet-
+ Drafts is at http://datatracker.ietf.org/drafts/current/.
+
+ Internet-Drafts are draft documents valid for a maximum of six months
+ and may be updated, replaced, or obsoleted by other documents at any
+ time. It is inappropriate to use Internet-Drafts as reference
+ material or to cite them other than as "work in progress."
+
+ This Internet-Draft will expire on September 11, 2011.
+
+Copyright Notice
+
+ Copyright (c) 2011 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 1]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+
+Table of Contents
+
+ 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
+ 1.1. Key Rolling Considerations . . . . . . . . . . . . . . . . 3
+ 1.2. Types of Keys . . . . . . . . . . . . . . . . . . . . . . 4
+ 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
+ 1.4. Requirements Language . . . . . . . . . . . . . . . . . . 4
+ 2. Rollover Methods . . . . . . . . . . . . . . . . . . . . . . . 4
+ 2.1. ZSK Rollovers . . . . . . . . . . . . . . . . . . . . . . 4
+ 2.2. KSK Rollovers . . . . . . . . . . . . . . . . . . . . . . 6
+ 2.3. Summary . . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 3. Key Rollover Timelines . . . . . . . . . . . . . . . . . . . . 7
+ 3.1. Key States . . . . . . . . . . . . . . . . . . . . . . . . 7
+ 3.2. Zone-Signing Key Timelines . . . . . . . . . . . . . . . . 9
+ 3.2.1. Pre-Publication Method . . . . . . . . . . . . . . . . 9
+ 3.2.2. Double-Signature Method . . . . . . . . . . . . . . . 11
+ 3.2.3. Double-RRSIG Method . . . . . . . . . . . . . . . . . 13
+ 3.3. Key-Signing Key Rollover Timelines . . . . . . . . . . . . 15
+ 3.3.1. Double-Signature Method . . . . . . . . . . . . . . . 15
+ 3.3.2. Double-DS Method . . . . . . . . . . . . . . . . . . . 18
+ 3.3.3. Double-RRset Method . . . . . . . . . . . . . . . . . 21
+ 3.3.4. Interaction with Configured Trust Anchors . . . . . . 23
+ 3.3.4.1. Addition of KSK . . . . . . . . . . . . . . . . . 23
+ 3.3.4.2. Removal of KSK . . . . . . . . . . . . . . . . . . 24
+ 3.3.5. Introduction of First KSK . . . . . . . . . . . . . . 24
+ 4. Standby Keys . . . . . . . . . . . . . . . . . . . . . . . . . 24
+ 5. Algorithm Considerations . . . . . . . . . . . . . . . . . . . 25
+ 6. Limitation of Scope . . . . . . . . . . . . . . . . . . . . . 26
+ 7. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
+ 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27
+ 9. Security Considerations . . . . . . . . . . . . . . . . . . . 27
+ 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 27
+ 11. Change History (To be removed on publication) . . . . . . . . 27
+ 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 28
+ 12.1. Normative References . . . . . . . . . . . . . . . . . . . 28
+ 12.2. Informative References . . . . . . . . . . . . . . . . . . 29
+ Appendix A. List of Symbols . . . . . . . . . . . . . . . . . . . 29
+ Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 32
+
+
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 2]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+1. Introduction
+
+1.1. Key Rolling Considerations
+
+ When a zone is secured with DNSSEC, the zone manager must be prepared
+ to replace ("roll") the keys used in the signing process. The
+ rolling of keys may be caused by compromise of one or more of the
+ existing keys, or it may be due to a management policy that demands
+ periodic key replacement for security or operational reasons. In
+ order to implement a key rollover, the keys need to be introduced
+ into and removed from the zone at the appropriate times.
+ Considerations that must be taken into account are:
+
+ o DNSKEY records and associated information (such as the associated
+ DS records or RRSIG records created with the key) are not only
+ held at the authoritative nameserver, they are also cached by
+ resolvers. The data on these systems can be interlinked, e.g. a
+ validating resolver may try to validate a signature retrieved from
+ a cache with a key obtained separately.
+
+ o Zone "boot-strapping" events, where a zone is signed for the first
+ time, can be common in configurations where a large number of
+ zones are being served. Procedures should be able to cope with
+ the introduction of keys into the zone for the first time as well
+ as "steady-state", where the records are being replaced as part of
+ normal zone maintenance.
+
+ o To allow for an emergency re-signing of the zone as soon as
+ possible after a key compromise has been detected, standby keys
+ (additional keys over and above those used to sign the zone) need
+ to be present.
+
+ o A query for the DNSKEY RRset returns all DNSKEY records in the
+ zone. As there is limited space in the UDP packet (even with
+ EDNS0 support), key records no longer needed must be periodically
+ removed. (For the same reason, the number of standby keys in the
+ zone should be restricted to the minimum required to support the
+ key management policy.)
+
+ Management policy, e.g. how long a key is used for, also needs to be
+ considered. However, the point of key management logic is not to
+ ensure that a rollover is completed at a certain time but rather to
+ ensure that no changes are made to the state of keys published in the
+ zone until it is "safe" to do so ("safe" in this context meaning that
+ at no time during the rollover process does any part of the zone ever
+ go bogus). In other words, although key management logic enforces
+ policy, it may not enforce it strictly.
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 3]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+1.2. Types of Keys
+
+ Although DNSSEC validation treats all keys equally, [RFC4033]
+ recognises the broad classification of zone-signing keys (ZSK) and
+ key-signing keys (KSK). A ZSK is used to authenticate information
+ within the zone; a KSK is used to authenticate the zone's DNSKEY
+ RRset. The main implication for this distinction concerns the
+ consistency of information during a rollover.
+
+ During operation, a validating resolver must use separate pieces of
+ information to perform an authentication. At the time of
+ authentication, each piece of information may be in its cache or may
+ need to be retrieved from the authoritative server. The rollover
+ process needs to happen in such a way that at all times during the
+ rollover the information is consistent. With a ZSK, the information
+ is the RRSIG (plus associated RRset) and the DNSKEY. These are both
+ obtained from the same zone. In the case of the KSK, the information
+ is the DNSKEY and DS RRset with the latter being obtained from a
+ different zone.
+
+ Although there are similarities in the algorithms to roll ZSKs and
+ KSKs, there are a number of differences. For this reason, the two
+ types of rollovers are described separately. It is also possible to
+ use a single key as both the ZSK and KSK. However, the rolling of
+ this type of key is not treated in this document.
+
+1.3. Terminology
+
+ The terminology used in this document is as defined in [RFC4033] and
+ [RFC5011].
+
+ A number of symbols are used to identify times, intervals, etc. All
+ are listed in Appendix A.
+
+1.4. Requirements Language
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+
+2. Rollover Methods
+
+2.1. ZSK Rollovers
+
+ A ZSK can be rolled in one of three ways:
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 4]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ o Pre-Publication: described in [RFC4641], the new key is introduced
+ into the DNSKEY RRset which is then re-signed. This state of
+ affairs remains in place for long enough to ensure that any cached
+ DNSKEY RRsets contain both keys. At that point signatures created
+ with the old key can be replaced by those created with the new
+ key, and the old signatures removed. During the re-signing
+ process (which may or may not be atomic depending on how the zone
+ is managed), it doesn't matter which key an RRSIG record retrieved
+ by a resolver was created with; cached copies of the DNSKEY RRset
+ will contain both the old and new keys.
+
+ Once the zone contains only signatures created with the new key,
+ there is an interval during which RRSIG records created with the
+ old key expire from caches. After this, there will be no
+ signatures anywhere that were created using the old key, and it
+ can can be removed from the DNSKEY RRset.
+
+ o Double-Signature: also mentioned in [RFC4641], this involves
+ introducing the new key into the zone and using it to create
+ additional RRSIG records; the old key and existing RRSIG records
+ are retained. During the period in which the zone is being signed
+ (again, the signing process may not be atomic), validating
+ resolvers are always able to validate RRSIGs: any combination of
+ old and new DNSKEY RRset and RRSIG allows at least one signature
+ to be validated.
+
+ Once the signing process is complete and enough time has elapsed
+ to allow all old information to expire from caches, the old key
+ and signatures can be removed from the zone. As before, during
+ this period any combination of DNSKEY RRset and RRSIG will allow
+ validation of at least one signature.
+
+ o Double-RRSIG: strictly speaking, the use of the term "Double-
+ Signature" above is a misnomer as the method is not only double
+ signature, it is also double key as well. A true Double-Signature
+ method (here called the Double-RRSIG method) involves introducing
+ new signatures in the zone (while still retaining the old ones)
+ but not introducing the new key.
+
+ Once the signing process is complete and enough time has elapsed
+ to ensure that all caches that may contain an RR and associated
+ RRSIG have a copy of both signatures, the key is changed. After a
+ further interval during which the old DNSKEY RRset expires from
+ caches, the old signatures are removed from the zone.
+
+ Of three methods, Double-Signature is conceptually the simplest -
+ introduce the new key and new signatures, then approximately one TTL
+ later remove the old key and old signatures. Pre-Publication is more
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 5]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ complex - introduce the new key, approximately one TTL later sign the
+ records, and approximately one TTL after that remove the old key.
+ Double-RRSIG is essentially the reverse of Pre-Publication -
+ introduce the new signatures, approximately one TTL later change the
+ key, and approximately one TTL after that remove the old signatures.
+
+2.2. KSK Rollovers
+
+ For ZSKs, the issue for the validating resolver is to ensure that it
+ has access to the ZSK that corresponds to a particular signature. In
+ the KSK case this can never be a problem as the KSK is only used for
+ one signature (that over the DNSKEY RRset) and both the key the
+ signature travel together. Instead, the issue is to ensure that the
+ KSK is trusted.
+
+ Trust in the KSK is either due to the existence of a DS record in the
+ parent zone (which is itself trusted) or an explicitly configured
+ trust anchor. If the former, the rollover algorithm will need to
+ involve the parent zone in the addition and removal of DS records, so
+ timings are not wholly under the control of the zone manager. If the
+ latter, [RFC5011] timings will be needed to roll the keys. (Even in
+ the case where authentication is via a DS record, the zone manager
+ may elect to include [RFC5011] timings in the key rolling process so
+ as to cope with the possibility that the key has also been explicitly
+ configured as a trust anchor.)
+
+ It is important to note that this does not preclude the development
+ of key rollover logic; in accordance with the goal of the rollover
+ logic being able to determine when a state change is "safe", the only
+ effect of being dependent on the parent is that there may be a period
+ of waiting for the parent to respond in addition to any delay the key
+ rollover logic requires. Although this introduces additional delays,
+ even with a parent that is less than ideally responsive the only
+ effect will be a slowdown in the rollover state transitions. This
+ may cause a policy violation, but will not cause any operational
+ problems.
+
+ Like the ZSK case, there are three methods for rolling a KSK:
+
+ o Double-Signature: also known as Double-DNSKEY, the new KSK is
+ added to the DNSKEY RRset which is then signed with both the old
+ and new key. After waiting for the old RRset to expire from
+ caches, the DS record in the parent zone is changed. After
+ waiting a further interval for this change to be reflected in
+ caches, the old key is removed from the RRset. (The name "Double-
+ Signature" is used because, like the ZSK method of the same name,
+ the new key is introduced and immediately used for signing.)
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 6]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ o Double-DS: the new DS record is published. After waiting for this
+ change to propagate into caches, the KSK is changed. After a
+ further interval during which the old DNSKEY RRset expires from
+ caches, the old DS record is removed.
+
+ o Double-RRset: the new KSK is added to the DNSKEY RRset which is
+ then signed with both the old and new key, and the new DS record
+ added to the parent zone. After waiting a suitable interval for
+ the old DS and DNSKEY RRsets to expire from caches, the old DNSKEY
+ and DS record are removed.
+
+ In essence, "Double-Signature" means that the new KSK is introduced
+ first and used to sign the DNSKEY RRset. The DS record is changed,
+ and finally the old KSK removed. With "Double-DS" it is the other
+ way around. Finally, Double-RRset does both updates more or less in
+ parallel.
+
+2.3. Summary
+
+ The methods can be summarised as follows:
+
+ +------------------+------------------+-----------------------------+
+ | ZSK Method | KSK Method | Description |
+ +------------------+------------------+-----------------------------+
+ | Pre-Publication | (not applicable) | Publish the DNSKEY before |
+ | | | the RRSIG. |
+ | Double-Signature | Double-Signature | Publish the DNSKEY and |
+ | | | RRSIG at same time. (For a |
+ | | | KSK, this happens before |
+ | | | the DS is published.) |
+ | Double-RRSIG | (not applicable) | Publish RRSIG before the |
+ | | | DNSKEY. |
+ | (not applicable) | Double-DS | Publish DS before the |
+ | | | DNSKEY. |
+ | (not applicable) | Double-RRset | Publish DNSKEY and DS in |
+ | | | parallel. |
+ +------------------+------------------+-----------------------------+
+
+ Table 1
+
+
+3. Key Rollover Timelines
+
+3.1. Key States
+
+ During the rolling process, a key moves through different states.
+ The defined states are:
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 7]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Generated The key has been created, but has not yet been used for
+ anything.
+
+ Published The DNSKEY record - or information associated with it -
+ is published in the zone, but predecessors of the key (or
+ associated information) may be held in caches.
+
+ The idea of "associated information" is used in rollover
+ methods where RRSIG or DS records are published first and
+ the DNSKEY is changed in an atomic operation. It allows
+ the rollover still to be thought of as moving through a
+ set of states. In the rest of this section, the term
+ "key data" should be taken to mean "key or associated
+ information".
+
+ Ready The new key data has been published for long enough to
+ guarantee that any previous versions of it have expired
+ from caches.
+
+ Active The key has started to be used to sign RRsets. Note that
+ when this state is entered, it may not be possible for
+ validating resolvers to use the key for validation in all
+ cases: the zone signing may not have finished, or the
+ data might not have reached the resolver because of
+ propagation delays and/or caching issues. If this is the
+ case, the resolver will have to rely on the key's
+ predecessor instead.
+
+ Retired The key is in the zone but a successor key has become
+ active. As there may still be information in caches that
+ that require use of the key, it is being retained until
+ this information expires.
+
+ Dead The key is published in the zone but there is no longer
+ information anywhere that requires its presence. Hence
+ the key can be removed from the zone at any time.
+
+ Removed The key has been removed from the zone.
+
+ There is one additional state, used where [RFC5011] considerations
+ are in effect (see Section 3.3.4):
+
+ Revoked The key is published for a period with the "revoke" bit
+ set as a way of notifying validating resolvers that have
+ configured it as an [RFC5011] trust anchor that it is
+ about to be removed from the zone.
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 8]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+3.2. Zone-Signing Key Timelines
+
+ The following sections describe the rolling of a ZSK. They show the
+ events in the lifetime of a key (referred to as "key N") and cover
+ its replacement by its successor (key N+1).
+
+3.2.1. Pre-Publication Method
+
+ The following diagram shows the timeline of a Pre-Publication
+ rollover. Time increases along the horizontal scale from left to
+ right and the vertical lines indicate events in the process.
+ Significant times and time intervals are marked.
+
+
+
+ |1| |2| |3| |4| |5| |6| |7| |8| |9|
+ | | | | | | | | |
+ Key N | |<-Ipub->|<--->|<-------Lzsk----->|<-Iret->|<--->|
+ | | | | | | | | |
+ Key N+1 | | | | |<-Ipub->|<->|<---Lzsk-- - -
+ | | | | | | | | |
+ Tgen Tpub Trdy Tact TpubS Tret Tdea Trem
+
+ ---- Time ---->
+
+
+ Figure 1: Timeline for a Pre-Publication ZSK rollover.
+
+ Event 1: key N is generated at the generate time (Tgen). Although
+ there is no reason why the key cannot be generated immediately prior
+ to its publication in the zone (Event 2), some implementations may
+ find it convenient to create a pool of keys in one operation and draw
+ from that pool as required. For this reason, it is shown as a
+ separate event. Keys that are available for use but not published
+ are said to be generated.
+
+ Event 2: key N's DNSKEY record is put into the zone, i.e. it is added
+ to the DNSKEY RRset which is then re-signed with the current key-
+ signing key. The time at which this occurs is the key's publication
+ time (Tpub), and the key is now said to be published. Note that the
+ key is not yet used to sign records.
+
+ Event 3: before it can be used, the key must be published for long
+ enough to guarantee that any cached version of the zone's DNSKEY
+ RRset includes this key.
+
+ This interval is the publication interval (Ipub) and, for the second
+ or subsequent keys in the zone, is given by:
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 9]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Ipub = Dprp + TTLkey
+
+ Here, Dprp is the propagation delay - the time taken in the worst-
+ case situation for a change introduced at the master to replicate to
+ all slave servers - which depends on the depth of the master-slave
+ hierarchy. TTLkey is the time-to-live (TTL) for the DNSKEY records
+ in the zone. The sum is therefore the maximum time taken for
+ existing DNSKEY records to expire from caches, regardless of the
+ nameserver from which they were retrieved.
+
+ (The case of introducing the first ZSK into the zone is discussed in
+ Section 3.3.5.)
+
+ After a delay of Ipub, the key is said to be ready and could be used
+ to sign records. The time at which this event occurs is the key's
+ ready time (Trdy), which is given by:
+
+ Trdy = Tpub + Ipub
+
+ Event 4: at some later time, the key starts being used to sign
+ RRsets. This point is the activation time (Tact) and after this, the
+ key is said to be active.
+
+ Event 5: at some point thought must be given to its successor (key
+ N+1). As with the introduction of the currently active key into the
+ zone, the successor key will need to be published at least Ipub
+ before it is activated. Denoting the publication time of the
+ successor key by TpubS, then:
+
+ TpubS <= Tact + Lzsk - Ipub
+
+ Here, Lzsk is the length of time for which a ZSK will be used (the
+ ZSK lifetime). It should be noted that unlike the publication
+ interval, Lzsk is not determined by timing logic, but by key
+ management policy. Lzsk will be set by the operator according to
+ their assessment of the risks posed by continuing to use a key and
+ the risks associated with key rollover. However, operational
+ considerations may mean a key is active for slightly more or less
+ than Lzsk.
+
+ Event 6: while key N is still active, its successor becomes ready.
+ From this time onwards, key N+1 could be used to sign the zone.
+
+ Event 7: When key N has been in use for an interval equal to the the
+ ZSK lifetime, it is retired (i.e. it will never again be used to
+ generate new signatures) and key N+1 activated and used to sign the
+ zone. This is the retire time of key N (Tret) and is given by:
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 10]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Tret = Tact + Lzsk
+
+ It is also the activation time of the successor key (TactS). Note
+ that operational considerations may cause key N to remain in use for
+ longer than Lzsk; if so, the retirement actually occurs when the
+ successor key is made active.
+
+ Event 8: the retired key needs to be retained in the zone whilst any
+ RRSIG records created using this key are still published in the zone
+ or held in caches. (It is possible that a validating resolver could
+ have an unexpired RRSIG record and an expired DNSKEY RRset in the
+ cache when it is asked to provide both to a client. In this case the
+ DNSKEY RRset would need to be looked up again.) This means that once
+ the key is no longer used to sign records, it should be retained in
+ the zone for at least the retire interval (Iret) given by:
+
+ Iret = Dsgn + Dprp + TTLsig
+
+ Dsgn is the delay needed to ensure that all existing RRsets have been
+ re-signed with the new key. Dprp is (as described above) the
+ propagation delay, required to guarantee that the updated zone
+ information has reached all slave servers, and TTLsig is the maximum
+ TTL of all the RRSIG records in the zone.
+
+ The time at which all RRSIG records created with this key have
+ expired from resolver caches is the dead time (Tdea), given by:
+
+ Tdea = Tret + Iret
+
+ ...at which point the key is said to be dead.
+
+ Event 9: at any time after the key becomes dead, it can be removed
+ from the zone and the DNSKEY RRset re-signed with the current key-
+ signing key. This time is the removal time (Trem), given by:
+
+ Trem >= Tdea
+
+ ...at which time the key is said to be removed.
+
+3.2.2. Double-Signature Method
+
+ The timeline for a double-signature rollover is shown below. The
+ diagram follows the convention described in Section 3.2.1
+
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 11]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ |1| |2| |3| |4| |5|
+ | | | | |
+ Key N | |<----Lzsk--->|<---Iret--->| |
+ | | | | |
+ Key N+1 | | |<-----Lzsk------- - -
+ | | | | |
+ Tgen Tact Tret Tdea Trem
+
+ ---- Time ---->
+
+
+ Figure 2: Timeline for a Double-Signature ZSK rollover.
+
+ Event 1: key N is generated at the generate time (Tgen). Although
+ there is no reason why the key cannot be generated immediately prior
+ to its publication in the zone (Event 2), some implementations may
+ find it convenient to create a pool of keys in one operation and draw
+ from that pool as required. For this reason, it is shown as a
+ separate event. Keys that are available for use but not published
+ are said to be generated.
+
+ Event 2: key N is added to the DNSKEY RRset and is then used to sign
+ the zone; existing signatures in the zone are not removed. This is
+ the activation time (Tact), after which the key is said to be active.
+
+ Event 3: after the current key (key N) has been in use for its
+ intended lifetime (Lzsk), the successor key (key N+1) is introduced
+ into the zone and starts being used to sign RRsets: neither the
+ current key nor the signatures created with it are removed. The
+ successor is key is now active and the current key is said to be
+ retired. This time is the retire time of the key (Tret); it is also
+ the activation time of the successor key (TactS).
+
+ Tret = Tact + Lzsk
+
+ Event 4: before key N can be withdrawn from the zone, all RRsets that
+ need to be signed must have been signed by the successor key (key
+ N+1) and any old RRsets that do not include the new key or new RRSIGs
+ must have expired from caches. Note that the signatures are not
+ replaced - each RRset is signed by both the old and new key.
+
+ This takes Iret, the retire interval, given by the expression:
+
+ Iret = Dsgn + Dprp + max(TTLkey, TTLsig)
+
+ As before, Dsgn is the delay needed to ensure that all existing
+ RRsets have been signed with the new key, Dprp is the propagation
+ delay. The final term (the maximum of TTLkey and TTLsig) is the
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 12]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ period to wait for key and signature data associated with key N to
+ expire from caches. (TTLkey is the TTL of the DNSKEY RRset and
+ TTLsig is the maximum TTL of all the RRSIG records in the zone
+ created with the ZSK. The two may be different as although the TTL
+ of an RRSIG is equal to the TTL of the RRs in the associated RRset
+ [RFC4034], the DNSKEY RRset only needs to be signed with the KSK.)
+
+ At the end of this interval, key N is said to be dead. This occurs
+ at the dead time (Tdea) so:
+
+ Tdea = Tret + Iret
+
+ Event 5: at some later time key N and its signatures can be removed
+ from the zone. This is the removal time Trem, given by:
+
+ Trem >= Tdea
+
+3.2.3. Double-RRSIG Method
+
+ The timeline for a double-signature rollover is shown below. The
+ diagram follows the convention described in Section 3.2.1
+
+
+
+ |1||2| |3| |4||5| |6| |7||8| |9| |10|
+ | | | | | | | | | |
+ Key N | |<-Dsgn->| | |<--------Lzsk-------->|<-Iret->| |
+ | |<---IpubG-->| | | | | | |
+ | | | | | | | | | |
+ Key N+1 | | | | | |<-IpubG->| | | |
+ | | | | | | | | | |
+ Tgen Tpub Trdy Tact TpubS TrdyS Tret Tdea Trem
+
+ ---- Time ---->
+
+
+ Figure 3: Timeline for a Double-Signature ZSK rollover.
+
+ Event 1: key N is generated at the generate time (Tgen). Although
+ there is no reason why the key cannot be generated immediately prior
+ to its publication in the zone (Event 2), some implementations may
+ find it convenient to create a pool of keys in one operation and draw
+ from that pool as required. For this reason, it is shown as a
+ separate event. Keys that are available for use but not published
+ are said to be generated.
+
+ Event 2: key N is used to sign the zone but existing signatures are
+ retained. Although the new ZSK is not published in the zone at this
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 13]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ point, for analogy with the other ZSK rollover methods and because
+ this is the first time that key information is visible (albeit
+ indirectly through the created signatures) this time is called the
+ publication time (Tpub).
+
+ Event 3: after the signing interval, Dsgn, all RRsets that need to be
+ signed have been signed by the new key. (As a result, all these
+ RRsets are now signed twice, once by the (still-absent) key N and
+ once by its predecessor.
+
+ Event 4: there is now a delay while the old signature information
+ expires from caches. This interval is given by the expression:
+
+ Dprp + TTLsig
+
+ As before, Dprp is the propagation delay and TTLsig is the maximum
+ TTL of all the RRSIG records in the zone.
+
+ Again in analogy with other key rollover methods, this is defined as
+ key N's ready time (Trdy) and the key is said to be in the ready
+ state. (Although the key is not in the zone, it is ready to be
+ used.) The interval between the publication and ready times is the
+ publication interval of the signature, IpubG, i.e.
+
+ Trdy = Tpub + IpubG
+
+ where
+
+ IpubG = Dsgn + Dprp + TTLsig
+
+ Event 5: at some later time the predecessor key is removed and the
+ key N added to the DNSKEY RRset. As all the signed RRs have
+ signatures created by the old and new keys, the records can still be
+ authenticated. This time is the activation time (Tact) and the key
+ is now said to be active.
+
+ Event 6: at some point thought must be given to rolling the key. The
+ first step is to publish signatures created by the successor key (key
+ N+1) early enough for key N to be replaced after it has been active
+ for its scheduled lifetime. This occurs at TpubS (the publication
+ time of the successor), given by:
+
+ TpubS <= Tact + Lzsk - IpubG
+
+ Event 7: the signatures have propagated and the new key could be
+ added to the zone. This time is the ready time of the successor key
+ (TrdyS).
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 14]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ TrdyS = TpubS + IpubG
+
+ ... where IpubG is as defined above.
+
+ Event 8: at some later time key N is removed from the zone and the
+ successor key (key N+1) added. This is the retire time of the key
+ (Tret).
+
+ Event 9: the signatures must remain in the zone for long enough that
+ the new DNSKEY RRset has had enough time to propagate to all caches.
+ Once caches contain the new DNSKEY, the old signatures are no longer
+ of use and can be considered to be dead. The time at which this as
+ they can not be validated by any key. In analogy with other rollover
+ methods, the time at which this occurs is the dead time (Tdea), given
+ by:
+
+ Tdea = Tret + Iret
+
+ ... where Iret is the retire interval, given by:
+
+ Iret = Dprp + TTLkey
+
+ Dprp is as defined earlier and TTLkey is the TTL of the DNSKEY RRset.
+
+ Event 10: at some later time the signatures can be removed from the
+ zone. In analogy with other rollover methods this time is called the
+ remove time (Trem) and is given by:
+
+ Trem >= Tdea
+
+3.3. Key-Signing Key Rollover Timelines
+
+ The following sections describe the rolling of a KSK. They show the
+ events in the lifetime of a key (referred to as "key N") and cover it
+ replacement by its successor (key N+1).
+
+3.3.1. Double-Signature Method
+
+ The timeline for a double-signature rollover is shown below. The
+ diagram follows the convention described in Section 3.2.1
+
+
+
+
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 15]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ |1| |2| |3| |4| |5|
+ | | | | |
+ Key N | |<-Ipub->|<--->|<-Dreg->|<-----Lksk--- - -
+ | | | | |
+ Key N+1 | | | | |
+ | | | | |
+ Tgen Tpub Trdy Tsub Tact
+
+ ---- Time ---->
+
+ (continued...)
+
+ |6| |7| |8| |9| |10| |11|
+ | | | | | |
+ Key N - - -------------Lksk------->|<-Iret->| |
+ | | | | | |
+ Key N+1 |<-Ipub->|<--->|<-Dreg->|<--------Lksk----- - -
+ | | | | | |
+ TpubS TrdyS TsubS Tret Tdea Trem
+
+ ---- Time (cont) ---->
+
+
+ Figure 4: Timeline for a Double-Signature KSK rollover.
+
+ Event 1: key N is generated at the generate time (Tgen). Although
+ there is no reason why the key cannot be generated immediately prior
+ to its publication in the zone (Event 2), some implementations may
+ find it convenient to create a pool of keys in one operation and draw
+ from that pool as required. For this reason, it is shown as a
+ separate event. Keys that are available for use but not published
+ are said to be generated.
+
+ Event 2: key N is introduced into the zone; it is added to the DNSKEY
+ RRset, which is then signed by key N and all currently active KSKs.
+ (So at this point, the DNSKEY RRset is signed by both key N and its
+ predecessor KSK. If other KSKs were active, it is signed by these as
+ well.) This is the publication time (Tpub); after this the key is
+ said to be published.
+
+ Event 3: before it can be used, the key must be published for long
+ enough to guarantee that any validating resolver that has a copy of
+ the DNSKEY RRset in its cache will have a copy of the RRset that
+ includes this key: in other words, that any prior cached information
+ about the DNSKEY RRset has expired.
+
+ The interval is the publication interval (Ipub) and, for the second
+ or subsequent KSKs in the zone, is given by:
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 16]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Ipub = DprpC + TTLkey
+
+ ... where DprpC is the propagation delay for the child zone (the zone
+ containing the KSK being rolled) and TTLkey the TTL for the DNSKEY
+ RRset. The time at which this occurs is the key's ready time, Trdy,
+ given by:
+
+ Trdy = Tpub + Ipub
+
+ (The case of introducing the first KSK into the zone is discussed in
+ Section 3.3.5.)
+
+ Event 4: at some later time, the DS record corresponding to the new
+ KSK is submitted to the parent zone for publication. This time is
+ the submission time, Tsub.
+
+ Event 5: the DS record is published in the parent zone. As this is
+ the point at which all information for authentication - both DNSKEY
+ and DS record - is available in the two zones, in analogy with other
+ rollover methods, this is called the activation time of the key
+ (Tact):
+
+ Tact = Tsub + Dreg
+
+ ... where Dreg is the registration delay, the time taken after the DS
+ record has been received by the parent zone manager for it to be
+ placed in the zone. (Parent zones are often managed by different
+ entities, and this term accounts for the organisational overhead of
+ transferring a record.)
+
+ Event 6: while key N is active, thought needs to be given to its
+ successor (key N+1). At some time before the scheduled end of the
+ KSK lifetime, the successor KSK is published in the zone. (As
+ before, this means that the DNSKEY RRset is signed by both the
+ current and successor KSK.) This time is the publication time of the
+ successor key, TpubS, given by:
+
+ TpubS <= Tact + Lksk - Dreg - Ipub
+
+ ... where Lksk is the scheduled lifetime of the KSK.
+
+ Event 7: after an interval Ipub, key N+1 becomes ready (in that all
+ caches that have a copy of the DNSKEY RRset have a copy of this key).
+ This time is the ready time of the successor (TrdyS).
+
+ Event 8: at the submission time of the successor (TsubS), the DS
+ record corresponding to key N+1 is submitted to the parent zone.
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 17]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Event 9: the successor DS record is published in the parent zone and
+ the current DS record withdrawn. The current key is said to be
+ retired and the time at which this occurs is Tret, given by:
+
+ Tret = Tact + Lksk
+
+ Event 10: key N must remain in the zone until any caches that contain
+ a copy of the DS RRset have a copy containing the new DS record.
+ This interval is the retire interval, given by:
+
+ Iret = DprpP + TTLds
+
+ ... where DprpP is the propagation delay in the parent zone and TTLds
+ the TTL of a DS record in the parent zone.
+
+ As the key is no longer used for anything, is said to be dead. This
+ point is the dead time (Tdea), given by:
+
+ Tdea = Tret + Iret
+
+ Event 11: at some later time, key N is removed from the zone (at the
+ remove time Trem); the key is now said to be removed.
+
+ Trem >= Tdea
+
+3.3.2. Double-DS Method
+
+ The timeline for a double-DS rollover is shown below. The diagram
+ follows the convention described in Section 3.2.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 18]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ |1| |2| |3| |4| |5| |6|
+ | | | | | |
+ Key N | |<-Dreg->|<-IpubP->|<-->|<---------Lksk------- - -
+ | | | | | |
+ Key N+1 | | | | |<---->|<--Dreg+IpubP- - -
+ | | | | | |
+ Tgen Tsub Tpub Trdy Tact TsubS
+
+ ---- Time ---->
+
+ (continued...)
+
+ |7| |8| |9| |10|
+ | | | |
+ Key N - - -----Lksk---------->|<-Iret->| |
+ | | | |
+ Key N+1 - - --Dreg+IpubP->|<--->|<------Lksk------ - -
+ | | | |
+ TrdyS Tret Tdea Trem
+
+ ---- Time ---->
+
+
+ Figure 5: Timeline for a Double-DS KSK rollover.
+
+ Event 1: key N is generated at the generate time (Tgen). Although
+ there is no reason why the key cannot be generated immediately prior
+ to its publication in the zone (Event 2), some implementations may
+ find it convenient to create a pool of keys in one operation and draw
+ from that pool as required. For this reason, it is shown as a
+ separate event. Keys that are available for use but not published
+ are said to be generated.
+
+ Event 2: the DS RR is submitted to the parent zone for publication.
+ This time is the submission time, Tsub.
+
+ Event 3: after the registration delay, Dreg, the DS record is
+ published in the parent zone. This is the publication time Tpub,
+ given by:
+
+ Tpub = Tsub + Dreg
+
+ Event 4: at some later time, any cache that has a copy of the DS
+ RRset will have a copy of the DS record for key N. At this point, key
+ N, if introduced into the DNSKEY RRset, could be used to validate the
+ zone. For this reason, this time is known as the key's ready time,
+ Trdy, and is given by:
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 19]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Trdy = Tpub + IpubP
+
+ IpubP is the parent publication interval and is given by the
+ expression:
+
+ IpubP = DprpP + TTLds
+
+ ... where DprpP is the propagation delay for the parent zone and
+ TTLds the TTL assigned to DS records in that zone.
+
+ Event 5: at some later time, the key rollover takes place and the new
+ key (key N) introduced and used to sign the RRset.
+
+ As both the old and new DS records have been in the parent zone long
+ enough to ensure that they are in caches that contain the DS RRset,
+ the zone can be authenticated throughout the rollover - either the
+ resolver has a copy of the DNSKEY RRset authenticated by the
+ predecessor key, or it has a copy of the updated RRset authenticated
+ with the new key.
+
+ This time is key N's activation time (Tact) and at this point the key
+ is said to be active.
+
+ Event 6: at some point thought must be given to key replacement. The
+ DS record for the successor key must be submitted to the parent zone
+ at a time such that when the current key is withdrawn, any cache that
+ contains the zone's DS records have data about the DS record of the
+ successor key. The time at which this occurs is the submission time
+ of the successor, given by:
+
+ TsubS <= Tact + Lksk - IpubP - Dreg
+
+ ... where Lksk is the lifetime of key N according to policy.
+
+ Event 7: the successor key (key N+1) enters the ready state i.e. its
+ DS record is now in caches that contain the parent DS RRset. This is
+ the ready time of the successor key, TrdyS.
+
+ (The interval between events 6 and 7 for the key N+1 correspond to
+ the the interval between events 2 and 4 for key N)
+
+ Event 8: when key N has been active for its lifetime (Lksk), it is
+ removed from the DNSKEY RRset and key N+1 added; the RRset is then
+ signed with the new key. This is the retire time of the key, Tret,
+ given by:
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 20]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Tret = Tact + Lksk
+
+ Event 9: at some later time, all copies of the old DNSKEY RRset have
+ expired from caches and the old DS record is no longer needed. In
+ analogy with other rollover methods, this is called the dead time,
+ Tdea, and is given by:
+
+ Tdea = Tret + Iret
+
+ ... where Iret is the retire interval, given by:
+
+ Iret = DprpC + TTLkey
+
+ As before, this term includes DprpC, the time taken to propagate the
+ RRset change through the master-slave hierarchy of the child zone and
+ TTLkey, the time taken for the DNSKEY RRset to expire from caches.
+
+ Event 10: at some later time, the DS record is removed from the
+ parent zone. In analogy with other rollover methods, this is the
+ removal time (Trem), given by:
+
+ Trem >= Tdea
+
+3.3.3. Double-RRset Method
+
+ The timeline for a double-RRset rollover is shown below. The diagram
+ follows the convention described in Section 3.2.1
+
+
+
+ |1| |2| |3| |4| |5| |6|
+ | | | | | |
+ Key N | |<-Ipub->|<-----Lksk----->| |
+ | | | | | |
+ Key N+1 | | | |<-Ipub->| |
+ | | | | | |
+ Tgen Tpub Tact TpubS Tret Trem
+
+ ---- Time ---->
+
+
+ Figure 6: Timeline for a Double-RRset KSK rollover.
+
+ Event 1: key N is generated at the generate time (Tgen). Although
+ there is no reason why the key cannot be generated immediately prior
+ to its publication in the zone (Event 2), some implementations may
+ find it convenient to create a pool of keys in one operation and draw
+ from that pool as required. For this reason, it is shown as a
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 21]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ separate event. Keys that are available for use but not published
+ are said to be generated.
+
+ Event 2: the key is added to and used for signing the DNSKEY RRset
+ and is thereby published in the zone. At the same time the
+ corresponding DS record is submitted to the parent zone for
+ publication. This time is the publish time (Tpub) and the key is now
+ said to be published.
+
+ Event 3: at some later time, the DS record is published in the parent
+ zone and at some time after that, the updated information has reached
+ all caches: any cache that holds a DNSKEY RRset from the child zone
+ will have a copy that includes the new KSK, and any cache that has a
+ copy of the parent DS RRset will have a copy that includes the new DS
+ record.
+
+ The time at which this occurs is called the activation time of the
+ new KSK (Tact), given by:
+
+ Tact = Tpub + Ipub
+
+ ... where Ipub is the publication interval, given by:
+
+ Ipub = max(IpubP, IpubC),
+
+ IpubP being the publication interval in the parent zone and IpubC the
+ publication interval in the child zone. The parent zone's
+ publication interval is given by:
+
+ IpubP = Dreg + DprpP + TTLds
+
+ where Dreg is the registration delay, the time taken for the DS
+ record to be published in the parent zone. DprpP is the parent
+ zone's propagation delay and TTLds is the TTL of the DS record in
+ that zone.
+
+ The child's publication interval is given by a similar equation:
+
+ IpubC = DprpC + TTLkey
+
+ ... where DprpC is the propagation delay in the child zone and TTLkey
+ the TTL of a DNSKEY record.
+
+ Event 4: at some point we need to give thought to key replacement.
+ The successor key (key N+1) must be introduced into the zone (and its
+ DS record submitted to the parent) at a time such that it becomes
+ active when the current key has been active for its lifetime, Lksk.
+ This time is TpubS, the publication time of the successor key, and is
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 22]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ given by:
+
+ TpubS <= Tact + Lksk - Ipub
+
+ ... where Lksk is the lifetime of the KSK.
+
+ Event 5: key N+1's DNSKEY and DS records are in any caches that
+ contain the child zone DNSKEY and/or the parent zone DS RR, and so
+ the zone can be validated with the new key. This is the activation
+ time of the successor key (TactS) and by analogy with other rollover
+ methods, it is also the retire time of the current key. Since at
+ this time the zone can be validated by the successor key, there is no
+ reason to keep the current key in the zone and the time can also be
+ regarded as the current key's dead time. Thus:
+
+ Tret = Tdea = TactS = Tact + Lksk
+
+ Event 6: at some later time, the key N's DS and DNSKEY records can be
+ removed from their respective zones. In analogy with other rollover
+ methods, this is the removal time (Trem), given by:
+
+ Trem >= Tdea
+
+3.3.4. Interaction with Configured Trust Anchors
+
+ Although the preceding sections have been concerned with rolling KSKs
+ where the trust anchor is a DS record in the parent zone, zone
+ managers may want to take account of the possibility that some
+ validating resolvers may have configured trust anchors directly.
+
+ Rolling a configured trust anchor is dealt with in [RFC5011]. It
+ requires introducing the KSK to be used as the trust anchor into the
+ zone for a period of time before use, and retaining it (with the
+ "revoke" bit set) for some time after use.
+
+3.3.4.1. Addition of KSK
+
+ When the new key is introduced, the publication interval (Ipub) in
+ the Double-Signature and Double-RRset methods should also be subject
+ to the condition:
+
+ Ipub >= Dprp + max(30 days, TTLkey)
+
+ ... where the right hand side of the expression is the time taken for
+ the change to propagate to all nameservers for the zone plus the add
+ hold-down time defined in section 2.4.1 of [RFC5011].
+
+ In the Double-DS method, instead of the changing of the KSK RR being
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 23]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ instantaneous, there must now be a period of overlap. In other
+ words, the new KSK must be introduced into the zone at least:
+
+ DprpC + max(30 days, TTLkey)
+
+ ... before the switch is made.
+
+3.3.4.2. Removal of KSK
+
+ The timeline for the removal of the key in all methods is modified by
+ introducing a new state, "revoked". When the key reaches its dead
+ time, instead of being declared "dead", it is revoked; the "revoke"
+ bit is set on the DNSKEY RR and is published in (and used to sign)
+ the DNSKEY RRset. The key is maintained in this state for the
+ "revoke" interval, Irev, given by:
+
+ Irev >= 30 days
+
+ ... 30 days being the [RFC5011] remove hold-down time. After this
+ time, the key is dead and can be removed from the zone.
+
+3.3.5. Introduction of First KSK
+
+ There is an additional consideration when introducing a KSK into a
+ zone for the first time, and that is that no validating resolver
+ should be in a position where it can access the trust anchor before
+ the KSK appears in the zone. To do so will cause it to declare the
+ zone to be bogus.
+
+ This is important: in the case of a secure parent, it means ensuring
+ that the DS record is not published in the parent zone until there is
+ no possibility that a validating resolver can obtain the record yet
+ not be able to obtain the corresponding DNSKEY. In the case of an
+ insecure parent, i.e. the initial creation of a new security apex, it
+ is not possible to guarantee this. It is up to the operator of the
+ validating resolver to wait for the new KSK to appear at all servers
+ for the zone before configuring the trust anchor.
+
+
+4. Standby Keys
+
+ Although keys will usually be rolled according to some regular
+ schedule, there may be occasions when an emergency rollover is
+ required, e.g. if the active key is suspected of being compromised.
+ The aim of the emergency rollover is to allow the zone to be re-
+ signed with a new key as soon as possible. As a key must be in the
+ ready state to sign the zone, having at least one additional key (a
+ standby key) in this state at all times will minimise delay.
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 24]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ In the case of a ZSK, a standby key only really makes sense with the
+ Pre-Publication method. A permanent standby DNSKEY RR should be
+ included in zone or successor keys could be introduced as soon as
+ possible after a key becomes active. Either way results in one or
+ more additional ZSKs in the DNSKEY RRset that can immediately be used
+ to sign the zone if the current key is compromised.
+
+ (Although in theory the mechanism could be used with both the Double-
+ Signature and Double-RRSIG methods, it would require pre-publication
+ of the signatures. Essentially, the standby key would be permanently
+ active, as it would have to be periodically used to renew signatures.
+ Zones would also permanently require two sets of signatures.)
+
+ It is also possible to have a standby KSK. The Double-Signature
+ method requires that the standby KSK be included in the DNSKEY RRset;
+ rolling the key then requires just the introduction of the DS record
+ in the parent. Note that the standby KSK should also be used to sign
+ the DNSKEY RRset. As the RRset and its signatures travel together,
+ merely adding the KSK without using it to sign the DNSKEY RRset does
+ not provide the desired time saving: for a KSK to be used in a
+ rollover the DNSKEY RRset must be signed with it, and this would
+ introduce a delay while the old RRset (not signed with the new key)
+ expires from caches.
+
+ The idea of a standby KSK in the Double-RRset rollover method
+ effectively means having two active keys (as the standby KSK and
+ associated DS record would both be published at the same time in
+ their respective zones).
+
+ Finally, in the Double-DS method of rolling a KSK, it is not a
+ standby key that is present, it is a standby DS record in the parent
+ zone.
+
+ Whatever algorithm is used, the standby item of data can be included
+ in the zone on a permanent basis, or be a successor introduced as
+ early as possible.
+
+
+5. Algorithm Considerations
+
+ The preceding sections have implicitly assumed that all keys and
+ signatures are created using a single algorithm. However, [RFC4035]
+ (section 2.4) states that "There MUST be an RRSIG for each RRset
+ using at least one DNSKEY of each algorithm in the zone apex DNSKEY
+ RRset".
+
+ Except in the case of an algorithm rollover - where the algorithms
+ used to create the signatures are being changed - there is no
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 25]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ relationship between the keys of different algorithms. This means
+ that they can be rolled independently of one another. In other
+ words, the key rollover logic described above should be run
+ separately for each algorithm; the union of the results is included
+ in the zone, which is signed using the active key for each algorithm.
+
+
+6. Limitation of Scope
+
+ This document represents current thinking at the time of publication.
+ However, the subject matter is evolving and it is more than likely
+ that this document will need to be revised in the future.
+
+ Some of the techniques and ideas that DNSSEC operators considering
+ differ from this those described in this document. Of note are
+ alternatives to the strict split into KSK and ZSK key roles and the
+ consequences for rollover logic from partial signing (i.e. when the
+ new key initially only signs a fraction of the zone while leaving
+ other signatures generated by the old key in place).
+
+ Furthermore, as noted in section 5, this document covers only rolling
+ keys of the same algorithm, it does not cover transition to/from/
+ addition/deletion of different algorithms. Algorithm rollovers will
+ require a separate document.
+
+ The reader is therefore reminded that DNSSEC is as of publication in
+ early stages of deployment, and best practices may further develop
+ over time.
+
+
+7. Summary
+
+ For ZSKs, "Pre-Publication" is generally considered to be the
+ preferred way of rolling keys. As shown in this document, the time
+ taken to roll is wholly dependent on parameters under the control of
+ the zone manager.
+
+ In contrast, "Double-RRset" is the most efficient method for KSK
+ rollover due to the ability to have new DS records and DNSKEY RRsets
+ propagate in parallel. The time taken to roll KSKs may depend on
+ factors related to the parent zone if the parent is signed. For
+ zones that intend to comply with the recommendations of [RFC5011], in
+ virtually all cases the rollover time will be determined by the
+ RFC5011 "add hold-down" and "remove hold-down" times. It should be
+ emphasized that this delay is a policy choice and not a function of
+ timing values and that it also requires changes to the rollover
+ process due to the need to manage revocation of trust anchors.
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 26]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Finally, the treatment of emergency key rollover is significantly
+ simplified by the introduction of standby keys as standard practice
+ during all types of rollovers.
+
+
+8. IANA Considerations
+
+ This memo includes no request to IANA.
+
+
+9. Security Considerations
+
+ This document does not introduce any new security issues beyond those
+ already discussed in [RFC4033], [RFC4034], [RFC4035] and [RFC5011].
+
+
+10. Acknowledgements
+
+ The authors gratefully acknowledge help and contributions from Roy
+ Arends, Matthijs Mekking and Wouter Wijngaards.
+
+
+11. Change History (To be removed on publication)
+
+ o draft-ietf-dnsop-dnssec-key-timing-02
+ * Significant re-wording of some sections.
+ * Removal of events noting change of state of predecessor key from
+ ZSK Double-RRSIG and Double-Signature methods.
+ * Change order of bullet points (and some wording) in section 1.1.
+ * Remove discussion of advantages and disadvantages of key roll
+ methods from section 2: draft is informative and does not give
+ recommendations.
+ * Removal of discussion of upper limit to retire time relationship
+ to signature lifetime.
+ * Remove timing details of first key in the zone and move
+ discussion of first signing of a zone to later in the document).
+ (Matthijs Mekking)
+ * Removal of redundant symbols from Appendix A.
+
+ o draft-ietf-dnsop-dnssec-key-timing-01
+ * Added section on limitation of scope.
+
+ o draft-ietf-dnsop-dnssec-key-timing-00
+ * Change to author contact details.
+
+ o draft-morris-dnsop-dnssec-key-timing-02
+ * General restructuring.
+ * Added descriptions of more rollovers (IETF-76 meeting).
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 27]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ * Improved description of key states and removed diagram.
+ * Provided simpler description of standby keys.
+ * Added section concerning first key in a zone.
+ * Moved [RFC5011] to a separate section.
+ * Various nits fixed (Alfred Hoenes, Jeremy Reed, Scott Rose, Sion
+ Lloyd, Tony Finch).
+
+ o draft-morris-dnsop-dnssec-key-timing-01
+ * Use latest boilerplate for IPR text.
+ * List different ways to roll a KSK (acknowledgements to Mark
+ Andrews).
+ * Restructure to concentrate on key timing, not management
+ procedures.
+ * Change symbol notation (Diane Davidowicz and others).
+ * Added key state transition diagram (Diane Davidowicz).
+ * Corrected spelling, formatting, grammatical and style errors
+ (Diane Davidowicz, Alfred Hoenes and Jinmei Tatuya).
+ * Added note that in the case of multiple algorithms, the
+ signatures and rollovers for each algorithm can be considered as
+ more or less independent (Alfred Hoenes).
+ * Take account of the fact that signing a zone is not atomic
+ (Chris Thompson).
+ * Add section contrasting pre-publication rollover with double
+ signature rollover (Matthijs Mekking).
+ * Retained distinction between first and subsequent keys in
+ definition of initial publication interval (Matthijs Mekking).
+
+ o draft-morris-dnsop-dnssec-key-timing-00
+ Initial draft.
+
+
+12. References
+
+12.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
+ Rose, "DNS Security Introduction and Requirements",
+ RFC 4033, March 2005.
+
+ [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S.
+ Rose, "Resource Records for the DNS Security Extensions",
+ RFC 4034, March 2005.
+
+ [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
+ Rose, "Protocol Modifications for the DNS Security
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 28]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Extensions", RFC 4035, March 2005.
+
+ [RFC5011] StJohns, M., "Automated Updates of DNS Security (DNSSEC)
+ Trust Anchors", RFC 5011, September 2007.
+
+12.2. Informative References
+
+ [RFC4641] Kolkman, O. and R. Gieben, "DNSSEC Operational Practices",
+ RFC 4641, September 2006.
+
+
+Appendix A. List of Symbols
+
+ The document defines a number of symbols, all of which are listed
+ here. All are of the form:
+
+ All symbols used in the text are of the form:
+
+ <TYPE><id><INST>
+
+ where:
+
+ <TYPE> is an upper-case character indicating what type the symbol is.
+ Defined types are:
+
+ D delay: interval that is a feature of the process
+
+ I interval between two events
+
+ L lifetime: interval set by the zone manager
+
+ T a point in time
+
+ TTL TTL of a record
+
+ I and T and TTL are self-explanatory. Like I, D, and L are time
+ periods, but whereas I values are intervals between two events (even
+ if the events are defined in terms of the interval, e.g. the dead
+ time occurs "retire interval" after the retire time), D, and L are
+ fixed intervals: a "D" interval (delay) is a feature of the process,
+ probably outside control of the zone manager, whereas an "L" interval
+ (lifetime) is chosen by the zone manager and is a feature of policy.
+
+ <id> is lower-case and defines what object or event the variable is
+ related to, e.g.
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 29]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ act activation
+
+ pub publication
+
+ ret retire
+
+ Finally, <INST> is a capital letter that distinguishes between the
+ same variable applying to different instances of an object and is one
+ of:
+
+ C child
+
+ G signature
+
+ K key
+
+ P parent
+
+ S successor
+
+ The list of variables used in the text is:
+
+ Dprp Propagation delay. The amount of time for a change made at
+ a master nameserver to propagate to all the slave
+ nameservers.
+
+ DprpC Propagation delay in the child zone.
+
+ DprpP Propagation delay in the parent zone.
+
+ Dreg Registration delay: the time taken for a DS record
+ submitted to a parent zone to appear in it. As a parent
+ zone is often managed by a different organisation to that
+ managing the child zone, the delays associated with passing
+ data between zones is captured by this term.
+
+ Dsgn Signing delay. After the introduction of a new ZSK, the
+ amount of time taken for all the RRs in the zone to be
+ signed with it.
+
+ Ipub Publication interval. The amount of time that must elapse
+ after the publication of a key before it can be assumed
+ that any resolvers that have the DNSKEY RRset cached have a
+ copy of this key.
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 30]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ IpubC Publication interval in the child zone.
+
+ IpubG Publication interval for the signature created by a ZSK:
+ the amount of time that must elapse after the signature has
+ been created before it can be assumed that any resolves
+ that have the RRset and RRSIG cached have a copy of this
+ signature.
+
+ IpubP Publication interval in the parent zone.
+
+ Iret Retire interval. The amount of time that must elapse after
+ a key enters the retire state for any signatures created
+ with it to be purged from validating resolver caches.
+
+ Irev Revoke interval. The amount of time that a KSK must remain
+ published with the revoke bit set to satisfy [RFC5011]
+ considerations.
+
+ Lksk Lifetime of a key-signing key. This is the intended amount
+ of time for which this particular KSK is regarded as the
+ active KSK. Depending on when the key is rolled-over, the
+ actual lifetime may be longer or shorter than this.
+
+ Lzsk Lifetime of a zone-signing key. This is the intended
+ amount of time for which the ZSK is used to sign the zone.
+ Depending on when the key is rolled-over, the actual
+ lifetime may be longer or shorter than this.
+
+ Tact Activation time of the key; the time at which the key is
+ regarded as the principal key for the zone.
+
+ TactS Activation time of the successor key.
+
+ Tdea Dead time of a key. Applicable only to ZSKs, this is the
+ time at which any record signatures held in validating
+ resolver caches are guaranteed to be created with the
+ successor key.
+
+ Tgen Generate time of a key. The time that a key is created.
+
+ Tpub Publication time of a key. The time that a key appears in
+ a zone for the first time.
+
+ TpubS Publication time of the successor key.
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 31]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Trem Removal time of a key. The time at which a key is removed
+ from the zone.
+
+ Tret Retire time of a key. The time at which a successor key
+ starts being used to sign the zone.
+
+ Trdy Ready time of a key. The time at which it can be
+ guaranteed that validating resolvers that have key
+ information from this zone cached have a copy of this key
+ in their cache. (In the case of KSKs, should the
+ validating resolvers also have DS information from the
+ parent zone cached, the cache must include information
+ about the DS record corresponding to the key.)
+
+ TrdyS Ready time of a successor key.
+
+ Tsub Submission time - the time at which the DS record of a KSK
+ is submitted to the parent.
+
+ TsubS Submission time of the successor key.
+
+ TTLds Time to live of a DS record (in the parent zone).
+
+ TTLkey Time to live of a DNSKEY record.
+
+ TTLsig The maximum time to live of all the RRSIG records in the
+ zone that were created with the ZSK.
+
+
+Authors' Addresses
+
+ Stephen Morris
+ Internet Systems Consortium
+ 950 Charter Street
+ Redwood City, CA 94063
+ USA
+
+ Phone: +1 650 423 1300
+ Email: stephen@isc.org
+
+
+
+
+
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 32]
+
+Internet-Draft DNSSEC Key Timing Considerations March 2011
+
+
+ Johan Ihren
+ Netnod
+ Franzengatan 5
+ Stockholm, SE-112 51
+ Sweden
+
+ Phone: +46 8615 8573
+ Email: johani@autonomica.se
+
+
+ John Dickinson
+ Sinodun Internet Technologies Ltd
+ Stables 4 Suite 11, Howbery Park
+ Wallingford, Oxfordshire OX10 8BA
+ UK
+
+ Phone: +44 1491 818120
+ Email: jad@sinodun.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Morris, et al. Expires September 11, 2011 [Page 33]
+