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]