Realmente no hay sustituto para leer la especificación de TLS , pero aquí hay una explicación rápida.
Hay esencialmente 4 partes diferentes de un conjunto de cifrado TLS 1.2:
- Autenticación: ¿qué criptografía se utiliza para verificar la autenticidad del servidor?
- Intercambio de claves: ¿qué criptografía asimétrica se usa para intercambiar claves?
- Cifrado: ¿qué criptografía simétrica se usa para cifrar los datos?
- MAC: ¿qué función hash se utiliza para garantizar la integridad del mensaje?
Sus dos ejemplos comparten tres de estos y difieren en uno.
- Ambos usan certificados RSA para autenticar el servidor (y posiblemente el cliente).
- Ambos usan AES-128 en modo Galois / Counter para el cifrado.
- Ambos usan HMAC-SHA256 para la integridad del mensaje
Se diferencian en el método de intercambio de claves. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
usa la curva elíptica efímera Diffie-Hellman para intercambiar claves, brindando secreto hacia adelante. Debido a que los parámetros son efímeros, se descartan después del uso y la clave que se intercambió no se puede recuperar del flujo de tráfico sin ellos. Por otro lado, TLS_RSA_WITH_AES_128_GCM_SHA256
usa las claves RSA en el certificado del servidor para intercambiar claves. Esto sigue siendo un cifrado sólido (suponiendo que las claves sean lo suficientemente grandes), pero la clave de sesión que se intercambió se puede recuperar de la corriente de tráfico mediante la clave privada del servidor, que obviamente no se puede descartar con frecuencia.