ECDSA: il pezzo mancante del DNSSEC

logo dnssec

Il DNSSEC è un argomento complicato e a rendere le cose ancora più confuse è la disponibilità di diversi algoritmi di sicurezza standard per la firma dei record DNS, definiti dalla IANA. L'algoritmo 13 è una variante dell'algoritmo di firma digitale a curva ellittica (ECDSA). Sebbene attualmente sia utilizzato da meno dello 0,01% dei domini, vorremmo sostenere che ECDSA ci ha aiutato a eliminare le ultime due barriere per l'adozione diffusa del DNSSEC: l'enumerazione delle zone e l'amplificazione DDoS.

L'enumerazione delle zone è impedita dalla firma in tempo reale, che è efficiente dal punto di vista computazionale solo con la rapida generazione della firma di ECDSA. Le curve ellittiche producono anche chiavi e firme significativamente più piccole rispetto alle loro controparti RSA, il che significa che le risposte alle query DNS sono più piccole. Questo riduce notevolmente il fattore di amplificazione degli attacchi DDoS basati su DNS.

logo dnssec

Amplificazione DDoS

Cloudflare è il più grande fornitore di DNS gestito al mondo. Quello che non vogliamo è trasformare i nostri server DNSSEC in un vettore di amplificazione per gli attacchi DDoS (Distributed Denial-of-Service). Ogni volta che si richiede un record a un server DNSSEC, questo restituisce anche la firma associata a quel record e la chiave pubblica utilizzata per verificare la firma. Sono potenzialmente molte informazioni.

Rendere la dimensione della risposta per le query DNSSEC la più piccola possibile è un requisito importante per prevenire l'abuso della nostra infrastruttura DNS da parte di potenziali aggressori. Le dimensioni ridotte delle chiavi e delle firme ECDSA contribuiscono notevolmente a questo scopo.

ECDSA e RSA Dimensione della risposta

Per ottenere una sicurezza a 128 bit con ECDSA è necessaria una chiave a 256 bit, mentre una chiave RSA analoga sarebbe di 3072 bit. Si tratta di un fattore di amplificazione 12 volte superiore solo per i tasti. Per saperne di più sul perché le chiavi crittografiche hanno dimensioni diverse, consultare questo post del blog.

Tuttavia, la maggior parte delle chiavi RSA non sono di 3072 bit, quindi un fattore di amplificazione di 12 volte potrebbe non essere la cifra più realistica. Analizziamo lo scenario reale peggiore per l'amplificazione DDoS, ovvero una risposta negativa (record NSEC). Per un dominio dietro Cloudflare (che utilizza firme ECDSA e bugie bianche DNSSEC), una tipica risposta DNSSEC è di 377 byte. Confrontate questo dato con i 1075 byte di un dominio che non utilizza le bugie bianche ECDSA o DNSSEC.

Se si considera il fatto che tutte le altre implementazioni DNSSEC su larga scala si basano su firme RSA, è poco allettante per un attaccante sfruttare la nostra infrastruttura DNSSEC come vettore DDoS.

Svantaggi di ECDSA

ECDSA non è privo di compromessi. Secondo Roland van Rijswijk-Deij et al., solo l'80% dei resolver supporta la validazione ECDSA. Questo numero è in crescita, ma significa che se l'intero Internet DNSSEC passasse subito a ECDSA la convalida DNSSEC fallirebbe per milioni di utenti di Internet ogni giorno e tornerebbe a restituire record DNS non verificati.

Inoltre, mentre la creazione della firma ECDSA è più veloce di quella RSA, la convalida della firma è molto più lenta. Roland van Rijswijk-Deij et al. hanno dimostrato che, anche con le ottimizzazioni di ECDSA che ha contribuito a OpenSSL, ECDSA è ancora 6,6 volte più lento di RSA a 1024 bit (che è l'algoritmo più comunemente usato per la firma a zona delle chiavi). Si tratta di un problema serio, perché il sovraccarico dei risolutori DNS potrebbe potenzialmente rallentare l'intera Internet.

Configurare Cloudflare è facile



Configura un dominio in meno di 5 minuti mantenendo il tuo provider di hosting e senza dover modificare il codice.


Milioni di proprietà Internet si affidano a noi

Logo doordash trusted by gray
Logo garmin trusted by gray
Logo 23andme trusted by gray
Logo lending tree trusted by gray
NCR logo
Thomson Reuters logo
Logo zendesk trusted by gray