
DNSCrypt es un protocolo de red que autentica y cifra el tráfico del Sistema de Nombres de Dominio (DNS) entre el ordenador del usuario y los servidores de nombres recursivos . DNSCrypt encapsula el tráfico DNS sin modificar entre un cliente y un resolvedor DNS en una estructura criptográfica, lo que impide la interceptación y la falsificación por parte de un atacante intermediario . [ 1 ]
También mitiga los ataques de amplificación basados en UDP al requerir que una pregunta sea al menos tan grande como la respuesta correspondiente. Por lo tanto, DNSCrypt ayuda a prevenir los ataques de amplificación de DNS . [ 2 ] : §9
DNSCrypt fue diseñado originalmente por Frank Denis y Yecheng Fu. Existen múltiples implementaciones de software libre y de código abierto. Está disponible para diversos sistemas operativos, incluidos Unix, Apple iOS, Linux, Android y Microsoft Windows. [ 3 ] La implementación de software libre y de código abierto dnscrypt-proxy [ 4 ] integra además ODoH . [ 5 ]
Despliegue


Además de las implementaciones privadas, el protocolo DNSCrypt ha sido adoptado por varios servidores DNS públicos, la gran mayoría miembros de la red OpenNIC , así como por servicios de redes privadas virtuales (VPN).
OpenDNS (ahora parte de Cisco ) anunció el primer servicio DNS público compatible con DNSCrypt el 6 de diciembre de 2011, seguido poco después por CloudNS Australia. [ 6 ]
El 29 de marzo de 2016, Yandex anunció la compatibilidad con el protocolo DNSCrypt en sus servidores DNS públicos, así como en el navegador Yandex .
El 14 de octubre de 2016, AdGuard añadió DNSCrypt a su módulo de filtrado DNS para que los usuarios pudieran cambiar de sus ISP a servidores DNS personalizados o propios de AdGuard para la privacidad en línea y el bloqueo de anuncios . [ 7 ] [ 8 ]
El 10 de septiembre de 2018, el servicio público de resolución recursiva sin fines de lucro Quad9 anunció su compatibilidad con DNSCrypt. [ 9 ]
Otros servidores que admiten el protocolo seguro se mencionan en la lista de creadores de DNSCrypt. [ 10 ]
Protocolo
DNSCrypt puede utilizarse tanto sobre UDP como sobre TCP . En ambos casos, su puerto predeterminado es el 443. [ 2 ] Aunque el protocolo difiere radicalmente de HTTPS , ambos tipos de servicio utilizan el mismo puerto . Sin embargo, si bien DNS sobre HTTPS y DNSCrypt son posibles en el mismo puerto, deben ejecutarse por separado en servidores diferentes. Dos aplicaciones de servidor no pueden ejecutarse simultáneamente en el mismo servidor si ambas utilizan el mismo puerto para la comunicación; aunque teóricamente es posible un enfoque de multiplexación.
En lugar de depender de las autoridades de certificación de confianza que se encuentran comúnmente en los navegadores web, el cliente debe confiar explícitamente en la clave pública de firma del proveedor elegido. Esta clave pública se utiliza para verificar un conjunto de certificados, obtenidos mediante consultas DNS convencionales. [ 2 ] : §1 Estos certificados contienen claves públicas de corta duración utilizadas para el intercambio de claves, así como un identificador del conjunto de cifrado que se utilizará. Se recomienda a los clientes que generen una clave nueva para cada consulta, mientras que se recomienda a los servidores que roten los pares de claves de corta duración cada 24 horas. [ 2 ] : §13
El protocolo DNSCrypt también puede utilizarse para el control de acceso o la contabilidad, aceptando únicamente un conjunto predefinido de claves públicas. Esto puede ser utilizado por servicios DNS comerciales para identificar clientes sin tener que depender de direcciones IP. [ 2 ] : §13
Las consultas y respuestas se cifran utilizando el mismo algoritmo y se rellenan hasta un múltiplo de 64 bytes para evitar fugas de tamaño de paquetes. En UDP, cuando una respuesta sea mayor que la pregunta que la origina, un servidor puede responder con un paquete corto cuyo bit TC (truncado) esté activado. El cliente debe entonces reintentar la conexión utilizando TCP y aumentar el relleno de las consultas subsiguientes. [ 2 ] : §9
Las versiones 1 y 2 del protocolo utilizan el algoritmo X25519 para el intercambio de claves, EdDSA para las firmas, así como XSalsa20-Poly1305 o XChaCha20-Poly1305 para el cifrado autenticado. [ 2 ] : §11
A fecha de 2023, no se conocen vulnerabilidades en el protocolo DNSCrypt ni ataques prácticos contra sus estructuras criptográficas subyacentes.
DNSCrypt anonimizado
Anonymized DNSCrypt es una extensión de protocolo propuesta en 2019 para mejorar aún más la privacidad del DNS. [ 11 ]
En lugar de responder directamente a los clientes, un resolvedor puede actuar como un proxy transparente para otro resolvedor, ocultando la IP real del cliente a este último. DNSCrypt anonimizado, diseñado específicamente para el tráfico DNS, es una alternativa ligera a ejecutar DNSCrypt a través de proxies Tor y SOCKS. [ 11 ]
El despliegue de DNSCrypt anonimizado comenzó en octubre de 2019, y la adopción del protocolo fue rápida, con 40 relés DNS configurados solo dos semanas después de la disponibilidad pública de las implementaciones de cliente y servidor. [ 12 ]
Véase también
Referencias
- ↑ Biggs, John (6 de diciembre de 2011). "DNSCrypt encripta tu tráfico DNS porque siempre hay alguien que quiere perjudicarte" . TechCrunch .
- 1 2 3 4 5 6 7 "Especificación del protocolo DNSCrypt versión 2 (DNSCRYPT-V2-PROTOCOL.txt)" . GitHub/DNSCrypt .
(UDP) La longitud de la respuesta siempre debe ser igual o menor que la longitud de la consulta inicial del cliente.
- ↑ "DNSCrypt - Implementaciones" . dnscrypt.info .
- ↑ "DNSCrypt/dnscrypt-proxy: dnscrypt-proxy 2 - Un proxy DNS flexible, con soporte para protocolos DNS cifrados" . GitHub . DNSCrypt. Archivado del original el 20 de enero de 2016. Recuperado el 29 de enero de 2016 .
- ↑ "Oblivious DoH · Wiki de DNSCrypt/dnscrypt-proxy" . GitHub . Proyecto DNSCrypt . Consultado el 28 de julio de 2022 .
- ↑ Ulevitch, David (6 de diciembre de 2011). "DNSCrypt: crítico, fundamental y ya era hora" . Cisco Umbrella . Archivado del original el 1 de julio de 2020. Recuperado el 1 de julio de 2020 .
- ↑ "AdGuard DNS ahora admite DNSCrypt" . Blog de AdGuard . Archivado del original el 12 de septiembre de 2017. Consultado el 11 de septiembre de 2017 .
- ↑ "Filtrado DNS" . Base de conocimientos de AdGuard . Archivado del original el 11 de septiembre de 2017. Consultado el 11 de septiembre de 2017 .
- ↑ "DNSCrypt ahora en fase de pruebas" . Blog de Quad9 . 30 de agosto de 2018. Archivado del original el 28 de diciembre de 2019. Consultado el 1 de julio de 2020 .
- ↑ "DNSCrypt - Lista de servidores públicos DoH y DNSCrypt" . DNSCrypt . Archivado del original el 19 de junio de 2020. Consultado el 1 de julio de 2020 .
- 1 2 "Especificación DNSCrypt anonimizada" . GitHub . DNSCrypt. Archivado del original el 25 de octubre de 2019. Recuperado el 1 de julio de 2020 .
- ↑ "Retransmisiones DNS anonimizadas" . GitHub . DNSCrypt. 1 de noviembre de 2019. Archivado del original el 1 de julio de 2020. Consultado el 1 de julio de 2020 .
Enlaces externos
- Sistema de nombres de dominio
- Protocolos de Internet