sexta-feira, 3 de julho de 2015



Leitores, nesse post eu vou falar de uma ferramenta extremamente poderosa, o GPG. Ele possibilita um nível de criptografia bem alto e pode ser usado facilmente no dia a dia.

Antes de começar


O GnuPG é uma ferramenta extremamente poderosa e que pode ser complexa para alguns casos. Como o foco desse post é ser simples e para um possível uso diário, o que será passado aqui não é recomendado para guarda de informações altamente sigilosas como dados bancários, por exemplo.

Uso simples pelo terminal


No exemplo abaixo usaremos a área de trabalho (desktop) e um arquivo de texto plano (.txt) chamado mensagem.txt.

No terminal navegue até a pasta onde o arquivo a ser criptografado está localizado:

cd /home/ususario/desktop/

Já na pasta vamos confirmar se o arquivo está lá:

ls

A saída será algo assim:

Pasta Pessoal.desktop
Lixeira.desktop
mensagem.txt

Encontrado o arquivo podemos usar o gpg:

gpg -c mensagem.txt

Após apertar ENTER será solicitada uma senha para guardar o arquivo e logo após será solicitado que se digite-a novamente (note que não é possível ver a senha, sequer os asteriscos representando os caracteres).

Quando esse processo for concluido, um arquivo aparecerá na pasta junto ao original com a extensão do gpg (.gpg):

mensagem.txt.gpg

Seu arquivo estará pronto para ser arquivado. No entanto não recomendo que ele seja renomeado nem que altere sua extensão pois isso pode corromper o sistema de criptografia e ao tentar recuperar o conteúdo original o programa não reconhecerá o arquivo e não será possível recuperá-lo, logo, cuidado na manipulação do mesmo.

Com o comando passado acima, seu arquivo será criptografado com uma chave simétrica que será associada a sua chave (senha) digitada posteriormente.

O processo reverso


É muito simples recuperar o conteúdo do arquivo criptografado, no terminal, navegue até a pasta onde o arquivo se encontra e então digite:

gpg nomedoarquivo.gpg

Substituindo "nomedoarquivo" pelo nome do seu arquivo (no exemplo de cima foi mensagem.txt).

DICA: Ao entrar na pasta onde o arquivo criptografado estiver, digite "gpg" (sem aspas) e depois aperte o TAB que provavelmente o nome do seu arquivo aparecerá.

Aumentando o poder da criptografia


Realmente a criptografia utilizada nesse post pode ser considerada abaixo da média para alguns usuários, mesmo tendo foco na simplicidade, não poderia deixar de ensinar a potencializar essa ferramenta de forma simples. Vou ensinar dois métodos, o da dupla criptografia e da mudança de algoritmo de compressão.

- Dupla criptografia

Como o nome sugere, será feita uma segunda criptografia do conteúdo original, para fazer isso, no terminal, navegue até a pasta com o arquivo criptografado e digite:

gpg -c nomedoarquivo.gpg

Substitua "nomedoarquivo" pelo seu arquivo (no exemplo usei mensagem.txt.gpg). Novamente será solicitada uma senha (digite uma diferente da primeira, preferencialmente), a saída será algo como:

nomedoarquivo.gpg.gpg

Ou, usando o exemplo:

mensagem.txt.gpg.gpg

Pronto. Quando for descriptografar, será necessário realizar o processo duas vezes, entrando a última senha primeiro e depois a primeira senha, respectivamente.

- Mudando o algoritmo

Junto à opção de encriptação, há um algoritmo padrão usado pelo gpg para que a criptografia seja feita, ele é o AES de 128 bits (usado no programa como AES somente). Para mudar o algoritmo do sistema, vá até a pasta do arquivo a ser encriptado e ao usar o gpg, adicione a opção "cipher-algo" ficando o comando assim:

gpg -c --cipher-algo CODIGO nomearquivo

Sendo o "nomearquivo" o seu arquivo (como mensagem.txt) e CODIGO um dos códigos da lista abaixo:

3DES
CAST5
BLOWFISH
AES (padrão, quando não é usada a opção --cipher-algo)
AES192
AES256
TWOFISH
CAMELLIA128
CAMELLIA192
CAMELLIA256

O código pode ser escrito em minúsculas.

- Combinação

Se quebrar uma senha forte por força bruta é trabalhoso, imagine ter que fazer isso 2, 3, 4 vezes. Fora que, no caso de um possível ataque, ao terminar o processo e chegar à senha o invasor descriptografa o arquivo e vê que este continha um outro arquivo também criptografado é bem desestimulante, logo a chance desse ""hacker"" desistir é alta.

Para fazer a combinação, repita o processo de criptografia que ensinei usando a mudança de algoritmo junto à ele, por diversas vezes e terá um resultado interessante.

Aplicação prática


Você deve estar se perguntando, como poderá utilizar isso que passei no dia a dia. Pois eu te falo que podes usar para qualquer coisa e qualquer arquivo, desde que respeitada a integridade do arquivo criptografado.

Não recomendaria esse tipo de criptografia para comunicação por mensagens instantâneas, pois devido ao processo pode ser algo demorado o que vai contra a comunicação instantânea que era procurada pelo usuário. Entretanto, nada impede sua aplicação nos e-mails de uma empresa (que não tenham informação altamente sensível) ou entre duas pessoas quaisquer (desde que ambas estejam treinadas e saibam o que fazer para que possam utilizar o recurso de forma eficiente).

Para o envio de informações mais confidenciais, o gpg também é útil porém necessita de uma configuração mais avançada que não era o foco desse post, pois mexe com chaves públicas e/ou privadas, assinaturas digitais, entre outras peculiaridades que tornam os processos mais complexos.

Referências (em inglês)


Site do GnuPG: https://www.gnupg.org/

Manual geral do GPG v2.1.5: https://www.gnupg.org/documentation/manuals/gnupg.pdf

Manuais rápidos GPG: https://www.gnupg.org/documentation/howtos.html

Extra


No link abaixo estarei disponibilizando um PDF com o conteúdo do post para que possa ser usado para referência off line.

Link: MEGA

Espero que tenham gostado e que nos acompanhem no nosso grupo no Facebook, lá será postado as novidades e notícias e também poderá ser feito o contato com a equipe aqui do blog. Até a próxima.

0 comentários:

Postar um comentário

Subscribe to RSS Feed Follow me on Twitter!