Si el cliente genera la clave de sesión simétrica y luego la cifra con la clave pública del servidor y la envía al servidor, entonces solo el servidor puede descifrar la clave de sesión cifrada con su clave privada, y viceversa.
Respuesta1
Estos métodos de intercambio de claves existen; de hecho, durante mucho tiempo éste fue elprimarioforma en que se intercambiaban las claves en SSL/TLS, y un esquema similar era el único método de intercambio disponible dentro de SSHv1 (que ahora está obsoleto).
Sin embargo, ambos sistemas han migradodeintercambio de claves basado en cifrado a DH.
El mecanismo que usted describe tiene un problema importante: si se roba la clave privada del servidor, se puede usar para descifrarcada conexiónque se realizó anteriormente o que alguna vez se realizará con ese par de claves. (En otras palabras,carecesecreto directo.)
Teniendo en cuenta que los certificados HTTPS solían emitirse durante 5 o incluso 10 años, y SSH directamentese basaSi las claves de host no cambian una vez creadas, esto puede ser un gran riesgo. (Por ejemplo, si el mismo atacante ha estado monitoreando el tráfico de red en el centro de datos... o si vive en un país que participó en programas de vigilancia como PRISM o XKeyscore).
(SSHv1 intentó mitigar esto generando claves RSA efímeras para fines de intercambio de claves, pero esto anula por completo la ventaja de tener una clave de servidor "conocida" para cifrar cosas. Y debido a que la generación de claves RSA requiere una cantidad considerable de procesamiento, fue Esto se hacía sólo cada pocas horas y las claves efímeras estaban limitadas a 768 bits).
El otro problema es que requiere capacidad de cifrado.limita su elección de algoritmo clave. Si entiendo correctamente, las firmas digitales asimétricas (para autenticar el intercambio de claves DH) son más fáciles de implementar que el cifrado asimétrico incluso para aquellos algoritmos quepodríahacer ambas cosas, y no todos pueden hacerlo.
Por ejemplo, las claves EC no se pueden utilizar para cifrar directamente, solo para firmar e intercambiar claves. Existen esquemas que implementan el cifrado con claves EC (por ejemplo, ECMQV), pero en realidad sonbasado en el intercambio de claves ECDH.Entonces, también podría usar DH.