La autenticación del cliente es para el beneficio del servidor. Prevenir a un hombre en el medio es un asunto distinto.
Si el intercambio de claves utiliza DH con una firma por parte del servidor (en relación con una clave pública que se conoce por el cliente ), el cliente está protegido de un hombre -en el medio: el cliente tiene una fuerte idea de con quién debería hablar, y la firma del servidor evita que un atacante se haga pasar por el servidor de manera alguna (por ejemplo, como un "hombre en el medio" , que es solo un tipo específico de suplantación).
Sin la autenticación del cliente, el servidor no sabe quién lo está contactando. El resto del protocolo (por ejemplo, SSL / TLS ) seguirá brindando protección contra ataques en el siguiente sentido: será el el mismo cliente a lo largo de la sesión, y ninguna otra parte puede espiar el contenido de los datos o alterar los datos de forma no detectada. Como tal, un "hombre en el medio" (como en: un atacante que actúa como un relevo, descifrando y reencriptando datos sobre la marcha) se evita, porque el cliente ha verificado La firma del servidor, y por lo tanto usó la clave Diffie-Hellman "correcta", manteniendo a cualquier atacante fuera del intercambio de claves.
La autenticación del cliente como una firma, calculada por el cliente con su propia clave privada y correspondiente a una clave pública conocida por el servidor, podría ayudar a prevenir a un hombre en el medio en un devious situación en la que el cliente no (estúpidamente) verifica la firma del servidor. Nada puede evitar que este cliente morónico se conecte a un servidor falso, ya que no verifica nada y, por lo tanto, puede malversarse a voluntad. Sin embargo, la autenticación del cliente es suficiente para que el servidor se asegure de que si el cliente habla con él, lo hará de manera segura.
El punto clave aquí es una cuestión de definición. ¿Qué es un "hombre en el medio"? Este es un caso en el que un atacante se hace pasar por el interlocutor deseado (para que sea un "medio verdadero", el atacante se hace pasar por el servidor con respecto al cliente y el cliente con respecto al servidor). Esto tiene sentido solo en la medida en que hay un "compañero previsto". Si al servidor no le importa quién lo está contactando, entonces no hay una noción de "hombre en el medio".
En el escenario habitual de HTTPS, el cliente se autentica a través de una contraseña: el cliente necesita asegurarse de hablar con el servidor correcto al principio (usando el certificado del servidor) porque el cliente sí No desea enviar su contraseña a nadie. El servidor solo quiere tener continuidad : si obtuvo una contraseña correcta a través de un túnel SSL, entonces el túnel es bueno y seguirá siéndolo.