

Network Working Group                                         M. Kosters
Internet-Draft                                   Network Solutions, Inc.
Expires: August 31, 2001                                   March 2, 2001


                     DNSSEC Opt-in for Large Zones
               draft-kosters-dnsext-dnssec-opt-in-01.txt

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC2026.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups. Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six
   months and may be updated, replaced, or obsoleted by other documents
   at any time. It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on August 31, 2001.

Copyright Notice

   Copyright (C) The Internet Society (2001). All Rights Reserved.

Abstract

   In order for DNSSEC to be deployed operationally with large zones
   and little operational impact, there needs to be included a
   mechanism that allows for the separation of secure versus unsecure
   views of zones. This needs to be done in a transparent fashion that
   allows DNSSEC to be deployed in an incremental manner.  This
   document proposes the use of an extended RCODE to signify that a
   DNSSEC-aware requestor may have to re-query for the information, if
   and only if, the delegation is not yet secure. Thus, one can
   maintain two views of the zone and expand the DNSSEC zone as demand
   warrants.





Kosters                 Expires August 31, 2001                 [Page 1]

Internet-Draft               DNSSEC Opt In                    March 2001


Table of Contents

   1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 3
   2. Rationale  . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
   3. Protocol Additions . . . . . . . . . . . . . . . . . . . . . . . 4
   4. Security Considerations  . . . . . . . . . . . . . . . . . . . . 7
   5. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . . 7
   6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 8
      References . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
      Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8
      Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 9








































Kosters                 Expires August 31, 2001                 [Page 2]

Internet-Draft               DNSSEC Opt In                    March 2001


1. Introduction

   DNS is an unsecure system. The key features that gives DNS its power
   can also be its chief weaknesses. One feature is the facility to
   delegate branches of information from one set of servers to another.
   Currently, this is done in a non-cryptographically verified way that
   allows spoofing attacks. For example, an alternative domain registry
   called AlterNIC exploited this vulnerability to redirect
   www.netsol.com and www.internic.net websites to their own website in
   July 1997 that gained widespread exposure. If this delegated
   information had been cryptographically verified, this attack would
   not have been able to occur. 

   In recent years, there has been much work within the IETF regarding
   DNS security. There are  a number of RFCs that integrate public key
   technology within DNS to enable cryptographically-verified answers.
   To this end, three new resource record types (RR's) have been
   defined: 

   o  KEY -- a public key of the zone
   o  SIG - a signature of an accompanying RR
   o  NXT - a negative response record

   Within the zone, each authoritative RR will have accompanying SIG
   RR's that can be verified with the KEY RR of the zone. Each KEY RR
   can be verified hierarchically with a SIG RR from the direct parent
   zone. For unsecure delegations, a null-KEY RR is inserted in the
   parent zone. Finally, NXT RR's and their accompanying SIG RR's are
   issued in the case of a negative reply. 

   As a zone maintainer, transitioning to a secure zone has a high
   overhead in the following areas: 

   KEY RR 
      At a delegation point, the zone maintainer needs to place a NULL
      key and accompanying SIG RR's when the child zone is not known to
      be secure. 
   NXT RR 
      Each delegation needs to be lexigraphically ordered so that a NXT
      RR can be generated and signed with SIG RR's. For large zone
      operators, generating the zone file is a very time consuming
      process. In the resolution process, NXT lookups require that the
      server replace efficient hash structures with a lexigraphically
      ordered search structure that degrades lookup performance. This
      lookup performance is a critical element for a high-query rate
      DNS server. 

   Thus, the net effect is when one initially secures a zone as defined
   in RFC2535[4], the net overhead is massive because of the following


Kosters                 Expires August 31, 2001                 [Page 3]

Internet-Draft               DNSSEC Opt In                    March 2001


   factors: 

   1.  Zone ordering and maintenance for large zones is difficult and
       expensive.
   2.  Adding null-KEY RR's, NXT RR's and their accompanying SIG RR's
       for unsecure delegations will consume large amounts of memory
       (6x the current memory requirements).
   3.  Having a less efficient look-up algorithm to provide answers to
       queries will degrade overall performance.
   4.  Very little initial payoff (anticipate only a small fraction of
       delegations to be signed. This equates to less than 1% over the
       first six months).
   5.  Unsecured delegations are more expensive at the parent than
       secure delegations (NULL KEY).

2. Rationale

   As DNSSEC is initially deployed, it is anticipated that DNSSEC
   adoption will be slow to materialize. It is also anticipated that
   DNSSEC security resolution will be top down. Thus for DNSSEC to be
   widely adopted, the root zone and GTLD zones will need to be signed.
   Based on the implications previously listed, a large zone maintainer
   such as the administrator of COM, needs to create an infrastructure
   that is an order of magnitude larger than its current state with
   very little initial benefit. 

   This document proposes an alternative opt-in approach that minimizes
   the expense and complexity to ease adoption of DNSSEC for large
   zones by allowing for an alternate view of secured only delegations. 

3. Protocol Additions

   The opt-in proposal allows for a zone operator to maintain two views
   of its delegations - one being non-DNSSEC and the other being
   DNSSSEC aware. The non-DNSSEC view will have all delegations - both
   secured and non-secured. The DNSSEC aware view will only have
   secured delegations. It is assumed that neither view will have any
   innate knowledge of the other's delegations. Thus, the cost of
   securing a zone is proportional to the demand of its delegations
   with the added benefit of no longer having to maintain NULL KEY RRs
   for unsecure delegations. 

   On the server side, identification of the zone being opt-in will be
   identified by using one of the reserved bits of the flags section
   within the KEY RR for that particular zone [note - the actual bit
   needs yet to be selected out of reserved bits 4-5 or 8-11]. 

   On the client side, the client MUST be identified by sending a
   option-code of RETRY-NO-SEC-AWARE within the OPT RR RDATA to ensure


Kosters                 Expires August 31, 2001                 [Page 4]

Internet-Draft               DNSSEC Opt In                    March 2001


   that it can accept and understand the RETRY-NO-SEC RCODE. The
   RETRY-NO-SEC-AWARE option-code MUST have an option-length value of
   zero with no option-data. The RETRY-NO-SEC-AWARE option-code will be
   determined by IANA. 

   To determine which view each DNS query packet is to be queried
   against, there is a simple algorithm to be followed: 

   1.  The DNSSEC view is to be queried when the DO bit is set within
       the EDNS0 OPT meta RR as indicated in [6] Additionally, 
   2.  The DNSSEC view is to be queried when the query type is SIG,
       KEY, or NXT and the RRs added match the query name and query
       type.

   If the query does not follow either case (1) or (2), the non-DNSSEC
   view MUST be consulted by default. 

   Since the DNSSEC view will have a subset of the actual delegations
   of that zone, it will not be able to respond to an unsecured
   delegation. To that end, one of two things will happen: 

   1) If the client has been identified as RETRY-NO-SEC-AWARE, a new
   extended RCODE MUST be set within the EDNS OPT RR for the resolver
   to retry again with the DO bit not set.  This RCODE is referred to
   as "RETRY-NO-SEC" (RS).  In the context of the EDNS0 OPT meta-RR,
   the RS value will be determined by IANA. 

   Setting the RS RCODE in a response indicates to the resolver that
   the resolver is retrying the query again without the DO bit set. The
   behavior of the authority and additional records section being
   populated should be the same using the RS RCODE as the RCODE being
   set to NXDOMAIN. Therefore, the resolver will be able to verify that
   the answer does not exist within the secure zone since the NXT RR
   will be sent in the Authority section. To avoid caching, the server
   SHOULD set the TTL on the NXT RR to 0. 

   2) If the client has been identified as not being
   RETRY-NO-SEC-AWARE, the server itself MUST consult the non-secure
   view to compile the answer and respond back to the client.  If the
   RR exists, the answer will show up normally with in the Answer and
   Additional sections and the NXT RR's within the Authority section
   along with the KEY RR and its SIG in the Additional section.  If the
   RR does not exist, RCODE will be set to NXDOMAIN with the NXT RR
   will be sent in the Authority section along with the KEY RR and its
   SIG in the Additional section . Again, to avoid caching, the server
   SHOULD set the TTL on the NXT RR to 0. 

   Note that latter case should be used during the transition of moving
   to clients that understand the RS RCODE only. It should not be


Kosters                 Expires August 31, 2001                 [Page 5]

Internet-Draft               DNSSEC Opt In                    March 2001


   viewed as a permanent solution and may deprecated in a short period
   of time. 

   Example: 

   Consider a zone with the secure names 3, 6, and 9, and unsecure
   names 2, 4, 5, 7, and 8. 

   Unsecured zone Contents: 

     @ SOA
     2 NS
     3 NS
     4 NS
     5 NS
     6 NS
     7 NS
     8 NS
     9 NS

   Secured zone Contents:
     @ SOA, SIG SOA, NXT(3), SIG NXT
     3 NS, SIG NS, NXT(6), SIG NXT
     6 NS, SIG NS, NXT(9), SIG NXT
     9 NS, SIG NS, NXT(@), SIG NXT

   1.  Query for 5 RR type A with EDNS0 DO bit set along with the
       RETRY-NO-SEC-AWARE option code, the response would return with
       the extended RCODE RS bit set: 


     RCODE=RS
     Authority Section:
       SOA, SIG SOA, 3 NXT(6), SIG NXT
     Additional Section:
       KEY, SIG KEY


        The source would then retry without the EDNS0 DO bit set which
       would return an answer as defined in RFC1035[2].

   2.  Query for 5 RR type A with EDNS0 DO bit only, the response would
       return with the following: 


     RCODE=NOERROR
     Answer Section:
       5 NS
     Authority Section:


Kosters                 Expires August 31, 2001                 [Page 6]

Internet-Draft               DNSSEC Opt In                    March 2001


       3 NXT(6), SIG NXT
     Additional Section:
       KEY, SIG KEY



   3.  Query for 55 RR type A with EDNS0 DO bit set along with the
       RETRY-NO-SEC-AWARE   option code, the response would return with
       the extended RCODE RS bit set: 


     RCODE=RS
     Authority Section:
       SOA, SIG SOA, 3 NXT(6), SIG NXT
     Additional Section:
       KEY, SIG KEY


        The source would then retry without the EDNS0 DO bit set which
       would return an answer as defined in RFC1035[2]. The subsequent
       1035 answer would contain a RCODE of NXDOMAIN since the domain
       55 does not exist. 

   4.  Query for 3 RR type KEY without EDNS DO bit set. The response
       would return with an answer as defined in RFC2535[4]. 

   5.  Query for 3 RR type A, with EDNS0 DO bit set, the response would
       be the same as defined in RFC2535[4]. 


4. Security Considerations

   This draft is different and separate from RFC2535[4] in that it
   allows for secured delegation paths to exist but does not allow for
   secure answers to unsecured delegations at the parent level.
   Increased exposure will be marginal given that the children are
   unsecure. 

5. IANA Considerations

   1) Allocation of a bit within the reserved portion of the KEY RR to
   indicate that the zone is an opt-in zone. 

   2) Allocation of the most significant bit of the RCODE field in the
   EDNS0 OPT meta-RR is required. 

   3) Allocation of an option-code within the OPT RR to indicate that
   the client can understand the new RCODE. 



Kosters                 Expires August 31, 2001                 [Page 7]

Internet-Draft               DNSSEC Opt In                    March 2001


6. Acknowledgements

   This document is based on a rough draft by Brian Wellington, and
   input from Olafur Gudmundsson. 

References

   [1]  Mockapetris, P.V., "Domain names - concepts and facilities",
        RFC 1034, STD 13, Nov 1987.

   [2]  Mockapetris, P.V., "Domain names - implementation and
        specification", RFC 1035, STD 13, Nov 1987.

   [3]  Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", RFC 2119, BCP 14, March 1997.

   [4]  Eastlake, D., "Domain Name System Security Extensions", RFC
        2535, March 1999.

   [5]  Vixie, P., "Extension Mechanisms for DNS (EDNS0)", RFC 2671,
        August 1999.

   [6]  Conrad, D. R., "Indicating Resolver Support of DNSSEC (work in
        progress)", August 2000.


Author's Address

   Mark Kosters
   Network Solutions, Inc.
   505 Huntmar Park Drive
   Herndon, VA  22070
   US

   Phone: +1 703 948-3362
   EMail: markk@netsol.com
   URI:   http://www.netsol.com














Kosters                 Expires August 31, 2001                 [Page 8]

Internet-Draft               DNSSEC Opt In                    March 2001


Full Copyright Statement

   Copyright (C) The Internet Society (2001). All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph
   are included on all such copies and derivative works. However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

   Funding for the RFC editor function is currently provided by the
   Internet Society.



















Kosters                 Expires August 31, 2001                 [Page 9]

