mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-28 13:08:06 +00:00
added new drafts
This commit is contained in:
parent
9de63e99af
commit
6277b6cbb5
354
doc/draft/draft-ietf-dnsext-parent-sig-00.txt
Normal file
354
doc/draft/draft-ietf-dnsext-parent-sig-00.txt
Normal file
@ -0,0 +1,354 @@
|
||||
INTERNET-DRAFT R. Gieben
|
||||
DNSEXT Working Group NLnet Labs
|
||||
Expires September 2001 T. Lindgreen
|
||||
NLnet Labs
|
||||
|
||||
Parent's SIG over child's KEY
|
||||
|
||||
draft-ietf-dnsext-parent-sig-00.txt
|
||||
|
||||
|
||||
Status of This Document
|
||||
|
||||
This document is an Internet-Draft and is in full conformance with
|
||||
all provisions of Section 10 of RFC 2026. 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.
|
||||
|
||||
Comments should be sent to the authors or the DNSEXT WG mailing
|
||||
list namedroppers@ops.ietf.org.
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (C) The Internet Society (2001). All rights reserved.
|
||||
|
||||
|
||||
Abstract
|
||||
|
||||
When dealing with large amounts of keys the procedures to update a
|
||||
zone and to sign a zone need to be clearly defined and practically
|
||||
possible. The current idea is to have the KEY RR and the parent's
|
||||
SIG to reside in the child's zone and perhaps also in the parent's
|
||||
zone. We feel that this would lead to very complicated procedures for
|
||||
large TLDs. We propose an alternative scheme in which the parent zone
|
||||
stores the parent's signature over the child's key and also a copy of
|
||||
the child's key itself.
|
||||
|
||||
The advantage of this proposal is that all signatures signed by a
|
||||
key are in the same zone file as the producing key. This allows for a
|
||||
simple key rollover and resigning mechanism. For large TLDs this is
|
||||
extremely important.
|
||||
|
||||
|
||||
|
||||
|
||||
Internet-Draft draft-ietf-dnsext-parent-sig-01.txt [Page 2]
|
||||
|
||||
|
||||
We further discuss the impact on a secure aware resolver/forwarder
|
||||
and the impact on the authority of KEYs and the NXT record.
|
||||
|
||||
Table of Contents
|
||||
|
||||
Status of This Document....................................2
|
||||
Abstract...................................................2
|
||||
|
||||
Table of Contents..........................................3
|
||||
1 Introduction.............................................3
|
||||
2 Proposal.................................................4
|
||||
3 Impact on a secure aware resolver/forwarder..............4
|
||||
3.1 Impact of key rollovers on resolver/forwarder..........4
|
||||
4 Key rollovers............................................5
|
||||
4.1 Scheduled key rollover.................................5
|
||||
4.2 Unscheduled key rollover...............................5
|
||||
5 Zone resigning...........................................6
|
||||
6. Consequences for KEY and NXT records....................6
|
||||
6.1. KEY bit in NXT records................................6
|
||||
6.2. Authority of KEY records..............................6
|
||||
7. Security Considerations.................................6
|
||||
|
||||
Authors' Addresses.........................................7
|
||||
References.................................................7
|
||||
Full Copyright Statement...................................7
|
||||
|
||||
|
||||
1. Introduction
|
||||
Within a CENTR working group NLnet Labs is researching the impact
|
||||
of DNSSEC on the ccTLDs and gTLDs.
|
||||
|
||||
In this document we are considering a secure zone, somewhere under
|
||||
a secure entry point and on-tree [1] validation between the secure
|
||||
entry point and the zone in question. The resolver we are
|
||||
considering is security aware and is preconfigured with the KEY of
|
||||
the secure entry point.
|
||||
|
||||
RFC 2535 [3] states that a zone key must be present in the apex of
|
||||
a zone. This can be in the at the delegation point in the parent's
|
||||
zonefile (normally the case for null keys), or in the child's
|
||||
zonefile, or in both. This key is only valid if it is signed by the
|
||||
parent, so there is also the question where this signature is
|
||||
located.
|
||||
|
||||
The original idea was to have the KEY RR and the parent's SIG to
|
||||
reside in the child's zone and perhaps also in the parent's zone.
|
||||
There is a draft proposal [4], that describes how a keyrollover can
|
||||
be handled.
|
||||
|
||||
At NLnet Labs we found that storing the parent's signature over
|
||||
the child's key in the child's zone:
|
||||
- makes resigning a KEY by the parent difficult
|
||||
|
||||
|
||||
|
||||
Internet-Draft draft-ietf-dnsext-parent-sig-01.txt [Page 3]
|
||||
|
||||
|
||||
- makes a scheduled keyrollover very complicated
|
||||
- makes an unscheduled keyrollover virtually impossible
|
||||
|
||||
We propose an alternative scheme in which the parent's signature
|
||||
over the child's key is only stored in the parent's zone, i.e. where
|
||||
the signing key resides. This would solve the above problems.
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
|
||||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"
|
||||
in this document are to be interpreted as described in [2].
|
||||
|
||||
|
||||
2. Proposal
|
||||
The core of the new proposal is that the parent zone stores the
|
||||
parent's signature over the child's key and also a copy of the
|
||||
child's key itself. The child zone also contains its zonekey, where
|
||||
it is selfsigned.
|
||||
|
||||
The advantage of this proposal is that all signatures signed by a
|
||||
key are in the same zone file as the producing key. This allows for a
|
||||
simple key rollover and resigning mechanism. For large TLD's this is
|
||||
extremely important. A disadvantage would be that not all the
|
||||
information concerning one zone is stored at that zone, namely the
|
||||
(parent) SIG RR. Note that the same argument can be applied to a
|
||||
zone's NULL key, which is also stored at the parent.
|
||||
|
||||
|
||||
3. Impact on a secure aware resolver/forwarder
|
||||
The resolver must be aware of the fact that the parent is more
|
||||
authoritative than a child when it comes to deciding whether a zone
|
||||
is secured or not.
|
||||
|
||||
Without caching and with on-tree validation, a resolver will
|
||||
always start its search at a secure entry point. In this way it can
|
||||
determine whether it must expect SIG records or not.
|
||||
|
||||
Considering caching in a secure aware resolver or forwarder. If
|
||||
information of a secure zone is cached, its validated KEY should also
|
||||
be cached.
|
||||
|
||||
If the KEY record expires, because the KEY TTL expires or because
|
||||
the SIG is no longer valid, the KEY should be discarded. The resolver
|
||||
or forwarder should then also discard other data concerning the zone
|
||||
because it is no longer validated and possible bad data should not be
|
||||
cached.
|
||||
|
||||
3.1. Impact of key rollovers on resolver/forwarder
|
||||
|
||||
When a zone is in the process of a key rollover, there could be a
|
||||
discrepancy between the KEY and the SIG in the apex of the zone and
|
||||
the KEY and SIG that are stored in the cache of a resolver.
|
||||
|
||||
|
||||
|
||||
|
||||
Internet-Draft draft-ietf-dnsext-parent-sig-01.txt [Page 4]
|
||||
|
||||
|
||||
|
||||
Suppose a resolver has cached the NS, KEY and SIG records of a
|
||||
zone. Next a request comes for an A record in that zone. Also the
|
||||
zone is in the process of a keyrollover and already has new keys in
|
||||
its zone. The resolver receives an answer consisting of the A record
|
||||
and a SIG over the A record. It uses the tag field in the SIG to
|
||||
determine if it has a KEY which is suitable to validate the SIG. If
|
||||
it does not has such a KEY the resolver must ask the parent of the
|
||||
zone for a new KEY and then try it again. Now the resolver has 2
|
||||
keys for the zone, according to the tag field in the SIG it can use
|
||||
either one.
|
||||
|
||||
If the new key also does not validate the SIG the zone is marked
|
||||
bad. If the KEY found at the parent is the NULL key the resolver
|
||||
knows that the child is considered insecure. This could for instance
|
||||
be in the case the private key of the zone is stolen.
|
||||
|
||||
|
||||
4. Key rollovers
|
||||
Private keys can be stolen or a key can become over used. In both
|
||||
cases a new key must be signed and distributed. This event is called
|
||||
keyrollover. We further distinguish between a scheduled and an
|
||||
unscheduled key rollover. A scheduled rollover is announced before
|
||||
hand. An unscheduled key rollover is needed when a private key is
|
||||
compromised.
|
||||
|
||||
4.1. Scheduled key rollover
|
||||
When the signatures, produced by the key to be rolled over, are
|
||||
all in one zone file, there are two parties involved. Let us look at
|
||||
an example where a TLD rolls over its zone key. The new key needs to
|
||||
be signed with the root's key before it can be used to sign the TLD
|
||||
zone and the zone keys of the TLD's children. The steps that need to
|
||||
be taken by TLD and root are:
|
||||
- the TLD adds the new key to its keyset in its zonefile. This
|
||||
zone and keyset are signed with the old zonekey
|
||||
- then the TLD signals the parent
|
||||
- the root copies the new keyset, consisting of the both new
|
||||
and the old key, in its zonefile, resigns it and signals the
|
||||
TLD
|
||||
- the TLD removes the old key from its keyset, resigns its zone
|
||||
with the new key, and signals the the root
|
||||
- the root copies the new keyset, now consisting of the new key
|
||||
only, and resigns it
|
||||
|
||||
4.2. Unscheduled key rollover
|
||||
Although nobody hopes that this will ever happen, we must be able
|
||||
to cope with possible key compromises. When such an event occurs, an
|
||||
immediate keyrollover is needed and must be completed in the shortest
|
||||
possible time. With two parties involved, it will still be awkward,
|
||||
but not impossible to update two zonefiles overnight. "Out-of-band"
|
||||
communication between the two parties will be necessary, since the
|
||||
compromised old key can not be trusted. We think that between two
|
||||
|
||||
|
||||
|
||||
Internet-Draft draft-ietf-dnsext-parent-sig-01.txt [Page 5]
|
||||
|
||||
|
||||
parties this is doable, but this complicated procedure is beyond the
|
||||
scope of this document. [5]
|
||||
|
||||
|
||||
5. Zone resigning
|
||||
Resigning a TLD is necessary before the current signatures expire.
|
||||
When all SIG records, produced by the TLD's zone key are kept in the
|
||||
TLD's zonefile, and only there, such a resign session is trivial, as
|
||||
only one party (the TLD) and one zonefile is involved.
|
||||
|
||||
|
||||
6. Consequences for KEY and NXT records
|
||||
A key record is only present in a child zone to facilitate a key
|
||||
rollover. A resolver should therefore be aware that the zonekey of a
|
||||
child zone is actually stored in the parent's zone. This also affects
|
||||
the NXT record and the authority of KEY resource records.
|
||||
|
||||
6.1. KEY bit in NXT records
|
||||
RFC 2535 [3], section 5.2 states:
|
||||
|
||||
" The NXT RR type bit map format currently defined is one bit per
|
||||
RR type present for the owner name. A one bit indicates that at
|
||||
least one RR of that type is present for the owner name. A zero
|
||||
indicates that no such RR is present. [....] "
|
||||
|
||||
With a KEY still present in a child zone we do not see a compelling
|
||||
reason to change this default behavior.
|
||||
|
||||
6.2. Authority of KEY records
|
||||
The parent of a zone generates the signature for the key belonging
|
||||
to that zone. By making that signature available the parent publicly
|
||||
states that the child zone is trustworthy: when it comes to security
|
||||
in DNSSEC the parent is more authoritative than the child.
|
||||
|
||||
From this we conclude that a parent zone MUST set the authority
|
||||
bit to 1 and child zones MUST set this bit to 0 when dealing with
|
||||
KEYs from that child zone.
|
||||
|
||||
A secure entry point has a selfsigned key and thus has no parent who
|
||||
is more authoritative on that key. This is not a problem. If a
|
||||
resolver knows that a secure entry point is a secure entry point it
|
||||
must have its key preconfigured. There is no need for a parent in
|
||||
this scenario, because the resolver itself can check the security of
|
||||
that zone. A interesting consequence of this is that nobody, but the
|
||||
resolver is authoritative for a key belonging to a secure entry
|
||||
point. This authority must established via some out of band
|
||||
mechanism, like publishing keys in a newspaper.
|
||||
|
||||
|
||||
7. Security Considerations
|
||||
This whole document is about security.
|
||||
|
||||
|
||||
|
||||
|
||||
Internet-Draft draft-ietf-dnsext-parent-sig-01.txt [Page 6]
|
||||
|
||||
|
||||
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
R. Gieben
|
||||
Stichting NLnet Labs
|
||||
Kruislaan 419
|
||||
1098 VA Amsterdam
|
||||
miek@nlnetlabs.nl
|
||||
|
||||
T. Lindgreen
|
||||
Stichting NLnet Labs
|
||||
Kruislaan 419
|
||||
1098 VA Amsterdam
|
||||
ted@nlnetlabs.nl
|
||||
|
||||
|
||||
References
|
||||
|
||||
[1] Lewis, E. "DNS Security Extension Clarification on Zone Status",
|
||||
www.ietf.org/internet-drafts/draft-ietf-dnsext-zone-status-04.txt
|
||||
[2] Bradner, S. "Key words for use in RFCs to Indicate Requirement
|
||||
Levels", RFC 2119
|
||||
www.ietf.org/rfc/rfc2119.txt
|
||||
[3] Eastlake, D. "DNS Security Extensions", RFC 2535
|
||||
www.ietf.org/rfc/rfc2535.txt
|
||||
[4] Andrews, M., Eastlake, D. "Domain Name System (DNS) Security Key Rollover"
|
||||
www.ietf.org/internet-drafts/draft-ietf-dnsop-rollover-01.txt
|
||||
[5] Gieben, R. "Chain of trust"
|
||||
secnl.nlnetlabs.nl/thesis/thesis.html
|
||||
|
||||
|
||||
Full Copyright Statement
|
||||
|
||||
Copyright (C) The Internet Society (2001). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished
|
||||
to others, and derivative works that comment on or otherwise explain
|
||||
it or assist in its implementation may be prepared, copied, published
|
||||
and distributed, in whole or in part, without restriction of any
|
||||
kind, provided that the above copyright notice and this paragraph are
|
||||
included on all such copies and derivative works. However, this
|
||||
document itself may not be modified in any way, such as by removing
|
||||
the copyright notice or references to the Internet Society or other
|
||||
Internet organizations, except as needed for the purpose of
|
||||
developing Internet standards in which case the procedures for
|
||||
copyrights defined in the Internet Standards process must be
|
||||
followed, or as required to translate it into languages other than
|
||||
English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not
|
||||
be revoked by the Internet Society or its successors or assigns.
|
||||
|
||||
|
||||
|
||||
Internet-Draft draft-ietf-dnsext-parent-sig-01.txt [Page 7]
|
||||
|
||||
|
||||
|
||||
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.
|
496
doc/draft/draft-ietf-dnsext-parent-stores-zone-keys-00.txt
Normal file
496
doc/draft/draft-ietf-dnsext-parent-stores-zone-keys-00.txt
Normal file
@ -0,0 +1,496 @@
|
||||
INTERNET-DRAFT R. Gieben
|
||||
DNSEXT Working Group NLnet Labs
|
||||
Expires September 2001 T. Lindgreen
|
||||
NLnet Labs
|
||||
|
||||
Parent stores the child's zone KEYs
|
||||
|
||||
draft-ietf-dnsext-parent-stores-zone-keys-00.txt
|
||||
|
||||
|
||||
Status of This Document
|
||||
|
||||
This document is an Internet-Draft and is in full conformance with
|
||||
all provisions of Section 10 of RFC 2026. 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.
|
||||
|
||||
Comments should be sent to the authors or the DNSEXT WG mailing
|
||||
list namedroppers@ops.ietf.org.
|
||||
|
||||
This document updates RFC 2535 [2].
|
||||
|
||||
|
||||
Copyright Notice
|
||||
|
||||
Copyright (C) The Internet Society (2001). All rights reserved.
|
||||
|
||||
|
||||
Abstract
|
||||
|
||||
When dealing with large amounts of keys the procedures to update a
|
||||
zone and to sign a zone need to be clearly defined and practically
|
||||
possible. The current idea is to have the zone KEY RR and the
|
||||
parent's SIG to reside in the child's zone and perhaps also in the
|
||||
parent's zone. Operational experiences have prompted us to develop an
|
||||
alternative scheme in which the parent zone stores the parent's
|
||||
signature over the child's key and also the child's key itself.
|
||||
|
||||
The advantage of this scheme is that all signatures signed by a key
|
||||
are in the same zone file as the producing key. This allows for a
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 2]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
simple key rollover and resigning mechanism. For large TLDs this is
|
||||
extremely important.
|
||||
|
||||
Besides the operational advantages, this also obsoletes the NULL key,
|
||||
as the absence of child's zone KEY, which is securely verified by the
|
||||
absence of the KEY-bit in the corresponding NXT RR, now unambiguously
|
||||
indicates that the child is not secured by this parent.
|
||||
|
||||
We further discuss the impact on a secure aware resolver/forwarder
|
||||
and the impact on the authority of KEYs and the NXT record.
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
Status of This Document....................................2
|
||||
Abstract...................................................2
|
||||
|
||||
Table of Contents..........................................3
|
||||
1 Introduction.............................................3
|
||||
2 Proposal.................................................4
|
||||
2.1. TTL of the KEY and SIG at the parent..................4
|
||||
2.2. No NULL KEY...........................................5
|
||||
3 Impact on a secure aware resolver/forwarder..............5
|
||||
3.1 Impact of key rollovers on resolver/forwarder..........5
|
||||
4 Scheduled key rollover...................................6
|
||||
5 Unscheduled key rollover.................................6
|
||||
6 Zone resigning...........................................7
|
||||
7. Consequences for KEY and NXT records....................7
|
||||
7.1. KEY bit in NXT records................................7
|
||||
7.2. Authority of KEY records..............................8
|
||||
7.3. Selecting KEY sets....................................8
|
||||
8. The zone-KEY and local KEY records......................8
|
||||
9. Security Considerations.................................8
|
||||
|
||||
Authors' Addresses.........................................9
|
||||
References.................................................9
|
||||
Full Copyright Statement...................................9
|
||||
|
||||
|
||||
1. Introduction
|
||||
Within a CENTR working group NLnet Labs is researching the impact of
|
||||
DNSSEC on the ccTLDs and gTLDs.
|
||||
|
||||
In this document we are considering a secure zone, somewhere under a
|
||||
secure entry point and on-tree [1] validation between the secure
|
||||
entry point and the zone in question. The resolver we are
|
||||
considering is security aware and is preconfigured with the KEY of
|
||||
the secure entry point. We also make a distinction between a
|
||||
scheduled and a unscheduled key rollover. A scheduled rollover is
|
||||
announced before hand. An unscheduled key rollover is needed when a
|
||||
private key is compromised.
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 3]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
|
||||
RFC 2535 [2] states that a zone KEY must be present in the apex of a
|
||||
zone. This can be in the at the delegation point in the parent's
|
||||
zonefile, or in the child's zonefile, or in both. This key is only
|
||||
valid if it is signed by the parent, so there is also the question
|
||||
where this signature and this zone KEY are located.
|
||||
|
||||
The original idea was to have the zone KEY RR and the parent's SIG to
|
||||
reside in the child's zone and perhaps also in the parent's zone.
|
||||
There is a draft proposal [3], that describes how a keyrollover can
|
||||
be handled.
|
||||
|
||||
At NLnet Labs we found that storing the parent's signature over the
|
||||
child's zone KEY in the child's zone:
|
||||
- makes resigning a KEY by the parent difficult
|
||||
- makes a scheduled keyrollover very complicated
|
||||
- makes an unscheduled keyrollover virtually impossible
|
||||
|
||||
We propose an alternative scheme in which the parent's signature over
|
||||
the child's zone KEY and the child's zone KEY itself are only stored
|
||||
in the parent's zone, i.e. where the signing key resides. This would
|
||||
solve the above problems and also obsoletes the NULL KEY.
|
||||
|
||||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||||
document are to be interpreted as described in RFC 2119 [2].
|
||||
|
||||
|
||||
2. Proposal
|
||||
The core of the new proposal is that the parent zone stores the
|
||||
parent's signature over the child's zone KEY and also the child's
|
||||
zone KEY itself. The child zone may also contain its zone KEY, in
|
||||
which case is must be selfsigned.
|
||||
|
||||
The main advantage of this proposal is that all signatures signed by
|
||||
a key are in the same zone file as the producing key. This allows for
|
||||
a simple key rollover and resigning mechanism. For large TLDs this is
|
||||
extremely important. A disadvantage would be that not all the
|
||||
information concerning one zone is stored at that zone, this is
|
||||
covered in section 7.2.
|
||||
|
||||
A parent running DNSSEC SHOULD NOT refuse a request from a child to
|
||||
include and sign its key, but can ask for certain conditions to be
|
||||
met. These condition could include a fee, sufficient authentication,
|
||||
signing a non liability clause, the conditions specified in section 8
|
||||
of this document, etc.
|
||||
|
||||
2.1. TTL of the KEY and SIG at the parent
|
||||
Each zone in DNS expresses in its SOA record the maximum and minimum
|
||||
TTL values that they allow in the zone. Thus it is possible that the
|
||||
parent will sign with a value that is unacceptable to the child. The
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 4]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
parent MUST follow the TTL request of the child as long as that is
|
||||
within the allowed range for the parent.
|
||||
|
||||
2.2. No NULL KEY
|
||||
This proposal obsoletes the NULL KEY. If there is no child KEY at the
|
||||
parent, which can be securely verified by inspecting the the unset
|
||||
KEY-bit in the corresponding NXT RR, the child is not secured by this
|
||||
parent (of course, the child can then still be secured off-tree).
|
||||
This updates section 3.1.2 "The zone KEY RR Flag Field" of RFC 2535,
|
||||
it says:
|
||||
|
||||
" 11: If both bits are one, the "no key" value, there is no key
|
||||
information and the RR stops after the algorithm octet.
|
||||
By the use of this "no key" value, a signed zone KEY RR can
|
||||
authenticatably assert that, for example, a zone is not
|
||||
secured. See section 3.4 below. "
|
||||
|
||||
As we don't have a NULL KEY anymore this is obsoleted.
|
||||
Section 3.4 "Determination of Zone Secure/Unsecured Status":
|
||||
|
||||
" A zone KEY RR with the "no-key" type field value (both key type
|
||||
flag bits 0 and 1 on) indicates that the zone named is unsecured
|
||||
while a zone KEY RR with a key present indicates that the zone named
|
||||
is secure. The secured versus unsecured status of a zone may vary
|
||||
with different cryptographic algorithms. Even for the same
|
||||
algorithm, conflicting zone KEY RRs may be present. "
|
||||
|
||||
This is rewritten as:
|
||||
|
||||
" A zone is considered secured by on-tree validation [1] when the
|
||||
there is a zone KEY from that zone present at its parent. If there
|
||||
is no zone KEY present, and the resolver is also unaware of
|
||||
alternative algorithms used and/or possible off-tree validation, the
|
||||
zone is considered unsecured. "
|
||||
|
||||
|
||||
3. Impact on a secure aware resolver/forwarder
|
||||
The resolver must be aware of the fact that the parent is more
|
||||
authoritative than a child when it comes to deciding whether a zone
|
||||
is secured or not.
|
||||
|
||||
Without caching and with on-tree validation, a resolver will always
|
||||
start its search at a secure entry point. In this way it can
|
||||
determine whether it must expect SIG records or not.
|
||||
|
||||
Considering caching in a secure aware resolver or forwarder. If
|
||||
information of a secure zone is cached, its validated KEY should also
|
||||
be cached.
|
||||
|
||||
3.1. Impact of key rollovers on resolver/forwarder
|
||||
When a zone is in the process of a key rollover, there could be a
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 5]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
discrepancy between the KEY and the SIG in the apex of the zone and
|
||||
the KEY and SIG that are stored in the cache of a resolver.
|
||||
|
||||
Suppose a resolver has cached the NS, KEY and SIG records of a zone.
|
||||
Next a request comes for an A record in that zone. Also the zone is
|
||||
in the process of a key rollover and already has new keys in its
|
||||
zone. The resolver receives an answer consisting of the A record and
|
||||
a SIG over the A record. It uses the tag field in the SIG to
|
||||
determine if it has a KEY which is suitable to validate the SIG. If
|
||||
it does not has such a KEY the resolver must ask the parent of the
|
||||
zone for a new KEY and then try it again. Now the resolver has 2
|
||||
keys for the zone, according to the tag field in the SIG it can use
|
||||
either one.
|
||||
|
||||
If the new key also does not validate the SIG the zone is marked bad.
|
||||
If the parent indicates by having a not set KEY-bit in the NXT RR
|
||||
that there is no KEY for this zone, the child must be considered
|
||||
unsecured by this parent, despite the appearance of an (old) KEY in
|
||||
the cache. This could for instance happen after an emergency request
|
||||
from the child, who has suffered a key compromise, and has decided to
|
||||
prefer being unsecured over either dropping of the Internet or being
|
||||
exposed to have verifiable secure info added by the key-compromiser
|
||||
to their zone information.
|
||||
|
||||
|
||||
4. Scheduled key rollover
|
||||
When the signatures, produced by the key to be rolled over, are all
|
||||
in one zone file, there are two parties involved. Let us look at an
|
||||
example where a TLD rolls over its zone KEY. The new key needs to be
|
||||
signed with the root's key before it can be used to sign the TLD zone
|
||||
and the zone KEYs of the TLD's children. The steps that need to be
|
||||
taken by TLD and root are:
|
||||
- the TLD adds the new key to its KEY set in its zonefile. This
|
||||
zone and KEY set are signed with the old zone KEY
|
||||
- then the TLD signals the parent
|
||||
- the root copies the new KEY set, consisting of the both new and
|
||||
the old key, in its zonefile, resigns it and signals the TLD
|
||||
- the TLD removes the old key from its KEY set, resigns its zone
|
||||
with the new KEY, and signals the the root
|
||||
- the root copies the new KEY set, now consisting of the new key
|
||||
only, and resigns it
|
||||
|
||||
Note that this procedure is immune to fake signals and spoofing
|
||||
attacks (as long as there is no key compromise):
|
||||
- on a fake signal either way the action becomes a null-action as
|
||||
the new KEY set is identical to the existing one.
|
||||
- a spoofed new KEY set will not validate with the existing KEY
|
||||
that the parent holds.
|
||||
|
||||
|
||||
5. Unscheduled key rollover
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 6]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
Although nobody hopes that this will ever happen, we must be able to
|
||||
cope with possible key compromises. When such an event occurs, an
|
||||
immediate keyrollover is needed and must be completed in the shortest
|
||||
possible time. With two parties involved, it will still be awkward,
|
||||
but not impossible to update two zonefiles overnight. "Out-of-band"
|
||||
communication between the two parties will be necessary, since the
|
||||
compromised old key can not be trusted. We think that between two
|
||||
parties this is doable, but this complicated procedure [5] is beyond
|
||||
the scope of this document.
|
||||
|
||||
An alternative to an emergency key-rollover is becoming unsecured as
|
||||
an emercengy measure. This has already been mentioned above in
|
||||
section 3.1. This only involves an emergency change in the parents
|
||||
zonefile (deleting the child's zone KEY), and allows the child and
|
||||
its underlying zones time to clean up before becoming secured again,
|
||||
without dropping from the Internet or being exposed to having secured
|
||||
but false zone information.
|
||||
|
||||
|
||||
6. Zone resigning
|
||||
Resigning a TLD is necessary before the current signatures expire.
|
||||
When all SIGs (produced by the TLD's zone KEY) and the child KEY
|
||||
records, are kept in the TLD's zonefile, such a resign session is
|
||||
trivial, as only one party (the TLD) and one zonefile are involved.
|
||||
|
||||
|
||||
7. Consequences for KEY and NXT records
|
||||
There are two reasons to have of the child's zone KEY not only at the
|
||||
parent but also in the child's own zonefile:
|
||||
1. to facilitate a key-rollover
|
||||
2. to prevent local lookups for local information to suffer
|
||||
from possible loss of access to its outside parent
|
||||
|
||||
To cope with 1, secure aware resolvers MUST be aware that during a
|
||||
key-rollover there may be a conflict, and that in that case the
|
||||
parent always holds the active KEY set. To cope with 2, the local
|
||||
resolver/caching forwarder should be preconfigured with the zone-KEY
|
||||
and thus looks at its own zone as were it a secure entry-point. For
|
||||
both things to work, the zone-KEY set must be selfsigned in the child
|
||||
zonefile.
|
||||
|
||||
7.1. KEY bit in NXT records
|
||||
RFC 2535 [3], section 5.2 states:
|
||||
|
||||
" The NXT RR type bit map format currently defined is one bit per
|
||||
RR type present for the owner name. A one bit indicates that at
|
||||
least one RR of that type is present for the owner name. A zero
|
||||
indicates that no such RR is present. [....] "
|
||||
|
||||
As the zone KEY is present in a child zone, and signed by the
|
||||
zone KEY (thus selfsigned), the definition of NXT RR type bit states
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 7]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
in RFC 2535 [3], section 5.2 that the KEY bit must be set. We do not
|
||||
see a compelling reason to change this default behavior.
|
||||
|
||||
7.2. Authority of KEY records
|
||||
The parent of a zone generates the signature for the key belonging to
|
||||
that zone. By making that signature available the parent publicly
|
||||
states that the child zone is trustworthy: when it comes to security
|
||||
in DNSSEC the parent is more authoritative than the child.
|
||||
|
||||
From this we conclude that a parent zone MUST set the authority bit
|
||||
to 1 and child zones MUST set this bit to 0 when dealing with KEYs
|
||||
from that child zone.This also causes resolvers to pick up and cache
|
||||
the right KEY set, in case it finds conflicting KEY sets during a
|
||||
key-rollover.
|
||||
|
||||
Some zones have no parent to make it authoritatively secure, for
|
||||
instance, the root. To be secure anyway it must be defined a secure
|
||||
entry point. If a resolver knows that a secure entry point is a
|
||||
secure entry point it must have its key preconfigured. There is no
|
||||
need for a parent in this scenario, because the resolver itself can
|
||||
check the security of that zone. A interesting consequence of this is
|
||||
that nobody is authoritative for a key belonging to a secure entry
|
||||
point. This authority must established via some out of band
|
||||
mechanism, like publishing it in a newspaper.
|
||||
|
||||
7.3. Selecting KEY sets
|
||||
As the zone KEY set is present in two places, there may be a
|
||||
possibility to find conflicting KEY sets, and this will at least
|
||||
really happen during a key-rollover.
|
||||
|
||||
With one exception, a resolver MUST always select the KEY set from
|
||||
the parent in case of a conflict, as this is the active KEY set. For
|
||||
this reason, the parent sets the AA-bit on requests, while the child
|
||||
does not.
|
||||
|
||||
The one exception is when a resolver regards the child's zone as a
|
||||
secure-entry point, in which case it has the zone KEY preconfigured.
|
||||
In other words: a preconfigured KEY has even more authority then what
|
||||
a parent says. Specifying a zone as a secure entry-point makes sense
|
||||
for a local resolver in its own local zone.
|
||||
|
||||
|
||||
8. The zone KEY and local KEY records.
|
||||
It must be recognized that the zone KEY RR, which is signed by a
|
||||
non-local organisation, is something special. The external signature
|
||||
over the public part of the key provides the local zone-administrator
|
||||
with the authority to use the corresponding private part to sign
|
||||
everything local, and thus to make his/her own zone secure. Please
|
||||
also note that the external signer, and NOT the local zone is
|
||||
authoritative for the zone KEY RRset.
|
||||
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 8]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
Part of the RRs that the zone-administrator may wish to sign are KEY
|
||||
RRs for local use, for instance for IPSEC.
|
||||
|
||||
To make sure, that the local zone is authoritative for its own local
|
||||
KEY RRs, and that they get not exported and signed externally, these
|
||||
local KEY records SHOULD not be part of the zone KEY RRset.
|
||||
Therefore, they SHOULD be placed under a label in the zonefile, f.i.
|
||||
keys.child.parent.
|
||||
|
||||
Besides being kept clear of local KEY records, the zone KEY RRset
|
||||
SHOULD also be kept clear of any other obsolete or otherwise not
|
||||
strictly needed KEY records, because this increases the number of
|
||||
possible key compromise attacks and also increases the size of the
|
||||
parents zone file unnecessarily.
|
||||
|
||||
In other words: the KEY RRset with the toplevel label of a zone
|
||||
SHOULD only contain its active zone KEY, unless a key-rollover is in
|
||||
progress. During a keyrollover a new KEY RR must be added to this
|
||||
RRset. Once the new KEY becomes the active zone KEY, the old KEY
|
||||
becomes obsolete and SHOULD be removed as soon as practically
|
||||
possible.
|
||||
|
||||
|
||||
9. Security Considerations
|
||||
This document addresses the operational difficulties that arise if
|
||||
DNSSEC is deployed as it stands now, with the child's zone KEY not
|
||||
stored at the parent. By putting that key in the parent's zone the
|
||||
communication between the two is kept to a minimum thus reducing the
|
||||
risk of errors. All security considerations from RFC 2535 apply.
|
||||
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
R. Gieben T. Lindgreen
|
||||
Stichting NLnet Labs Stichting NLnet Labs
|
||||
Kruislaan 419 Kruislaan 419
|
||||
1098 VA Amsterdam 1098 VA Amsterdam
|
||||
miek@nlnetlabs.nl ted@nlnetlabs.nl
|
||||
|
||||
|
||||
References
|
||||
|
||||
[1] Lewis, E. "DNS Security Extension Clarification on Zone
|
||||
Status", RFC 3090
|
||||
www.ietf.org/rfc/rfc3090.txt
|
||||
[2] Bradner, S. "Key words for use in RFCs to Indicate Requirement
|
||||
Levels", RFC 2119
|
||||
www.ietf.org/rfc/rfc2119.txt
|
||||
[3] Eastlake, D. "DNS Security Extensions", RFC 2535
|
||||
www.ietf.org/rfc/rfc2535.txt
|
||||
[4] Andrews, M., Eastlake, D. "Domain Name System (DNS) Security
|
||||
|
||||
|
||||
|
||||
Gieben Expires September 2001 [Page 9]
|
||||
|
||||
Internet Draft Parent Stores Zone KEYS March 2001
|
||||
|
||||
Key Rollover"
|
||||
www.ietf.org/internet-drafts/draft-ietf-dnsop-rollover-01.txt
|
||||
[5] Gieben, R. "Chain of trust"
|
||||
secnl.nlnetlabs.nl/thesis/thesis.html
|
||||
|
||||
|
||||
Full Copyright Statement
|
||||
|
||||
Copyright (C) The Internet Society (2001). All Rights Reserved.
|
||||
|
||||
This document and translations of it may be copied and furnished
|
||||
to others, and derivative works that comment on or otherwise explain
|
||||
it or assist in its implementation may be prepared, copied, published
|
||||
and distributed, in whole or in part, without restriction of any
|
||||
kind, provided that the above copyright notice and this paragraph are
|
||||
included on all such copies and derivative works. However, this
|
||||
document itself may not be modified in any way, such as by removing
|
||||
the copyright notice or references to the Internet Society or other
|
||||
Internet organizations, except as needed for the purpose of
|
||||
developing Internet standards in which case the procedures for
|
||||
copyrights defined in the Internet Standards process must be
|
||||
followed, or as required to translate it into languages other than
|
||||
English.
|
||||
|
||||
The limited permissions granted above are perpetual and will not
|
||||
be revoked by the Internet Society or its successors or assigns.
|
||||
|
||||
This document and the information contained herein is provided on
|
||||
an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
|
||||
ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
|
||||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
Loading…
x
Reference in New Issue
Block a user