... ¿Cuándo el cliente podría crear una clave simétrica aleatoria y cifrarla utilizando la clave pública asimétrica de los servidores?
Lo que estás describiendo es esencialmente un intercambio de claves RSA que también está disponible, al menos hasta TLS 1.2. El problema es que este tipo de intercambio de claves no proporciona ningún secreto hacia adelante, es decir, si el atacante logra obtener la clave privada del servidor, puede extraer la clave simétrica del intercambio de claves a este servidor y, por lo tanto, puede descifrar cualquier tráfico previamente detectado. servidor. Al contrario de esto, DH da como resultado una clave que no está asociada con la clave del servidor ni con ningún otro secreto estático y, por lo tanto, proporciona secreto hacia adelante.
Incluso si el atacante tiene acceso a la clave privada y solo quiere oler la conexión actual, DH la hace más difícil. Con el intercambio de claves DH, el atacante debe estar en el medio, es decir, debe crear una conexión TLS entre el cliente y el atacante y otra entre el atacante y el servidor, ambos usando el mismo certificado y la clave privada para que la víctima no se dé cuenta. Dependiendo de la posición del atacante en la red, este ataque activo puede ser fácil o no. Además, el MITM activo no es posible si el cliente también está utilizando un certificado (autenticación mutua) a menos que el atacante también tenga acceso a este certificado. Con RSA, en cambio, el atacante solo necesita escuchar de forma pasiva la conexión directa entre el cliente y el servidor para descifrarlo y puede hacerlo también cuando se trata de certificados de clientes.