Cifrado y firma con la misma clave privada RSA

0

Hablando de suites de cifrado que utilizan RSA tanto para el signo de los parámetros DH como para la firma digital. Las claves utilizadas para estos procesos son las mismas, ¿o hay una clave pública y privada para cada una?

Si las claves son diferentes, explique un escenario que podría ser peligroso usar la misma clave para el cifrado y la firma.

¿Qué ventajas podría obtener un hacker si las claves fueran las mismas?

¿Existe alguna situación en la que usar la misma clave sea bueno?

¿Por qué son diferentes?

    
pregunta Johnny Willer 24.09.2015 - 15:14
fuente

1 respuesta

4

Supongo que está hablando de SSL. Un servidor SSL admite varias combinaciones de algoritmos criptográficos llamados suites de cifrado . En particular, un servidor SSL dado puede admitir uno o ambos de estos mecanismos de intercambio de claves:

  • RSA: el servidor tiene una clave privada RSA; el cliente genera un valor aleatorio (el "secreto pre-maestro") y lo cifra con la clave pública RSA del servidor; el servidor descifra el valor recibido para obtener el secreto maestro previo.

  • DHE_RSA: el servidor tiene una clave privada RSA; el servidor genera un nuevo par de claves Diffie-Hellman al azar, firma la parte pública con su clave privada RSA, y la envía al cliente; el cliente verifica la firma RSA (utilizando la clave pública RSA del servidor) y completa el intercambio de claves DH. (Variante: ECDHE_RSA: mismo principio, pero el DH se realiza sobre una curva elíptica.)

Por lo tanto, de hecho, un servidor SSL dado puede usar potencialmente la misma clave privada RSA para el cifrado (cuando se usa un intercambio de claves RSA) y firmas (cuando se realiza un intercambio de claves DHE_RSA). Tenga en cuenta que el servidor puede tener perfectamente dos claves RSA, una dedicada al cifrado (intercambio de claves RSA) y otra para firmas (intercambio de claves DHE_RSA); la gente simplemente no hace eso de forma regular porque tener dos claves distintas implica comprar dos certificados distintos.

En general, , no se debe utilizar la misma clave para el cifrado y las firmas. Tenga en cuenta que una gran fuente de confusión es que el cifrado RSA y las firmas RSA son dos algoritmos distintos, que simplemente utilizan claves privadas que tienen el mismo formato, y las personas consideraron inteligente llamar a ambos RSA ".

Las dos razones principales para no usar la misma clave privada para el cifrado y las firmas son las siguientes:

  • Las interacciones entre el cifrado y el algoritmo de firma no están bien estudiadas. Podría existir algún método que aproveche el cifrado para falsificar firmas, o firmas para realizar un descifrado tácito. En el caso específico de un servidor SSL, generalmente se cree que no existe tal interacción, especialmente porque cuando el servidor descifra , no anuncia el resultado al cliente, y también porque cuando letreros del servidor, lo hace a través de una clave pública DH que el servidor generó por sí mismo, no sobre los datos enviados por el cliente.

  • Normalmente, las claves de cifrado y las claves de firma requieren ciclos de vida distintos; las claves de cifrado deben estar en custodia y las claves de firma no deben estar en custodia (consulte this para una discusión sobre el tema). Nuevamente, en el caso específico de un servidor SSL, no necesita depositar la clave privada RSA porque el cifrado es transitorio (los datos se descifran cuando llegan, no se almacenan), por lo que es posible administrar la clave privada del servidor en una de modo que está bien tanto para una clave de cifrado como para una clave de firma.

respondido por el Tom Leek 24.09.2015 - 16:05
fuente

Lea otras preguntas en las etiquetas