¿Puedes evitar que un hombre en el medio lea el mensaje?

10

He oído hablar de todas estas prevenciones de ataque de Man-In-The-Middle y me pregunto cómo podría funcionar esto si el hombre en el medio solo escucha su transmisión y no quiere cambiar el mensaje en sí.

¿Puede el hombre en el medio no solo tomar las llaves intercambiadas por los oponentes, cambiar las llaves y luego descifrar y cifrar el mensaje nuevamente?

¿Cómo puede un certificado evitar esto?

Editar:

He oído que la autoridad de certificación generalmente dice: "Sí, esa es la otra clave". Pero, ¿cómo puedo estar seguro de que la firma del certificado no está falsificada?

TVSuchty
fuente

Respuestas:

10

¿Puede el hombre en el medio no solo tomar las llaves intercambiadas por los oponentes, cambiar las llaves y luego descifrar y cifrar el mensaje nuevamente?

Sí pueden.

Un protocolo de intercambio de claves como (la versión de "libro de texto") DH es seguro contra escuchas (es decir, simplemente observando lo que se transmite en el canal), pero se descompone completamente contra ataques de hombre en el medio (MITM), como usted ha declarado

Los certificados son un intento de remediar esto, pero surge otro problema: ¿cómo puede asegurarse de que ambas partes reciban el certificado correcto? Obviamente, no puede simplemente enviar los certificados a través del canal inseguro, ya que esto es nuevamente susceptible a un ataque MITM.

La solución es la existencia de un canal alternativo (completamente) seguro . Estas serían las dos partes reuniéndose en persona e intercambiando sus certificados físicamente o por algún canal alternativo y confiable (por ejemplo, por teléfono, si se puede confiar).

En las redes de computadoras, el canal alternativo suele ser una infraestructura de clave pública (PKI). Esto significa que su sistema operativo o navegador tiene un conjunto de certificados raíz preconfigurados desde los cuales se firman otros certificados (y posiblemente incluso certificados adicionales que los utilizan como certificados intermedios ). Por lo tanto, cuando visita algún sitio web, presenta un certificado firmado , que se firma utilizando (una cadena de) certificados en los que ya confía. Luego, mediante el uso de este certificado, es posible un intercambio de clave autenticado (por ejemplo, acordar una clave efímera para usar con el cifrado simétrico ordinario).

dkaeae
fuente
Entonces, básicamente, estamos comunicando los certificados a través de un segundo canal, ¿sabemos que es seguro?
TVSuchty
Si; de lo contrario, un ataque MITM siempre es posible. Es un poco contra-intuitivo pensar en una estructura como una PKI como un "canal", pero la idea no es tan descabellada si la considera simplemente como una forma de transmitir información (en este caso, certificados).
dkaeae
Pero, ¿por qué no hablar sobre el canal, sabemos que es seguro, en primer lugar?
TVSuchty
1
@TVSuchty Necesita una clave inicial confiable, pero solo debe comunicarse una vez en la vida. Esa clave también podría ser la clave de una autoridad de certificación, en la que confía para emitir certificados para otros. Por ejemplo, cuando instala un navegador, viene con las claves de muchas AC. Cuando va a un sitio https, recibe una clave para el sitio y un certificado emitido por una CA que indica que la clave es correcta, por lo que puede iniciar https muy bien. Pero esto supone que 1) las claves de CA en el navegador son las correctas, y 2) se puede confiar en las propias CA.
chi
1
@TVSuchty Una clave de confianza es suficiente, siempre que sea la clave pública para una CA en la que pueda confiar. Firefox usa ~ 100 claves de CA .
chi
5

En un ataque de hombre en el medio, le pides a Bob su llave, pero Eve intercepta el mensaje y te envía su llave. Ella le pide a Bob su llave y luego pasa mensajes entre usted y Bob, descifrándolos, leyéndolos y / o cambiándolos en el proceso.

El problema es que no sabes si realmente tienes o no la llave de Bob. Los certificados evitan esto porque la autoridad de certificación (CA) le entrega a Bob un mensaje firmado digitalmente que dice "La clave de Bob es 12345". Puede verificar este certificado porque no hay muchas CA, por lo que su navegador solo contiene una lista de claves de CA válidas. Ahora, si Eve intercepta su intento de iniciar una comunicación cifrada con Bob, tiene dos opciones. Si ella le dice que la clave de Bob es 67890, entonces ella no proporciona un certificado y usted dice "Lo siento, debe probar eso" o ella proporciona un certificado falso y usted dice "Ese certificado no es válido". Alternativamente, ella le dice que la clave de Bob es 12345 y proporciona un certificado válido de eso, pero esto no le sirve porque ella no

David Richerby
fuente
¿Por qué Eve no puede enviarme un certificado de Bobs? Quiero decir, ¿qué tiene de especial la llave de Bob para que Eve no pueda replicar una similar? ¿Cómo sé que esta clave es certificada? ¿Cómo verifico el certificado?
TVSuchty
Te dije por qué no puede enviarte el certificado de Bob (o, más bien, por qué no te ayuda enviarlo). No existe tal cosa como "una clave similar". Usted sabe que la clave está certificada porque tiene el certificado. Verifica el certificado verificando la firma digital utilizando la clave de CA.
David Richerby
@TVSuchty Eve primero debe descifrar el mensaje para leerlo y luego volver a cifrar el mensaje para transmitirlo. Solo el certificado de firma privada de Bob le permitirá encriptar como Bob, pero la persona desafortunada sujeta al ataque MITM debe poder probar si tiene el certificado de Bob para saber si se ha proporcionado el de Eve. Esta es la razón por la que algunas aplicaciones seguras le solicitan que acepte la clave de cifrado la primera vez y cada vez que cambie.
Willtech
1
@TVSuchty Un certificado básicamente dice "Soy X, y puedes confiar en que soy X porque Y lo dice". Eve puede crear fácilmente un certificado que diga "Soy Bob, y puedes confiar en que soy Bob porque Eve lo dice". Si mi computadora obtiene ese certificado, simplemente se ríe. "Eve lo dice" no es razón para creer que es el certificado de Bob. "Porque Verisign lo dice", dado que Verisign es uno de los 100 proveedores de certificados que el fabricante instaló en su computadora, esa es una razón para creerlo. Pero Eve no puede falsificar dicho certificado.
gnasher729
Otra respuesta a "¿por qué Eve no puede enviarme el certificado de Bob?": Eve puede intentar falsificar el certificado de Bob o robarlo. Tal vez un millón de dólares es suficiente para sobornar a uno de los empleados de Bob para que le entregue una copia del certificado de Bob. Bob tiene que asegurarse de que sea difícil robar el certificado. Si es robado, un certificado puede ser revocado y ya no será aceptado. El certificado ahora dirá "este es un certificado genuino de Bob, pero fue reportado como robado, así que no confíes en él".
gnasher729