¿Es posible verificar un mensaje cifrado y firmado por PGP sin descifrarlo?

7

Supongamos que tengo un mensaje PGP y quiero saber quién lo envió, ¿es posible hacerlo si tengo el mensaje cifrado RSA, dos posibles remitentes (y sus claves públicas con las que firmaron y cifraron) pero ¿No tienes las claves privadas? No es solo una firma, el encabezado dice: - COMENZAR MENSAJE DE PGP--.

    
pregunta ter345 13.12.2011 - 00:32
fuente

3 respuestas

11

Si tiene mensajes cifrados al azar que no fueron cifrados con su clave pública (y, por lo tanto, no puede descifrar el mensaje), entonces la respuesta es no. Las firmas deben estar contenidas dentro de la mancha de datos cifrados, de lo contrario no tiene nada que verificar. He aquí por qué.

(Primero, asegurémonos de que estamos en la misma página: usted cifra un mensaje usando una clave pública y lo firma con una clave privada. Nunca tendrá (!) las claves privadas de otra persona porque, de lo contrario, todo el mecanismo de protección falla aparte.)

El cifrado es la protección contra el espionaje. La firma es la no repudio del remitente, lo que significa que el remitente no puede decir que no lo envió.

Para verificar el remitente de un mensaje firmado y cifrado (el pedido es importante aquí), primero deberá descifrar el mensaje porque la firma forma parte del mensaje cifrado. Descifrar el mensaje no le dirá nada sobre el remitente, ya que cualquier persona puede cifrar un mensaje con su clave pública.

Una vez que el mensaje ha sido descifrado, puede extraer la firma y verificarla con las claves públicas que tiene para esos posibles remitentes.

Sin embargo, lo que no puede determinar es si la misma persona REALMENTE firmó y cifró el mensaje en virtud del hecho de que un lado del proceso (cifrado) utiliza información totalmente pública sin información específica sobre el remitente.

Si la clave privada del remitente ha caído en manos equivocadas, todas las apuestas están desactivadas.

    
respondido por el logicalscope 13.12.2011 - 01:35
fuente
7

Por lo general, uno firma el texto simple y luego lo cifra. Es imposible validar una firma sin ingresar los datos originales. Si los datos originales son texto sin formato, primero se deben descifrar.

Si tuvo un caso de uso especial en el que aceptó por algún motivo que tenía más sentido validar el texto cifrado, podría hacer que la otra parte firme el mensaje después de cifrarlo.

    
respondido por el Jeff Ferland 13.12.2011 - 02:32
fuente
3

Una firma es simplemente un hash del contenido firmado que se encripta con su clave privada. Descifrar el hash con la clave pública prueba quién lo cifró, mientras se vuelve a ejecutar la función de hash sobre los datos firmados y compararlo con el hash guardado es cómo verifica que no se ha cambiado el contenido.

Con ese entendimiento, las firmas se aplican a flujos de bits binarios, no al concepto abstracto de mensajes. Para validar una firma, el fragmento de bits no debe haber sido alterado en absoluto. Esto significa que teóricamente puede validar la firma en un mensaje cifrado sin descifrarla, pero eso significaría que el cipertexto tendría que estar firmado, no el texto plano. Eso no es imposible, pero tampoco es común.

    
respondido por el tylerl 13.12.2011 - 10:33
fuente

Lea otras preguntas en las etiquetas