mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 15:45:25 +00:00
new draft
This commit is contained in:
@@ -4,9 +4,10 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DNSEXT Working Group Olafur Gudmundsson
|
DNSEXT Working Group Olafur Gudmundsson
|
||||||
INTERNET-DRAFT June 2002
|
INTERNET-DRAFT October 2002
|
||||||
<draft-ietf-dnsext-delegation-signer-08.txt>
|
<draft-ietf-dnsext-delegation-signer-10.txt>
|
||||||
|
|
||||||
Updates: RFC 1035, RFC 2535, RFC 3008, RFC 3090.
|
Updates: RFC 1035, RFC 2535, RFC 3008, RFC 3090.
|
||||||
|
|
||||||
@@ -38,7 +39,7 @@ Status of this Memo
|
|||||||
Comments should be sent to the authors or the DNSEXT WG mailing list
|
Comments should be sent to the authors or the DNSEXT WG mailing list
|
||||||
namedroppers@ops.ietf.org
|
namedroppers@ops.ietf.org
|
||||||
|
|
||||||
This draft expires on December 30, 2002.
|
This draft expires on April 16, 2003.
|
||||||
|
|
||||||
Copyright Notice
|
Copyright Notice
|
||||||
|
|
||||||
@@ -56,9 +57,9 @@ Abstract
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 1]
|
Gudmundsson Expires April 2003 [Page 1]
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
operational considerations. The intent is to use this resource record
|
operational considerations. The intent is to use this resource record
|
||||||
@@ -85,7 +86,7 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
on the Internet have differing NS RRsets at parent and child. There
|
on the Internet have differing NS RRsets at parent and child. There
|
||||||
are a number of reasons for this, including a lack of communication
|
are a number of reasons for this, including a lack of communication
|
||||||
between parent and child and bogus name servers being listed to meet
|
between parent and child and bogus name servers being listed to meet
|
||||||
registrar requirements.
|
registry requirements.
|
||||||
|
|
||||||
DNSSEC [RFC2535,RFC3008,RFC3090] specifies that a child zone needs to
|
DNSSEC [RFC2535,RFC3008,RFC3090] specifies that a child zone needs to
|
||||||
have its KEY RRset signed by its parent to create a verifiable chain
|
have its KEY RRset signed by its parent to create a verifiable chain
|
||||||
@@ -113,9 +114,9 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 2]
|
Gudmundsson Expires April 2003 [Page 2]
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
Another complication of the DNSSEC key model is that the KEY record
|
Another complication of the DNSSEC key model is that the KEY record
|
||||||
@@ -170,9 +171,9 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 3]
|
Gudmundsson Expires April 2003 [Page 3]
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
This is cryptographically equivalent to using just KEY records.
|
This is cryptographically equivalent to using just KEY records.
|
||||||
@@ -215,34 +216,38 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
RRset. If a query contains the OK bit, a server returning a referral
|
RRset. If a query contains the OK bit, a server returning a referral
|
||||||
for the delegation MUST include the following RRsets in the authority
|
for the delegation MUST include the following RRsets in the authority
|
||||||
section in this order:
|
section in this order:
|
||||||
|
If DS RRset is present:
|
||||||
parent NS RRset
|
parent NS RRset
|
||||||
DS and SIG(DS) (if DS is present)
|
DS and SIG(DS)
|
||||||
parent NXT and SIG(NXT) (If no DS)
|
If no DS RRset is present:
|
||||||
|
parent NS RRset
|
||||||
|
parent NXT and SIG(NXT)
|
||||||
|
|
||||||
This increases the size of referral messages and may cause some or
|
This increases the size of referral messages and may cause some or
|
||||||
all glue to be omitted. If the DS or NXT RRsets with signatures do
|
all glue to be omitted. If the DS or NXT RRsets with signatures do
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 4]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
not fit in the DNS message, the TC bit MUST be set. Additional
|
not fit in the DNS message, the TC bit MUST be set. Additional
|
||||||
section processing is not changed.
|
section processing is not changed.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 4]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
A DS RRset accompanying an NS RRset indicates that the child zone is
|
A DS RRset accompanying an NS RRset indicates that the child zone is
|
||||||
secure. If an NS RRset exists without a DS RRset, the child zone is
|
secure. If an NS RRset exists without a DS RRset, the child zone is
|
||||||
unsecure. DS RRsets MUST NOT appear at non-delegation points or at a
|
unsecure (from the parents point of view). DS RRsets MUST NOT appear
|
||||||
zone's apex.
|
at non-delegation points or at a zone's apex.
|
||||||
|
|
||||||
The following section 2.2.1 replaces RFC2535 sections 2.3.4 and 3.4,
|
Section 2.2.1 defines special considerations related to authoritative
|
||||||
section 2.2.2 replaces RFC3008 section 2.7, and RFC3090 updates are
|
servers responding to DS queries. Section 2.2.2 replaces RFC2535
|
||||||
in section 2.2.3.
|
sections 2.3.4 and 3.4, section 2.2.3 replaces RFC3008 section 2.7,
|
||||||
|
and section 2.2.4 updates RFC3090.
|
||||||
|
|
||||||
|
|
||||||
2.2.1 RFC2535 2.3.4 and 3.4: Special Considerations at Delegation Points
|
2.2.2 RFC2535 2.3.4 and 3.4: Special Considerations at Delegation Points
|
||||||
|
|
||||||
DNS security views each zone as a unit of data completely under the
|
DNS security views each zone as a unit of data completely under the
|
||||||
control of the zone owner with each entry (RRset) signed by a special
|
control of the zone owner with each entry (RRset) signed by a special
|
||||||
@@ -255,13 +260,13 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
since one server could be serving both the zone above and below a
|
since one server could be serving both the zone above and below a
|
||||||
delegation point [RFC 2181].
|
delegation point [RFC 2181].
|
||||||
|
|
||||||
Each DS RRset stored in the parent zone MUST be signed by one of the
|
Each DS RRset stored in the parent zone MUST be signed by, at least,
|
||||||
parent zone's private key. The parent zone MUST NOT contain a KEY
|
one of the parent zone's private key. The parent zone MUST NOT
|
||||||
RRset at any delegation point. Delegations in the parent MAY contain
|
contain a KEY RRset at any delegation point. Delegations in the
|
||||||
only the following RR types: NS, DS, NXT and SIG. The NS RRset MUST
|
parent MAY contain only the following RR types: NS, DS, NXT and SIG.
|
||||||
NOT be signed. The NXT RRset is the exceptional case: it will always
|
The NS RRset MUST NOT be signed. The NXT RRset is the exceptional
|
||||||
appear differently and authoritatively in both the parent and child
|
case: it will always appear differently and authoritatively in both
|
||||||
zones if both are secure.
|
the parent and child zones if both are secure.
|
||||||
|
|
||||||
A secure zone MUST contain a self-signed KEY RRset at its apex. Upon
|
A secure zone MUST contain a self-signed KEY RRset at its apex. Upon
|
||||||
verifying the DS RRset from the parent, a resolver MAY trust any KEY
|
verifying the DS RRset from the parent, a resolver MAY trust any KEY
|
||||||
@@ -275,20 +280,51 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
in the answer section.
|
in the answer section.
|
||||||
|
|
||||||
|
|
||||||
2.2.2 Signer's Name (replaces RFC3008 section 2.7)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 5]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
|
2.2.2.1 Special processing for DS queries
|
||||||
|
|
||||||
|
When a server is authoritative for the parent zone at a delegation
|
||||||
|
point and receives a query for the DS record at that name, it will
|
||||||
|
return the DS from the parent zone. This is true whether or not it
|
||||||
|
is also authoritative for the child zone.
|
||||||
|
|
||||||
|
When the server is authoritative for the child zone at a delegation
|
||||||
|
point but not the parent zone, there is no natural response, since
|
||||||
|
the child zone is not authoritative for the DS record at the zone's
|
||||||
|
apex. As these queries are only expected to originate from recursive
|
||||||
|
servers which are not DS-aware, the authoritative server MUST answer
|
||||||
|
with:
|
||||||
|
RCODE: NOERROR
|
||||||
|
AA bit: set
|
||||||
|
Answer Section: Empty
|
||||||
|
Authority Section: SOA [+ SIG(SOA) + NXT + SIG(NXT)]
|
||||||
|
|
||||||
|
That is, it answers as if it is authoritative and the DS record does
|
||||||
|
not exist. DS-aware recursive servers will query the parent zone at
|
||||||
|
delegation points, so will not be affected by this.
|
||||||
|
|
||||||
|
A server authoritative for only the child zone at a delegation point
|
||||||
|
that is also a caching server MAY (if the RD bit is set in the query)
|
||||||
|
perform recursion to find the DS record at the delegation point, and
|
||||||
|
may return the DS record from its cache. In this case, the AA bit
|
||||||
|
MUST not be set in the response.
|
||||||
|
|
||||||
|
|
||||||
|
2.2.3 Signer's Name (replaces RFC3008 section 2.7)
|
||||||
|
|
||||||
The signer's name field of a SIG RR MUST contain the name of the zone
|
The signer's name field of a SIG RR MUST contain the name of the zone
|
||||||
to which the data and signature belong. The combination of signer's
|
to which the data and signature belong. The combination of signer's
|
||||||
name, key tag, and algorithm MUST identify a zone key if the SIG is
|
name, key tag, and algorithm MUST identify a zone key if the SIG is
|
||||||
to be considered material. This document defines a standard policy
|
to be considered material. This document defines a standard policy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 5]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
for DNSSEC validation; local policy may override the standard policy.
|
for DNSSEC validation; local policy may override the standard policy.
|
||||||
|
|
||||||
There are no restrictions on the signer field of a SIG(0) record.
|
There are no restrictions on the signer field of a SIG(0) record.
|
||||||
@@ -302,6 +338,15 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
record.
|
record.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 6]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
2.2.4.1 RFC3090: Updates to section 1: Introduction
|
2.2.4.1 RFC3090: Updates to section 1: Introduction
|
||||||
|
|
||||||
Most of the text is still relevant but the words ``NULL key'' are to
|
Most of the text is still relevant but the words ``NULL key'' are to
|
||||||
@@ -338,26 +383,27 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
DNS delegation model, declaring it to be broken because there is no
|
DNS delegation model, declaring it to be broken because there is no
|
||||||
good way to assert if a delegation exists. In the RFC2535 version of
|
good way to assert if a delegation exists. In the RFC2535 version of
|
||||||
DNSSEC, the presence of the NS bit in the NXT bit map proves there is
|
DNSSEC, the presence of the NS bit in the NXT bit map proves there is
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 6]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
a delegation at this name. Something more explicit is needed and the
|
a delegation at this name. Something more explicit is needed and the
|
||||||
DS record addresses this need for secure delegations.
|
DS record addresses this need for secure delegations.
|
||||||
|
|
||||||
The DS record is a major change to DNS: it is the first resource
|
The DS record is a major change to DNS: it is the first resource
|
||||||
record that can appear only on the upper side of a delegation. Adding
|
record that can appear only on the upper side of a delegation. Adding
|
||||||
it will cause interoperability problems and requires a flag day for
|
it will cause interoperabilty problems and requires a flag day for
|
||||||
DNSSEC. Many old servers and resolvers MUST be upgraded to take
|
DNSSEC. Many old servers and resolvers MUST be upgraded to take
|
||||||
advantage of DS. Some old servers will be able to be authoritative
|
advantage of DS. Some old servers will be able to be authoritative
|
||||||
for zones with DS records but will not add the NXT or DS records to
|
for zones with DS records but will not add the NXT or DS records to
|
||||||
the authority section. The same is true for caching servers; in
|
the authority section. The same is true for caching servers; in
|
||||||
fact, some may even refuse to pass on the DS or NXT records.
|
fact, some may even refuse to pass on the DS or NXT records.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 7]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
2.4 Wire Format of the DS record
|
2.4 Wire Format of the DS record
|
||||||
|
|
||||||
The DS (type=TDB) record contains these fields: key tag, algorithm,
|
The DS (type=TDB) record contains these fields: key tag, algorithm,
|
||||||
@@ -393,16 +439,8 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
KEY_RR_rdata = Flags | Protocol | Algorithm | Public Key
|
KEY_RR_rdata = Flags | Protocol | Algorithm | Public Key
|
||||||
|
|
||||||
Digest type value 0 is reserved, value 1 is SHA-1, and reserving
|
Digest type value 0 is reserved, value 1 is SHA-1, and reserving
|
||||||
other types requires IETF standards action. For interoperability
|
other types requires IETF standards action. For interoperabilty
|
||||||
reasons, as few digest algorithms as possible should be reserved. The
|
reasons, as few digest algorithms as possible should be reserved. The
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 7]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
only reason to reserve additional digest types is to increase
|
only reason to reserve additional digest types is to increase
|
||||||
security.
|
security.
|
||||||
|
|
||||||
@@ -415,6 +453,14 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
The size of the DS RDATA for type 1 (SHA-1) is 24 bytes, regardless
|
The size of the DS RDATA for type 1 (SHA-1) is 24 bytes, regardless
|
||||||
of key size, new digest types probably will have larger digests.
|
of key size, new digest types probably will have larger digests.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 8]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
2.4.1 Justifications for Fields
|
2.4.1 Justifications for Fields
|
||||||
|
|
||||||
The algorithm and key tag fields are present to allow resolvers to
|
The algorithm and key tag fields are present to allow resolvers to
|
||||||
@@ -452,14 +498,6 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
delegations are locally secure. This is bad, but the DNSEXT Working
|
delegations are locally secure. This is bad, but the DNSEXT Working
|
||||||
Group has determined that rather than dealing with both
|
Group has determined that rather than dealing with both
|
||||||
RFC2535-secured zones and DS-secured zones, a rapid adoption of DS is
|
RFC2535-secured zones and DS-secured zones, a rapid adoption of DS is
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 8]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
preferable. Thus the only option for early adopters is to upgrade to
|
preferable. Thus the only option for early adopters is to upgrade to
|
||||||
DS as soon as possible.
|
DS as soon as possible.
|
||||||
|
|
||||||
@@ -473,6 +511,13 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
|
|
||||||
RFC2535 adds the following two cases:
|
RFC2535 adds the following two cases:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 9]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
Secure RFC2535: NS + NXT + SIG(NXT)
|
Secure RFC2535: NS + NXT + SIG(NXT)
|
||||||
NXT bit map contains: NS SIG NXT
|
NXT bit map contains: NS SIG NXT
|
||||||
Unsecure RFC2535: NS + KEY + SIG(KEY) + NXT + SIG(NXT)
|
Unsecure RFC2535: NS + KEY + SIG(KEY) + NXT + SIG(NXT)
|
||||||
@@ -512,9 +557,22 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 9]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 10]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
3 Resolver
|
3 Resolver
|
||||||
@@ -547,9 +605,12 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
secure.example. SOA <soa stuff>
|
secure.example. SOA <soa stuff>
|
||||||
secure.example. NS ns1.secure.example.
|
secure.example. NS ns1.secure.example.
|
||||||
secure.example. KEY <tag=12345 alg=3>
|
secure.example. KEY <tag=12345 alg=3>
|
||||||
|
secure.example. KEY <tag=54321 alg=5>
|
||||||
|
secure.example. NXT <nxt stuff>
|
||||||
secure.example. SIG(KEY) <key-tag=12345 alg=3>
|
secure.example. SIG(KEY) <key-tag=12345 alg=3>
|
||||||
secure.example. SIG(SOA) <key-tag=12345 alg=3>
|
secure.example. SIG(SOA) <key-tag=54321 alg=5>
|
||||||
secure.example. SIG(NS) <key-tag=12345 alg=5>
|
secure.example. SIG(NS) <key-tag=54321 alg=5>
|
||||||
|
secure.example. SIG(NXT) <key-tag=54321 alg=5>
|
||||||
|
|
||||||
In this example the private key for "example." signs the DS record
|
In this example the private key for "example." signs the DS record
|
||||||
for "secure.example.", making that a secure delegation. The DS record
|
for "secure.example.", making that a secure delegation. The DS record
|
||||||
@@ -559,20 +620,22 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
and trusted.
|
and trusted.
|
||||||
|
|
||||||
This example has only one DS record for the child, but parents MUST
|
This example has only one DS record for the child, but parents MUST
|
||||||
allow multiple DS records to facilitate key rollover. It is strongly
|
allow multiple DS records to facilitate key rollover and multiple KEY
|
||||||
recommended that the DS RRset be kept small: two or three DS records
|
algorithms.
|
||||||
SHOULD be sufficient in all cases.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 11]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
The resolver determines the security status of "unsecure.example." by
|
The resolver determines the security status of "unsecure.example." by
|
||||||
examining the parent zone's NXT record for this name. The absence of
|
examining the parent zone's NXT record for this name. The absence of
|
||||||
the DS bit indicates an unsecure delegation.
|
the DS bit indicates an unsecure delegation. Note the NXT record
|
||||||
|
SHOULD only be examined after verifying the corresponding signature.
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 10]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
3.1 Resolver Cost Estimates for DS Records
|
3.1 Resolver Cost Estimates for DS Records
|
||||||
|
|
||||||
@@ -618,19 +681,18 @@ INTERNET-DRAFT Delegation Signer Record June 2002
|
|||||||
|
|
||||||
The DS record represents a change to the DNSSEC protocol and there is
|
The DS record represents a change to the DNSSEC protocol and there is
|
||||||
an installed base of implementations, as well as textbooks on how to
|
an installed base of implementations, as well as textbooks on how to
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 12]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
set up secure delegations. Implementations that do not understand the
|
set up secure delegations. Implementations that do not understand the
|
||||||
DS record will not be able to follow the KEY to DS to KEY chain and
|
DS record will not be able to follow the KEY to DS to KEY chain and
|
||||||
will consider all zones secured that way as unsecure.
|
will consider all zones secured that way as unsecure.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 11]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
5 IANA Considerations:
|
5 IANA Considerations:
|
||||||
|
|
||||||
IANA needs to allocate an RR type code for DS from the standard RR
|
IANA needs to allocate an RR type code for DS from the standard RR
|
||||||
@@ -675,19 +737,19 @@ Normative References:
|
|||||||
[RFC3225] D. Conrad, ``Indicating Resolver Support of DNSSEC'', RFC
|
[RFC3225] D. Conrad, ``Indicating Resolver Support of DNSSEC'', RFC
|
||||||
3225, December 2001.
|
3225, December 2001.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 13]
|
||||||
|
|
||||||
|
INTERNET-DRAFT Delegation Signer Record October 2002
|
||||||
|
|
||||||
|
|
||||||
[RFC3226] O. Gudmundsson, ``DNSSEC and IPv6 A6 aware server/resolver
|
[RFC3226] O. Gudmundsson, ``DNSSEC and IPv6 A6 aware server/resolver
|
||||||
message size requirements'', RFC 3226, December 2001.
|
message size requirements'', RFC 3226, December 2001.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 12]
|
|
||||||
|
|
||||||
INTERNET-DRAFT Delegation Signer Record June 2002
|
|
||||||
|
|
||||||
|
|
||||||
Author Address
|
Author Address
|
||||||
|
|
||||||
Olafur Gudmundsson
|
Olafur Gudmundsson
|
||||||
@@ -736,8 +798,5 @@ Full Copyright Statement
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Gudmundsson Expires April 2003 [Page 14]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Gudmundsson Expires December 2002 [Page 13]
|
|
@@ -1,18 +1,18 @@
|
|||||||
|
|
||||||
|
|
||||||
Network Working Group R. Arends
|
DNS Extensions R. Arends
|
||||||
Internet-Draft Nominum
|
Internet-Draft
|
||||||
Expires: January 21, 2003 M. Larson
|
Expires: April 24, 2003 M. Larson
|
||||||
VeriSign
|
VeriSign
|
||||||
D. Massey
|
D. Massey
|
||||||
USC/ISI
|
USC/ISI
|
||||||
S. Rose
|
S. Rose
|
||||||
NIST
|
NIST
|
||||||
July 23, 2002
|
October 24, 2002
|
||||||
|
|
||||||
|
|
||||||
DNS Security Introduction and Requirements
|
DNS Security Introduction and Requirements
|
||||||
draft-ietf-dnsext-dnssec-intro-02
|
draft-ietf-dnsext-dnssec-intro-03
|
||||||
|
|
||||||
Status of this Memo
|
Status of this Memo
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@ Status of this Memo
|
|||||||
The list of Internet-Draft Shadow Directories can be accessed at
|
The list of Internet-Draft Shadow Directories can be accessed at
|
||||||
http://www.ietf.org/shadow.html.
|
http://www.ietf.org/shadow.html.
|
||||||
|
|
||||||
This Internet-Draft will expire on January 21, 2003.
|
This Internet-Draft will expire on April 24, 2003.
|
||||||
|
|
||||||
Copyright Notice
|
Copyright Notice
|
||||||
|
|
||||||
@@ -52,9 +52,9 @@ Abstract
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 1]
|
Arends, et al. Expires April 24, 2003 [Page 1]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||||
@@ -108,9 +108,9 @@ Table of Contents
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 2]
|
Arends, et al. Expires April 24, 2003 [Page 2]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
@@ -164,34 +164,34 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 3]
|
Arends, et al. Expires April 24, 2003 [Page 3]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
2. Definitions of Important DNSSEC Terms
|
2. Definitions of Important DNSSEC Terms
|
||||||
|
|
||||||
trusted key: A public key, for a zone or a host, that a resolver
|
authentication key: A public key, for a zone or a host, that a
|
||||||
trusts and that can therefore be used to verify data. A key can
|
resolver trusts and that can therefore be used to verify data. A
|
||||||
become trusted in two ways. First, it can be statically
|
key can become trusted in two ways: First, it can be statically
|
||||||
configured and declared as trusted in the resolver's
|
configured and declared in the resolver's initial configuration.
|
||||||
configuration. Second, if a new key is referenced by a DS record
|
Second, if a new key is referenced by a DS record that is signed
|
||||||
that is signed by an already trusted key, and the signature
|
by an already known authentication key, and the signature
|
||||||
verifies, the new key becomes trusted.
|
verifies, the new key becomes trusted by the resolver.
|
||||||
|
|
||||||
chain of trust: In DNSSEC, a key signs a DS record, which points to
|
authentication path: In DNSSEC, a key signs a DS record, which points
|
||||||
another key, which in turn signs another DS record, which points
|
to another key, which in turn signs another DS record, which
|
||||||
to yet another key, etc. This alternating succession of KEY and
|
points to yet another key, etc. This alternating succession of
|
||||||
DS records forms a chain of signed data, with each link in the
|
KEY and DS records forms a chain of signed data, with each link in
|
||||||
chain vouching for the next. A resolver starting at a piece of
|
the chain vouching for the next. A resolver starting at a piece
|
||||||
data in the chain signed by a trusted key can verify all
|
of data in the chain signed by a known authentication key can
|
||||||
subsequent signatures. Thus all subsequent data in the chain is
|
verify all subsequent signatures. Thus all subsequent data in the
|
||||||
trusted.
|
chain is verified and authenticated.
|
||||||
|
|
||||||
security-aware resolver: A resolver (defined in section 2.4 of [4])
|
security-aware resolver: A resolver (defined in section 2.4 of [4])
|
||||||
that understands the DNS security extensions. In particular, a
|
that understands the DNS security extensions. In particular, a
|
||||||
security-aware resolver uses trusted keys to verify signatures
|
security-aware resolver uses known authentication keys to verify
|
||||||
over RRsets and (optionally) DNS messages.
|
signatures over RRsets and (optionally) DNS messages.
|
||||||
|
|
||||||
security-aware server: A name server (also defined in section 2.4 of
|
security-aware server: A name server (also defined in section 2.4 of
|
||||||
[4]) that understands the DNS security extensions. In particular,
|
[4]) that understands the DNS security extensions. In particular,
|
||||||
@@ -204,7 +204,7 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
unsigned zone: The proper term for the opposite of a secure zone.
|
unsigned zone: The proper term for the opposite of a secure zone.
|
||||||
|
|
||||||
secure zone: A zone whose RRsets are signed and which contains
|
signed zone: A zone whose RRsets are signed and which contains
|
||||||
properly constructed KEY, SIG, NXT and (optionally) DS records.
|
properly constructed KEY, SIG, NXT and (optionally) DS records.
|
||||||
|
|
||||||
|
|
||||||
@@ -220,9 +220,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 4]
|
Arends, et al. Expires April 24, 2003 [Page 4]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
3. Services Provided by DNS Security
|
3. Services Provided by DNS Security
|
||||||
@@ -258,34 +258,36 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
record (see Section 3.2 below). (Note that the private keys used to
|
record (see Section 3.2 below). (Note that the private keys used to
|
||||||
sign zone data must be kept secure and best practices call for them
|
sign zone data must be kept secure and best practices call for them
|
||||||
to be stored offline.) To reliably discover a public key by DNS
|
to be stored offline.) To reliably discover a public key by DNS
|
||||||
resolution, the key itself needs to be signed by another key that the
|
resolution, the key itself needs to be signed by either a statically
|
||||||
resolver trusts. Zone information is authenticated by forming a
|
configured authentication key or another key that has been previously
|
||||||
chain of trust from a newly learned public key back to a trusted
|
authenticated. Zone information is authenticated by forming a chain
|
||||||
public key (which is either statically configured or previously
|
from a newly learned public key back to a previously known
|
||||||
learned and verified). Therefore, the resolver must be configured
|
authentication public key (which is either statically configured or
|
||||||
with at least one public key that authenticates one zone as a
|
previously learned and verified). Therefore, the resolver must be
|
||||||
starting point. To establish this chain of trust, security-aware
|
configured with at least one public key that authenticates one zone
|
||||||
servers attempt to send the signature(s) needed to authenticate a
|
as a starting point. To establish this authentication chain,
|
||||||
zone's public key in the DNS reply message along with the public key
|
security-aware servers attempt to send the signature(s) needed to
|
||||||
itself, provided there is space available in the message.
|
authenticate a zone's public key in the DNS reply message along with
|
||||||
|
the public key itself, provided there is space available in the
|
||||||
|
message.
|
||||||
|
|
||||||
The chain of trust specified in the original DNS security extensions
|
The authentication chain specified in the original DNS security
|
||||||
proceeded from signed KEY record to signed KEY record, as necessary,
|
extensions proceeded from signed KEY record to signed KEY record, as
|
||||||
and finally to the queried RRset. A new record, the delegation
|
|
||||||
signer (DS), has been added for additional flexibility. The DS RRset
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 5]
|
Arends, et al. Expires April 24, 2003 [Page 5]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
resides at a delegation point in a parent zone and specifies the keys
|
necessary, and finally to the queried RRset. A new record, the
|
||||||
used by the specified child zone to self-sign the KEY RRset at its
|
delegation signer (DS), has been added for additional flexibility.
|
||||||
apex. The child, in turn, uses one of these keys to sign its zone
|
The DS RRset resides at a delegation point in a parent zone and
|
||||||
data. The chain of trust is therefore DS->KEY->[DS->KEY->...]-
|
specifies the keys used by the specified child zone to self-sign the
|
||||||
>RRset.
|
KEY RRset at its apex. The child, in turn, uses one of these keys to
|
||||||
|
sign its zone data. The authentication chain is therefore DS->KEY-
|
||||||
|
>[DS->KEY->...]->RRset.
|
||||||
|
|
||||||
Adding data origin authentication and data integrity requires minor
|
Adding data origin authentication and data integrity requires minor
|
||||||
changes to the on-the-wire DNS protocol. Several new resource record
|
changes to the on-the-wire DNS protocol. Several new resource record
|
||||||
@@ -313,8 +315,8 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
The KEY resource record is defined to associate public keys with DNS
|
The KEY resource record is defined to associate public keys with DNS
|
||||||
names. This record permits the DNS to be used as a public key
|
names. This record permits the DNS to be used as a public key
|
||||||
distribution mechanism in support of DNSSEC. Security-aware
|
distribution mechanism in support of DNSSEC. Security-aware
|
||||||
resolvers can query for a zone's public key when establishing a chain
|
resolvers can query for a zone's public key when establishing a
|
||||||
of trust.
|
authentication chain.
|
||||||
|
|
||||||
The syntax of the KEY resource record (and the other additional
|
The syntax of the KEY resource record (and the other additional
|
||||||
resource records required for DNSSEC) is described in [9]. It
|
resource records required for DNSSEC) is described in [9]. It
|
||||||
@@ -327,17 +329,19 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
now restricted for use with DNSSEC only. Work is in progress on
|
now restricted for use with DNSSEC only. Work is in progress on
|
||||||
storing public keys [14] and certificates [15] used by other
|
storing public keys [14] and certificates [15] used by other
|
||||||
protocols and applications in the DNS. A secure DNS tree could then
|
protocols and applications in the DNS. A secure DNS tree could then
|
||||||
be used as a lightweight trust mechanism. Some administrators and
|
|
||||||
users may consider a validated DNSSEC signature to be sufficient to
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 6]
|
Arends, et al. Expires April 24, 2003 [Page 6]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
trust a public key stored in the DNS.
|
be used as a lightweight key distribution mechanism that could
|
||||||
|
support other protocols. However, this should not lead to the
|
||||||
|
conclusion that the DNS is then safe to use as a trusted protocol or
|
||||||
|
a Public Key Infrastructure. DNSSEC lacks many features found in a
|
||||||
|
PKI such as a Certificate Revocation List (CRL).
|
||||||
|
|
||||||
3.3 Transaction Security
|
3.3 Transaction Security
|
||||||
|
|
||||||
@@ -384,13 +388,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 24, 2003 [Page 7]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 7]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
4. Services Not Provided by DNS Security
|
4. Services Not Provided by DNS Security
|
||||||
@@ -444,9 +444,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 8]
|
Arends, et al. Expires April 24, 2003 [Page 8]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
5. Resolver Considerations
|
5. Resolver Considerations
|
||||||
@@ -454,11 +454,12 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
A security-aware resolver needs to be able to perform necessary
|
A security-aware resolver needs to be able to perform necessary
|
||||||
cryptographic functions to verify digital signatures using at least
|
cryptographic functions to verify digital signatures using at least
|
||||||
the mandatory-to-implement algorithms. Also, security-aware
|
the mandatory-to-implement algorithms. Also, security-aware
|
||||||
resolvers must be capable of forming a chain of trust from a newly
|
resolvers must be capable of forming a authentication chain from a
|
||||||
learned zone back to a trusted key. This might require additional
|
newly learned zone back to a trusted authentication key. This might
|
||||||
queries to intermediate DNS zones for necessary KEY, DS and SIG
|
require additional queries to intermediate DNS zones for necessary
|
||||||
records. It is assumed that a security-aware resolver will be
|
KEY, DS and SIG records. It is assumed that a security-aware
|
||||||
configured with at least one trusted key to aid this process.
|
resolver will be configured with at least one authentication key to
|
||||||
|
aid this process.
|
||||||
|
|
||||||
The stub resolver found in many hosts may be augmented to provide a
|
The stub resolver found in many hosts may be augmented to provide a
|
||||||
different set of security features instead of the full security
|
different set of security features instead of the full security
|
||||||
@@ -472,7 +473,7 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
part of the DNS resolution path, the resolver cannot ensure security.
|
part of the DNS resolution path, the resolver cannot ensure security.
|
||||||
If a security-aware resolver must rely on an unsecure server (or
|
If a security-aware resolver must rely on an unsecure server (or
|
||||||
unsigned zone), the resolver cannot verify DNS responses and should
|
unsigned zone), the resolver cannot verify DNS responses and should
|
||||||
rely on local policy when trusting responses.
|
rely on local policy when following responses.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -499,10 +500,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 24, 2003 [Page 9]
|
||||||
Arends, et al. Expires January 21, 2003 [Page 9]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
6. Zone Considerations
|
6. Zone Considerations
|
||||||
@@ -556,9 +556,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 10]
|
Arends, et al. Expires April 24, 2003 [Page 10]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
7. Server Considerations
|
7. Server Considerations
|
||||||
@@ -612,9 +612,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 11]
|
Arends, et al. Expires April 24, 2003 [Page 11]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
8. DNS Security Document Family
|
8. DNS Security Document Family
|
||||||
@@ -638,7 +638,7 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
|
|
||||||
+-----------+ +-------------+
|
+-----------+ +-------------+
|
||||||
| DNSSEC | | New |
|
| DNSSEC | | New |
|
||||||
| Protocol |<-------->| Security |
|
| Protocol |--------->| Security |
|
||||||
| Documents | | Uses |
|
| Documents | | Uses |
|
||||||
+-----------+ +-------------+
|
+-----------+ +-------------+
|
||||||
|
|
|
|
||||||
@@ -668,9 +668,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 12]
|
Arends, et al. Expires April 24, 2003 [Page 12]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
2. Resource Records for DNS Security Extensions [9]
|
2. Resource Records for DNS Security Extensions [9]
|
||||||
@@ -724,9 +724,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 13]
|
Arends, et al. Expires April 24, 2003 [Page 13]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
9. IANA Considerations
|
9. IANA Considerations
|
||||||
@@ -780,9 +780,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 14]
|
Arends, et al. Expires April 24, 2003 [Page 14]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
10. Security Considerations
|
10. Security Considerations
|
||||||
@@ -836,9 +836,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 15]
|
Arends, et al. Expires April 24, 2003 [Page 15]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
11. Acknowledgements
|
11. Acknowledgements
|
||||||
@@ -892,9 +892,9 @@ Internet-Draft DNSSEC Intro. and Requirements July 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 16]
|
Arends, et al. Expires April 24, 2003 [Page 16]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
Normative References
|
Normative References
|
||||||
@@ -948,9 +948,9 @@ Normative References
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 17]
|
Arends, et al. Expires April 24, 2003 [Page 17]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
Informative References
|
Informative References
|
||||||
@@ -968,12 +968,11 @@ Informative References
|
|||||||
Authors' Addresses
|
Authors' Addresses
|
||||||
|
|
||||||
Roy Arends
|
Roy Arends
|
||||||
Nominum, Inc.
|
Bankastraat 41-E
|
||||||
2385 Bay Street
|
1094 EB Amsterdam
|
||||||
Redwood City, CA 94063
|
NL
|
||||||
USA
|
|
||||||
|
|
||||||
EMail: roy.arends@nominum.com
|
EMail: roy@logmess.com
|
||||||
|
|
||||||
|
|
||||||
Matt Larson
|
Matt Larson
|
||||||
@@ -997,16 +996,17 @@ Authors' Addresses
|
|||||||
Scott Rose
|
Scott Rose
|
||||||
National Institute for Standards and Technology
|
National Institute for Standards and Technology
|
||||||
100 Bureau Drive
|
100 Bureau Drive
|
||||||
Gaithersburg, MD 20899-3460
|
Gaithersburg, MD 20899-8920
|
||||||
USA
|
USA
|
||||||
|
|
||||||
EMail: scott.rose@nist.gov
|
EMail: scott.rose@nist.gov
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 18]
|
|
||||||
|
Arends, et al. Expires April 24, 2003 [Page 18]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Intro. and Requirements July 2002
|
Internet-Draft DNSSEC Intro. and Requirements October 2002
|
||||||
|
|
||||||
|
|
||||||
Full Copyright Statement
|
Full Copyright Statement
|
||||||
@@ -1060,5 +1060,5 @@ Acknowledgement
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires January 21, 2003 [Page 19]
|
Arends, et al. Expires April 24, 2003 [Page 19]
|
||||||
|
|
@@ -1,13 +1,15 @@
|
|||||||
|
|
||||||
|
|
||||||
Network Working Group R. Arends
|
Network Working Group R. Arends
|
||||||
Internet-Draft Nominum, Inc.
|
Internet-Draft
|
||||||
Expires: December 26, 2002 M. Kosters
|
Expires: April 14, 2003 M. Kosters
|
||||||
D. Blacka
|
D. Blacka
|
||||||
Verisign, Inc.
|
Verisign, Inc.
|
||||||
June 27, 2002
|
October 14, 2002
|
||||||
|
|
||||||
|
|
||||||
DNSSEC Opt-In
|
DNSSEC Opt-In
|
||||||
draft-ietf-dnsext-dnssec-opt-in-02
|
draft-ietf-dnsext-dnssec-opt-in-03
|
||||||
|
|
||||||
Status of this Memo
|
Status of this Memo
|
||||||
|
|
||||||
@@ -30,7 +32,7 @@ Status of this Memo
|
|||||||
The list of Internet-Draft Shadow Directories can be accessed at
|
The list of Internet-Draft Shadow Directories can be accessed at
|
||||||
http://www.ietf.org/shadow.html.
|
http://www.ietf.org/shadow.html.
|
||||||
|
|
||||||
This Internet-Draft will expire on December 26, 2002.
|
This Internet-Draft will expire on April 14, 2003.
|
||||||
|
|
||||||
Copyright Notice
|
Copyright Notice
|
||||||
|
|
||||||
@@ -42,7 +44,7 @@ Abstract
|
|||||||
secured. Maintaining this cryptography is not practical or
|
secured. Maintaining this cryptography is not practical or
|
||||||
necessary. This document describes an "Opt-In" model that allows
|
necessary. This document describes an "Opt-In" model that allows
|
||||||
administrators to omit this cryptography and manage the cost of
|
administrators to omit this cryptography and manage the cost of
|
||||||
adopting DNSSEC.
|
adopting DNSSEC with large zones.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -50,28 +52,36 @@ Abstract
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 1]
|
Arends, et al. Expires April 14, 2003 [Page 1]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
Table of Contents
|
Table of Contents
|
||||||
|
|
||||||
1. Definitions and Terminology . . . . . . . . . . . . . . . . . 3
|
1. Definitions and Terminology . . . . . . . . . . . . . . . . 3
|
||||||
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
3. Protocol Additions . . . . . . . . . . . . . . . . . . . . . . 5
|
3. Protocol Additions . . . . . . . . . . . . . . . . . . . . . 5
|
||||||
3.1 Server Considerations . . . . . . . . . . . . . . . . . . . . 5
|
3.1 Server Considerations . . . . . . . . . . . . . . . . . . . 6
|
||||||
3.2 Client Considerations . . . . . . . . . . . . . . . . . . . . 6
|
3.1.1 Delegations Only . . . . . . . . . . . . . . . . . . . . . . 6
|
||||||
4. Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
|
3.1.2 Insecure Delegation Responses . . . . . . . . . . . . . . . 6
|
||||||
5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
3.1.3 Wildcards and Opt-In . . . . . . . . . . . . . . . . . . . . 6
|
||||||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 11
|
3.2 Client Considerations . . . . . . . . . . . . . . . . . . . 7
|
||||||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
|
3.2.1 Delegations Only . . . . . . . . . . . . . . . . . . . . . . 7
|
||||||
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 13
|
3.2.2 Validation Process Changes . . . . . . . . . . . . . . . . . 7
|
||||||
References . . . . . . . . . . . . . . . . . . . . . . . . . . 14
|
3.2.3 NXT Record Caching . . . . . . . . . . . . . . . . . . . . . 8
|
||||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 14
|
3.2.4 Use of the AD bit . . . . . . . . . . . . . . . . . . . . . 8
|
||||||
A. Implementing Opt-In using "Views" . . . . . . . . . . . . . . 16
|
4. Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . 9
|
||||||
B. Changes from Prior Versions . . . . . . . . . . . . . . . . . 18
|
5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 10
|
||||||
Full Copyright Statement . . . . . . . . . . . . . . . . . . . 19
|
6. Transition Issues . . . . . . . . . . . . . . . . . . . . . 12
|
||||||
|
7. Security Considerations . . . . . . . . . . . . . . . . . . 13
|
||||||
|
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . 14
|
||||||
|
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 15
|
||||||
|
References . . . . . . . . . . . . . . . . . . . . . . . . . 16
|
||||||
|
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 16
|
||||||
|
A. Implementing Opt-In using "Views" . . . . . . . . . . . . . 18
|
||||||
|
B. Changes from Prior Versions . . . . . . . . . . . . . . . . 20
|
||||||
|
Full Copyright Statement . . . . . . . . . . . . . . . . . . 21
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -98,17 +108,9 @@ Table of Contents
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 2]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 2]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
1. Definitions and Terminology
|
1. Definitions and Terminology
|
||||||
@@ -121,16 +123,19 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
RR: is used to refer to a DNS resource record.
|
RR: is used to refer to a DNS resource record.
|
||||||
|
|
||||||
RRset: refers to a Resource Record Set, as defined by [3].
|
RRset: refers to a Resource Record Set, as defined by [3]. In this
|
||||||
|
document, the RRset is also defined to include the covering SIG
|
||||||
|
records, if any exist.
|
||||||
|
|
||||||
covering NXT record/RRset: is the NXT record used to prove
|
covering NXT record/RRset: is the NXT record used to prove
|
||||||
(non)existance of a particular name or RRset. This means that for
|
(non)existence of a particular name or RRset. This means that for
|
||||||
a RRset or name 'N', the covering NXT record has the name 'N', or
|
a RRset or name 'N', the covering NXT record has the name 'N', or
|
||||||
has an owner name less than 'N' and "next" name greater than 'N'.
|
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
|
delegation: refers to a NS RRset with a name different from the
|
||||||
current zone apex (non-zone-apex), signifying a delegation to a
|
current zone apex (non-zone-apex), signifying a delegation to a
|
||||||
subzone.
|
subzone. A delegation returned in a DNS response is also called a
|
||||||
|
"referral".
|
||||||
|
|
||||||
secure delegation: refers to the NS, DS, NXT and SIG RRsets for a
|
secure delegation: refers to the NS, DS, NXT and SIG RRsets for a
|
||||||
non-zone-apex owner name, signifying a delegation to a DNSSEC
|
non-zone-apex owner name, signifying a delegation to a DNSSEC
|
||||||
@@ -159,12 +164,9 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 3]
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 3]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
2. Overview
|
2. Overview
|
||||||
@@ -218,9 +220,9 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 4]
|
Arends, et al. Expires April 14, 2003 [Page 4]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
3. Protocol Additions
|
3. Protocol Additions
|
||||||
@@ -228,12 +230,12 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
In RFC 2535, delegation NS RRsets are not signed, but instead are
|
In RFC 2535, delegation NS RRsets are not signed, but instead are
|
||||||
accompanied by a NXT RRset of the same name, and possibly a ("no-
|
accompanied by a NXT RRset of the same name, and possibly a ("no-
|
||||||
key") KEY RR [4] or DS record [7]. The security status of the
|
key") KEY RR [4] or DS record [7]. The security status of the
|
||||||
subzone is determined by the presence or absence of the KEY or DS
|
subzone is determined by the presence of the KEY or DS records,
|
||||||
records, cryptographically proven by the NXT record. Opt-In expands
|
cryptographically proven by the NXT record. Opt-In expands this
|
||||||
this definition by allowing insecure delegations to exist within an
|
definition by allowing insecure delegations to exist within an
|
||||||
otherwise signed zone without the corresponding NXT record at the
|
otherwise signed zone without the corresponding NXT record at the
|
||||||
delegation's owner name. These insecure delegations are proven
|
delegation's owner name. These insecure delegations are proven
|
||||||
insecure by using the covering NXT record.
|
insecure by using a covering NXT record.
|
||||||
|
|
||||||
Since this represents a change of the interpretation of NXT records,
|
Since this represents a change of the interpretation of NXT records,
|
||||||
resolvers must be able to distinguish between RFC 2535 NXT records
|
resolvers must be able to distinguish between RFC 2535 NXT records
|
||||||
@@ -264,79 +266,174 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
o A RFC2535 NXT type is identified by a one-valued NXT bit in the
|
o A RFC2535 NXT type is identified by a one-valued NXT bit in the
|
||||||
type bit map of the NXT record.
|
type bit map of the NXT record.
|
||||||
|
|
||||||
|
and,
|
||||||
|
|
||||||
|
o An Opt-In NXT 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 NXT record does assert the (non)existence of RRsets with
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 5]
|
||||||
|
|
||||||
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
|
the same owner name.
|
||||||
|
|
||||||
|
|
||||||
3.1 Server Considerations
|
3.1 Server Considerations
|
||||||
|
|
||||||
This protocol change dictates a number of changes to the operation of
|
Opt-In imposes some new requirements on authoritative DNS servers.
|
||||||
an authoritative server:
|
|
||||||
|
|
||||||
o The server MUST enforce the protocol requirement that ONLY
|
3.1.1 Delegations Only
|
||||||
|
|
||||||
|
This specification dictates that only insecure delegations may exist
|
||||||
|
between the owner and "next" names of an Opt-In tagged NXT record.
|
||||||
|
Servers and signing tools MUST enforce this restriction.
|
||||||
|
|
||||||
|
3.1.2 Insecure Delegation Responses
|
||||||
|
|
||||||
|
When returning an Opt-In insecure delegation, the server MUST return
|
||||||
|
the covering NXT RRset in the Authority section.
|
||||||
|
|
||||||
|
This presents a change from RFC 2535, where the "no-key" KEY RRset
|
||||||
|
would be returned instead. However, in the delegation signer
|
||||||
|
proposal, NXT records already must be returned along with the
|
||||||
|
insecure delegation. The primary difference that this proposal
|
||||||
|
introduces is that the Opt-In tagged NXT record will have a different
|
||||||
|
owner name from the delegation RRset. This may require
|
||||||
|
implementations to do a NXT search on cached responses.
|
||||||
|
|
||||||
|
3.1.3 Wildcards and Opt-In
|
||||||
|
|
||||||
|
RFC 2535, in section 5.3, describes the practice of returning NXT
|
||||||
|
records to prove the non-existence of an applicable wildcard in non-
|
||||||
|
existent name responses. This NXT record can be described as a
|
||||||
|
"negative wildcard proof". The use of Opt-In NXT records changes the
|
||||||
|
necessity for this practice. For both non-existent name (NXDOMAIN)
|
||||||
|
responses and Opt-In insecure delegation responses, servers MUST NOT
|
||||||
|
return negative wildcard proof records when the query name (qname) is
|
||||||
|
covered by an Opt-In tagged NXT record.
|
||||||
|
|
||||||
|
The intent of the RFC 2535 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" NXT
|
||||||
|
record.
|
||||||
|
|
||||||
|
2. No applicable wildcard exists. This is done by returning one or
|
||||||
|
more NXT records proving that the wildcards do not exist
|
||||||
|
(negative wildcard proofs).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 5]
|
Arends, et al. Expires April 14, 2003 [Page 6]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
insecure delegation nodes may exist between the secure nodes of
|
However, if the NXT record covering the exact qname is an Opt-In NXT
|
||||||
the zone.
|
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 records are not useful.
|
||||||
|
|
||||||
o The server must be able to retrieve the proper NXT records along
|
The negative wildcard proofs are also not useful when returned as
|
||||||
with referrals to insecure subzone.
|
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.
|
||||||
|
|
||||||
In the delegation signer proposal, NXT records already must be
|
The presence of an Opt-In tagged NXT record does not change the
|
||||||
returned along with referrals to insecure delegations. The primary
|
practice of returning a NXT along with a wildcard expansion. Even
|
||||||
difference that this proposal introduces is that the appropriate NXT
|
though the Opt-In NXT will not be able to prove that the wildcard
|
||||||
record will have a different owner name.
|
expansion is valid, it will prove that the wildcard expansion is not
|
||||||
|
masking any signed records.
|
||||||
|
|
||||||
3.2 Client Considerations
|
3.2 Client Considerations
|
||||||
|
|
||||||
Opt-In imposes some new requirements on the DNS resolver (caching or
|
Opt-In imposes some new requirements on DNS resolvers (caching or
|
||||||
otherwise):
|
otherwise).
|
||||||
|
|
||||||
o Resolvers MUST be able to use Opt-In style NXT records to
|
3.2.1 Delegations Only
|
||||||
cryptographically prove the validity and security status (as
|
|
||||||
insecure) of a referral:
|
|
||||||
|
|
||||||
* In RFC 2535, this is proven by existence of a verified "no-key"
|
As stated in the "Server Considerations" section above, this
|
||||||
KEY RRset.
|
specification restricts the namespace covered by Opt-In tagged NXT
|
||||||
|
records to insecure delegations only. Thus, resolvers MUST reject as
|
||||||
|
invalid any records that fall within an Opt-In NXT record's span that
|
||||||
|
are not NS records or corresponding glue records.
|
||||||
|
|
||||||
* Using Delegation Signer, this is proven by the existence of a
|
3.2.2 Validation Process Changes
|
||||||
verified NXT record. This NXT record has same name as the
|
|
||||||
delegation RRset and does not have the DS bit set in the type
|
|
||||||
map.
|
|
||||||
|
|
||||||
* Using Opt-In, this is proven by the existence of a verified
|
This specification does not change the resolver's resolution
|
||||||
Opt-In NXT record. This NXT record does not have the NXT bit
|
algorithm. However, it does change the DNSSEC validation process.
|
||||||
set in the type map (that is, it is an Opt-In style NXT record)
|
Resolvers MUST be able to use Opt-In tagged NXT records to
|
||||||
and the name of the delegation RRset is lexicographically
|
cryptographically prove the validity and security status (as
|
||||||
between the owner and next names of the NXT record.
|
insecure) of a referral. Resolvers determine the security status of
|
||||||
|
the referred-to zone as follows:
|
||||||
|
|
||||||
Note that using Opt-In does not substantially change the nature of
|
o In RFC 2535, the security status is proven by existence of a
|
||||||
following referrals within DNSSEC. At every delegation point, the
|
verified "no-key" KEY RRset. The absence of the "no-key" KEY
|
||||||
resolver will have cryptographic proof that the subzone is secure
|
RRset indicates that the referred-to zone is secure.
|
||||||
or insecure.
|
|
||||||
|
|
||||||
o Resolvers MUST reject as invalid non-NS RRsets that fall within an
|
o Using Delegation Signer, the security status is proven by the
|
||||||
Opt-In tagged NXT record's span.
|
existence or absence of a DS record at the same name as the
|
||||||
|
delegation. The absence is proven using a verified NXT record of
|
||||||
o Caching resolvers must be able to retrieve the appropriate
|
the same name that does not have the DS bit set in the type map.
|
||||||
covering Opt-In NXT record when returning referrals that need
|
This NXT record MAY also be tagged as Opt-In.
|
||||||
them. This is only a difference when you consider that the
|
|
||||||
covering NXT record will not have the same name as the delegation
|
|
||||||
RRset itself.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 7]
|
||||||
Arends, et al. Expires December 26, 2002 [Page 6]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
o The AD bit (as defined by [8]) MUST NOT be set in a response
|
o Using Opt-In, the security status is proven by the existence of a
|
||||||
containing an Opt-In tagged NXT record in the authority section.
|
DS record (for secure) or the presence of a verified Opt-In tagged
|
||||||
|
NXT record that covers the delegation name. That is, the NXT
|
||||||
|
record does not have the NXT bit set in the type map, and the
|
||||||
|
delegation name falls between the NXT's owner and "next" name.
|
||||||
|
|
||||||
|
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 subzone is secure or insecure.
|
||||||
|
|
||||||
|
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 NXT record, the resolver MUST NOT require proof (in the form
|
||||||
|
of a NXT record) that a wildcard did not exist.
|
||||||
|
|
||||||
|
3.2.3 NXT Record Caching
|
||||||
|
|
||||||
|
Caching resolvers MUST be able to retrieve the appropriate covering
|
||||||
|
Opt-In NXT record when returning referrals that need them. This
|
||||||
|
requirement differs from Delegation Signer in that the covering NXT
|
||||||
|
will not have the same owner name as the delegation. Some
|
||||||
|
implementations may have to use new methods for finding these NXT
|
||||||
|
records.
|
||||||
|
|
||||||
|
3.2.4 Use of the AD bit
|
||||||
|
|
||||||
|
The AD bit, as defined by [8], MUST NOT be set when:
|
||||||
|
|
||||||
|
o sending a non-existent name (NXDOMAIN) response where the covering
|
||||||
|
NXT is tagged as Opt-In, unless the NXT record's owner name equals
|
||||||
|
the qname.
|
||||||
|
|
||||||
|
o sending an Opt-In insecure delegation response, unless the
|
||||||
|
covering (Opt-In) NXT record's owner name equals the delegation
|
||||||
|
name.
|
||||||
|
|
||||||
|
This rule is based on what the Opt-In NXT record actually proves.
|
||||||
|
For names that exist between the Opt-In NXT record's owner and "next"
|
||||||
|
names, the Opt-In NXT 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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -347,48 +444,9 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 8]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 7]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
4. Benefits
|
4. Benefits
|
||||||
@@ -442,9 +500,9 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 8]
|
Arends, et al. Expires April 14, 2003 [Page 9]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
5. Example
|
5. Example
|
||||||
@@ -483,10 +541,12 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
In this example, a query for a signed RRset (e.g., "FIRST-
|
In this example, a query for a signed RRset (e.g., "FIRST-
|
||||||
SECURE.EXAMPLE A"), or a secure delegation ("WWW.SECOND-
|
SECURE.EXAMPLE A"), or a secure delegation ("WWW.SECOND-
|
||||||
SECURE.EXAMPLE A") will result in a standard RFC 2535 response. A
|
SECURE.EXAMPLE A") will result in a standard RFC 2535 response.
|
||||||
query for a nonexistent RRset will result in a response that differs
|
|
||||||
from RFC 2535 only in the fact that the NXT record will be tagged as
|
A query for a nonexistent RRset will result in a response that
|
||||||
Opt-In.
|
differs from RFC 2535 by: the NXT record will be tagged as Opt-In,
|
||||||
|
there will be no NXT record proving the non-existence of a matching
|
||||||
|
wildcard record, and the AD bit will not be set.
|
||||||
|
|
||||||
A query for an insecure delegation RRset (or a referral) will return
|
A query for an insecure delegation RRset (or a referral) will return
|
||||||
both the answer (in the Authority section) and the corresponding Opt-
|
both the answer (in the Authority section) and the corresponding Opt-
|
||||||
@@ -496,17 +556,15 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 10]
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 9]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
Example A.1: Response to query for WWW.UNSECURE.EXAMPLE. A
|
Example A.1: Response to query for WWW.UNSIGNED.EXAMPLE. A
|
||||||
|
|
||||||
|
|
||||||
RCODE=NOERROR
|
RCODE=NOERROR, AD=0
|
||||||
|
|
||||||
Answer Section:
|
Answer Section:
|
||||||
|
|
||||||
@@ -554,19 +612,79 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 10]
|
Arends, et al. Expires April 14, 2003 [Page 11]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
6. Security Considerations
|
6. Transition Issues
|
||||||
|
|
||||||
Opt-In allows for unsigned delegations. All unsigned names are
|
Opt-In is not backwards compatible with RFC 2535. RFC 2535 compliant
|
||||||
insecure, and their validity (or existence) can not be
|
DNSSEC implementations will not recognize Opt-In tagged NXT records
|
||||||
|
as different from RFC 2535 NXT records. Because of this, RFC 2535
|
||||||
|
implementations will reject all Opt-In insecure delegations within a
|
||||||
|
zone as invalid.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 12]
|
||||||
|
|
||||||
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
|
7. Security Considerations
|
||||||
|
|
||||||
|
Opt-In allows for unsigned names. All unsigned names are, by
|
||||||
|
definition, insecure, and their validity (or existence) can not be
|
||||||
cryptographically proven. With Opt-In, a malicious entity is able
|
cryptographically proven. With Opt-In, a malicious entity is able
|
||||||
to: insert, modify, or delete insecure delegation RRsets within a
|
to: insert, modify, or delete insecure delegation RRsets within the
|
||||||
secured zone. For example, if a resolver received the following
|
Opt-In spans of a otherwise secured zone. In addition, a malicious
|
||||||
response from the example zone above:
|
entity is able to replay or delete wildcard expansions (if there is
|
||||||
|
an existing applicable wildcard) in the Opt-In spans of the zone.
|
||||||
|
|
||||||
|
For example, if a resolver received the following response from the
|
||||||
|
example zone above:
|
||||||
|
|
||||||
Example S.1: Response to query for WWW.DOES-NOT-EXIST.EXAMPLE. A
|
Example S.1: Response to query for WWW.DOES-NOT-EXIST.EXAMPLE. A
|
||||||
|
|
||||||
@@ -606,16 +724,12 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 13]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 11]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
7. IANA Considerations
|
8. IANA Considerations
|
||||||
|
|
||||||
None.
|
None.
|
||||||
|
|
||||||
@@ -666,12 +780,12 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 12]
|
Arends, et al. Expires April 14, 2003 [Page 14]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
8. Acknowledgments
|
9. Acknowledgments
|
||||||
|
|
||||||
The contributions, suggestions and remarks of the following persons
|
The contributions, suggestions and remarks of the following persons
|
||||||
(in alphabetic order) to this draft are acknowledged:
|
(in alphabetic order) to this draft are acknowledged:
|
||||||
@@ -722,9 +836,9 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 13]
|
Arends, et al. Expires April 14, 2003 [Page 15]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
References
|
References
|
||||||
@@ -748,39 +862,22 @@ References
|
|||||||
December 2001.
|
December 2001.
|
||||||
|
|
||||||
[7] Gudmundsson, O., "Delegation Signer Resource Record", draft-
|
[7] Gudmundsson, O., "Delegation Signer Resource Record", draft-
|
||||||
ietf-dnsext-delegation-signer-07 (work in progress), March 2002.
|
ietf-dnsext-delegation-signer-09 (work in progress), September
|
||||||
|
2002.
|
||||||
|
|
||||||
[8] Gudmundsson, O. and B. Wellington, "Redefinition of DNS AD bit",
|
[8] Gudmundsson, O. and B. Wellington, "Redefinition of DNS AD bit",
|
||||||
draft-ietf-dnsext-ad-is-secure-05 (work in progress), March
|
draft-ietf-dnsext-ad-is-secure-06 (work in progress), June 2002.
|
||||||
2002.
|
|
||||||
|
|
||||||
|
|
||||||
Authors' Addresses
|
Authors' Addresses
|
||||||
|
|
||||||
Roy Arends
|
Roy Arends
|
||||||
Nominum, Inc.
|
Bankastraat 41-E
|
||||||
950 Charter Street
|
1094 EB Amsterdam
|
||||||
Redwood City, CA 94063
|
NL
|
||||||
US
|
|
||||||
|
|
||||||
Phone: +1 650 381 6000
|
Phone: +31206931681
|
||||||
EMail: Roy.Arends@nominum.com
|
EMail: roy@logmess.com
|
||||||
URI: http://www.nominum.com
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 14]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
|
||||||
|
|
||||||
|
|
||||||
Mark Kosters
|
Mark Kosters
|
||||||
@@ -794,6 +891,12 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
URI: http://www.verisignlabs.com
|
URI: http://www.verisignlabs.com
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 16]
|
||||||
|
|
||||||
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
David Blacka
|
David Blacka
|
||||||
Verisign, Inc.
|
Verisign, Inc.
|
||||||
21355 Ridgetop Circle
|
21355 Ridgetop Circle
|
||||||
@@ -834,9 +937,20 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 15]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 17]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
Appendix A. Implementing Opt-In using "Views"
|
Appendix A. Implementing Opt-In using "Views"
|
||||||
@@ -890,9 +1004,9 @@ Appendix A. Implementing Opt-In using "Views"
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 16]
|
Arends, et al. Expires April 14, 2003 [Page 18]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
For each section (ANSWER, AUTHORITY, ADDITIONAL), copy the
|
For each section (ANSWER, AUTHORITY, ADDITIONAL), copy the
|
||||||
@@ -946,13 +1060,20 @@ Internet-Draft DNSSEC Opt-In June 2002
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 17]
|
Arends, et al. Expires April 14, 2003 [Page 19]
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
Appendix B. Changes from Prior Versions
|
Appendix B. Changes from Prior Versions
|
||||||
|
|
||||||
|
Changes from version 02:
|
||||||
|
|
||||||
|
Added text on changes to validation process, use of the AD bit,
|
||||||
|
and interactions with wildcards. Added wildcard caveats to the
|
||||||
|
"Security Considerations" section. Added "Transition Issues"
|
||||||
|
section.
|
||||||
|
|
||||||
Changes from version 01:
|
Changes from version 01:
|
||||||
|
|
||||||
Changed to "delegation only". Strengthened "Security
|
Changed to "delegation only". Strengthened "Security
|
||||||
@@ -995,16 +1116,9 @@ Appendix B. Changes from Prior Versions
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Arends, et al. Expires April 14, 2003 [Page 20]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 18]
|
|
||||||
|
|
||||||
Internet-Draft DNSSEC Opt-In June 2002
|
Internet-Draft DNSSEC Opt-In October 2002
|
||||||
|
|
||||||
|
|
||||||
Full Copyright Statement
|
Full Copyright Statement
|
||||||
@@ -1058,4 +1172,5 @@ Acknowledgement
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Arends, et al. Expires December 26, 2002 [Page 19]
|
Arends, et al. Expires April 14, 2003 [Page 21]
|
||||||
|
|
@@ -1,336 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
DNS Extentions O. Kolkman
|
|
||||||
Internet-Draft RIPE NCC
|
|
||||||
Expires: March 4, 2003 September 3, 2002
|
|
||||||
|
|
||||||
|
|
||||||
KEY RR Key Signing (KS) Flag
|
|
||||||
draft-ietf-dnsext-keyrr-key-signing-flag-00.txt
|
|
||||||
|
|
||||||
Status of this Memo
|
|
||||||
|
|
||||||
This document is an Internet-Draft and is in full conformance with
|
|
||||||
all provisions of Section 10 of RFC2026.
|
|
||||||
|
|
||||||
Internet-Drafts are working documents of the Internet Engineering
|
|
||||||
Task Force (IETF), its areas, and its working groups. Note that
|
|
||||||
other groups may also distribute working documents as Internet-
|
|
||||||
Drafts.
|
|
||||||
|
|
||||||
Internet-Drafts are draft documents valid for a maximum of six months
|
|
||||||
and may be updated, replaced, or obsoleted by other documents at any
|
|
||||||
time. It is inappropriate to use Internet-Drafts as reference
|
|
||||||
material or to cite them other than as "work in progress."
|
|
||||||
|
|
||||||
The list of current Internet-Drafts can be accessed at http://
|
|
||||||
www.ietf.org/ietf/1id-abstracts.txt.
|
|
||||||
|
|
||||||
The list of Internet-Draft Shadow Directories can be accessed at
|
|
||||||
http://www.ietf.org/shadow.html.
|
|
||||||
|
|
||||||
This Internet-Draft will expire on March 4, 2003.
|
|
||||||
|
|
||||||
Copyright Notice
|
|
||||||
|
|
||||||
Copyright (C) The Internet Society (2002). All Rights Reserved.
|
|
||||||
|
|
||||||
Abstract
|
|
||||||
|
|
||||||
The Introduction of the DS [1] record has introduced the concept of
|
|
||||||
KEY signing and zone signing keys. In general, KEY signing keys are
|
|
||||||
the keys that are pointed to by DS records and are the secure entry
|
|
||||||
points to a zone. The key signing keys only sign the KEY RRset at
|
|
||||||
the apex of a zone, zone signing keys sign all data in a zone. We
|
|
||||||
propose a flag to distinguish the KEY signing key from other keys in
|
|
||||||
the KEY RR set during DNSSEC operations.
|
|
||||||
|
|
||||||
The key words "MAY","MAY NOT", "MUST", "MUST NOT", "REQUIRED",
|
|
||||||
"RECOMMENDED", "SHOULD", and "SHOULD NOT" in this document are to be
|
|
||||||
interpreted as described in RFC2119.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kolkman Expires March 4, 2003 [Page 1]
|
|
||||||
|
|
||||||
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
|
||||||
|
|
||||||
|
|
||||||
Table of Contents
|
|
||||||
|
|
||||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
|
||||||
2. The Key Signing flag . . . . . . . . . . . . . . . . . . . . . . 3
|
|
||||||
3. DNSSEC Protocol changes . . . . . . . . . . . . . . . . . . . . 3
|
|
||||||
4. Operational Guidelines . . . . . . . . . . . . . . . . . . . . . 4
|
|
||||||
5. Security considerations . . . . . . . . . . . . . . . . . . . . 4
|
|
||||||
6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 4
|
|
||||||
References . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
|
||||||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 5
|
|
||||||
Full Copyright Statement . . . . . . . . . . . . . . . . . . . . 6
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kolkman Expires March 4, 2003 [Page 2]
|
|
||||||
|
|
||||||
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
|
||||||
|
|
||||||
|
|
||||||
1. Introduction
|
|
||||||
|
|
||||||
The Introduction of the DS record has introduced the concept of KEY
|
|
||||||
signing keys. In general these are the keys that are pointed to by
|
|
||||||
DS records and are the secure entry points to a zone. These key
|
|
||||||
signing keys may also be configured in resolver systems that use
|
|
||||||
zones as a root for a secure island.
|
|
||||||
|
|
||||||
Early deployment tests have shown that during DNSSEC parent-child
|
|
||||||
interactions it is useful to indicate which keys are to be used as
|
|
||||||
the secure entry point to a zone. We introduce the Key Signing Key
|
|
||||||
flag to indicate this special 'administrative' status of the key.
|
|
||||||
|
|
||||||
During DNSSEC parent-child interactions it is useful to indicate
|
|
||||||
which keys are to be used as the secure entry point to a zone.
|
|
||||||
During key rollovers the KS-flag can be used by the parent to
|
|
||||||
determine from which key the DS RR is to be generated from.
|
|
||||||
|
|
||||||
2. The Key Signing flag
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
| flags |K| protocol | algorithm |
|
|
||||||
| |S| | |
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
| /
|
|
||||||
/ public key /
|
|
||||||
/ /
|
|
||||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
|
||||||
|
|
||||||
KEY RR Format
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
The bit 15th bit (TBD) in the flags field is assigned to be the key
|
|
||||||
signing flag. If set the key is intended to be used as key signing
|
|
||||||
key. If the bit is not set then no special meaning should be
|
|
||||||
assigned. The 15th bit is currently reserved [2].
|
|
||||||
|
|
||||||
3. DNSSEC Protocol changes
|
|
||||||
|
|
||||||
The use of the KS flag does NOT change the DNS resolution and
|
|
||||||
resolution protocol. The KS flag is only used to provide a hint
|
|
||||||
about the different administrative properties and MUST NOT be used
|
|
||||||
during the resolving process.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kolkman Expires March 4, 2003 [Page 3]
|
|
||||||
|
|
||||||
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
|
||||||
|
|
||||||
|
|
||||||
4. Operational Guidelines
|
|
||||||
|
|
||||||
By setting the KS-flag on a particular key, zone administrators
|
|
||||||
indicate that that key should be used as the secure entry point for
|
|
||||||
their zone. Therefore zone administrators SHOULD set the bit only
|
|
||||||
for zone keys that are used to sign the KEY RRset and are intended to
|
|
||||||
act as the top of the chain of trust for their zone.
|
|
||||||
|
|
||||||
Parent zone administrators and resolver administrators MAY choose to
|
|
||||||
ignore the flag.
|
|
||||||
|
|
||||||
Even with the KS-flag there is no mechanism to distinguish between
|
|
||||||
keys that should be used by the parent to point DS records to or keys
|
|
||||||
to be used by resolver administrators as statically configured keys.
|
|
||||||
|
|
||||||
If the bit is modified during the lifetime of the key then this would
|
|
||||||
have impact on the keytag and on the hash data in the DS RRs
|
|
||||||
intending to point to this key. The bit SHOULD NOT be modified once
|
|
||||||
the key has been put into use.
|
|
||||||
|
|
||||||
5. Security considerations
|
|
||||||
|
|
||||||
The flag MUST NOT be used in the resolution protocol or to determine
|
|
||||||
the security status of a key. The flag is to be used for
|
|
||||||
administrative purposes only.
|
|
||||||
|
|
||||||
If the flag is used to determine which key is to be used as the
|
|
||||||
secure entry point then the trust in the key should be inferred from
|
|
||||||
an existing DNS chain of trust or by an out of band key exchange.
|
|
||||||
|
|
||||||
6. Acknowledgments
|
|
||||||
|
|
||||||
The ideas documented in this draft are inspired by communications we
|
|
||||||
had with numerous people and ideas published by other folk, Jakob
|
|
||||||
Schlyter and Olafur Gudmundsson and Dan Massey have been most
|
|
||||||
substantial in providing ideas and feedback.
|
|
||||||
|
|
||||||
This document saw the light during a workshop on DNSSEC operations
|
|
||||||
hosted by USC/ISI.
|
|
||||||
|
|
||||||
"Animal Farm; a Fairy Story" was first published by George Orwell in
|
|
||||||
1945, The version illustrated by Ralph Steadman is one we recommend (
|
|
||||||
ISBN: 0151002177 ).
|
|
||||||
|
|
||||||
References
|
|
||||||
|
|
||||||
[1] Gudmundsson, "Delegation Signer Resource Record", work in
|
|
||||||
progress draft-ietf-dnsext-delegation-signer-08.txt, June 2002.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kolkman Expires March 4, 2003 [Page 4]
|
|
||||||
|
|
||||||
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
|
||||||
|
|
||||||
|
|
||||||
[2] Massey and Rose, "Limiting the Scope of the KEY Resource
|
|
||||||
Record", work in progress draft-ietf-dnsext-restrict-key-for-
|
|
||||||
dnssec-03, June 28 2002.
|
|
||||||
|
|
||||||
|
|
||||||
Author's Address
|
|
||||||
|
|
||||||
Olaf M. Kolkman
|
|
||||||
RIPE NCC
|
|
||||||
Singel 256
|
|
||||||
Amsterdam 1016 AB
|
|
||||||
NL
|
|
||||||
|
|
||||||
Phone: +31 20 535 4444
|
|
||||||
EMail: olaf@ripe.net
|
|
||||||
URI: http://www.ripe.net/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kolkman Expires March 4, 2003 [Page 5]
|
|
||||||
|
|
||||||
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
|
||||||
|
|
||||||
|
|
||||||
Full Copyright Statement
|
|
||||||
|
|
||||||
Copyright (C) The Internet Society (2002). All Rights Reserved.
|
|
||||||
|
|
||||||
This document and translations of it may be copied and furnished to
|
|
||||||
others, and derivative works that comment on or otherwise explain it
|
|
||||||
or assist in its implementation may be prepared, copied, published
|
|
||||||
and distributed, in whole or in part, without restriction of any
|
|
||||||
kind, provided that the above copyright notice and this paragraph are
|
|
||||||
included on all such copies and derivative works. However, this
|
|
||||||
document itself may not be modified in any way, such as by removing
|
|
||||||
the copyright notice or references to the Internet Society or other
|
|
||||||
Internet organizations, except as needed for the purpose of
|
|
||||||
developing Internet standards in which case the procedures for
|
|
||||||
copyrights defined in the Internet Standards process must be
|
|
||||||
followed, or as required to translate it into languages other than
|
|
||||||
English.
|
|
||||||
|
|
||||||
The limited permissions granted above are perpetual and will not be
|
|
||||||
revoked by the Internet Society or its successors or assigns.
|
|
||||||
|
|
||||||
This document and the information contained herein is provided on an
|
|
||||||
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
|
||||||
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
|
||||||
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
|
||||||
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
||||||
|
|
||||||
Acknowledgement
|
|
||||||
|
|
||||||
Funding for the RFC Editor function is currently provided by the
|
|
||||||
Internet Society.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Kolkman Expires March 4, 2003 [Page 6]
|
|
||||||
|
|
392
doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-01.txt
Normal file
392
doc/draft/draft-ietf-dnsext-keyrr-key-signing-flag-01.txt
Normal file
@@ -0,0 +1,392 @@
|
|||||||
|
|
||||||
|
|
||||||
|
DNS Extensions O. Kolkman
|
||||||
|
Internet-Draft RIPE NCC
|
||||||
|
Expires: March 2, 2003 J. Schlyter
|
||||||
|
Carlstedt Research &
|
||||||
|
Technology
|
||||||
|
September 2002
|
||||||
|
|
||||||
|
|
||||||
|
KEY RR Key Signing (KS) Flag
|
||||||
|
draft-ietf-dnsext-keyrr-key-signing-flag-01
|
||||||
|
|
||||||
|
Status of this Memo
|
||||||
|
|
||||||
|
This document is an Internet-Draft and is in full conformance with
|
||||||
|
all provisions of Section 10 of RFC2026.
|
||||||
|
|
||||||
|
Internet-Drafts are working documents of the Internet Engineering
|
||||||
|
Task Force (IETF), its areas, and its working groups. Note that
|
||||||
|
other groups may also distribute working documents as Internet-
|
||||||
|
Drafts.
|
||||||
|
|
||||||
|
Internet-Drafts are draft documents valid for a maximum of six months
|
||||||
|
and may be updated, replaced, or obsoleted by other documents at any
|
||||||
|
time. It is inappropriate to use Internet-Drafts as reference
|
||||||
|
material or to cite them other than as "work in progress."
|
||||||
|
|
||||||
|
The list of current Internet-Drafts can be accessed at http://
|
||||||
|
www.ietf.org/ietf/1id-abstracts.txt.
|
||||||
|
|
||||||
|
The list of Internet-Draft Shadow Directories can be accessed at
|
||||||
|
http://www.ietf.org/shadow.html.
|
||||||
|
|
||||||
|
This Internet-Draft will expire on March 2, 2003.
|
||||||
|
|
||||||
|
Copyright Notice
|
||||||
|
|
||||||
|
Copyright (C) The Internet Society (2002). All Rights Reserved.
|
||||||
|
|
||||||
|
Abstract
|
||||||
|
|
||||||
|
With the DS record [1] the concept of key signing and zone signing
|
||||||
|
keys has been introduced. Key signing keys are the keys that sign
|
||||||
|
the keyset only. In general, key signing keys are the keys that are
|
||||||
|
pointed to by DS records and are the first keys to be used when
|
||||||
|
following a chain of trust into the zone. The key signing keys only
|
||||||
|
sign the KEY RRset at the apex of a zone, zone signing keys sign all
|
||||||
|
data in a zone. We propose a flag to distinguish the key signing key
|
||||||
|
from other keys in the KEY RR set during DNSSEC operations.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kolkman & Schlyter Expires March 2, 2003 [Page 1]
|
||||||
|
|
||||||
|
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
||||||
|
|
||||||
|
|
||||||
|
The key words "MAY","MAY NOT", "MUST", "MUST NOT", "REQUIRED",
|
||||||
|
"RECOMMENDED", "SHOULD", and "SHOULD NOT" in this document are to be
|
||||||
|
interpreted as described in RFC2119.
|
||||||
|
|
||||||
|
Table of Contents
|
||||||
|
|
||||||
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
|
2. The Key Signing Flag . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
|
3. DNSSEC Protocol Changes . . . . . . . . . . . . . . . . . . . 3
|
||||||
|
4. Operational Guidelines . . . . . . . . . . . . . . . . . . . . 4
|
||||||
|
5. Security Considerations . . . . . . . . . . . . . . . . . . . 4
|
||||||
|
6. Document Changes . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
|
6.1 draft version 00 -> 01 . . . . . . . . . . . . . . . . . . . . 5
|
||||||
|
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||||
|
References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||||
|
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 6
|
||||||
|
Full Copyright Statement . . . . . . . . . . . . . . . . . . . 7
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kolkman & Schlyter Expires March 2, 2003 [Page 2]
|
||||||
|
|
||||||
|
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
||||||
|
|
||||||
|
|
||||||
|
1. Introduction
|
||||||
|
|
||||||
|
"All keys are equal but some keys are more equal than others" [2]
|
||||||
|
|
||||||
|
With the DS record [1] the concept of key signing and zone signing
|
||||||
|
keys has been introduced. In general these are the keys that are
|
||||||
|
pointed to by DS records and are the first keys to be used when
|
||||||
|
following the chain of trust into a zone ( secure entry points of the
|
||||||
|
zone). These key signing keys may also be configured in resolver
|
||||||
|
systems that use zones as a trusted root[4] for a secure island.
|
||||||
|
|
||||||
|
Early deployment tests have shown that during the key-exchange
|
||||||
|
between the parent and the child it is useful to indicate which keys
|
||||||
|
are to be used as the secure entry point to a zone. We introduce the
|
||||||
|
Key Signing Key flag to indicate this special 'administrative' status
|
||||||
|
of the key. The availability of the flag allows the key exchange to
|
||||||
|
be automated where, without the flag, some additional out-of-band
|
||||||
|
communication is needed.
|
||||||
|
|
||||||
|
2. The Key Signing Flag
|
||||||
|
|
||||||
|
|
||||||
|
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
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| flags |K| protocol | algorithm |
|
||||||
|
| |S| | |
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
| /
|
||||||
|
/ public key /
|
||||||
|
/ /
|
||||||
|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
||||||
|
|
||||||
|
KEY RR Format
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The bit 15th bit (TBD) in the flags field is assigned to be the key
|
||||||
|
signing flag. If set the key is intended to be used as key signing
|
||||||
|
key. If the bit is not set, no special meaning should be assigned.
|
||||||
|
The 15th bit is currently reserved [3].
|
||||||
|
|
||||||
|
3. DNSSEC Protocol Changes
|
||||||
|
|
||||||
|
The use of the KS flag does not change the DNS resolution and
|
||||||
|
resolution protocol. The KS flag is only used to provide a hint
|
||||||
|
about the different administrative properties and MUST NOT be used
|
||||||
|
during the resolving process.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kolkman & Schlyter Expires March 2, 2003 [Page 3]
|
||||||
|
|
||||||
|
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
||||||
|
|
||||||
|
|
||||||
|
4. Operational Guidelines
|
||||||
|
|
||||||
|
By setting the KS flag on a particular key, zone administrators
|
||||||
|
indicate that that key should be used as the secure entry point for
|
||||||
|
their zone. Therefore zone administrators SHOULD set the bit only
|
||||||
|
for zone keys that are used to sign the KEY RRset and are intended to
|
||||||
|
act as the first link in the chain of trust for their zone.
|
||||||
|
|
||||||
|
Parent zone administrators and resolver administrators that want to
|
||||||
|
configure a keysigning key as their 'trusted key' MAY choose to
|
||||||
|
ignore the flag.
|
||||||
|
|
||||||
|
Using the flag a key rollover can be automated. The parent can use
|
||||||
|
an existing trust relation to verify keysets in which a new key with
|
||||||
|
the KS flag appears.
|
||||||
|
|
||||||
|
If the bit is modified during the lifetime of the key then this would
|
||||||
|
have impact on the keytag and on the hash data in the DS RRs
|
||||||
|
intending to point to this key. The bit SHOULD NOT be modified once
|
||||||
|
the key has been put into use.
|
||||||
|
|
||||||
|
5. Security Considerations
|
||||||
|
|
||||||
|
The flag MUST NOT be used in the resolution protocol or to determine
|
||||||
|
the security status of a key. The flag is to be used for
|
||||||
|
administrative purposes only.
|
||||||
|
|
||||||
|
No trust in a key should be inferred from this flag - trust must be
|
||||||
|
inferred from an existing chain of trust or an out-of-band exchange.
|
||||||
|
|
||||||
|
Since this flag MAY be used for automating key exchanges, we think
|
||||||
|
the following consideration is in place.
|
||||||
|
|
||||||
|
Automated mechanisms for rollover of the DS RR may be vulnerable to a
|
||||||
|
class of replay attacks. This may happen after a key exchange where
|
||||||
|
a keyset, containing two keys with the KS flag set, is sent to the
|
||||||
|
parent. The parent verifies the keyset with the existing trust
|
||||||
|
relation and creates the new DS RR from the key that the current DS
|
||||||
|
is not pointing to. This key exchange may be replayed, if the parent
|
||||||
|
does not maintain state of which DS RRs where used previously so that
|
||||||
|
the new DS RR is replaced by the old DS RR again. These kinds of
|
||||||
|
attacks can be prevented by maintaining a registry of keys that have
|
||||||
|
been used to generate DS RRs from previously.
|
||||||
|
|
||||||
|
6. Document Changes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kolkman & Schlyter Expires March 2, 2003 [Page 4]
|
||||||
|
|
||||||
|
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
||||||
|
|
||||||
|
|
||||||
|
6.1 draft version 00 -> 01
|
||||||
|
|
||||||
|
Clean up of references and correction of typos;
|
||||||
|
|
||||||
|
modified Abstract text a little;
|
||||||
|
|
||||||
|
Added explicit warning for replay attacks to the security section;
|
||||||
|
|
||||||
|
Removed the text that hinted on a distinction between a keysigning
|
||||||
|
key configured in resolvers and in parent zones.
|
||||||
|
|
||||||
|
|
||||||
|
7. Acknowledgments
|
||||||
|
|
||||||
|
The ideas documented in this draft are inspired by communications we
|
||||||
|
had with numerous people and ideas published by other folk, Olafur
|
||||||
|
Gudmundsson, Daniel Karrenberg, Dan Massey and Sam Weiler have been
|
||||||
|
helping with providing ideas and feedback.
|
||||||
|
|
||||||
|
This document saw the light during a workshop on DNSSEC operations
|
||||||
|
hosted by USC/ISI.
|
||||||
|
|
||||||
|
References
|
||||||
|
|
||||||
|
[1] Gudmundsson, "Delegation Signer Resource Record", work in
|
||||||
|
progress draft-ietf-dnsext-delegation-signer-08.txt, June 2002.
|
||||||
|
|
||||||
|
[2] Orwell, "Animal Farm; a Fairy Story"", 1945, <http://
|
||||||
|
www.ddc.net/ygg/etext/animal.htm#10>.
|
||||||
|
|
||||||
|
[3] Massey and Rose, "Limiting the Scope of the KEY Resource
|
||||||
|
Record", work in progress draft-ietf-dnsext-restrict-key-for-
|
||||||
|
dnssec-03, June 28 2002.
|
||||||
|
|
||||||
|
[4] Lewis, E., "DNS Security Extension Clarification on Zone
|
||||||
|
Status", RFC 3090, March 2001.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kolkman & Schlyter Expires March 2, 2003 [Page 5]
|
||||||
|
|
||||||
|
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
||||||
|
|
||||||
|
|
||||||
|
Authors' Addresses
|
||||||
|
|
||||||
|
Olaf M. Kolkman
|
||||||
|
RIPE NCC
|
||||||
|
Singel 256
|
||||||
|
Amsterdam 1016 AB
|
||||||
|
NL
|
||||||
|
|
||||||
|
Phone: +31 20 535 4444
|
||||||
|
EMail: olaf@ripe.net
|
||||||
|
URI: http://www.ripe.net/
|
||||||
|
|
||||||
|
|
||||||
|
Jakob Schlyter
|
||||||
|
Carlstedt Research & Technology
|
||||||
|
Stora Badhusgatan 18-20
|
||||||
|
Goteborg SE-411 21
|
||||||
|
Sweden
|
||||||
|
|
||||||
|
EMail: jakob@crt.se
|
||||||
|
URI: http://www.crt.se/~jakob/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kolkman & Schlyter Expires March 2, 2003 [Page 6]
|
||||||
|
|
||||||
|
Internet-Draft KEY RR Key Signing (KS) Flag September 2002
|
||||||
|
|
||||||
|
|
||||||
|
Full Copyright Statement
|
||||||
|
|
||||||
|
Copyright (C) The Internet Society (2002). All Rights Reserved.
|
||||||
|
|
||||||
|
This document and translations of it may be copied and furnished to
|
||||||
|
others, and derivative works that comment on or otherwise explain it
|
||||||
|
or assist in its implementation may be prepared, copied, published
|
||||||
|
and distributed, in whole or in part, without restriction of any
|
||||||
|
kind, provided that the above copyright notice and this paragraph are
|
||||||
|
included on all such copies and derivative works. However, this
|
||||||
|
document itself may not be modified in any way, such as by removing
|
||||||
|
the copyright notice or references to the Internet Society or other
|
||||||
|
Internet organizations, except as needed for the purpose of
|
||||||
|
developing Internet standards in which case the procedures for
|
||||||
|
copyrights defined in the Internet Standards process must be
|
||||||
|
followed, or as required to translate it into languages other than
|
||||||
|
English.
|
||||||
|
|
||||||
|
The limited permissions granted above are perpetual and will not be
|
||||||
|
revoked by the Internet Society or its successors or assigns.
|
||||||
|
|
||||||
|
This document and the information contained herein is provided on an
|
||||||
|
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
||||||
|
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
||||||
|
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
||||||
|
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
|
Acknowledgement
|
||||||
|
|
||||||
|
Funding for the RFC Editor function is currently provided by the
|
||||||
|
Internet Society.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Kolkman & Schlyter Expires March 2, 2003 [Page 7]
|
||||||
|
|
@@ -1,8 +1,8 @@
|
|||||||
INTERNET-DRAFT Adam M. Costello
|
INTERNET-DRAFT Adam M. Costello
|
||||||
draft-ietf-idn-punycode-02.txt 2002-May-23
|
draft-ietf-idn-punycode-03.txt 2002-Oct-08
|
||||||
Expires 2002-Nov-23
|
Expires 2003-Apr-08
|
||||||
|
|
||||||
Punycode: An encoding of Unicode for use with IDNA
|
Punycode: A Bootstring encoding of Unicode for IDNA
|
||||||
|
|
||||||
Status of this Memo
|
Status of this Memo
|
||||||
|
|
||||||
@@ -81,6 +81,12 @@ Contents
|
|||||||
constraints. For the details of the prefix and constraints, see
|
constraints. For the details of the prefix and constraints, see
|
||||||
[IDNA] and [NAMEPREP].
|
[IDNA] and [NAMEPREP].
|
||||||
|
|
||||||
|
Punycode is an instance of a more general algorithm called
|
||||||
|
Bootstring, which allows strings composed from a small set of
|
||||||
|
"basic" code points to uniquely represent any string of code points
|
||||||
|
drawn from a larger set. Punycode is Bootstring with particular
|
||||||
|
parameter values appropriate for IDNA.
|
||||||
|
|
||||||
1.1 Features
|
1.1 Features
|
||||||
|
|
||||||
Bootstring has been designed to have the following features:
|
Bootstring has been designed to have the following features:
|
||||||
@@ -92,7 +98,7 @@ Contents
|
|||||||
|
|
||||||
* Uniqueness: There is at most one basic string that represents a
|
* Uniqueness: There is at most one basic string that represents a
|
||||||
given extended string.
|
given extended string.
|
||||||
|
|
||||||
* Reversibility: Any extended string mapped to a basic string can
|
* Reversibility: Any extended string mapped to a basic string can
|
||||||
be recovered from that basic string.
|
be recovered from that basic string.
|
||||||
|
|
||||||
@@ -100,7 +106,7 @@ Contents
|
|||||||
extended string length is small. This is important in the
|
extended string length is small. This is important in the
|
||||||
context of domain names because RFC 1034 [RFC1034] restricts the
|
context of domain names because RFC 1034 [RFC1034] restricts the
|
||||||
length of a domain label to 63 characters.
|
length of a domain label to 63 characters.
|
||||||
|
|
||||||
* Simplicity: The encoding and decoding algorithms are reasonably
|
* Simplicity: The encoding and decoding algorithms are reasonably
|
||||||
simple to implement. The goals of efficiency and simplicity are
|
simple to implement. The goals of efficiency and simplicity are
|
||||||
at odds; Bootstring aims at a good balance between them.
|
at odds; Bootstring aims at a good balance between them.
|
||||||
@@ -145,7 +151,7 @@ Contents
|
|||||||
|
|
||||||
An overflow is an attempt to compute a value that exceeds the
|
An overflow is an attempt to compute a value that exceeds the
|
||||||
maximum value of an integer variable.
|
maximum value of an integer variable.
|
||||||
|
|
||||||
3. Bootstring description
|
3. Bootstring description
|
||||||
|
|
||||||
Bootstring represents an arbitrary sequence of code points (the
|
Bootstring represents an arbitrary sequence of code points (the
|
||||||
@@ -154,7 +160,7 @@ Contents
|
|||||||
"Bootstring algorithms" presents the algorithms as pseudocode.
|
"Bootstring algorithms" presents the algorithms as pseudocode.
|
||||||
Sections 7.1 "Decoding traces" and 7.2 "Encoding traces" trace the
|
Sections 7.1 "Decoding traces" and 7.2 "Encoding traces" trace the
|
||||||
algorithms for sample inputs.
|
algorithms for sample inputs.
|
||||||
|
|
||||||
The following sections describe the four techniques used in
|
The following sections describe the four techniques used in
|
||||||
Bootstring. "Basic code point segregation" is a very simple
|
Bootstring. "Basic code point segregation" is a very simple
|
||||||
and efficient encoding for basic code points occurring in the
|
and efficient encoding for basic code points occurring in the
|
||||||
@@ -541,7 +547,7 @@ Contents
|
|||||||
code points less than initial_n are basic code points (which is true
|
code points less than initial_n are basic code points (which is true
|
||||||
for Punycode if code points are unsigned).
|
for Punycode if code points are unsigned).
|
||||||
|
|
||||||
The brace-enclosed conditions "non-basic" and "or m is basic" can be
|
The brace-enclosed conditions "non-basic" and "or c is basic" can be
|
||||||
omitted if initial_n exceeds all basic code points (which is true
|
omitted if initial_n exceeds all basic code points (which is true
|
||||||
for Punycode), because the code point being tested is never less
|
for Punycode), because the code point being tested is never less
|
||||||
than initial_n.
|
than initial_n.
|
||||||
@@ -965,13 +971,13 @@ C. Disclaimer and license
|
|||||||
D. Punycode sample implementation
|
D. Punycode sample implementation
|
||||||
|
|
||||||
/*
|
/*
|
||||||
punycode.c from draft-ietf-idn-punycode-02
|
punycode.c from draft-ietf-idn-punycode-03
|
||||||
http://www.nicemice.net/idn/
|
http://www.nicemice.net/idn/
|
||||||
Adam M. Costello
|
Adam M. Costello
|
||||||
http://www.nicemice.net/amc/
|
http://www.nicemice.net/amc/
|
||||||
|
|
||||||
This is ANSI C code (C89) implementing
|
This is ANSI C code (C89) implementing
|
||||||
Punycode (draft-ietf-idn-punycode-02).
|
Punycode (draft-ietf-idn-punycode-03).
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -1486,4 +1492,4 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
INTERNET-DRAFT expires 2002-Nov-23
|
INTERNET-DRAFT expires 2003-Apr-08
|
Reference in New Issue
Block a user