DNSSEC, abreviatura de "Extensiones de seguridad del sistema de nombres de dominio", es un protocolo mejorado diseñado para garantizar la autenticidad de la información proporcionada por los servidores DNS. Aprovecha la criptografía de clave pública y las firmas digitales para abordar las vulnerabilidades de seguridad en el protocolo DNS tradicional. DNS, desarrollado en 1983, es un sistema que resuelve nombres de dominio (nombres de host) en direcciones IP, pero ha sido criticado por su falta de mecanismos de seguridad sólidos. Una vulnerabilidad importante es su susceptibilidad a ataques de envenenamiento de caché DNS.
La infraestructura de DNS consta de dos tipos principales de servidores:
Si se almacenan datos maliciosos o incorrectos en la caché ("caché envenenado"), el servidor de caché DNS podría proporcionar a los clientes una dirección IP incorrecta y redirigirlos a sitios fraudulentos. Esta explotación deliberada se conoce como envenenamiento de caché DNS. Esto ocurre porque la comunicación DNS entre servidores utiliza el protocolo UDP sin estado, que carece de verificación del remitente. Los atacantes, al sincronizar hábilmente los paquetes de respuesta falsificados con las solicitudes legítimas, ejecutan el envenenamiento de caché.
DNSSEC mitiga esto al introducir la validación criptográfica. Los servidores de contenido DNS autorizados generan un par de claves criptográficas: una clave privada y una clave de acceso público. Al responder a una consulta, el servidor utiliza su clave privada para firmar la respuesta DNS. El servidor de caché DNS, al recibir la respuesta, valida la firma digital utilizando la clave pública. Este proceso garantiza la integridad y autenticidad de los datos, previniendo eficazmente ataques de envenenamiento de caché DNS.