Pular para o conteúdo
Todos os conceitos

DNSSEC

Com DNSSEC, cada zona assina os seus registros, e o pai publica um resumo da chave do filho (DS). O algoritmo de assinatura é um número: 8 é RSA, 13 é ECDSA, 15 é Ed25519.

Uma resposta DNS comum pode ser forjada no caminho. O DNSSEC acrescenta assinaturas digitais: cada zona tem um par de chaves, publica a chave pública e assina os seus registros. Três tipos de registro fazem isso funcionar:

Tipo O que é
DNSKEY As chaves públicas da zona (flag 257 é a chave principal, a KSK; 256, a que assina o dia a dia, a ZSK)
RRSIG A assinatura de um conjunto de registros
DS Fica na zona pai: um resumo (hash) da chave do filho

O DS é o que liga uma zona à de cima. A raiz assina a si mesma e guarda um DS para cada TLD assinado; o TLD guarda um DS para cada domínio assinado, e assim por diante. Essa é a cadeia de confiança: partindo da chave da raiz, um resolvedor confere cada degrau. Quando a validação dá certo, a resposta dele vem com o bit ad.

zona raiz DNSKEY chave da raiz ponto de partida da cadeia assina exemplo. 86400 IN DS 12345 13 2 AB12CD... key tag algoritmo SHA-256 hash da chave hash desta chave zona exemplo. RRSIG assinaturas dos registros da zona DNSKEY 257 3 13 … KSK DNSKEY 256 3 13 … ZSK assina o TLD guarda um DS para cada domínio assinado, e assim por diante
A raiz assina o DS que guarda para exemplo., e esse DS é o hash da chave principal (KSK) do filho; dentro da zona filha, a ZSK assina os registros. Assim cada degrau confere o de baixo.

Uma linha DS da zona raiz:

exemplo.   86400   IN   DS   12345 13 2 AB12CD...

Depois do tipo vêm o identificador da chave (key tag, 12345), o algoritmo (13), o tipo de hash (2 = SHA-256) e o hash. Os números de algoritmo são da IANA:

Número Algoritmo
7 RSA/SHA-1 (com NSEC3), antigo
8 RSA/SHA-256, o mais comum
10 RSA/SHA-512
13 ECDSA P-256 com SHA-256
14 ECDSA P-384 com SHA-384
15 Ed25519
16 Ed448

Ed25519 e ECDSA usam curvas elípticas: chaves e assinaturas bem menores que as do RSA, e respostas DNS menores.

Ferramentas: a zona raiz inteira está em internic.net/domain/root.zone (abre em nova aba); dig org DNSKEY +short mostra as chaves de uma zona (o terceiro número é o algoritmo); dig org DS +short mostra o DS no pai; e o DNSViz (abre em nova aba) desenha a cadeia de confiança de qualquer domínio.

Aparece nestes desafios