Network Working Group B. Wellington
Request for Comments: 3008 Nominum
Updates: 2535 November 2000
Category: Standards Track
Domain Name System Security (DNSSEC) Signing Authority
1 - Introduction
This document defines additional restrictions on DNSSEC signatures (SIG) records relating to their authority to sign associated data. The intent is to establish a standard policy followed by a secure resolver; this policy can be augmented by local rules. This builds upon [RFC2535], updating section 2.3.6 of that document.
Wellington Standards Track [Page 1]
RFC 3008 DNSSEC Signing Authority November 2000 2 - The SIG RecordA SIG record is normally associated with an RRset, and "covers" (that is, demonstrates the authenticity and integrity of) the RRset. This is referred to as a "data SIG". Note that there can be multiple SIG records covering an RRset, and the same validation process should be repeated for each of them. Some data SIGs are considered "material", that is, relevant to a DNSSEC capable resolver, and some are "immaterial" or "extra-DNSSEC", as they are not relevant to DNSSEC validation. Immaterial SIGs may have application defined roles. SIG records may exist which are not bound to any RRset; these are also considered immaterial. The validation process determines which SIGs are material; once a SIG is shown to be immaterial, no other validation is necessary.
2.1 - Type Covered
For a data SIG, the type covered MUST be the same as the type of data in the associated RRset. For a SIG(0), the type covered MUST be 0.
2.2 - Algorithm Number
The algorithm specified in a SIG MUST be recognized by the client, and it MUST be an algorithm that has a defined SIG rdata format.
2.3 - Labels
The labels count MUST be less than or equal to the number of labels in the SIG owner name, as specified in [RFC2535, section 4.1.3].
2.4 - Original TTL
The original TTL MUST be greater than or equal to the TTL of the SIG record itself, since the TTL cannot be increased by intermediate servers. This field can be ignored for SIG(0) records.
Wellington Standards Track [Page 2]
RFC 3008 DNSSEC Signing Authority November 2000 2.5 - Signature Expiration and InceptionThe current time at the time of validation MUST lie within the validity period bounded by the inception and expiration times.
2.6 - Key Tag
There are no restrictions on the Key Tag field, although it is possible that future algorithms will impose constraints.
2.7 - Signer's Name
The signer's name field of a data SIG MUST contain the name of the zone 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 to be considered material. The only exception that the signer's name field in a SIG KEY at a zone apex SHOULD contain the parent zone's name, unless the KEY set is self-signed. This document defines a standard policy for DNSSEC validation; local policy may override the standard policy.
2.8 - Signature
There are no restrictions on the signature field. The signature will be verified at some point, but does not need to be examined prior to verification unless a future algorithm imposes constraints.
3 - The Signing KEY Record
Once a signature has been examined and its fields validated (but before the signature has been verified), the resolver attempts to locate a KEY that matches the signer name, key tag, and algorithm fields in the SIG. If one is not found, the SIG cannot be verified and is considered immaterial. If KEYs are found, several fields of the KEY record MUST have specific values if the SIG is to be considered material and authorized. If there are multiple KEYs, the following checks are performed on all of them, as there is no way to determine which one generated the signature until the verification is performed.
Wellington Standards Track [Page 3]
RFC 3008 DNSSEC Signing Authority November 2000 3.1 - Type FlagsThe signing KEY record MUST have a flags value of 00 or 01 (authentication allowed, confidentiality optional) [RFC2535, 3.1.2]. A DNSSEC resolver MUST only trust signatures generated by keys that are permitted to authenticate data.
3.2 - Name Flags
The interpretation of this field is considerably different for data SIGs and SIG(0) records.
3.2.1 - Data SIG
If the SIG record covers an RRset, the name type of the associated KEY MUST be 01 (zone) [RFC2535, 3.1.2]. This updates RFC 2535, section 2.3.6. The DNSSEC validation process performed by a resolver MUST ignore all keys that are not zone keys unless local policy dictates otherwise.
3.2.2 - SIG(0)
If the SIG record is a SIG(0) protecting a message, the name type of the associated KEY SHOULD be 00 (user) or 10 (host/entity). Transactions are initiated by a host or user, not a zone, so zone keys SHOULD not generate SIG(0) records. A client is either explicitly executed by a user or on behalf of a host, therefore the name type of a SIG(0) generated by a client SHOULD be either user or host. A nameserver is associated with a host, and its use of SIG(0) is not associated with a particular zone, so the name type of a SIG(0) generated by a nameserver SHOULD be host.
Wellington Standards Track [Page 4]
RFC 3008 DNSSEC Signing Authority November 2000 3.3 - Signatory FlagsThis document does not assign any values to the signatory field, nor require any values to be present.
3.4 - Protocol
The signing KEY record MUST have a protocol value of 3 (DNSSEC) or 255 (ALL). If a key is not specified for use with DNSSEC, a DNSSEC resolver MUST NOT trust any signature that it generates.
3.5 - Algorithm Number
The algorithm field MUST be identical to that of the generated SIG record, and MUST meet all requirements for an algorithm value in a SIG record.
4 - Security Considerations
This document defines a standard baseline for a DNSSEC capable resolver. This is necessary for a thorough security analysis of DNSSEC, if one is to be done.
5 - Acknowledgements
The author would like to thank the following people for review and informative comments (in alphabetical order):
Wellington Standards Track [Page 5]
RFC 3008 DNSSEC Signing Authority November 2000 6 - References[RFC1034] Mockapetris, P., "Domain Names - Concepts and Facilities",
7 - Author's Address
Brian Wellington Nominum, Inc. 950 Charter Street Redwood City, CA 94063
Wellington Standards Track [Page 6]
RFC 3008 DNSSEC Signing Authority November 2000 8 Full Copyright StatementCopyright (C) The Internet Society (2000). All Rights Reserved.