draft-ietf-dnsext-nsec3-04.txt
来自「非常好的dns解析软件」· 文本 代码 · 共 1,567 行 · 第 1/5 页
TXT
1,567 行
Network Working Group B. LaurieInternet-Draft G. SissonExpires: August 5, 2006 R. Arends Nominet February 2006 DNSSEC Hash Authenticated Denial of Existence draft-ietf-dnsext-nsec3-04Status 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 August 5, 2006.Copyright Notice Copyright (C) The Internet Society (2006).Abstract The DNS Security Extensions introduces the NSEC resource record for authenticated denial of existence. This document introduces a new resource record as an alternative to NSEC that provides measures against zone enumeration and allows for gradual expansion of delegation-centric zones.Laurie, et al. Expires August 5, 2006 [Page 1]Internet-Draft nsec3 February 2006Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.1. Rationale . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2. Reserved Words . . . . . . . . . . . . . . . . . . . . . . 4 1.3. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 2. NSEC versus NSEC3 . . . . . . . . . . . . . . . . . . . . . . 5 3. The NSEC3 Resource Record . . . . . . . . . . . . . . . . . . 5 3.1. NSEC3 RDATA Wire Format . . . . . . . . . . . . . . . . . 6 3.1.1. The Hash Function Field . . . . . . . . . . . . . . . 6 3.1.2. The Opt-In Flag Field . . . . . . . . . . . . . . . . 7 3.1.3. The Iterations Field . . . . . . . . . . . . . . . . . 8 3.1.4. The Salt Length Field . . . . . . . . . . . . . . . . 8 3.1.5. The Salt Field . . . . . . . . . . . . . . . . . . . . 8 3.1.6. The Next Hashed Ownername Field . . . . . . . . . . . 9 3.1.7. The Type Bit Maps Field . . . . . . . . . . . . . . . 9 3.2. The NSEC3 RR Presentation Format . . . . . . . . . . . . . 10 4. Creating Additional NSEC3 RRs for Empty Non-Terminals . . . . 11 5. Calculation of the Hash . . . . . . . . . . . . . . . . . . . 11 6. Including NSEC3 RRs in a Zone . . . . . . . . . . . . . . . . 11 7. Responding to NSEC3 Queries . . . . . . . . . . . . . . . . . 12 8. Special Considerations . . . . . . . . . . . . . . . . . . . . 13 8.1. Proving Nonexistence . . . . . . . . . . . . . . . . . . . 13 8.2. Salting . . . . . . . . . . . . . . . . . . . . . . . . . 14 8.3. Iterations . . . . . . . . . . . . . . . . . . . . . . . . 15 8.4. Hash Collision . . . . . . . . . . . . . . . . . . . . . . 16 8.4.1. Avoiding Hash Collisions during generation . . . . . . 16 8.4.2. Second Preimage Requirement Analysis . . . . . . . . . 16 8.4.3. Possible Hash Value Truncation Method . . . . . . . . 17 8.4.4. Server Response to a Run-time Collision . . . . . . . 17 8.4.5. Parameters that Cover the Zone . . . . . . . . . . . . 18 9. Performance Considerations . . . . . . . . . . . . . . . . . . 18 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18 11. Security Considerations . . . . . . . . . . . . . . . . . . . 18 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 12.1. Normative References . . . . . . . . . . . . . . . . . . . 21 12.2. Informative References . . . . . . . . . . . . . . . . . . 22 Editorial Comments . . . . . . . . . . . . . . . . . . . . . . . . Appendix A. Example Zone . . . . . . . . . . . . . . . . . . . . 22 Appendix B. Example Responses . . . . . . . . . . . . . . . . . . 27 B.1. answer . . . . . . . . . . . . . . . . . . . . . . . . . . 27 B.1.1. Authenticating the Example DNSKEY RRset . . . . . . . 29 B.2. Name Error . . . . . . . . . . . . . . . . . . . . . . . . 30 B.3. No Data Error . . . . . . . . . . . . . . . . . . . . . . 32 B.3.1. No Data Error, Empty Non-Terminal . . . . . . . . . . 33 B.4. Referral to Signed Zone . . . . . . . . . . . . . . . . . 34 B.5. Referral to Unsigned Zone using the Opt-In Flag . . . . . 35 B.6. Wildcard Expansion . . . . . . . . . . . . . . . . . . . . 36Laurie, et al. Expires August 5, 2006 [Page 2]Internet-Draft nsec3 February 2006 B.7. Wildcard No Data Error . . . . . . . . . . . . . . . . . . 38 B.8. DS Child Zone No Data Error . . . . . . . . . . . . . . . 39 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 41 Intellectual Property and Copyright Statements . . . . . . . . . . 42Laurie, et al. Expires August 5, 2006 [Page 3]Internet-Draft nsec3 February 20061. Introduction1.1. Rationale The DNS Security Extensions included the NSEC RR to provide authenticated denial of existence. Though the NSEC RR meets the requirements for authenticated denial of existence, it introduced a side-effect in that the contents of a zone can be enumerated. This property introduces undesired policy issues. An enumerated zone can be used either directly as a source of probable e-mail addresses for spam, or indirectly as a key for multiple WHOIS queries to reveal registrant data which many registries may be under strict legal obligations to protect. Many registries therefore prohibit copying of their zone file; however the use of NSEC RRs renders these policies unenforceable. A second problem was the requirement that the existence of all record types in a zone - including unsigned delegation points - must be accounted for, despite the fact that unsigned delegation point records are not signed. This requirement has a side-effect that the overhead of signed zones is not related to the increase in security of subzones. This requirement does not allow the zones' size to grow in relation to the growth of signed subzones. In the past, solutions (draft-ietf-dnsext-dnssec-opt-in) have been proposed as a measure against these side effects but at the time were regarded as secondary over the need to have a stable DNSSEC specification. With (draft-vixie-dnssec-ter) [14] a graceful transition path to future enhancements is introduced, while current DNSSEC deployment can continue. This document presents the NSEC3 Resource Record which mitigates these issues with the NSEC RR. The reader is assumed to be familiar with the basic DNS and DNSSEC concepts described in RFC 1034 [1], RFC 1035 [2], RFC 4033 [3], RFC 4034 [4], RFC 4035 [5] and subsequent RFCs that update them: RFC 2136 [6], RFC2181 [7] and RFC2308 [8].1.2. Reserved Words 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 [9].1.3. Terminology The practice of discovering the contents of a zone, i.e. enumerating the domains within a zone, is known as "zone enumeration". ZoneLaurie, et al. Expires August 5, 2006 [Page 4]Internet-Draft nsec3 February 2006 enumeration was not practical prior to the introduction of DNSSEC. In this document the term "original ownername" refers to a standard ownername. Because this proposal uses the result of a hash function over the original (unmodified) ownername, this result is referred to as "hashed ownername". "Hash order" means the order in which hashed ownernames are arranged according to their numerical value, treating the leftmost (lowest numbered) octet as the most significant octet. Note that this is the same as the canonical ordering specified in RFC 4034 [4]. An "empty non-terminal" is a domain name that owns no resource records but has subdomains that do. The "closest encloser" of a (nonexistent) domain name is the longest domain name, including empty non-terminals, that matches the rightmost part of the nonexistent domain name. "Base32 encoding" is "Base 32 Encoding with Extended Hex Alphabet" as specified in RFC 3548bis [15].2. NSEC versus NSEC3 This document does NOT obsolete the NSEC record, but gives an alternative for authenticated denial of existence. NSEC and NSEC3 RRs can not co-exist in a zone. See draft-vixie-dnssec-ter [14] for a signaling mechanism to allow for graceful transition towards NSEC3.3. The NSEC3 Resource Record The NSEC3 RR provides Authenticated Denial of Existence for DNS Resource Record Sets. The NSEC3 Resource Record (RR) lists RR types present at the NSEC3 RR's original ownername. It includes the next hashed ownername in the hash order of the zone. The complete set of NSEC3 RRs in a zone indicates which RRsets exist for the original ownername of the RRset and form a chain of hashed ownernames in the zone. This information is used to provide authenticated denial of existence for DNS data, as described in RFC 4035 [5]. To provide protection against zone enumeration, the ownernames used in the NSEC3 RR are cryptographic hashes of the original ownername prepended to the name of the zone. The NSEC3 RR indicates which hash function is used to construct the hash, which salt is used, and how many iterations of the hash function are performed over the original ownername. The hashingLaurie, et al. Expires August 5, 2006 [Page 5]Internet-Draft nsec3 February 2006 technique is described fully in Section 5. Hashed ownernames of unsigned delegations may be excluded from the chain. An NSEC3 record which span covers the hash of an unsigned delegation's ownername is referred to as an Opt-In NSEC3 record and is indicated by the presence of a flag. The ownername for the NSEC3 RR is the base32 encoding of the hashed ownername prepended to the name of the zone.. The type value for the NSEC3 RR is XX. The NSEC3 RR RDATA format is class independent and is described below. The class MUST be the same as the original ownername's class. The NSEC3 RR SHOULD have the same TTL value as the SOA minimum TTL field. This is in the spirit of negative caching [8].3.1. NSEC3 RDATA Wire Format The RDATA of the NSEC3 RR is as shown below: 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Hash Function |O| Iterations | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Salt Length | Salt / +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?