¿HTTPS todavía está protegido con un certificado de servidor conocido (clave privada)?

3

Veo que algunos productos se envían con un certificado de servidor predeterminado. Supongo que muchos de estos productos instalados todavía utilizan el certificado de servidor predeterminado en un entorno real.

Si se conoce su certificado de servidor (por ejemplo, alguien sabe qué certificado de servidor está utilizando y puede descargarlo), ¿su HTTPS todavía está protegido incluso si nadie puede acceder a su (s) servidor (es)?

En otro punto de vista, ¿se puede llamar 'seguridad' a HTTPS o SSL con un certificado de servidor 'público'?

    
pregunta JoeBilly 30.08.2013 - 20:41
fuente

2 respuestas

7

Para entender la terminología: el certificado es la parte pública. Es público para que todos lo sepan, y cuando un cliente se conecta a un servidor SSL, ese certificado es una de las primeras cosas que el servidor envía al cliente. Lo que quiere decir es: cuando la clave privada no es realmente privada, ¿se puede seguir considerando SSL como "seguro"?

La respuesta es básicamente: No .

Sin embargo, hay detalles sutiles. Cuando el cliente y el servidor se comunican entre sí, acuerdan un conjunto de algoritmos criptográficos a utilizar, llamados conjunto de cifrado . Consulte el estándar para (la mayoría de) los conjuntos de cifrado definidos actualmente. Uno de los elementos de la suite de cifrado es el acuerdo clave utilizado para intercambiar el "secreto pre-maestro" de que todas las demás claves se derivan. Cuando la suite de cifrado es una suite "RSA" básica (es decir, los nombres de la suite de cifrado comienzan con " TLS_RSA "), entonces el acuerdo clave es el cifrado asimétrico básico con RSA: el cliente genera un secreto pre-maestro aleatorio, lo cifra la clave pública del servidor (de su certificado), y el servidor la descifra para recuperar el secreto maestro previo.

Cuando un atacante conoce la clave privada del servidor y simplemente escucha el canal, ese atacante también puede descifrar el mensaje del cliente, obtener el secreto maestro y descifrar todos los datos. Parece seguro decir que, en estas condiciones, queda muy poca seguridad.

Sin embargo, si el conjunto de cifrado negociado es del tipo "efímero Diffie-Hellman" (el nombre comienza con " TLS_DHE "), el acuerdo de clave real usa Diffie-Hellman con pares de claves DH públicas / privadas que se han generado aleatoriamente en el lugar. La clave privada del servidor (la que está codificada y, por lo tanto, no es muy privada) se usa solo para firmar la clave pública DH. En estas condiciones, un atacante puramente pasivo, que simplemente espía en los paquetes de datos pero no interfiere, no podrá obtener el secreto maestro previo y la conexión permanecerá segura. Esta función de DHE se llama Perfect Forward Secrecy .

Sin embargo, incluso con DHE, un atacante activo puede hacerse pasar por el servidor y montar un Ataque Man-in-the-Middle , anulando cualquier seguridad. PFS es una ventaja real solo cuando se considera el caso de un robo de clave privada ulterior , donde el atacante roba la clave privada del servidor después de que se ha producido la conexión. En ese momento, es demasiado tarde para que el atacante esté "activo", y PFS lo bloquea. Pero esta no es su situación: imagina un caso en el que el atacante ya conoce la clave privada del servidor cuando se produce la conexión. El atacante puede montar un ataque activo.

Entonces, para resumir : cuando los atacantes conocen la clave privada del servidor, la seguridad se mantiene solo contra los atacantes solo pasivos , y luego solo si el cliente y el servidor acuerda un conjunto de cifrado DHE.

(Estrictamente hablando, la seguridad se puede salvar incluso contra atacantes activos si el conjunto de cifrado es DHE y el servidor requiere un certificado de cliente y no se conoce la clave privada del cliente para el atacante. Eso es un caso de ventaja.)

    
respondido por el Thomas Pornin 30.08.2013 - 21:03
fuente
4

Si usa un certificado SSL en el que alguien conoce la clave privada, podría descifrar los datos en tránsito entre el cliente y el servidor, asumiendo que pueden obtener acceso a los datos (por ejemplo, detectando el tráfico a través de una red inalámbrica)

También, a menos que use perfecto secreto hacia adelante si un atacante puede obtener acceso a una copia almacenada de sus transmisiones en una fecha posterior y tienen la clave privada del servidor, también podrán descifrar la transmisión.

así que sí, si alguien utiliza un certificado de servidor (por ejemplo, en un dispositivo) donde se envía con el sistema, existe un riesgo si no cambian el certificado. Esperaría que los proveedores aconsejen un cambio de certificados en su documentación o, mejor aún, lo obliguen cuando se encargue el dispositivo.

    
respondido por el Rоry McCune 30.08.2013 - 20:50
fuente

Lea otras preguntas en las etiquetas