Si DNSSEC es tan cuestionable, ¿por qué está por delante de DNSCurve en adopción?

26

Mirando todas las personas que cuestione la viabilidad de DNSSEC , no es de extrañar que las tasas de adopción son muy bajas .

Sin embargo, ¿qué pasa con DNSCurve? Supuestamente, soluciona todos los problemas de seguridad y privacidad de DNS independientemente de DNSSEC, no sufre los problemas que son específicos y exclusivos de DNSSEC, y, si se ignora la madurez de cualquiera de los dos enfoques, parece ser una clara victoria para la situación; sin embargo, a pesar de que es mucho más joven que DNSSEC, prácticamente no hay implementaciones para DNSCurve, aparte de Soporte de djbdns y DNSCrypt por OpenDNS. ¿Por qué?

    
pregunta cnst 20.11.2013 - 07:33
fuente

2 respuestas

48

Hay un problema:

DNSCurve es más como TLS para servidores DNS, en comparación con DNSSEC, que es registros firmados . DNSCurve usa la criptografía punto a punto para asegurar la comunicación, mientras que DNSSEC usa firmas precalculadas para garantizar la precisión de los registros provistos.

Por lo tanto, podemos resumirlo así:
DNSSEC : Resultados precisos
DNSCurve : tráfico cifrado

En teoría, puede utilizar el cifrado de tráfico para garantizar la precisión, como lo hace TLS para los sitios web. Excepto que no es realmente el cifrado lo que garantiza su exactitud, es la autenticación que se proporciona a través de la PKI. Y hay un conjunto de problemas críticos con la PKI básica de DNSCurve.

El primer problema aquí es que con DNSCurve, todos y cada uno de los servidores DNS involucrados necesitan una clave privada , y como la firma de la clave está codificada en la dirección del resolutor, entonces en el caso de los servidores DNS de cualquier difusión , cada servidor necesita la misma clave privada. Pero incluso si utilizan claves diferentes, aún confía en la seguridad local donde está instalado el servidor DNS. Si el servidor está instalado en un lugar hostil, los resultados pueden verse comprometidos. Esto no es cierto con DNSSEC.

La ICANN ha declarado que, en el caso de los servidores de la zona raíz del DNS, DNSCurve nunca se implementará. Muchos de los servidores raíz operan en ubicaciones de menor confianza, y el potencial de abuso por parte de los gobiernos locales sería enorme. Esta es precisamente la razón por la que se diseñó DNSSEC para que la firma se realice fuera del servidor DNS. DNS se basa en una amplia red de servidores que pueden no ser confiables individualmente, por lo que DNSSEC se diseñó de tal manera que la confianza se basa únicamente en la información que sirven, no en la honestidad del operador.

El segundo problema es que DNSCurve asegura la clave pública al codificarla en el nombre del resolutor. Pero DNSSEC no firma el nombre del resolvedor. Esto significa que DNSSEC (que está implementado en la zona raíz) no se puede usar como una raíz de confianza para DNSCurve, porque lo único que DNSCurve requiere para ser preciso es, de hecho, precisamente lo que DNSSEC no puede garantizar la exactitud.

Esencialmente, DNSCurve es prácticamente un no iniciador. Si bien puede usarse para garantizar la seguridad de su comunicación con un solo servidor de resolución de DNS, actualmente no hay forma de anclar su confianza de manera global que pueda garantizar la precisión de los resultados que recupere.

A menos que DNSCurve esté rediseñado para permitir una distribución confiable de claves, tendrá que seguir siendo una herramienta de seguridad del lado del cliente en lugar de una herramienta para garantizar la autenticidad de los registros DNS.

Dado que DNSCurve es relativamente nuevo y fue desarrollado en gran medida por djb de forma aislada, es de suponer que estos problemas de interrupción fueron simples descuidos por su parte, y pueden ser arreglados en una fecha futura. Aunque dado el historial del Dr. Bernstein de mantener sus invenciones, no contuve la respiración.

    
respondido por el tylerl 20.11.2013 - 09:20
fuente
10

La razón principal es que DNSSEC ya estaba siendo adoptado por los principales servidores raíz cuando salió DNSCurve. Además, no abordan los mismos problemas, se superponen en algunos puntos pero difieren en otros. Muy bien podrían ser utilizados juntos.

Note que hemos tenido una pregunta DNSSec (Comcast) vs DNSCurve (OpenDNS) que detalla muy bien las diferencias:

  

En primer lugar, DNSSEC NO firma sus consultas. Más bien DNSSEC permite   una zona (como un dominio) que debe ser firmada por su propietario, y permite una   resolver (por ejemplo, los servidores DNS de Comcast) para verificar la   firma, y por lo tanto, asegúrese de que los datos de zona que recibe son   auténtico. Protege al solucionador de recibir datos erróneos, pero   nada para evitar MITM o husmear entre usted y el resolvedor.

     

DNSCurve por otro lado encripta las comunicaciones entre recursivas   Resolver y servidores autoritativos y permite servidores autoritativos.   para firmar sus datos contra la falsificación, pero no hace nada para proteger a un   cliente de usuario final de un resolutor recursivo mal. DNSCrypt de OpenDNS   La solución se basa en la misma tecnología que DNSCurve, pero protege la   última milla entre un resolutor recursivo de terceros de confianza como OpenDNS   y el cliente final.

     

En cuanto a lo que es más seguro, tampoco lo es. Ambos son seguros, sin embargo   La seguridad se aplica en diferentes áreas. En cualquier caso eres   Elegir qué aspecto de la seguridad del DNS es más importante, en lugar de   qué herramienta de seguridad es más fuerte.

    
respondido por el Lucas Kauffman 20.11.2013 - 07:47
fuente

Lea otras preguntas en las etiquetas