Internet DRAFT - draft-moreau-dnsext-sdda-rr
draft-moreau-dnsext-sdda-rr
INTERNET DRAFT Thierry Moreau
Document: draft-moreau-dnsext-sdda-rr-02.txt CONNOTECH
Category: Informational April, 2006
Expires: October, 2006
The SEP DNSKEY Direct Authenticator DNS Resource Record (SDDA-RR)
Status of this Memo
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in
progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright Notice
Copyright (C) The Internet Society (2006).
IPR Disclosure Acknowledgment
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Abstract
This document specifies a generic DNS resource record format for
"direct authentication" of DSNKEY records with the SEP bit (Secure
Entry Point) set to "1". Although a generic record format is
specified with type fields allowing standardized or proprietary
extensions, the only use of SDDA RR in DNSSEC operations is the
support of trust anchor key management operations. Schemes using
the SDDA-RR format are to be specified in other documents.
Moreau Informational [page 1]
Internet-Draft SDDA-RR April, 2006
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Resource Record Specifications . . . . . . . . . . . . . . . . . . 3
2.1 General Characteristics . . . . . . . . . . . . . . . . . . 3
2.2 SDDA RR Wire Format . . . . . . . . . . . . . . . . . . . . 4
2.2.1 Key Tag Field . . . . . . . . . . . . . . . . . . . . 5
2.2.2 Algorithm Field . . . . . . . . . . . . . . . . . . . 5
2.2.3 Authentication Mechanism Type Field . . . . . . . . . 6
2.2.4 Authentication Context Type Field . . . . . . . . . . 6
2.2.5 Authentication Expiration Field . . . . . . . . . . . 6
2.2.6 Authentication Inception Field . . . . . . . . . . . 7
2.2.7 Algorithm Extension Field . . . . . . . . . . . . . . 7
2.2.8 Authentication Mechanism Type Extension Field . . . . 7
2.2.9 Authentication Context Data Field . . . . . . . . . . 8
2.2.10 Algorithm-Related Fields . . . . . . . . . . . . . . 8
2.2.10.1 Authentication Algorithm Type . . . . . . . . 8
2.2.10.2 Authentication Algorithm Common Parameters . 8
2.2.11 Authentication Mechanism Data Field . . . . . . . . 9
2.3 The SDDA RR Presentation Format . . . . . . . . . . . . . . 9
2.4 Additional Zone Management Requirements . . . . . . . . . . 10
3. Resolver Procedures . . . . . . . . . . . . . . . . . . . . . . . 10
3.1 Resolver State for Automated Trust Anchor Key Rollover . . . 11
3.2 SDDA Rollover Procedure within Chain of Trust Validation . . 12
3.3 SDDA RRset Examination . . . . . . . . . . . . . . . . . . . 12
3.4 Resolver Provisions for Emergency Rollover . . . . . . . . . 13
4. Security Considerations . . . . . . . . . . . . . . . . . . . . . 13
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . . 14
6. Normative References . . . . . . . . . . . . . . . . . . . . . . . 14
7. Informative References . . . . . . . . . . . . . . . . . . . . . . 15
Document Revision History . . . . . . . . . . . . . . . . . . . . . . 15
From revision -01 to revision -02 . . . . . . . . . . . . . . . 15
From revision -00 to revision -01 . . . . . . . . . . . . . . . 16
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . . 17
IPR Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Intellectual Property . . . . . . . . . . . . . . . . . . . . . 17
Copyright Notice . . . . . . . . . . . . . . . . . . . . . . . . 17
Disclaimer . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Moreau Informational [page 2]
Internet-Draft SDDA-RR April, 2006
1. Introduction
The SEP DNSSEC Direct Authenticator Resource Record (SDDA RR)
provides a generic RR format for authentication mechanisms
applicable to DNSKEY records with the SEP bit set. An SDDA record
points to the DNSKEY record, somehow like a DS record in a DNSSEC
secure delegation, except that the SDDA record and the targeted
DNSKEY record are both located at a DNS zone apex.
The present specification builds on the DNSSEC protocol ([RFC4033],
[RFC4034], [RFC4035]), and also on the DNS zone manager practice of
distinguishing between a KSK (Key Signing Key) and a ZSK (Zone
Signing Key) with the DNSKEY SEP bit ([RFC3757], [RFC2541bis]).
Authentication mechanisms used with SDDA records are expected to
require and/or exploit outside arrangements, e.g. out-of-band
distribution of configuration data or a pre-existing security
association. An authentication mechanism using the SDDA record
needs an additional specification, not provided in the present
document.
The SDDA specification is intended to fulfill the need of trust
anchor key management, notably automated trust anchor key rollover.
Typically, trust anchor key management operations are assisted by
cryptographic mechanisms outside of the DNSSEC core specifications.
The SDDA record specification provide a placeholder for
cryptographic mechanisms data fields.
The present specification turns the operational concept of "key
effectiveness period" (defined in [RFC2541bis]) into protocol
provisions, i.e. field definitions, for applicability to trust
anchor keys.
The section 3 of the present specification suggests detailed
resolver procedures for applying the SDDA RR to automate trust
anchor key rollover, assuming some properties of the authentication
mechanism.
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 [RFC2119].
2. Resource Record Specifications
2.1 General Characteristics
The Type value for the SDDA RR type is [[to be determined]].
Experimentation with the present specification may be undertaken
with the private SDDA RR type value 0xFF3F or 65343.
The SDDA RR is class independent.
The SDDA RR has no special TTL requirements.
Moreau Informational [page 3]
Internet-Draft SDDA-RR April, 2006
2.2 SDDA RR Wire Format
The RDATA for an SDDA record consists of a 2 octet key tag field,
three 1 octet type fields, an authentication expiration field, an
authentication inception field, and a number of other fields as
implied, directly or indirectly, by the type indications. The type
fields are respectively for
o an algorithm type field,
o an authentication mechanism type field,
o an authentication context type field.
It is not expected that a decoding software be able to parse the
variable-length fields unless it is fully compliant with the set of
type indication values.
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Tag | Algorithm | Auth Mech Type|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Auth Ctx Type | Authentication Expiration |
+-+-+-+-+-+-+-+/ /+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | Authentication Inception |
+-+-+-+-+-+-+-+/ /+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | /
+-+-+-+-+-+-+-+/ other fields /
/ /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The SDDA RR fields are listed in the table below in their order in
the SDDA RR wire encoding. Some fields are optional and/or can be
repeated. The group of two fields starting with Authentication
Algorithm in section 2.2.10 may be repeated more than once. The
Authentication Mechanism Data value lies at the end of SDDA RR wire
encoding; its length is implied by the length of the RDATA portion
of the SDDA RR.
An SDDA record points to a DNSKEY record using the fields NAME, Key
Tag, Algorithm, and optionally Algorithm Extension. As explained in
Appendix B of [RFC4034], DNSSEC key tags are not always referring
unambiguously to a single DNSKEY RR within the allowed set. An
authentication mechanism specification must ensure that colliding
key tags ambiguities can be resolved with the data contents of
other fields, notably by validating the DNSKEY authentication based
on these other fields.
Moreau Informational [page 4]
Internet-Draft SDDA-RR April, 2006
Section Field Description,
Occurrence Rule
======= ==================================
2.2.1 Key Tag,
Always present
2.2.2 Algorithm,
Always present
2.2.3 Authentication Mechanism Type,
Always present
2.2.4 Authentication Context Type,
Always present
2.2.5 Authentication Expiration,
Always present
2.2.6 Authentication Inception,
Always present
2.2.7 Algorithm Extension,
Optional based on Algorithm
2.2.8 Authentication Mechanism Type Extension,
Optional based on Authentication Mechanism Type
2.2.9 Authentication Context Data,
Optional based on Authentication Context Type
2.2.10.1 Authentication Algorithm Type,
Zero or more occurrences based on Authentication
Mechanism Type
2.2.10.2 Authentication Algorithm Common Parameters,
Zero or more occurrences based on immediately
preceding Authentication Algorithm Type
2.2.11 Authentication Mechanism Data,
Zero or one occurrence based on Authentication
Mechanism Type and any Authentication Algorithm Type
2.2.1 Key Tag Field
The Key Tag field holds the key tag of the DNSKEY RR referred to by
the SDDA record, in network byte order. The Key Tag used by the
SDDA RR is as specified in Appendix B of [RFC4034].
2.2.2 Algorithm Field
The Algorithm field lists the algorithm number of the DNSKEY RR
referred to by the SDDA record.
The algorithm number used by the SDDA RR is identical to the
algorithm number used by DNSKEY RRs. Appendix A.1 in [RFC4034]
lists the algorithm number types. For private DNSSEC algorithm
types, the Algorithm Extension field, see section 2.2.7, holds the
encoding that Appendix section A.1.1. in [RFC4034] assigns to the
beginning of either the public key area in the DNSKEY RR or the
signature area in the RRSIG RR.
Moreau Informational [page 5]
Internet-Draft SDDA-RR April, 2006
2.2.3 Authentication Mechanism Type Field
The SDDA RR provides authentication information for a DNSKEY RR
according to an authentication mechanism. The Authentication
Mechanism type field identifies the specific mechanism applicable
to the SDDA record, and partly determines the format of the RDATA
variable part after the Authentication Inception field.
The currently allocated authentication mechanisms are
0: reserved,
1: TAKREM key rollover message authentication defined in
reference [TAKREM-DNSSEC],
253: Private mechanism identified by a domain-name-encoded
extension field, see section 2.2.8,
254: Private mechanism identified by an ISO Object Identifier
extension field, see section 2.2.8,
255: reserved.
Mechanism numbers 253 and 254 are reserved for private use and
neither will be assigned to a specific mechanism. Private
mechanisms use the Authentication Mechanism Type Extension optional
field specified in section 2.2.8.
2.2.4 Authentication Context Type Field
Some authentication mechanism may need a reference to previously
established parameters, e.g. a security association or a simple
symmetric secret key. In cases where the Name field of the SDDA
record does not provide sufficient context indication, a non-zero
value in the Authentication Context Type field tells the format of
reference information found in the Authentication Context Data
field. The semantic rules of Authentication Context Data field
should be specified with any authentication mechanisms that use a
given format.
The currently allocated authentication context types are
0: none, i.e. the domain name provides adequate context
information;
1: a DNS name (not compressed) is present in the Authentication
Context Data field;
2: an opaque 32 bits value (encoded in network order) is present
in the Authentication Context Data field.
Values in the range from 128 to 191 inclusive may be specified in
the limited context of the authentication mechanism identified by
the Authentication Mechanism Type field value.
2.2.5 Authentication Expiration Field
The Authentication Expiration field and Authentication Inception
field specify a validity period for the DNSKEY authentication.
Since the present specifications is a generic mechanism, no
provisions specifically mandate processing rules for the inception
Moreau Informational [page 6]
Internet-Draft SDDA-RR April, 2006
and expiration fields. The intent of these fields is to implements
the "key effectivity period" defined in [RFC2541bis]. Thus, an
authentication scheme should have provisions such that, once an
SDDA record authentication is validated, the DNSKEY targeted by the
SDDA record must not be used as a trust anchor outside of the
inception and expiration range.
A special situation arises if an empty inception to expiration
range occurs in an SDDA RR. Such encoding can be used by an
authentication scheme to signal or confirm the expiry of a DNSKEY
public key, but such DNSKEY must not be part of the DNSKEY RRset
(i.e. otherwise it might be authenticated without expiry indication
by a parental DS). The present document uses the term "obituary
SDDA" for such an SDDA RR that has its Authentication Expiration
field value not later than its Authentication Inception field
value.
The Authentication Expiration field and Authentication Inception
field values specify a date and time in the form of a 32-bit
unsigned number of seconds elapsed since 1 January 1970 00:00:00
UTC, ignoring leap seconds, in network byte order. The longest
interval that can be expressed by this format without wrapping is
approximately 136 years. An SDDA RR can have an Authentication
Expiration field value that is numerically smaller than the
Authentication Inception field value if the expiration field value
is near the 32-bit wrap-around point or if the signature is long
lived. Because of this, all comparisons involving these fields MUST
use "Serial number arithmetic", as defined in [RFC1982]. As a
direct consequence, the values contained in these fields cannot
refer to dates more than 68 years in either the past or the future.
2.2.6 Authentication Inception Field
See the description in above subsection 2.2.5.
2.2.7 Algorithm Extension Field
When the Algorithm field value implies the presence of an extension
field, this subsection applies. See appendix A.1 in [RFC4034] for
encoding details.
2.2.8 Authentication Mechanism Type Extension Field
When the Authentication Mechanism Type field value implies the
presence of the present extension field, this subsection
specification applies.
If the Authentication Mechanism Type field value is 253, the
present extension field contains a wire encoded domain name, which
must not be compressed. The domain name indicates the private
mechanism to use. Entities should only use domain names they
control to designate their private mechanisms.
Moreau Informational [page 7]
Internet-Draft SDDA-RR April, 2006
If the Authentication Mechanism Type field value is 254, the
present extension field contains an unsigned length byte followed
by a BER encoded Object Identifier (ISO OID) of that length. The
OID indicates the private mechanism to use. Entities should only
use OIDs they control to designate their private mechanisms.
2.2.9 Authentication Context Data Field
The Authentication Context Data field contains the security context
identification data in a format identified by the Authentication
Context Type field. This field may be present if a non-zero value
is present in the Authentication Context Type field. An
authentication mechanism may need this information in an SDDA RR
instance for a complete reference to previously established
security parameters.
2.2.10 Algorithm-Related Fields
A given authentication mechanism may rely on one or more
cryptography algorithms, e.g. a digital signature mechanism may use
two such algorithms: a cryptographic hash function and a public key
primitive. For each cryptographic algorithm, a set of
algorithm-related fields may be present. This allows the selection
of a specific algorithm among a family of alternatives, and/or the
specification of common parameters applicable to an algorithm
instance. The Authentication Mechanism Type indication in an SDDA
RR implicitly specifies the presence of one or more sets, and the
algorithm-specific field contents and semantic for each set.
A set of algorithm-related fields comprises at least the
Authentication Algorithm Type field described in section 2.2.10.1,
and optionally the Authentication Algorithm Common Parameters field
described in section 2.2.10.2. When more than one algorithm deserve
some algorithm-related fields, they should appear by groups, e.g.
Authentication Algorithm Type, and Authentication Algorithm Common
Parameters for a first algorithm, then these two fields for the
next algorithm, and so on.
2.2.10.1 Authentication Algorithm Type
The Authentication Algorithm Type field is optional and significant
in the context of the Authentication Mechanism field value of a
given SDDA RR encoding. The size and encoding rules for this field
are specified with the authentication mechanism.
2.2.10.2 Authentication Algorithm Common Parameters
Some cryptographic algorithm require the specification of common
parameters, e.g. the Diffie-Hellman cryptosystem, other algorithms
based on the discrete logarithm problem and elliptic curve
cryptographic algorithms. The Authentication Algorithm Common
Parameters field allows the specification of these parameters,
using algorithm-specific rules. These rules may specify the common
Moreau Informational [page 8]
Internet-Draft SDDA-RR April, 2006
parameter values directly or by reference to values published
elsewhere (e.g the United States NIST organization publishes
elliptic curve parameters).
2.2.11 Authentication Mechanism Data Field
The Authentication Mechanism Data field contains the "payload" data
relevant to the authentication mechanism applied to the DNSKEY RR
linked to the SDDA RR. The rules applicable to this data field are
governed by the authentication mechanism and any authentication
algorithm specified in the previous fields of this SDDA RR.
2.3 The SDDA RR Presentation Format
The presentation format of the RDATA portion is as follows:
The Key Tag field MUST be represented as an unsigned decimal
integer.
The Algorithm field MUST be represented either as an unsigned
decimal integer or as an algorithm mnemonic as specified in
Appendix A.1 of [RFC4034].
The Authentication Mechanism Type MUST be represented as an
unsigned decimal integer.
The Authentication Context Type MUST be represented as an unsigned
decimal integer.
The Authentication Expiration Time field and Authentication
Inception Time field values MUST be represented either as an
unsigned decimal integer indicating seconds since 1 January 1970
00:00:00 UTC, or in the form YYYYMMDDHHmmSS in UTC, where:
o YYYY is the year (0001-9999, but see Section 2.2.5);
o MM is the month number (01-12);
o DD is the day of the month (01-31);
o HH is the hour, in 24 hour notation (00-23);
o mm is the minute (00-59); and
o SS is the second (00-59).
Note that it is always possible to distinguish between these two
formats because the YYYYMMDDHHmmSS format will always be exactly 14
digits, while the decimal representation of a 32-bit unsigned
integer can never be longer than 10 digits.
The remaining portion of the RDATA field MUST be represented as a
Base64 encoding of its contents. Whitespace is allowed within the
Base64 text. For a definition of Base64 encoding, see [RFC3548].
Moreau Informational [page 9]
Internet-Draft SDDA-RR April, 2006
2.4 Additional Zone Management Requirements
For an SDDA RR having an Authentication Expiration field later than
its Authentication Inception field (i.e. not an obituary SDDA), an
authoritative nameserver SHALL NOT include an SDDA RR in a zone
SDDA RRset unless the NAME field is the apex of the zone, a DNSKEY
RR exists (in the zone with the same SOA SERIAL field) with the
same NAME and Algorithm field as the SDDA RR, the SEP bit set, and
the DNSKEY RR key tag computation matching the Key Tag field in the
SDDA RR. Such SDDA RR with its targeted DNSKEY RR SHALL NOT be
included in the zone data outside of the inception to expiration
range, i.e. neither before the time indicated in the Authentication
Inception field value nor at or after the Authentication Expiration
field value.
If the inclusion of SDDA RR in a zone is intended to support
automated trust anchor key rollover operation as originally
intended, some zone signing requirements apply (other uses of the
SDDA record format rules might lead to different zone signing
requirements). Specifically, there SHOULD be an RRSIG for the SDDA
RRset at a zone apex, if any, using each DNSKEY targeted by one of
the SDDA RR. In addition, a DNS zone apex DNSKEY RRset SHOULD be
signed by each DNSKEY targeted by an SDDA RR in the SDDA RRset, if
any.
An obituary SDDA RR MAY be included in a zone SDDA RRset including
a currently valid (non-obituary) SDDA RR with the same
Authentication Mechanism Type field and the same Authentication
Mechanism Type Extension field as the case may be. As indicated in
subsection 2.2.5, an obituary SDDA RR has an empty inception to
expiration range and no targeted DNSKEY RR in the current DNSKEY
RRset. The inclusion of an obituary SDDA RR in a zone by the
legitimate user of a trust anchor key can assist trust anchor key
compromise recovery and counter or deter key replay attacks. If the
compromise is detected during the key effectiveness period, an
obituary issued immediately might assist some resolvers in
terminating the use of the broken key. Replay attack prevention
might be effective for resolvers not having seen the broken trust
anchor key when it was first used, if they keep track of unknown
obituaries for later validation of new trust anchor keys, because a
new trust anchor might be a replay attempt by an ill-intentioned
party having access to the past broken private signature key.
3. Resolver Procedures
The present specification is limited to record format rules, and
some minor provisions for name server procedures. It does not
change the DNS resolver procedures. However, this section describes
generic resolver procedures that may be possible assuming some
properties of the authentication mechanism.
Moreau Informational [page 10]
Internet-Draft SDDA-RR April, 2006
3.1 Resolver State for Automated Trust Anchor Key Rollover
The SDDA RR is intended for trust anchor key rollover support,
preferably as a fully automated procedure. Inescapably, trust
anchor key management implies that the resolver maintain some state
information about current valid trust anchor keys, and perhaps
other relevant data.
The present section assumes that a rollover scheme requires some
Trust Anchor Key initial data configuration (TAK-i) and the
rollover operation contributes some additional data (TAK-r) that
changes the state maintained by the resolver. Furthermore, the
TAK-i data contains indications of which domain name(s) may be
subject to DNSKEY rollover supported by the SDDA mechanism.
Moreover, resolver queries for the DNSKEY and SDDA RRsets for such
a domain name would, upon successful completion, provide current
updated TAK-r. Accordingly, the TAK-r information can not "enroll"
a domain name in future trust anchor key rollover operations.
For a domain name covered by the TAK-i data, and at a given point
in time, the TAK-i data plus the cumulative TAK-r data received so
far by a resolver provide trust status for one or more DNSKEY
values, including expiration and inception times provided by the
SDDA RR. Thus, a domain name can have one of the following
characterization:
TAK-i with current trust
o the domain name is covered by TAK-i data, and the cumulative
TAK-r data provides current trust for at least one DNSKEY
value,
TAK-i without trust
o the domain name is covered by TAK-i data, and the cumulative
TAK-r data provides no currently trusted DNSKEY value (e.g.
before receipt of any valid TAK-r data or outside the most
restrictive inception and expiration times of every received
SDDA for every trust anchor key observed so far),
TAK-i with valid parental DS
o the domain name is covered by TAK-i data, the cumulative TAK-r
data provides no currently trusted DNSKEY value (as with TAK-i
without trust), and a validated parental DS has been received
for this DNSKEY value (ignoring RRSIG expiration times for
this DS RR),
local trust policy
o not being covered by TAK-i data, the domain name is considered
a trust anchor according to local policy,
no trust information
o the domain name is not covered by any of the trust
characterization above.
Moreau Informational [page 11]
Internet-Draft SDDA-RR April, 2006
3.2 SDDA Rollover Procedure within Chain of Trust Validation
When presented with a application query, the resolver might
immediately determine that a domain name at or above the name in
the query would be characterized as "TAK-i without trust" while no
lower domain is characterized as "local trust policy" or "TAK-i
with current trust." In such a case, it may be reasonable for the
resolver to start name server queries at this domain name for the
DNSKEY RRset and the SDDA RRset.
Otherwise, the DNS resolver decision process for an SDDA
authentication attempt overlaps the normal DNS resolver chain of
trust validation process. At some point, a DNS resolver has at hand
a set of candidate RRSIG RRs (in a single zone) which could be
validated, including only the supported signature algorithms. From
this logical set of candidate RRSIG RRs, a logical set of DNSKEY
RRs is deduced as candidates for authentication. This set may be
augmented by examination of available and supported RRSIG RRs that
sign the DNSKEY RRset (e.g. this implements a KSK signature of a
ZSK). Then, the SDDA authentication may be attempted when the
resolver has some TAK-i data for the zone name (i.e. a status
different from "no trust information") and at least one candidate
DNSKEY RR has the SEP bit set to "1". This SDDA authentication
attempt should be avoided if the zone name has a "local trust
policy" or "TAK-i with current trust" status including sufficient
DNSKEY RR for the current chain of trust validation.
This SDDA authentication attempt should also be avoided for a
"TAK-i with valid parental DS" zone status. This recommendation
reflects a deployment policy accommodating interim islands of
trust. Nonetheless, upon failure of a normal attempt to validate a
parental DS for the zone name, the zone status should revert to
"TAK-i without trust" and SDDA authentication should be attempted.
3.3 SDDA RRset Examination
An SDDA authentication attempt consists of a DNS query (with the DO
bit set, [RFC3225]) for the SDDA RRset, followed by examination of
the SDDA RRset response. The SDDA RRset examination by a resolver
should occur by checking each SDDA for the following conditions:
o it has a supported authentication mechanism,
o the current time falls within the SDDA RR inception and
expiration range, i.e. not before the Authentication Inception
field but before the Authentication Expiration field,
o it targets at least a DNSKEY RR in the above set (if in the
course of a chain of trust validation) or any DNSKEY RR in the
DNSKEY RRset with the SEP bit set to "1" and a supported
algorithm,
o the SDDA RRset is signed with an RRSIG RR using the targeted
DSNKEY RR,
o it passes the trust anchor key replay attack detection test
explained in subsection 3.4 below (item c)).
Then, the mechanism-specific SDDA RR authentication should be
Moreau Informational [page 12]
Internet-Draft SDDA-RR April, 2006
validated. Invalid SDDA RRs should have no impact on the trust
characterization of a domain name in the resolver state. Following
any such validation, the trust characterization for the zone name
can turn to"TAK-i with current trust." In the course of SDDA RRset
examination, the occurrence of obituary SDDA RRs should be
processed according to following subsection 3.4 (item b)).
The circumstances at the end of the above process (including failed
validation, successful validation ending in "TAK-i without trust",
or "TAK-i with current trust" not providing trust for any required
DNSKEY for the current chain of trust validation) may require a
normal attempt to validate a parental DS for the zone name, which
might turn the characterization from "TAK-i without trust" into
"TAK-i with valid parental DS."
3.4 Resolver Provisions for Emergency Rollover
As a precaution against the replay of an old trust anchor key, a
resolver should remember the DNSKEY expiry event and abstain from
re-entrusting the same key after this expiry.
A resolver can detect a trust anchor expiry under diverse
circumstances:
a) as the time elapses past the earliest SDDA RR Authentication
Expiration time validated for this DNSKEY value,
b) if, after having validated a DNSKEY value as a trust anchor,
the SDDA RRset examination detects an obituary SDDA RR
targeting this DNSKEY,
c) if an otherwise validated DNSKEY value is found in the SDDA
RRset but an obituary has been received previously by the DNS
resolver (this circumstances is a trust anchor replay attack
detection).
In order to implement the case c) above, the DNS resolver updatable
state information TAK-r must store the obituary SDDA RRs received
(and validated) targeting an unknown DNSKEY value.
4. Security Considerations
The present document specifies a DNS record format for
authentication mechanisms that should rely on end-to-end
cryptographic means for providing security services, i.e. trust
anchor key authentication. The DNS as a transport mechanism for
security-relevant information should be considered as an insecure
transmission mechanism.
Notably the digital signature present in a RRSIG record covering
the SDDA RRset should not be trusted blindly (actually, if there is
an a-priori reason to trust the signature of the SDDA RRset, there
is almost certainly no justification to use an SDDA scheme in the
Moreau Informational [page 13]
Internet-Draft SDDA-RR April, 2006
first place).
The security considerations specific to each authentication
mechanism should be referred to. It is expected that such security
schemes will rely on the proper performance of procedural steps by
DNS zone managers, on proper protection of DNS resolver systems
against ill-intentioned configuration tampering, and the like.
5. IANA Considerations
IANA is requested to assign the value [[to be determined]] as the
DNS type code for the SDDA resource record (referred in section
2.1). This IANA assignment is from the "Specification Required"
portion of the DNS Resource Record Type registry. IANA is therefore
requested to make the appropriate registration.
The present document creates two "name spaces" ([RFC2434]) of
relevance to IANA:
o the SDDA record Authentication Mechanism Type (section 2.2.3)
and
o the SDDA record Authentication Context Type (section 2.2.4).
For the SDDA record Authentication Mechanism name space, the
present document section 2.2.3 assigns values 1, 253, and 254, and
reserves values 0 and 255. Values from 2 to 127 inclusive are
available for assignment by IESG Approval. Values from 128 to 252
inclusive are available for assignment by IANA using a
"Specification Required" policy.
For the SDDA record Authentication Context name space, the present
document section 2.2.4 assigns values 0, 1, and 2, and delegates
values from 128 to 191 inclusive to the specification for an
authentication mechanism, i.e. values from this range are assigned
by the authorial organization responsible for the mechanism
indicated by the Authentication Mechanism Type field. Values from 3
to 127 inclusive and from 192 to 255 inclusive are available for
assignment by IESG Approval.
Other name spaces in the present document are either already
covered by provisions of existing standards (algorithm types from
[RFC4034], used in section 2.2.2 with extension encoding in section
2.2.7) or delegated to the specification for an authentication
mechanism (authentication algorithm type, section 2.2.10.1).
6. Normative References
[RFC1982] R. Elz, R. Bush, "Serial Number Arithmetic", RFC 1982, August
1996
[RFC2119] S. Bradner, "Key words for use in RFCs to Indicate Requirement
Levels", RFC2119, March 1997
Moreau Informational [page 14]
Internet-Draft SDDA-RR April, 2006
[RFC2434] T. Narten, H. Alvestrand, "Guidelines for Writing an IANA
Considerations Section in RFCs", RFC 2434, October 1998
[RFC3225] D. Conrad, "Indicating Resolver Support of DNSSEC", RFC3225,
December 2001
[RFC3548] S. Josefsson, Ed., "The Base16, Base32, and Base64 Data
Encodings", RFC 3548, July 2003
[RFC3757] O. Kolkman, J. Schlyter, E. Lewis, "Domain Name System KEY
(DNSKEY) Resource Record (RR) Secure Entry Point (SEP) Flag",
RFC 3757, April 2004
[RFC4033] R. Arends, R. Austein, M. Larson, D. Massey, S. Rose, "DNS
Security Introduction and Requirements", RFC 4033, March 2005
[RFC4034] R. Arends, R. Austein, M. Larson, D. Massey, S. Rose,
"Resource Records for the DNS Security Extensions", RFC 4034,
March 2005
[RFC4035] R. Arends, R. Austein, M. Larson, D. Massey, S. Rose,
"Protocol Modifications for the DNS Security Extensions",
RFC 4035, March 2005
[TAKREM-DNSSEC] T. Moreau, "The Trust Anchor Key Renewal Method
Applied to DNS Security (TAKREM-DNSSEC)", work-in-
progress, Internet Draft
draft-moreau-dnsext-takrem-dns-02.txt, April 2006
7. Informative References
[RFC2541bis] O. Kolkman, R. Gieben, "DNSSEC Operational Practices",
[[Internet-Draft
draft-ietf-dnsop-dnssec-operational-practices-08.txt,
March 6, 2006, approved for RFC publication obsoleting
RFC2541]]
Document Revision History
[[This document section to be removed upon RFC publication.]]
>From revision -01 to revision -02
Major document editing with some technical changes and corrections,
including:
a) Document made informational instead of standard track,
accordingly removed the list of changes to code DNSSEC
protocol documents (RFC4033/4/5), but at the same time
introduced limited use of RFC2119 keywords.
b) Revised the provisions for RRSIG signatures of the SDDA RRset
(and DNSKEY RRset).
Moreau Informational [page 15]
Internet-Draft SDDA-RR April, 2006
c) More detailed procedures for DNS resolver handling of
automated trust anchor key rollover.
d) Introduced the acronyms TAK-i and TAK-r to describe resolver
initial configuration and state accumulated dirung resolver
operations.
e) Modified a few field definitions (without impact on the single
existing scheme based on the generic SDDA format), including
the addition of an Algorithm Extension field for private
algorithms (like the DNSKEY and RRSIG format instead of the DS
format).
f) Fixed a design bug with the introduction of the obituary SDDA,
luckily with no impact on services provided by the SDDA scheme
and its single existing scheme.
g) The IANA considerations were worked out more comprehensively.
>From revision -00 to revision -01
a) Removal of the digest fields from the in the SDDA RDATA
definition. An authentication mechanism specification may use
a digest field in the optional fields, e.g. as a set of
algorithm-related fields.
b) As a consequence of digest removal from the always present
RDATA fields, a provision is made in above section 2.2.1 that
an authentication mechanism specification MUST ensure that
colliding key tags ambiguities can be resolved with the data
contents of other fields.
c) Introduction of authentication expiration and inception times,
creating a semantic similar to the expiration and inception
times of an RRSIG for a parental DS RRset.
d) Introduction of a mandatory provision that an SDDA RRset is
signed with the target DNSKEY of each SDDA RR in the set, thus
mandating self-signed authentication for SDDA fields, notably
the expiration and inception times. This is an application of
the RRSIG semantic for enhanced security in the trust anchor
key management.
e) Resolver procedures are now covered by the informational
provisions of section 3.
f) Editorial harmonizing changes for the above technical changes.
g) An interim private SDDA RR type is specified in above section
2.1.
h) Minor editorial clarifications and corrections.
Moreau Informational [page 16]
Internet-Draft SDDA-RR April, 2006
Author's Address
Thierry Moreau
CONNOTECH Experts-conseils inc.
9130 Place de Montgolfier
Montreal, Qc, Canada
Tel.: +1-514-385-5691
e-mail: thierry.moreau@connotech.com
IPR Notices
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed
to pertain to the implementation or use of the technology described
in this document or the extent to which any license under such
rights might or might not be available; nor does it represent that
it has made any independent effort to identify any such rights.
Information on the ISOC's procedures with respect to rights in ISOC
Documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use
of such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository
at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Copyright Notice
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
Disclaimer
This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT
THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR
ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
PARTICULAR PURPOSE.
Moreau Informational [page 17]