Eu criptografei um arquivo usando criptografia simétrica como esta:
gpg --symmetric myfile
o que resulta em um arquivo myfile.gpg
.
Tudo bem. Agora vamos descriptografar o arquivo novamente:
gpg -o myfile --decrypt myfile.gpg
Me pedem a senha que eu coloquei e depois vejo
gpg: CAST5 encrypted data
gpg: encrypted with 1 passphrase
gpg: WARNING: message was not integrity protected
Não tenho certeza sobre a primeira e a última linha lá.
- O que é a cifra CAST5 e é segura? Conheço o 3DES e o AES e sei que eles são seguros.
- Por que não é protegido por integridade?
- Além disso, como faço para corrigir isso?
encryption
gnupg
data-integrity
aes
gertvdijk
fonte
fonte
gpg -c myfile
para criptografar egpg myfile.gpg
descriptografar, saída será descriptografadamyfile
por padrão.gpg myfile.gpg
resultará na saída descriptografado enviado para stdout no meu sistema ...Respostas:
fundo
O CAST-5 é um algoritmo de criptografia mais antigo usado pelo GnuPG porque o AES ainda não existia no tempo em que o GnuPG foi criado inicialmente como fonte . Não é amplamente utilizado (além do GnuPG por motivos de compatibilidade).
O
WARNING: message was not integrity protected
é porque esse recurso não é ativado por padrão no momento da criptografia. Se isso estiver ativado, o GnuPG poderá dizer se o arquivo foi alterado em trânsito.Atualização: as versões modernas do GnuPG enviadas com o Ubuntu / Debian agora têm o MDC ativado por padrão e você nunca deve ver esta mensagem novamente por nada assinado com essas versões mais recentes.
Soluções
Para usar um AES-256 mais forte, você deve especificá-lo na linha de comando ou no seu arquivo de configuração.
Linha de comando: adicione a
--cipher-algo AES256
opção para que a linha completa a criptografar se torneArquivo de configuração (recomendado): adicione a seguinte linha ao seu
~/.gnupg/gpg.conf
arquivo de configuração.Eu recomendo essa abordagem porque ela será usada para todas as operações futuras de GPG nessa conta de usuário.
Não há nada para mudar para o usuário descriptografar o arquivo - o GnuPG detectará isso automaticamente.
Observe que, usando a cifra AES-256, a mensagem é protegida automaticamente para integridade. Para ativar manualmente a proteção de integridade em outras cifras para as quais isso não está ativado (como o CAST-5), adicione a
--force-mdc
opção ao criptografar.Melhor ainda: assine!
Uma abordagem ainda melhor seria assinar seus arquivos com o seu par de chaves (se você o tiver). Basta adicionar a
--sign
opção ao comando encryption, assim:Isso não apenas validará a integridade do arquivo, mas também permitirá ao destinatário do arquivo verificar a origem. Quaisquer alterações no arquivo teriam uma falha na verificação da assinatura.
fonte