¿Cómo evita ssl los ataques MITM [duplicado]

0

Mi comprensión de cómo funciona:

Una víctima solicita la clave pública de un servidor. El atacante simplemente reenvía esta petición. El servidor ahora responde con un certificado que contiene la clave pública. El atacante modifica esto a su propia clave pública y lo envía a la víctima.

Ahora sucede algo que no entiendo:

El navegador tiene claves públicas de todas las principales autoridades de certificación. ¿Utiliza esta clave pública para verificar que el certificado del servidor web fue firmado por la CA de confianza? ¿Cómo? ¿Un atacante puede falsificar esta solicitud como lo hizo con el servidor? Al parecer, el navegador comprueba si el certificado es válido? Ahora, ¿cómo va haciendo esto? El atacante puede falsificar datos para esto, de modo que la comprobación del navegador aún resulte verdadera.

Si la clave privada / publicación del servidor cambia, ¿cómo sabría un buscador de víctimas que esto ha cambiado?

Luego, el navegador genera una clave simétrica compartida y la cifra con la clave de los atacantes. Por lo tanto el atacante puede descifrarlo. Consigue la llave. Cifrelo con la clave del servidor y envíelo al servidor.

    
pregunta Zapnologica 24.11.2013 - 14:34
fuente

1 respuesta

2

Intento no entrar en el funcionamiento general de la criptografía de clave pública, ya que esto se describe muy bien en muchos lugares:

enlace enlace

Sospecho que el primer punto que falta en su línea de pensamiento es que el navegador no tiene que comunicarse con nadie (dejando de lado el problema de las listas de revocación y sincronización de tiempo) para verificar un certificado siempre que tenga el certificado y Las claves públicas de las CA confiables: ¡esta es la razón por la cual la clave de cifrado de clave pública es excelente! Solo tiene que calcular el hash del contenido del certificado y descifrar la firma utilizando la clave pública de las entidades de certificación: si el valor descifrado y el hash calculado coinciden, el certificado es de confianza (esta es una versión muy simplificada de la operación). / p>

En este punto, el atacante se enfrenta a los siguientes problemas:

  • No puede interceptar / modificar el tráfico seguro a través del par de llaves del servidor, porque no conoce la clave privada del servidor.
  • No puede reemplazar la clave pública del servidor contenida en el certificado, porque esto romperá la firma.
  • No puede simplemente firmar un certificado que contenga su clave pública porque el navegador no conoce la parte pública de su clave de firma (el navegador no confía en el atacante).
  • Esperamos que el atacante no pueda obtener una clave de CA .

Si la clave pública del servidor cambia, se debe crear un nuevo certificado con la nueva clave pública: el cliente recibirá un certificado diferente y eso es básicamente.

    
respondido por el buherator 24.11.2013 - 15:16
fuente

Lea otras preguntas en las etiquetas