DNSSEC Explained: What It Is, How It Works, and Why It Matters
DNSSEC in 60 Seconds
✓ DNSSEC (Domain Name System Security Extensions) is a set of cryptographic add-ons to DNS that let a resolver verify a DNS answer really came from the domain's authoritative source and wasn't altered in transit. ✓ It works by having every DNS zone sign its records with a private key, publishing the matching public key, and chaining trust from the domain all the way up to the root zone, so a resolver can follow that chain and mathematically confirm the answer is genuine. ✓ DNSSEC is very good at stopping DNS spoofing and cache poisoning (the attacks where someone forges a fake answer). It does nothing for privacy (it doesn't encrypt anything), and it doesn't block phishing domains or malware.
What You'll Learn
- What DNSSEC Is: Adds digital signatures to DNS records so a resolver can cryptographically verify that an answer is authentic and hasn't been tampered with.
- How the Chain of Trust Works: DNSSEC validation follows a chain from the root zone down through each TLD to the domain itself, with every link vouching for the next.
- The Core Records: Introduces new record types that carry signatures (RRSIG), public keys (DNSKEY), delegation signatures (DS), and proof that a record doesn't exist (NSEC/NSEC3).
- What DNSSEC Actually Stops: Purpose-built to defeat DNS spoofing and cache poisoning.
- What DNSSEC Doesn't Do: Doesn't encrypt queries, doesn't block phishing or malware domains, and doesn't stop a perfectly signed but malicious domain.
DNS Security Technologies Compared
| Technology | Main purpose | Stops spoofing? | Encrypts DNS? | Blocks malicious domains? |
|---|---|---|---|---|
| Traditional DNS | Name resolution | |||
| DNSSEC | Authenticity / integrity | |||
| DoH / DoT / DoQ | DNS privacy | |||
| Protective DNS | Threat blocking | Indirectly | Depends |
SECTION 1
The trust problem nobody designed DNS to solve
SECTION 2
What is DNSSEC?
DNSSEC the Domain Name Security Extensions is a suite of extensions to standard DNS that adds cryptographic signatures to DNS data. Every time a signed zone answers a query, it doesn’t just hand back a record; it hands back the record along with a digital signature proving that the record came from the legitimate holder of that zone’s private key and hasn’t been altered since it was signed.
It helps to be precise about what that sentence promises, because DNSSEC is one of the most misunderstood acronyms in networking.
Think about it less like a locked envelope and more like a notarized document. Anyone can still read what's written on it, but a notary's seal proves the document is genuine and unaltered.
If someone tries to swap out the contents or forge a copy, the seal won’t match, and anyone checking can tell immediately. DNS with DNSSEC works the same way: the answer is public, but it’s signed, and that signature either checks out, or it doesn’t.
The extensions were first standardized in the early 2000s and went through several revisions before the modern version DNSSEC-bis, described primarily in RFC 4033, 4034, and 4035 stabilized. The root zone itself was signed in 2010, which was the moment DNSSEC transitioned from “an interesting proposal” to “a protocol with an actual root of trust that the whole internet could theoretically build on.”
SECTION 3
The chain of trust: how signatures link together
DNSSEC’s cleverest design decision isn’t the signing itself public key cryptography for signing data has existed for decades. It’s how DNSSEC organizes trust across a system that has no central authority for individual domains but does have a single, universally trusted starting point: the DNS root.
Here’s the shape of it. DNS is hierarchical root, then top level domain, then the domain itself, then subdomains. DNSSEC mirrors that hierarchy with a chain of cryptographic trust, where each level vouches for the level below it.
1. The Domain
The DNS hosting provider signs the zone's records with a private key, publishing the public key in the zone. But this only proves internal consistency; anyone could publish a fake key next to fake records.
2. The TLD
The domain's public key is hashed and submitted to the parent TLD (like .com) as a DS record. The TLD signs this DS record, vouching cryptographically for the child zone.
3. The Root
The TLD's public key is submitted to the Root Zone, which signs it. The Root's own public key is trusted directly (like a preloaded Certificate Authority in your browser), anchoring the whole chain.
Put together, a validating resolver checking olladns.com doesn’t just check one signature. It walks the whole chain: verify the root’s signature over the .com DS record using the trusted root key, verify. com’s signature over olladns.com’s DS record using the now verified .com key, then verify olladns.com’s own record signatures using the now verified olladns.com key. Every link depends on the one above it, all the way back to a single anchor that everyone already trusts. Break any link a missing DS record, a signature that doesn’t match, an expired signature and the whole chain fail, and the resolver treats the answer as unverifiable rather than quietly accepting it.
This is the same fundamental idea as the certificate chain your browser checks for HTTPS, a chain of vouching that terminates in something everyone agreed to trust in advance. DNSSEC just applies it to the question “is this DNS answer real?” instead of “is this website’s certificate real?”
SECTION 4
The new record types DNSSEC introduces
DNSSEC doesn’t replace ordinary DNS records A, AAAA, MX, and the rest still work exactly as they always did. It adds a handful of new record types alongside them, each doing a specific job in the signing and validation process.
DNSSEC was not designed to encrypt data, it was designed to authenticate it. Think of it like a wax seal on a public envelope: anyone can read the letter, but the seal proves who sent it and that it wasn't modified.
-
RRSIG (Resource Record Signature) is the actual digital signature. Every set of records of a given type all the A records for a domain, for instance gets one RRSIG covering that set. When a resolver receives an answer, it also receives the matching RRSIG and uses it to mathematically confirm the records haven’t been altered since they were signed.
-
DNSKEY holds the public key used to verify those signatures. A zone typically publishes two kinds of DNSKEY, which is a detail worth understanding because it explains a lot about how DNSSEC operations run day to day.
-
DS (Delegation Signer) lives in the parent zone, not the child zone. It’s a hash of the child zone’s key-signing key, and it’s what creates the actual link in the chain of trust between a domain and its parent TLD. Without a DS record correctly published at the registrar, a signed zone is just signing itself in isolation nobody above it in the hierarchy is vouching for those signatures, so the chain never actually connects to the root.
-
NSEC and NSEC3 (Next Secure) solve a problem that’s easy to overlook: how do you cryptographically prove something doesn’t exist? If someone queries a domain for a subdomain that was never created, DNS needs to answer “no such record” but without a mechanism to sign a negative answer, an attacker could simply forge that “no such record” response too, or worse, suppress a real record by claiming it doesn’t exist. NSEC records solve this by listing, in signed form, the next record name that does exist in the zone, proving there’s nothing in between. NSEC3 does the same job with hashed names instead of plaintext ones, specifically to prevent attackers from walking through a zone’s NSEC chain and enumerating every subdomain that exists a real privacy leak in the original NSEC design that NSEC3 was built to close.
Together, these record types let a resolver validate not just “here’s the real answer” but also “here’s the real answer, and it’s genuinely that there is no answer” both of which matter, because attackers can exploit either direction if it’s left unsigned.
SECTION 5
Zone signing keys vs. key signing keys and why DNSSEC splits them
If you look closely at how a signed zone operates, you’ll notice it doesn’t use just one key pair — it typically uses two, with different jobs and different lifespans. This split confuses a lot of people coming to DNSSEC for the first time, but the reasoning behind it is genuinely elegant once it clicks.
The Zone Signing Key (ZSK)
Signs the actual DNS records in the zone (the A records, MX records, etc). Because zones change and get re-signed frequently, the ZSK is used often and rotated relatively regularly for good security hygiene. It is completely internal to the zone.
The Key Signing Key (KSK)
Has a narrower, more important job: it only signs the DNSKEY record set, vouching for the ZSK. The KSK's hash is submitted to the parent zone as the DS record, meaning the KSK is the actual link in the chain of trust. Rotating it is an expensive, risky operation.
Splitting the two matters because they have very different rotation costs. Rotating a ZSK is entirely internal to the zone, sign the new records, publish the new key, done, nobody outside the zone needs to be told. Rotating a KSK is expensive, because it requires updating the DS record at the parent zone, which usually means going through a registrar, and if that update isn’t propagated and verified correctly, the entire chain of trust for the domain breaks until it’s fixed. By keeping the frequently rotated key (ZSK) separate from the rarely rotated, chain-critical key (KSK), DNSSEC lets operators rotate signing material often good cryptographic hygiene without constantly touching the fragile, externally dependent DS record link.
Key rollovers are, in practice, one of the trickiest operational parts of running DNSSEC correctly. Roll a key too abruptly, without overlapping the old and new signatures during the transition window, and caught records signed by the old key can suddenly fail validation everywhere before resolvers catch up turning a routine maintenance task into a domain-wide outage. This operational fragility is a big part of why DNSSEC has a reputation, deserved or not, for being risky to touch once it’s live.
SECTION 6
Following one DNSSEC-validated lookup, step by step
It’s easiest to see how all these pieces fit together by walking through an actual lookup, the way you’d walk through an ordinary DNS resolution.
It’s easiest to see how all these pieces fit together by walking through an actual lookup:
- 1. The Query: A device queries a validating recursive resolver for olladns.com. (The resolver MUST be configured to validate, otherwise the protection doesn't exist).
- 2. The Root: The resolver starts at the root, collecting signature data. It receives the signed DS record for .com and confirms it against the root's trusted key.
- 3. The TLD: It asks .com's TLD servers for olladns.com and receives the signed DS record for olladns.com, validating it with the .com key.
- 4. The Authoritative Server: It asks olladns.com for the A record and its RRSIG, checking the signature against olladns.com's DNSKEY.
- 5. The Verification: Every link checks out. The resolver marks the response as Authenticated Data (AD) and hands the IP back to the device with cryptographic certainty.
If, instead, any signature had failed to validate say, an attacker had managed to inject a forged answer somewhere along the path the resolver would detect the mismatch and refuse to return the bad data at all. Depending on configuration, it would return a SERVFAIL error rather than silently pass along a poisoned answer. That refusal is the entire point. Ordinary DNS has no mechanism to say, “I don’t trust this answer, so I won’t use it.” DNSSEC gives resolvers exactly that mechanism.
This entire process adds a small amount of overhead extra records to fetch, extra signatures to check but it’s designed to run largely invisibly. Most people using a DNSSEC validating resolver never notice anything different, except that a specific and dangerous category of attack simply stops working against them.
SECTION 7
What DNSSEC protects against
It’s worth being concrete about DNSSEC’s actual threat model, because vague claims like “DNSSEC secures DNS” invite the wrong expectations.
DNSSEC's entire design is aimed squarely at making forgery cryptographically detectable. It stops three main things:
- Spoofing & Cache Poisoning: Defeats classic Kaminsky-style attacks and on-path forgery by ensuring the resolver only accepts data from the legitimate source.
- Unauthorized Modifications: Catches tampering in transit. If data is altered downstream without compromising the authoritative server, the signature fails.
- Forged Negative Answers: Protects the "record doesn't exist" response via NSEC/NSEC3, preventing attackers from hiding legitimate records.
That’s a genuinely important set of protections. Cache poisoning attacks, when they succeed, are almost invisible to victims there’s no broken padlock, no obvious warning sign, just a browser quietly connecting to the wrong server while everything looks normal. DNSSEC removes that blind spot at the DNS layer specifically.
SECTION 8
What DNSSEC doesn’t do and why it isn’t a complete DNS security strategy
Here’s where a lot of organizations get DNSSEC wrong: they deploy it, check a compliance box, and assume DNS-related risk is handled. It isn’t, and understanding exactly where the coverage stops matters as much as understanding where it starts.
DNSSEC doesn’t encrypt anything. Every query and answer still travels in plain text unless it’s separately wrapped in DoH, DoT, or DoQ. Anyone positioned to observe network traffic can still see exactly which domains are being looked up. DNSSEC answers “is this data authentic,” not “is this data private” those are entirely separate problems solved by entirely separate protocols, and an organization that wants both needs to deploy both.
DNSSEC doesn’t stop phishing. This is the single biggest misconception people carry into DNSSEC. A phishing domain like olldns support.com can be perfectly, validly signed with DNSSEC. Signing a zone proves the answer came from whoever controls that zone it says nothing whatsoever about whether the zone’s owner is trustworthy or what they intend to do with visitors. DNSSEC validates authenticity, not reputation or intent. A malicious actor can register a domain, deploy DNSSEC on it correctly, and their signed answers will pass validation with flying colors, because the cryptography is only ever checking “did this really come from the domain it claims to come from,” never “is this domain safe.”
DNSSEC doesn’t stop malware command-and-control traffic. If malware on a device is calling home to an attacker-controlled domain, and that domain is legitimately signed, DNSSEC validation succeeds correctly because the resolution genuinely is authentic to that domain. DNSSEC has no concept of “known bad domain” to block against.
DNSSEC doesn’t protect against DDoS attacks on DNS infrastructure, and in some configurations, it can slightly increase the size of DNS responses due to the added signature data, which is a factor operators weigh when planning capacity for high-volume authoritative servers.
DNSSEC doesn’t protect the “last mile” between a validating resolver and the end device, unless the device itself is also doing validation or the connection to the resolver is otherwise secured. Most consumer devices trust their configured resolver to have already done the validation work and simply accept whatever it says the AD flag confirms which means the security of that final hop depends on trusting the resolver itself.
None of this makes DNSSEC less valuable. It makes it a foundation layer control, not a comprehensive one. It closes a specific, serious hole in DNS’s original trust model. It was never designed to be and isn’t a substitute for domain reputation filtering, threat intelligence, malware detection, or encrypted transport. Organizations that treat DNSSEC as “the DNS security box, checked” and stop there are leaving the much larger and more commonly exploited categories of DNS-layer attack phishing, malware callbacks, lookalike domains completely uncovered. This is exactly why modern protective DNS platforms run DNSSEC validation as table stakes and then layer real time threat intelligence, domain reputation scoring, and behavioral detection on top, because the two categories of protection are complementary, not redundant.
SECTION 9
Why DNSSEC adoption has been slow
If DNSSEC closes such a real and dangerous hole, a fair question is why, more than a decade after the root was signed, a large share of the internet still doesn’t use it. The honest answer is that DNSSEC is operationally harder to run correctly than almost any other DNS feature, and the failure modes are unforgiving.
Key management is genuinely hard. Rotating keys, especially KSKs that require coordinated updates at the registrar, are a process with real potential to break a domain entirely if done wrong. Miss a step in a rollover, and every resolver validating DNSSEC for that domain suddenly can’t resolve it at all not “resolve it insecurely,” but fail outright, because a broken chain of trust means a validating resolver refuses to trust the answer. That’s a much scarier failure mode than a typical misconfiguration, because the entire domain goes dark for a meaningful chunk of the internet, and the outage can be hard to diagnose if the team on call isn’t deeply familiar with DNSSEC internals.
It requires cooperation across multiple parties. A domain owner, their DNS hosting provider, and their registrar all must correctly configure their piece of the chain sign the zone, publish the DS record correctly at the registrar, keep keys in sync and a mistake at any layer breaks the whole thing. Compare that to something like enabling HTTPS, which is largely self-contained to one party managing one certificate.
Response sizes grow. Signed responses carry RRSIG data alongside the actual records, which can push DNS responses past the size where they comfortably fit in a single UDP packet, sometimes forcing a fallback to TCP or triggering fragmentation issues on networks with poorly configured firewalls. This has caused real, if usually recoverable, operational headaches.
The benefit is invisible until it isn’t. DNSSEC doesn’t make a site faster, doesn’t add a visible trust badge most users would recognize, and under normal conditions produces zero observable difference in day-to-day operation. Its value only becomes obvious during an active cache-poisoning attempt which, for most domains, most of the time, simply isn’t happening. That makes it a hard sell for the same reason a lot of security investment is a hard sell: the payoff is an attack that never happened, which is inherently invisible in any dashboard.
Even so, adoption has been climbing steadily, particularly among government domains (many of which are mandated to deploy it), financial institutions, and large DNS hosting providers that have made signing effectively automatic for their customers. The trend line is upward, even if the pace has been slower than DNSSEC’s original advocates hoped back when the root was first signed.
SECTION 10
Common DNSSEC myths worth retiring
A handful of misconceptions about DNSSEC circulate constantly and clearing them up makes the whole picture click into place faster.
- “DNSSEC encrypts my DNS traffic.” It doesn’t. DNSSEC is about authenticity, not confidentiality. If privacy from network observers is the goal, that’s DoH, DoT, or DoQ separate protocols, separate problem.
- “A DNSSEC-signed domain is a safe domain.” Not remotely. Signing proves the answer genuinely came from that domain’s owner. It says nothing about whether the owner is trustworthy. Plenty of malicious domains are correctly signed.
- “Enabling DNSSEC is a one-time setup task.” It’s closer to an ongoing operational commitment. Keys need rotation, signatures expire and must be renewed before they do, and DS records at the registrar need to stay in sync with whatever the DNS provider is signing with. Treating it as “set and forget” is how domains end up going dark during a botched rollover.
- “DNSSEC replaces the need for other DNS security tools.” It closes one specific, serious gap spoofing and cache poisoning and leaves phishing, malware, and lookalike-domain risk completely untouched. It’s a foundation, not a finish line.
- “If my resolver supports DNSSEC, I’m automatically protected.” Support and validation are different things. A resolver must be actively configured to validate DNSSEC signatures and reject invalid ones supporting the protocol without enforcing validation provides no protection at all.
- “DNSSEC failures are rare enough not to worry about.” Misconfigured DNSSEC expired signatures, broken key rollovers, mismatched DS records is one of the more common causes of mysterious, hard-to-diagnose total domain outages precisely because validating resolvers fail closed rather than quietly falling back to insecure resolution.
SECTION 11
How to check if a domain has DNSSEC and how to deploy it
Checking whether DNSSEC is active on a domain is straightforward and doesn’t require specialized tooling. Running a dig query with the +dnssec flag against a domain will show whether RRSIG records are present in the response. Numerous free online DNSSEC checkers will walk the entire chain of trust for a domain and flag exactly where it breaks, if it does whether the DS record is missing at the parent, whether a signature has expired, or whether the chain validates cleanly end to end. For anyone troubleshooting a domain that mysteriously stopped resolving for some users but not others, checking DNSSEC chain validity is one of the first things worth ruling out, because a broken chain will silently fail only for resolvers that validate, while non-validating resolvers keep working normally producing exactly the kind of “it works for me” confusion that makes these incidents frustrating to diagnose.
Deploying DNSSEC on a domain you control generally comes down to three coordinated steps.
- Step 1: Sign the Zone. The authoritative DNS provider generates the ZSK and KSK pair and publishes signed records. Modern managed DNS providers automate this to a simple toggle.
- Step 2: Submit the DS Record. The resulting DS record is submitted to the registrar, passing it up to the TLD to link the chain of trust. (This is the most commonly missed step!)
- Step 3: Ongoing Monitoring. You must monitor for expiring signatures or failed key rollovers to prevent unforgiving outages.
For organizations evaluating whether to deploy DNSSEC on their own domains, the calculus has shifted meaningfully in recent years as major DNS hosting providers have made signing close to automatic. The operational risk that made DNSSEC scary a decade ago manual key management, easy to botch rollovers, has been substantially reduced by tooling. The remaining case against deploying it tends to be inertia rather than genuine technical risk, though the coordination requirement with a registrar still trips up teams that don’t test the DS record submission carefully.
SECTION 12
Where DNSSEC fits in a real DNS security strategy
The most useful way to think about DNSSEC is as one deliberately narrow layer in a stack, not a comprehensive DNS security program on its own. It answers one question extremely well “is this specific DNS answer authentic?” and answers no other question at all.
A complete approach to DNS-layer security layers several things on top of each other:
- DNSSEC Validation handles authenticity, closing off spoofing and cache poisoning.
- Encrypted Transport (DoH/DoT/DoQ) handles confidentiality, keeping queries private.
- Real-time Threat Intelligence handles malicious domain blocking, phishing, and malware.
This is exactly the layering that protective DNS platforms are built around. DNSSEC validation is baseline hygiene the resolver should never accept a forged answer. But the attacks security teams deal with day to day are overwhelmingly not forged DNS responses; they’re real, validly resolving domains that happen to be malicious, registered fresh, dressed up to look like something trustworthy. Stopping those requires the resolver to be making an active judgment call “should this domain resolve at all, given what we know about it” which is a fundamentally different function than DNSSEC’s “is this answer genuine.” Because virtually every stage of an attack chain, from a phishing click through malware installation to data exfiltration, touches DNS at some point, a resolver sitting in that path with both cryptographic validation and active threat filtering catches categories of attack that either capability alone would miss.
Frequently Asked Questions
What does DNSSEC stand for?
DNSSEC stands for Domain Name System Security Extensions. It's a suite of specifications that add cryptographic signatures to DNS records so resolvers can verify their authenticity.
Does DNSSEC encrypt DNS traffic?
No. DNSSEC verifies that DNS data is authentic and unaltered; it does not hide the contents of DNS queries or responses from anyone observing network traffic. Encryption is handled separately by DoH, DoT, or DoQ.
What attacks does DNSSEC prevent?
DNSSEC is specifically designed to prevent DNS spoofing and cache poisoning attacks where a forged DNS response is injected to redirect users to a malicious server instead of the legitimate one.
Does DNSSEC stop phishing websites?
No. A phishing domain can be fully and correctly signed with DNSSEC. Signing only proves an answer came from that domain's actual owner it says nothing about whether the owner or the site is trustworthy.
What is a DS record in DNSSEC?
A DS (Delegation Signer) record lives in a parent zone and contains a hash of the child zone's key-signing key. It's the mechanism that creates the actual link in DNSSEC's chain of trust between a domain and the level above it.
What's the difference between a ZSK and a KSK?
A Zone Signing Key (ZSK) signs the everyday DNS records in a zone and is rotated relatively often. A Key Signing Key (KSK) signs the DNSKEY record set itself and anchors the chain of trust via the DS record, so it's rotated far less frequently and more carefully, since a mistake here can break resolution for the entire domain.
Why isn't DNSSEC used everywhere yet?
Mainly because it's operationally demanding key rotations and coordination between a domain owner, DNS provider, and registrar all must go correctly, and mistakes cause full outages rather than partial degradation. Adoption has grown steadily but remains far from universal.
How do I check if a domain has DNSSEC enabled?
Run a DNS query with DNSSEC flags enabled (for example, dig +dnssec) and check for RRSIG records in the response or use any of the free online DNSSEC chain-validation checkers, which will show exactly where the chain of trust breaks if it does.
Is DNSSEC enough to secure a domain's DNS on its own?
No. DNSSEC closes the specific gap of forged or tampered DNS answers, but it does nothing against phishing domains, malware command and control traffic, or lookalike domains that are resolved completely validly. It's a foundational layer meant to be paired with active threat filtering, not a replacement for it.
Can a DNSSEC rollover cause an outage?
Yes, and this is one of DNSSEC's most-cited operational risks. If a key rollover, especially a KSK rollover involving the DS record at the registrar, isn't executed with proper overlap between old and new keys, validating resolvers can start rejecting the domain's answers entirely until the mismatch is fixed.
The takeaway
DNSSEC is a foundational security layer designed to cryptographically verify the authenticity of DNS records, effectively preventing spoofing and cache poisoning. However, it’s not a silver bullet—it doesn’t encrypt traffic or block phishing and malware domains. To build a robust DNS security posture, DNSSEC must be combined with encrypted transport (like DoH/DoT) and active threat intelligence. Treat it as the essential groundwork, not the complete solution.
As organizations scale, solutions like OllaDNS provide essential visibility and protection at this layer.
Return to the OllaDNS Homepage →
Explore our Protective DNS platform and enterprise solutions.