Como posso recuperar dados originais de uma assinatura com o GnuPG?

0

Atualmente, estou em uma situação em que usar o sinal --clearsign seria impraticável.

Eu estabeleci através do tamanho de uma assinatura que ela contém alguma forma dos dados de entrada (assim, quando eu digitei gpg --armor --sign file.txt , a saída de file.txt.asc foi, em várias ocasiões, minimamente maior que o arquivo original) No entanto, ao usar gpg --verify file.txt.asc , só posso dizer que o arquivo foi assinado por mim e não o conteúdo, mesmo usando o sinalizador detalhado.

Se os dados originais são irrecuperáveis, qual é o sentido de ter a assinatura, já que tudo o que mostra é a data em que foi assinada e quem foi assinado? Se eu fosse um MITM, não poderia simplesmente copiar essa assinatura e fingir que sou o remetente, mesmo que a data estivesse um pouco errada?

    
por TheFuzzyFish 27.08.2016 / 04:16

1 resposta

0

How can I retrieve original data from a signature with GnuPG?

Se o conteúdo original estiver contido (ou seja, você não criou uma assinatura separada), poderá exportar os dados assinados usando a opção --output .

gpg --output file.txt --verify file.txt.asc

O GnuPG está adivinhando que você quer fazer exatamente o mesmo quando não está passando nenhum comando:

gpg file.txt.asc

If the original data is irretrievable, then what is the point of having the signature, since all it shows is the date it was signed and who it was signed by? If I were a MITM, couldn't I just copy that signature and pretend that I'm the sender, even if the date was a little off?

A assinatura é sempre emitida em uma soma de hash da mensagem original. Ao criar uma assinatura separada (que não contém toda a mensagem original), ela ainda contém a soma de hash. Dessa forma, a implementação do OpenPGP pelo destinatário pode alterar a hash da mensagem e verificar se esse hash também está contido na assinatura e se a assinatura está correta.

    
por 27.08.2016 / 08:04