Firma digital y man-in-the-middle

1

Mientras leía esta página sobre el cifrado de claves públicas y privadas, me hice una pregunta sobre digital firma:

Alice quiere firmar un mensaje para Bob; ella usa su clave privada para firmar el mensaje. Bob lo recibe y utiliza la clave pública de Alice para generar la firma y comprueba que es la misma que Alice adjuntó al mensaje.

Si soy un pirata, puedo interceptar el mensaje de Alice y usar la clave pública de Alice para generar la firma también, ¿no? Si tengo razón, significa que puedo cambiar el mensaje de Alicia, usar la clave pública de Alicia para generar la nueva firma y enviarla a Bob, en lugar de a la original, ¿no?

Debe haber algo mal en esta lógica, pero no veo dónde ...

    
pregunta Nicolas C 07.08.2014 - 17:57
fuente

3 respuestas

4

Bob no no "genera" la firma con la clave pública de Alice. Firma generación requiere la clave privada. Lo que Bob hace es verificar la firma; La verificación solo necesita la clave pública.

De hecho, la clave pública se puede hacer de forma segura pública precisamente porque conocer la clave pública no es suficiente para generar firmas.

(Es posible que se haya confundido con alguna explicación sobre cómo una firma es "encriptación con la clave privada". Esta es una explicación muy generalizada pero también errónea y confusa, que es mejor ignorar).

    
respondido por el Thomas Pornin 07.08.2014 - 18:16
fuente
2

Hay un poco de confusión.

  • Alice cifra el mensaje con la clave pública de Bob
  • Alice firma el mensaje con su clave privada (solo ella tiene).
  • Bob comprueba la firma con la clave pública de Alice.
  • Bob puede descifrar el mensaje con su clave privada (solo él tiene).

De esta manera, sabes que Alice envió el mensaje porque solo ella tiene su clave privada.

Ahora, si de alguna manera la clave privada de Alice está expuesta o derivada de Eve. Entonces, Eve ahora puede firmar mensajes como si fuera Alice, y Bob no sabrá la diferencia.

    
respondido por el RoraΖ 07.08.2014 - 18:21
fuente
0
  

Si soy un pirata, puedo interceptar el mensaje de Alice y usar el público de Alice   Clave para generar la firma también, ¿no?

Básicamente, puedes usar cualquier secuencia aleatoria de bits y enviarlos al algoritmo de cifrado RSA como una clave y te dará algo de salida. Para ser significativo, el cifrado y la clave de descifrado deben tener la relación matemática que RSA define:

El pirata puede usar la clave pública de Alice para firmar / cifrar un mensaje. Sin embargo, la firma derivada será muy diferente de la generada con la clave privada.

La verificación de una firma digital toma tres pasos:

  1. Descifra la firma = > produce código hash
  2. Produce propio código hash del mensaje
  3. Compara los dos hashes

Por lo tanto, cuando Bob comienza a descifrar lo que el pirata encriptó con la clave pública, nunca terminará con el código hash válido del mensaje y la autenticación fallará.

    
respondido por el user2969932 08.08.2014 - 15:27
fuente

Lea otras preguntas en las etiquetas