DNSEXT R. Arends Internet-Draft Telematica Instituut Expires: January 19, 2006 M. Kosters D. Blacka Verisign, Inc. July 18, 2005 DNSSEC Opt-In draft-ietf-dnsext-dnssec-opt-in-07 Status of this Memo By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on January 19, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract In the DNS security extensions (DNSSEC, defined in RFC 4033 [3], RFC 4034 [4], and RFC 4035 [5]), delegations to unsigned subzones are cryptographically secured. Maintaining this cryptography is not practical or necessary. This document describes an experimental "Opt-In" model that allows administrators to omit this cryptography and manage the cost of adopting DNSSEC with large zones. Arends, et al. Expires January 19, 2006 [Page 1] Internet-Draft DNSSEC Opt-In July 2005 Table of Contents 1. Definitions and Terminology . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Experimental Status . . . . . . . . . . . . . . . . . . . . . 4 4. Protocol Additions . . . . . . . . . . . . . . . . . . . . . . 4 4.1 Server Considerations . . . . . . . . . . . . . . . . . . 5 4.1.1 Delegations Only . . . . . . . . . . . . . . . . . . . 5 4.1.2 Insecure Delegation Responses . . . . . . . . . . . . 6 4.1.3 Wildcards and Opt-In . . . . . . . . . . . . . . . . . 6 4.1.4 Dynamic Update . . . . . . . . . . . . . . . . . . . . 7 4.2 Client Considerations . . . . . . . . . . . . . . . . . . 7 4.2.1 Delegations Only . . . . . . . . . . . . . . . . . . . 7 4.2.2 Validation Process Changes . . . . . . . . . . . . . . 7 4.2.3 NSEC Record Caching . . . . . . . . . . . . . . . . . 8 4.2.4 Use of the AD bit . . . . . . . . . . . . . . . . . . 8 5. Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 6. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 7. Transition Issues . . . . . . . . . . . . . . . . . . . . . . 10 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 12 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 11.1 Normative References . . . . . . . . . . . . . . . . . . . 13 11.2 Informative References . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 14 A. Implementing Opt-In using "Views" . . . . . . . . . . . . . . 14 Intellectual Property and Copyright Statements . . . . . . . . 16 Arends, et al. Expires January 19, 2006 [Page 2] Internet-Draft DNSSEC Opt-In July 2005 1. Definitions and Terminology Throughout this document, familiarity with the DNS system (RFC 1035 [1]), DNS security extensions ([3], [4], and [5], referred to in this document as "standard DNSSEC"), and DNSSEC terminology (RFC 3090 [10]) is assumed. The following abbreviations and terms are used in this document: RR: is used to refer to a DNS resource record. RRset: refers to a Resource Record Set, as defined by [8]. In this document, the RRset is also defined to include the covering RRSIG records, if any exist. signed name: refers to a DNS name that has, at minimum, a (signed) NSEC record. unsigned name: refers to a DNS name that does not (at least) have a NSEC record. covering NSEC record/RRset: is the NSEC record used to prove (non)existence of a particular name or RRset. This means that for a RRset or name 'N', the covering NSEC record has the name 'N', or has an owner name less than 'N' and "next" name greater than 'N'. delegation: refers to a NS RRset with a name different from the current zone apex (non-zone-apex), signifying a delegation to a subzone. secure delegation: refers to a signed name containing a delegation (NS RRset), and a signed DS RRset, signifying a delegation to a signed subzone. insecure delegation: refers to a signed name containing a delegation (NS RRset), but lacking a DS RRset, signifying a delegation to an unsigned subzone. Opt-In insecure delegation: refers to an unsigned name containing only a delegation NS RRset. The covering NSEC record uses the Opt-In methodology described in this document. The key words "MUST, "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY, and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [7]. 2. Overview The cost to cryptographically secure delegations to unsigned zones is high for large delegation-centric zones and zones where insecure delegations will be updated rapidly. For these zones, the costs of maintaining the NSEC record chain may be extremely high relative to the gain of cryptographically authenticating existence of unsecured zones. This document describes an experimental method of eliminating the Arends, et al. Expires January 19, 2006 [Page 3] Internet-Draft DNSSEC Opt-In July 2005 superfluous cryptography present in secure delegations to unsigned zones. Using "Opt-In", a zone administrator can choose to remove insecure delegations from the NSEC chain. This is accomplished by extending the semantics of the NSEC record by using a redundant bit in the type map. 3. Experimental Status This document describes an EXPERIMENTAL extension to DNSSEC. It interoperates with non-experimental DNSSEC using the technique described in [6]. This experiment is identified with the following private algorithms (using algorithm 253): "3.optin.verisignlabs.com": is an alias for DNSSEC algorithm 3, DSA, and "5.optin.verisignlabs.com": is an alias for DNSSEC algorithm 5, RSASHA1. Servers wishing to sign and serve zones that utilize Opt-In MUST sign the zone with only one or more of these private algorithms. This requires the signing tools and servers to support private algorithms, as well as Opt-In. Resolvers wishing to validate Opt-In zones MUST only do so when the zone is only signed using one or more of these private algorithms. The remainder of this document assumes that the servers and resolvers involved are aware of and are involved in this experiment. 4. Protocol Additions In DNSSEC, delegation NS RRsets are not signed, but are instead accompanied by a NSEC RRset of the same name and (possibly) a DS record. The security status of the subzone is determined by the presence or absence of the DS RRset, cryptographically proven by the NSEC record. Opt-In expands this definition by allowing insecure delegations to exist within an otherwise signed zone without the corresponding NSEC record at the delegation's owner name. These insecure delegations are proven insecure by using a covering NSEC record. Since this represents a change of the interpretation of NSEC records, resolvers must be able to distinguish between RFC standard DNSSEC NSEC records and Opt-In NSEC records. This is accomplished by "tagging" the NSEC records that cover (or potentially cover) insecure delegation nodes. This tag is indicated by the absence of the NSEC bit in the type map. Since the NSEC bit in the type map merely indicates the existence of the record itself, this bit is redundant Arends, et al. Expires January 19, 2006 [Page 4] Internet-Draft DNSSEC Opt-In July 2005 and safe for use as a tag. An Opt-In tagged NSEC record does not assert the (non)existence of the delegations that it covers (except for a delegation with the same name). This allows for the addition or removal of these delegations without recalculating or resigning records in the NSEC chain. However, Opt-In tagged NSEC records do assert the (non)existence of other RRsets. An Opt-In NSEC record MAY have the same name as an insecure delegation. In this case, the delegation is proven insecure by the lack of a DS bit in type map and the signed NSEC record does assert the existence of the delegation. Zones using Opt-In MAY contain a mixture of Opt-In tagged NSEC records and standard DNSSEC NSEC records. If a NSEC record is not Opt-In, there MUST NOT be any insecure delegations (or any other records) between it and the RRsets indicated by the 'next domain name' in the NSEC RDATA. If it is Opt-In, there MUST only be insecure delegations between it and the next node indicated by the 'next domain name' in the NSEC RDATA. In summary, o An Opt-In NSEC type is identified by a zero-valued (or not- specified) NSEC bit in the type bit map of the NSEC record. o A RFC2535bis NSEC type is identified by a one-valued NSEC bit in the type bit map of the NSEC record. and, o An Opt-In NSEC record does not assert the non-existence of a name between its owner name and "next" name, although it does assert that any name in this span MUST be an insecure delegation. o An Opt-In NSEC record does assert the (non)existence of RRsets with the same owner name. 4.1 Server Considerations Opt-In imposes some new requirements on authoritative DNS servers. 4.1.1 Delegations Only This specification dictates that only insecure delegations may exist between the owner and "next" names of an Opt-In tagged NSEC record. Signing tools SHOULD NOT generate signed zones that violate this restriction. Servers SHOULD refuse to load and/or serve zones that violate this restriction. Servers also SHOULD reject AXFR or IXFR Arends, et al. Expires January 19, 2006 [Page 5] Internet-Draft DNSSEC Opt-In July 2005 responses that violate this restriction. 4.1.2 Insecure Delegation Responses When returning an Opt-In insecure delegation, the server MUST return the covering NSEC RRset in the Authority section. In standard DNSSEC, NSEC records already must be returned along with the insecure delegation. The primary difference that this proposal introduces is that the Opt-In tagged NSEC record will have a different owner name from the delegation RRset. This may require implementations to search for the covering NSEC RRset. 4.1.3 Wildcards and Opt-In Standard DNSSEC describes the practice of returning NSEC records to prove the non-existence of an applicable wildcard in non-existent name responses. This NSEC record can be described as a "negative wildcard proof". The use of Opt-In NSEC records changes the necessity for this practice. For non-existent name responses when the query name (qname) is covered by an Opt-In tagged NSEC record, servers MAY choose to omit the wildcard proof record, and clients MUST NOT treat the absence of this NSEC record as a validation error. The intent of the standard DNSSEC negative wildcard proof requirement is to prevent malicious users from undetectably removing valid wildcard responses. In order for this cryptographic proof to work, the resolver must be able to prove: 1. The exact qname does not exist. This is done by the "normal" NSEC record. 2. No applicable wildcard exists. This is done by returning a NSEC record proving that the wildcard does not exist (this is the negative wildcard proof). However, if the NSEC record covering the exact qname is an Opt-In NSEC record, the resolver will not be able to prove the first part of this equation, as the qname might exist as an insecure delegation. Thus, since the total proof cannot be completed, the negative wildcard proof NSEC record is not useful. The negative wildcard proof is also not useful when returned as part of an Opt-In insecure delegation response for a similar reason: the resolver cannot prove that the qname does or does not exist, and therefore cannot prove that a wildcard expansion is valid. The presence of an Opt-In tagged NSEC record does not change the practice of returning a NSEC along with a wildcard expansion. Even Arends, et al. Expires January 19, 2006 [Page 6] Internet-Draft DNSSEC Opt-In July 2005 though the Opt-In NSEC will not be able to prove that the wildcard expansion is valid, it will prove that the wildcard expansion is not masking any signed records. 4.1.4 Dynamic Update Opt-In changes the semantics of Secure DNS Dynamic Update [9]. In particular, it introduces the need for rules that describe when to add or remove a delegation name from the NSEC chain. This document does not attempt to define these rules. Until these rules are defined, servers MUST NOT process DNS Dynamic Update requests against zones that use Opt-In NSEC records. Servers SHOULD return responses to update requests with RCODE=REFUSED. 4.2 Client Considerations Opt-In imposes some new requirements on security-aware resolvers (caching or otherwise). 4.2.1 Delegations Only As stated in the "Server Considerations" section above, this specification restricts the namespace covered by Opt-In tagged NSEC records to insecure delegations only. Thus, resolvers MUST reject as invalid any records that fall within an Opt-In NSEC record's span that are not NS records or corresponding glue records. 4.2.2 Validation Process Changes This specification does not change the resolver's resolution algorithm. However, it does change the DNSSEC validation process. Resolvers MUST be able to use Opt-In tagged NSEC records to cryptographically prove the validity and security status (as insecure) of a referral. Resolvers determine the security status of the referred-to zone as follows: o In standard DNSSEC, the security status is proven by the existence or absence of a DS RRset at the same name as the delegation. The existence of the DS RRset indicates that the referred-to zone is signed. The absence of the DS RRset is proven using a verified NSEC record of the same name that does not have the DS bit set in the type map. This NSEC record MAY also be tagged as Opt-In. o Using Opt-In, the security status is proven by the existence of a DS record (for signed) or the presence of a verified Opt-In tagged NSEC record that covers the delegation name. That is, the NSEC record does not have the NSEC bit set in the type map, and the delegation name falls between the NSEC's owner and "next" name. Arends, et al. Expires January 19, 2006 [Page 7] Internet-Draft DNSSEC Opt-In July 2005 Using Opt-In does not substantially change the nature of following referrals within DNSSEC. At every delegation point, the resolver will have cryptographic proof that the referred-to subzone is signed or unsigned. When receiving either an Opt-In insecure delegation response or a non-existent name response where that name is covered by an Opt-In tagged NSEC record, the resolver MUST NOT require proof (in the form of a NSEC record) that a wildcard did not exist. 4.2.3 NSEC Record Caching Caching resolvers MUST be able to retrieve the appropriate covering Opt-In NSEC record when returning referrals that need them. This requirement differs from standard DNSSEC in that the covering NSEC will not have the same owner name as the delegation. Some implementations may have to use new methods for finding these NSEC records. 4.2.4 Use of the AD bit The AD bit, as defined by [2] and [5], MUST NOT be set when: o sending a Name Error (RCODE=3) response where the covering NSEC is tagged as Opt-In. o sending an Opt-In insecure delegation response, unless the covering (Opt-In) NSEC record's owner name equals the delegation name. This rule is based on what the Opt-In NSEC record actually proves: for names that exist between the Opt-In NSEC record's owner and "next" names, the Opt-In NSEC record cannot prove the non-existence or existence of the name. As such, not all data in the response has been cryptographically verified, so the AD bit cannot be set. 5. Benefits Using Opt-In allows administrators of large and/or changing delegation-centric zones to minimize the overhead involved in maintaining the security of the zone. Opt-In accomplishes this by eliminating the need for NSEC records for insecure delegations. This, in a zone with a large number of delegations to unsigned subzones, can lead to substantial space savings (both in memory and on disk). Additionally, Opt-In allows for the addition or removal of insecure delegations without modifying the NSEC record chain. Zones that are frequently updating insecure delegations (e.g., TLDs) can avoid the substantial overhead of Arends, et al. Expires January 19, 2006 [Page 8] Internet-Draft DNSSEC Opt-In July 2005 modifying and resigning the affected NSEC records. 6. Example Consider the zone EXAMPLE, shown below. This is a zone where all of the NSEC records are tagged as Opt-In. Example A: Fully Opt-In Zone. EXAMPLE. SOA ... EXAMPLE. RRSIG SOA ... EXAMPLE. NS FIRST-SECURE.EXAMPLE. EXAMPLE. RRSIG NS ... EXAMPLE. DNSKEY ... EXAMPLE. RRSIG DNSKEY ... EXAMPLE. NSEC FIRST-SECURE.EXAMPLE. ( SOA NS RRSIG DNSKEY ) EXAMPLE. RRSIG NSEC ... FIRST-SECURE.EXAMPLE. A ... FIRST-SECURE.EXAMPLE. RRSIG A ... FIRST-SECURE.EXAMPLE. NSEC NOT-SECURE-2.EXAMPLE. A RRSIG FIRST-SECURE.EXAMPLE. RRSIG NSEC ... NOT-SECURE.EXAMPLE. NS NS.NOT-SECURE.EXAMPLE. NS.NOT-SECURE.EXAMPLE. A ... NOT-SECURE-2.EXAMPLE. NS NS.NOT-SECURE.EXAMPLE. NOT-SECURE-2.EXAMPLE NSEC SECOND-SECURE.EXAMPLE NS RRSIG NOT-SECURE-2.EXAMPLE RRSIG NSEC ... SECOND-SECURE.EXAMPLE. NS NS.ELSEWHERE. SECOND-SECURE.EXAMPLE. DS ... SECOND-SECURE.EXAMPLE. RRSIG DS ... SECOND-SECURE.EXAMPLE. NSEC EXAMPLE. NS RRSIG DNSKEY SECOND-SECURE.EXAMPLE. RRSIG NSEC ... UNSIGNED.EXAMPLE. NS NS.UNSIGNED.EXAMPLE. NS.UNSIGNED.EXAMPLE. A ... In this example, a query for a signed RRset (e.g., "FIRST- SECURE.EXAMPLE A"), or a secure delegation ("WWW.SECOND- SECURE.EXAMPLE A") will result in a standard DNSSEC response. A query for a nonexistent RRset will result in a response that differs from standard DNSSEC by: the NSEC record will be tagged as Opt-In, there may be no NSEC record proving the non-existence of a Arends, et al. Expires January 19, 2006 [Page 9] Internet-Draft DNSSEC Opt-In July 2005 matching wildcard record, and the AD bit will not be set. A query for an insecure delegation RRset (or a referral) will return both the answer (in the Authority section) and the corresponding Opt-In NSEC record to prove that it is not secure. Example A.1: Response to query for WWW.UNSIGNED.EXAMPLE. A RCODE=NOERROR, AD=0 Answer Section: Authority Section: UNSIGNED.EXAMPLE. NS NS.UNSIGNED.EXAMPLE SECOND-SECURE.EXAMPLE. NSEC EXAMPLE. NS RRSIG DS SECOND-SECURE.EXAMPLE. RRSIG NSEC ... Additional Section: NS.UNSIGNED.EXAMPLE. A ... In the Example A.1 zone, the EXAMPLE. node MAY use either style of NSEC record, because there are no insecure delegations that occur between it and the next node, FIRST-SECURE.EXAMPLE. In other words, Example A would still be a valid zone if the NSEC record for EXAMPLE. was changed to the following RR: EXAMPLE. NSEC FIRST-SECURE.EXAMPLE. (SOA NS RRSIG DNSKEY NSEC ) However, the other NSEC records (FIRST-SECURE.EXAMPLE. and SECOND- SECURE.EXAMPLE.) MUST be tagged as Opt-In because there are insecure delegations in the range they define. (NOT-SECURE.EXAMPLE. and UNSIGNED.EXAMPLE., respectively). NOT-SECURE-2.EXAMPLE. is an example of an insecure delegation that is part of the NSEC chain and also covered by an Opt-In tagged NSEC record. Because NOT-SECURE-2.EXAMPLE. is a signed name, it cannot be removed from the zone without modifying and resigning the prior NSEC record. Delegations with names that fall between NOT-SECURE- 2.EXAMPLE. and SECOND-SECURE.EXAMPLE. may be added or removed without resigning any NSEC records. 7. Transition Issues Opt-In is not backwards compatible with standard DNSSEC and is considered experimental. Standard DNSSEC compliant implementations would not recognize Opt-In tagged NSEC records as different from Arends, et al. Expires January 19, 2006 [Page 10] Internet-Draft DNSSEC Opt-In July 2005 standard NSEC records. Because of this, standard DNSSEC implementations, if they were to validate Opt-In style responses, would reject all Opt-In insecure delegations within a zone as invalid. However, by only signing with private algorithms, standard DNSSEC implementations will treat Opt-In responses as unsigned. It should be noted that all elements in the resolution path between (and including) the validator and the authoritative name server must be aware of the Opt-In experiment and implement the Opt-In semantics for successful validation to be possible. In particular, this includes any caching middleboxes between the validator and authoritative name server. 8. Security Considerations Opt-In allows for unsigned names, in the form of delegations to unsigned subzones, to exist within an otherwise signed zone. All unsigned names are, by definition, insecure, and their validity or existence cannot by cryptographically proven. In general: o Records with unsigned names (whether existing or not) suffer from the same vulnerabilities as records in an unsigned zone. These vulnerabilities are described in more detail in [12] (note in particular sections 2.3, "Name Games" and 2.6, "Authenticated Denial"). o Records with signed names have the same security whether or not Opt-In is used. Note that with or without Opt-In, an insecure delegation may have its contents undetectably altered by an attacker. Because of this, the primary difference in security that Opt-In introduces is the loss of the ability to prove the existence or nonexistence of an insecure delegation within the span of an Opt-In NSEC record. In particular, this means that a malicious entity may be able to insert or delete records with unsigned names. These records are normally NS records, but this also includes signed wildcard expansions (while the wildcard record itself is signed, its expanded name is an unsigned name). For example, if a resolver received the following response from the example zone above: Arends, et al. Expires January 19, 2006 [Page 11] Internet-Draft DNSSEC Opt-In July 2005 Example S.1: Response to query for WWW.DOES-NOT-EXIST.EXAMPLE. A RCODE=NOERROR Answer Section: Authority Section: DOES-NOT-EXIST.EXAMPLE. NS NS.FORGED. EXAMPLE. NSEC FIRST-SECURE.EXAMPLE. SOA NS \ RRSIG DNSKEY EXAMPLE. RRSIG NSEC ... Additional Section: The resolver would have no choice but to believe that the referral to NS.FORGED. is valid. If a wildcard existed that would have been expanded to cover "WWW.DOES-NOT-EXIST.EXAMPLE.", an attacker could have undetectably removed it and replaced it with the forged delegation. Note that being able to add a delegation is functionally equivalent to being able to add any record type: an attacker merely has to forge a delegation to nameserver under his/her control and place whatever records needed at the subzone apex. While in particular cases, this issue may not present a significant security problem, in general it should not be lightly dismissed. Therefore, it is strongly RECOMMENDED that Opt-In be used sparingly. In particular, zone signing tools SHOULD NOT default to Opt-In, and MAY choose to not support Opt-In at all. 9. IANA Considerations None. 10. Acknowledgments The contributions, suggestions and remarks of the following persons (in alphabetic order) to this draft are acknowledged: Mats Dufberg, Miek Gieben, Olafur Gudmundsson, Bob Halley, Olaf Kolkman, Edward Lewis, Ted Lindgreen, Rip Loomis, Bill Manning, Dan Massey, Scott Rose, Mike Schiraldi, Jakob Schlyter, Brian Wellington. 11. References Arends, et al. Expires January 19, 2006 [Page 12] Internet-Draft DNSSEC Opt-In July 2005 11.1 Normative References [1] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [2] Wellington, B. and O. Gudmundsson, "Redefinition of DNS Authenticated Data (AD) bit", RFC 3655, November 2003. [3] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, March 2005. [4] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, March 2005. [5] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications for the DNS Security Extensions", RFC 4035, March 2005. [6] Blacka, D., "DNSSEC Experiments", draft-ietf-dnsext-dnssec-experiments-01 (work in progress), July 2005. 11.2 Informative References [7] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [8] Elz, R. and R. Bush, "Clarifications to the DNS Specification", RFC 2181, July 1997. [9] Eastlake, D., "Secure Domain Name System Dynamic Update", RFC 2137, April 1997. [10] Lewis, E., "DNS Security Extension Clarification on Zone Status", RFC 3090, March 2001. [11] Conrad, D., "Indicating Resolver Support of DNSSEC", RFC 3225, December 2001. [12] Atkins, D. and R. Austein, "Threat Analysis of the Domain Name System (DNS)", RFC 3833, August 2004. Arends, et al. Expires January 19, 2006 [Page 13] Internet-Draft DNSSEC Opt-In July 2005 Authors' Addresses Roy Arends Telematica Instituut Drienerlolaan 5 7522 NB Enschede NL Email: roy.arends@telin.nl Mark Kosters Verisign, Inc. 21355 Ridgetop Circle Dulles, VA 20166 US Phone: +1 703 948 3200 Email: markk@verisign.com URI: http://www.verisignlabs.com David Blacka Verisign, Inc. 21355 Ridgetop Circle Dulles, VA 20166 US Phone: +1 703 948 3200 Email: davidb@verisign.com URI: http://www.verisignlabs.com Appendix A. Implementing Opt-In using "Views" In many cases, it may be convenient to implement an Opt-In zone by combining two separately maintained "views" of a zone at request time. In this context, "view" refers to a particular version of a zone, not to any specific DNS implementation feature. In this scenario, one view is the secure view, the other is the insecure (or legacy) view. The secure view consists of an entirely signed zone using Opt-In tagged NSEC records. The insecure view contains no DNSSEC information. It is helpful, although not necessary, for the secure view to be a subset (minus DNSSEC records) of the insecure view. In addition, the only RRsets that may solely exist in the insecure view are non-zone-apex NS RRsets. That is, all non-NS RRsets (and Arends, et al. Expires January 19, 2006 [Page 14] Internet-Draft DNSSEC Opt-In July 2005 the zone apex NS RRset) MUST be signed and in the secure view. These two views may be combined at request time to provide a virtual, single Opt-In zone. The following algorithm is used when responding to each query: V_A is the secure view as described above. V_B is the insecure view as described above. R_A is a response generated from V_A, following RFC 2535bis. R_B is a response generated from V_B, following DNS resolution as per RFC 1035 [1]. R_C is the response generated by combining R_A with R_B, as described below. A query is DNSSEC-aware if it either has the DO bit [11] turned on, or is for a DNSSEC-specific record type. 1. If V_A is a subset of V_B and the query is not DNSSEC-aware, generate and return R_B, otherwise 2. Generate R_A. 3. If R_A's RCODE != NXDOMAIN, return R_A, otherwise 4. Generate R_B and combine it with R_A to form R_C: For each section (ANSWER, AUTHORITY, ADDITIONAL), copy the records from R_A into R_B, EXCEPT the AUTHORITY section SOA record, if R_B's RCODE = NOERROR. 5. Return R_C. Arends, et al. Expires January 19, 2006 [Page 15] Internet-Draft DNSSEC Opt-In July 2005 Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society. Arends, et al. Expires January 19, 2006 [Page 16]