mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-09 15:09:59 -04:00
cleanup
This commit is contained in:
parent
9dad3e2710
commit
f6566e9ec2
5 changed files with 0 additions and 4892 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -1,464 +0,0 @@
|
|||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
OBSOLETES: RFC 2536 Donald E. Eastlake 3rd
|
||||
Motorola Laboratories
|
||||
Expires: September 2006 March 2006
|
||||
|
||||
|
||||
DSA Keying and Signature Information in the DNS
|
||||
--- ------ --- --------- ----------- -- --- ---
|
||||
<draft-ietf-dnsext-rfc2536bis-dsa-07.txt>
|
||||
Donald E. Eastlake 3rd
|
||||
|
||||
|
||||
Status of This Document
|
||||
|
||||
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.
|
||||
|
||||
Distribution of this document is unlimited. Comments should be sent
|
||||
to the DNS extensions working group mailing list
|
||||
<namedroppers@ops.ietf.org>.
|
||||
|
||||
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/1id-abstracts.html
|
||||
|
||||
The list of Internet-Draft Shadow Directories can be accessed at
|
||||
http://www.ietf.org/shadow.html
|
||||
|
||||
|
||||
|
||||
Abstract
|
||||
|
||||
The standard method of encoding US Government Digital Signature
|
||||
Algorithm keying and signature information for use in the Domain Name
|
||||
System is specified.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 1]
|
||||
|
||||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
Status of This Document....................................1
|
||||
Abstract...................................................1
|
||||
|
||||
Table of Contents..........................................2
|
||||
|
||||
1. Introduction............................................3
|
||||
2. DSA Keying Information..................................3
|
||||
3. DSA Signature Information...............................4
|
||||
4. Performance Considerations..............................4
|
||||
5. Security Considerations.................................5
|
||||
6. IANA Considerations.....................................5
|
||||
Copyright, Disclaimer, and Additional IPR Provisions.......5
|
||||
|
||||
Normative References.......................................7
|
||||
Informative References.....................................7
|
||||
|
||||
Author's Address...........................................8
|
||||
Expiration and File Name...................................8
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 2]
|
||||
|
||||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
|
||||
|
||||
1. Introduction
|
||||
|
||||
The Domain Name System (DNS) is the global hierarchical replicated
|
||||
distributed database system for Internet addressing, mail proxy, and
|
||||
other information [RFC 1034, 1035]. The DNS has been extended to
|
||||
include digital signatures and cryptographic keys as described in
|
||||
[RFC 4033, 4034, 4035] and additional work is underway which would
|
||||
require the storage of keying and signature information in the DNS.
|
||||
|
||||
This document describes how to encode US Government Digital Signature
|
||||
Algorithm (DSA) keys and signatures in the DNS. Familiarity with the
|
||||
US Digital Signature Algorithm is assumed [FIPS 186-2, Schneier].
|
||||
|
||||
|
||||
|
||||
2. DSA Keying Information
|
||||
|
||||
When DSA public keys are stored in the DNS, the structure of the
|
||||
relevant part of the RDATA part of the RR being used is the fields
|
||||
listed below in the order given.
|
||||
|
||||
The period of key validity is not included in this data but is
|
||||
indicated separately, for example by an RR such as RRSIG which signs
|
||||
and authenticates the RR containing the keying information.
|
||||
|
||||
Field Size
|
||||
----- ----
|
||||
T 1 octet
|
||||
Q 20 octets
|
||||
P 64 + T*8 octets
|
||||
G 64 + T*8 octets
|
||||
Y 64 + T*8 octets
|
||||
|
||||
As described in [FIPS 186-2] and [Schneier], T is a key size
|
||||
parameter chosen such that 0 <= T <= 8. (The meaning if the T octet
|
||||
is greater than 8 is reserved and the remainder of the data may have
|
||||
a different format in that case.) Q is a prime number selected at
|
||||
key generation time such that 2**159 < Q < 2**160. Thus Q is always
|
||||
20 octets long and, as with all other fields, is stored in "big-
|
||||
endian" network order. P, G, and Y are calculated as directed by the
|
||||
[FIPS 186-2] key generation algorithm [Schneier]. P is in the range
|
||||
2**(511+64T) < P < 2**(512+64T) and thus is 64 + 8*T octets long. G
|
||||
and Y are quantities modulo P and so can be up to the same length as
|
||||
P and are allocated fixed size fields with the same number of octets
|
||||
as P.
|
||||
|
||||
During the key generation process, a random number X must be
|
||||
generated such that 1 <= X <= Q-1. X is the private key and is used
|
||||
in the final step of public key generation where Y is computed as
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 3]
|
||||
|
||||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
|
||||
|
||||
Y = G**X mod P
|
||||
|
||||
|
||||
|
||||
3. DSA Signature Information
|
||||
|
||||
The portion of the RDATA area used for US Digital Signature Algorithm
|
||||
signature information is shown below with fields in the order they
|
||||
are listed and the contents of each multi-octet field in "big-endian"
|
||||
network order.
|
||||
|
||||
Field Size
|
||||
----- ----
|
||||
T 1 octet
|
||||
R 20 octets
|
||||
S 20 octets
|
||||
|
||||
First, the data signed must be determined. Then the following steps
|
||||
are taken, as specified in [FIPS 186-2], where Q, P, G, and Y are as
|
||||
specified in the public key [Schneier]:
|
||||
|
||||
hash = SHA-1 ( data )
|
||||
|
||||
Generate a random K such that 0 < K < Q.
|
||||
|
||||
R = ( G**K mod P ) mod Q
|
||||
|
||||
S = ( K**(-1) * (hash + X*R) ) mod Q
|
||||
|
||||
For information on the SHA-1 hash function see [FIPS 180-2] and [RFC
|
||||
3174].
|
||||
|
||||
Since Q is 160 bits long, R and S can not be larger than 20 octets,
|
||||
which is the space allocated.
|
||||
|
||||
T is copied from the public key. It is not logically necessary in
|
||||
the SIG but is present so that values of T > 8 can more conveniently
|
||||
be used as an escape for extended versions of DSA or other algorithms
|
||||
as later standardized.
|
||||
|
||||
|
||||
|
||||
4. Performance Considerations
|
||||
|
||||
General signature generation speeds are roughly the same for RSA [RFC
|
||||
3110] and DSA. With sufficient pre-computation, signature generation
|
||||
with DSA is faster than RSA. Key generation is also faster for DSA.
|
||||
However, signature verification is an order of magnitude slower than
|
||||
RSA when the RSA public exponent is chosen to be small, as is
|
||||
recommended for some applications.
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 4]
|
||||
|
||||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
|
||||
|
||||
Current DNS implementations are optimized for small transfers,
|
||||
typically less than 512 bytes including DNS overhead. Larger
|
||||
transfers will perform correctly and extensions have been
|
||||
standardized [RFC 2671] to make larger transfers more efficient, it
|
||||
is still advisable at this time to make reasonable efforts to
|
||||
minimize the size of RR sets containing keying and/or signature
|
||||
inforamtion consistent with adequate security.
|
||||
|
||||
|
||||
|
||||
5. Security Considerations
|
||||
|
||||
Keys retrieved from the DNS should not be trusted unless (1) they
|
||||
have been securely obtained from a secure resolver or independently
|
||||
verified by the user and (2) this secure resolver and secure
|
||||
obtainment or independent verification conform to security policies
|
||||
acceptable to the user. As with all cryptographic algorithms,
|
||||
evaluating the necessary strength of the key is essential and
|
||||
dependent on local policy.
|
||||
|
||||
The key size limitation of a maximum of 1024 bits ( T = 8 ) in the
|
||||
current DSA standard may limit the security of DSA. For particular
|
||||
applications, implementors are encouraged to consider the range of
|
||||
available algorithms and key sizes.
|
||||
|
||||
DSA assumes the ability to frequently generate high quality random
|
||||
numbers. See [random] for guidance. DSA is designed so that if
|
||||
biased rather than random numbers are used, high bandwidth covert
|
||||
channels are possible. See [Schneier] and more recent research. The
|
||||
leakage of an entire DSA private key in only two DSA signatures has
|
||||
been demonstrated. DSA provides security only if trusted
|
||||
implementations, including trusted random number generation, are
|
||||
used.
|
||||
|
||||
|
||||
|
||||
6. IANA Considerations
|
||||
|
||||
Allocation of meaning to values of the T parameter that are not
|
||||
defined herein (i.e., > 8 ) requires an IETF standards actions. It
|
||||
is intended that values unallocated herein be used to cover future
|
||||
extensions of the DSS standard.
|
||||
|
||||
|
||||
|
||||
Copyright, Disclaimer, and Additional IPR Provisions
|
||||
|
||||
Copyright (C) The Internet Society (2006). 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.
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 5]
|
||||
|
||||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 6]
|
||||
|
||||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
|
||||
|
||||
Normative References
|
||||
|
||||
[FIPS 186-2] - U.S. Federal Information Processing Standard: Digital
|
||||
Signature Standard, 27 January 2000.
|
||||
|
||||
[RFC 4034] - Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Resource Records for the DNS Security Extensions", RFC 4034,
|
||||
March 2005.
|
||||
|
||||
|
||||
|
||||
Informative References
|
||||
|
||||
[RFC 1034] - "Domain names - concepts and facilities", P.
|
||||
Mockapetris, 11/01/1987.
|
||||
|
||||
[RFC 1035] - "Domain names - implementation and specification", P.
|
||||
Mockapetris, 11/01/1987.
|
||||
|
||||
[RFC 2671] - "Extension Mechanisms for DNS (EDNS0)", P. Vixie, August
|
||||
1999.
|
||||
|
||||
[RFC 3110] - "RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System
|
||||
(DNS)", D. Eastlake 3rd. May 2001.
|
||||
|
||||
[RFC 3174] - "US Secure Hash Algorithm 1 (SHA1)", D. Eastlake, P.
|
||||
Jones, September 2001.
|
||||
|
||||
[RFC 4033] - Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "DNS Security Introduction and Requirements", RFC 4033, March
|
||||
2005.
|
||||
|
||||
[RFC 4035] - Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Protocol Modifications for the DNS Security Extensions", RFC
|
||||
4035, March 2005.
|
||||
|
||||
[RFC 4086] - Eastlake, D., 3rd, Schiller, J., and S. Crocker,
|
||||
"Randomness Requirements for Security", BCP 106, RFC 4086, June 2005.
|
||||
|
||||
[Schneier] - "Applied Cryptography Second Edition: protocols,
|
||||
algorithms, and source code in C" (second edition), Bruce Schneier,
|
||||
1996, John Wiley and Sons, ISBN 0-471-11709-9.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 7]
|
||||
|
||||
|
||||
INTERNET-DRAFT DSA Information in the DNS
|
||||
|
||||
|
||||
Author's Address
|
||||
|
||||
Donald E. Eastlake 3rd
|
||||
Motorola Labortories
|
||||
155 Beaver Street
|
||||
Milford, MA 01757 USA
|
||||
|
||||
Telephone: +1-508-786-7554(w)
|
||||
EMail: Donald.Eastlake@motorola.com
|
||||
|
||||
|
||||
|
||||
Expiration and File Name
|
||||
|
||||
This draft expires in September 2006.
|
||||
|
||||
Its file name is draft-ietf-dnsext-rfc2536bis-dsa-07.txt.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 8]
|
||||
|
||||
|
|
@ -1,580 +0,0 @@
|
|||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
OBSOLETES: RFC 2539 Donald E. Eastlake 3rd
|
||||
Motorola Laboratories
|
||||
Expires: September 2006 March 2006
|
||||
|
||||
|
||||
|
||||
|
||||
Storage of Diffie-Hellman Keying Information in the DNS
|
||||
------- -- -------------- ------ ----------- -- --- ---
|
||||
<draft-ietf-dnsext-rfc2539bis-dhk-07.txt>
|
||||
|
||||
|
||||
|
||||
Status of This Document
|
||||
|
||||
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.
|
||||
|
||||
Distribution of this document is unlimited. Comments should be sent
|
||||
to the DNS extensions working group mailing list
|
||||
<namedroppers@ops.ietf.org>.
|
||||
|
||||
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/1id-abstracts.html
|
||||
|
||||
The list of Internet-Draft Shadow Directories can be accessed at
|
||||
http://www.ietf.org/shadow.html
|
||||
|
||||
|
||||
Abstract
|
||||
|
||||
The standard method for encoding Diffie-Hellman keys in the Domain
|
||||
Name System is specified.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 1]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
Acknowledgements
|
||||
|
||||
Part of the format for Diffie-Hellman keys and the description
|
||||
thereof was taken from a work in progress by Ashar Aziz, Tom Markson,
|
||||
and Hemma Prafullchandra. In addition, the following persons
|
||||
provided useful comments that were incorporated into the predecessor
|
||||
of this document: Ran Atkinson, Thomas Narten.
|
||||
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
Status of This Document....................................1
|
||||
Abstract...................................................1
|
||||
|
||||
Acknowledgements...........................................2
|
||||
Table of Contents..........................................2
|
||||
|
||||
1. Introduction............................................3
|
||||
1.1 About This Document....................................3
|
||||
1.2 About Diffie-Hellman...................................3
|
||||
2. Encoding Diffie-Hellman Keying Information..............4
|
||||
3. Performance Considerations..............................5
|
||||
4. IANA Considerations.....................................5
|
||||
5. Security Considerations.................................5
|
||||
Copyright, Disclaimer, and Additional IPR Provisions.......5
|
||||
|
||||
Normative References.......................................7
|
||||
Informative Refences.......................................7
|
||||
|
||||
Author's Address...........................................8
|
||||
Expiration and File Name...................................8
|
||||
|
||||
Appendix A: Well known prime/generator pairs...............9
|
||||
A.1. Well-Known Group 1: A 768 bit prime..................9
|
||||
A.2. Well-Known Group 2: A 1024 bit prime.................9
|
||||
A.3. Well-Known Group 3: A 1536 bit prime................10
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 2]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
1. Introduction
|
||||
|
||||
The Domain Name System (DNS) is the global hierarchical replicated
|
||||
distributed database system for Internet addressing, mail proxy, and
|
||||
similar information [RFC 1034, 1035]. The DNS has been extended to
|
||||
include digital signatures and cryptographic keys as described in
|
||||
[RFC 4033, 4034, 4035] and additonal work is underway which would use
|
||||
the storage of keying information in the DNS.
|
||||
|
||||
|
||||
|
||||
1.1 About This Document
|
||||
|
||||
This document describes how to store Diffie-Hellman keys in the DNS.
|
||||
Familiarity with the Diffie-Hellman key exchange algorithm is assumed
|
||||
[Schneier, RFC 2631].
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
1.2 About Diffie-Hellman
|
||||
|
||||
Diffie-Hellman requires two parties to interact to derive keying
|
||||
information which can then be used for authentication. Thus Diffie-
|
||||
Hellman is inherently a key agreement algorithm. As a result, no
|
||||
format is defined for Diffie-Hellman "signature information". For
|
||||
example, assume that two parties have local secrets "i" and "j".
|
||||
Assume they each respectively calculate X and Y as follows:
|
||||
|
||||
X = g**i ( mod p )
|
||||
|
||||
Y = g**j ( mod p )
|
||||
|
||||
They exchange these quantities and then each calculates a Z as
|
||||
follows:
|
||||
|
||||
Zi = Y**i ( mod p )
|
||||
|
||||
Zj = X**j ( mod p )
|
||||
|
||||
Zi and Zj will both be equal to g**(i*j)(mod p) and will be a shared
|
||||
secret between the two parties that an adversary who does not know i
|
||||
or j will not be able to learn from the exchanged messages (unless
|
||||
the adversary can derive i or j by performing a discrete logarithm
|
||||
mod p which is hard for strong p and g).
|
||||
|
||||
The private key for each party is their secret i (or j). The public
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 3]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
key is the pair p and g, which is the same for both parties, and
|
||||
their individual X (or Y).
|
||||
|
||||
For further information about Diffie-Hellman and precautions to take
|
||||
in deciding on a p and g, see [RFC 2631].
|
||||
|
||||
|
||||
|
||||
2. Encoding Diffie-Hellman Keying Information
|
||||
|
||||
When Diffie-Hellman keys appear within the RDATA portion of a RR,
|
||||
they are encoded as shown below.
|
||||
|
||||
The period of key validity is not included in this data but is
|
||||
indicated separately, for example by an RR such as RRSIG which signs
|
||||
and authenticates the RR containing the keying information.
|
||||
|
||||
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
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| KEY flags | protocol | algorithm=2 |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| prime length (or flag) | prime (p) (or special) /
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
/ prime (p) (variable length) | generator length |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| generator (g) (variable length) |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
| public value length | public value (variable length)/
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
/ public value (g^i mod p) (variable length) |
|
||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||
|
||||
Prime length is the length of the Diffie-Hellman prime (p) in bytes
|
||||
if it is 16 or greater. Prime contains the binary representation of
|
||||
the Diffie-Hellman prime with most significant byte first (i.e., in
|
||||
network order). If "prime length" field is 1 or 2, then the "prime"
|
||||
field is actually an unsigned index into a table of 65,536
|
||||
prime/generator pairs and the generator length SHOULD be zero. See
|
||||
Appedix A for defined table entries and Section 4 for information on
|
||||
allocating additional table entries. The meaning of a zero or 3
|
||||
through 15 value for "prime length" is reserved.
|
||||
|
||||
Generator length is the length of the generator (g) in bytes.
|
||||
Generator is the binary representation of generator with most
|
||||
significant byte first. PublicValueLen is the Length of the Public
|
||||
Value (g**i (mod p)) in bytes. PublicValue is the binary
|
||||
representation of the DH public value with most significant byte
|
||||
first.
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 4]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
3. Performance Considerations
|
||||
|
||||
Current DNS implementations are optimized for small transfers,
|
||||
typically less than 512 bytes including DNS overhead. Larger
|
||||
transfers will perform correctly and extensions have been
|
||||
standardized [RFC 2671] to make larger transfers more efficient. But
|
||||
it is still advisable at this time to make reasonable efforts to
|
||||
minimize the size of RR sets containing keying information consistent
|
||||
with adequate security.
|
||||
|
||||
|
||||
|
||||
4. IANA Considerations
|
||||
|
||||
Assignment of meaning to Prime Lengths of 0 and 3 through 15 requires
|
||||
an IETF consensus as defined in [RFC 2434].
|
||||
|
||||
Well known prime/generator pairs number 0x0000 through 0x07FF can
|
||||
only be assigned by an IETF standards action. [RFC 2539], the
|
||||
Proposed Standard predecessor of this document, assigned 0x0001
|
||||
through 0x0002. This document additionally assigns 0x0003. Pairs
|
||||
number 0s0800 through 0xBFFF can be assigned based on RFC
|
||||
documentation. Pairs number 0xC000 through 0xFFFF are available for
|
||||
private use and are not centrally coordinated. Use of such private
|
||||
pairs outside of a closed environment may result in conflicts and/or
|
||||
security failures.
|
||||
|
||||
|
||||
|
||||
5. Security Considerations
|
||||
|
||||
Keying information retrieved from the DNS should not be trusted
|
||||
unless (1) it has been securely obtained from a secure resolver or
|
||||
independently verified by the user and (2) this secure resolver and
|
||||
secure obtainment or independent verification conform to security
|
||||
policies acceptable to the user. As with all cryptographic
|
||||
algorithms, evaluating the necessary strength of the key is important
|
||||
and dependent on security policy.
|
||||
|
||||
In addition, the usual Diffie-Hellman key strength considerations
|
||||
apply. (p-1)/2 SHOULD also be prime, g SHOULD be primitive mod p, p
|
||||
SHOULD be "large", etc. See [RFC 2631, Schneier].
|
||||
|
||||
|
||||
|
||||
Copyright, Disclaimer, and Additional IPR Provisions
|
||||
|
||||
Copyright (C) The Internet Society (2006). 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.
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 5]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 6]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
Normative References
|
||||
|
||||
[RFC 2119] - Bradner, S., "Key words for use in RFCs to Indicate
|
||||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||
|
||||
[RFC 2434] - "Guidelines for Writing an IANA Considerations Section
|
||||
in RFCs", T. Narten, H. Alvestrand, October 1998.
|
||||
|
||||
[RFC 2631] - "Diffie-Hellman Key Agreement Method", E. Rescorla, June
|
||||
1999.
|
||||
|
||||
[RFC 4034] - Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Resource Records for the DNS Security Extensions", RFC 4034,
|
||||
March 2005.
|
||||
|
||||
|
||||
|
||||
Informative Refences
|
||||
|
||||
[RFC 1034] - "Domain names - concepts and facilities", P.
|
||||
Mockapetris, November 1987.
|
||||
|
||||
[RFC 1035] - "Domain names - implementation and specification", P.
|
||||
Mockapetris, November 1987.
|
||||
|
||||
[RFC 2539] - "Storage of Diffie-Hellman Keys in the Domain Name
|
||||
System (DNS)", D. Eastlake, March 1999, obsoleted by this RFC.
|
||||
|
||||
[RFC 2671] - "Extension Mechanisms for DNS (EDNS0)", P. Vixie, August
|
||||
1999.
|
||||
|
||||
[RFC 4033] - Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "DNS Security Introduction and Requirements", RFC 4033, March
|
||||
2005.
|
||||
|
||||
[RFC 4035] - Arends, R., Austein, R., Larson, M., Massey, D., and S.
|
||||
Rose, "Protocol Modifications for the DNS Security Extensions", RFC
|
||||
4035, March 2005.
|
||||
|
||||
[Schneier] - Bruce Schneier, "Applied Cryptography: Protocols,
|
||||
Algorithms, and Source Code in C" (Second Edition), 1996, John Wiley
|
||||
and Sons.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 7]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
Author's Address
|
||||
|
||||
Donald E. Eastlake 3rd
|
||||
Motorola Laboratories
|
||||
155 Beaver Street
|
||||
Milford, MA 01757 USA
|
||||
|
||||
Telephone: +1-508-786-7554
|
||||
EMail: Donald.Eastlake@motorola.com
|
||||
|
||||
|
||||
|
||||
Expiration and File Name
|
||||
|
||||
This draft expires in September 2006.
|
||||
|
||||
Its file name is draft-ietf-dnsext-rfc2539bis-dhk-07.txt.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 8]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
Appendix A: Well known prime/generator pairs
|
||||
|
||||
These numbers are copied from the IPSEC effort where the derivation
|
||||
of these values is more fully explained and additional information is
|
||||
available. Richard Schroeppel performed all the mathematical and
|
||||
computational work for this appendix.
|
||||
|
||||
|
||||
|
||||
A.1. Well-Known Group 1: A 768 bit prime
|
||||
|
||||
The prime is 2^768 - 2^704 - 1 + 2^64 * { [2^638 pi] + 149686 }. Its
|
||||
decimal value is
|
||||
155251809230070893513091813125848175563133404943451431320235
|
||||
119490296623994910210725866945387659164244291000768028886422
|
||||
915080371891804634263272761303128298374438082089019628850917
|
||||
0691316593175367469551763119843371637221007210577919
|
||||
|
||||
Prime modulus: Length (32 bit words): 24, Data (hex):
|
||||
FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
|
||||
29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
|
||||
EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
|
||||
E485B576 625E7EC6 F44C42E9 A63A3620 FFFFFFFF FFFFFFFF
|
||||
|
||||
Generator: Length (32 bit words): 1, Data (hex): 2
|
||||
|
||||
|
||||
|
||||
A.2. Well-Known Group 2: A 1024 bit prime
|
||||
|
||||
The prime is 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }.
|
||||
Its decimal value is
|
||||
179769313486231590770839156793787453197860296048756011706444
|
||||
423684197180216158519368947833795864925541502180565485980503
|
||||
646440548199239100050792877003355816639229553136239076508735
|
||||
759914822574862575007425302077447712589550957937778424442426
|
||||
617334727629299387668709205606050270810842907692932019128194
|
||||
467627007
|
||||
|
||||
Prime modulus: Length (32 bit words): 32, Data (hex):
|
||||
FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
|
||||
29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
|
||||
EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
|
||||
E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
|
||||
EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381
|
||||
FFFFFFFF FFFFFFFF
|
||||
|
||||
Generator: Length (32 bit words): 1, Data (hex): 2
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 9]
|
||||
|
||||
|
||||
INTERNET-DRAFT Diffie-Hellman Information in the DNS
|
||||
|
||||
|
||||
A.3. Well-Known Group 3: A 1536 bit prime
|
||||
|
||||
The prime is 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 }.
|
||||
Its decimal value is
|
||||
241031242692103258855207602219756607485695054850245994265411
|
||||
694195810883168261222889009385826134161467322714147790401219
|
||||
650364895705058263194273070680500922306273474534107340669624
|
||||
601458936165977404102716924945320037872943417032584377865919
|
||||
814376319377685986952408894019557734611984354530154704374720
|
||||
774996976375008430892633929555996888245787241299381012913029
|
||||
459299994792636526405928464720973038494721168143446471443848
|
||||
8520940127459844288859336526896320919633919
|
||||
|
||||
Prime modulus Length (32 bit words): 48, Data (hex):
|
||||
FFFFFFFF FFFFFFFF C90FDAA2 2168C234 C4C6628B 80DC1CD1
|
||||
29024E08 8A67CC74 020BBEA6 3B139B22 514A0879 8E3404DD
|
||||
EF9519B3 CD3A431B 302B0A6D F25F1437 4FE1356D 6D51C245
|
||||
E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED
|
||||
EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE45B3D
|
||||
C2007CB8 A163BF05 98DA4836 1C55D39A 69163FA8 FD24CF5F
|
||||
83655D23 DCA3AD96 1C62F356 208552BB 9ED52907 7096966D
|
||||
670C354E 4ABC9804 F1746C08 CA237327 FFFFFFFF FFFFFFFF
|
||||
|
||||
Generator: Length (32 bit words): 1, Data (hex): 2
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
D. Eastlake 3rd [Page 10]
|
||||
|
||||
|
|
@ -1,755 +0,0 @@
|
|||
|
||||
|
||||
Network Working Group B. Laurie
|
||||
Internet-Draft Nominet
|
||||
Expires: March 2, 2005 R. Loomis
|
||||
SAIC
|
||||
September 2004
|
||||
|
||||
|
||||
|
||||
Requirements related to DNSSEC Signed Proof of Non-Existence
|
||||
draft-ietf-dnsext-signed-nonexistence-requirements-01
|
||||
|
||||
|
||||
Status of this Memo
|
||||
|
||||
|
||||
This document is an Internet-Draft and is subject to all provisions
|
||||
of section 3 of RFC 3667. 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 become aware will be disclosed, in accordance with
|
||||
RFC 3668.
|
||||
|
||||
|
||||
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 March 2, 2005.
|
||||
|
||||
|
||||
Copyright Notice
|
||||
|
||||
|
||||
Copyright (C) The Internet Society (2004).
|
||||
|
||||
|
||||
Abstract
|
||||
|
||||
|
||||
DNSSEC-bis uses the NSEC record to provide authenticated denial of
|
||||
existence of RRsets. NSEC also has the side-effect of permitting
|
||||
zone enumeration, even if zone transfers have been forbidden.
|
||||
Because some see this as a problem, this document has been assembled
|
||||
to detail the possible requirements for denial of existence A/K/A
|
||||
signed proof of non-existence.
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 1]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
|
||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
2. Non-purposes . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
3. Zone Enumeration . . . . . . . . . . . . . . . . . . . . . . 3
|
||||
4. Zone Enumeration II . . . . . . . . . . . . . . . . . . . . 4
|
||||
5. Zone Enumeration III . . . . . . . . . . . . . . . . . . . . 4
|
||||
6. Exposure of Contents . . . . . . . . . . . . . . . . . . . . 4
|
||||
7. Zone Size . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
8. Single Method . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
9. Empty Non-terminals . . . . . . . . . . . . . . . . . . . . 5
|
||||
10. Prevention of Precomputed Dictionary Attacks . . . . . . . . 6
|
||||
11. DNSSEC-Adoption and Zone-Growth Relationship . . . . . . . . 6
|
||||
12. Non-overlap of denial records with possible zone records . . 7
|
||||
13. Exposure of Private Keys . . . . . . . . . . . . . . . . . . 7
|
||||
14. Minimisation of Zone Signing Cost . . . . . . . . . . . . . 8
|
||||
15. Minimisation of Asymmetry . . . . . . . . . . . . . . . . . 8
|
||||
16. Minimisation of Client Complexity . . . . . . . . . . . . . 8
|
||||
17. Completeness . . . . . . . . . . . . . . . . . . . . . . . . 8
|
||||
18. Purity of Namespace . . . . . . . . . . . . . . . . . . . . 8
|
||||
19. Replay Attacks . . . . . . . . . . . . . . . . . . . . . . . 8
|
||||
20. Compatibility with NSEC . . . . . . . . . . . . . . . . . . 8
|
||||
21. Compatibility with NSEC II . . . . . . . . . . . . . . . . . 9
|
||||
22. Compatibility with NSEC III . . . . . . . . . . . . . . . . 9
|
||||
23. Coexistence with NSEC . . . . . . . . . . . . . . . . . . . 9
|
||||
24. Coexistence with NSEC II . . . . . . . . . . . . . . . . . . 9
|
||||
25. Protocol Design . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
26. Process . . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
27. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
|
||||
28. Requirements notation . . . . . . . . . . . . . . . . . . . 9
|
||||
29. Security Considerations . . . . . . . . . . . . . . . . . . 10
|
||||
30. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
|
||||
30.1 Normative References . . . . . . . . . . . . . . . . . . . 10
|
||||
30.2 Informative References . . . . . . . . . . . . . . . . . . 10
|
||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 10
|
||||
Intellectual Property and Copyright Statements . . . . . . . 11
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 2]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
1. Introduction
|
||||
|
||||
|
||||
NSEC records allow trivial enumeration of zones - a situation that
|
||||
has existed for several years but which has recently been raised as a
|
||||
significant concern for DNSSECbis deployment in several zones.
|
||||
Alternate proposals have been made that make zone enumeration more
|
||||
difficult, and some previous proposals to modify DNSSEC had related
|
||||
requirements/desirements that are relevant to the discussion. In
|
||||
addition the original designs for NSEC/NXT records were based on
|
||||
working group discussions and the choices made were not always
|
||||
documented with context and requirements-- so some of those choices
|
||||
may need to be restated as requirements. Overall, the working group
|
||||
needs to better understand the requirements for denial of existence
|
||||
(and certain other requirements related to DNSSECbis deployment) in
|
||||
order to evaluate the proposals that may replace NSEC.
|
||||
|
||||
|
||||
In the remainder of this document, "NSEC++" is used as shorthand for
|
||||
"a denial of existence proof that will replace NSEC". "NSECbis" has
|
||||
also been used as shorthand for this, but we avoid that usage since
|
||||
NSECbis will not be part of DNSSECbis and therefore there might be
|
||||
some confusion.
|
||||
|
||||
|
||||
2. Non-purposes
|
||||
|
||||
|
||||
This document does not currently document the reasons why zone
|
||||
enumeration might be "bad" from a privacy, security, business, or
|
||||
other perspective--except insofar as those reasons result in
|
||||
requirements. Once the list of requirements is complete and vaguely
|
||||
coherent, the trade-offs (reducing zone enumeration will have X cost,
|
||||
while providing Y benefit) may be revisited. The editors of this
|
||||
compendium received inputs on the potential reasons why zone
|
||||
enumeration is bad (and there was significant discussion on the
|
||||
DNSEXT WG mailing list) but that information fell outside the scope
|
||||
of this document.
|
||||
|
||||
|
||||
Note also that this document does not assume that NSEC *must* be
|
||||
replaced with NSEC++, if the requirements can be met through other
|
||||
methods (e.g., "white lies" with the current NSEC). As is stated
|
||||
above, this document is focused on requirements collection and
|
||||
(ideally) prioritization rather than on the actual implementation.
|
||||
|
||||
|
||||
3. Zone Enumeration
|
||||
|
||||
|
||||
Authenticated denial should not permit trivial zone enumeration.
|
||||
|
||||
|
||||
Additional discussion: NSEC (and NXT before it) provide a linked
|
||||
list that could be "walked" to trivially enumerate all the signed
|
||||
records in a zone. This requirement is primarily (though not
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 3]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
exclusively) important for zones that either are delegation-only/
|
||||
-mostly or do not have reverse lookup (PTR) records configured, since
|
||||
enterprises that have PTR records for all A records have already
|
||||
provided a similar capability to enumerate the contents of DNS zones.
|
||||
|
||||
|
||||
Contributor: various
|
||||
|
||||
|
||||
4. Zone Enumeration II
|
||||
|
||||
|
||||
Zone enumeration should be at least as difficult as it would be to
|
||||
effect a dictionary attack using simple DNS queries to do the same in
|
||||
an unsecured zone.
|
||||
|
||||
|
||||
(Editor comment: it is not clear how to measure difficulty in this
|
||||
case. Some examples could be monetary cost, bandwidth, processing
|
||||
power or some combination of these. It has also been suggested that
|
||||
the requirement is that the graph of difficulty of enumeration vs.
|
||||
the fraction of the zone enumerated should be approximately the same
|
||||
shape in the two cases)
|
||||
|
||||
|
||||
Contributor: Nominet
|
||||
|
||||
|
||||
5. Zone Enumeration III
|
||||
|
||||
|
||||
Enumeration of a zone with random contents should computationally
|
||||
infeasible.
|
||||
|
||||
|
||||
Editor comment: this is proposed as a way of evaluating the
|
||||
effectiveness of a proposal rather than as a requirement anyone would
|
||||
actually have in practice.
|
||||
|
||||
|
||||
Contributor: Alex Bligh
|
||||
|
||||
|
||||
6. Exposure of Contents
|
||||
|
||||
|
||||
NSEC++ should not expose any of the contents of the zone (apart from
|
||||
the NSEC++ records themselves, of course).
|
||||
|
||||
|
||||
Editor comment: this is a weaker requirement than prevention of
|
||||
enumeration, but certainly any zone that satisfied this requirement
|
||||
would also satisfy the trivial prevention of enumeration requirement.
|
||||
|
||||
|
||||
Contributor: Ed Lewis
|
||||
|
||||
|
||||
7. Zone Size
|
||||
|
||||
|
||||
Requirement: NSEC++ should make it possible to take precautions
|
||||
against trivial zone size estimates. Since not all zone owners care
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 4]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
about others estimation of the size of a zone, it is not always
|
||||
necessary to prohibit trivial estimation of the size of the zone but
|
||||
NSEC++ should allow such measures.
|
||||
|
||||
|
||||
Additional Discussion: Even with proposals based on obfuscating names
|
||||
with hashes it is trivial to give very good estimates of the number
|
||||
of domains in a certain zone. Just send 10 random queries and look
|
||||
at the range between the two hash values returned in each NSEC++. As
|
||||
hash output can be assumed to follow a rectangular random
|
||||
distribution, using the mean difference between the two values, you
|
||||
can estimate the total number of records. It is probably sufficient
|
||||
to look at even one NSEC++, since the two hash values should follow a
|
||||
(I believe) Poisson distribution.
|
||||
|
||||
|
||||
The concern is motivated by some wording remembered from NSEC, which
|
||||
stated that NSEC MUST only be present for existing owner names in the
|
||||
zone, and MUST NOT be present for non-existing owner names. If
|
||||
similar wording were carried over to NSEC++, introducing bogus owner
|
||||
names in the hash chain (an otherwise simple solution to guard
|
||||
against trivial estimates of zone size) wouldn't be allowed.
|
||||
|
||||
|
||||
One simple attempt at solving this is to describe in the
|
||||
specifications how zone signer tools can add a number of random
|
||||
"junk" records.
|
||||
|
||||
|
||||
Editor's comment: it is interesting that obfuscating names might
|
||||
actually make it easier to estimate zone size.
|
||||
|
||||
|
||||
Contributor: Simon Josefsson.
|
||||
|
||||
|
||||
8. Single Method
|
||||
|
||||
|
||||
Requirement: A single NSEC++ method must be able to carry both
|
||||
old-style denial (i.e. plain labels) and whatever the new style
|
||||
looks like. Having two separate denial methods could result in
|
||||
cornercases where one method can deny the other and vice versa.
|
||||
|
||||
|
||||
Additional discussion: This requirement can help -bis folks to a
|
||||
smooth upgrade to -ter. First they'd change the method while the
|
||||
content is the same, then they can change content of the method.
|
||||
|
||||
|
||||
Contributor: Roy Arends.
|
||||
|
||||
|
||||
9. Empty Non-terminals
|
||||
|
||||
|
||||
Requirement: Empty-non-terminals (ENT) should remain empty. In
|
||||
other words, adding NSEC++ records to an existing DNS structure
|
||||
should not cause the creation of NSEC++ records (or related records)
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 5]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
at points that are otherwise ENT.
|
||||
|
||||
|
||||
Additional discussion: Currently NSEC complies with ENT requirement:
|
||||
b.example.com NSEC a.c.example.com implies the existence of an ENT
|
||||
with ownername c.example.com. NSEC2 breaks that requirement, since
|
||||
the ownername is entirely hashed causing the structure to disappear.
|
||||
This is why EXIST was introduced. But EXIST causes ENT to be
|
||||
non-empty-terminals. Next to the dissappearance of ENT, it causes
|
||||
(some) overhead since an EXIST record needs a SIG, NSEC2 and
|
||||
SIG(NSEC2). DNSNR honours this requirement by hashing individual
|
||||
labels instead of ownernames. However this causes very long labels.
|
||||
Truncation is a measure against very long ownernames, but that is
|
||||
controversial. There is a fair discussion of the validity of
|
||||
truncation in the DNSNR draft, but that hasn't got proper review yet.
|
||||
|
||||
|
||||
Contributor: Roy Arends.
|
||||
|
||||
|
||||
(Editor comment: it is not clear to us that an EXIST record needs an
|
||||
NSEC2 record, since it is a special purpose record only used for
|
||||
denial of existence)
|
||||
|
||||
|
||||
10. Prevention of Precomputed Dictionary Attacks
|
||||
|
||||
|
||||
Requirement: NSEC++ needs to provide a method to reduce the
|
||||
effectiveness of precomputed dictionary attacks.
|
||||
|
||||
|
||||
Additional Discussion: Salt is a measure against dictionary attacks.
|
||||
There are other possible measures (such as iterating hashes in
|
||||
NSEC2). The salt needs to be communicated in every response, since
|
||||
it is needed in every verification. Some have suggested to move the
|
||||
salt to a special record instead of the denial record. I think this
|
||||
is not wise. Response size has more priority over zone size. An
|
||||
extra record causes a larger response than a larger existing record.
|
||||
|
||||
|
||||
Contributor: Roy Arends.
|
||||
|
||||
|
||||
(Editor comment: the current version of NSEC2 also has the salt in
|
||||
every NSEC2 record)
|
||||
|
||||
|
||||
11. DNSSEC-Adoption and Zone-Growth Relationship
|
||||
|
||||
|
||||
Background: Currently with NSEC, when a delegation centric zone
|
||||
deploys DNSSEC, the zone-size multiplies by a non-trivial factor even
|
||||
when the DNSSEC-adoption rate of the subzones remains low--because
|
||||
each delegation point creates at least one NSEC record and
|
||||
corresponding signature in the parent even if the child is not
|
||||
signed.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 6]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
Requirements: A delegation-only (or delegation-mostly) zone that is
|
||||
signed but which has no signed child zones should initially need only
|
||||
to add SIG(SOA), DNSKEY, and SIG(DNSKEY) at the apex, along with some
|
||||
minimal set of NSEC++ records to cover zone contents. Further,
|
||||
during the transition of a delegation-only zone from 0% signed
|
||||
children to 100% signed children, the growth in the delegation-only
|
||||
zone should be roughly proportional to the percentage of signed child
|
||||
zones.
|
||||
|
||||
|
||||
Additional Discussion: This is why DNSNR has the Authoritative Only
|
||||
bit. This is similar to opt-in for delegations only. This (bit) is
|
||||
currently the only method to help delegation-centric zone cope with
|
||||
zone-growth due to DNSSEC adoption. As an example, A delegation only
|
||||
zone which deploys DNSSEC with the help of this bit, needs to add
|
||||
SIG(SOA), DNSKEY, SIG(DNSKEY), DNSNR, SIG(DNSNR) at the apex. No
|
||||
more than that.
|
||||
|
||||
|
||||
Contributor: Roy Arends.
|
||||
|
||||
|
||||
12. Non-overlap of denial records with possible zone records
|
||||
|
||||
|
||||
Requirement: NSEC++ records should in some way be differentiated
|
||||
from regular zone records, so that there is no possibility that a
|
||||
record in the zone could be duplicated by a non-existence proof
|
||||
(NSEC++) record.
|
||||
|
||||
|
||||
Additional discussion: This requirement is derived from a discussion
|
||||
on the DNSEXT mailing list related to copyrights and domain names.
|
||||
As was outlined there, one solution is to put NSEC++ records in a
|
||||
separate namespace, e.g.: $ORIGIN co.uk.
|
||||
873bcdba87401b485022b8dcd4190e3e IN NS jim.rfc1035.com ; your
|
||||
delegation 873bcdba87401b485022b8dcd4190e3e._no IN NSEC++ 881345...
|
||||
; for amazon.co.uk.
|
||||
|
||||
|
||||
Contributor: various
|
||||
|
||||
|
||||
(Editor comment: One of us still does not see why a conflict
|
||||
matters. Even if there is an apparent conflict or overlap, the
|
||||
"conflicting" NSEC2 name _only_ appears in NSEC2 records, and the
|
||||
other name _never_ appears in NSEC2 records.)
|
||||
|
||||
|
||||
13. Exposure of Private Keys
|
||||
|
||||
|
||||
Private keys associated with the public keys in the DNS should be
|
||||
exposed as little as possible. It is highly undesirable for private
|
||||
keys to be distributed to nameservers, or to otherwise be available
|
||||
in the run-time environment of nameservers.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 7]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
Contributors: Nominet, Olaf Kolkman, Ed Lewis
|
||||
|
||||
|
||||
14. Minimisation of Zone Signing Cost
|
||||
|
||||
|
||||
The additional cost of creating an NSEC++ signed zone should not
|
||||
significantly exceed the cost of creating an ordinary signed zone.
|
||||
|
||||
|
||||
Contributor: Nominet
|
||||
|
||||
|
||||
15. Minimisation of Asymmetry
|
||||
|
||||
|
||||
Nameservers should have to do as little additional work as necessary.
|
||||
More precisely, it is desirable for any increase in cost incurred by
|
||||
the nameservers to be offset by a proportionate increase in cost to
|
||||
DNS `clients', e.g. stub and/or `full-service' resolvers.
|
||||
|
||||
|
||||
Contributor: Nominet
|
||||
|
||||
|
||||
16. Minimisation of Client Complexity
|
||||
|
||||
|
||||
Caching, wildcards, CNAMEs, DNAMEs should continue to work without
|
||||
adding too much complexity at the client side.
|
||||
|
||||
|
||||
Contributor: Olaf Kolkman
|
||||
|
||||
|
||||
17. Completeness
|
||||
|
||||
|
||||
A proof of nonexistence should be possible for all nonexistent data
|
||||
in the zone.
|
||||
|
||||
|
||||
Contributor: Olaf Kolkman
|
||||
|
||||
|
||||
18. Purity of Namespace
|
||||
|
||||
|
||||
The name space should not be muddied with fake names or data sets.
|
||||
|
||||
|
||||
Contributor: Ed Lewis
|
||||
|
||||
|
||||
19. Replay Attacks
|
||||
|
||||
|
||||
NSEC++ should not allow a replay to be used to deny existence of an
|
||||
RR that actually exists.
|
||||
|
||||
|
||||
Contributor: Ed Lewis
|
||||
|
||||
|
||||
20. Compatibility with NSEC
|
||||
|
||||
|
||||
NSEC++ should not introduce changes incompatible with NSEC.
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 8]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
Contributor: Ed Lewis
|
||||
|
||||
|
||||
21. Compatibility with NSEC II
|
||||
|
||||
|
||||
NSEC++ should differ from NSEC in a way that is transparent to the
|
||||
resolver or validator.
|
||||
|
||||
|
||||
Contributor: Ed Lewis
|
||||
|
||||
|
||||
22. Compatibility with NSEC III
|
||||
|
||||
|
||||
NSEC++ should differ from NSEC as little as possible whilst achieving
|
||||
other requirements.
|
||||
|
||||
|
||||
Contributor: Alex Bligh
|
||||
|
||||
|
||||
23. Coexistence with NSEC
|
||||
|
||||
|
||||
NSEC++ should be optional, allowing NSEC to be used instead.
|
||||
|
||||
|
||||
Contributor: Ed Lewis, Alex Bligh
|
||||
|
||||
|
||||
24. Coexistence with NSEC II
|
||||
|
||||
|
||||
NSEC++ should not impose extra work on those content with NSEC.
|
||||
|
||||
|
||||
Contributor: Ed Lewis
|
||||
|
||||
|
||||
25. Protocol Design
|
||||
|
||||
|
||||
A good security protocol would allow signing the nonexistence of some
|
||||
selected names without revealing anything about other names.
|
||||
|
||||
|
||||
Contributor: Dan Bernstein
|
||||
|
||||
|
||||
26. Process
|
||||
|
||||
|
||||
Clearly not all of these requirements can be met. Therefore the next
|
||||
phase of this document will be to either prioritise them or narrow
|
||||
them down to a non-contradictory set, which should then allow us to
|
||||
judge proposals on the basis of their fit.
|
||||
|
||||
|
||||
27. Acknowledgements
|
||||
|
||||
|
||||
28. Requirements notation
|
||||
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 9]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
document are to be interpreted as described in [RFC2119].
|
||||
|
||||
|
||||
29. Security Considerations
|
||||
|
||||
|
||||
There are currently no security considerations called out in this
|
||||
draft. There will be security considerations in the choice of which
|
||||
requirements will be implemented, but there are no specific security
|
||||
requirements during the requirements collection process.
|
||||
|
||||
|
||||
30. References
|
||||
|
||||
|
||||
30.1 Normative References
|
||||
|
||||
|
||||
[dnssecbis-protocol]
|
||||
"DNSSECbis Protocol Definitions", BCP XX, RFC XXXX, Some
|
||||
Month 2004.
|
||||
|
||||
|
||||
30.2 Informative References
|
||||
|
||||
|
||||
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision
|
||||
3", BCP 9, RFC 2026, October 1996.
|
||||
|
||||
|
||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||||
|
||||
|
||||
[RFC2418] Bradner, S., "IETF Working Group Guidelines and
|
||||
Procedures", BCP 25, RFC 2418, September 1998.
|
||||
|
||||
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
|
||||
Ben Laurie
|
||||
Nominet
|
||||
17 Perryn Road
|
||||
London W3 7LR
|
||||
England
|
||||
|
||||
|
||||
Phone: +44 (20) 8735 0686
|
||||
EMail: ben@algroup.co.uk
|
||||
|
||||
|
||||
|
||||
Rip Loomis
|
||||
Science Applications International Corporation
|
||||
7125 Columbia Gateway Drive, Suite 300
|
||||
Columbia, MD 21046
|
||||
US
|
||||
|
||||
|
||||
EMail: gilbert.r.loomis@saic.com
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 10]
|
||||
Internet-Draft signed-nonexistence-requirements September 2004
|
||||
|
||||
|
||||
|
||||
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 (2004). 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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Laurie & Loomis Expires March 2, 2005 [Page 11]
|
||||
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue