¿Cuál es la función de RSA en ECDHE-RSA? [duplicar]

11

He leído algunos libros de texto y no he encontrado una explicación convincente.

En el conjunto de cifrado ECDHE-RSA-AES128-GCM-SHA256, ¿cuál es el papel de RSA en la primera parte (ECDHE-RSA)? Esta parte de la suite de cifrado indica el algoritmo de intercambio de clave , ¿verdad? Para eso se usa ECDHE: intercambio de claves, ¿por qué necesitamos RSA?

¿Se usan ambos algoritmos para intercambiar las claves? Estoy un poco confundido al respecto.

Obviamente, no es necesario explicar ECDHE o RSA por separado. Solo quiero una explicación de cómo funcionan en este contexto .

    
pregunta Johnny Willer 26.05.2015 - 06:38
fuente

4 respuestas

7

ECDHE por sí solo no vale para un atacante activo: no hay manera de vincular la clave ECDH recibida con el sitio que está intentando visitar, por lo que un atacante podría enviar su propia clave ECDH. Esto se debe a que ECDHE es efímero , lo que significa que la clave ECDH del servidor no está en su certificado. Por lo tanto, el servidor firma su clave ECDH utilizando RSA, con la clave pública RSA como elemento del certificado del servidor.

    
respondido por el cpast 26.05.2015 - 07:42
fuente
8
 $ openssl ciphers -V ECDHE-RSA-AES128-GCM-SHA256
 ... Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD

Eso significa que el intercambio de claves (Kx) es ECDH, pero la parte de autenticación (Au, es decir, la validación del certificado) es RSA, por lo que espera un certificado con una clave RSA dentro.

    
respondido por el Steffen Ullrich 26.05.2015 - 06:58
fuente
5

El nombre de la suite de cifrado se compone de:

  • prefijo TLS
  • algoritmo de intercambio de claves
  • Algoritmo de autenticación
  • Algoritmo de cifrado
  • fuerza de cifrado
  • modo de cifrado
  • función MAC o PRF (según la versión TLS)

En su caso, la curva elíptica diffie-hellman se usará para intercambiar claves en modo efímero (que proporciona secreto hacia adelante) y este intercambio se autenticará con la firma RSA.

    
respondido por el chamoute 26.05.2015 - 10:52
fuente
4

RSA se utiliza para autenticar el servidor, mientras que ECDHE se utiliza para generar un secreto compartido entre el cliente y el servidor.

Concretamente, esto significa que el servidor firma con su clave privada RSA los parámetros efímeros de ECDH (clave pública) que envía al cliente.

Así es como el cliente sabe que la clave pública ECDH pertenece al servidor y no a algún MITM.

Podría ver esto como el servidor que actúa como una CA de tipo, uno que firma claves públicas de un solo uso.

    
respondido por el Erwan Legrand 26.05.2015 - 10:48
fuente

Lea otras preguntas en las etiquetas