ietf-corpus

rfc-3225

Indicating Resolver Support of DNSSEC

D. Conrad
date2001-12 streamIETF areaint wgdnsext statusPROPOSED STANDARD pages6 canonicalhttps://www.rfc-editor.org/rfc/rfc3225 doi10.17487/RFC3225
In order to deploy DNSSEC (Domain Name System Security Extensions) operationally, DNSSEC aware servers should only perform automatic inclusion of DNSSEC RRs when there is an explicit indication that the resolver can understand those RRs. This document proposes the use of a bit in the EDNS0 header to provide that explicit indication and describes the necessary protocol changes to implement that notification. [STANDARDS-TRACK]

updated by

Extracted elements (14)

design-rationale §2

A single bit is sufficient to signal DNSSEC support because client-side support is considered binary — the client either accepts all DNSSEC security RRs or none. The EDNS0 header is used because classic DNS header bits are scarce and may be inappropriately copied by non-compliant caching or forwarding servers.

dns, security

design-rationale §2

An explicit DO bit is used rather than treating the presence of an EDNS0 header as an implicit indication of DNSSEC support, because there may be applications that use EDNS0 but for which DNSSEC is inappropriate.

dns, security

design-rationale §2

The explicit DO notification mechanism was motivated by operational problems: DNSSEC RRs frequently push responses beyond the 512-byte UDP limit (RFC 1035), causing TCP fallback with significantly higher overhead (five packets vs. two), increased latency, timeout failures, and nameserver load. Additionally, some non-DNSSEC-aware resolvers crashed or silently discarded responses containing DNSSEC RRs.

dns, security

interoperability-note §3

Security records that match an explicit SIG, KEY, NXT, or ANY query, or are part of zone data for an AXFR or IXFR query, are included in responses regardless of whether the DO bit was set. The DO bit governs only automatic inclusion of DNSSEC RRs for authentication.

dns, security

normative-requirement §3 MUST

A recursive DNSSEC-aware server MUST set the DO bit on its recursive requests regardless of the DO bit status of the initiating resolver request, ensuring upstream servers return DNSSEC RRs for the recursive server's cache.

dns, security

normative-requirement §3 MUST NOT

DNSSEC-aware nameservers MUST NOT insert SIG, KEY, or NXT RRs to authenticate a response as specified in RFC 2535 unless the DO bit was set on the request.

dns, security

normative-requirement §3 SHOULD NOT

If a server returns NOTIMP, FORMERR, or SERVFAIL in response to a query with DO set, the resolver SHOULD NOT expect DNSSEC security RRs and SHOULD retry the query without EDNS0 per RFC 2671 section 5.3.

dns, security

normative-requirement §3 MUST

If the initiating resolver request does not have the DO bit set, the recursive DNSSEC-aware server MUST remove DNSSEC security RRs before returning data to the client; however, cached data MUST NOT be modified.

dns, security

normative-requirement §3 MUST

The DO bit of the query MUST be copied into the response by the nameserver.

dns

normative-requirement §3 MUST NOT

When the DO bit is cleared (zero), DNSSEC security RRs MUST NOT be returned in the response unless those RRs are explicitly queried for (e.g., an explicit SIG, KEY, NXT, or ANY query, or via AXFR/IXFR).

dns, security

protocol-element §3

The DNSSEC OK (DO) bit is the most significant bit of the Z field in the EDNS0 OPT header's extended RCODE and flags portion (third and fourth bytes). Setting DO=1 signals the resolver can accept DNSSEC security RRs (SIG, KEY, NXT); DO=0 signals it cannot.

dns, security

registry §IANA Considerations

This document allocates one of the 16 EDNS0 extended flag bits defined in RFC 2671 as the DO (DNSSEC OK) bit, assigned to the leftmost (most significant) bit of the extended flags field in the OPT record TTL.

dns, registry

security-consideration §Security Considerations MUST NOT

The absence of DNSSEC data in a response to a query with DO set MUST NOT be interpreted as meaning no security information is available for the zone, because the response may be forged or may be a non-forged response to an altered (DO-cleared) query.

dns, security

wire-format §3

The EDNS0 OPT extended RCODE and flags field is 16 bits: bytes 0-1 carry EXTENDED-RCODE and VERSION; bytes 2-3 carry DO as the MSB (bit 0) followed by 15 Z (reserved) bits. DO is the leftmost bit of the TTL field of the OPT record.

dns