Por qué los archivos con firma de gpg difieren cada vez

2

Firmé el mismo archivo produciendo un archivo separado para las firmas, y noté que cada archivo está firmado con una firma diferente. No lo entiendo ¿No debería estar siempre firmado con la misma clave pública al final?

gpg2 --output FILE1.sig --detach-sig --armor FILE

Hice tres archivos (ARCHIVO1,2,3). Cada archivo tiene una firma diferente, ¿por qué?

    
pregunta Peter 11.01.2015 - 21:53
fuente

2 respuestas

7

tiempo real

Mirando el mensaje firmado, la razón se vuelve muy obvia. gpg --list-packets toma la entrada y enumera todos los paquetes contenidos de una manera algo legible:

$ echo "foo" | gpg --sign | gpg --list-packets

[gpg asking for passphrase]

:compressed packet: algo=1    
:onepass_sig packet: keyid 8E78E44DFB1B55E9
    version 3, sigclass 0x00, digest 2, pubkey 1, last=1
:literal data packet:
    mode b (62), created 1421012528, name="",
    raw data: 4 bytes
:signature packet: algo 1, keyid 8E78E44DFB1B55E9
    version 4, created 1421012528, md5len 0, sigclass 0x00
    digest algo 2, begin of digest 96 e3
    hashed subpkt 2 len 4 (sig created 2015-01-11)
    subpkt 16 len 8 (issuer key ID 8E78E44DFB1B55E9)
    data: [4096 bits]

El "paquete de datos literal" y también el "paquete de firma" contienen la marca de tiempo de creación, aquí 1421012528 . Los datos de firma reales también tienen en cuenta la marca de tiempo de creación del paquete de datos literal, por lo que también será diferente para cada firma calculada.

faketime

Para verificar esto, use el glorioso programa faketime y calcule la suma de comprobación de la firma (que siempre es la misma, sin importar la frecuencia con la que ejecute el comando):

faketime 5pm /bin/bash -c "echo "foo" | gpg --sign | sha256sum"
    
respondido por el Jens Erat 11.01.2015 - 22:51
fuente
2

Esto es para evitar un " Ataque de texto cifrado elegido " si su clave produjo el mismo resultado una y otra vez , no habría entropy . Un atacante puede lanzar ataques contra el mensaje cifrado.

    
respondido por el munkeyoto 11.01.2015 - 22:21
fuente

Lea otras preguntas en las etiquetas