Como eu verifico um arquivo GPG simetricamente criptografado?

4

Eu criei um arquivo criptografado com criptografia simétrica.

gpg -c 50GBfile

Agora quero excluir o original. Antes de excluir o original, quero verificar a integridade do arquivo criptografado. (Semelhante ao modo como os arquivos ZIP usam o CRC). O gpg oferece uma maneira de verificar o conteúdo de arquivos simetricamente criptografados?

    
por Rucent88 20.07.2014 / 20:17

4 respostas

4

Se você criptografou o arquivo com gpg -c , não há como verificar o que o arquivo contém sem saber a frase secreta. Essa é uma propriedade central da criptografia simétrica. Como você precisará fornecer a senha de qualquer maneira, faça o teste real: descompacte o arquivo e compare-o com o original. No Linux ou outra variante unix:

gpg -d <50GBfile.gpg | cmp - 50GBfile

Se você quiser uma garantia adicional de integridade, poderá assinar o arquivo com sua chave privada adicionando a opção -s ao criptografar o arquivo.

gpg -c -s 50GBfile

Depois, você pode verificar a assinatura com gpg --verify 50GBfile.gpg . Observe que isso apenas garante que o arquivo é um dos arquivos que você assinou, isso não protege você contra um erro por meio do qual você assinou o arquivo errado.

Se você usou criptografia assimétrica (com a chave pública do destinatário - sua própria chave pública), verificar se o arquivo tem o conteúdo desejado exigiria a chave privada do destinatário. Com vários destinatários, a chave privada de qualquer destinatário seria suficiente. Normalmente você colocaria sua própria chave como destinatária de todas as mensagens criptografadas, com encrypt-to ou hidden-encrypt-to no arquivo de configuração GPG.

    
por 21.07.2014 / 13:49
3

A única operação "verificar" no gnupg é a verificação de assinatura , que basicamente criptografa o hash do arquivo criptografado com uma chave pública (= sinal).

Na minha opinião, isso significa que, se os bits de saída estiverem corrompidos enquanto o arquivo estiver sendo criptografado, o hash será calculado em relação ao arquivo corrompido . Você nunca descobrirá isso verificando a assinatura desse arquivo desde que você assinou um arquivo já corrompido.

Parece que a única maneira de verificar positivamente um arquivo criptografado contra a corrupção é passar pelo processo demorado de descriptografar o arquivo gerado e comparar seu hash com o original.

E é isso que Sepero ofereceu acima, mas em vez de "Você pode verificar ..." deve ser "A maneira somente de verificar ... "

Atualizar - para direcionar o ponto de partida:

Há alguns minutos fiz exatamente isso: dividir um arquivo de backup de 9,8 GB em 5 partes raras e cada peça simetricamente criptografada pelo gnupg. Antes de excluir as partes rar, verifiquei a integridade das partes criptografadas, como discutido acima: 1 de 5 não passou no teste de hash. Eu decifrei novamente aquela peça, e agora o hash da peça decifrada combinava com a peça original do rar.

Eu binário comparei a parte rar descriptografada ruim com a boa descriptografada, e a única diferença nesses arquivos de 2GB foi um byte: C8 vs. 48 - o que é causado por um flip de 1 bit (ou seja, 11001000 vs 01001000). / p>

A moral da história é que, se em um bom sistema WIN7 e um bom HDD, o gnupg puder virar um pouco a descriptografia, isso também poderia ser feito na criptografia. Eu nunca vou pular novamente essa etapa de verificação de integridade.

    
por 03.10.2014 / 16:30
1

Você pode verificar isso extraindo e comparando o md5sum com o original.

$ gpg -d 50GBfile | md5sum
gpg: AES256 encrypted data
gpg: gpg-agent is not available in this session
gpg: encrypted with 1 passphrase
1df1aaffb20c5255e282d6f584489993  -
$ md5sum 50GBfile
1df1aaffb20c5255e282d6f584489993  50GBfile
    
por 20.07.2014 / 23:52
0

Caso queira verificar a integridade, você precisa assinar o arquivo original também.

gpg --encrypt --sign arquivo

Finalmente, você pode verificar a integridade (com base na assinatura), descriptografando o arquivo (a integridade é verificada automaticamente)

gpg --decrypt arquivo.asc

    
por 21.07.2014 / 00:31

Tags