¿Qué hace que Let's Encrypt sea seguro?

67

Let's Encrypt es una iniciativa de Electronic Frontier Foundation (EFF), Mozilla, Cisco, Akamai, IdenTrust e investigadores de la Universidad de Michigan, cuyo objetivo es proporcionar automáticamente a cada propietario de dominio un certificado reconocido que pueda usarse para TLS.

Para demostrar que posee un dominio, debe instalar un archivo con contenidos particulares (generados aleatoriamente) en una URL particular (generada aleatoriamente) en ese dominio. El servidor Let's Encrypt lo verificará accediendo a la URL, antes de firmar el certificado.

Ahora, supongamos que tengo algún ataque que hará que el dominio awesomebank.example se resuelva en mi servidor. Supongamos que también puedo MITM las conexiones de algunas personas a https://awesomebank.example/ . El objetivo de TLS es evitar que vea o altere sus comunicaciones con el servidor sin ser detectado.

¿Qué me impide usar este ataque en el servidor Let's Encrypt y obtener un certificado para awesomebank.example y luego usarlo para los clientes de Mesome de AwesomeBank sin ser detectado (porque tengo un certificado válido)? ¿La existencia de una CA completamente automatizada no hace que Internet sea menos seguro?

    
pregunta immibis 04.05.2015 - 09:49
fuente

5 respuestas

64

La misma seguridad que otros certificados DV

  

¿Qué me impide usar este ataque en el servidor Let's Encrypt y obtener un certificado para awesomebank.example, y luego usarlo para los clientes MITM de AwesomeBank sin ser detectado (porque tengo un certificado válido)?

Nada. Si usted es dueño de la red, entonces usted es dueño de la red. Y los certificados de tipo DV (ver más abajo) confían en la red como prueba de propiedad del dominio. Por lo general, no hay controles fuera de banda. (Nadie llamará a su teléfono, nadie revisará su identificación con foto, nadie lo visitará en el lugar donde está registrada la compañía, etc.)

  

¿La existencia de una CA totalmente automatizada no hace que Internet sea menos seguro?

No. El mismo nivel de seguridad que los certificados de tipo DV.

Hay (actualmente) tres niveles de aseguramiento para certificados x509:

  • DV, validación de dominio
  • OV, Validación de la organización
  • EV, Validación ampliada

DV es el más barato. Básicamente significa "Si alguien puede responder un correo electrónico a admin@example.com, esa persona obtiene un certificado para example.com" .

Hay controles adicionales para OV, EV.

Más información sobre los tipos de certificados: GlobalSign.com: ¿Cuáles son los diferentes tipos de certificados SSL? (archivado aquí .)

Lectura adicional

respondido por el StackzOfZtuff 04.05.2015 - 11:41
fuente
13

Sí, el protocolo que describe solo asegura que "la persona que atiende el teléfono en el banco impresionante" cuando los llame, es la misma persona que atendió el teléfono en el banco impresionante cuando el servidor de Let's Encrypt los llamó. Si tengo la capacidad de interceptar llamadas a un banco increíble tanto de Let's Encrypt como de ti, entonces puedo engañarte.

Lo ideal es que lo que te gustaría que te diga TLS, es que "la persona que atiende el teléfono en el banco impresionante" cuando los llamas es en realidad un empleado de un banco increíble . Pero esto es difícil de automatizar, ya que las computadoras no pueden simplemente averiguar para quién trabaja alguien, por lo que los certificados mejor validados cuestan más. Let's Encrypt no está haciendo nada menos seguro de lo que otras CA ya lo hacen.

Uno espera que Let's Encrypt intente hacer más difícil interceptar sus llamadas a un banco impresionante, que interceptar la suya. Algunos puntos de acceso a Internet son más fáciles de manipular que otros (las puntuaciones inalámbricas no seguras son bajas), y jugar con múltiples puntos de acceso a la vez es más difícil que solo uno (por lo tanto, Let's Encrypt confirmará que recibe el mismo archivo cuando lo descarga desde muchos sitios diferentes). Lugares en el mundo, aunque no he mirado si consideran que es necesario). Con la excepción de organizaciones como la NSA, los ataques MITM en la práctica tienden a ser localizados y temporales.

Por lo tanto, proporcionará cierta medida de seguridad solo en la medida en que sea más difícil para MITM Let's Encrypt que para MITM. Suponemos que es más fácil controlar su acceso a Internet que controlar el de Let's Encrypt o el de Awesome Bank, y es por eso que "confía" en Let's Encrypt como CA.

Naturalmente, nada de esto es realmente llamadas telefónicas, son conexiones de socket entrantes.

    
respondido por el Steve Jessop 04.05.2015 - 19:40
fuente
8

Let's Encrypt está diseñado para ayudar contra una variedad de ataques y para impulsar la generalización del uso de TLS para tener una Internet más segura y privada a nivel mundial. Está orientado más precisamente a eliminar las limitaciones técnicas y financieras que pueden impedir que algunos webmaster utilicen los certificados TLS de manera más amplia.

Sin embargo, como medida de seguridad, este no será un producto milagroso que solucione todos los posibles problemas de valores y le permita sellar su sitio web como "sitio web 100% seguro". (Incluso si algunos sitios web no dudan en utilizar dichos sellos ...). La seguridad implica la combinación de varias capas, cada una diseñada para abordar su propia clase de amenazas.

Si uno realmente se las arregla para tomar posesión de su nombre de dominio, lo más probable es que el hecho de que la entrega del certificado de Let'sEncrypt esté automatizada no tendrá más impacto en este caso que en otra situación.

Como recordatorio, todo lo que necesita para obtener un certificado de la CA clásica es tener una dirección administrativa como "admin@example.com" y pagar algo de dinero. Si logra obtener la propiedad del dominio, entonces es libre de redirigir el correo electrónico a un servidor de correo propio, por lo que también posee la dirección de correo electrónico de su elección.

Esto no es una amenaza teórica. Encontrará aquí y el artículo escrito por alguien cuyo dominio ha sido robado para tomar posesión de su correo electrónico. En este caso preciso fue para acceder a los correos electrónicos de restablecimiento de contraseña enviados por sociedades de terceros, sin embargo, en su posición, el atacante también podría generar nuevos certificados para este dominio y construir un sitio de phishing que se considerará seguro por los navegadores.

    
respondido por el WhiteWinterWolf 04.05.2015 - 11:02
fuente
7

El uso de una verificación automática no es exclusivo de esta CA, pero es común para los certificados de nivel de entrada. Como se indica en otras respuestas, hay 3 niveles de certificado en uso:

  • La validación de Doman solo demuestra que usted tenía el control del dominio en el momento en que se emitió el certificado. (Y que el certificado no ha sido revocado explícitamente desde entonces).
  • La validación de la organización implica una verificación adicional de que el nombre de la compañía que figura en el certificado es válido.
  • La validación extendida incluye una auditoría mucho más sólida de la compañía que solicita el certificado.

Para un certificado DV básico (y como primer paso en aplicaciones OV y EV), la mayoría de las CA usarán alguna forma de "Validación de control de dominio" automatizada. Por ejemplo, Comodo ofrece 3 opciones :

  1. Un correo electrónico debe ser recibido por una de las listas genéricas del dominio, como "admin @", en el supuesto de que solo el personal autorizado tendría acceso a estos buzones.
  2. Se debe agregar un registro CNAME específico en la zona DNS para el dominio, lo que demuestra que el solicitante tiene control de DNS.
  3. Se debe agregar una URL con contenido específico en la raíz del HTTP del dominio, lo que demuestra que el solicitante tiene el control del servidor web al que apunta el dominio.

El protocolo ACME que se está desarrollando como parte del esfuerzo de Lets Encrypt es automatizar el cliente lado de esta comprobación. Sus Technology Overview en realidad mencionan tanto las verificaciones basadas en DNS como las basadas en HTTP como ejemplos que podrían automatizarse de esta manera.

La idea es que el software que instales pueda determinar automáticamente cómo enfrentar estos desafíos en función de la configuración a la que tiene acceso. Si puede encontrar y escribir en la raíz del documento del dominio que se va a validar, entonces el desafío basado en HTTP es muy fácil de automatizar. El método de validación basado en correo electrónico más tradicional sería más difícil de automatizar, debido a las complejidades de la entrega de correo, pero en realidad no difiere en la cantidad de prueba que proporciona.

    
respondido por el IMSoP 04.05.2015 - 15:48
fuente
5

La defensa principal contra los ataques MITM durante la emisión es realizar la verificación de validación, observando el servidor o su DNS, desde muchas ubicaciones geográficamente dispersas. Esta es la cantidad de CA que operan hoy en día para realizar comprobaciones web automatizadas para detectar falsificaciones y fraudes.

Por lo que escuché en la sala de IRC, Let's Encrypt hará lo mismo para todas las verificaciones de validación.

    
respondido por el J.C. 05.05.2015 - 08:05
fuente

Lea otras preguntas en las etiquetas