DNSSEC provides authenticated denial of existence. A validating resolver needs a signed way to learn that a name does not exist or that a delegation is insecure. NSEC3 replaces plaintext owner names in some denial records with hashes, and its opt-out flag changes what a zone must publish for insecure delegations.

RFC 5155 describes opt-out as a mechanism for large, sparsely signed zones. An insecure delegation covered by an opt-out span may not have a corresponding NSEC3 record. This reduces the cost of maintaining authenticated denial material, but it also means the zone cannot prove the existence or nonexistence of every insecure delegation within that span in the same way it can for covered names. The security difference is specific and should be stated in the zone's operating model.

The opt-out flag is not a general permission to stop signing delegations. It applies to insecure delegations and to empty non-terminals derived only from them. A secure delegation still needs the appropriate signed denial and delegation records. Mixing signed and unsigned child zones in one parent makes inventory and change validation important.

RFC 9276 offers deployment guidance for NSEC3 parameters. It notes that opt-out is appropriate only for very large zones where insecure delegations dominate. It also explains that salts are not consumed by validating resolvers from the NSEC3PARAM record in the way operators sometimes assume, so parameter changes need a rollout that respects cached RRsets. Changing the hash algorithm, iterations, salt, or opt-out setting is a zone-wide transition, not a local tweak.

Operators should test the exact negative answers that matter:

  • A name that should be proven absent returns the expected authenticated denial.

  • An insecure delegation returns the intended result without overstating proof.

  • A secure delegation still validates.

  • A DS query for the child zone returns the correct denial or data.

  • Validators with different cache states converge after a parameter change.

The AD bit and resolver behavior deserve separate checks. RFC 5155 describes cases where a closest encloser proof with an opt-out NSEC3 record must not set the AD bit. An application that treats AD as a universal statement about every name in a zone can misread what the denial proves. Resolver logs and DNSSEC validation test tools should show the response code, authority records, and AD status together.

Opt-out can be the right engineering choice for a large zone with many unsigned delegations. It still requires an inventory of which delegations are secure, which are intentionally insecure, and which records are absent because of the opt-out span. Without that inventory, a valid signed response can be mistaken for a stronger security statement than the zone actually makes.

References