1 Internet Engineering Task Force (IETF)                        O. Kolkman   
    2 Request for Comments: 6781                                    W. Mekking   
    3 Obsoletes: 4641                                               NLnet Labs   
    4 Category: Informational                                        R. Gieben   
    5 ISSN: 2070-1721                                                SIDN Labs   
    6                                                            December 2012   
    7                                                                            
    8                                                                            
    9                 DNSSEC Operational Practices, Version 2                    
   10                                                                            
   11 Abstract                                                                   
   12                                                                            
   13    This document describes a set of practices for operating the DNS with   
   14    security extensions (DNSSEC).  The target audience is zone              
   15    administrators deploying DNSSEC.                                        
   16                                                                            
   17    The document discusses operational aspects of using keys and            
   18    signatures in the DNS.  It discusses issues of key generation, key      
   19    storage, signature generation, key rollover, and related policies.      
   20                                                                            
   21    This document obsoletes RFC 4641, as it covers more operational         
   22    ground and gives more up-to-date requirements with respect to key       
   23    sizes and the DNSSEC operations.                                        
   24                                                                            
   25 Status of This Memo                                                        
   26                                                                            
   27    This document is not an Internet Standards Track specification; it is   
   28    published for informational purposes.                                   
   29                                                                            
   30    This document is a product of the Internet Engineering Task Force       
   31    (IETF).  It represents the consensus of the IETF community.  It has     
   32    received public review and has been approved for publication by the     
   33    Internet Engineering Steering Group (IESG).  Not all documents          
   34    approved by the IESG are a candidate for any level of Internet          
   35    Standard; see Section 2 of RFC 5741.                                    
   36                                                                            
   37    Information about the current status of this document, any errata,      
   38    and how to provide feedback on it may be obtained at                    
   39    http://www.rfc-editor.org/info/rfc6781.                                 
   40                                                                            
   41                                                                            
   42                                                                            
   43                                                                            
   44                                                                            
   45                                                                            
   46                                                                            
   47                                                                            
   48                                                                            
   49                                                                            
   50                                                                            
   51                                                                            
   52 Kolkman, et al.               Informational                     [Page 1]   

   53 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
   54                                                                            
   55                                                                            
   56 Copyright Notice                                                           
   57                                                                            
   58    Copyright (c) 2012 IETF Trust and the persons identified as the         
   59    document authors.  All rights reserved.                                 
   60                                                                            
   61    This document is subject to BCP 78 and the IETF Trust's Legal           
   62    Provisions Relating to IETF Documents                                   
   63    (http://trustee.ietf.org/license-info) in effect on the date of         
   64    publication of this document.  Please review these documents            
   65    carefully, as they describe your rights and restrictions with respect   
   66    to this document.  Code Components extracted from this document must    
   67    include Simplified BSD License text as described in Section 4.e of      
   68    the Trust Legal Provisions and are provided without warranty as         
   69    described in the Simplified BSD License.                                
   70                                                                            
   71    This document may contain material from IETF Documents or IETF          
   72    Contributions published or made publicly available before November      
   73    10, 2008.  The person(s) controlling the copyright in some of this      
   74    material may not have granted the IETF Trust the right to allow         
   75    modifications of such material outside the IETF Standards Process.      
   76    Without obtaining an adequate license from the person(s) controlling    
   77    the copyright in such materials, this document may not be modified      
   78    outside the IETF Standards Process, and derivative works of it may      
   79    not be created outside the IETF Standards Process, except to format     
   80    it for publication as an RFC or to translate it into languages other    
   81    than English.                                                           
   82                                                                            
   83 Table of Contents                                                          
   84                                                                            
   85    1. Introduction ....................................................4   
   86       1.1. The Use of the Term 'key' ..................................5   
   87       1.2. Time Definitions ...........................................6   
   88    2. Keeping the Chain of Trust Intact ...............................6   
   89    3. Key Generation and Storage ......................................7   
   90       3.1. Operational Motivation for Zone Signing Keys and                
   91            Key Signing Keys ...........................................8   
   92       3.2. Practical Consequences of KSK and ZSK Separation ..........10   
   93            3.2.1. Rolling a KSK That Is Not a Trust Anchor ...........10   
   94            3.2.2. Rolling a KSK That Is a Trust Anchor ...............11   
   95            3.2.3. The Use of the SEP Flag ............................12   
   96       3.3. Key Effectivity Period ....................................12   
   97       3.4. Cryptographic Considerations ..............................14   
   98            3.4.1. Signature Algorithm ................................14   
   99            3.4.2. Key Sizes ..........................................14   
  100            3.4.3. Private Key Storage ................................16   
  101            3.4.4. Key Generation .....................................17   
  102            3.4.5. Differentiation for 'High-Level' Zones? ............17   
  103                                                                            
  104                                                                            
  105                                                                            
  106                                                                            
  107 Kolkman, et al.               Informational                     [Page 2]   

  108 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  109                                                                            
  110                                                                            
  111    4. Signature Generation, Key Rollover, and Related Policies .......18   
  112       4.1. Key Rollovers .............................................18   
  113            4.1.1. Zone Signing Key Rollovers .........................18   
  114                   4.1.1.1. Pre-Publish Zone Signing Key Rollover .....19   
  115                   4.1.1.2. Double-Signature Zone Signing Key Rollover 21   
  116                   4.1.1.3. Pros and Cons of the Schemes ..............23   
  117            4.1.2. Key Signing Key Rollovers ..........................23   
  118                   4.1.2.1. Special Considerations for RFC 5011             
  119                            KSK Rollover ..............................26   
  120            4.1.3. Single-Type Signing Scheme Key Rollover ............26   
  121            4.1.4. Algorithm Rollovers ................................28   
  122                   4.1.4.1. Single-Type Signing Scheme                      
  123                            Algorithm Rollover ........................32   
  124                   4.1.4.2. Algorithm Rollover, RFC 5011 Style ........32   
  125                   4.1.4.3. Single Signing Type Algorithm                   
  126                            Rollover, RFC 5011 Style ..................33   
  127                   4.1.4.4. NSEC-to-NSEC3 Algorithm Rollover ..........34   
  128            4.1.5. Considerations for Automated Key Rollovers .........34   
  129       4.2. Planning for Emergency Key Rollover .......................35   
  130            4.2.1. KSK Compromise .....................................35   
  131                   4.2.1.1. Emergency Key Rollover Keeping the              
  132                            Chain of Trust Intact .....................36   
  133                   4.2.1.2. Emergency Key Rollover Breaking                 
  134                            the Chain of Trust ........................37   
  135            4.2.2. ZSK Compromise .....................................37   
  136            4.2.3. Compromises of Keys Anchored in Resolvers ..........38   
  137            4.2.4. Stand-By Keys ......................................38   
  138       4.3. Parent Policies ...........................................39   
  139            4.3.1. Initial Key Exchanges and Parental Policies              
  140                   Considerations .....................................39   
  141            4.3.2. Storing Keys or Hashes? ............................40   
  142            4.3.3. Security Lameness ..................................40   
  143            4.3.4. DS Signature Validity Period .......................41   
  144            4.3.5. Changing DNS Operators .............................42   
  145                   4.3.5.1. Cooperating DNS Operators .................42   
  146                   4.3.5.2. Non-Cooperating DNS Operators .............44   
  147       4.4. Time in DNSSEC ............................................46   
  148            4.4.1. Time Considerations ................................46   
  149            4.4.2. Signature Validity Periods .........................48   
  150                   4.4.2.1. Maximum Value .............................48   
  151                   4.4.2.2. Minimum Value .............................49   
  152                   4.4.2.3. Differentiation between RRsets ............50   
  153                                                                            
  154                                                                            
  155                                                                            
  156                                                                            
  157                                                                            
  158                                                                            
  159                                                                            
  160                                                                            
  161                                                                            
  162 Kolkman, et al.               Informational                     [Page 3]   

  163 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  164                                                                            
  165                                                                            
  166    5. "Next Record" Types ............................................51   
  167       5.1. Differences between NSEC and NSEC3 ........................51   
  168       5.2. NSEC or NSEC3 .............................................52   
  169       5.3. NSEC3 Parameters ..........................................53   
  170            5.3.1. NSEC3 Algorithm ....................................53   
  171            5.3.2. NSEC3 Iterations ...................................53   
  172            5.3.3. NSEC3 Salt .........................................54   
  173            5.3.4. Opt-Out ............................................54   
  174    6. Security Considerations ........................................54   
  175    7. Acknowledgments ................................................55   
  176    8. Contributors ...................................................55   
  177    9. References .....................................................56   
  178       9.1. Normative References ......................................56   
  179       9.2. Informative References ....................................56   
  180    Appendix A. Terminology ...........................................59   
  181    Appendix B. Typographic Conventions ...............................61   
  182    Appendix C. Transition Figures for Special Cases of Algorithm           
  183                Rollovers .............................................64   
  184    Appendix D. Transition Figure for Changing DNS Operators ..........68   
  185    Appendix E. Summary of Changes from RFC 4641 ......................70   
  186                                                                            
  187 1.  Introduction                                                           
  188                                                                            
  189    This document describes how to run a DNS Security (DNSSEC)-enabled      
  190    environment.  It is intended for operators who have knowledge of the    
  191    DNS (see RFC 1034 [RFC1034] and RFC 1035 [RFC1035]) and want to         
  192    deploy DNSSEC (RFC 4033 [RFC4033], RFC 4034 [RFC4034], RFC 4035         
  193    [RFC4035], and RFC 5155 [RFC5155]).  The focus of the document is on    
  194    serving authoritative DNS information and is aimed at zone owners,      
  195    name server operators, registries, registrars, and registrants.  It     
  196    assumes that there is no direct relationship between those entities     
  197    and the operators of validating recursive name servers (validators).    
  198                                                                            
  199    During workshops and early operational deployment, operators and        
  200    system administrators have gained experience about operating the DNS    
  201    with security extensions (DNSSEC).  This document translates these      
  202    experiences into a set of practices for zone administrators.            
  203    Although the DNS Root has been signed since July 15, 2010 and now       
  204    more than 80 secure delegations are provisioned in the root, at the     
  205    time of this writing there still exists relatively little experience    
  206    with DNSSEC in production environments below the Top-Level Domain       
  207    (TLD) level; this document should therefore explicitly not be seen as   
  208    representing 'Best Current Practices'.  Instead, it describes the       
  209    decisions that should be made when deploying DNSSEC, gives the          
  210    choices available for each one, and provides some operational           
  211    guidelines.  The document does not give strong recommendations.  That   
  212    may be the subject for a future version of this document.               
  213                                                                            
  214                                                                            
  215                                                                            
  216                                                                            
  217 Kolkman, et al.               Informational                     [Page 4]   

  218 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  219                                                                            
  220                                                                            
  221    The procedures herein are focused on the maintenance of signed zones    
  222    (i.e., signing and publishing zones on authoritative servers).  It is   
  223    intended that maintenance of zones, such as re-signing or key           
  224    rollovers, be transparent to any verifying clients.                     
  225                                                                            
  226    The structure of this document is as follows.  In Section 2, we         
  227    discuss the importance of keeping the "chain of trust" intact.          
  228    Aspects of key generation and storage of keys are discussed in          
  229    Section 3; the focus in this section is mainly on the security of the   
  230    private part of the key(s).  Section 4 describes considerations         
  231    concerning the public part of the keys.  Sections 4.1 and 4.2 deal      
  232    with the rollover, or replacement, of keys.  Section 4.3 discusses      
  233    considerations on how parents deal with their children's public keys    
  234    in order to maintain chains of trust.  Section 4.4 covers all kinds     
  235    of timing issues around key publication.  Section 5 covers the          
  236    considerations regarding selecting and using the NSEC or NSEC3          
  237    [RFC5155] Resource Record.                                              
  238                                                                            
  239    The typographic conventions used in this document are explained in      
  240    Appendix B.                                                             
  241                                                                            
  242    Since we describe operational suggestions and there are no protocol     
  243    specifications, the RFC 2119 [RFC2119] language does not apply to       
  244    this document, though we do use quotes from other documents that do     
  245    include the RFC 2119 language.                                          
  246                                                                            
  247    This document obsoletes RFC 4641 [RFC4641].                             
  248                                                                            
  249 1.1.  The Use of the Term 'key'                                            
  250                                                                            
  251    It is assumed that the reader is familiar with the concept of           
  252    asymmetric cryptography, or public-key cryptography, on which DNSSEC    
  253    is based (see the definition of 'asymmetric cryptography' in RFC 4949   
  254    [RFC4949]).  Therefore, this document will use the term 'key' rather    
  255    loosely.  Where it is written that 'a key is used to sign data', it     
  256    is assumed that the reader understands that it is the private part of   
  257    the key pair that is used for signing.  It is also assumed that the     
  258    reader understands that the public part of the key pair is published    
  259    in the DNSKEY Resource Record (DNSKEY RR) and that it is the public     
  260    part that is used in signature verification.                            
  261                                                                            
  262                                                                            
  263                                                                            
  264                                                                            
  265                                                                            
  266                                                                            
  267                                                                            
  268                                                                            
  269                                                                            
  270                                                                            
  271                                                                            
  272 Kolkman, et al.               Informational                     [Page 5]   

  273 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  274                                                                            
  275                                                                            
  276 1.2.  Time Definitions                                                     
  277                                                                            
  278    In this document, we will be using a number of time-related terms.      
  279    The following definitions apply:                                        
  280                                                                            
  281    Signature validity period:  The period that a signature is valid.  It   
  282       starts at the (absolute) time specified in the signature inception   
  283       field of the RRSIG RR and ends at the (absolute) time specified in   
  284       the expiration field of the RRSIG RR.  The document sometimes also   
  285       uses the term 'validity period', which means the same.               
  286                                                                            
  287    Signature publication period:  The period that a signature is           
  288       published.  It starts at the time the signature is introduced in     
  289       the zone for the first time and ends at the time when the            
  290       signature is removed or replaced with a new signature.  After one    
  291       stops publishing an RRSIG in a zone, it may take a while before      
  292       the RRSIG has expired from caches and has actually been removed      
  293       from the DNS.                                                        
  294                                                                            
  295    Key effectivity period:  The period during which a key pair is          
  296       expected to be effective.  It is defined as the time between the     
  297       earliest inception time stamp and the last expiration date of any    
  298       signature made with this key, regardless of any discontinuity in     
  299       the use of the key.  The key effectivity period can span multiple    
  300       signature validity periods.                                          
  301                                                                            
  302    Maximum/Minimum Zone Time to Live (TTL):  The maximum or minimum        
  303       value of the TTLs from the complete set of RRs in a zone, that are   
  304       used by validators or resolvers.  Note that the minimum TTL is not   
  305       the same as the MINIMUM field in the SOA RR.  See RFC 2308           
  306       [RFC2308] for more information.                                      
  307                                                                            
  308 2.  Keeping the Chain of Trust Intact                                      
  309                                                                            
  310    Maintaining a valid chain of trust is important because broken chains   
  311    of trust will result in data being marked as Bogus (as defined in       
  312    RFC 4033 [RFC4033] Section 5), which may cause entire (sub)domains to   
  313    become invisible to verifying clients.  The administrators of secured   
  314    zones need to realize that, to verifying clients, their zone is part    
  315    of a chain of trust.                                                    
  316                                                                            
  317    As mentioned in the introduction, the procedures herein are intended    
  318    to ensure that maintenance of zones, such as re-signing or key          
  319    rollovers, will be transparent to the verifying clients on the          
  320    Internet.                                                               
  321                                                                            
  322                                                                            
  323                                                                            
  324                                                                            
  325                                                                            
  326                                                                            
  327 Kolkman, et al.               Informational                     [Page 6]   

  328 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  329                                                                            
  330                                                                            
  331    Administrators of secured zones will need to keep in mind that data     
  332    published on an authoritative primary server will not be immediately    
  333    seen by verifying clients; it may take some time for the data to be     
  334    transferred to other (secondary) authoritative name servers and         
  335    clients may be fetching data from caching non-authoritative servers.    
  336    In this light, note that the time until the data is available on the    
  337    slave can be negligible when using NOTIFY [RFC1996] and Incremental     
  338    Zone Transfer (IXFR) [RFC1995].  It increases when Authoritative        
  339    (full) Zone Transfers (AXFRs) are used in combination with NOTIFY.      
  340    It increases even more if you rely on the full zone transfers being     
  341    based only on the SOA timing parameters for refresh.                    
  342                                                                            
  343    For the verifying clients, it is important that data from secured       
  344    zones can be used to build chains of trust, regardless of whether the   
  345    data came directly from an authoritative server, a caching name         
  346    server, or some middle box.  Only by carefully using the available      
  347    timing parameters can a zone administrator ensure that the data         
  348    necessary for verification can be obtained.                             
  349                                                                            
  350    The responsibility for maintaining the chain of trust is shared by      
  351    administrators of secured zones in the chain of trust.  This is most    
  352    obvious in the case of a 'key compromise' when a tradeoff must be       
  353    made between maintaining a valid chain of trust and replacing the       
  354    compromised keys as soon as possible.  Then zone administrators will    
  355    have to decide between keeping the chain of trust intact -- thereby     
  356    allowing for attacks with the compromised key -- or deliberately        
  357    breaking the chain of trust and making secured subdomains invisible     
  358    to security-aware resolvers (also see Section 4.2).                     
  359                                                                            
  360 3.  Key Generation and Storage                                             
  361                                                                            
  362    This section describes a number of considerations with respect to the   
  363    use of keys.  For the design of an operational procedure for key        
  364    generation and storage, a number of decisions need to be made:          
  365                                                                            
  366    o  Does one differentiate between Zone Signing Keys and Key Signing     
  367       Keys or is the use of one type of key sufficient?                    
  368                                                                            
  369    o  Are Key Signing Keys (likely to be) in use as trust anchors          
  370       [RFC4033]?                                                           
  371                                                                            
  372    o  What are the timing parameters that are allowed by the operational   
  373       requirements?                                                        
  374                                                                            
  375    o  What are the cryptographic parameters that fit the operational       
  376       need?                                                                
  377                                                                            
  378                                                                            
  379                                                                            
  380                                                                            
  381                                                                            
  382 Kolkman, et al.               Informational                     [Page 7]   

  383 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  384                                                                            
  385                                                                            
  386    The following section discusses the considerations that need to be      
  387    taken into account when making those choices.                           
  388                                                                            
  389 3.1.  Operational Motivation for Zone Signing Keys and Key Signing Keys    
  390                                                                            
  391    The DNSSEC validation protocol does not distinguish between different   
  392    types of DNSKEYs.  The motivations to differentiate between keys are    
  393    purely operational; validators will not make a distinction.             
  394                                                                            
  395    For operational reasons, described below, it is possible to designate   
  396    one or more keys to have the role of Key Signing Keys (KSKs).  These    
  397    keys will only sign the apex DNSKEY RRset in a zone.  Other keys can    
  398    be used to sign all the other RRsets in a zone that require             
  399    signatures.  They are referred to as Zone Signing Keys (ZSKs).  In      
  400    cases where the differentiation between the KSK and ZSK is not made,    
  401    i.e., where keys have the role of both KSK and ZSK, we talk about a     
  402    Single-Type Signing Scheme.                                             
  403                                                                            
  404    If the two functions are separated, then for almost any method of key   
  405    management and zone signing, the KSK is used less frequently than the   
  406    ZSK.  Once a DNSKEY RRset is signed with the KSK, all the keys in the   
  407    RRset can be used as ZSKs.  If there has been an event that increases   
  408    the risk that a ZSK is compromised, it can be simply replaced with a    
  409    ZSK rollover.  The new RRset is then re-signed with the KSK.            
  410                                                                            
  411    Changing a key that is a Secure Entry Point (SEP) [RFC4034] for a       
  412    zone can be relatively expensive, as it involves interaction with       
  413    third parties: When a key is only pointed to by a Delegation Signer     
  414    (DS) [RFC4034] record in the parent zone, one needs to complete the     
  415    interaction with the parent and wait for the updated DS record to       
  416    appear in the DNS.  In the case where a key is configured as a trust    
  417    anchor, one has to wait until one has sufficient confidence that all    
  418    trust anchors have been replaced.  In fact, it may be that one is not   
  419    able to reach the complete user-base with information about the key     
  420    rollover.                                                               
  421                                                                            
  422    Given the assumption that for KSKs the SEP flag is set, the KSK can     
  423    be distinguished from a ZSK by examining the flag field in the DNSKEY   
  424    RR: If the flag field is an odd number, it is a KSK; otherwise, it is   
  425    a ZSK.                                                                  
  426                                                                            
  427    There is also a risk that keys can be compromised through theft or      
  428    loss.  For keys that are installed on file-systems of name servers      
  429    that are connected to the network (e.g., for dynamic updates), that     
  430    risk is relatively high.  Where keys are stored on Hardware Security    
  431    Modules (HSMs) or stored off-line, such risk is relatively low.         
  432    However, storing keys off-line or with more limitations on access       
  433    control has a negative effect on the operational flexibility.  By       
  434                                                                            
  435                                                                            
  436                                                                            
  437 Kolkman, et al.               Informational                     [Page 8]   

  438 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  439                                                                            
  440                                                                            
  441    separating the KSK and ZSK functionality, these risks can be managed    
  442    while making the tradeoff against the involved costs.  For example, a   
  443    KSK can be stored off-line or with more limitations on access control   
  444    than ZSKs, which need to be readily available for operational           
  445    purposes such as the addition or deletion of zone data.  A KSK stored   
  446    on a smartcard that is kept in a safe, combined with a ZSK stored on    
  447    a file-system accessible by operators for daily routine use, may        
  448    provide better protection against key compromise without losing much    
  449    operational flexibility.  It must be said that some HSMs give the       
  450    option to have your keys online, giving more protection and hardly      
  451    affecting the operational flexibility.  In those cases, a KSK-ZSK       
  452    split is not more beneficial than the Single-Type Signing Scheme.       
  453                                                                            
  454    It is worth mentioning that there's not much point in obsessively       
  455    protecting the key if you don't protect the zone files, which also      
  456    live on the file-systems.                                               
  457                                                                            
  458    Finally, there is a risk of cryptanalysis of the key material.  The     
  459    costs of such analysis are correlated to the length of the key.         
  460    However, cryptanalysis arguments provide no strong motivation for a     
  461    KSK/ZSK split.  Suppose one differentiates between a KSK and a ZSK,     
  462    whereby the KSK effectivity period is X times the ZSK effectivity       
  463    period.  Then, in order for the resistance to cryptanalysis to be the   
  464    same for the KSK and the ZSK, the KSK needs to be X times stronger      
  465    than the ZSK.  Since for all practical purposes X will be somewhere     
  466    on the order of 10 to 100, the associated key sizes will vary only by   
  467    about a byte in size for symmetric keys.  When translated to            
  468    asymmetric keys, the size difference is still too insignificant to      
  469    warrant a key-split; it only marginally affects the packet size and     
  470    signing speed.                                                          
  471                                                                            
  472    The arguments for differentiation between the ZSK and KSK are weakest   
  473    when:                                                                   
  474                                                                            
  475    o  the exposure to risk is low (e.g., when keys are stored on HSMs);    
  476                                                                            
  477    o  one can be certain that a key is not used as a trust anchor;         
  478                                                                            
  479    o  maintenance of the various keys cannot be performed through tools    
  480       (is prone to human error); and                                       
  481                                                                            
  482    o  the interaction through the child-parent provisioning chain -- in    
  483       particular, the timely appearance of a new DS record in the parent   
  484       zone in emergency situations -- is predictable.                      
  485                                                                            
  486                                                                            
  487                                                                            
  488                                                                            
  489                                                                            
  490                                                                            
  491                                                                            
  492 Kolkman, et al.               Informational                     [Page 9]   

  493 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  494                                                                            
  495                                                                            
  496    If the above arguments hold, then the costs of the operational          
  497    complexity of a KSK-ZSK split may outweigh the costs of operational     
  498    flexibility, and choosing a Single-Type Signing Scheme is a             
  499    reasonable option.  In other cases, we advise that the separation       
  500    between KSKs and ZSKs is made.                                          
  501                                                                            
  502 3.2.  Practical Consequences of KSK and ZSK Separation                     
  503                                                                            
  504    A key that acts only as a Zone Signing Key is used to sign all the      
  505    data except the DNSKEY RRset in a zone on a regular basis.  When a      
  506    ZSK is to be rolled, no interaction with the parent is needed.  This    
  507    allows for a relatively short key effectivity period.                   
  508                                                                            
  509    A key with only the Key Signing Key role is to be used to sign the      
  510    DNSKEY RRs in a zone.  If a KSK is to be rolled, there may be           
  511    interactions with other parties.  These can include the                 
  512    administrators of the parent zone or administrators of verifying        
  513    resolvers that have the particular key configured as secure entry       
  514    points.  In the latter case, everyone relying on the trust anchor       
  515    needs to roll over to the new key, a process that may be subject to     
  516    stability costs if automated trust anchor rollover mechanisms (e.g.,    
  517    RFC 5011 [RFC5011]) are not in place.  Hence, the key effectivity       
  518    period of these keys can and should be made much longer.                
  519                                                                            
  520 3.2.1.  Rolling a KSK That Is Not a Trust Anchor                           
  521                                                                            
  522    There are three schools of thought on rolling a KSK that is not a       
  523    trust anchor:                                                           
  524                                                                            
  525    1.  It should be done frequently and regularly (possibly every few      
  526        months), so that a key rollover remains an operational routine.     
  527                                                                            
  528    2.  It should be done frequently but irregularly.  "Frequently" means   
  529        every few months, again based on the argument that a rollover is    
  530        a practiced and common operational routine; "irregular" means       
  531        with a large jitter, so that third parties do not start to rely     
  532        on the key and will not be tempted to configure it as a trust       
  533        anchor.                                                             
  534                                                                            
  535    3.  It should only be done when it is known or strongly suspected       
  536        that the key can be or has been compromised, or in conjunction      
  537        with operator change policies and procedures, like when a new       
  538        algorithm or key storage is required.                               
  539                                                                            
  540    There is no widespread agreement on which of these three schools of     
  541    thought is better for different deployments of DNSSEC.  There is a      
  542    stability cost every time a non-anchor KSK is rolled over, but it is    
  543    possibly low if the communication between the child and the parent is   
  544                                                                            
  545                                                                            
  546                                                                            
  547 Kolkman, et al.               Informational                    [Page 10]   

  548 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  549                                                                            
  550                                                                            
  551    good.  On the other hand, the only completely effective way to tell     
  552    if the communication is good is to test it periodically.  Thus,         
  553    rolling a KSK with a parent is only done for two reasons: to test and   
  554    verify the rolling system to prepare for an emergency, and in the       
  555    case of (preventing) an actual emergency.                               
  556                                                                            
  557    Finally, in most cases a zone administrator cannot be fully certain     
  558    that the zone's KSK is not in use as a trust anchor somewhere.  While   
  559    the configuration of trust anchors is not the responsibility of the     
  560    zone administrator, there may be stability costs for the validator      
  561    administrator that (wrongfully) configured the trust anchor when the    
  562    zone administrator rolls a KSK.                                         
  563                                                                            
  564 3.2.2.  Rolling a KSK That Is a Trust Anchor                               
  565                                                                            
  566    The same operational concerns apply to the rollover of KSKs that are    
  567    used as trust anchors: If a trust anchor replacement is done            
  568    incorrectly, the entire domain that the trust anchor covers will        
  569    become Bogus until the trust anchor is corrected.                       
  570                                                                            
  571    In a large number of cases, it will be safe to work from the            
  572    assumption that one's keys are not in use as trust anchors.  If a       
  573    zone administrator publishes a DNSSEC signing policy and/or a DNSSEC    
  574    practice statement [DNSSEC-DPS], that policy or statement should be     
  575    explicit regarding whether or not the existence of trust anchors will   
  576    be taken into account.  There may be cases where local policies         
  577    enforce the configuration of trust anchors on zones that are mission    
  578    critical (e.g., in enterprises where the trust anchor for the           
  579    enterprise domain is configured in the enterprise's validator).  It     
  580    is expected that the zone administrators are aware of such              
  581    circumstances.                                                          
  582                                                                            
  583    One can argue that because of the difficulty of getting all users of    
  584    a trust anchor to replace an old trust anchor with a new one, a KSK     
  585    that is a trust anchor should never be rolled unless it is known or     
  586    strongly suspected that the key has been compromised.  In other         
  587    words, the costs of a KSK rollover are prohibitively high because       
  588    some users cannot be reached.                                           
  589                                                                            
  590    However, the "operational habit" argument also applies to trust         
  591    anchor reconfiguration at the clients' validators.  If a short key      
  592    effectivity period is used and the trust anchor configuration has to    
  593    be revisited on a regular basis, the odds that the configuration        
  594    tends to be forgotten are smaller.  In fact, the costs for those        
  595    users can be minimized by automating the rollover with RFC 5011         
  596    [RFC5011] and by rolling the key regularly (and advertising such) so    
  597                                                                            
  598                                                                            
  599                                                                            
  600                                                                            
  601                                                                            
  602 Kolkman, et al.               Informational                    [Page 11]   

  603 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  604                                                                            
  605                                                                            
  606    that the operators of validating resolvers will put the appropriate     
  607    mechanism in place to deal with these stability costs: In other         
  608    words, budget for these costs instead of incurring them unexpectedly.   
  609                                                                            
  610    It is therefore preferable to roll KSKs that are expected to be used    
  611    as trust anchors on a regular basis if and only if those rollovers      
  612    can be tracked using standardized (e.g., RFC 5011 [RFC5011])            
  613    mechanisms.                                                             
  614                                                                            
  615 3.2.3.  The Use of the SEP Flag                                            
  616                                                                            
  617    The so-called SEP [RFC4035] flag can be used to distinguish between     
  618    keys that are intended to be used as the secure entry point into the    
  619    zone when building chains of trust, i.e., they are (to be) pointed to   
  620    by parental DS RRs or configured as a trust anchor.                     
  621                                                                            
  622    While the SEP flag does not play any role in validation, it is used     
  623    in practice for operational purposes such as for the rollover           
  624    mechanism described in RFC 5011 [RFC5011].  The common convention is    
  625    to set the SEP flag on any key that is used for key exchanges with      
  626    the parent and/or potentially used for configuration as a trust         
  627    anchor.  Therefore, it is suggested that the SEP flag be set on keys    
  628    that are used as KSKs and not on keys that are used as ZSKs, while in   
  629    those cases where a distinction between a KSK and ZSK is not made       
  630    (i.e., for a Single-Type Signing Scheme), it is suggested that the      
  631    SEP flag be set on all keys.                                            
  632                                                                            
  633    Note: Some signing tools may assume a KSK/ZSK split and use the         
  634    (non-)presence of the SEP flag to determine which key is to be used     
  635    for signing zone data; these tools may get confused when a Single-      
  636    Type Signing Scheme is used.                                            
  637                                                                            
  638 3.3.  Key Effectivity Period                                               
  639                                                                            
  640    In general, the available key length sets an upper limit on the key     
  641    effectivity period.  For all practical purposes, it is sufficient to    
  642    define the key effectivity period based on purely operational           
  643    requirements and match the key length to that value.  Ignoring the      
  644    operational perspective, a reasonable effectivity period for KSKs       
  645    that have corresponding DS records in the parent zone is on the order   
  646    of two decades or longer.  That is, if one does not plan to test the    
  647    rollover procedure, the key should be effective essentially forever     
  648    and only rolled over in case of emergency.                              
  649                                                                            
  650    When one opts for a regular key rollover, a reasonable key              
  651    effectivity period for KSKs that have a parent zone is one year,        
  652    meaning you have the intent to replace them after 12 months.  The key   
  653    effectivity period is merely a policy parameter and should not be       
  654                                                                            
  655                                                                            
  656                                                                            
  657 Kolkman, et al.               Informational                    [Page 12]   

  658 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  659                                                                            
  660                                                                            
  661    considered a constant value.  For example, the real key effectivity     
  662    period may be a little bit longer than 12 months, because not all       
  663    actions needed to complete the rollover could be finished in time.      
  664                                                                            
  665    As argued above, this annual rollover gives an operational practice     
  666    of rollovers for both the zone and validator administrators.            
  667    Besides, in most environments a year is a time span that is easily      
  668    planned and communicated.                                               
  669                                                                            
  670    Where keys are stored online and the exposure to various threats of     
  671    compromise is fairly high, an intended key effectivity period of a      
  672    month is reasonable for Zone Signing Keys.                              
  673                                                                            
  674    Although very short key effectivity periods are theoretically           
  675    possible, when replacing keys one has to take into account the          
  676    rollover considerations discussed in Sections 4.1 and 4.4.  Key         
  677    replacement endures for a couple of Maximum Zone TTLs, depending on     
  678    the rollover scenario.  Therefore, a multiple of Maximum Zone TTL       
  679    durations is a reasonable lower limit on the key effectivity period.    
  680    Forcing a shorter key effectivity period will result in an              
  681    unnecessary and inconveniently large DNSKEY RRset published in the      
  682    zone.                                                                   
  683                                                                            
  684    The motivation for having the ZSK's effectivity period shorter than     
  685    the KSK's effectivity period is rooted in the operational               
  686    consideration that it is more likely that operators have more           
  687    frequent read access to the ZSK than to the KSK.  Thus, in cases        
  688    where the ZSK cannot be afforded the same level of protection as the    
  689    KSK (such as when zone keys are kept online), and where the risk of     
  690    unauthorized disclosure of the ZSK's private key is not negligible      
  691    (e.g., when HSMs are not in use), the ZSK's effectivity period should   
  692    be kept shorter than the KSK's effectivity period.                      
  693                                                                            
  694    In fact, if the risk of loss, theft, or other compromise is the same    
  695    for a ZSK and a KSK, there is little reason to choose different         
  696    effectivity periods for ZSKs and KSKs.  And when the split between      
  697    ZSKs and KSKs is not made, the argument is redundant.                   
  698                                                                            
  699    There are certainly cases in which the use of a Single-Type Signing     
  700    Scheme with a long key effectivity period is a good choice, for         
  701    example, where the costs and risks of compromise, and the costs and     
  702    risks involved with having to perform an emergency roll, are low.       
  703                                                                            
  704                                                                            
  705                                                                            
  706                                                                            
  707                                                                            
  708                                                                            
  709                                                                            
  710                                                                            
  711                                                                            
  712 Kolkman, et al.               Informational                    [Page 13]   

  713 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  714                                                                            
  715                                                                            
  716 3.4.  Cryptographic Considerations                                         
  717                                                                            
  718 3.4.1.  Signature Algorithm                                                
  719                                                                            
  720    At the time of this writing, there are three types of signature         
  721    algorithms that can be used in DNSSEC: RSA, Digital Signature           
  722    Algorithm (DSA), and GOST.  Proposals for other algorithms are in the   
  723    making.  All three are fully specified in many freely available         
  724    documents and are widely considered to be patent-free.  The creation    
  725    of signatures with RSA and DSA takes roughly the same time, but DSA     
  726    is about ten times slower for signature verification.  Also note        
  727    that, in the context of DNSSEC, DSA is limited to a maximum of          
  728    1024-bit keys.                                                          
  729                                                                            
  730    We suggest the use of RSA/SHA-256 as the preferred signature            
  731    algorithm and RSA/SHA-1 as an alternative.  Both have advantages and    
  732    disadvantages.  RSA/SHA-1 has been deployed for many years, while       
  733    RSA/SHA-256 has only begun to be deployed.  On the other hand, it is    
  734    expected that if effective attacks on either algorithm appear, they     
  735    will appear for RSA/SHA-1 first.  RSA/MD5 should not be considered      
  736    for use because RSA/MD5 will very likely be the first common-use        
  737    signature algorithm to be targeted for an effective attack.             
  738                                                                            
  739    At the time of publication, it is known that the SHA-1 hash has         
  740    cryptanalysis issues, and work is in progress to address them.  The     
  741    use of public-key algorithms based on hashes stronger than SHA-1        
  742    (e.g., SHA-256) is recommended, if these algorithms are available in    
  743    implementations (see RFC 5702 [RFC5702] and RFC 4509 [RFC4509]).        
  744                                                                            
  745    Also, at the time of publication, digital signature algorithms based    
  746    on Elliptic Curve (EC) Cryptography with DNSSEC (GOST [RFC5933],        
  747    Elliptic Curve Digital Signature Algorithm (ECDSA) [RFC6605]) are       
  748    being standardized and implemented.  The use of EC has benefits in      
  749    terms of size.  On the other hand, one has to balance that against      
  750    the amount of validating resolver implementations that will not         
  751    recognize EC signatures and thus treat the zone as insecure.  Beyond    
  752    the observation of this tradeoff, we will not discuss this further.     
  753                                                                            
  754 3.4.2.  Key Sizes                                                          
  755                                                                            
  756    This section assumes RSA keys, as suggested in the previous section.    
  757                                                                            
  758    DNSSEC signing keys should be large enough to avoid all known           
  759    cryptographic attacks during the effectivity period of the key.  To     
  760    date, despite huge efforts, no one has broken a regular 1024-bit key;   
  761    in fact, the best completed attack is estimated to be the equivalent    
  762    of a 700-bit key.  An attacker breaking a 1024-bit signing key would    
  763    need to expend phenomenal amounts of networked computing power in a     
  764                                                                            
  765                                                                            
  766                                                                            
  767 Kolkman, et al.               Informational                    [Page 14]   

  768 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  769                                                                            
  770                                                                            
  771    way that would not be detected in order to break a single key.          
  772    Because of this, it is estimated that most zones can safely use         
  773    1024-bit keys for at least the next ten years.  (A 1024-bit             
  774    asymmetric key has an approximate equivalent strength of a symmetric    
  775    80-bit key.)                                                            
  776                                                                            
  777    Depending on local policy (e.g., owners of keys that are used as        
  778    extremely high value trust anchors, or non-anchor keys that may be      
  779    difficult to roll over), it may be advisable to use lengths longer      
  780    than 1024 bits.  Typically, the next larger key size used is            
  781    2048 bits, which has the approximate equivalent strength of a           
  782    symmetric 112-bit key (RFC 3766 [RFC3766]).  Signing and verifying      
  783    with a 2048-bit key takes longer than with a 1024-bit key.  The         
  784    increase depends on software and hardware implementations, but public   
  785    operations (such as verification) are about four times slower, while    
  786    private operations (such as signing) are about eight times slower.      
  787                                                                            
  788    Another way to decide on the size of a key to use is to remember that   
  789    the effort it takes for an attacker to break a 1024-bit key is the      
  790    same, regardless of how the key is used.  If an attacker has the        
  791    capability of breaking a 1024-bit DNSSEC key, he also has the           
  792    capability of breaking one of the many 1024-bit Transport Layer         
  793    Security (TLS) [RFC5246] trust anchor keys that are currently           
  794    installed in web browsers.  If the value of a DNSSEC key is lower to    
  795    the attacker than the value of a TLS trust anchor, the attacker will    
  796    use the resources to attack the latter.                                 
  797                                                                            
  798    It is possible that there will be an unexpected improvement in the      
  799    ability for attackers to break keys and that such an attack would       
  800    make it feasible to break 1024-bit keys but not 2048-bit keys.  If      
  801    such an improvement happens, it is likely that there will be a huge     
  802    amount of publicity, particularly because of the large number of        
  803    1024-bit TLS trust anchors built into popular web browsers.  At that    
  804    time, all 1024-bit keys (both ones with parent zones and ones that      
  805    are trust anchors) can be rolled over and replaced with larger keys.    
  806                                                                            
  807    Earlier documents (including the previous version of this document)     
  808    urged the use of longer keys in situations where a particular key was   
  809    "heavily used".  That advice may have been true 15 years ago, but it    
  810    is not true today when using RSA algorithms and keys of 1024 bits or    
  811    higher.                                                                 
  812                                                                            
  813                                                                            
  814                                                                            
  815                                                                            
  816                                                                            
  817                                                                            
  818                                                                            
  819                                                                            
  820                                                                            
  821                                                                            
  822 Kolkman, et al.               Informational                    [Page 15]   

  823 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  824                                                                            
  825                                                                            
  826 3.4.3.  Private Key Storage                                                
  827                                                                            
  828    It is preferred that, where possible, zone private keys and the zone    
  829    file master copy that is to be signed be kept and used in off-line,     
  830    non-network-connected, physically secure machines only.                 
  831    Periodically, an application can be run to add authentication to a      
  832    zone by adding RRSIG and NSEC/NSEC3 RRs.  Then the augmented file can   
  833    be transferred to the master.                                           
  834                                                                            
  835    When relying on dynamic update [RFC3007] or any other update            
  836    mechanism that runs at a regular interval to manage a signed zone, be   
  837    aware that at least one private key of the zone will have to reside     
  838    on the master server or reside on an HSM to which the server has        
  839    access.  This key is only as secure as the amount of exposure the       
  840    server receives to unknown clients and on the level of security of      
  841    the host.  Although not mandatory, one could administer a zone using    
  842    a "hidden master" scheme to minimize the risk.  In this arrangement,    
  843    the master name server that processes the updates is unavailable to     
  844    general hosts on the Internet; it is not listed in the NS RRset.  The   
  845    name servers in the NS RRset are able to receive zone updates through   
  846    IXFR, AXFR, or an out-of-band distribution mechanism, possibly in       
  847    combination with NOTIFY or another mechanism to trigger zone            
  848    replication.                                                            
  849                                                                            
  850    The ideal situation is to have a one-way information flow to the        
  851    network to avoid the possibility of tampering from the network.         
  852    Keeping the zone master on-line on the network and simply cycling it    
  853    through an off-line signer does not do this.  The on-line version       
  854    could still be tampered with if the host it resides on is               
  855    compromised.  For maximum security, the master copy of the zone file    
  856    should be off-net and should not be updated based on an unsecured       
  857    network-mediated communication.                                         
  858                                                                            
  859    The ideal situation may not be achievable because of economic           
  860    tradeoffs between risks and costs.  For instance, keeping a zone file   
  861    off-line is not practical and will increase the costs of operating a    
  862    DNS zone.  So, in practice, the machines on which zone files are        
  863    maintained will be connected to a network.  Operators are advised to    
  864    take security measures to shield the master copy against unauthorized   
  865    access in order to prevent modification of DNS data before it is        
  866    signed.                                                                 
  867                                                                            
  868                                                                            
  869                                                                            
  870                                                                            
  871                                                                            
  872                                                                            
  873                                                                            
  874                                                                            
  875                                                                            
  876                                                                            
  877 Kolkman, et al.               Informational                    [Page 16]   

  878 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  879                                                                            
  880                                                                            
  881    Similarly, the choice for storing a private key in an HSM will be       
  882    influenced by a tradeoff between various concerns:                      
  883                                                                            
  884    o  The risks that an unauthorized person has unnoticed read access to   
  885       the private key.                                                     
  886                                                                            
  887    o  The remaining window of opportunity for the attacker.                
  888                                                                            
  889    o  The economic impact of the possible attacks (for a TLD, that         
  890       impact will typically be higher than for an individual user).        
  891                                                                            
  892    o  The costs of rolling the (compromised) keys.  (The cost of rolling   
  893       a ZSK is lowest, and the cost of rolling a KSK that is in wide use   
  894       as a trust anchor is highest.)                                       
  895                                                                            
  896    o  The costs of buying and maintaining an HSM.                          
  897                                                                            
  898    For dynamically updated secured zones [RFC3007], both the master copy   
  899    and the private key that is used to update signatures on updated RRs    
  900    will need to be on-line.                                                
  901                                                                            
  902 3.4.4.  Key Generation                                                     
  903                                                                            
  904    Careful generation of all keys is a sometimes overlooked but            
  905    absolutely essential element in any cryptographically secure system.    
  906    The strongest algorithms used with the longest keys are still of no     
  907    use if an adversary can guess enough to lower the size of the likely    
  908    key space so that it can be exhaustively searched.  Technical           
  909    suggestions for the generation of random keys will be found in          
  910    RFC 4086 [RFC4086] and NIST SP 800-90A [NIST-SP-800-90A].  In           
  911    particular, one should carefully assess whether the random number       
  912    generator used during key generation adheres to these suggestions.      
  913    Typically, HSMs tend to provide a good facility for key generation.     
  914                                                                            
  915    Keys with a long effectivity period are particularly sensitive, as      
  916    they will represent a more valuable target and be subject to attack     
  917    for a longer time than short-period keys.  It is preferred that long-   
  918    term key generation occur off-line in a manner isolated from the        
  919    network via an air gap or, at a minimum, high-level secure hardware.    
  920                                                                            
  921 3.4.5.  Differentiation for 'High-Level' Zones?                            
  922                                                                            
  923    An earlier version of this document (RFC 4641 [RFC4641]) made a         
  924    differentiation between key lengths for KSKs used for zones that are    
  925    high in the DNS hierarchy and those for KSKs used lower down in the     
  926    hierarchy.                                                              
  927                                                                            
  928                                                                            
  929                                                                            
  930                                                                            
  931                                                                            
  932 Kolkman, et al.               Informational                    [Page 17]   

  933 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  934                                                                            
  935                                                                            
  936    This distinction is now considered irrelevant.  Longer key lengths      
  937    for keys higher in the hierarchy are not useful because the             
  938    cryptographic guidance is that everyone should use keys that no one     
  939    can break.  Also, it is impossible to judge which zones are more or     
  940    less valuable to an attacker.  An attack can only take place if the     
  941    key compromise goes unnoticed and the attacker can act as a man-in-     
  942    the-middle (MITM).  For example, if example.com is compromised, and     
  943    the attacker forges answers for somebank.example.com. and sends them    
  944    out during an MITM, when the attack is discovered it will be simple     
  945    to prove that example.com has been compromised, and the KSK will be     
  946    rolled.                                                                 
  947                                                                            
  948 4.  Signature Generation, Key Rollover, and Related Policies               
  949                                                                            
  950 4.1.  Key Rollovers                                                        
  951                                                                            
  952    Regardless of whether a zone uses periodic key rollovers or only        
  953    rolls keys in case of an irregular event, key rollovers are a fact of   
  954    life when using DNSSEC.  Zone administrators who are in the process     
  955    of rolling their keys have to take into account the fact that data      
  956    published in previous versions of their zone still lives in caches.     
  957    When deploying DNSSEC, this becomes an important consideration;         
  958    ignoring data that may be in caches may lead to loss of service for     
  959    clients.                                                                
  960                                                                            
  961    The most pressing example of this occurs when zone material signed      
  962    with an old key is being validated by a resolver that does not have     
  963    the old zone key cached.  If the old key is no longer present in the    
  964    current zone, this validation fails, marking the data Bogus.            
  965    Alternatively, an attempt could be made to validate data that is        
  966    signed with a new key against an old key that lives in a local cache,   
  967    also resulting in data being marked Bogus.                              
  968                                                                            
  969    The typographic conventions used in the diagrams below are explained    
  970    in Appendix B.                                                          
  971                                                                            
  972 4.1.1.  Zone Signing Key Rollovers                                         
  973                                                                            
  974    If the choice for splitting ZSKs and KSKs has been made, then those     
  975    two types of keys can be rolled separately, and ZSKs can be rolled      
  976    without taking into account DS records from the parent or the           
  977    configuration of such a key as the trust anchor.                        
  978                                                                            
  979    For "Zone Signing Key rollovers", there are two ways to make sure       
  980    that during the rollover data still cached can be verified with the     
  981    new key sets or newly generated signatures can be verified with the     
  982    keys still in caches.  One scheme, described in Section 4.1.1.1, uses   
  983                                                                            
  984                                                                            
  985                                                                            
  986                                                                            
  987 Kolkman, et al.               Informational                    [Page 18]   

  988 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
  989                                                                            
  990                                                                            
  991    key pre-publication; the other uses double signatures, as described     
  992    in Section 4.1.1.2.  The pros and cons are described in                 
  993    Section 4.1.1.3.                                                        
  994                                                                            
  995 4.1.1.1.  Pre-Publish Zone Signing Key Rollover                            
  996                                                                            
  997    This section shows how to perform a ZSK rollover without the need to    
  998    sign all the data in a zone twice -- the "Pre-Publish key rollover".    
  999    This method has advantages in the case of a key compromise.  If the     
 1000    old key is compromised, the new key has already been distributed in     
 1001    the DNS.  The zone administrator is then able to quickly switch to      
 1002    the new key and remove the compromised key from the zone.  Another      
 1003    major advantage is that the zone size does not double, as is the case   
 1004    with the Double-Signature ZSK rollover.                                 
 1005                                                                            
 1006    Pre-Publish key rollover from DNSKEY_Z_10 to DNSKEY_Z_11 involves       
 1007    four stages as follows:                                                 
 1008                                                                            
 1009     ------------------------------------------------------------           
 1010      initial            new DNSKEY          new RRSIGs                     
 1011     ------------------------------------------------------------           
 1012      SOA_0              SOA_1               SOA_2                          
 1013      RRSIG_Z_10(SOA)    RRSIG_Z_10(SOA)     RRSIG_Z_11(SOA)                
 1014                                                                            
 1015      DNSKEY_K_1         DNSKEY_K_1          DNSKEY_K_1                     
 1016      DNSKEY_Z_10        DNSKEY_Z_10         DNSKEY_Z_10                    
 1017                         DNSKEY_Z_11         DNSKEY_Z_11                    
 1018      RRSIG_K_1(DNSKEY)  RRSIG_K_1(DNSKEY)   RRSIG_K_1(DNSKEY)              
 1019     ------------------------------------------------------------           
 1020                                                                            
 1021     ------------------------------------------------------------           
 1022      DNSKEY removal                                                        
 1023     ------------------------------------------------------------           
 1024      SOA_3                                                                 
 1025      RRSIG_Z_11(SOA)                                                       
 1026                                                                            
 1027      DNSKEY_K_1                                                            
 1028      DNSKEY_Z_11                                                           
 1029                                                                            
 1030      RRSIG_K_1(DNSKEY)                                                     
 1031     ------------------------------------------------------------           
 1032                                                                            
 1033                     Figure 1: Pre-Publish Key Rollover                     
 1034                                                                            
 1035                                                                            
 1036                                                                            
 1037                                                                            
 1038                                                                            
 1039                                                                            
 1040                                                                            
 1041                                                                            
 1042 Kolkman, et al.               Informational                    [Page 19]   

 1043 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1044                                                                            
 1045                                                                            
 1046    initial:  Initial version of the zone: DNSKEY_K_1 is the Key Signing    
 1047       Key.  DNSKEY_Z_10 is used to sign all the data of the zone, i.e.,    
 1048       it is the Zone Signing Key.                                          
 1049                                                                            
 1050    new DNSKEY:  DNSKEY_Z_11 is introduced into the key set (note that no   
 1051       signatures are generated with this key yet, but this does not        
 1052       secure against brute force attacks on its public key).  The          
 1053       minimum duration of this pre-roll phase is the time it takes for     
 1054       the data to propagate to the authoritative servers, plus the TTL     
 1055       value of the key set.                                                
 1056                                                                            
 1057    new RRSIGs:  At the "new RRSIGs" stage, DNSKEY_Z_11 is used to sign     
 1058       the data in the zone exclusively (i.e., all the signatures from      
 1059       DNSKEY_Z_10 are removed from the zone).  DNSKEY_Z_10 remains         
 1060       published in the key set.  This way, data that was loaded into       
 1061       caches from the zone in the "new DNSKEY" step can still be           
 1062       verified with key sets fetched from this version of the zone.  The   
 1063       minimum time that the key set including DNSKEY_Z_10 is to be         
 1064       published is the time that it takes for zone data from the           
 1065       previous version of the zone to expire from old caches, i.e., the    
 1066       time it takes for this zone to propagate to all authoritative        
 1067       servers, plus the Maximum Zone TTL value of any of the data in the   
 1068       previous version of the zone.                                        
 1069                                                                            
 1070    DNSKEY removal:  DNSKEY_Z_10 is removed from the zone.  The key set,    
 1071       now only containing DNSKEY_K_1 and DNSKEY_Z_11, is re-signed with    
 1072       DNSKEY_K_1.                                                          
 1073                                                                            
 1074                                                                            
 1075                                                                            
 1076                                                                            
 1077                                                                            
 1078                                                                            
 1079                                                                            
 1080                                                                            
 1081                                                                            
 1082                                                                            
 1083                                                                            
 1084                                                                            
 1085                                                                            
 1086                                                                            
 1087                                                                            
 1088                                                                            
 1089                                                                            
 1090                                                                            
 1091                                                                            
 1092                                                                            
 1093                                                                            
 1094                                                                            
 1095                                                                            
 1096                                                                            
 1097 Kolkman, et al.               Informational                    [Page 20]   

 1098 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1099                                                                            
 1100                                                                            
 1101    The above scheme can be simplified by always publishing the "future"    
 1102    key immediately after the rollover.  The scheme would look as           
 1103    follows (we show two rollovers); the future key is introduced in "new   
 1104    DNSKEY" as DNSKEY_Z_12 and again a newer one, numbered 13, in "new      
 1105    DNSKEY (II)":                                                           
 1106                                                                            
 1107        initial             new RRSIGs          new DNSKEY                  
 1108       -----------------------------------------------------------------    
 1109        SOA_0               SOA_1               SOA_2                       
 1110        RRSIG_Z_10(SOA)     RRSIG_Z_11(SOA)     RRSIG_Z_11(SOA)             
 1111                                                                            
 1112        DNSKEY_K_1          DNSKEY_K_1          DNSKEY_K_1                  
 1113        DNSKEY_Z_10         DNSKEY_Z_10         DNSKEY_Z_11                 
 1114        DNSKEY_Z_11         DNSKEY_Z_11         DNSKEY_Z_12                 
 1115        RRSIG_K_1(DNSKEY)   RRSIG_K_1(DNSKEY)   RRSIG_K_1(DNSKEY)           
 1116        ----------------------------------------------------------------    
 1117                                                                            
 1118        ----------------------------------------------------------------    
 1119        new RRSIGs (II)     new DNSKEY (II)                                 
 1120        ----------------------------------------------------------------    
 1121        SOA_3               SOA_4                                           
 1122        RRSIG_Z_12(SOA)     RRSIG_Z_12(SOA)                                 
 1123                                                                            
 1124        DNSKEY_K_1          DNSKEY_K_1                                      
 1125        DNSKEY_Z_11         DNSKEY_Z_12                                     
 1126        DNSKEY_Z_12         DNSKEY_Z_13                                     
 1127        RRSIG_K_1(DNSKEY)   RRSIG_K_1(DNSKEY)                               
 1128        ----------------------------------------------------------------    
 1129                                                                            
 1130              Figure 2: Pre-Publish Zone Signing Key Rollover,              
 1131                            Showing Two Rollovers                           
 1132                                                                            
 1133    Note that the key introduced in the "new DNSKEY" phase is not used      
 1134    for production yet; the private key can thus be stored in a             
 1135    physically secure manner and does not need to be 'fetched' every time   
 1136    a zone needs to be signed.                                              
 1137                                                                            
 1138 4.1.1.2.  Double-Signature Zone Signing Key Rollover                       
 1139                                                                            
 1140    This section shows how to perform a ZSK rollover using the double       
 1141    zone data signature scheme, aptly named "Double-Signature rollover".    
 1142                                                                            
 1143    During the "new DNSKEY" stage, the new version of the zone file will    
 1144    need to propagate to all authoritative servers and the data that        
 1145    exists in (distant) caches will need to expire, requiring at least      
 1146    the propagation delay plus the Maximum Zone TTL of previous versions    
 1147    of the zone.                                                            
 1148                                                                            
 1149                                                                            
 1150                                                                            
 1151                                                                            
 1152 Kolkman, et al.               Informational                    [Page 21]   

 1153 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1154                                                                            
 1155                                                                            
 1156    Double-Signature ZSK rollover involves three stages as follows:         
 1157                                                                            
 1158       ----------------------------------------------------------------     
 1159       initial             new DNSKEY         DNSKEY removal                
 1160       ----------------------------------------------------------------     
 1161       SOA_0               SOA_1              SOA_2                         
 1162       RRSIG_Z_10(SOA)     RRSIG_Z_10(SOA)                                  
 1163                           RRSIG_Z_11(SOA)    RRSIG_Z_11(SOA)               
 1164       DNSKEY_K_1          DNSKEY_K_1         DNSKEY_K_1                    
 1165       DNSKEY_Z_10         DNSKEY_Z_10                                      
 1166                           DNSKEY_Z_11        DNSKEY_Z_11                   
 1167       RRSIG_K_1(DNSKEY)   RRSIG_K_1(DNSKEY)  RRSIG_K_1(DNSKEY)             
 1168       ----------------------------------------------------------------     
 1169                                                                            
 1170            Figure 3: Double-Signature Zone Signing Key Rollover            
 1171                                                                            
 1172    initial:  Initial version of the zone: DNSKEY_K_1 is the Key Signing    
 1173       Key.  DNSKEY_Z_10 is used to sign all the data of the zone, i.e.,    
 1174       it is the Zone Signing Key.                                          
 1175                                                                            
 1176    new DNSKEY:  At the "new DNSKEY" stage, DNSKEY_Z_11 is introduced       
 1177       into the key set and all the data in the zone is signed with         
 1178       DNSKEY_Z_10 and DNSKEY_Z_11.  The rollover period will need to       
 1179       continue until all data from version 0 (i.e., the version of the     
 1180       zone data containing SOA_0) of the zone has been replaced in all     
 1181       secondary servers and then has expired from remote caches.  This     
 1182       will take at least the propagation delay plus the Maximum Zone TTL   
 1183       of version 0 of the zone.                                            
 1184                                                                            
 1185    DNSKEY removal:  DNSKEY_Z_10 is removed from the zone, as are all       
 1186       signatures created with it.  The key set, now only containing        
 1187       DNSKEY_Z_11, is re-signed with DNSKEY_K_1 and DNSKEY_Z_11.           
 1188                                                                            
 1189    At every instance, RRSIGs from the previous version of the zone can     
 1190    be verified with the DNSKEY RRset from the current version and vice     
 1191    versa.  The duration of the "new DNSKEY" phase and the period between   
 1192    rollovers should be at least the propagation delay to secondary         
 1193    servers plus the Maximum Zone TTL of the previous version of the        
 1194    zone.                                                                   
 1195                                                                            
 1196    Note that in this example we assumed for simplicity that the zone was   
 1197    not modified during the rollover.  In fact, new data can be             
 1198    introduced at any time during this period, as long as it is signed      
 1199    with both keys.                                                         
 1200                                                                            
 1201                                                                            
 1202                                                                            
 1203                                                                            
 1204                                                                            
 1205                                                                            
 1206                                                                            
 1207 Kolkman, et al.               Informational                    [Page 22]   

 1208 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1209                                                                            
 1210                                                                            
 1211 4.1.1.3.  Pros and Cons of the Schemes                                     
 1212                                                                            
 1213    Pre-Publish key rollover:  This rollover does not involve signing the   
 1214       zone data twice.  Instead, before the actual rollover, the new key   
 1215       is published in the key set and thus is available for                
 1216       cryptanalysis attacks.  A small disadvantage is that this process    
 1217       requires four stages.  Also, the Pre-Publish scheme involves more    
 1218       parental work when used for KSK rollovers, as explained in           
 1219       Section 4.1.2.                                                       
 1220                                                                            
 1221    Double-Signature ZSK rollover:  The drawback of this approach is that   
 1222       during the rollover the number of signatures in your zone doubles;   
 1223       this may be prohibitive if you have very big zones.  An advantage    
 1224       is that it only requires three stages.                               
 1225                                                                            

The IETF is responsible for the creation and maintenance of the DNS RFCs. The ICANN DNS RFC annotation project provides a forum for collecting community annotations on these RFCs as an aid to understanding for implementers and any interested parties. The annotations displayed here are not the result of the IETF consensus process.

This RFC is included in the DNS RFCs annotation project whose home page is here.

 1226 4.1.2.  Key Signing Key Rollovers                                          
 1227                                                                            
 1228    For the rollover of a Key Signing Key, the same considerations as for   
 1229    the rollover of a Zone Signing Key apply.  However, we can use a        
 1230    Double-Signature scheme to guarantee that old data (only the apex key   
 1231    set) in caches can be verified with a new key set and vice versa.       
 1232    Since only the key set is signed with a KSK, zone size considerations   
 1233    do not apply.                                                           
 1234                                                                            
 1235    Note that KSK rollovers and ZSK rollovers are different in the sense    
 1236    that a KSK rollover requires interaction with the parent (and           
 1237    possibly replacing trust anchors) and the ensuing delay while waiting   
 1238    for it.                                                                 
 1239                                                                            
 1240                                                                            
 1241                                                                            
 1242                                                                            
 1243                                                                            
 1244                                                                            
 1245                                                                            
 1246                                                                            
 1247                                                                            
 1248                                                                            
 1249                                                                            
 1250                                                                            
 1251                                                                            
 1252                                                                            
 1253                                                                            
 1254                                                                            
 1255                                                                            
 1256                                                                            
 1257                                                                            
 1258                                                                            
 1259                                                                            
 1260                                                                            
 1261                                                                            
 1262 Kolkman, et al.               Informational                    [Page 23]   

 1263 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1264                                                                            
 1265                                                                            
 1266    ---------------------------------------------------------------------   
 1267     initial            new DNSKEY        DS change    DNSKEY removal       
 1268    ---------------------------------------------------------------------   
 1269    Parent:                                                                 
 1270     SOA_0 -----------------------------> SOA_1 ------------------------>   
 1271     RRSIG_par(SOA) --------------------> RRSIG_par(SOA) --------------->   
 1272     DS_K_1 ----------------------------> DS_K_2 ----------------------->   
 1273     RRSIG_par(DS) ---------------------> RRSIG_par(DS) ---------------->   
 1274                                                                            
 1275    Child:                                                                  
 1276     SOA_0              SOA_1 -----------------------> SOA_2                
 1277     RRSIG_Z_10(SOA)    RRSIG_Z_10(SOA) -------------> RRSIG_Z_10(SOA)      
 1278                                                                            
 1279     DNSKEY_K_1         DNSKEY_K_1 ------------------>                      
 1280                        DNSKEY_K_2 ------------------> DNSKEY_K_2           
 1281     DNSKEY_Z_10        DNSKEY_Z_10 -----------------> DNSKEY_Z_10          
 1282     RRSIG_K_1(DNSKEY)  RRSIG_K_1 (DNSKEY) ---------->                      
 1283                        RRSIG_K_2 (DNSKEY) ----------> RRSIG_K_2(DNSKEY)    
 1284    ---------------------------------------------------------------------   
 1285                                                                            
 1286            Figure 4: Stages of Deployment for a Double-Signature           
 1287                          Key Signing Key Rollover                          
 1288                                                                            
 1289    initial:  Initial version of the zone.  The parental DS points to       
 1290       DNSKEY_K_1.  Before the rollover starts, the child will have to      
 1291       verify what the TTL is of the DS RR that points to DNSKEY_K_1 --     
 1292       it is needed during the rollover, and we refer to the value as       
 1293       TTL_DS.                                                              
 1294                                                                            
 1295    new DNSKEY:  During the "new DNSKEY" phase, the zone administrator      
 1296       generates a second KSK, DNSKEY_K_2.  The key is provided to the      
 1297       parent, and the child will have to wait until a new DS RR has been   
 1298       generated that points to DNSKEY_K_2.  After that DS RR has been      
 1299       published on all servers authoritative for the parent's zone, the    
 1300       zone administrator has to wait at least TTL_DS to make sure that     
 1301       the old DS RR has expired from caches.                               
 1302                                                                            
 1303    DS change:  The parent replaces DS_K_1 with DS_K_2.                     
 1304                                                                            
 1305    DNSKEY removal:  DNSKEY_K_1 has been removed.                           
 1306                                                                            
 1307    The scenario above puts the responsibility for maintaining a valid      
 1308    chain of trust with the child.  It also is based on the premise that    
 1309    the parent only has one DS RR (per algorithm) per zone.  An             
 1310    alternative mechanism has been considered.  Using an established        
 1311    trust relationship, the interaction can be performed in-band, and the   
 1312    removal of the keys by the child can possibly be signaled by the        
 1313    parent.  In this mechanism, there are periods where there are two DS    
 1314                                                                            
 1315                                                                            
 1316                                                                            
 1317 Kolkman, et al.               Informational                    [Page 24]   

 1318 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1319                                                                            
 1320                                                                            
 1321    RRs at the parent.  This is known as a KSK Double-DS rollover and is    
 1322    shown in Figure 5.  This method has some drawbacks for KSKs.  We        
 1323    first describe the rollover scheme and then indicate these drawbacks.   
 1324                                                                            
 1325    --------------------------------------------------------------------    
 1326      initial         new DS         new DNSKEY       DS removal            
 1327    --------------------------------------------------------------------    
 1328    Parent:                                                                 
 1329      SOA_0           SOA_1 ------------------------> SOA_2                 
 1330      RRSIG_par(SOA)  RRSIG_par(SOA) ---------------> RRSIG_par(SOA)        
 1331      DS_K_1          DS_K_1 ----------------------->                       
 1332                      DS_K_2 -----------------------> DS_K_2                
 1333      RRSIG_par(DS)   RRSIG_par(DS) ----------------> RRSIG_par(DS)         
 1334                                                                            
 1335    Child:                                                                  
 1336      SOA_0 -----------------------> SOA_1 ---------------------------->    
 1337      RRSIG_Z_10(SOA) -------------> RRSIG_Z_10(SOA) ------------------>    
 1338                                                                            
 1339      DNSKEY_K_1 ------------------> DNSKEY_K_2 ----------------------->    
 1340      DNSKEY_Z_10 -----------------> DNSKEY_Z_10 ---------------------->    
 1341      RRSIG_K_1 (DNSKEY) ----------> RRSIG_K_2 (DNSKEY) --------------->    
 1342    --------------------------------------------------------------------    
 1343                                                                            
 1344               Figure 5: Stages of Deployment for a Double-DS               
 1345                          Key Signing Key Rollover                          
 1346                                                                            
 1347    When the child zone wants to roll, it notifies the parent during the    
 1348    "new DS" phase and submits the new key (or the corresponding DS) to     
 1349    the parent.  The parent publishes DS_K_1 and DS_K_2, pointing to        
 1350    DNSKEY_K_1 and DNSKEY_K_2, respectively.  During the rollover ("new     
 1351    DNSKEY" phase), which can take place as soon as the new DS set          
 1352    propagated through the DNS, the child replaces DNSKEY_K_1 with          
 1353    DNSKEY_K_2.  If the old key has expired from caches, at the "DS         
 1354    removal" phase the parent can be notified that the old DS record can    
 1355    be deleted.                                                             
 1356                                                                            
 1357    The drawbacks of this scheme are that during the "new DS" phase, the    
 1358    parent cannot verify the match between the DS_K_2 RR and DNSKEY_K_2     
 1359    using the DNS, as DNSKEY_K_2 is not yet published.  Besides, we         
 1360    introduce a "security lame" key (see Section 4.3.3).  Finally, the      
 1361    child-parent interaction consists of two steps.  The "Double            
 1362    Signature" method only needs one interaction.                           
 1363                                                                            
 1364                                                                            
 1365                                                                            
 1366                                                                            
 1367                                                                            
 1368                                                                            
 1369                                                                            
 1370                                                                            
 1371                                                                            
 1372 Kolkman, et al.               Informational                    [Page 25]   

 1373 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1374                                                                            
 1375                                                                            
 1376 4.1.2.1.  Special Considerations for RFC 5011 KSK Rollover                 
 1377                                                                            
 1378    The scenario sketched above assumes that the KSK is not in use as a     
 1379    trust anchor but that validating name servers exclusively depend on     
 1380    the parental DS record to establish the zone's security.  If it is      
 1381    known that validating name servers have configured trust anchors,       
 1382    then that needs to be taken into account.  Here, we assume that zone    
 1383    administrators will deploy RFC 5011 [RFC5011] style rollovers.          
 1384                                                                            
 1385    RFC 5011 style rollovers increase the duration of key rollovers: The    
 1386    key to be removed must first be revoked.  Thus, before the DNSKEY_K_1   
 1387    removal phase, DNSKEY_K_1 must be published for one more Maximum Zone   
 1388    TTL with the REVOKE bit set.  The revoked key must be self-signed, so   
 1389    in this phase the DNSKEY RRset must also be signed with DNSKEY_K_1.     
 1390                                                                            
 1391 4.1.3.  Single-Type Signing Scheme Key Rollover                            
 1392                                                                            
 1393    The rollover of a key when a Single-Type Signing Scheme is used is      
 1394    subject to the same requirement as the rollover of a KSK or ZSK:        
 1395    During any stage of the rollover, the chain of trust needs to           
 1396    continue to validate for any combination of data in the zone as well    
 1397    as data that may still live in distant caches.                          
 1398                                                                            
 1399    There are two variants for this rollover.  Since the choice for a       
 1400    Single-Type Signing Scheme is motivated by operational simplicity, we   
 1401    describe the most straightforward rollover scheme first.                
 1402                                                                            
 1403    -------------------------------------------------------------------     
 1404      initial           new DNSKEY      DS change     DNSKEY removal        
 1405    -------------------------------------------------------------------     
 1406    Parent:                                                                 
 1407      SOA_0 --------------------------> SOA_1 ---------------------->       
 1408      RRSIG_par(SOA) -----------------> RRSIG_par(SOA) ------------->       
 1409      DS_S_1 -------------------------> DS_S_2 --------------------->       
 1410      RRSIG_par(DS_S_1) --------------> RRSIG_par(DS_S_2) ---------->       
 1411                                                                            
 1412    Child:                                                                  
 1413      SOA_0             SOA_1 ----------------------> SOA_2                 
 1414      RRSIG_S_1(SOA)    RRSIG_S_1(SOA) ------------->                       
 1415                        RRSIG_S_2(SOA) -------------> RRSIG_S_2(SOA)        
 1416      DNSKEY_S_1        DNSKEY_S_1 ----------------->                       
 1417                        DNSKEY_S_2 -----------------> DNSKEY_S_2            
 1418      RRSIG_S_1(DNSKEY) RRSIG_S_1(DNSKEY) ---------->                       
 1419                        RRSIG_S_2(DNSKEY) ----------> RRSIG_S_2(DNSKEY)     
 1420    -------------------------------------------------------------------     
 1421                                                                            
 1422              Figure 6: Stages of the Straightforward Rollover              
 1423                       in a Single-Type Signing Scheme                      
 1424                                                                            
 1425                                                                            
 1426                                                                            
 1427 Kolkman, et al.               Informational                    [Page 26]   

 1428 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1429                                                                            
 1430                                                                            
 1431    initial:  Parental DS points to DNSKEY_S_1.  All RRsets in the zone     
 1432       are signed with DNSKEY_S_1.                                          
 1433                                                                            
 1434    new DNSKEY:  A new key (DNSKEY_S_2) is introduced, and all the RRsets   
 1435       are signed with both DNSKEY_S_1 and DNSKEY_S_2.                      
 1436                                                                            
 1437    DS change:  After the DNSKEY RRset with the two keys had time to        
 1438       propagate into distant caches (that is, the key set exclusively      
 1439       containing DNSKEY_S_1 has been expired), the parental DS record      
 1440       can be changed.                                                      
 1441                                                                            
 1442    DNSKEY removal:  After the DS RRset containing DS_S_1 has expired       
 1443       from distant caches, DNSKEY_S_1 can be removed from the DNSKEY       
 1444       RRset.                                                               
 1445                                                                            
 1446    In this first variant, the new signatures and new public key are        
 1447    added to the zone.  Once they are propagated, the DS at the parent is   
 1448    switched.  If the old DS has expired from the caches, the old           
 1449    signatures and old public key can be removed from the zone.             
 1450                                                                            
 1451    This rollover has the drawback that it introduces double signatures     
 1452    over all data of the zone.  Taking these zone size considerations       
 1453    into account, it is possible to not introduce the signatures made       
 1454    with DNSKEY_S_2 at the "new DNSKEY" step.  Instead, signatures of       
 1455    DNSKEY_S_1 are replaced with signatures of DNSKEY_S_2 in an             
 1456    additional stage between the "DS change" and "DNSKEY removal" step:     
 1457    After the DS RRset containing DS_S_1 has expired from distant caches,   
 1458    the signatures can be swapped.  Only after the new signatures made      
 1459    with DNSKEY_S_2 have been propagated can the old public key             
 1460    DNSKEY_S_1 be removed from the DNSKEY RRset.                            
 1461                                                                            
 1462    The second variant of the Single-Type Signing Scheme Key rollover is    
 1463    the Double-DS rollover.  In this variant, one introduces a new DNSKEY   
 1464    into the key set and submits the new DS to the parent.  The new key     
 1465    is not yet used to sign RRsets.  The signatures made with DNSKEY_S_1    
 1466    are replaced with signatures made with DNSKEY_S_2 at the moment that    
 1467    DNSKEY_S_2 and DS_S_2 have been propagated.                             
 1468                                                                            
 1469                                                                            
 1470                                                                            
 1471                                                                            
 1472                                                                            
 1473                                                                            
 1474                                                                            
 1475                                                                            
 1476                                                                            
 1477                                                                            
 1478                                                                            
 1479                                                                            
 1480                                                                            
 1481                                                                            
 1482 Kolkman, et al.               Informational                    [Page 27]   

 1483 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1484                                                                            
 1485                                                                            
 1486  -----------------------------------------------------------------------   
 1487    initial            new DS         new RRSIG         DS removal          
 1488  -----------------------------------------------------------------------   
 1489  Parent:                                                                   
 1490    SOA_0              SOA_1 -------------------------> SOA_2               
 1491    RRSIG_par(SOA)     RRSIG_par(SOA) ----------------> RRSIG_par(SOA)      
 1492    DS_S_1             DS_S_1 ------------------------>                     
 1493                       DS_S_2 ------------------------> DS_S_2              
 1494    RRSIG_par(DS)      RRSIG_par(DS) -----------------> RRSIG_par(DS)       
 1495                                                                            
 1496  Child:                                                                    
 1497    SOA_0              SOA_1          SOA_2             SOA_3               
 1498    RRSIG_S_1(SOA)     RRSIG_S_1(SOA) RRSIG_S_2(SOA)    RRSIG_S_2(SOA)      
 1499                                                                            
 1500    DNSKEY_S_1         DNSKEY_S_1     DNSKEY_S_1                            
 1501                       DNSKEY_S_2     DNSKEY_S_2        DNSKEY_S_2          
 1502    RRSIG_S_1 (DNSKEY)                RRSIG_S_2(DNSKEY) RRSIG_S_2(DNSKEY)   
 1503  -----------------------------------------------------------------------   
 1504                                                                            
 1505        Figure 7: Stages of Deployment for a Double-DS Rollover in a        
 1506                         Single-Type Signing Scheme                         
 1507                                                                            
 1508 4.1.4.  Algorithm Rollovers                                                
 1509                                                                            
 1510    A special class of key rollovers is the one needed for a change of      
 1511    signature algorithms (either adding a new algorithm, removing an old    
 1512    algorithm, or both).  Additional steps are needed to retain integrity   
 1513    during this rollover.  We first describe the generic case; special      
 1514    considerations for rollovers that involve trust anchors and single-     
 1515    type keys are discussed later.                                          
 1516                                                                            
 1517    There exist both a conservative and a liberal approach for algorithm    
 1518    rollover.  This has to do with Section 2.2 of RFC 4035 [RFC4035]:       
 1519                                                                            
 1520       There MUST be an RRSIG for each RRset using at least one DNSKEY      
 1521       of each algorithm in the zone apex DNSKEY RRset.  The apex           
 1522       DNSKEY RRset itself MUST be signed by each algorithm appearing       
 1523       in the DS RRset located at the delegating parent (if any).           
 1524                                                                            
 1525    The conservative approach interprets this section very strictly,        
 1526    meaning that it expects that every RRset has a valid signature for      
 1527    every algorithm signaled by the zone apex DNSKEY RRset, including       
 1528    RRsets in caches.  The liberal approach uses a more loose               
 1529    interpretation of the section and limits the rule to RRsets in the      
 1530    zone at the authoritative name servers.  There is a reasonable          
 1531    argument for saying that this is valid, because the specific section    
 1532    is a subsection of Section 2 ("Zone Signing") of RFC 4035.              
 1533                                                                            
 1534                                                                            
 1535                                                                            
 1536                                                                            
 1537 Kolkman, et al.               Informational                    [Page 28]   

 1538 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1539                                                                            
 1540                                                                            
 1541    When following the more liberal approach, algorithm rollover is just    
 1542    as easy as a regular Double-Signature KSK rollover (Section 4.1.2).     
 1543    Note that the Double-DS KSK rollover method cannot be used, since       
 1544    that would introduce a parental DS of which the apex DNSKEY RRset has   
 1545    not been signed with the introduced algorithm.                          
 1546                                                                            
 1547    However, there are implementations of validators known to follow the    
 1548    more conservative approach.  Performing a Double-Signature KSK          
 1549    algorithm rollover will temporarily make your zone appear as Bogus by   
 1550    such validators during the rollover.  Therefore, the rollover           
 1551    described in this section will explain the stages of deployment and     
 1552    will assume that the conservative approach is used.                     
 1553                                                                            
 1554    When adding a new algorithm, the signatures should be added first.      
 1555    After the TTL of RRSIGs has expired and caches have dropped the old     
 1556    data covered by those signatures, the DNSKEY with the new algorithm     
 1557    can be added.                                                           
 1558                                                                            
 1559    After the new algorithm has been added, the DS record can be            
 1560    exchanged using Double-Signature KSK rollover.                          
 1561                                                                            
 1562    When removing an old algorithm, the DS for the algorithm should be      
 1563    removed from the parent zone first, followed by the DNSKEY and the      
 1564    signatures (in the child zone).                                         
 1565                                                                            
 1566    Figure 8 describes the steps.                                           
 1567                                                                            
 1568                                                                            
 1569                                                                            
 1570                                                                            
 1571                                                                            
 1572                                                                            
 1573                                                                            
 1574                                                                            
 1575                                                                            
 1576                                                                            
 1577                                                                            
 1578                                                                            
 1579                                                                            
 1580                                                                            
 1581                                                                            
 1582                                                                            
 1583                                                                            
 1584                                                                            
 1585                                                                            
 1586                                                                            
 1587                                                                            
 1588                                                                            
 1589                                                                            
 1590                                                                            
 1591                                                                            
 1592 Kolkman, et al.               Informational                    [Page 29]   

 1593 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1594                                                                            
 1595                                                                            
 1596    ----------------------------------------------------------------        
 1597     initial              new RRSIGs           new DNSKEY                   
 1598    ----------------------------------------------------------------        
 1599    Parent:                                                                 
 1600     SOA_0 -------------------------------------------------------->        
 1601     RRSIG_par(SOA) ----------------------------------------------->        
 1602     DS_K_1 ------------------------------------------------------->        
 1603     RRSIG_par(DS_K_1) -------------------------------------------->        
 1604                                                                            
 1605    Child:                                                                  
 1606     SOA_0                SOA_1                SOA_2                        
 1607     RRSIG_Z_10(SOA)      RRSIG_Z_10(SOA)      RRSIG_Z_10(SOA)              
 1608                          RRSIG_Z_11(SOA)      RRSIG_Z_11(SOA)              
 1609                                                                            
 1610     DNSKEY_K_1           DNSKEY_K_1           DNSKEY_K_1                   
 1611                                               DNSKEY_K_2                   
 1612     DNSKEY_Z_10          DNSKEY_Z_10          DNSKEY_Z_10                  
 1613                                               DNSKEY_Z_11                  
 1614     RRSIG_K_1(DNSKEY)    RRSIG_K_1(DNSKEY)    RRSIG_K_1(DNSKEY)            
 1615                                               RRSIG_K_2(DNSKEY)            
 1616                                                                            
section-4.1.2 Marcos Sanz(Technical Erratum #4844) [Verified]
based on outdated version
   initial:  Initial version of the zone.  The parental DS points to
      DNSKEY_K_1.  Before the rollover starts, the child will have to
      verify what the TTL is of the DS RR that points to DNSKEY_K_1 --
      it is needed during the rollover, and we refer to the value as
      TTL_DS.

   new DNSKEY:  During the "new DNSKEY" phase, the zone administrator
      generates a second KSK, DNSKEY_K_2.  The key is provided to the
      parent, and the child will have to wait until a new DS RR has been
      generated that points to DNSKEY_K_2.  After that DS RR has been
      published on all servers authoritative for the parent's zone, the
      zone administrator has to wait at least TTL_DS to make sure that
      the old DS RR has expired from caches.

   DS change:  The parent replaces DS_K_1 with DS_K_2.
It should say:
initial:  Initial version of the zone.  The parental DS points to
    DNSKEY_K_1.  Before the rollover starts, the child will have to
    verify what the TTL is of the DS RR that points to DNSKEY_K_1 --
    it is needed during the rollover, and we refer to the value as
    TTL_DS.  Also, we refer to the TTL value of the DNSKEY_K_1 RR as
    TTL_DNSKEY.

new DNSKEY:  During the "new DNSKEY" phase, the zone administrator
    generates a second KSK, DNSKEY_K_2.  The new DNSKEY RRSet that
    includes DNSKEY_K_2 is published at the child.  After waiting at
    least TTL_DNSKEY, DNSKEY_K_2 (or the DS RR generated from it, that
    is DS_K_2) is provided to the parent.

DS change:  The parent replaces DS_K_1 with DS_K_2.  After that DS RR
    has been published on all servers authoritative for the parent's
    zone, the zone administrator has to wait at least TTL_DS to make
    sure that the old DS RR has expired from caches.

I just corrected what is fundamentally flawed. RFC 7583 section 3.3.1 provides a much detailed explanation of the process.
 1617    ----------------------------------------------------------------        
 1618     new DS               DNSKEY removal       RRSIGs removal               
 1619    ----------------------------------------------------------------        
 1620    Parent:                                                                 
 1621     SOA_1 ------------------------------------------------------->         
 1622     RRSIG_par(SOA) ---------------------------------------------->         
 1623     DS_K_2 ------------------------------------------------------>         
 1624     RRSIG_par(DS_K_2) ------------------------------------------->         
 1625                                                                            
 1626    Child:                                                                  
 1627     -------------------> SOA_3                SOA_4                        
 1628     -------------------> RRSIG_Z_10(SOA)                                   
 1629     -------------------> RRSIG_Z_11(SOA)      RRSIG_Z_11(SOA)              
 1630                                                                            
 1631     ------------------->                                                   
 1632     -------------------> DNSKEY_K_2           DNSKEY_K_2                   
 1633     ------------------->                                                   
 1634     -------------------> DNSKEY_Z_11          DNSKEY_Z_11                  
 1635     ------------------->                                                   
 1636     -------------------> RRSIG_K_2(DNSKEY)    RRSIG_K_2(DNSKEY)            
 1637    ----------------------------------------------------------------        
 1638                                                                            
 1639         Figure 8: Stages of Deployment during an Algorithm Rollover        
 1640                                                                            
 1641                                                                            
 1642                                                                            
 1643                                                                            
 1644                                                                            
 1645                                                                            
 1646                                                                            
 1647 Kolkman, et al.               Informational                    [Page 30]   

 1648 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1649                                                                            
 1650                                                                            
 1651    initial:  Describes the state of the zone before any transition is      
 1652       done.  The number of the keys may vary, but all keys (in DNSKEY      
 1653       records) for the zone use the same algorithm.                        
 1654                                                                            
 1655    new RRSIGs:  The signatures made with the new key over all records in   
 1656       the zone are added, but the key itself is not.  This step is         
 1657       needed to propagate the signatures created with the new algorithm    
 1658       to the caches.  If this is not done, it is possible for a resolver   
 1659       to retrieve the new DNSKEY RRset (containing the new algorithm)      
 1660       but to have RRsets in its cache with signatures created by the old   
 1661       DNSKEY RRset (i.e., without the new algorithm).                      
 1662                                                                            
 1663       The RRSIG for the DNSKEY RRset does not need to be pre-published     
 1664       (since these records will travel together) and does not need         
 1665       special processing in order to keep them synchronized.               
 1666                                                                            
 1667    new DNSKEY:  After the old data has expired from caches, the new key    
 1668       can be added to the zone.                                            
 1669                                                                            
 1670    new DS:  After the cache data for the old DNSKEY RRset has expired,     
 1671       the DS record for the new key can be added to the parent zone and    
 1672       the DS record for the old key can be removed in the same step.       
 1673                                                                            
 1674    DNSKEY removal:  After the cache data for the old DS RRset has          
 1675       expired, the old algorithm can be removed.  This time, the old key   
 1676       needs to be removed first, before removing the old signatures.       
 1677                                                                            
 1678    RRSIGs removal:  After the cache data for the old DNSKEY RRset has      
 1679       expired, the old signatures can also be removed during this step.    
 1680                                                                            
 1681    Below, we deal with a few special cases of algorithm rollovers:         
 1682                                                                            
 1683    1: Single-Type Signing Scheme Algorithm rollover:  when there is no     
 1684       differentiation between ZSKs and KSKs (Section 4.1.4.1).             
 1685                                                                            
 1686    2: RFC 5011 Algorithm rollover:  when trust anchors can track the       
 1687       roll via RFC 5011 style rollover (Section 4.1.4.2).                  
 1688                                                                            
 1689    3: 1 and 2 combined:  when a Single-Type Signing Scheme Algorithm       
 1690       rollover is performed RFC 5011 style (Section 4.1.4.3).              
 1691                                                                            
 1692    In addition to the narrative below, these special cases are             
 1693    represented in Figures 12, 13, and 14 in Appendix C.                    
 1694                                                                            
 1695                                                                            
 1696                                                                            
 1697                                                                            
 1698                                                                            
 1699                                                                            
 1700                                                                            
 1701                                                                            
 1702 Kolkman, et al.               Informational                    [Page 31]   

 1703 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1704                                                                            
 1705                                                                            
 1706 4.1.4.1.  Single-Type Signing Scheme Algorithm Rollover                    
 1707                                                                            
 1708    If one key is used that acts as both ZSK and KSK, the same scheme and   
 1709    figure as above (Figure 8 in Section 4.1.4) applies, whereby all        
 1710    DNSKEY_Z_* records from the table are removed and all RRSIG_Z_* are     
 1711    replaced with RRSIG_S_*.  All DNSKEY_K_* records are replaced with      
 1712    DNSKEY_S_*, and all RRSIG_K_* records are replaced with RRSIG_S_*.      
 1713    The requirement to sign with both algorithms and make sure that old     
 1714    RRSIGs have the opportunity to expire from distant caches before        
 1715    introducing the new algorithm in the DNSKEY RRset is still valid.       
 1716                                                                            
 1717    This is shown in Figure 12 in Appendix C.                               
 1718                                                                            
 1719 4.1.4.2.  Algorithm Rollover, RFC 5011 Style                               
 1720                                                                            
 1721    Trust anchor algorithm rollover is almost as simple as a regular        
 1722    RFC 5011-based rollover.  However, the old trust anchor must be         
 1723    revoked before it is removed from the zone.                             
 1724                                                                            
 1725    The timeline (see Figure 13 in Appendix C) is similar to that of        
 1726    Figure 8 above, but after the "new DS" step, an additional step is      
 1727    required where the DNSKEY is revoked.  The details of this step         
 1728    ("revoke DNSKEY") are shown in Figure 9 below.                          
 1729                                                                            
 1730    ---------------------------------                                       
 1731      revoke DNSKEY                                                         
 1732    ---------------------------------                                       
 1733    Parent:                                                                 
 1734      ----------------------------->                                        
 1735      ----------------------------->                                        
 1736      ----------------------------->                                        
 1737      ----------------------------->                                        
 1738                                                                            
 1739    Child:                                                                  
 1740      SOA_3                                                                 
 1741      RRSIG_Z_10(SOA)                                                       
 1742      RRSIG_Z_11(SOA)                                                       
 1743                                                                            
 1744      DNSKEY_K_1_REVOKED                                                    
 1745      DNSKEY_K_2                                                            
 1746                                                                            
 1747      DNSKEY_Z_11                                                           
 1748      RRSIG_K_1(DNSKEY)                                                     
 1749      RRSIG_K_2(DNSKEY)                                                     
 1750    ---------------------------------                                       
 1751                                                                            
 1752       Figure 9: The Revoke DNSKEY State That Is Added to an Algorithm      
 1753                      Rollover when RFC 5011 Is in Use                      
 1754                                                                            
 1755                                                                            
 1756                                                                            
 1757 Kolkman, et al.               Informational                    [Page 32]   

 1758 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1759                                                                            
 1760                                                                            
 1761    There is one exception to the requirement from RFC 4035 quoted in       
 1762    Section 4.1.4 above: While all zone data must be signed with an         
 1763    unrevoked key, it is permissible to sign the key set with a revoked     
 1764    key.  The somewhat esoteric argument is as follows:                     
 1765                                                                            
 1766    Resolvers that do not understand the RFC 5011 REVOKE flag will handle   
 1767    DNSKEY_K_1_REVOKED the same as if it were DNSKEY_K_1.  In other         
 1768    words, they will handle the revoked key as a normal key, and thus       
 1769    RRsets signed with this key will validate.  As a result, the            
 1770    signature matches the algorithm listed in the DNSKEY RRset.             
 1771                                                                            
 1772    Resolvers that do implement RFC 5011 will remove DNSKEY_K_1 from the    
 1773    set of trust anchors.  That is okay, since they have already added      
 1774    DNSKEY_K_2 as the new trust anchor.  Thus, algorithm 2 is the only      
 1775    signaled algorithm by now.  That is, we only need RRSIG_K_2(DNSKEY)     
 1776    to authenticate the DNSKEY RRset, and we are still compliant with       
 1777    Section 2.2 of RFC 4035: There must be an RRSIG for each RRset using    
 1778    at least one DNSKEY of each algorithm in the zone apex DNSKEY RRset.    
 1779                                                                            
 1780 4.1.4.3.  Single Signing Type Algorithm Rollover, RFC 5011 Style           
 1781                                                                            
 1782    If a decision is made to perform an RFC 5011 style rollover with a      
 1783    Single Signing Scheme key, it should be noted that Section 2.1 of       
 1784    RFC 5011 states:                                                        
 1785                                                                            
 1786       Once the resolver sees the REVOKE bit, it MUST NOT use this key      
 1787       as a trust anchor or for any other purpose except to validate        
 1788       the RRSIG it signed over the DNSKEY RRset specifically for the       
 1789       purpose of validating the revocation.                                
 1790                                                                            
 1791    This means that once DNSKEY_S_1 is revoked, it cannot be used to        
 1792    validate its signatures over non-DNSKEY RRsets.  Thus, those RRsets     
 1793    should be signed with a shadow key, DNSKEY_Z_10, during the algorithm   
 1794    rollover.  The shadow key can be removed at the same time the revoked   
 1795    DNSKEY_S_1 is removed from the zone.  In other words, the zone must     
 1796    temporarily fall back to a KSK/ZSK split model during the rollover.     
 1797                                                                            
 1798    In other words, the rule that at every RRset there must be at least     
 1799    one signature for each algorithm used in the DNSKEY RRset still         
 1800    applies.  This means that a different key with the same algorithm,      
 1801    other than the revoked key, must sign the entire zone.  Thus, more      
 1802    operations are needed if the Single-Type Signing Scheme is used.        
 1803    Before rolling the algorithm, a new key must be introduced with the     
 1804    same algorithm as the key that is a candidate for revocation.  That     
 1805    key can than temporarily act as a ZSK during the algorithm rollover.    
 1806                                                                            
 1807                                                                            
 1808                                                                            
 1809                                                                            
 1810                                                                            
 1811                                                                            
 1812 Kolkman, et al.               Informational                    [Page 33]   

 1813 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1814                                                                            
 1815                                                                            
 1816    As with algorithm rollover RFC 5011 style, while all zone data must     
 1817    be signed with an unrevoked key, it is permissible to sign the key      
 1818    set with a revoked key using the same esoteric argument given in        
 1819    Section 4.1.4.2.                                                        
 1820                                                                            
 1821    The lesson of all of this is that a Single-Type Signing Scheme          
 1822    algorithm rollover using RFC 5011 is as complicated as the name of      
 1823    the rollover implies: Reverting to a split-key scheme for the           
 1824    duration of the rollover may be preferable.                             
 1825                                                                            
 1826 4.1.4.4.  NSEC-to-NSEC3 Algorithm Rollover                                 
 1827                                                                            
 1828    A special case is the rollover from an NSEC signed zone to an NSEC3     
 1829    signed zone.  In this case, algorithm numbers are used to signal        
 1830    support for NSEC3 but they do not mandate the use of NSEC3.             
 1831    Therefore, NSEC records should remain in the zone until the rollover    
 1832    to a new algorithm has completed and the new DNSKEY RRset has           
 1833    populated distant caches, at the end of the "new DNSKEY" stage.  At     
 1834    that point, the validators that have not implemented NSEC3 will treat   
 1835    the zone as unsecured as soon as they follow the chain of trust to      
 1836    the DS that points to a DNSKEY of the new algorithm, while validators   
 1837    that support NSEC3 will happily validate using NSEC.  Turning on        
 1838    NSEC3 can then be done during the "new DS" step: increasing the         
 1839    serial number, introducing the NSEC3PARAM record to signal that         
 1840    NSEC3-authenticated data related to denial of existence should be       
 1841    served, and re-signing the zone.                                        
 1842                                                                            
 1843    In summary, an NSEC-to-NSEC3 rollover is an ordinary algorithm          
 1844    rollover whereby NSEC is used all the time and only after that          
 1845    rollover finished NSEC3 needs to be deployed.  The procedures are       
 1846    also listed in Sections 10.4 and 10.5 of RFC 5155 [RFC5155].            
 1847                                                                            
 1848 4.1.5.  Considerations for Automated Key Rollovers                         
 1849                                                                            
 1850    As keys must be renewed periodically, there is some motivation to       
 1851    automate the rollover process.  Consider the following:                 
 1852                                                                            
 1853    o  ZSK rollovers are easy to automate, as only the child zone is        
 1854       involved.                                                            
 1855                                                                            
 1856    o  A KSK rollover needs interaction between the parent and child.       
 1857       Data exchange is needed to provide the new keys to the parent;       
 1858       consequently, this data must be authenticated, and integrity must    
 1859       be guaranteed in order to avoid attacks on the rollover.             
 1860                                                                            
 1861                                                                            
 1862                                                                            
 1863                                                                            
 1864                                                                            
 1865                                                                            
 1866                                                                            
 1867 Kolkman, et al.               Informational                    [Page 34]   

 1868 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1869                                                                            
 1870                                                                            
 1871 4.2.  Planning for Emergency Key Rollover                                  
 1872                                                                            
 1873    This section deals with preparation for a possible key compromise.      
 1874    It is advisable to have a documented procedure ready for those times    
 1875    when a key compromise is suspected or confirmed.                        
 1876                                                                            
 1877    When the private material of one of a zone's keys is compromised, it    
 1878    can be used by an attacker for as long as a valid trust chain exists.   
 1879    A trust chain remains intact for                                        
 1880                                                                            
 1881    o  as long as a signature over the compromised key in the trust chain   
 1882       is valid, and                                                        
 1883                                                                            
 1884    o  as long as the DS RR in the parent zone points to the                
 1885       (compromised) key signing the DNSKEY RRset, and                      
 1886                                                                            
 1887    o  as long as the (compromised) key is anchored in a resolver and is    
 1888       used as a starting point for validation (this is generally the       
 1889       hardest to update).                                                  
 1890                                                                            
 1891    While a trust chain to a zone's compromised key exists, your            
 1892    namespace is vulnerable to abuse by anyone who has obtained             
 1893    illegitimate possession of the key.  Zone administrators have to make   
 1894    a decision as to whether the abuse of the compromised key is worse      
 1895    than having data in caches that cannot be validated.  If the zone       
 1896    administrator chooses to break the trust chain to the compromised       
 1897    key, data in caches signed with this key cannot be validated.           
 1898    However, if the zone administrator chooses to take the path of a        
 1899    regular rollover, during the rollover the malicious key holder can      
 1900    continue to spoof data so that it appears to be valid.                  
 1901                                                                            
 1902 4.2.1.  KSK Compromise                                                     
 1903                                                                            
 1904    A compromised KSK can be used to sign the key set of an attacker's      
 1905    version of the zone.  That zone could be used to poison the DNS.        
 1906                                                                            
 1907    A zone containing a DNSKEY RRset with a compromised KSK is vulnerable   
 1908    as long as the compromised KSK is configured as the trust anchor or a   
 1909    DS record in the parent zone points to it.                              
 1910                                                                            
 1911    Therefore, when the KSK has been compromised, the trust anchor or the   
 1912    parent DS record should be replaced as soon as possible.  It is local   
 1913    policy whether to break the trust chain during the emergency            
 1914    rollover.  The trust chain would be broken when the compromised KSK     
 1915    is removed from the child's zone while the parent still has a DS        
 1916    record pointing to the compromised KSK.  The assumption is that there   
 1917                                                                            
 1918                                                                            
 1919                                                                            
 1920                                                                            
 1921                                                                            
 1922 Kolkman, et al.               Informational                    [Page 35]   

 1923 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1924                                                                            
 1925                                                                            
 1926    is only one DS record at the parent.  If there are multiple DS          
 1927    records, this does not apply, although the chain of trust of this       
 1928    particular key is broken.                                               
 1929                                                                            
 1930    Note that an attacker's version of the zone still uses the              
 1931    compromised KSK, and the presence of the corresponding DS record in     
 1932    the parent would cause the data in this zone to appear as valid.        
 1933    Removing the compromised key would cause the attacker's version of      
 1934    the zone to appear as valid and the original zone as Bogus.             
 1935    Therefore, we advise administrators not to remove the KSK before the    
 1936    parent has a DS record for the new KSK in place.                        
 1937                                                                            
 1938 4.2.1.1.  Emergency Key Rollover Keeping the Chain of Trust Intact         
 1939                                                                            
 1940    If it is desired to perform an emergency key rollover in a manner       
 1941    that keeps the chain of trust intact, the timing of the replacement     
 1942    of the KSK is somewhat critical.  The goal is to remove the             
 1943    compromised KSK as soon as the new DS RR is available at the parent.    
 1944    This means ensuring that the signature made with a new KSK over the     
 1945    key set that contains the compromised KSK expires just after the new    
 1946    DS appears at the parent.  Expiration of that signature will cause      
 1947    expiration of that key set from the caches.                             
 1948                                                                            
 1949    The procedure is as follows:                                            
 1950                                                                            
 1951    1.  Introduce a new KSK into the key set; keep the compromised KSK in   
 1952        the key set.  Lower the TTL for DNSKEYs so that the DNSKEY RRset    
 1953        will expire from caches sooner.                                     
 1954                                                                            
 1955    2.  Sign the key set, with a short validity period.  The validity       
 1956        period should expire shortly after the DS is expected to appear     
 1957        in the parent and the old DSs have expired from caches.  This       
 1958        provides an upper limit on how long the compromised KSK can be      
 1959        used in a replay attack.                                            
 1960                                                                            
 1961    3.  Upload the DS for this new key to the parent.                       
 1962                                                                            
 1963    4.  Follow the procedure of the regular KSK rollover: Wait for the DS   
 1964        to appear at the authoritative servers, and then wait as long as    
 1965        the TTL of the old DS RRs.  If necessary, re-sign the DNSKEY        
 1966        RRset and modify/extend the expiration time.                        
 1967                                                                            
 1968    5.  Remove the compromised DNSKEY RR from the zone, and re-sign the     
 1969        key set using your "normal" TTL and signature validity period.      
 1970                                                                            
 1971                                                                            
 1972                                                                            
 1973                                                                            
 1974                                                                            
 1975                                                                            
 1976                                                                            
 1977 Kolkman, et al.               Informational                    [Page 36]   

 1978 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 1979                                                                            
 1980                                                                            
 1981    An additional danger of a key compromise is that the compromised key    
 1982    could be used to facilitate a legitimate-looking DNSKEY/DS rollover     
 1983    and/or name server changes at the parent.  When that happens, the       
 1984    domain may be in dispute.  An authenticated out-of-band and secure      
 1985    notify mechanism to contact a parent is needed in this case.            
 1986                                                                            
 1987    Note that this is only a problem when the DNSKEY and/or DS records      
 1988    are used to authenticate communication with the parent.                 
 1989                                                                            
 1990 4.2.1.2.  Emergency Key Rollover Breaking the Chain of Trust               
 1991                                                                            
 1992    There are two methods to perform an emergency key rollover in a         
 1993    manner that breaks the chain of trust.  The first method causes the     
 1994    child zone to appear Bogus to validating resolvers.  The other causes   
 1995    the child zone to appear Insecure.  These are described below.          
 1996                                                                            
 1997    In the method that causes the child zone to appear Bogus to             
 1998    validating resolvers, the child zone replaces the current KSK with a    
 1999    new one and re-signs the key set.  Next, it sends the DS of the new     
 2000    key to the parent.  Only after the parent has placed the new DS in      
 2001    the zone is the child's chain of trust repaired.  Note that until       
 2002    that time, the child zone is still vulnerable to spoofing: The          
 2003    attacker is still in possession of the compromised key that the DS      
 2004    points to.                                                              
 2005                                                                            
 2006    An alternative method of breaking the chain of trust is by removing     
 2007    the DS RRs from the parent zone altogether.  As a result, the child     
 2008    zone would become Insecure.  After the DS has expired from distant      
 2009    caches, the keys and signatures are removed from the child zone, new    
 2010    keys and signatures are introduced, and finally, a new DS is            
 2011    submitted to the parent.                                                
 2012                                                                            
 2013 4.2.2.  ZSK Compromise                                                     
 2014                                                                            
 2015    Primarily because there is no interaction with the parent required      
 2016    when a ZSK is compromised, the situation is less severe than with a     
 2017    KSK compromise.  The zone must still be re-signed with a new ZSK as     
 2018    soon as possible.  As this is a local operation and requires no         
 2019    communication between the parent and child, this can be achieved        
 2020    fairly quickly.  However, one has to take into account that -- just     
 2021    as with a normal rollover -- the immediate disappearance of the old     
 2022    compromised key may lead to verification problems.  Also note that      
 2023    until the RRSIG over the compromised ZSK has expired, the zone may      
 2024    still be at risk.                                                       
 2025                                                                            
 2026                                                                            
 2027                                                                            
 2028                                                                            
 2029                                                                            
 2030                                                                            
 2031                                                                            
 2032 Kolkman, et al.               Informational                    [Page 37]   

 2033 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2034                                                                            
 2035                                                                            
 2036 4.2.3.  Compromises of Keys Anchored in Resolvers                          
 2037                                                                            
 2038    A key can also be pre-configured in resolvers as a trust anchor.  If    
 2039    trust anchor keys are compromised, the administrators of resolvers      
 2040    using these keys should be notified of this fact.  Zone                 
 2041    administrators may consider setting up a mailing list to communicate    
 2042    the fact that a SEP key is about to be rolled over.  This               
 2043    communication will of course need to be authenticated by some means,    
 2044    e.g., by using digital signatures.                                      
 2045                                                                            
 2046    End-users faced with the task of updating an anchored key should        
 2047    always verify the new key.  New keys should be authenticated out-of-    
 2048    band, for example, through the use of an announcement website that is   
 2049    secured using Transport Layer Security (TLS) [RFC5246].                 
 2050                                                                            
 2051 4.2.4.  Stand-By Keys                                                      
 2052                                                                            
 2053    Stand-by keys are keys that are published in your zone but are not      
 2054    used to sign RRsets.  There are two reasons why someone would want to   
 2055    use stand-by keys.  One is to speed up the emergency key rollover.      
 2056    The other is to recover from a disaster that leaves your production     
 2057    private keys inaccessible.                                              
 2058                                                                            
 2059    The way to deal with stand-by keys differs for ZSKs and KSKs.  To       
 2060    make a stand-by ZSK, you need to publish its DNSKEY RR.  To make a      
 2061    stand-by KSK, you need to get its DS RR published at the parent.        
 2062                                                                            
 2063    Assuming you have your normal DNS operation, to prepare stand-by keys   
 2064    you need to:                                                            
 2065                                                                            
 2066    o  Generate a stand-by ZSK and KSK.  Store them safely in a location    
 2067       different than the place where the currently used ZSK and KSK are    
 2068       held.                                                                
 2069                                                                            
 2070    o  Pre-publish the DNSKEY RR of the stand-by ZSK in the zone.           
 2071                                                                            
 2072    o  Pre-publish the DS of the stand-by KSK in the parent zone.           
 2073                                                                            
 2074    Now suppose a disaster occurs and disables access to the currently      
 2075    used keys.  To recover from that situation, follow these procedures:    
 2076                                                                            
 2077    o  Set up your DNS operations and introduce the stand-by KSK into the   
 2078       zone.                                                                
 2079                                                                            
 2080    o  Post-publish the disabled ZSK and sign the zone with the stand-by    
 2081       keys.                                                                
 2082                                                                            
 2083                                                                            
 2084                                                                            
 2085                                                                            
 2086                                                                            
 2087 Kolkman, et al.               Informational                    [Page 38]   

 2088 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2089                                                                            
 2090                                                                            
 2091    o  After some time, when the new signatures have been propagated, the   
 2092       old keys, old signatures, and the old DS can be removed.             
 2093                                                                            
 2094    o  Generate a new stand-by key set at a different location and          
 2095       continue "normal" operation.                                         
 2096                                                                            
 2097 4.3.  Parent Policies                                                      
 2098                                                                            
 2099 4.3.1.  Initial Key Exchanges and Parental Policies Considerations         
 2100                                                                            
 2101    The initial key exchange is always subject to the policies set by the   
 2102    parent.  It is specifically important in a registry-registrar-          
 2103    registrant model where a registry maintains the parent zone, and the    
 2104    registrant (the user of the child-domain name) deals with the           
 2105    registry through an intermediary called a registrar (see [RFC3375]      
 2106    for a comprehensive definition).  The key material is to be passed      
 2107    from the DNS operator to the parent via a registrar, where both the     
 2108    DNS operator and registrar are selected by the registrant and might     
 2109    be different organizations.  When designing a key exchange policy,      
 2110    one should take into account that the authentication and                
 2111    authorization mechanisms used during a key exchange should be as        
 2112    strong as the authentication and authorization mechanisms used for      
 2113    the exchange of delegation information between the parent and child.    
 2114    That is, there is no implicit need in DNSSEC to make the                
 2115    authentication process stronger than it is for regular DNS.             
 2116                                                                            
 2117    Using the DNS itself as the source for the actual DNSKEY material has   
 2118    the benefit that it reduces the chances of user error.  A DNSKEY        
 2119    query tool can make use of the SEP bit [RFC4035] to select the proper   
 2120    key(s) from a DNSSEC key set, thereby reducing the chance that the      
 2121    wrong DNSKEY is sent.  It can validate the self-signature over a key,   
 2122    thereby verifying the ownership of the private key material.            
 2123    Fetching the DNSKEY from the DNS ensures that the chain of trust        
 2124    remains intact once the parent publishes the DS RR indicating that      
 2125    the child is secure.                                                    
 2126                                                                            
 2127    Note: Out-of-band verification is still needed when the key material    
 2128    is fetched for the first time, even via DNS.  The parent can never be   
 2129    sure whether or not the DNSKEY RRs have been spoofed.                   
 2130                                                                            
 2131    With some types of key rollovers, the DNSKEY is not pre-published,      
 2132    and a DNSKEY query tool is not able to retrieve the successor key.      
 2133    In this case, the out-of-band method is required.  This also allows     
 2134    the child to determine the digest algorithm of the DS record.           
 2135                                                                            
 2136                                                                            
 2137                                                                            
 2138                                                                            
 2139                                                                            
 2140                                                                            
 2141                                                                            
 2142 Kolkman, et al.               Informational                    [Page 39]   

 2143 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2144                                                                            
 2145                                                                            
 2146 4.3.2.  Storing Keys or Hashes?                                            
 2147                                                                            
 2148    When designing a registry system, one should consider whether to        
 2149    store the DNSKEYs and/or the corresponding DSs.  Since a child zone     
 2150    might wish to have a DS published using a message digest algorithm      
 2151    not yet understood by the registry, the registry can't count on being   
 2152    able to generate the DS record from a raw DNSKEY.  Thus, we suggest     
 2153    that registry systems should be able to store DS RRs, even if they      
 2154    also store DNSKEYs (see also "DNSSEC Trust Anchor Configuration and     
 2155    Maintenance" [DNSSEC-TRUST-ANCHOR]).                                    
 2156                                                                            
 2157    The storage considerations also relate to the design of the customer    
 2158    interface and the method by which data is transferred between the       
 2159    registrant and registry: Will the child-zone administrator be able to   
 2160    upload DS RRs with unknown hash algorithms, or does the interface       
 2161    only allow DNSKEYs?  When registries support the Extensible             
 2162    Provisioning Protocol (EPP) [RFC5910], that can be used for             
 2163    registrar-registry interactions, since that protocol allows the         
 2164    transfer of both DS and, optionally, DNSKEY RRs.  There is no           
 2165    standardized way to move the data between the customer and the          
 2166    registrar.  Different registrars have different mechanisms, ranging     
 2167    from simple web interfaces to various APIs.  In some cases, the use     
 2168    of the DNSSEC extensions to EPP may be applicable.                      
 2169                                                                            
 2170    Having an out-of-band mechanism such as a registry directory (e.g.,     
 2171    Whois) to find out which keys are used to generate DS Resource          
 2172    Records for specific owners and/or zones may also help with             
 2173    troubleshooting.                                                        
 2174                                                                            
 2175 4.3.3.  Security Lameness                                                  
 2176                                                                            
 2177    Security lameness is defined as the state whereby the parent has a DS   
 2178    RR pointing to a nonexistent DNSKEY RR.  Security lameness may occur    
 2179    temporarily during a Double-DS rollover scheme.  However, care should   
 2180    be taken that not all DS RRs are pointing to a nonexistent DNSKEY RR,   
 2181    which will cause the child's zone to be marked Bogus by verifying DNS   
 2182    clients.                                                                
 2183                                                                            
 2184    As part of a comprehensive delegation check, the parent could, at key   
 2185    exchange time, verify that the child's key is actually configured in    
 2186    the DNS.  However, if a parent does not understand the hashing          
 2187    algorithm used by the child, the parental checks are limited to only    
 2188    comparing the key id.                                                   
 2189                                                                            
 2190                                                                            
 2191                                                                            
 2192                                                                            
 2193                                                                            
 2194                                                                            
 2195                                                                            
 2196                                                                            
 2197 Kolkman, et al.               Informational                    [Page 40]   

 2198 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2199                                                                            
 2200                                                                            
 2201    Child zones should be very careful in removing DNSKEY material --       
 2202    specifically, SEP keys -- for which a DS RR exists.                     
 2203                                                                            
 2204    Once a zone is "security lame", a fix (e.g., removing a DS RR) will     
 2205    take time to propagate through the DNS.                                 
 2206                                                                            
 2207 4.3.4.  DS Signature Validity Period                                       
 2208                                                                            
 2209    Since the DS can be replayed as long as it has a valid signature, a     
 2210    short signature validity period for the DS RRSIG minimizes the time     
 2211    that a child is vulnerable in the case of a compromise of the child's   
 2212    KSK(s).  A signature validity period that is too short introduces the   
 2213    possibility that a zone is marked Bogus in the case of a                
 2214    configuration error in the signer.  There may not be enough time to     
 2215    fix the problems before signatures expire (this is a generic            
 2216    argument; also see Section 4.4.2).  Something as mundane as zone        
 2217    administrator unavailability during weekends shows the need for DS      
 2218    signature validity periods longer than two days.  Just like any         
 2219    signature validity period, we suggest an absolute minimum for the DS    
 2220    signature validity period of a few days.                                
 2221                                                                            
 2222    The maximum signature validity period of the DS record depends on how   
 2223    long child zones are willing to be vulnerable after a key compromise.   
 2224    On the other hand, shortening the DS signature validity period          
 2225    increases the operational risk for the parent.  Therefore, the parent   
 2226    may have a policy to use a signature validity period that is            
 2227    considerably longer than the child would hope for.                      
 2228                                                                            
 2229    A compromise between the policy/operational constraints of the parent   
 2230    and minimizing damage for the child may result in a DS signature        
 2231    validity period somewhere between a week and several months.            
 2232                                                                            
 2233    In addition to the signature validity period, which sets a lower        
 2234    bound on the number of times the zone administrator will need to sign   
 2235    the zone data and an upper bound on the time that a child is            
 2236    vulnerable after key compromise, there is the TTL value on the DS       
 2237    RRs.  Shortening the TTL reduces the damage of a successful replay      
 2238    attack.  It does mean that the authoritative servers will see more      
 2239    queries.  But on the other hand, a short TTL lowers the persistence     
 2240    of DS RRsets in caches, thereby increasing the speed with which         
 2241    updated DS RRsets propagate through the DNS.                            
 2242                                                                            
 2243                                                                            
 2244                                                                            
 2245                                                                            
 2246                                                                            
 2247                                                                            
 2248                                                                            
 2249                                                                            
 2250                                                                            
 2251                                                                            
 2252 Kolkman, et al.               Informational                    [Page 41]   

 2253 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2254                                                                            
 2255                                                                            
 2256 4.3.5.  Changing DNS Operators                                             
 2257                                                                            
 2258    The parent-child relationship is often described in terms of a          
 2259    registry-registrar-registrant model, where a registry maintains the     
 2260    parent zone and the registrant (the user of the child-domain name)      
 2261    deals with the registry through an intermediary called a registrar      
 2262    [RFC3375].  Registrants may outsource the maintenance of their DNS      
 2263    system, including the maintenance of DNSSEC key material, to the        
 2264    registrar or to another third party, referred to here as the DNS        
 2265    operator.                                                               
 2266                                                                            
 2267    For various reasons, a registrant may want to move between DNS          
 2268    operators.  How easy this move will be depends principally on the DNS   
 2269    operator from which the registrant is moving (the losing operator),     
 2270    as the losing operator has control over the DNS zone and its keys.      
 2271    The following sections describe the two cases: where the losing         
 2272    operator cooperates with the new operator (the gaining operator), and   
 2273    where the two do not cooperate.                                         
 2274                                                                            
 2275 4.3.5.1.  Cooperating DNS Operators                                        
 2276                                                                            
 2277    In this scenario, it is assumed that the losing operator will not       
 2278    pass any private key material to the gaining operator (that would       
 2279    constitute a trivial case) but is otherwise fully cooperative.          
 2280                                                                            
 2281    In this environment, the change could be made with a Pre-Publish ZSK    
 2282    rollover, whereby the losing operator pre-publishes the ZSK of the      
 2283    gaining operator, combined with a Double-Signature KSK rollover where   
 2284    the two registrars exchange public keys and independently generate a    
 2285    signature over those key sets that they combine and both publish in     
 2286    their copy of the zone.  Once that is done, they can use their own      
 2287    private keys to sign any of their zone content during the transfer.     
 2288                                                                            
 2289                                                                            
 2290                                                                            
 2291                                                                            
 2292                                                                            
 2293                                                                            
 2294                                                                            
 2295                                                                            
 2296                                                                            
 2297                                                                            
 2298                                                                            
 2299                                                                            
 2300                                                                            
 2301                                                                            
 2302                                                                            
 2303                                                                            
 2304                                                                            
 2305                                                                            
 2306                                                                            
 2307 Kolkman, et al.               Informational                    [Page 42]   

 2308 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2309                                                                            
 2310                                                                            
 2311     ------------------------------------------------------------           
 2312     initial            |        pre-publish                    |           
 2313     ------------------------------------------------------------           
 2314     Parent:                                                                
 2315      NS_A                            NS_A                                  
 2316      DS_A                            DS_A                                  
 2317     ------------------------------------------------------------           
 2318     Child at A:            Child at A:        Child at B:                  
 2319      SOA_A0                 SOA_A1             SOA_B0                      
 2320      RRSIG_Z_A(SOA)         RRSIG_Z_A(SOA)     RRSIG_Z_B(SOA)              
 2321                                                                            
 2322      NS_A                   NS_A               NS_B                        
 2323      RRSIG_Z_A(NS)          NS_B               RRSIG_Z_B(NS)               
 2324                             RRSIG_Z_A(NS)                                  
 2325                                                                            
 2326      DNSKEY_Z_A             DNSKEY_Z_A         DNSKEY_Z_A                  
 2327                             DNSKEY_Z_B         DNSKEY_Z_B                  
 2328      DNSKEY_K_A             DNSKEY_K_A         DNSKEY_K_A                  
 2329                             DNSKEY_K_B         DNSKEY_K_B                  
 2330      RRSIG_K_A(DNSKEY)      RRSIG_K_A(DNSKEY)  RRSIG_K_A(DNSKEY)           
 2331                             RRSIG_K_B(DNSKEY)  RRSIG_K_B(DNSKEY)           
 2332     ------------------------------------------------------------           
 2333                                                                            
 2334     ------------------------------------------------------------           
 2335           re-delegation                |   post-migration      |           
 2336     ------------------------------------------------------------           
 2337     Parent:                                                                
 2338               NS_B                           NS_B                          
 2339               DS_B                           DS_B                          
 2340     ------------------------------------------------------------           
 2341     Child at A:        Child at B:           Child at B:                   
 2342                                                                            
 2343      SOA_A1             SOA_B0                SOA_B1                       
 2344      RRSIG_Z_A(SOA)     RRSIG_Z_B(SOA)        RRSIG_Z_B(SOA)               
 2345                                                                            
 2346      NS_A               NS_B                  NS_B                         
 2347      NS_B               RRSIG_Z_B(NS)         RRSIG_Z_B(NS)                
 2348      RRSIG_Z_A(NS)                                                         
 2349                                                                            
 2350      DNSKEY_Z_A         DNSKEY_Z_A                                         
 2351      DNSKEY_Z_B         DNSKEY_Z_B            DNSKEY_Z_B                   
 2352      DNSKEY_K_A         DNSKEY_K_A                                         
 2353      DNSKEY_K_B         DNSKEY_K_B            DNSKEY_K_B                   
 2354      RRSIG_K_A(DNSKEY)  RRSIG_K_A(DNSKEY)                                  
 2355      RRSIG_K_B(DNSKEY)  RRSIG_K_B(DNSKEY)     RRSIG_K_B(DNSKEY)            
 2356     ------------------------------------------------------------           
 2357                                                                            
 2358                Figure 10: Rollover for Cooperating Operators               
 2359                                                                            
 2360                                                                            
 2361                                                                            
 2362 Kolkman, et al.               Informational                    [Page 43]   

 2363 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2364                                                                            
 2365                                                                            
 2366    In this figure, A denotes the losing operator and B the gaining         
 2367    operator.  RRSIG_Z is the RRSIG produced by a ZSK, RRSIG_K is           
 2368    produced with a KSK, and the appended A or B indicates the producers    
 2369    of the key pair.  "Child at A" is how the zone content is represented   
 2370    by the losing DNS operator, and "Child at B" is how the zone content    
 2371    is represented by the gaining DNS operator.                             
 2372                                                                            
 2373    The zone is initially delegated from the parent to the name servers     
 2374    of operator A.  Operator A uses his own ZSK and KSK to sign the zone.   
 2375    The cooperating operator A will pre-publish the new NS record and the   
 2376    ZSK and KSK of operator B, including the RRSIG over the DNSKEY RRset    
 2377    generated by the KSK of operator B.  Operator B needs to publish the    
 2378    same DNSKEY RRset.  When that DNSKEY RRset has populated the caches,    
 2379    the re-delegation can be made, which involves adjusting the NS and DS   
 2380    records in the parent zone to point to operator B.  And after all       
 2381    DNSSEC records related to operator A have expired from the caches,      
 2382    operator B can stop publishing the keys and signatures belonging to     
 2383    operator A, and vice versa.                                             
 2384                                                                            
 2385    The requirement to exchange signatures has a couple of drawbacks.  It   
 2386    requires more operational overhead, because not only do the operators   
 2387    have to exchange public keys but they also have to exchange the         
 2388    signatures of the new DNSKEY RRset.  This drawback does not exist if    
 2389    the Double-Signature KSK rollover is replaced with a Double-DS KSK      
 2390    rollover.  See Figure 15 in Appendix D for the diagram.                 
 2391                                                                            
 2392    Thus, if the registry and registrars allow DS records to be published   
 2393    that do not point to a published DNSKEY in the child zone, the          
 2394    Double-DS KSK rollover is preferred (see Figure 5), in combination      
 2395    with the Pre-Publish ZSK rollover.  This does not require sharing the   
 2396    KSK signatures between the operators, but both operators still have     
 2397    to publish each other's ZSKs.                                           
 2398                                                                            
 2399 4.3.5.2.  Non-Cooperating DNS Operators                                    
 2400                                                                            
 2401    In the non-cooperating case, matters are more complicated.  The         
 2402    losing operator may not cooperate and leave the data in the DNS as      
 2403    is.  In extreme cases, the losing operator may become obstructive and   
 2404    publish a DNSKEY RR with a high TTL and corresponding signature         
 2405    validity period so that registrar A's DNSKEY could end up in caches     
 2406    for (in theory at least) decades.                                       
 2407                                                                            
 2408    The problem arises when a validator tries to validate with the losing   
 2409    operator's key and there is no signature material produced with the     
 2410    losing operator available in the delegation path after re-delegation    
 2411    from the losing operator to the gaining operator has taken place.       
 2412    One could imagine a rollover scenario where the gaining operator        
 2413    takes a copy of all RRSIGs created by the losing operator and           
 2414                                                                            
 2415                                                                            
 2416                                                                            
 2417 Kolkman, et al.               Informational                    [Page 44]   

 2418 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2419                                                                            
 2420                                                                            
 2421    publishes those in conjunction with its own signatures, but that        
 2422    would not allow any changes in the zone content.  Since a               
 2423    re-delegation took place, the NS RRset has by definition changed, so    
 2424    such a rollover scenario will not work.  Besides, if zone transfers     
 2425    are not allowed by the losing operator and NSEC3 is deployed in the     
 2426    losing operator's zone, then the gaining operator's zone will not       
 2427    have certainty that all of the losing operator's RRSIGs have been       
 2428    copied.                                                                 
 2429                                                                            
 2430    The only viable operation for the registrant is to have his zone go     
 2431    Insecure for the duration of the change.  The registry should be        
 2432    asked to remove the DS RR pointing to the losing operator's DNSKEY      
 2433    and to change the NS RRset to point to the gaining operator.  Once      
 2434    this has propagated through the DNS, the registry should be asked to    
 2435    insert the DS record pointing to the (newly signed) zone at             
 2436    operator B.                                                             
 2437                                                                            
 2438    Note that some behaviors of resolver implementations may aid in the     
 2439    process of changing DNS operators:                                      
 2440                                                                            
 2441    o  TTL sanity checking, as described in RFC 2308 [RFC2308], will        
 2442       limit the impact of the actions of an obstructive losing operator.   
 2443       Resolvers that implement TTL sanity checking will use an upper       
 2444       limit for TTLs on RRsets in responses.                               
 2445                                                                            
 2446    o  If RRsets at the zone cut (are about to) expire, the resolver        
 2447       restarts its search above the zone cut.  Otherwise, the resolver     
 2448       risks continuing to use a name server that might be un-delegated     
 2449       by the parent.                                                       
 2450                                                                            
 2451    o  Limiting the time that DNSKEYs that seem to be unable to validate    
 2452       signatures are cached and/or trying to recover from cases where      
 2453       DNSKEYs do not seem to be able to validate data also reduce the      
 2454       effects of the problem of non-cooperating registrars.                
 2455                                                                            
 2456    However, there is no operational methodology to work around this        
 2457    business issue, and proper contractual relationships between all        
 2458    involved parties seem to be the only solution to cope with these        
 2459    problems.  It should be noted that in many cases, the problem with      
 2460    temporary broken delegations already exists when a zone changes from    
 2461    one DNS operator to another.  Besides, it is often the case that when   
 2462    operators are changed, the services that are referenced by that zone    
 2463    also change operators, possibly involving some downtime.                
 2464                                                                            
 2465    In any case, to minimize such problems, the classic configuration is    
 2466    to have relatively short TTLs on all involved Resource Records.  That   
 2467    will solve many of the problems regarding changes to a zone,            
 2468    regardless of whether DNSSEC is used.                                   
 2469                                                                            
 2470                                                                            
 2471                                                                            
 2472 Kolkman, et al.               Informational                    [Page 45]   

 2473 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2474                                                                            
 2475                                                                            
 2476 4.4.  Time in DNSSEC                                                       
 2477                                                                            
 2478    Without DNSSEC, all times in the DNS are relative.  The SOA fields      
 2479    REFRESH, RETRY, and EXPIRATION are timers used to determine the time    
 2480    that has elapsed after a slave server synchronized with a master        
 2481    server.  The TTL value and the SOA RR minimum TTL parameter [RFC2308]   
 2482    are used to determine how long a forwarder should cache data (or        
 2483    negative responses) after it has been fetched from an authoritative     
 2484    server.  By using a signature validity period, DNSSEC introduces the    
 2485    notion of an absolute time in the DNS.  Signatures in DNSSEC have an    
 2486    expiration date after which the signature is marked as invalid and      
 2487    the signed data is to be considered Bogus.                              
 2488                                                                            
 2489    The considerations in this section are all qualitative and focused on   
 2490    the operational and managerial issues.  A more thorough quantitative    
 2491    analysis of rollover timing parameters can be found in "DNSSEC Key      
 2492    Timing Considerations" [DNSSEC-KEY-TIMING].                             
 2493                                                                            
 2494 4.4.1.  Time Considerations                                                
 2495                                                                            
 2496    Because of the expiration of signatures, one should consider the        
 2497    following:                                                              
 2498                                                                            
 2499    o  We suggest that the Maximum Zone TTL value of your zone data be      
 2500       smaller than your signature validity period.                         
 2501                                                                            
 2502          If the TTL duration was similar to that of the signature          
 2503          validity period, then all RRsets fetched during the validity      
 2504          period would be cached until the signature expiration time.       
 2505          Section 8.1 of RFC 4033 [RFC4033] suggests that "the resolver     
 2506          may use the time remaining before expiration of the signature     
 2507          validity period of a signed RRset as an upper bound for the       
 2508          TTL".  As a result, the query load on authoritative servers       
 2509          would peak at the signature expiration time, as this is also      
 2510          the time at which records simultaneously expire from caches.      
 2511                                                                            
 2512          Having a TTL that is at least a few times smaller than your       
 2513          signature validity period avoids query load peaks.                
 2514                                                                            
 2515    o  We suggest that the signature publication period end at least one    
 2516       Maximum Zone TTL duration (but preferably a minimum of a few days)   
 2517       before the end of the signature validity period.                     
 2518                                                                            
 2519          Re-signing a zone shortly before the end of the signature         
 2520          validity period may cause the simultaneous expiration of data     
 2521          from caches.  This in turn may lead to peaks in the load on       
 2522          authoritative servers.  To avoid this, schemes are deployed       
 2523                                                                            
 2524                                                                            
 2525                                                                            
 2526                                                                            
 2527 Kolkman, et al.               Informational                    [Page 46]   

 2528 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2529                                                                            
 2530                                                                            
 2531          whereby the zone is periodically visited for a re-signing         
 2532          operation, and those signatures that are within a so-called       
 2533          Refresh Period from signature expiration are recreated.  Also     
 2534          see Section 4.4.2 below.                                          
 2535                                                                            
 2536          In the case of an operational error, you would have one Maximum   
 2537          Zone TTL duration to resolve the problem.  Re-signing a zone a    
 2538          few days before the end of the signature validity period          
 2539          ensures that the signatures will survive at least a (long)        
 2540          weekend in case of such operational havoc.  This is called the    
 2541          Refresh Period (see Section 4.4.2).                               
 2542                                                                            
 2543    o  We suggest that the Minimum Zone TTL be long enough to both fetch    
 2544       and verify all the RRs in the trust chain.  In workshop              
 2545       environments, it has been demonstrated [NIST-Workshop] that a low    
 2546       TTL (under 5 to 10 minutes) caused disruptions because of the        
 2547       following two problems:                                              
 2548                                                                            
 2549       1.  During validation, some data may expire before the validation    
 2550           is complete.  The validator should be able to keep all data      
 2551           until it is completed.  This applies to all RRs needed to        
 2552           complete the chain of trust: DS, DNSKEY, RRSIG, and the final    
 2553           answers, i.e., the RRset that is returned for the initial        
 2554           query.                                                           
 2555                                                                            
 2556       2.  Frequent verification causes load on recursive name servers.     
 2557           Data at delegation points, DS, DNSKEY, and RRSIG RRs benefits    
 2558           from caching.  The TTL on those should be relatively long.       
 2559           Data at the leaves in the DNS tree has less impact on            
 2560           recursive name servers.                                          
 2561                                                                            
 2562    o  Slave servers will need to be able to fetch newly signed zones       
 2563       well before the RRSIGs in the zone served by the slave server pass   
 2564       their signature expiration time.                                     
 2565                                                                            
 2566          When a slave server is out of synchronization with its master     
 2567          and data in a zone is signed by expired signatures, it may be     
 2568          better for the slave server not to give out any answer.           
 2569                                                                            
 2570          Normally, a slave server that is not able to contact a master     
 2571          server for an extended period will expire a zone.  When that      
 2572          happens, the server will respond differently to queries for       
 2573          that zone.  Some servers issue SERVFAIL, whereas others turn      
 2574          off the AA bit in the answers.  The time of expiration is set     
 2575          in the SOA record and is relative to the last successful          
 2576          refresh between the master and the slave servers.  There exists   
 2577          no coupling between the signature expiration of RRSIGs in the     
 2578          zone and the expire parameter in the SOA.                         
 2579                                                                            
 2580                                                                            
 2581                                                                            
 2582 Kolkman, et al.               Informational                    [Page 47]   

 2583 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2584                                                                            
 2585                                                                            
 2586          If the server serves a DNSSEC-secured zone, then it may happen    
 2587          that the signatures expire well before the SOA expiration timer   
 2588          counts down to zero.  It is not possible to completely prevent    
 2589          this by modifying the SOA parameters.                             
 2590                                                                            
 2591          However, the effects can be minimized where the SOA expiration    
 2592          time is equal to or shorter than the Refresh Period (see          
 2593          Section 4.4.2).                                                   
 2594                                                                            
 2595          The consequence of an authoritative server not being able to      
 2596          update a zone for an extended period of time is that signatures   
 2597          may expire.  In this case, non-secure resolvers will continue     
 2598          to be able to resolve data served by the particular slave         
 2599          servers, while security-aware resolvers will experience           
 2600          problems because of answers being marked as Bogus.                
 2601                                                                            
 2602          We suggest that the SOA expiration timer be approximately one     
 2603          third or a quarter of the signature validity period.  It will     
 2604          allow problems with transfers from the master server to be        
 2605          noticed before signatures time out.                               
 2606                                                                            
 2607          We also suggest that operators of name servers that supply        
 2608          secondary services develop systems to identify upcoming           
 2609          signature expirations in zones they slave and take appropriate    
 2610          action where such an event is detected.                           
 2611                                                                            
 2612          When determining the value for the expiration parameter, one      
 2613          has to take the following into account: What are the chances      
 2614          that all secondaries expire the zone?  How quickly can the        
 2615          administrators of the secondary servers be reached to load a      
 2616          valid zone?  These questions are not DNSSEC-specific but may      
 2617          influence the choice of your signature validity periods.          
 2618                                                                            
 2619 4.4.2.  Signature Validity Periods                                         
 2620                                                                            
 2621 4.4.2.1.  Maximum Value                                                    
 2622                                                                            
 2623    The first consideration for choosing a maximum signature validity       
 2624    period is the risk of a replay attack.  For low-value, long-term        
 2625    stable resources, the risks may be minimal, and the signature           
 2626    validity period may be several months.  Although signature validity     
 2627    periods of many years are allowed, the same "operational habit"         
 2628    arguments as those given in Section 3.2.2 play a role: When a zone is   
 2629    re-signed with some regularity, then zone administrators remain         
 2630    conscious of the operational necessity of re-signing.                   
 2631                                                                            
 2632                                                                            
 2633                                                                            
 2634                                                                            
 2635                                                                            
 2636                                                                            
 2637 Kolkman, et al.               Informational                    [Page 48]   

 2638 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2639                                                                            
 2640                                                                            
 2641 4.4.2.2.  Minimum Value                                                    
 2642                                                                            
 2643    The minimum value of the signature validity period is set for the       
 2644    time by which one would like to survive operational failure in          
 2645    provisioning: At what time will a failure be noticed, and at what       
 2646    time is action expected to be taken?  By answering these questions,     
 2647    availability of zone administrators during (long) weekends or time      
 2648    taken to access backup media can be taken into account.  The result     
 2649    could easily suggest a minimum signature validity period of a few       
 2650    days.                                                                   
 2651                                                                            
 2652    Note, however, that the argument above is assuming that zone data has   
 2653    just been signed and published when the problem occurred.  In           
 2654    practice, it may be that a zone is signed according to a frequency      
 2655    set by the Re-Sign Period, whereby the signer visits the zone content   
 2656    and only refreshes signatures that are within a given amount of time    
 2657    (the Refresh Period) of expiration.  The Re-Sign Period must be         
 2658    smaller than the Refresh Period in order for zone data to be signed     
 2659    in a timely fashion.                                                    
 2660                                                                            
 2661    If an operational problem occurs during re-signing, then the            
 2662    signatures in the zone to expire first are the ones that have been      
 2663    generated longest ago.  In the worst case, these signatures are the     
 2664    Refresh Period minus the Re-Sign Period away from signature             
 2665    expiration.                                                             
 2666                                                                            
 2667    To make matters slightly more complicated, some signers vary the        
 2668    signature validity period over a small range (the jitter interval) so   
 2669    that not all signatures expire at the same time.                        
 2670                                                                            
 2671    In other words, the minimum signature validity period is set by first   
 2672    choosing the Refresh Period (usually a few days), then defining the     
 2673    Re-Sign Period in such a way that the Refresh Period minus the          
 2674    Re-Sign Period, minus the maximum jitter sets the time in which         
 2675    operational havoc can be resolved.                                      
 2676                                                                            
 2677                                                                            
 2678                                                                            
 2679                                                                            
 2680                                                                            
 2681                                                                            
 2682                                                                            
 2683                                                                            
 2684                                                                            
 2685                                                                            
 2686                                                                            
 2687                                                                            
 2688                                                                            
 2689                                                                            
 2690                                                                            
 2691                                                                            
 2692 Kolkman, et al.               Informational                    [Page 49]   

 2693 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2694                                                                            
 2695                                                                            
 2696    The relationship between signature times is illustrated in Figure 11.   
 2697                                                                            
 2698    Inception          Signing                                 Expiration   
 2699    time               time                                    time         
 2700    |                  |                                 |     |     |      
 2701    |------------------|---------------------------------|.....|.....|      
 2702    |                  |                                 |     |     |      
 2703                                                           +/-jitter        
 2704                                                                            
 2705    | Inception offset |                                       |            
 2706    |<---------------->|            Validity Period            |            
 2707    |               |<---------------------------------------->|            
 2708                                                                            
 2709                                                                            
 2710    Inception          Signing Reuse   Reuse   Reuse   New     Expiration   
 2711    time               time                            RRSIG   time         
 2712    |                  |       |       |       |       |       |            
 2713    |------------------|-------------------------------|-------|            
 2714    |                  |       |       |       |       |       |            
 2715                        <-----> <-----> <-----> <----->                     
 2716                      Re-Sign Period                                        
 2717                                                                            
 2718                                                 |   Refresh   |            
 2719                                                 |<----------->|            
 2720                                                 |   Period    |            
 2721                                                                            
 2722                   Figure 11: Signature Timing Parameters                   
 2723                                                                            
 2724    Note that in the figure the validity of the signature starts shortly    
 2725    before the signing time.  That is done to deal with validators that     
 2726    might have some clock skew.  This is called the inception offset, and   
 2727    it should be chosen so that false negatives are minimized to a          
 2728    reasonable level.                                                       
 2729                                                                            
 2730 4.4.2.3.  Differentiation between RRsets                                   
 2731                                                                            
 2732    It is possible to vary signature validity periods between signatures    
 2733    over different RRsets in the zone.  In practice, this could be done     
 2734    when zones contain highly volatile data (which may be the case in       
 2735    dynamic-update environments).  Note, however, that the risk of replay   
 2736    (e.g., by stale secondary servers) should be the leading factor in      
 2737    determining the signature validity period, since the TTLs on the data   
 2738    itself are still the primary parameter for cache expiry.                
 2739                                                                            
 2740    In some cases, the risk of replaying existing data might be different   
 2741    from the risk of replaying the denial of data.  In those cases, the     
 2742    signature validity period on NSEC or NSEC3 records may be tweaked       
 2743    accordingly.                                                            
 2744                                                                            
 2745                                                                            
 2746                                                                            
 2747 Kolkman, et al.               Informational                    [Page 50]   

 2748 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2749                                                                            
 2750                                                                            
 2751    When a zone contains secure delegations, then a relatively short        
 2752    signature validity period protects the child against replay attacks     
 2753    in the case where the child's key is compromised (see Section 4.3.4).   
 2754    Since there is a higher operational risk for the parent registry when   
 2755    choosing a short validity period and a higher operational risk for      
 2756    the child when choosing a long validity period, some (price)            
 2757    differentiation may occur for validity periods between individual DS    
 2758    RRs in a single zone.                                                   
 2759                                                                            
 2760    There seem to be no other arguments for differentiation in validity     
 2761    periods.                                                                
 2762                                                                            
 2763 5.  "Next Record" Types                                                    
 2764                                                                            
 2765    One of the design tradeoffs made during the development of DNSSEC was   
 2766    to separate the signing and serving operations instead of performing    
 2767    cryptographic operations as DNS requests are being serviced.  It is     
 2768    therefore necessary to create records that cover the very large         
 2769    number of nonexistent names that lie between the names that do exist.   
 2770                                                                            
 2771    There are two mechanisms to provide authenticated proof of              
 2772    nonexistence of domain names in DNSSEC: a clear-text one and an         
 2773    obfuscated-data one.  Each mechanism:                                   
 2774                                                                            
 2775    o  includes a list of all the RRTYPEs present, which can be used to     
 2776       prove the nonexistence of RRTYPEs at a certain name;                 
 2777                                                                            
 2778    o  stores only the name for which the zone is authoritative (that is,   
 2779       glue in the zone is omitted); and                                    
 2780                                                                            
 2781    o  uses a specific RRTYPE to store information about the RRTYPEs        
 2782       present at the name: The clear-text mechanism uses NSEC, and the     
 2783       obfuscated-data mechanism uses NSEC3.                                
 2784                                                                            
 2785 5.1.  Differences between NSEC and NSEC3                                   
 2786                                                                            
 2787    The clear-text mechanism (NSEC) is implemented using a sorted linked    
 2788    list of names in the zone.  The obfuscated-data mechanism (NSEC3) is    
 2789    similar but first hashes the names using a one-way hash function,       
 2790    before creating a sorted linked list of the resulting (hashed)          
 2791    strings.                                                                
 2792                                                                            
 2793    The NSEC record requires no cryptographic operations aside from the     
 2794    validation of its associated signature record.  It is human readable    
 2795    and can be used in manual queries to determine correct operation.       
 2796    The disadvantage is that it allows for "zone walking", where one can    
 2797    request all the entries of a zone by following the linked list of       
 2798    NSEC RRs via the "Next Domain Name" field.  Though all agree that DNS   
 2799                                                                            
 2800                                                                            
 2801                                                                            
 2802 Kolkman, et al.               Informational                    [Page 51]   

 2803 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2804                                                                            
 2805                                                                            
 2806    data is accessible through query mechanisms, for some zone              
 2807    administrators this behavior is undesirable for policy, regulatory,     
 2808    or other reasons.                                                       
 2809                                                                            
 2810    Furthermore, NSEC requires a signature over every RR in the zone        
 2811    file, thereby ensuring that any denial of existence is                  
 2812    cryptographically signed.  However, in a large zone file containing     
 2813    many delegations, very few of which are to signed zones, this may       
 2814    produce unacceptable additional overhead, especially where insecure     
 2815    delegations are subject to frequent updates (a typical example might    
 2816    be a TLD operator with few registrants using secure delegations).       
 2817    NSEC3 allows intervals between two secure delegations to "opt out",     
 2818    in which case they may contain one or more insecure delegations, thus   
 2819    reducing the size and cryptographic complexity of the zone at the       
 2820    expense of the ability to cryptographically deny the existence of       
 2821    names in a specific span.                                               
 2822                                                                            
 2823    The NSEC3 record uses a hashing method of the requested name.  To       
 2824    increase the workload required to guess entries in the zone, the        
 2825    number of hashing iterations can be specified in the NSEC3 record.      
 2826    Additionally, a salt can be specified that also modifies the hashes.    
 2827    Note that NSEC3 does not give full protection against information       
 2828    leakage from the zone (you can still derive the size of the zone,       
 2829    which RRTYPEs are in there, etc.).                                      
 2830                                                                            
 2831 5.2.  NSEC or NSEC3                                                        
 2832                                                                            
 2833    The first motivation to deploy NSEC3 -- prevention of zone              
 2834    enumeration -- only makes sense when zone content is not highly         
 2835    structured or trivially guessable.  Highly structured zones, such as    
 2836    in-addr.arpa., ip6.arpa., and e164.arpa., can be trivially enumerated   
 2837    using ordinary DNS properties, while for small zones that only          
 2838    contain records in the apex of the zone and a few common names such     
 2839    as "www" or "mail", guessing zone content and proving completeness is   
 2840    also trivial when using NSEC3.  In these cases, the use of NSEC is      
 2841    preferred to ease the work required by signers and validating           
 2842    resolvers.                                                              
 2843                                                                            
 2844    For large zones where there is an implication of "not readily           
 2845    available" names, such as those where one has to sign a                 
 2846    non-disclosure agreement before obtaining it, NSEC3 is preferred.       
 2847    The second reason to consider NSEC3 is "Opt-Out", which can reduce      
 2848    the number of NSEC3 records required.  This is discussed further        
 2849    below (Section 5.3.4).                                                  
 2850                                                                            
 2851                                                                            
 2852                                                                            
 2853                                                                            
 2854                                                                            
 2855                                                                            
 2856                                                                            
 2857 Kolkman, et al.               Informational                    [Page 52]   

 2858 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2859                                                                            
 2860                                                                            
 2861 5.3.  NSEC3 Parameters                                                     
 2862                                                                            
 2863    NSEC3 is controlled by a number of parameters, some of which can be     
 2864    varied: This section discusses the choice of those parameters.          
 2865                                                                            
 2866 5.3.1.  NSEC3 Algorithm                                                    
 2867                                                                            
 2868    The NSEC3 hashing algorithm is performed on the Fully Qualified         
 2869    Domain Name (FQDN) in its uncompressed form.  This ensures that brute   
 2870    force work done by an attacker for one FQDN cannot be reused for        
 2871    another FQDN attack, as these entries are by definition unique.         
 2872                                                                            
 2873    At the time of this writing, there is only one NSEC3 hash algorithm     
 2874    defined.  [RFC5155] specifically states: "When specifying a new hash    
 2875    algorithm for use with NSEC3, a transition mechanism MUST also be       
 2876    defined".  Therefore, this document does not consider NSEC3 hash        
 2877    algorithm transition.                                                   
 2878                                                                            
 2879 5.3.2.  NSEC3 Iterations                                                   
 2880                                                                            
 2881    One of the concerns with NSEC3 is that a pre-calculated dictionary      
 2882    attack could be performed in order to assess whether or not certain     
 2883    domain names exist within a zone.  Two mechanisms are introduced in     
 2884    the NSEC3 specification to increase the costs of such dictionary        
 2885    attacks: iterations and salt.                                           
 2886                                                                            
 2887    The iterations parameter defines the number of additional times the     
 2888    hash function has been performed.  A higher value results in greater    
 2889    resiliency against dictionary attacks, at a higher computational cost   
 2890    for both the server and resolver.                                       
 2891                                                                            
 2892    RFC 5155 Section 10.3 [RFC5155] considers the tradeoffs between         
 2893    incurring cost during the signing process and imposing costs to the     
 2894    validating name server, while still providing a reasonable barrier      
 2895    against dictionary attacks.  It provides useful limits of iterations    
 2896    for a given RSA key size.  These are 150 iterations for 1024-bit        
 2897    keys, 500 iterations for 2048-bit keys, and 2,500 iterations for        
 2898    4096-bit keys.  Choosing a value of 100 iterations is deemed to be a    
 2899    sufficiently costly, yet not excessive, value: In the worst-case        
 2900    scenario, the performance of name servers would be halved, regardless   
 2901    of key size [NSEC3-HASH-PERF].                                          
 2902                                                                            
 2903                                                                            
 2904                                                                            
 2905                                                                            
 2906                                                                            
 2907                                                                            
 2908                                                                            
 2909                                                                            
 2910                                                                            
 2911                                                                            
 2912 Kolkman, et al.               Informational                    [Page 53]   

 2913 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2914                                                                            
 2915                                                                            
 2916 5.3.3.  NSEC3 Salt                                                         
 2917                                                                            
 2918    While the NSEC3 iterations parameter increases the cost of hashing a    
 2919    dictionary word, the NSEC3 salt reduces the lifetime for which that     
 2920    calculated hash can be used.  A change of the salt value by the zone    
 2921    administrator would cause an attacker to lose all pre-calculated work   
 2922    for that zone.                                                          
 2923                                                                            
 2924    There must be a complete NSEC3 chain using the same salt value, that    
 2925    matches the salt value in the NSEC3PARAM record.  NSEC3 salt changes    
 2926    do not need special rollover procedures.  Since changing the salt       
 2927    requires that all the NSEC3 records be regenerated and thus requires    
 2928    generating new RRSIGs over these NSEC3 records, it makes sense to       
 2929    align the change of the salt with a change of the Zone Signing Key,     
 2930    as that process in itself already usually requires that all RRSIGs be   
 2931    regenerated.  If there is no critical dependency on incremental         
 2932    signing and the zone can be signed with little effort, there is no      
 2933    need for such alignment.                                                
 2934                                                                            
 2935 5.3.4.  Opt-Out                                                            
 2936                                                                            
 2937    The Opt-Out mechanism was introduced to allow for a gradual             
 2938    introduction of signed records in zones that contain mostly             
 2939    delegation records.  The use of the Opt-Out flag changes the meaning    
 2940    of the NSEC3 span from authoritative denial of the existence of names   
 2941    within the span to proof that DNSSEC is not available for the           
 2942    delegations within the span.  This allows for the addition or removal   
 2943    of the delegations covered by the span without recalculating or         
 2944    re-signing RRs in the NSEC3 RR chain.                                   
 2945                                                                            
 2946    Opt-Out is specified to be used only over delegation points and will    
 2947    therefore only bring relief to zones with a large number of insecure    
 2948    delegations.  This consideration typically holds for large TLDs and     
 2949    similar zones; in most other circumstances, Opt-Out should not be       
 2950    deployed.  Further considerations can be found in Section 12.2 of       
 2951    RFC 5155 [RFC5155].                                                     
 2952                                                                            
 2953 6.  Security Considerations                                                
 2954                                                                            
 2955    DNSSEC adds data origin authentication and data integrity to the DNS,   
 2956    using digital signatures over Resource Record sets.  DNSSEC does not    
 2957    protect against denial-of-service attacks, nor does it provide          
 2958    confidentiality.  For more general security considerations related to   
 2959    DNSSEC, please see RFC 4033 [RFC4033], RFC 4034 [RFC4034], and          
 2960    RFC 4035 [RFC4035].                                                     
 2961                                                                            
 2962                                                                            
 2963                                                                            
 2964                                                                            
 2965                                                                            
 2966                                                                            
 2967 Kolkman, et al.               Informational                    [Page 54]   

 2968 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 2969                                                                            
 2970                                                                            
 2971    This document tries to assess the operational considerations to         
 2972    maintain a stable and secure DNSSEC service.  When performing key       
 2973    rollovers, it is important to keep in mind that it takes time for the   
 2974    data to be propagated to the verifying clients.  It is also important   
 2975    to note that this data may be cached.  Not taking into account the      
 2976    'data propagation' properties in the DNS may cause validation           
 2977    failures, because cached data may mismatch data fetched from the        
 2978    authoritative servers; this will make secured zones unavailable to      
 2979    security-aware resolvers.                                               
 2980                                                                            
 2981 7.  Acknowledgments                                                        
 2982                                                                            
 2983    Significant parts of the text of this document are copied from          
 2984    RFC 4641 [RFC4641].  That document was edited by Olaf Kolkman and       
 2985    Miek Gieben.  Other people that contributed or were otherwise           
 2986    involved in that work were, in random order: Rip Loomis, Olafur         
 2987    Gudmundsson, Wesley Griffin, Michael Richardson, Scott Rose, Rick van   
 2988    Rein, Tim McGinnis, Gilles Guette, Olivier Courtay, Sam Weiler, Jelte   
 2989    Jansen, Niall O'Reilly, Holger Zuleger, Ed Lewis, Hilarie Orman,        
 2990    Marcos Sanz, Peter Koch, Mike StJohns, Emma Bretherick, Adrian          
 2991    Bedford, Lindy Foster, and O. Courtay.                                  
 2992                                                                            
 2993    For this version of the document, we would like to acknowledge people   
 2994    who were actively involved in the compilation of the document.  In      
 2995    random order: Mark Andrews, Patrik Faltstrom, Tony Finch, Alfred        
 2996    Hoenes, Bill Manning, Scott Rose, Wouter Wijngaards, Antoin             
 2997    Verschuren, Marc Lampo, George Barwood, Sebastian Castro, Suresh        
 2998    Krishnaswamy, Eric Rescorla, Stephen Morris, Olafur Gudmundsson,        
 2999    Ondrej Sury, and Rickard Bellgrim.                                      
 3000                                                                            
 3001 8.  Contributors                                                           
 3002                                                                            
 3003    Significant contributions to this document were from:                   
 3004                                                                            
 3005       Paul Hoffman, who contributed on the choice of cryptographic         
 3006       parameters and addressing some of the trust anchor issues;           
 3007                                                                            
 3008       Jelte Jansen, who provided the initial text in Section 4.1.4;        
 3009                                                                            
 3010       Paul Wouters, who provided the initial text for Section 5, and       
 3011       Alex Bligh, who improved it.                                         
 3012                                                                            
 3013    The figure in Section 4.4.2 was adapted from the OpenDNSSEC user        
 3014    documentation.                                                          
 3015                                                                            
 3016                                                                            
 3017                                                                            
 3018                                                                            
 3019                                                                            
 3020                                                                            
 3021                                                                            
 3022 Kolkman, et al.               Informational                    [Page 55]   

 3023 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3024                                                                            
 3025                                                                            
 3026 9.  References                                                             
 3027                                                                            
 3028 9.1.  Normative References                                                 
 3029                                                                            
 3030    [RFC1034]  Mockapetris, P., "Domain names - concepts and facilities",   
 3031               STD 13, RFC 1034, November 1987.                             
 3032                                                                            
 3033    [RFC1035]  Mockapetris, P., "Domain names - implementation and          
 3034               specification", STD 13, RFC 1035, November 1987.             
 3035                                                                            
 3036    [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.      
 3037               Rose, "DNS Security Introduction and Requirements",          
 3038               RFC 4033, March 2005.                                        
 3039                                                                            
 3040    [RFC4034]  Arends, R., Austein, R., Larson, M., Massey, D., and S.      
 3041               Rose, "Resource Records for the DNS Security Extensions",    
 3042               RFC 4034, March 2005.                                        
 3043                                                                            
 3044    [RFC4035]  Arends, R., Austein, R., Larson, M., Massey, D., and S.      
 3045               Rose, "Protocol Modifications for the DNS Security           
 3046               Extensions", RFC 4035, March 2005.                           
 3047                                                                            
 3048    [RFC4509]  Hardaker, W., "Use of SHA-256 in DNSSEC Delegation Signer    
 3049               (DS) Resource Records (RRs)", RFC 4509, May 2006.            
 3050                                                                            
 3051    [RFC5155]  Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS      
 3052               Security (DNSSEC) Hashed Authenticated Denial of             
 3053               Existence", RFC 5155, March 2008.                            
 3054                                                                            
 3055    [RFC5702]  Jansen, J., "Use of SHA-2 Algorithms with RSA in DNSKEY      
 3056               and RRSIG Resource Records for DNSSEC", RFC 5702,            
 3057               October 2009.                                                
 3058                                                                            
 3059 9.2.  Informative References                                               
 3060                                                                            
 3061    [RFC1995]  Ohta, M., "Incremental Zone Transfer in DNS", RFC 1995,      
 3062               August 1996.                                                 
 3063                                                                            
 3064    [RFC1996]  Vixie, P., "A Mechanism for Prompt Notification of Zone      
 3065               Changes (DNS NOTIFY)", RFC 1996, August 1996.                
 3066                                                                            
 3067    [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate          
 3068               Requirement Levels", BCP 14, RFC 2119, March 1997.           
 3069                                                                            
 3070    [RFC2308]  Andrews, M., "Negative Caching of DNS Queries (DNS           
 3071               NCACHE)", RFC 2308, March 1998.                              
 3072                                                                            
 3073                                                                            
 3074                                                                            
 3075                                                                            
 3076                                                                            
 3077 Kolkman, et al.               Informational                    [Page 56]   

 3078 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3079                                                                            
 3080                                                                            
 3081    [RFC3007]  Wellington, B., "Secure Domain Name System (DNS) Dynamic     
 3082               Update", RFC 3007, November 2000.                            
 3083                                                                            
 3084    [RFC3375]  Hollenbeck, S., "Generic Registry-Registrar Protocol         
 3085               Requirements", RFC 3375, September 2002.                     
 3086                                                                            
 3087    [RFC3766]  Orman, H. and P. Hoffman, "Determining Strengths For         
 3088               Public Keys Used For Exchanging Symmetric Keys", BCP 86,     
 3089               RFC 3766, April 2004.                                        
 3090                                                                            
 3091    [RFC4086]  Eastlake, D., Schiller, J., and S. Crocker, "Randomness      
 3092               Requirements for Security", BCP 106, RFC 4086, June 2005.    
 3093                                                                            
 3094    [RFC4641]  Kolkman, O. and R. Gieben, "DNSSEC Operational Practices",   
 3095               RFC 4641, September 2006.                                    
 3096                                                                            
 3097    [RFC4949]  Shirey, R., "Internet Security Glossary, Version 2",         
 3098               RFC 4949, August 2007.                                       
 3099                                                                            
 3100    [RFC5011]  StJohns, M., "Automated Updates of DNS Security (DNSSEC)     
 3101               Trust Anchors", RFC 5011, September 2007.                    
 3102                                                                            
 3103    [RFC5910]  Gould, J. and S. Hollenbeck, "Domain Name System (DNS)       
 3104               Security Extensions Mapping for the Extensible               
 3105               Provisioning Protocol (EPP)", RFC 5910, May 2010.            
 3106                                                                            
 3107    [RFC5933]  Dolmatov, V., Chuprina, A., and I. Ustinov, "Use of GOST     
 3108               Signature Algorithms in DNSKEY and RRSIG Resource Records    
 3109               for DNSSEC", RFC 5933, July 2010.                            
 3110                                                                            
 3111    [RFC6605]  Hoffman, P. and W. Wijngaards, "Elliptic Curve Digital       
 3112               Signature Algorithm (DSA) for DNSSEC", RFC 6605,             
 3113               April 2012.                                                  
 3114                                                                            
 3115    [NIST-Workshop]                                                         
 3116               Rose, S., "NIST DNSSEC workshop notes", July 2001,           
 3117               <http://www.ietf.org/mail-archive/web/dnsop/current/         
 3118               msg01020.html>.                                              
 3119                                                                            
 3120    [NIST-SP-800-90A]                                                       
 3121               Barker, E. and J. Kelsey, "Recommendation for Random         
 3122               Number Generation Using Deterministic Random Bit             
 3123               Generators", NIST Special Publication 800-90A,               
 3124               January 2012.                                                
 3125                                                                            
 3126    [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security    
 3127               (TLS) Protocol Version 1.2", RFC 5246, August 2008.          
 3128                                                                            
 3129                                                                            
 3130                                                                            
 3131                                                                            
 3132 Kolkman, et al.               Informational                    [Page 57]   

 3133 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3134                                                                            
 3135                                                                            
 3136    [DNSSEC-KEY-TIMING]                                                     
 3137               Morris, S., Ihren, J., and J. Dickinson, "DNSSEC Key         
 3138               Timing Considerations", Work in Progress, July 2012.         
 3139                                                                            
 3140    [DNSSEC-DPS]                                                            
 3141               Ljunggren, F., Eklund Lowinder, AM., and T. Okubo, "A        
 3142               Framework for DNSSEC Policies and DNSSEC Practice            
 3143               Statements", Work in Progress, November 2012.                
 3144                                                                            
 3145    [DNSSEC-TRUST-ANCHOR]                                                   
 3146               Larson, M. and O. Gudmundsson, "DNSSEC Trust Anchor          
 3147               Configuration and Maintenance", Work in Progress,            
 3148               October 2010.                                                
 3149                                                                            
 3150    [NSEC3-HASH-PERF]                                                       
 3151               Schaeffer, Y., "NSEC3 Hash Performance", NLnet Labs          
 3152               document 2010-002, March 2010.                               
 3153                                                                            
 3154                                                                            
 3155                                                                            
 3156                                                                            
 3157                                                                            
 3158                                                                            
 3159                                                                            
 3160                                                                            
 3161                                                                            
 3162                                                                            
 3163                                                                            
 3164                                                                            
 3165                                                                            
 3166                                                                            
 3167                                                                            
 3168                                                                            
 3169                                                                            
 3170                                                                            
 3171                                                                            
 3172                                                                            
 3173                                                                            
 3174                                                                            
 3175                                                                            
 3176                                                                            
 3177                                                                            
 3178                                                                            
 3179                                                                            
 3180                                                                            
 3181                                                                            
 3182                                                                            
 3183                                                                            
 3184                                                                            
 3185                                                                            
 3186                                                                            
 3187 Kolkman, et al.               Informational                    [Page 58]   

 3188 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3189                                                                            
 3190                                                                            
 3191 Appendix A.  Terminology                                                   
 3192                                                                            
 3193    In this document, there is some jargon used that is defined in other    
 3194    documents.  In most cases, we have not copied the text from the         
 3195    documents defining the terms but have given a more elaborate            
 3196    explanation of the meaning.  Note that these explanations should not    
 3197    be seen as authoritative.                                               
 3198                                                                            
 3199    Anchored key:  A DNSKEY configured in resolvers around the globe.       
 3200       This key is hard to update, hence the term 'anchored'.               
 3201                                                                            
 3202    Bogus:  Also see Section 5 of RFC 4033 [RFC4033].  An RRset in DNSSEC   
 3203       is marked "Bogus" when a signature of an RRset does not validate     
 3204       against a DNSKEY.                                                    
 3205                                                                            
 3206    Key rollover:  A key rollover (also called key supercession in some     
 3207       environments) is the act of replacing one key pair with another at   
 3208       the end of a key effectivity period.                                 
 3209                                                                            
 3210    Key Signing Key or KSK:  A Key Signing Key (KSK) is a key that is       
 3211       used exclusively for signing the apex key set.  The fact that a      
 3212       key is a KSK is only relevant to the signing tool.                   
 3213                                                                            
 3214    Key size:  The term 'key size' can be substituted by 'modulus size'     
 3215       throughout the document for RSA keys.  It is mathematically more     
 3216       correct to use modulus size for RSA keys, but as this is a           
 3217       document directed at operators we feel more at ease with the term    
 3218       'key size'.                                                          
 3219                                                                            
 3220    Private and public keys:  DNSSEC secures the DNS through the use of     
 3221       public-key cryptography.  Public-key cryptography is based on the    
 3222       existence of two (mathematically related) keys, a public key and a   
 3223       private key.  The public keys are published in the DNS by the use    
 3224       of the DNSKEY Resource Record (DNSKEY RR).  Private keys should      
 3225       remain private.                                                      
 3226                                                                            
 3227    Refresh Period:  The period before the expiration time of the           
 3228       signature, during which the signature is refreshed by the signer.    
 3229                                                                            
 3230    Re-Sign Period:  This refers to the frequency with which a signing      
 3231       pass on the zone is performed.  The Re-Sign Period defines when      
 3232       the zone is exposed to the signer.  And on the signer, not all       
 3233       signatures in the zone have to be regenerated: That depends on the   
 3234       Refresh Period.                                                      
 3235                                                                            
 3236                                                                            
 3237                                                                            
 3238                                                                            
 3239                                                                            
 3240                                                                            
 3241                                                                            
 3242 Kolkman, et al.               Informational                    [Page 59]   

 3243 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3244                                                                            
 3245                                                                            
 3246    Secure Entry Point (SEP) key:  A KSK that has a DS record in the        
 3247       parent zone pointing to it or that is configured as a trust          
 3248       anchor.  Although not required by the protocol, we suggest that      
 3249       the SEP flag [RFC4034] be set on these keys.                         
 3250                                                                            
 3251    Self-signature:  This only applies to signatures over DNSKEYs; a        
 3252       signature made with DNSKEY x over DNSKEY x is called a self-         
 3253       signature.  Note: Without further information, self-signatures       
 3254       convey no trust.  They are useful to check the authenticity of the   
 3255       DNSKEY, i.e., they can be used as a hash.                            
 3256                                                                            
 3257    Signing jitter:  A random variation in the signature validity period    
 3258       of RRSIGs in a zone to prevent all of them from expiring at the      
 3259       same time.                                                           
 3260                                                                            
 3261    Signer:  The system that has access to the private key material and     
 3262       signs the Resource Record sets in a zone.  A signer may be           
 3263       configured to sign only parts of the zone, e.g., only those RRsets   
 3264       for which existing signatures are about to expire.                   
 3265                                                                            
 3266    Singing the zone file:  The term used for the event where an            
 3267       administrator joyfully signs its zone file while producing melodic   
 3268       sound patterns.                                                      
 3269                                                                            
 3270    Single-Type Signing Scheme:  A signing scheme whereby the distinction   
 3271       between Zone Signing Keys and Key Signing Keys is not made.          
 3272                                                                            
 3273    Zone administrator:  The 'role' that is responsible for signing a       
 3274       zone and publishing it on the primary authoritative server.          
 3275                                                                            
 3276    Zone Signing Key (ZSK):  A key that is used for signing all data in a   
 3277       zone (except, perhaps, the DNSKEY RRset).  The fact that a key is    
 3278       a ZSK is only relevant to the signing tool.                          
 3279                                                                            
 3280                                                                            
 3281                                                                            
 3282                                                                            
 3283                                                                            
 3284                                                                            
 3285                                                                            
 3286                                                                            
 3287                                                                            
 3288                                                                            
 3289                                                                            
 3290                                                                            
 3291                                                                            
 3292                                                                            
 3293                                                                            
 3294                                                                            
 3295                                                                            
 3296                                                                            
 3297 Kolkman, et al.               Informational                    [Page 60]   

 3298 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3299                                                                            
 3300                                                                            
 3301 Appendix B.  Typographic Conventions                                       
 3302                                                                            
 3303    The following typographic conventions are used in this document:        
 3304                                                                            
 3305    Key notation:  A key is denoted by DNSKEY_x_y, where x is an            
 3306       identifier for the type of key: K for Key Signing Key, Z for Zone    
 3307       Signing Key, and S when there is no distinction made between KSKs    
 3308       and ZSKs but the key is used as a secure entry point.  The 'y'       
 3309       denotes a number or an identifier; y could be thought of as the      
 3310       key id.                                                              
 3311                                                                            
 3312    RRsets ignored:  If the signatures of non-DNSKEY RRsets have the same   
 3313       parameters as the SOA, then those are not mentioned; e.g., in the    
 3314       example below, the SOA is signed with the same parameters as the     
 3315       foo.example.com A RRset and the latter is therefore ignored in the   
 3316       abbreviated notation.                                                
 3317                                                                            
 3318    RRset notations:  RRs are only denoted by the type.  All other          
 3319       information -- owner, class, rdata, and TTL -- is left out.  Thus:   
 3320       "example.com 3600 IN A 192.0.2.1" is reduced to "A".  RRsets are a   
 3321       list of RRs.  An example of this would be "A1, A2", specifying the   
 3322       RRset containing two "A" records.  This could again be abbreviated   
 3323       to just "A".                                                         
 3324                                                                            
 3325    Signature notation:  Signatures are denoted as RRSIG_x_y(type), which   
 3326       means that the RRset with the specific RRTYPE 'type' is signed       
 3327       with DNSKEY_x_y.  Signatures in the parent zone are denoted as       
 3328       RRSIG_par(type).                                                     
 3329                                                                            
 3330    SOA representation:  SOAs are represented as SOA_x, where x is the      
 3331       serial number.                                                       
 3332                                                                            
 3333    DS representation:  DSs are represented as DS_x_y, where x and y are    
 3334       identifiers similar to the key notation: x is an identifier for      
 3335       the type of key the DS record refers to; y is the 'key id' of the    
 3336       key it refers to.                                                    
 3337                                                                            
 3338    Zone representation:  Using the above notation we have simplified the   
 3339       representation of a signed zone by leaving out all unnecessary       
 3340       details, such as the names, and by representing all data by          
 3341       "SOA_x".                                                             
 3342                                                                            
 3343                                                                            
 3344                                                                            
 3345                                                                            
 3346                                                                            
 3347                                                                            
 3348                                                                            
 3349                                                                            
 3350                                                                            
 3351                                                                            
 3352 Kolkman, et al.               Informational                    [Page 61]   

 3353 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3354                                                                            
 3355                                                                            
 3356    Using this notation, the following signed zone:                         
 3357                                                                            
 3358    example.com.  3600  IN SOA   ns1.example.com. olaf.example.net. (       
 3359                            2005092303 ; serial                             
 3360                            450        ; refresh (7 minutes 30 seconds)     
 3361                            600        ; retry (10 minutes)                 
 3362                            345600     ; expire (4 days)                    
 3363                            300        ; minimum (5 minutes)                
 3364                            )                                               
 3365           3600    RRSIG    SOA 5 2 3600 20120824013000 (                   
 3366                            20100424013000 14 example.com.                  
 3367                            NMafnzmmZ8wevpCOI+/JxqWBzPxrnzPnSXfo            
 3368                            ...                                             
 3369                            OMY3rTMA2qorupQXjQ== )                          
 3370           3600    NS       ns1.example.com.                                
 3371           3600    NS       ns2.example.com.                                
 3372           3600    NS       ns3.example.com.                                
 3373           3600    RRSIG    NS 5 2 3600 20120824013000 (                    
 3374                            20100424013000 14 example.com.                  
 3375                            p0Cj3wzGoPFftFZjj3jeKGK6wGWLwY6mCBEz            
 3376                            ...                                             
 3377                            +SqZIoVHpvE7YBeH46wuyF8w4XknA4Oeimc4            
 3378                            zAgaJM/MeG08KpeHhg== )                          
 3379           3600    TXT      "Net::DNS  domain"                              
 3380           3600    RRSIG    TXT 5 2 3600 20120824013000 (                   
 3381                            20100424013000 14 example.com.                  
 3382                            o7eP8LISK2TEutFQRvK/+U3wq7t4X+PQaQkp            
 3383                            ...                                             
 3384                            BcQ1o99vwn+IS4+J1g== )                          
 3385           300     NSEC     foo.example.com. NS SOA TXT RRSIG NSEC DNSKEY   
 3386           300     RRSIG    NSEC 5 2 300 20120824013000 (                   
 3387                            20100424013000 14 example.com.                  
 3388                            JtHm8ta0diCWYGu/TdrE1O1sYSHblN2i/IX+            
 3389                            ...                                             
 3390                            PkXNI/Vgf4t3xZaIyw== )                          
 3391           3600    DNSKEY   256 3 5 (                                       
 3392                            AQPaoHW/nC0fj9HuCW3hACSGiP0AkPS3dQFX            
 3393                            ...                                             
 3394                            sAuryjQ/HFa5r4mrbhkJ                            
 3395                            ) ; key id = 14                                 
 3396           3600    DNSKEY   257 3 5 (                                       
 3397                            AQPUiszMMAi36agx/V+7Tw95l8PYmoVjHWvO            
 3398                            ...                                             
 3399                            oy88Nh+u2c9HF1tw0naH                            
 3400                            ) ; key id = 15                                 
 3401                                                                            
 3402                                                                            
 3403                                                                            
 3404                                                                            
 3405                                                                            
 3406                                                                            
 3407 Kolkman, et al.               Informational                    [Page 62]   

 3408 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3409                                                                            
 3410                                                                            
 3411           3600    RRSIG    DNSKEY 5 2 3600 20120824013000 (                
 3412                            20100424013000 14 example.com.                  
 3413                            HWj/VEr6p/FiUUiL70QQWtk+NBIlsJ9mdj5U            
 3414                            ...                                             
 3415                            QhhmMwV3tIxJk2eDRQ== )                          
 3416           3600    RRSIG    DNSKEY 5 2 3600 20120824013000 (                
 3417                            20100424013000 15 example.com.                  
 3418                            P47CUy/xPV8qIEuua4tMKG6ei3LQ8RYv3TwE            
 3419                            ...                                             
 3420                            JWL70YiUnUG3m9OL9w== )                          
 3421   foo.example.com.  3600  IN A 192.0.2.2                                   
 3422           3600    RRSIG    A 5 3 3600 20120824013000 (                     
 3423                            20100424013000 14 example.com.                  
 3424                            xHr023P79YrSHHMtSL0a1nlfUt4ywn/vWqsO            
 3425                            ...                                             
 3426                            JPV/SA4BkoFxIcPrDQ== )                          
 3427           300     NSEC     example.com. A RRSIG NSEC                       
 3428           300     RRSIG    NSEC 5 3 300 20120824013000 (                   
 3429                            20100424013000 14 example.com.                  
 3430                            Aaa4kgKhqY7Lzjq3rlPlFidymOeBEK1T6vUF            
 3431                            ...                                             
 3432                            Qe000JyzObxx27pY8A== )                          
 3433                                                                            
line-1617 Matthijs Mekking(Technical Erratum #5276) [Held for Document Update]
based on outdated version
   ----------------------------------------------------------------
    new DS               DNSKEY removal       RRSIGs removal
   ----------------------------------------------------------------
   Parent:
    SOA_1 ------------------------------------------------------->
    RRSIG_par(SOA) ---------------------------------------------->
    DS_K_2 ------------------------------------------------------>
    RRSIG_par(DS_K_2) ------------------------------------------->

   Child:
    -------------------> SOA_3                SOA_4
    -------------------> RRSIG_Z_10(SOA)
    -------------------> RRSIG_Z_11(SOA)      RRSIG_Z_11(SOA)

    ------------------->
    -------------------> DNSKEY_K_2           DNSKEY_K_2
    ------------------->
    -------------------> DNSKEY_Z_11          DNSKEY_Z_11
    ------------------->
    -------------------> RRSIG_K_2(DNSKEY)    RRSIG_K_2(DNSKEY)
   ----------------------------------------------------------------

        Figure 8: Stages of Deployment during an Algorithm Rollover
It should say:
   ----------------------------------------------------------------
    new DS               DNSKEY removal       RRSIGs removal
   ----------------------------------------------------------------
   Parent:
    SOA_1 ------------------------------------------------------->
    RRSIG_par(SOA) ---------------------------------------------->
    DS_K_2 ------------------------------------------------------>
    RRSIG_par(DS_K_2) ------------------------------------------->

   Child:
    -------------------> SOA_3                SOA_4
    -------------------> RRSIG_Z_10(SOA)
    -------------------> RRSIG_Z_11(SOA)      RRSIG_Z_11(SOA)

    ------------------->
    -------------------> DNSKEY_K_2           DNSKEY_K_2
    ------------------->
    -------------------> DNSKEY_Z_11          DNSKEY_Z_11
    -------------------> RRSIG_K_1(DNSKEY)
    -------------------> RRSIG_K_2(DNSKEY)    RRSIG_K_2(DNSKEY)
   ----------------------------------------------------------------

        Figure 8: Stages of Deployment during an Algorithm Rollover

This is about Figure 8 on page 30.

The figure should have the signature of the old KSK, called RRSIG_K_1(DNSKEY) in the "DNSKEY removal" step.

Because a conservative validator may have the DNSKEY RRset cached that includes DNSKEY_K_1, DNSKEY_K_2, DNSKEY_Z_1, and DNSKEY_Z_2.
 3434    is reduced to the following representation:                             
 3435                                                                            
 3436             SOA_2005092303                                                 
 3437             RRSIG_Z_14(SOA_2005092303)                                     
 3438             DNSKEY_K_14                                                    
 3439             DNSKEY_Z_15                                                    
 3440             RRSIG_K_14(DNSKEY)                                             
 3441             RRSIG_Z_15(DNSKEY)                                             
 3442                                                                            
 3443    The rest of the zone data has the same signature as the SOA record,     
 3444    i.e., an RRSIG created with DNSKEY_K_14.                                
 3445                                                                            
 3446                                                                            
 3447                                                                            
 3448                                                                            
 3449                                                                            
 3450                                                                            
 3451                                                                            
 3452                                                                            
 3453                                                                            
 3454                                                                            
 3455                                                                            
 3456                                                                            
 3457                                                                            
 3458                                                                            
 3459                                                                            
 3460                                                                            
 3461                                                                            
 3462 Kolkman, et al.               Informational                    [Page 63]   

 3463 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3464                                                                            
 3465                                                                            
 3466 Appendix C.  Transition Figures for Special Cases of Algorithm Rollovers   
 3467                                                                            
 3468    The figures in this appendix complement and illustrate the special      
 3469    cases of algorithm rollovers as described in Section 4.1.4.             
 3470                                                                            
 3471    ----------------------------------------------------------------        
 3472     initial              new RRSIGs           new DNSKEY                   
 3473    ----------------------------------------------------------------        
 3474    Parent:                                                                 
 3475     SOA_0 -------------------------------------------------------->        
 3476     RRSIG_par(SOA) ----------------------------------------------->        
 3477     DS_S_1 ------------------------------------------------------->        
 3478     RRSIG_par(DS_S_1) -------------------------------------------->        
 3479                                                                            
 3480    Child:                                                                  
 3481     SOA_0                SOA_1                SOA_2                        
 3482     RRSIG_S_1(SOA)       RRSIG_S_1(SOA)       RRSIG_S_1(SOA)               
 3483                          RRSIG_S_2(SOA)       RRSIG_S_2(SOA)               
 3484                                                                            
 3485     DNSKEY_S_1           DNSKEY_S_1           DNSKEY_S_1                   
 3486                                               DNSKEY_S_2                   
 3487     RRSIG_S_1(DNSKEY)    RRSIG_S_1(DNSKEY)    RRSIG_S_1(DNSKEY)            
 3488                          RRSIG_S_2(DNSKEY)    RRSIG_S_2(DNSKEY)            
 3489                                                                            
 3490    ----------------------------------------------------------------        
 3491     new DS               DNSKEY removal       RRSIGs removal               
 3492    ----------------------------------------------------------------        
 3493    Parent:                                                                 
 3494     SOA_1 ------------------------------------------------------->         
 3495     RRSIG_par(SOA) ---------------------------------------------->         
 3496     DS_S_2 ------------------------------------------------------>         
 3497     RRSIG_par(DS_S_2) ------------------------------------------->         
 3498                                                                            
 3499    Child:                                                                  
 3500     -------------------> SOA_3                SOA_4                        
 3501     -------------------> RRSIG_S_1(SOA)                                    
 3502     -------------------> RRSIG_S_2(SOA)       RRSIG_S_2(SOA)               
 3503                                                                            
 3504     ------------------->                                                   
 3505     -------------------> DNSKEY_S_2           DNSKEY_S_2                   
 3506     -------------------> RRSIG_S_1(DNSKEY)                                 
 3507     -------------------> RRSIG_S_2(DNSKEY)    RRSIG_S_2(DNSKEY)            
 3508    ----------------------------------------------------------------        
 3509                                                                            
 3510            Figure 12: Single-Type Signing Scheme Algorithm Roll            
 3511                                                                            
 3512    Also see Section 4.1.4.1.                                               
 3513                                                                            
 3514                                                                            
 3515                                                                            
 3516                                                                            
 3517 Kolkman, et al.               Informational                    [Page 64]   

 3518 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3519                                                                            
 3520                                                                            
 3521    ----------------------------------------------------------------        
 3522     initial              new RRSIGs           new DNSKEY                   
 3523    ----------------------------------------------------------------        
 3524    Parent:                                                                 
 3525     SOA_0 -------------------------------------------------------->        
 3526     RRSIG_par(SOA) ----------------------------------------------->        
 3527     DS_K_1 ------------------------------------------------------->        
 3528     RRSIG_par(DS_K_1) -------------------------------------------->        
 3529                                                                            
 3530    Child:                                                                  
 3531     SOA_0                SOA_1                SOA_2                        
 3532     RRSIG_Z_1(SOA)       RRSIG_Z_1(SOA)       RRSIG_Z_1(SOA)               
 3533                          RRSIG_Z_2(SOA)       RRSIG_Z_2(SOA)               
 3534                                                                            
 3535     DNSKEY_K_1           DNSKEY_K_1           DNSKEY_K_1                   
 3536                                               DNSKEY_K_2                   
 3537     DNSKEY_Z_1           DNSKEY_Z_1           DNSKEY_Z_1                   
 3538                                               DNSKEY_Z_2                   
 3539     RRSIG_K_1(DNSKEY)    RRSIG_K_1(DNSKEY)    RRSIG_K_1(DNSKEY)            
 3540                                               RRSIG_K_2(DNSKEY)            
 3541                                                                            
 3542    ----------------------------------------------------------------        
 3543     new DS               revoke DNSKEY        DNSKEY removal               
 3544    ----------------------------------------------------------------        
 3545    Parent:                                                                 
 3546     SOA_1 ------------------------------------------------------->         
 3547     RRSIG_par(SOA) ---------------------------------------------->         
 3548     DS_K_2 ------------------------------------------------------>         
 3549     RRSIG_par(DS_K_2) ------------------------------------------->         
 3550                                                                            
 3551    Child:                                                                  
 3552     -------------------> SOA_3                SOA_4                        
 3553     -------------------> RRSIG_Z_1(SOA)       RRSIG_Z_1(SOA)               
 3554     -------------------> RRSIG_Z_2(SOA)       RRSIG_Z_2(SOA)               
 3555                                                                            
 3556     -------------------> DNSKEY_K_1_REVOKED                                
 3557     -------------------> DNSKEY_K_2           DNSKEY_K_2                   
 3558     ------------------->                                                   
 3559     -------------------> DNSKEY_Z_2           DNSKEY_Z_2                   
 3560     -------------------> RRSIG_K_1(DNSKEY)                                 
 3561     -------------------> RRSIG_K_2(DNSKEY)    RRSIG_K_2(DNSKEY)            
 3562                                                                            
 3563                                                                            
 3564                                                                            
 3565                                                                            
 3566                                                                            
 3567                                                                            
 3568                                                                            
 3569                                                                            
 3570                                                                            
 3571                                                                            
 3572 Kolkman, et al.               Informational                    [Page 65]   

 3573 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3574                                                                            
 3575                                                                            
 3576    ----------------------------------------------------------------        
 3577     RRSIGs removal                                                         
 3578    ----------------------------------------------------------------        
 3579    Parent:                                                                 
 3580     ------------------------------------->                                 
 3581     ------------------------------------->                                 
 3582     ------------------------------------->                                 
 3583     ------------------------------------->                                 
 3584                                                                            
 3585    Child:                                                                  
 3586     SOA_5                                                                  
 3587     RRSIG_Z_2(SOA)                                                         
 3588                                                                            
 3589     DNSKEY_K_2                                                             
 3590                                                                            
 3591     DNSKEY_Z_2                                                             
 3592                                                                            
 3593     RRSIG_K_2(DNSKEY)                                                      
 3594    ----------------------------------------------------------------        
 3595                                                                            
 3596                  Figure 13: RFC 5011 Style Algorithm Roll                  
 3597                                                                            
 3598    Also see Section 4.1.4.2.                                               
 3599                                                                            
 3600                                                                            
 3601    ----------------------------------------------------------------        
 3602     initial              new RRSIGs           new DNSKEY                   
 3603    ----------------------------------------------------------------        
 3604    Parent:                                                                 
 3605     SOA_0 -------------------------------------------------------->        
 3606     RRSIG_par(SOA) ----------------------------------------------->        
 3607     DS_S_1 ------------------------------------------------------->        
 3608     RRSIG_par(DS_S_1) -------------------------------------------->        
 3609                                                                            
 3610    Child:                                                                  
 3611     SOA_0                SOA_1                SOA_2                        
 3612     RRSIG_S_1(SOA)                                                         
 3613     RRSIG_Z_10(SOA)      RRSIG_Z_10(SOA)      RRSIG_Z_10(SOA)              
 3614                          RRSIG_S_2(SOA)       RRSIG_S_2(SOA)               
 3615                                                                            
 3616     DNSKEY_S_1           DNSKEY_S_1           DNSKEY_S_1                   
 3617     DNSKEY_Z_10          DNSKEY_Z_10          DNSKEY_Z_10                  
 3618                                               DNSKEY_S_2                   
 3619     RRSIG_S_1(DNSKEY)    RRSIG_S_1(DNSKEY)    RRSIG_S_1(DNSKEY)            
 3620                          RRSIG_S_2(DNSKEY)    RRSIG_S_2(DNSKEY)            
 3621                                                                            
 3622                                                                            
 3623                                                                            
 3624                                                                            
 3625                                                                            
 3626                                                                            
 3627 Kolkman, et al.               Informational                    [Page 66]   

 3628 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3629                                                                            
 3630                                                                            
 3631    ----------------------------------------------------------------        
 3632     new DS               revoke DNSKEY        DNSKEY removal               
 3633    ----------------------------------------------------------------        
 3634    Parent:                                                                 
 3635     SOA_1 ------------------------------------------------------->         
 3636     RRSIG_par(SOA) ---------------------------------------------->         
 3637     DS_S_2 ------------------------------------------------------>         
 3638     RRSIG_par(DS_S_2) ------------------------------------------->         
 3639                                                                            
 3640    Child:                                                                  
 3641     -------------------> SOA_3                SOA_4                        
 3642                                                                            
 3643     -------------------> RRSIG_Z_10(SOA)                                   
 3644     -------------------> RRSIG_S_2(SOA)       RRSIG_S_2(SOA)               
 3645                                                                            
 3646     -------------------> DNSKEY_S_1_REVOKED                                
 3647     -------------------> DNSKEY_Z_10                                       
 3648     -------------------> DNSKEY_S_2           DNSKEY_S_2                   
 3649     -------------------> RRSIG_S_1(DNSKEY)    RRSIG_S_1(DNSKEY)            
 3650     -------------------> RRSIG_S_2(DNSKEY)    RRSIG_S_2(DNSKEY)            
 3651                                                                            
 3652    ----------------------------------------------------------------        
 3653     RRSIGs removal                                                         
 3654    ----------------------------------------------------------------        
 3655    Parent:                                                                 
 3656     ------------------------------------->                                 
 3657     ------------------------------------->                                 
 3658     ------------------------------------->                                 
 3659     ------------------------------------->                                 
 3660                                                                            
 3661    Child:                                                                  
 3662     SOA_5                                                                  
 3663                                                                            
 3664                                                                            
 3665     RRSIG_S_2(SOA)                                                         
 3666                                                                            
 3667                                                                            
 3668                                                                            
 3669     DNSKEY_S_2                                                             
 3670                                                                            
 3671     RRSIG_S_2(DNSKEY)                                                      
 3672    ----------------------------------------------------------------        
 3673                                                                            
 3674             Figure 14: RFC 5011 Algorithm Roll in a Single-Type            
 3675                         Signing Scheme Environment                         
 3676                                                                            
 3677    Also see Section 4.1.4.3.                                               
 3678                                                                            
 3679                                                                            
 3680                                                                            
 3681                                                                            
 3682 Kolkman, et al.               Informational                    [Page 67]   

 3683 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3684                                                                            
 3685                                                                            
 3686 Appendix D.  Transition Figure for Changing DNS Operators                  
 3687                                                                            
 3688    The figure in this Appendix complements and illustrates the special     
 3689    case of changing DNS operators as described in Section 4.3.5.1.         
 3690                                                                            
 3691                                                                            
 3692                                                                            
 3693                                                                            
 3694                                                                            
 3695                                                                            
 3696                                                                            
 3697                                                                            
 3698                                                                            
 3699                                                                            
 3700                                                                            
 3701                                                                            
 3702                                                                            
 3703                                                                            
 3704                                                                            
 3705                                                                            
 3706                                                                            
 3707                                                                            
 3708                                                                            
 3709                                                                            
 3710                                                                            
 3711                                                                            
 3712                                                                            
 3713                                                                            
 3714                                                                            
 3715                                                                            
 3716                                                                            
 3717                                                                            
 3718                                                                            
 3719                                                                            
 3720                                                                            
 3721                                                                            
 3722                                                                            
 3723                                                                            
 3724                                                                            
 3725                                                                            
 3726                                                                            
 3727                                                                            
 3728                                                                            
 3729                                                                            
 3730                                                                            
 3731                                                                            
 3732                                                                            
 3733                                                                            
 3734                                                                            
 3735                                                                            
 3736                                                                            
 3737 Kolkman, et al.               Informational                    [Page 68]   

 3738 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3739                                                                            
 3740                                                                            
line-3434 Andreas Cudok(Technical Erratum #5174) [Verified]
based on outdated version
   is reduced to the following representation:

            SOA_2005092303
            RRSIG_Z_14(SOA_2005092303)
            DNSKEY_K_14
            DNSKEY_Z_15
            RRSIG_K_14(DNSKEY)
            RRSIG_Z_15(DNSKEY)

The rest of the zone data has the same signature as the SOA record,
   i.e., an RRSIG created with DNSKEY_K_14.
It should say:
   is reduced to the following representation:

            SOA_2005092303
            RRSIG_Z_14(SOA_2005092303)
            DNSKEY_KZ_14
            DNSKEY_ZK_15
            RRSIG_KZ_14(DNSKEY)
            RRSIG_ZK_15(DNSKEY)

The rest of the zone data has the same signature as the SOA record,
   i.e., an RRSIG created with DNSKEY_K_145.

Note: K and Z were swapped.
 3741     ------------------------------------------------------------           
 3742     new DS             |        pre-publish                    |           
 3743     ------------------------------------------------------------           
 3744     Parent:                                                                
 3745      NS_A                            NS_A                                  
 3746      DS_A DS_B                       DS_A DS_B                             
 3747     ------------------------------------------------------------           
 3748     Child at A:            Child at A:        Child at B:                  
 3749      SOA_A0                 SOA_A1             SOA_B0                      
 3750      RRSIG_Z_A(SOA)         RRSIG_Z_A(SOA)     RRSIG_Z_B(SOA)              
 3751                                                                            
 3752      NS_A                   NS_A               NS_B                        
 3753      RRSIG_Z_A(NS)          NS_B               RRSIG_Z_B(NS)               
 3754                             RRSIG_Z_A(NS)                                  
 3755                                                                            
 3756      DNSKEY_Z_A             DNSKEY_Z_A         DNSKEY_Z_A                  
 3757                             DNSKEY_Z_B         DNSKEY_Z_B                  
 3758      DNSKEY_K_A             DNSKEY_K_A         DNSKEY_K_B                  
 3759      RRSIG_K_A(DNSKEY)      RRSIG_K_A(DNSKEY)  RRSIG_K_A(DNSKEY)           
 3760                             RRSIG_K_B(DNSKEY)  RRSIG_K_B(DNSKEY)           
 3761     ------------------------------------------------------------           
 3762                                                                            
 3763     ------------------------------------------------------------           
 3764           re-delegation                |   post-migration      |           
 3765     ------------------------------------------------------------           
 3766     Parent:                                                                
 3767               NS_B                           NS_B                          
 3768               DS_A DS_B                      DS_B                          
 3769     ------------------------------------------------------------           
 3770     Child at A:        Child at B:           Child at B:                   
 3771                                                                            
 3772      SOA_A1             SOA_B0                SOA_B1                       
 3773      RRSIG_Z_A(SOA)     RRSIG_Z_B(SOA)        RRSIG_Z_B(SOA)               
 3774                                                                            
 3775      NS_A               NS_B                  NS_B                         
 3776      NS_B               RRSIG_Z_B(NS)         RRSIG_Z_B(NS)                
 3777      RRSIG_Z_A(NS)                                                         
 3778                                                                            
 3779      DNSKEY_Z_A         DNSKEY_Z_A                                         
 3780      DNSKEY_Z_B         DNSKEY_Z_B            DNSKEY_Z_B                   
 3781      DNSKEY_K_A         DNSKEY_K_B            DNSKEY_K_B                   
 3782      RRSIG_K_A(DNSKEY)  RRSIG_K_B(DNSKEY)     RRSIG_K_B(DNSKEY)            
 3783     ------------------------------------------------------------           
 3784                                                                            
 3785    Figure 15: An Alternative Rollover Approach for Cooperating Operators   
 3786                                                                            
 3787                                                                            
 3788                                                                            
 3789                                                                            
 3790                                                                            
 3791                                                                            
 3792 Kolkman, et al.               Informational                    [Page 69]   

 3793 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3794                                                                            
 3795                                                                            
 3796 Appendix E.  Summary of Changes from RFC 4641                              
 3797                                                                            
 3798    This document differs from RFC 4641 [RFC4641] in the following ways:    
 3799                                                                            
 3800    o  Addressed the errata listed on                                       
 3801       <http://www.rfc-editor.org/errata_search.php./rfc4641>.              
 3802                                                                            
 3803    o  Recommended RSA/SHA-256 in addition to RSA/SHA-1.                    
 3804                                                                            
 3805    o  Did a complete rewrite of Section 3.5 of RFC 4641 (Section 3.4.2     
 3806       of this document), removing the table and suggesting a key size of   
 3807       1024 for keys in use for less than 8 years, issued up to at least    
 3808       2015.                                                                
 3809                                                                            
 3810    o  Removed the KSK for high-level zones consideration.                  
 3811                                                                            
 3812    o  Added text on algorithm rollover.                                    
 3813                                                                            
 3814    o  Added text on changing (non-cooperating) DNS registrars.             
 3815                                                                            
 3816    o  Did a significant rewrite of Section 3, whereby the argument is      
 3817       made that the timescales for rollovers are made purely on            
 3818       operational arguments.                                               
 3819                                                                            
 3820    o  Added Section 5.                                                     
 3821                                                                            
 3822    o  Introduced Single-Type Signing Scheme terminology and made the       
 3823       arguments for the choice of a Single-Type Signing Scheme more        
 3824       explicit.                                                            
 3825                                                                            
 3826    o  Added a section about stand-by keys.                                 
 3827                                                                            
 3828                                                                            
 3829                                                                            
 3830                                                                            
 3831                                                                            
 3832                                                                            
 3833                                                                            
 3834                                                                            
 3835                                                                            
 3836                                                                            
 3837                                                                            
 3838                                                                            
 3839                                                                            
 3840                                                                            
 3841                                                                            
 3842                                                                            
 3843                                                                            
 3844                                                                            
 3845                                                                            
 3846                                                                            
 3847 Kolkman, et al.               Informational                    [Page 70]   

 3848 RFC 6781         DNSSEC Operational Practices, Version 2   December 2012   
 3849                                                                            
 3850                                                                            
 3851 Authors' Addresses                                                         
 3852                                                                            
 3853    Olaf M. Kolkman                                                         
 3854    NLnet Labs                                                              
 3855    Science Park 400                                                        
 3856    Amsterdam  1098 XH                                                      
 3857    The Netherlands                                                         
 3858                                                                            
 3859    EMail: olaf@nlnetlabs.nl                                                
 3860    URI:   http://www.nlnetlabs.nl                                          
 3861                                                                            
 3862                                                                            
 3863    W. (Matthijs) Mekking                                                   
 3864    NLnet Labs                                                              
 3865    Science Park 400                                                        
 3866    Amsterdam  1098 XH                                                      
 3867    The Netherlands                                                         
 3868                                                                            
 3869    EMail: matthijs@nlnetlabs.nl                                            
 3870    URI:   http://www.nlnetlabs.nl                                          
 3871                                                                            
 3872                                                                            
 3873    R. (Miek) Gieben                                                        
 3874    SIDN Labs                                                               
 3875    Meander 501                                                             
 3876    Arnhem  6825 MD                                                         
 3877    The Netherlands                                                         
 3878                                                                            
 3879    EMail: miek.gieben@sidn.nl                                              
 3880    URI:   http://www.sidn.nl                                               
 3881                                                                            
 3882                                                                            
 3883                                                                            
 3884                                                                            
 3885                                                                            
 3886                                                                            
 3887                                                                            
 3888                                                                            
 3889                                                                            
 3890                                                                            
 3891                                                                            
 3892                                                                            
 3893                                                                            
 3894                                                                            
 3895                                                                            
 3896                                                                            
 3897                                                                            
 3898                                                                            
 3899                                                                            
 3900                                                                            
 3901                                                                            
 3902 Kolkman, et al.               Informational                    [Page 71]   
 3903                                                                            
line-3741 Jarle Fredrik Greipsland(Technical Erratum #6692) [Reported]
based on outdated version
    ------------------------------------------------------------
    new DS             |        pre-publish                    |
    ------------------------------------------------------------
    Parent:
     NS_A                            NS_A
     DS_A DS_B                       DS_A DS_B
    ------------------------------------------------------------
    Child at A:            Child at A:        Child at B:
     SOA_A0                 SOA_A1             SOA_B0
     RRSIG_Z_A(SOA)         RRSIG_Z_A(SOA)     RRSIG_Z_B(SOA)

     NS_A                   NS_A               NS_B
     RRSIG_Z_A(NS)          NS_B               RRSIG_Z_B(NS)
                            RRSIG_Z_A(NS)

     DNSKEY_Z_A             DNSKEY_Z_A         DNSKEY_Z_A
                            DNSKEY_Z_B         DNSKEY_Z_B
     DNSKEY_K_A             DNSKEY_K_A         DNSKEY_K_B
     RRSIG_K_A(DNSKEY)      RRSIG_K_A(DNSKEY)  RRSIG_K_A(DNSKEY)
                            RRSIG_K_B(DNSKEY)  RRSIG_K_B(DNSKEY)
    ------------------------------------------------------------

It should say:
    ------------------------------------------------------------
    new DS             |        pre-publish                    |
    ------------------------------------------------------------
    Parent:
     NS_A                            NS_A
     DS_A DS_B                       DS_A DS_B
    ------------------------------------------------------------
    Child at A:            Child at A:        Child at B:
     SOA_A0                 SOA_A1             SOA_B0
     RRSIG_Z_A(SOA)         RRSIG_Z_A(SOA)     RRSIG_Z_B(SOA)

     NS_A                   NS_A               NS_B
     RRSIG_Z_A(NS)          NS_B               RRSIG_Z_B(NS)
                            RRSIG_Z_A(NS)

     DNSKEY_Z_A             DNSKEY_Z_A         DNSKEY_Z_A
                            DNSKEY_Z_B         DNSKEY_Z_B
     DNSKEY_K_A             DNSKEY_K_A         DNSKEY_K_B
     RRSIG_K_A(DNSKEY)      RRSIG_K_A(DNSKEY)  RRSIG_K_A(DNSKEY)
                            RRSIG_K_B(DNSKEY)  RRSIG_K_B(DNSKEY)
     RRSIG_K_A(DNSKEY)      RRSIG_K_A(DNSKEY)  RRSIG_K_B(DNSKEY)
    ------------------------------------------------------------


Figure 15 in Appendix D is depicting the phases of a double DS KSK rollover operator change. One rationale for applying this approach is to avoid the exchange of signatures (RRSIGs) between operators, and limit exchanges to the public parts of the ZSKs in use. In the pre- publish phase in the figure, it is shown that Child A publishes a signature over the DNSKEY RRset generated by Child B's KSK, and that Child B publishes a signature over the DNSKEY RRset generated by Child A's KSK. This is contrary to the rationale given for this method, and also not required, since the pre-published double DS RRs at the parent zone should enable a validator to validate the signature generated by any of the two KSKs in use, thus one RRSIG RR for the DNSKEY RRset is sufficient at each child. Therefore, the RRSIG_K_B(DNSKEY) RR should be removed from Child A, and the RRSIG_K_A(DNSKEY) should be removed from Child B.