PGP
“Cryptography is the ultimate form of non-violent direct action.”
– Julian Assange
PGP (Pretty Good Privacy) e’ um conjunto de software desenvolvido pelo Philip R. Zimmermann para assinar, encriptar e descriptar arquivos.
Hoje normalmente usamos o OpenPGP e o GnuPG, duas versoes open-source do PGP. Sendo o mais comum, e tratado aqui como default, o GnuPG.
Como funciona
O PGP gera um par de chaves, uma privada e uma publica. Cada chave e' uma longa string de chars gerados randomicamente e de forma unica para voce. Sua chave publica e’ ligada a sua chave privada usando uma funcao matematica especial.
A chave publica pode e deve ser distribuida para quem voce quiser. A chave publica que e’ usada para criptografar os arquivos para voce. Existem servidores de chaves publicas, que chamamos de keyserver. Neles e’ possivel enviar sua chave publica, facilitando a quem quiser enviar uma msg, arquivo ou qualquer outra coisa de forma criptografado para voce.
Ja’ a sua chave privada nao deve ser distribuida e nem compartilhada para ninguem. Repito, sua chave privada nao deve ser compartilhada ou distribuida para ninguem de forma nenhuma. A sua chave privada e’ usada para descriptar os arquivos e msgs que voce vai receber.
Ilustracao
Para efeito de ilustracao, imagine que voce e seu amigo querem trocar presentes e nao querem que ninguem saiba o que e’. Cada um de voces tem uma chave e um cadeado. Voces trocam os seus cadeados. Cada um coloca o presente em uma caixa e tranca com o cadeado. Depois de trancado, so’ quem tem a chave do cadeado pode abrir a caixa e pegar o presente.
O cadeado no caso e’ a sua chave publica. E a chave para abrir o cadeado e’ a chave privada.
Install
OpenBSD, meu OS do dia dia, ja’ vem com o GnuPG, se voce usa alguma distro Linux, bem provavel que ja’ venha com ele instalado, caso nao, procure a documentacao da sua distro.
Gerar par de chaves
Execute…
gpg --full-generate-key
Use a opcao 1 RSA and RSA. Coloque o maior keysize possivel, sempre. O recomendado e’ colocar uma data de expiracao da chave, no meu exemplo eu nao coloquei. Mas e’ recomendado 2 anos. Coloque suas informacoes, caso queira e digite uma senha forte e segura para essa chave.
Upload da public key
Agora voce pode fazer o upload da sua public key para um KeyServer.
Primeiro, copie o seu keyID. Para saber seu keyID, digite gpg -k [seu@email]
.
No meu caso e’ A2CF45BE990C0E05F3FB31809647DB206B51315F
.
Agora voce pode fazer o upload da sua public key.
gpg --send-key [keyID]
Exportar public key
Uma opcao1 e’ exportar sua public key para voce copiar e colcar ou em um arquivo. Para isso digite…
gpg --export -a [seu@email]
Isso vai exportar sua chave para o console.
Caso queira para um arquivo apenas direcione para um arquivo.
gpg --export -a [seu@email] > publickey.asc
Fingerprint
Para ver seu fingerprint da sua chave, execute:
gpg --fingerprint [seu@email]
Cryptografar um arquivo
Para cryptografar um arquivo digite…
gpg -e -r [keyID/email] [arquivo]
Nesse exemplo, eu compactei o conteudo do diretorio keeper
2
usando o comando tar -zcvf k.tar.gz keeper
. Depois eu
cryptografei ele (para mim mesmo3) usando o comando gpg -e -r me@umgeher.org
.
Descryptografar um aqruivo
Quando voce receber um arquivo cryptografado deve executar…
gpg -d [arquivo]
Nesse exemplo eu descryptografo o aqruivo que acabei de cryptografar e descompacto para mostrar que os mesmos artefatos estao la'.
Importar chave publica
Voce pode importar qualquer chave publica utilizando o comando…
gpg --import [arquivo-chave-publica]
Exemplo, para importar minha chave publica voce pode executar…
curl -sL https://umgeher.org/umgeher-public-key.asc | gpg --import
Agora voce pode cryptografar qualquer arquivo usando minha chave publica…
gpg -e -r me@umgeher.org [arquivo]
O uso de keyservers e’ otimo, porem eu recomendo voce deixar sua chave publica em um local que todos confiem que e’ realmente voce. No meu caso, eu deixo no meu site, meu main mastodon, no sr.ht e no keyoxide. ↩︎
Nemeth’s Quake map… Mandei um email perguntando se ele deixou esse map public, caso sim, vou deixar o link aqui depois. ↩︎
Antigamente eu deixava meu backup de coisas sensiveis cryptografado com pgp. Hoje eu uso outra ferramenta. Vou escrever sobre ela quando sugir a oportunidade. ↩︎
Articles from blogs I follow around the net
Issue #18
via OpenBSD Webzine 2024-10-08 10:01OpenBSD 7.6 Released
The OpenBSD project has announced OpenBSD 7.6, its 57th release. The new release contains a number of significant improvements, including but not limited to: There is initial support for Qualcomm Snapdragon X Elite [arm64] laptops. Initial support for Suspend-t…
via OpenBSD Journal 2024-10-07 20:42Asynchronous secure file transfer with nncp
# Introduction nncp (node to node copy) is a software to securely exchange data between peers. Is it command line only, it is written in Go and compiles on Linux and BSD systems (although it is only packaged for FreeBSD in BSDs). The website will do a …
via Solene'% 2024-10-06 00:00Generated by openring
/comments ~umgeher/changelog@lists.sr.ht?Subject=Re: PGP
/permalink https://umgeher.org/posts/2022/01/pgp.html