The Internet Engineering Task Force (IETF) has been working for many years to provide standards for the domain name system security extension (DNSSEC). DNSSEC protects internet users and applications from forged domain name system (DNS) data by using public key cryptography to digitally sign authoritative zone data when it enters the DNS and then validate it at its destination. Learn more about public key cryptography.
A digital signature helps assure users that the data originated from the stated source and that it was not modified in transit. DNSSEC can also establish that a domain name does not exist. These capabilities are essential to maintaining trust in the internet.
In DNSSEC, each zone has at least one public/private key pair. The zone’s public key is published using DNS, while the zone’s private key is kept safe and ideally stored offline. A zone’s private key signs individual DNS data records in that zone, creating digital signatures that are also published with DNS.
DNSSEC uses a rigid trust model and this chain of trust flows from parent zone to child zone. The chain of trust is established when higher-level (parent) zones sign the public keys of lower-level (child) zones. The authoritative name servers for these various zones may be managed by registrars, internet service providers (ISPs), web hosting companies or registrants themselves.
When an end user wants to access a website (or any internet resource), a stub resolver on the user’s computer requests the website’s IP address from a recursive name server. When a recursive name server requests the address record it also requests the DNSSEC key associated with the zone. This key allows the recursive name server to verify that the IP address record it receives is identical to the record on the authoritative name server.
If the recursive name server determines that the address record has been sent by the authoritative name server and has not been altered in transit, it resolves the domain name (provides the requested IP address) and the user can access the site. This integrity-checking process is called “validation.” If the address record has been modified the recursive name server does not allow the user to reach the fraudulent address. DNSSEC can also prove that a domain name does not exist. As a result of this process, DNS queries and responses are protected from “man-in-the-middle” (MITM) attacks and the kind of forgeries that could possibly redirect internet users to phishing and pharming sites.