DNSSEC (Domain Name System Security Extensions) is a suite of specifications designed to add security to the DNS protocol. DNSSEC protects internet users from forged DNS data by using public-key cryptography to digitally sign DNS records. When DNSSEC is enabled, DNS resolvers can verify that the DNS response they receive is authentic and has not been tampered with.
The original DNS protocol, designed in the 1980s, had no built-in security mechanism. This made DNS vulnerable to various attacks where malicious actors could redirect users to fake websites. DNSSEC was developed to address these vulnerabilities by adding authentication to DNS responses.
How DNSSEC Works
DNSSEC works by creating a chain of trust from the DNS root zone down to individual domain names. Here's the DNSSEC process:
- Zone Signing: The domain owner signs their DNS zone with a private key, creating RRSIG (Resource Record Signature) records
- Key Publication: The public key (DNSKEY) is published in DNS so resolvers can verify signatures
- Delegation Signer: A DS (Delegation Signer) record is placed in the parent zone, linking the child zone's keys to the parent
- Validation: DNSSEC-validating resolvers verify each signature up the chain to the root trust anchor
DNSSEC Record Types
DNSSEC introduces several new DNS record types:
- DNSKEY: Contains the public signing key for a zone
- RRSIG: Contains the cryptographic signature for a DNS record set
- DS: Delegation Signer record that links parent and child zones
- NSEC/NSEC3: Provides authenticated denial of existence for non-existent domain names