DomainOpsDomainOps

What is DNSSEC? Chain of trust, DS records and rotation risk

What is DNSSEC and how does it work? The chain of trust, DNSKEY and DS records, the DS-rotation outage class, and when enabling DNSSEC is worth it.

DomainOps Team··5 min read

What is DNSSEC? The DNS Security Extensions add cryptographic signatures to DNS so that a resolver can verify the answers it receives genuinely came from the authoritative source and weren't tampered with in transit. Plain DNS has no such guarantee — a resolver simply trusts whatever reply arrives first, which is what makes cache-poisoning and on-path spoofing attacks possible. DNSSEC closes that hole by signing records and building a verifiable chain of trust from the root zone down to your domain. It's powerful, and it is also the single easiest piece of DNS to turn into a multi-hour outage if you mishandle a key.

The chain of trust

DNSSEC doesn't encrypt anything — it authenticates. Every signed zone holds digital signatures alongside its records, and a resolver validates those signatures by walking a chain from a starting point it already trusts:

  • The root zone is the anchor. Its public key is the famous "trust anchor" that validating resolvers ship with.
  • The root signs a pointer to .com (or .io, .org, …). The TLD signs a pointer to your domain. Your domain signs its own records.
  • Each link is a parent vouching for a child's key. Break any link and validation fails for everything below it.

This is delegation security: you don't trust your domain's key directly, you trust the root, which trusts the TLD, which vouches for you.

DNSKEY and DS records

Two record types do the linking, and confusing them is where outages start:

RecordLives inHolds
DNSKEYYour zoneYour public signing keys.
DS (Delegation Signer)The parent zone (the registry)A hash of your DNSKEY.
RRSIGYour zoneThe signatures over each record set.

Most setups use two keys: a Key Signing Key (KSK) that signs the DNSKEY set, and a Zone Signing Key (ZSK) that signs everything else. The parent's DS record is a hash of your KSK. So the live chain is: parent's DS → your KSK (DNSKEY) → your ZSK → your RRSIGs → your actual records. A simplified DS record:

dns
example.com.  DS  12345 13 2 49FD46E6C4B45C55D4AC...A2B0F1C3
;             ^keytag ^algo ^digest-type ^digest-of-DNSKEY

Enabling DNSSEC means signing your zone (your DNS provider usually does this) and then publishing the matching DS record at your registrar, who passes it to the registry. That last step crosses an organisational boundary — your DNS host and your registrar are often different companies — and that boundary is where the danger lives.

The DS-rotation outage class

This is the failure mode worth fearing. Once a domain is DNSSEC-signed and has a DS record in the parent, validating resolvers require the chain to be intact. If the DS no longer matches the live DNSKEY, validation doesn't degrade gracefully — those resolvers return SERVFAIL and your domain goes dark for everyone using a validating resolver. Plain-DNS misconfigurations let some traffic through; a broken DNSSEC chain fails hard and globally.

The classic ways to trigger it:

  • Rotating the KSK without updating the DS first. New KSK goes live, the parent's DS still hashes the old key, chain breaks. The fix is a careful double-signing rollover: publish the new key, get the new DS in place, then retire the old key.
  • Migrating DNS providers with DNSSEC still enabled. The new provider re-signs with their keys, but the registrar's DS still points at the old provider's key. Always disable DNSSEC (remove the DS) before migrating, then re-enable after.
  • An expired RRSIG. Signatures have validity windows. If automated re-signing stalls, signatures expire and validation fails — even though nothing was "changed".

Every one of these is invisible until a validating resolver tries to look you up. The sending side and the authoritative server may both look healthy.

When DNSSEC is worth enabling

DNSSEC is genuinely valuable, but it isn't free, and the honest answer is "it depends":

  • Worth it: domains where DNS integrity matters — anything financial, government, high-value brands, and any domain using DANE/TLSA to pin certificates (which requires DNSSEC). If you can commit to monitoring the chain and disciplined key rollovers, enable it.
  • Think twice: if your DNS is managed ad hoc, you migrate providers often, or nobody owns key rotation. A signed domain with no operational discipline is more likely to cause an outage than to prevent an attack.

The deciding factor is rarely the cryptography — it's whether you'll operate it. A DNSSEC chain that nobody watches is a time bomb attached to your most critical record.

Watch the chain, not just the zone

If you do enable DNSSEC, the chain has to be monitored continuously: the DS must keep matching the live DNSKEY, signatures must not expire, and the chain must validate end-to-end. None of that surfaces on your own dashboards — it only shows up when a resolver returns SERVFAIL. Our security docs describe what DNS posture we track.

DomainOps monitors DNSSEC alongside SPF, DKIM, DMARC and CAA, and alerts you when the chain breaks or a signature is heading for expiry — before your domain goes dark. It monitors and warns; it does not manage your zone or rotate your keys for you. To get started, add your domains, or run a quick check of your email-auth records with the free email auth audit.

dnssecdnssecurity