Buenas povo desse ciberespaço, esse é o terceiro e último post da série "criptografando mensagens com gpg". No post passado vimos conceitos básicos do PGP (Pretty Good Privacy) e também exercitamos uma maneira de gerenciar nossas chaves via terminal. Nesse artigo darei os passos de como criptografar e descriptografar arquivos físicos de textos.
Confira a lista de todos os posts da série:
- #1 Neommut - Configurando cliente de email por linha de comando
- #2 Como gerenciar suas chaves PGP
- #3 Como criptografar/descriptografar arquivos de texto com pgp
Cenário
Pensaremos em um cenário hipotético onde queremos enviar uma mensagem secreta para um contato chamado "Batata" e para isso queremos apenas disponibilizar um arquivo em um site onde somente ele consiga ler o conteúdo dessa mensagem.
Bem vamos lá, mão na massa.
Encriptando a menagem
Antes de criptografar o seu arquivo você tem que ter certeza que já importou a chave de seu contato. Para listar todas as chaves, basta rodar o comando:
$ gpg -k
Para importar a chave de um contato pode-se usar o comando:
$ gpg --import batata-pubkey.asc
Agora criaremos um arquivo de texto com sua mensagem secreta:
$ vi message.txt
Escreva sua mensagem no corpo do arquivo, salve e saia. Em seguida aplicamos a criptografia com o comando:
$ gpg --output response-crypt.txt --encrypt --recipient batata@tutanota.com mensagem.txt gpg: 7E0697BE9A686DF6: There is no assurance this key belongs to the named user sub rsa4096/7E0697BE9A686DF6 2021-10-26 BatataPrimary key fingerprint: 8523 7163 6848 6BAF E9EA 15E1 F968 E85F D0F6 FEBD Subkey fingerprint: 6D1D 7606 6822 BA40 923D B591 7E06 97BE 9A68 6DF6 It is NOT certain that the key belongs to the person named in the user ID. If you *really* know what you are doing, you may answer the next question with yes. Use this key anyway? (y/N) y
Caso você não tenha assinado a chave do seu contato, você sera questionado se essa chave é realmente segura, caso você confie na chave pode confirmar.
Analisando o comando vimos que passamos três parâmetros o arquivo de saída, o ID do contato, que nesse exemplo é um e-mail e o arquivo com a mensagem de texto.
O output do comando sera um arquivo criptografado response-crypt.txt e agora apenas o seu contato irá conseguir visualizar o conteúdo dessa mensagem, pois na teoria apenas ele é detentor da chave.
Descriptografando
Bem digamos que o nosso companheiro Batata respondeu sua mensagem, lê envio um arquivo criptografado chamado hello.txt. Agora chega a hora de abrir e analisarmos o conteúdo dessa mensagem:
$ gpg --output me.txt --decrypt hello.txt gpg: encrypted with 3072-bit RSA key, ID A2FFBA6B29AE57D9, created 2021-11-14 "f0rmig4"
No primeiro parâmetro do comando informamos o arquivo de saída e no segundo passamos o arquivo que queremos descriptografar.
Podemos ler a mensagem com um cat via terminal:
$ cat me.txt
Conclusão
Há uma variedade de soluções disponíveis para implementar diferentes tipos de técnicas de criptografia. Ferramentas como TrueCrypt e VeraCrypt são usadas para criptografar discos rígidos e partições, mas estas não são eficientes para a criptografia geral de arquivos ou documentos. Em um mundo onde a praticidade é o foco a privacidade é muito menor.
GPG é uma ferramenta livre e fácil de usar que pode ser usada para criptografar arquivos secretos usando criptografia assimétrica segura que não pode ser facilmente quebrada.
Seguimos caminhando e que a força esteja com você.
Published Dec 04, 2021 by f0rmig4