897 lines
33 KiB
Plaintext
897 lines
33 KiB
Plaintext
|
||
|
||
|
||
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]
|
||
|