Episode 2

Nuevos registros

Para validar la autenticidad de los datos DNS, DNSSEC introduce nuevos de registros DNS.

Para validar la autenticidad de los datos DNS, DNSSEC introduce nuevos de registros DNS.

Lo primero que hará tu proveedor DNS al configurar tu dominio con DNSSEC es agrupar todos los registros en RRsets.

Lo primero que hará tu proveedor DNS al configurar tu dominio con DNSSEC es agrupar todos los registros en **RRsets**.

RR en RRsets significa Resource Records. Una forma elegante de decir “registros del mismo tipo y nombre” dentro de una zona o dominio.

RR en RRsets significa Resource Records. Una forma elegante de decir “registros del mismo tipo y nombre” dentro de una zona o dominio.

Los RRsets agrupan todos los registros del mismo tipo y nombre en un conjunto que se firma digitalmente.

Los RRsets agrupan todos los registros del mismo tipo y nombre en un conjunto que se firma digitalmente.

En el mundo físico, los humanos usan firmas para vincular identidad y autenticidad a un mensaje.

En el mundo físico, los humanos usan firmas para vincular identidad y autenticidad a un mensaje.

La misma analogía se aplica al mundo DNSSEC.

La misma analogía se aplica al mundo DNSSEC.

El servidor autoritativo firma cada RRset con claves de firma de zona (ZSK).

El servidor autoritativo firma cada RRset con **claves de firma de zona (ZSK)**.

Hablaremos de más claves luego, así que recuerda que estas se usan para generar y verificar la firma sobre los registros de zona.

Hablaremos de más claves luego, así que recuerda que estas se usan para generar y verificar la firma sobre los registros de zona.

Cada ZSK tiene una pareja de claves. Una privada y otra pública. Esta es la base de la criptografía asimétrica.

Cada ZSK tiene una pareja de claves. Una **privada** y otra **pública**. Esta es la base de la criptografía asimétrica.

Las claves privadas y públicas trabajan juntas. Los datos cifrados con la clave privada pueden descifrarse o validarse con la clave pública.

Las claves privadas y públicas trabajan juntas. Los datos cifrados con la clave privada pueden descifrarse o validarse con la clave pública.

La clave pública puede compartirse con cualquiera. Es pública y accesible para todos.

La clave pública puede compartirse con cualquiera. Es pública y accesible para todos.

Las claves privadas son (lo has adivinado) privadas y no deben compartirse.

¡Que los cangrejos no las consigan!

Las claves privadas son (lo has adivinado) privadas y no deben compartirse.

Juntas estas claves aportan dos cosas importantes.

Juntas estas claves aportan dos cosas importantes.

Uno: Verificar que el contenido proviene de la fuente correcta.

Dos: Verificar que el contenido no se ha alterado desde que se envió.

**Uno**: Verificar que el contenido proviene de la fuente correcta.

Estas claves no se usan para cifrar todo el contenido de los registros. En su lugar, se crea una firma digital tomando una porción del RRset, haciendo hashing y cifrándola.

Estas claves no se usan para cifrar todo el contenido de los registros. En su lugar, se crea una firma digital tomando una porción del RRset, haciendo hashing y cifrándola.

El proceso de hashing no solo es relevante para la validación.

El hashing reduce el tamaño del contenido enviado, haciendo la firma de longitud fija.

El proceso de hashing no solo es relevante para la validación.

Esto es importante porque queremos mantener el protocolo de DNS pequeño y ligero.

Esto es importante porque queremos mantener el protocolo de DNS pequeño y ligero.

Las firmas se almacenan en un registro DNS llamado RRSIG (Resource Record Signature).

Las firmas se almacenan en un registro DNS llamado **RRSIG** (Resource Record Signature).

Y la clave pública para descifrar ese registro RRSIG se almacena en un nuevo tipo de registro DNS llamado DNSKEY.

Y la clave pública para descifrar ese registro RRSIG se almacena en un nuevo tipo de registro DNS llamado **DNSKEY**.

Así es como sucede…

Así es como sucede...

Parte del contenido del RRset se transforma con un algoritmo de hashing.

Parte del contenido del RRset se transforma con un algoritmo de hashing.

El resultado se cifra con la parte privada de la clave de firma de zona, creando un registro RRSIG.

El resultado se cifra con la parte privada de la clave de firma de zona, creando un registro RRSIG.

Después, el servidor autoritativo envía el RRset y el RRSIG al recusor.

Después, el servidor autoritativo envía el RRset y el RRSIG al recusor.

El recusor toma el RRset y le aplica un hashing, igual que lo hizo el servidor autoritativo con el mismo algoritmo.

El recusor toma el RRset y le aplica un hashing, igual que lo hizo el servidor autoritativo con el mismo algoritmo.

El recusor descifra el registro de firma con la parte pública de la clave de firma de zona para obtener un hash.

El recusor descifra el registro de firma con la parte pública de la clave de firma de zona para obtener un hash.

Si ambos hashes coinciden, el recusor sabe que la respuesta proviene de la fuente esperada y no ha sido manipulada.

Si ambos hashes coinciden, el recusor sabe que la respuesta proviene de la fuente esperada y no ha sido manipulada.

Un recusor que no admite DNSSEC o que no dispone del algoritmo de hashing ignorará la firma que acompaña al registro.

Un recusor que no admite DNSSEC o que no dispone del algoritmo de hashing ignorará la firma que acompaña al registro.

Este es el flujo actual cuando el recusor DNS solicita el registro A de www.dnsimple.com.

Este es el flujo actual cuando el recusor DNS solicita el registro A de www.dnsimple.com.

El servidor autoritativo devuelve el registro A dentro de un RRset y el registro RRSIG.

El servidor autoritativo devuelve el registro A dentro de un RRset y el registro RRSIG.

El recusor pide entonces el registro DNSKEY para validar que el registro solicitado es válido y procede de una fuente de confianza.

El recusor pide entonces el registro DNSKEY para validar que el registro solicitado es válido y procede de una fuente de confianza.

El recusor valida la respuesta a través del RRset, el RRSIG y el DNSKEY.

El recusor valida la respuesta a través del RRset, el RRSIG y el DNSKEY.

Pero ¿y si el DNSKEY fuese falseado?

Pero ¿y si el DNSKEY fuese falseado?
Seguir leyendo →