diferencia entre dos conjuntos de cifrado TLS

1

Quiero saber la diferencia entre estas dos suites de cifrado:

  1. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  2. TLS_RSA_WITH_AES_128_GCM_SHA256

Mis preguntas son:

  1. En el (2) no hay un algoritmo de intercambio de claves (como DH, DHE, etc.) por lo tanto, ¿se utilizará la criptografía de clave pública RSA para el intercambio de claves junto con los pares de claves RSA?
  2. Luego, en (1) ¿Sólo se utilizarán los pares de claves RSA junto con el intercambio de claves ECDHE?
  3. Entonces (1) y (2) tendrán las diferentes claves pre-maestras, ¿generación de clave maestra?

Pasé por estos dos temas y buscó en Google, pero aún así no obtuvo suficiente claridad.

    
pregunta Anto Jerome 20.09.2016 - 15:48
fuente

2 respuestas

2

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:

  1. Autenticación: ¿qué criptografía se utiliza para verificar la autenticidad del servidor?
  2. Intercambio de claves: ¿qué criptografía asimétrica se usa para intercambiar claves?
  3. Cifrado: ¿qué criptografía simétrica se usa para cifrar los datos?
  4. 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.

    
respondido por el bonsaiviking 20.09.2016 - 16:26
fuente
0
  

En el (2) no hay un algoritmo de intercambio de claves (como DH, DHE, etc.) por lo tanto,   La criptografía de clave pública RSA se utilizará para el intercambio de claves a lo largo de   con los pares de claves RSA?

Sí, esto es correcto.

  

Luego, en (1) Solo los pares de claves RSA se usarán junto con la clave ECDHE   ¿intercambio?

Como se indica en esta respuesta el par de claves RSA se usará para autenticar el intercambio de claves ECDHE.

  

Luego (1) y (2) tendrán la clave maestra anterior, la clave maestra   generación?

No hay una sola clave pre-maestra o clave maestra para cada conjunto de cifrado. Cada paquete de cifrado simple describe los algoritmos utilizados para generar una clave maestra / clave maestra. Como puede ver en esta respuesta , se deriva el master_key y usa el client_random y el server_random . valores. Estos son 32 bytes de (lo que debería ser) criptográficamente seguro aleatorio. Ambos valores se mezclan utilizando el algoritmo de hashing del conjunto de cifrado negociado, que debería garantizar un nuevo master_key para cada conexión.

    
respondido por el RoraΖ 20.09.2016 - 16:06
fuente

Lea otras preguntas en las etiquetas