1 Network Working Group                                          D. Blacka   
    2 Request for Comments: 4955                                VeriSign, Inc.   
    3 Category: Standards Track                                      July 2007   
    4                                                                            
    5                                                                            
    6                    DNS Security (DNSSEC) Experiments                       
    7                                                                            
    8 Status of This Memo                                                        
    9                                                                            
   10    This document specifies an Internet standards track protocol for the    
   11    Internet community, and requests discussion and suggestions for         
   12    improvements.  Please refer to the current edition of the "Internet     
   13    Official Protocol Standards" (STD 1) for the standardization state      
   14    and status of this protocol.  Distribution of this memo is unlimited.   
   15                                                                            
   16 Copyright Notice                                                           
   17                                                                            
   18    Copyright (C) The IETF Trust (2007).                                    
   19                                                                            
   20 Abstract                                                                   
   21                                                                            
   22    This document describes a methodology for deploying alternate, non-     
   23    backwards-compatible, DNS Security (DNSSEC) methodologies in an         
   24    experimental fashion without disrupting the deployment of standard      
   25    DNSSEC.                                                                 
   26                                                                            
   27 Table of Contents                                                          
   28                                                                            
   29    1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . . . 2   
   30    2.  Definitions and Terminology . . . . . . . . . . . . . . . . . . 2   
   31    3.  Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . 2   
   32    4.  Method  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3   
   33    5.  Defining an Experiment  . . . . . . . . . . . . . . . . . . . . 4   
   34    6.  Considerations  . . . . . . . . . . . . . . . . . . . . . . . . 5   
   35    7.  Use in Non-Experiments  . . . . . . . . . . . . . . . . . . . . 5   
   36    8.  Security Considerations . . . . . . . . . . . . . . . . . . . . 5   
   37    9.  References  . . . . . . . . . . . . . . . . . . . . . . . . . . 6   
   38      9.1.  Normative References  . . . . . . . . . . . . . . . . . . . 6   
   39      9.2.  Informative References  . . . . . . . . . . . . . . . . . . 6   
   40                                                                            
   41                                                                            
   42                                                                            
   43                                                                            
   44                                                                            
   45                                                                            
   46                                                                            
   47                                                                            
   48                                                                            
   49                                                                            
   50                                                                            
   51                                                                            
   52 Blacka                      Standards Track                     [Page 1]   

   53 RFC 4955           DNS Security (DNSSEC) Experiments           July 2007   
   54                                                                            
   55                                                                            
   56 1.  Overview                                                               
   57                                                                            
   58    Historically, experimentation with DNSSEC alternatives has been a       
   59    problematic endeavor.  There has typically been a desire to both        
   60    introduce non-backwards-compatible changes to DNSSEC and to try these   
   61    changes on real zones in the public DNS.  This creates a problem when   
   62    the change to DNSSEC would make all or part of the zone using those     
   63    changes appear bogus (bad) or otherwise broken to existing security-    
   64    aware resolvers.                                                        
   65                                                                            
   66    This document describes a standard methodology for setting up DNSSEC    
   67    experiments.  This methodology addresses the issue of coexistence       
   68    with standard DNSSEC and DNS by using unknown algorithm identifiers     
   69    to hide the experimental DNSSEC protocol modifications from standard    
   70    security-aware resolvers.                                               
   71                                                                            
   72 2.  Definitions and Terminology                                            
   73                                                                            
   74    Throughout this document, familiarity with the DNS system (RFC 1035     
   75    [5]) and the DNS security extensions (RFC 4033 [2], RFC 4034 [3], and   
   76    RFC 4035 [4]) is assumed.                                               
   77                                                                            
   78    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",     
   79    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this    
   80    document are to be interpreted as described in RFC 2119 [1].            
   81                                                                            
   82 3.  Experiments                                                            
   83                                                                            
   84    When discussing DNSSEC experiments, it is necessary to classify these   
   85    experiments into two broad categories:                                  
   86                                                                            
   87    Backwards-Compatible:  describes experimental changes that, while not   
   88       strictly adhering to the DNSSEC standard, are nonetheless            
   89       interoperable with clients and servers that do implement the         
   90       DNSSEC standard.                                                     
   91                                                                            
   92    Non-Backwards-Compatible:  describes experiments that would cause a     
   93       standard security-aware resolver to (incorrectly) determine that     
   94       all or part of a zone is bogus, or to otherwise not interoperate     
   95       with standard DNSSEC clients and servers.                            
   96                                                                            
   97    Not included in these terms are experiments with the core DNS           
   98    protocol itself.                                                        
   99                                                                            
  100    The methodology described in this document is not necessary for         
  101    backwards-compatible experiments, although it certainly may be used     
  102    if desired.                                                             
  103                                                                            
  104                                                                            
  105                                                                            
  106                                                                            
  107 Blacka                      Standards Track                     [Page 2]   

  108 RFC 4955           DNS Security (DNSSEC) Experiments           July 2007   
  109                                                                            
  110                                                                            
  111 4.  Method                                                                 
  112                                                                            
  113    The core of the methodology is the use of strictly unknown algorithm    
  114    identifiers when signing the experimental zone, and more importantly,   
  115    having only unknown algorithm identifiers in the DS records for the     
  116    delegation to the zone at the parent.                                   
  117                                                                            
  118    This technique works because of the way DNSSEC-compliant validators     
  119    are expected to work in the presence of a DS set with only unknown      
  120    algorithm identifiers.  From RFC 4035 [4], Section 5.2:                 
  121                                                                            
  122       If the validator does not support any of the algorithms listed in    
  123       an authenticated DS RRset, then the resolver has no supported        
  124       authentication path leading from the parent to the child.  The       
  125       resolver should treat this case as it would the case of an           
  126       authenticated NSEC RRset proving that no DS RRset exists, as         
  127       described above.                                                     
  128                                                                            
  129    And further:                                                            
  130                                                                            
  131       If the resolver does not support any of the algorithms listed in     
  132       an authenticated DS RRset, then the resolver will not be able to     
  133       verify the authentication path to the child zone.  In this case,     
  134       the resolver SHOULD treat the child zone as if it were unsigned.     
  135                                                                            
  136    Although this behavior isn't strictly mandatory (as marked by MUST),    
  137    it is unlikely for a validator to implement a substantially different   
  138    behavior.  Essentially, if the validator does not have a usable chain   
  139    of trust to a child zone, then it can only do one of two things:        
  140    treat responses from the zone as insecure (the recommended behavior),   
  141    or treat the responses as bogus.  If the validator chooses the          
  142    latter, this will both violate the expectation of the zone owner and    
  143    defeat the purpose of the above rule.  However, with local policy, it   
  144    is within the right of a validator to refuse to trust certain zones     
  145    based on any criteria, including the use of unknown signing             
  146    algorithms.                                                             
  147                                                                            
  148    Because we are talking about experiments, it is RECOMMENDED that        
  149    private algorithm numbers be used (see RFC 4034 [3], Appendix A.1.1.    
  150    Note that secure handling of private algorithms requires special        
  151    handing by the validator logic.  See "Clarifications and                
  152    Implementation Notes for DNSSECbis" [6] for further details.)           
  153    Normally, instead of actually inventing new signing algorithms, the     
  154    recommended path is to create alternate algorithm identifiers that      
  155    are aliases for the existing, known algorithms.  While, strictly        
  156    speaking, it is only necessary to create an alternate identifier for    
  157    the mandatory algorithms, it is suggested that all optional defined     
  158    algorithms be aliased as well.                                          
  159                                                                            
  160                                                                            
  161                                                                            
  162 Blacka                      Standards Track                     [Page 3]   

  163 RFC 4955           DNS Security (DNSSEC) Experiments           July 2007   
  164                                                                            
  165                                                                            
  166    It is RECOMMENDED that for a particular DNSSEC experiment, a            
  167    particular domain name base is chosen for all new algorithms, then      
  168    the algorithm number (or name) is prepended to it.  For example, for    
  169    experiment A, the base name of "dnssec-experiment-a.example.com" is     
  170    chosen.  Then, aliases for algorithms 3 (DSA) and 5 (RSASHA1) are       
  171    defined to be "3.dnssec-experiment-a.example.com" and                   
  172    "5.dnssec-experiment-a.example.com".  However, any unique identifier    
  173    will suffice.                                                           
  174                                                                            
  175    Using this method, resolvers (or, more specifically, DNSSEC             
  176    validators) essentially indicate their ability to understand the        
  177    DNSSEC experiment's semantics by understanding what the new algorithm   
  178    identifiers signify.                                                    
  179                                                                            
  180    This method creates two classes of security-aware servers and           
  181    resolvers: servers and resolvers that are aware of the experiment       
  182    (and thus recognize the experiment's algorithm identifiers and          
  183    experimental semantics), and servers and resolvers that are unaware     
  184    of the experiment.                                                      
  185                                                                            
  186    This method also precludes any zone from being both in an experiment    
  187    and in a classic DNSSEC island of security.  That is, a zone is         
  188    either in an experiment and only possible to validate experimentally,   
  189    or it is not.                                                           
  190                                                                            
  191 5.  Defining an Experiment                                                 
  192                                                                            
  193    The DNSSEC experiment MUST define the particular set of (previously     
  194    unknown) algorithm identifiers that identify the experiment and         
  195    define what each unknown algorithm identifier means.  Typically,        
  196    unless the experiment is actually experimenting with a new DNSSEC       
  197    algorithm, this will be a mapping of private algorithm identifiers to   
  198    existing, known algorithms.                                             
  199                                                                            
  200    Normally the experiment will choose a DNS name as the algorithm         
  201    identifier base.  This DNS name SHOULD be under the control of the      
  202    authors of the experiment.  Then the experiment will define a mapping   
  203    between known mandatory and optional algorithms into this private       
  204    algorithm identifier space.  Alternately, the experiment MAY use the    
  205    Object Identifier (OID) private algorithm space instead (using          
  206    algorithm number 254), or MAY choose non-private algorithm numbers,     
  207    although this would require an IANA allocation.                         
  208                                                                            
  209    For example, an experiment might specify in its description the DNS     
  210    name "dnssec-experiment-a.example.com" as the base name, and declare    
  211    that "3.dnssec-experiment-a.example.com" is an alias of DNSSEC          
  212    algorithm 3 (DSA), and that "5.dnssec-experiment-a.example.com" is an   
  213    alias of DNSSEC algorithm 5 (RSASHA1).                                  
  214                                                                            
  215                                                                            
  216                                                                            
  217 Blacka                      Standards Track                     [Page 4]   

  218 RFC 4955           DNS Security (DNSSEC) Experiments           July 2007   
  219                                                                            
  220                                                                            
  221    Resolvers MUST only recognize the experiment's semantics when present   
  222    in a zone signed by one or more of these algorithm identifiers.  This   
  223    is necessary to isolate the semantics of one experiment from any        
  224    others that the resolver might understand.                              
  225                                                                            
  226    In general, resolvers involved in the experiment are expected to        
  227    understand both standard DNSSEC and the defined experimental DNSSEC     
  228    protocol, although this isn't required.                                 
  229                                                                            
  230 6.  Considerations                                                         
  231                                                                            
  232    There are a number of considerations with using this methodology.       
  233                                                                            
  234    1.  If an unaware validator does not correctly follow the rules laid    
  235        out in RFC 4035 (e.g., the validator interprets a DNSSEC record     
  236        prior to validating it), or if the experiment is broader in scope   
  237        that just modifying the DNSSEC semantics, the experiment may not    
  238        be sufficiently masked by this technique.  This may cause           
  239        unintended resolution failures.                                     
  240                                                                            
  241    2.  It will not be possible for security-aware resolvers unaware of     
  242        the experiment to build a chain of trust through an experimental    
  243        zone.                                                               
  244                                                                            
  245 7.  Use in Non-Experiments                                                 
  246                                                                            
  247    This general methodology MAY be used for non-backwards compatible       
  248    DNSSEC protocol changes that start out as or become standards.  In      
  249    this case:                                                              
  250                                                                            
  251    o  The protocol change SHOULD use public IANA allocated algorithm       
  252       identifiers instead of private algorithm identifiers.  This will     
  253       help identify the protocol change as a standard, rather than an      
  254       experiment.                                                          
  255                                                                            
  256    o  Resolvers MAY recognize the protocol change in zones not signed      
  257       (or not solely signed) using the new algorithm identifiers.          
  258                                                                            
  259 8.  Security Considerations                                                
  260                                                                            
  261    Zones using this methodology will be considered insecure by all         
  262    resolvers except those aware of the experiment.  It is not generally    
  263    possible to create a secure delegation from an experimental zone that   
  264    will be followed by resolvers unaware of the experiment.                
  265                                                                            
  266    Implementers should take into account any security issues that may      
  267    result from environments being configured to trust both experimental    
  268    and non-experimental zones.  If the experimental zone is more           
  269                                                                            
  270                                                                            
  271                                                                            
  272 Blacka                      Standards Track                     [Page 5]   

  273 RFC 4955           DNS Security (DNSSEC) Experiments           July 2007   
  274                                                                            
  275                                                                            
  276    vulnerable to attacks, it could, for example, be used to promote        
  277    trust in zones not part of the experiment, possibly under the control   
  278    of an attacker.                                                         
  279                                                                            
  280 9.  References                                                             
  281                                                                            
  282 9.1.  Normative References                                                 
  283                                                                            
  284    [1]  Bradner, S., "Key words for use in RFCs to Indicate Requirement    
  285         Levels", BCP 14, RFC 2119, March 1997.                             
  286                                                                            
  287    [2]  Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,      
  288         "DNS Security Introduction and Requirements", RFC 4033,            
  289         March 2005.                                                        
  290                                                                            
  291    [3]  Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,      
  292         "Resource Records for the DNS Security Extensions", RFC 4034,      
  293         March 2005.                                                        
  294                                                                            
  295    [4]  Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose,      
  296         "Protocol Modifications for the DNS Security Extensions",          
  297         RFC 4035, March 2005.                                              
  298                                                                            
  299 9.2.  Informative References                                               
  300                                                                            
  301    [5]  Mockapetris, P., "Domain names - implementation and                
  302         specification", STD 13, RFC 1035, November 1987.                   
  303                                                                            
  304    [6]  Weiler, S. and R. Austein, "Clarifications and Implementation      
  305         Notes for DNSSECbis", Work in Progress, March 2007.                
  306                                                                            
  307 Author's Address                                                           
  308                                                                            
  309    David Blacka                                                            
  310    VeriSign, Inc.                                                          
  311    21355 Ridgetop Circle                                                   
  312    Dulles, VA  20166                                                       
  313    US                                                                      
  314                                                                            
  315    Phone: +1 703 948 3200                                                  
  316    EMail: davidb@verisign.com                                              
  317    URI:   http://www.verisignlabs.com                                      
  318                                                                            
  319                                                                            
  320                                                                            
  321                                                                            
  322                                                                            
  323                                                                            
  324                                                                            
  325                                                                            
  326                                                                            
  327 Blacka                      Standards Track                     [Page 6]   

  328 RFC 4955           DNS Security (DNSSEC) Experiments           July 2007   
  329                                                                            
  330                                                                            
  331 Full Copyright Statement                                                   
  332                                                                            
  333    Copyright (C) The IETF Trust (2007).                                    
  334                                                                            
  335    This document is subject to the rights, licenses and restrictions       
  336    contained in BCP 78, and except as set forth therein, the authors       
  337    retain all their rights.                                                
  338                                                                            
  339    This document and the information contained herein are provided on an   
  340    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS   
  341    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND   
  342    THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS    
  343    OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF   
  344    THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED      
  345    WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.      
  346                                                                            
  347 Intellectual Property                                                      
  348                                                                            
  349    The IETF takes no position regarding the validity or scope of any       
  350    Intellectual Property Rights or other rights that might be claimed to   
  351    pertain to the implementation or use of the technology described in     
  352    this document or the extent to which any license under such rights      
  353    might or might not be available; nor does it represent that it has      
  354    made any independent effort to identify any such rights.  Information   
  355    on the procedures with respect to rights in RFC documents can be        
  356    found in BCP 78 and BCP 79.                                             
  357                                                                            
  358    Copies of IPR disclosures made to the IETF Secretariat and any          
  359    assurances of licenses to be made available, or the result of an        
  360    attempt made to obtain a general license or permission for the use of   
  361    such proprietary rights by implementers or users of this                
  362    specification can be obtained from the IETF on-line IPR repository at   
  363    http://www.ietf.org/ipr.                                                
  364                                                                            
  365    The IETF invites any interested party to bring to its attention any     
  366    copyrights, patents or patent applications, or other proprietary        
  367    rights that may cover technology that may be required to implement      
  368    this standard.  Please address the information to the IETF at           
  369    ietf-ipr@ietf.org.                                                      
  370                                                                            
  371 Acknowledgement                                                            
  372                                                                            
  373    Funding for the RFC Editor function is currently provided by the        
  374    Internet Society.                                                       
  375                                                                            
  376                                                                            
  377                                                                            
  378                                                                            
  379                                                                            
  380                                                                            
  381                                                                            
  382 Blacka                      Standards Track                     [Page 7]   
  383                                                                            

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.