Encriptação PGP sem a linha de comandos

O PGP tem a reputação de ser poderoso e penoso em partes iguais, e é por isso que grande parte do seu uso hoje consiste em colar chaves em conversas com IA — precisamente o lugar para onde as chaves privadas nunca devem ir. Este guia percorre as quatro operações que cobrem quase toda a utilização real, com o conjunto PGP local no navegador: gerar um par, encriptar, desencriptar, assinar e verificar — além da higiene que decide se algo disso se aguenta.

Pare de colar chaves privadas em chatbots

Acontece num momento previsível. Uma chave não importa, uma mensagem não desencripta, uma impressão digital não coincide, e a via mais rápida parece ser colar o bloco inteiro — chave privada incluída — numa conversa com IA e perguntar o que está errado. Não o faça. No momento em que uma chave privada entra numa conversa, saiu do seu controlo: pode ficar no histórico da conversa, em registos, numa captura de ecrã que partilhe mais tarde, num dispositivo que não é o que julgava estar a usar. Não há como descolar. Uma chave copiada para qualquer sistema que não controla tem de ser tratada como comprometida, o que significa revogá-la e começar de novo — exatamente o trabalho que a colagem pretendia evitar.

Há um segundo problema, mais silencioso do que o primeiro: a resposta pode estar errada. Os modelos de linguagem recusam alguns pedidos de manuseamento de chaves, truncam blocos blindados longos e podem afirmar uma impressão digital ou um ID de chave com total confiança depois de ler mal o meio dele. A criptografia não perdoa os quase acertos. A alternativa não é a linha de comandos por si só; é fazer o trabalho localmente, onde o material nunca viaja. É para isso que serve o conjunto PGP deste site: a geração de chaves, a encriptação, a desencriptação, a assinatura e a verificação correm no separador do navegador e nada é carregado.

O que o PGP realmente lhe dá

O PGP — na sua forma moderna, a norma OpenPGP implementada pelo GnuPG e por outras ferramentas — são duas operações construídas sobre um par de chaves. A chave pública pode ser partilhada com qualquer pessoa, impressa, enviada por correio eletrónico ou publicada. A chave privada mantém-se secreta, protegida por uma frase-passe. Tudo o que for encriptado com a chave pública só pode ser desencriptado com a chave privada correspondente. Esse é todo o mecanismo de confidencialidade: nenhum segredo partilhado para trocar antecipadamente, nenhuma palavra-passe para combinar no mesmo canal que está a tentar proteger.

Assinar corre no sentido oposto. Assina com a sua chave privada, e qualquer pessoa com a sua chave pública pode verificar que a assinatura veio do titular dessa chave privada e que o conteúdo assinado não mudou desde então. Usados em conjunto, encriptar responde quem pode ler isto? e assinar responde quem escreveu isto, e está intacto? O que nenhum dos dois responde é quem estava a observar? — um limite a que voltaremos abaixo, porque decide quando o PGP é a ferramenta certa.

Gere um par e depois encripte com a chave de outra pessoa

Gere o seu par de chaves numa máquina em que confie e trate as duas metades de forma diferente desde o primeiro minuto. A metade pública é um cartão de visita: exporte-a, dê-a a quem lhe possa escrever, ponha-a onde os correspondentes a possam encontrar. A metade privada é a chave-mestra de todas as mensagens que alguma vez lhe encriptaram, e o seu lugar é offline — na máquina que desencripta, com uma cópia de segurança encriptada num suporte separado, não em notas na nuvem, não numa caixa de correio, não numa conversa. Ao gerá-la, escolha uma frase-passe que não reutilize em lado nenhum; o gerador de palavras-passe deste site pode criar uma frase longa localmente, o que bate inventar uma sob pressão.

Encriptar é o passo que as pessoas imaginam, e é o mais simples. Pega na chave pública do destinatário — obtida de uma forma em que confia, por razões tratadas abaixo —, escreve a mensagem ou anexa o ficheiro e encripta com essa chave. O resultado é um bloco blindado que pode viajar por correio eletrónico comum, porque o seu conteúdo só pode ser lido pelo titular da chave privada correspondente. Uma consequência merece ser dita claramente: se não encriptar também com a sua própria chave, não poderá voltar a ler o que enviou. Decida isso de propósito, não por acidente.

Repare em que chave fez o trabalho. Encripta com a chave pública da outra pessoa, não com a sua. O seu par de chaves importa quando lhe escrevem a si e quando assina; o da outra pessoa importa quando lhe escreve. A maior parte da confusão dos principiantes — e das primeiras tentativas falhadas — é esta direção trocada, seguida de uma mensagem que ninguém consegue abrir, por vezes nem sequer a pessoa a quem se destinava.

Desencripte o que chega, assine o que envia, verifique o que recebe

Desencriptar é onde a chave privada ganha as suas regras de armazenamento. Alguém lhe envia um bloco blindado ou um ficheiro encriptado; abre-o com a chave privada, introduz a frase-passe e lê o conteúdo localmente. Nada nesse passo precisa de uma rede, de um servidor ou de uma conta, e não deve ter nenhuma dessas coisas. Se um fluxo de trabalho lhe pedir para carregar uma mensagem encriptada e a sua chave privada para um site para que ele desencripte por si, o fluxo de trabalho é a ameaça: feche o separador.

Assinar e verificar formam um par, e verificar é a metade que as pessoas saltam. Uma assinatura que cria diz aos destinatários: isto veio do titular desta chave, inalterado. Uma assinatura que verifica diz-lhe o mesmo sobre o que chegou — mas só se realmente verificar, e só contra uma chave pública que confia pertencer ao remetente. Uma verificação falhada não é um aviso para clicar e continuar. Significa uma de três coisas: o conteúdo mudou depois de assinado, a assinatura está corrompida, ou a chave que assinou não é a que esperava. As três terminam da mesma forma: não aja com base nesse conteúdo e pergunte ao remetente, por outro canal, o que aconteceu.

A higiene de chaves é a segurança, na maioria dos dias

As falhas do PGP no mundo real raramente são matemática quebrada. São uma chave privada sem cópia de segurança, perdida com um portátil. Uma frase-passe reutilizada de uma conta de fórum. Uma chave que expirou a meio de uma conversa, de modo que os correspondentes voltam discretamente ao texto simples. Defina uma validade que realmente vá manter — um a dois anos é uma escolha comum e sensata — e anote a data de renovação num calendário no dia em que gerar a chave, não na semana em que ela expire.

Gere o certificado de revogação ao mesmo tempo que a chave, antes de precisar dele, e guarde-o com a cópia de segurança. Um certificado de revogação é a forma de dizer ao mundo que uma chave foi retirada ou está comprometida; criá-lo exige a chave privada, que é precisamente o que pode não ter no dia mau. Frase-passe, cópia de segurança e certificado de revogação não têm glamour, e são a diferença entre um incidente e um beco sem saída.

Por fim, as impressões digitais. Um ID de chave é curto e não prova nada; a impressão digital é o hash longo da chave pública, e compará-la é a forma de saber que a chave que tem é a que o seu correspondente tem. Compare-a fora de banda — leia-a numa chamada, confronte-a com um cartão ou com uma página que a pessoa controle —, não no mesmo fio de correio que entregou a chave. Uma chave que chegou por correio eletrónico com a sua impressão digital na mesma mensagem verificou-se a si própria, o que equivale a dizer que não foi verificada de todo.

Os limites honestos, e quando usar outra coisa

O PGP encripta o conteúdo. Não esconde os metadados: no correio eletrónico, o remetente, o destinatário, o momento e normalmente o assunto continuam visíveis para os servidores que transportam a mensagem, e o tamanho de um ficheiro encriptado também diz algo. Carrega ainda três décadas de história de usabilidade — a gestão de chaves confundiu uma geração de utilizadores e as ferramentas nunca se tornaram invisíveis como as aplicações modernas de mensagens. Nada disso o torna inútil. Torna-o específico: encriptação assíncrona de ficheiros e mensagens entre pessoas capazes de gerir chaves, sem conta central nem fornecedor no meio.

Para a conversa do dia a dia, o Signal é a melhor ferramenta: as chaves são geridas por si, o tratamento de metadados é mais forte e ninguém tem de comparar uma impressão digital antes do jantar. Para encriptar um ficheiro para armazenamento ou transferência, o age é mais simples do que o PGP e mais difícil de usar mal. Para assinar uma versão ou um documento quando tudo o que precisa é de uma assinatura, o minisign é mais pequeno e mais claro. O terreno que resta ao PGP é real — correio que tem de continuar legível durante anos, assinaturas dentro de infraestruturas existentes, interoperabilidade entre ferramentas e décadas — e nesse terreno o conjunto PGP daqui tira a linha de comandos do trabalho sem tirar o cuidado que o trabalho exige.

Perguntas frequentes

O PGP baseado no navegador é seguro?

O material de chaves nunca sai do separador: a geração, a encriptação, a desencriptação e a assinatura correm localmente no navegador, e a página não carrega nem armazena nada. Dito isto, um navegador só é tão fiável quanto o dispositivo e o navegador que o executam — extensões, malware e uma máquina emprestada estão por baixo dele. Para as chaves do dia a dia, esse compromisso é razoável. Para as chaves de maior risco — a que protege uma versão, um cofre ou os dados de outras pessoas — use uma máquina offline e reserve a ferramenta do navegador para o trabalho conveniente.

Perdi a minha chave privada ou a sua frase-passe — alguém pode recuperar as minhas mensagens?

Não, e esse é o ponto. Não há reposição de palavra-passe, nem balcão de apoio, nem porta das traseiras: uma mensagem encriptada com uma chave cuja metade privada se perdeu, ou cuja frase-passe foi esquecida, permanece encriptada. Qualquer pessoa que a pudesse recuperar por si poderia também recuperá-la para outra pessoa. É por isso que existem as cópias de segurança e o certificado de revogação da secção de higiene — a cópia é a forma de sobreviver à perda de um dispositivo, e o certificado de revogação é a forma de retirar uma chave que já não pode usar ou em que já não confia.

Como sei que uma chave pública pertence realmente àquela pessoa?

Compare a impressão digital por um segundo canal: leia-a em voz alta numa chamada, confronte-a com um cartão que a pessoa lhe tenha dado ou com uma página que ela controle. A impressão digital é o hash completo da chave pública; se coincidir dos dois lados, tem a mesma chave que essa pessoa tem. Os servidores de chaves não atestam nada — qualquer pessoa pode carregar uma chave a afirmar qualquer nome e endereço de correio, e aparecer na listagem não é uma verificação. Uma chave descarregada de qualquer lado, confirmada pela impressão digital noutro lado, é o padrão a ambicionar.