Posso usar o GnuPG para verificar se um arquivo não é modificado e vem do remetente correto?

2

Posso usar o GnuPG para verificar se um arquivo não é modificado e vem do remetente correto?

Vamos dar um caso de uso simples:

  1. Eu tenho este arquivo com algum conteúdo importante, digamos que esteja em um arquivo .tar.gz.
  2. Assino esse arquivo com algo como o GnuPG
  3. Eu envio este arquivo para outro cara.
  4. O outro cara gosta de saber que o arquivo não foi modificado por um homem no meio e que eu era o remetente. Então ele usa a mesma ferramenta para verificar se o arquivo está ok.

Uma ferramenta como o GnuPG pode ajudar aqui?

Nota: Os dois computadores são baseados em Linux e a linha de comando é agradável:)

/ Obrigado

Foi o que eu fiz.

Instalar:

sudo aptitude install gnupg

Gere uma chave e exporte-a:

gpg --gen-key 
gpg --export -a "Johan Simonsson" > public.key

Deu ao outro cara o public.key em um usb-stick

Criamos um arquivo de teste para reproduzi-lo e assiná-lo:

tar -cvzf test.tar.gz ~/.vim
gpg --output test.sig --detach-sig test.tar.gz
tar -cvzf file.tar.gz test.sig test.tar.gz

O outro cara importa a chave que eu lhe dei em um pendrive.

gpg --import public.key

Então eu envio o arquivo file.tar.gz para o outro cara, e ele pode verificar os arquivos que eu enviei para ele com algo parecido com isto:

tar -xvzf file.tar.gz
gpg --verify test.sig test.tar.gz

E esta parece ser uma solução ok (já que as chaves não estão em todo lugar)

Nota: Ou podemos usar os servidores PGP para armazenar as chaves, mas isso é outro assunto.

    
por Johan 23.05.2011 / 12:43

1 resposta

2

Sim, use o recurso de assinatura separado do GPG. Ele criará um arquivo separado contendo a assinatura e o arquivo poderá ser verificado usando essa assinatura.

Para assinar:

gpg --output yourfile.sig --detach-sig yourfile.tgz

Para verificar:

gpg --verify yourfile.sig yourfile.tgz
    
por 23.05.2011 / 14:37