¿Es posible hacer HTTPS 0-RTT con la ayuda de DNS?

3

Este artículo ofrece una implementación de SNI cifrada donde se recupera una clave pública del DNS. Se siente como un engaño pero imagínese esto: si el servidor publica su certificado en su registro DNS, el cliente no debería poder enviar datos cifrados (ya que ha obtenido el protocolo del servidor, la clave pública, etc. del registro DNS) de la misma manera ¿El primer paquete, sin el protocolo de enlace TLS, y por lo tanto hacer HTTPS 0-RTT (en lugar de 1-RTT con TLS 1.3) incluso para nuevas conexiones? En una palabra, el DNS ahora contiene información más rica que un nombre de dominio simple a la asignación de direcciones IP, para ayudar con el protocolo de enlace TLS.

¿Algún problema de seguridad con este escenario?

    
pregunta Cyker 29.10.2018 - 14:02
fuente

1 respuesta

4

En teoría, sería posible hacer un protocolo de enlace 0-RTT si el certificado es conocido por adelantado (como a través de DNS) y se realiza el intercambio de claves RSA. En el intercambio de claves RSA, el cliente crea el secreto completo de premaster (del cual se derivan las claves de cifrado, etc.) y lo envía cifrado con la clave pública del servidor (del certificado RSA) al servidor. Si se simplifica un poco RSA Kx para no incluir un servidor aleatorio en el cálculo (consulte el comentario de dave_thompson_085 a continuación) la clave de cifrado puede ser determinada completamente por el cliente, ya que podría comenzar a enviar datos cifrados inmediatamente.

Pero, el intercambio de claves RSA está en desuso y ya no está disponible con TLS 1.3. El problema con RSA Kx es que un atacante podría olfatear pasivamente todo el tráfico y, si obtiene un acceso posterior a la clave privada de los certificados, podría descifrar todo el tráfico previamente detectado. En cambio, el intercambio de claves Diffie-Hellman proporciona secreto hacia adelante, es decir, incluso si la clave privada del certificado del servidor se ve comprometida, el tráfico previamente detectado no puede ser descifrado.

Pero, Diffie-Hellman Kx no se puede hacer con 0-RTT, ya que necesita la entrada tanto del cliente como del servidor para calcular el secreto compartido anterior al maestro :(

    
respondido por el Steffen Ullrich 29.10.2018 - 14:22
fuente

Lea otras preguntas en las etiquetas