Fantasma nas Máquinas
On Setembro 23, 2021 by adminUtilizo o software GPG (também conhecido como GnuPG) para encriptar ficheiros que contenham informação sensível (na sua maioria palavras-passe). Como engenheiro de sistemas, eu faço a maior parte do meu trabalho em servidores remotos, acessíveis via interface de linha de comando. Naturalmente, eu acho mais fácil usar a versão de linha de comando do GPG para criptografar e decodificar diretamente documentos.
GPG (GNU Privacy Guard) é uma versão livre de código aberto do software de criptografia PGP (Pretty Good Privacy). Conceitualmente, ambos usam a mesma abordagem para criptografia (ou seja, criptografia e decriptografia). No entanto, cada um deles é exclusivamente diferente na sua implementação.
O que se segue é um primer rápido sobre como instalar as ferramentas de linha de comando GPG, bem como uma lista de comandos básicos que você provavelmente irá precisar.
Instalando GPG
GPG pode ser instalado de várias maneiras diferentes. As instruções aqui irão instalar as principais ferramentas de linha de comando GPG, que se destinam a ser usadas em um terminal.
Se, por outro lado, você preferir uma interface gráfica de usuário (ou GUI) para acessar a funcionalidade GPG (por exemplo, criptografar comunicações de e-mail, ou criptografar documentos em um editor de texto GUI), consulte os links no final deste artigo.
Red Hat / CentOS
yum install gnupg
Ubuntu / Debian
apt-get install gnupg
Mac OS X
A maneira mais fácil de instalar as ferramentas de linha de comando GPG no seu Mac é instalar primeiro o Homebrew, um sistema de gerenciamento de pacotes que disponibiliza milhares de pacotes de software para instalação no seu Mac.
Abra uma janela de Terminal (Aplicações > Menu Utilitários), então digite o seguinte comando.
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install gnupg
GPG Quick How To
O que segue é uma introdução muito breve ao uso da linha de comando GPG. Pense nisso como uma “referência rápida” ou uma “folha de fraude”. Você certamente deve aprender mais sobre GPG do que o que é explicado dentro deste post. O seu objectivo é apenas começar. Se você espera usar GPG mais extensivamente, eu aconselho fortemente que você leia mais documentação (veja a seção Links abaixo).
GPG é um poderoso software de criptografia, mas também pode ser fácil de aprender – uma vez que você entenda algumas noções básicas. O GPG usa um método de criptografia conhecido como criptografia de chave pública, que oferece uma série de vantagens e benefícios. No entanto, para obter estas vantagens, é necessário um nível mínimo de complexidade para que tudo isto funcione. Para uma visão geral de como a criptografia de chave pública funciona, leia a Introdução à Criptografia (link no final deste post).
Convenções tipográficas usadas em comandos:
Em todos os exemplos abaixo, o texto que você precisará substituir pelos seus próprios valores (por exemplo, nomes de usuário, endereços de e-mail, nomes de arquivos) é mostrado em “gray italic”. O texto que você vai digitar literalmente (inalterado) é indicado com “largura constante preta”.
"gray italic""black constant width"
Crie sua chave GPG:
Para começar com GPG, você primeiro precisa gerar seu par de chaves. Ou seja, você vai gerar tanto uma chave privada como uma pública com um único comando. Digite seu nome e endereço de e-mail nos prompts, mas aceite as opções padrão caso contrário.
gpg --gen-key
A primeira chave é a sua chave privada (ou secreta). Você deve manter esta chave privada segura o tempo todo, e não deve compartilhá-la com ninguém. A chave privada é protegida com uma senha. Tente fazer a senha o máximo de tempo possível, mas algo que você não vai esquecer. Se você esquecer a senha, não há maneira de recuperá-la. Pela mesma razão, você também deve fazer uma cópia de segurança da sua chave privada. (Considere usar Time Machine para backups no Mac OS X.)
A segunda chave é sua chave pública, que você pode compartilhar com outras pessoas com segurança.
A relação entre a chave privada e pública é na verdade muito simples. Qualquer coisa que seja encriptada utilizando a chave pública só pode ser desencriptada com a chave privada relacionada. Portanto, você fornecerá sua chave pública a outra pessoa, e eles lhe fornecerão sua chave pública. Qualquer coisa criptografada para sua chave pública só pode ser descriptografada por você. Qualquer coisa encriptada para a chave pública da outra pessoa só pode ser desencriptada pela outra pessoa.
Exportar a sua chave pública:
O próximo passo é exportar a sua chave pública e partilhá-la com outra pessoa. Essa pessoa deve fazer o mesmo, e exportar a sua chave pública.
gpg --export --armor [email protected] > mypubkey.asc
Importar a chave pública de outra pessoa:
Quando você importa uma chave pública, você a está colocando no que é comumente chamado de seu “chaveiro GPG”.”
gpg --import theirpubkey.asc
Lista as chaves públicas no seu porta-chaves:
Pode agora ver uma lista de chaves públicas no seu porta-chaves, assim como o nome e endereço de email associado a cada chave.
gpg --list-keys
Lista as chaves privadas no seu porta-chaves:
O comando seguinte irá listar as chaves privadas no seu porta-chaves. Isto irá mostrar a sua própria chave privada, que criou anteriormente.
gpg --list-secret-keys
Confie numa chave pública:
Após ter importado a chave pública da outra pessoa, deve agora definir o nível de confiança da chave. Isto evita que GPG o avise sempre que encriptar algo com essa chave pública.
Especifique o nome ou e-mail da outra pessoa no comando.
gpg --edit-key glenntrust (invoke trust subcommand on the key)5 (ultimate trust)y (if prompted)quit
Comandos GPG úteis
GPG tem muitas opções, a maioria das quais você nunca precisará. Aqui está uma lista rápida dos comandos mais úteis que você provavelmente precisará.
Criptografar um arquivo:
Criptografar um arquivo chamado filename.txt para um único indivíduo, especifique esse indivíduo como um destinatário.
gpg --encrypt --recipient glenn filename.txt
Isto irá criar um novo ficheiro encriptado chamado filename.txt.gpg.
Se quiser encriptar um ficheiro para que apenas você mesmo o possa desencriptar, então especifique você mesmo como o destinatário.
gpg --encrypt --recipient 'my_name' filename.txt
Se quiser encriptar um ficheiro para que tanto você como outra pessoa o possam desencriptar, especifique tanto você como a outra pessoa como destinatários.
gpg --encrypt --recipient glenn --recipient 'my_name' filename.txt
Se quiser encriptar um ficheiro para um grupo de pessoas, defina o grupo no seu gpg.conf (veja seção abaixo), e então especifique o grupo como um destinatário.
gpg --encrypt --recipient journalists filename.txt
Depois de um tempo, você vai querer ser mais conciso e usar a versão curta das opções de linha de comando. Aqui está o mesmo comando.
gpg -e -r journalists filename.txt
Decriptar um ficheiro para terminal (saída padrão):
A primeira versão deste comando irá mostrar o conteúdo de um ficheiro dentro da própria janela do terminal.
gpg --decrypt filename.txt.gpg
Utilizar a opção --decrypt
apenas se o ficheiro for um ficheiro de texto ASCII. Se for um ficheiro binário, então omitir a opção --decrypt
, que irá escrever o ficheiro desencriptado no disco. Nesse ponto, você pode abrir o arquivo binário em qualquer aplicação usada para ver o arquivo.
Decifrar um arquivo para o disco:
Se o arquivo for ASCII ou binário, se você quiser fazer alterações no conteúdo de um arquivo criptografado, você deve primeiro decifrá-lo, fazer suas alterações e depois re-encriptar o arquivo. Como mencionei no parágrafo anterior, você escreve a versão desencriptada de um ficheiro no disco, omitindo a opção --decrypt
do comando.
gpg filename.txt.gpg
Se o ficheiro encriptado foi nomeado filename.txt.gpg, o comando acima irá criar uma versão descriptografada chamada filename.txt (com a extensão .gpg removida).
Criar Grupos de Pessoas no seu arquivo de configuração GPG
Para conveniência, você pode pré-definir um grupo de pessoas no seu arquivo de configuração GPG. Isto tem o benefício de permitir que você encripte um arquivo para cada membro do grupo especificando apenas o nome do grupo como o destinatário, ao invés de especificar tediosamente cada membro individual do grupo.
A configuração do seu software GPG é armazenada no seu diretório home dentro do arquivo ~/.gnupg/gpg.conf
. Edite este arquivo usando seu editor de texto de linha de comando favorito (vim, nano, pico, emacs, etc). Enquanto existem inúmeras configurações disponíveis no arquivo de configuração, vá para a seção pertinente à definição de grupos.
Ao definir um grupo, você lista os membros do grupo. Cada membro é referenciado por algum atributo de sua chave pública encontrado em seu chaveiro GPG – normalmente o nome de uma pessoa (ou nome parcial, como primeiro ou último nome) ou um endereço de e-mail (ou endereço de e-mail parcial).
Se você é um membro do grupo, lembre-se de se incluir no grupo! Se você não se incluir no grupo, você não será capaz de decifrar nenhum arquivo criptografado no grupo.
Aqui está um exemplo de um grupo chamado “jornalistas”, listando o primeiro nome de cada pessoa.
group journalists = glenn laura ewan barton
Onde Ir A Partir Daqui
Eu o encorajo a aprender mais sobre GPG. Veja os links abaixo.
Você também pode querer aprender sobre métodos seguros para apagar arquivos do disco rígido do seu computador. O Mac OS X tem a opção “Secure Empty Trash” (Lixo Seguro Vazio) dentro do Finder. Existem também inúmeras ferramentas de terceiros que você pode instalar.
Desde que estamos no tema de aprender como usar GPG na linha de comando, você pode querer tentar “bcwipe” – um programa para apagar arquivos com segurança dentro da linha de comando.
No Mac OS X, você pode instalar bcwipe via Homebrew.
brew install bcwipe
Links
Geral
- Introdução à Criptografia (PDF)
- Site do Software GnuPG
- GnuPG na Wikipedia
- Homebrew (Package Manager for Mac OS X)
Ferramentas GUI
- GPG Suite (GUI para Mac OS X)
- Como usar o GPG Suite no Mac OS X (Electronic Frontier Foundation)
- Gpg4win (GUI para Windows)
- Como usar o Gpg4Win no Windows (Electronic Frontier Foundation)
Deixe uma resposta