Neste tutorial inédito, vamos explorar como utilizar o PGP de maneira fácil e eficiente no Tails e Linux, sem a necessidade de comandos terminais complexos. Utilizando o Kleopatra, um gerenciador de chaves intuitivo, você aprenderá a proteger suas comunicações e manter sua anonimidade online com novas dicas e técnicas de segurança. Prepare-se para simplificar sua proteção digital e garantir um nível superior de privacidade com este guia exclusivo!
1. **Provedores de Internet (ISPs):** Seu ISP pode coletar dados como IP, DNS e outras informações. Esses dados podem ser vendidos ou entregues a governos corruptos. Sob ordem judicial, esses governos podem forçar sites, provedores de e-mail e fóruns a revelar mensagens privadas não criptografadas que você enviou.
2. **Ataques de Zero Click:** Atacantes, como os que utilizam o spyware Pegasus, podem acessar seus sistemas e mensageiros, mesmo se as mensagens estiverem criptografadas. Por isso, é crucial usar PGP além da criptografia dos aplicativos de mensagens e e-mails. A combinação de criptografia dentro e fora do aplicativo oferece uma camada extra de proteção.
3. **Negociações com Criptomoedas via P2P:** Quando você realiza transações de criptomoedas, como bitcoins, por e-mail ou mensageiros, é essencial proteger essas comunicações. Se um atacante interceptar suas mensagens, eles podem sequestrar você e usar a transação registrada na blockchain (que é pública) como prova para extorquir dinheiro. A criptografia das mensagens ajuda a proteger contra esses riscos.
4. **Segurança das Mensagens:** Criptografar suas mensagens é fundamental para a segurança. O que é invisível não pode ser atacado.
Pretty Good Privacy (PGP) é um software de criptografia que proporciona autenticação e privacidade criptográfica para a comunicação de dados. Inventado por Phil Zimmermann, um ativista pacifista e político, o PGP utiliza uma combinação de hashing, compressão de dados e criptografia assimétrica. Cada etapa do processo emprega diferentes algoritmos suportados.
- Sistema à prova de falsificações de assinaturas digitais, permitindo a comprovação de que arquivos ou e-mails não foram modificados.
Exemplo: https://iancoleman.io/. Ao baixar a versão do Ian Coleman para gerar sementes de wallets de criptomoedas, o arquivo é assinado pelo desenvolvedor com sua chave pública, que é divulgada para que as pessoas possam verificar se a assinatura é original. O link para a chave pública é https://iancoleman.io/pubkey.txt. Após a verificação, os usuários confirmam que o arquivo é original e assinado pelo desenvolvedor.
- Comunicação criptografada de mensagens por e-mail e mensageiros, além da criptografia de arquivos.
- Associação de chaves públicas a identidades para enviar mensagens criptografadas.
A criptografia de chave pública, ou criptografia assimétrica, é um sistema criptográfico que utiliza pares de chaves: chaves públicas, que podem ser amplamente distribuídas, e chaves privadas, conhecidas apenas pelo proprietário. Esse sistema realiza duas funções principais: autenticação, onde a chave pública verifica que uma mensagem foi enviada pelo portador da chave privada correspondente, e criptografia, onde apenas o portador da chave privada pode descriptografar a mensagem que foi criptografada com a chave pública.
Chave Privada PGP
A chave privada PGP é um elemento crucial na criptografia. Ninguém pode descobrir sua chave privada, pois ela é essencial para descriptografar qualquer mensagem ou arquivo que tenha sido criptografado com a chave pública correspondente. Manter sua chave privada em segurança é fundamental para garantir a integridade e a confidencialidade das suas comunicações.
A criptografia simétrica convencional utiliza a mesma chave para criptografar e descriptografar dados. Isso significa que, para se comunicar com alguém, você precisa compartilhar a chave privada com essa pessoa. Em redes com milhares de comunicadores ou ao compartilhar a chave remotamente, isso pode se tornar problemático.
- ProtonMail usa PGP automaticamente.
- Outlook com o Gpg4o.
- Apple Mail com o GPGTools.
- Thunderbird com o Enigmail.
- Android com o FairEmail.
Mas... o PGP pode não funcionar se ocorrerem as seguintes vulnerabilidades:
- **Acesso Remoto ou Online:** A chave privada é armazenada no computador ou sistema para descriptografar ou criptografar mensagens. Se um atacante consegue acessar o sistema, ele pode fazer o download da chave privada e ler toda a comunicação.
- **Vulnerabilidades Zero Click:** Ataques zero click podem comprometer seu sistema ou aplicativo sem interação do usuário. Por exemplo, se você usa PGP no WhatsApp ou Telegram e a chave privada está no seu PC, um atacante com acesso ao mensageiro pode roubar sua chave e ler todas as mensagens.
- **Incompatibilidade com PGP em Email ou Mensageiros:** PGP pode não funcionar adequadamente se uma vulnerabilidade zero click for explorada, pois a chave privada pode ser acessível.
- **Software Signal:** Também pode ser vulnerável a ataques zero click, o que compromete a segurança das mensagens.
- **Vulnerabilidades Desconhecidas:** Softwares e sistemas podem estar sujeitos a ataques zero click que são mantidos em segredo por hackers e empresas que vendem softwares maliciosos, como o Pegasus. Essas falhas são descobertas e usadas como armas, enquanto os detalhes são mantidos ocultos.
- **Acesso a Senhas e Autenticação:** Se um atacante obtiver acesso a senhas, autenticação de dois fatores (2FA), e-mails, celulares ou cookies de sessão, toda a criptografia PGP pode ser comprometida. Portanto, é crucial usar a criptografia PGP não apenas dentro dos aplicativos, mas também fora deles, para adicionar uma camada extra de segurança. Isso significa criptografar as mensagens com PGP fora do aplicativo, e o destinatário deve descriptografar de forma semelhante.
- **Segurança Offline:** Para maior segurança, é recomendado criptografar e descriptografar mensagens em uma máquina isolada offline. Isso garante que, mesmo que o computador seja hackeado, as operações offline permanecem seguras e o hacker não conseguirá decifrar as mensagens PGP das quais as chaves privadas estão fora da máquina hackeada. Embora seja mais trabalhoso, essa abordagem oferece maior proteção.
No Tails OS, o Kleopatra já vem pré-instalado como software padrão. Para começar a usar, basta ir até "Applications" e procurar pelo Kleopatra. Com ele, você pode facilmente gerar pares de chaves PGP para assinar, criptografar e descriptografar mensagens e arquivos!
Para instalar o Kleopatra no Linux Debian e nas principais distribuições Linux, use os seguintes comandos no terminal:
sudo apt update -y
sudo apt install kleopatra -y
Windows e Mac são sistemas fechados e têm histórico de falhas de segurança. Como são sistemas de código fechado, vulnerabilidades podem demorar para serem descobertas e divulgadas, permitindo que invasores com privilégios acessem e comprometam o sistema.
Por outro lado, o Linux é um sistema open source, o que significa que vulnerabilidades são rapidamente identificadas e corrigidas pela comunidade. Se você não está confortável com o Linux, pode usar o Kleopatra em Windows ou Mac, mas é recomendável minimizar o uso desses sistemas para tarefas críticas de segurança.
Para maior segurança, utilize o Tails offline para criptografar mensagens. Depois, transfira as mensagens criptografadas para um pendrive e envie-as a partir do Windows ou Mac. Para ler as mensagens, sempre faça a descriptografia offline no Tails. Idealmente, mantenha a chave privada fora do sistema principal (windows e mac).
Links para download:
- **Windows:** https://gpg4win.org/download.html
- **Mac:** https://gpgtools.org/
Criptografa arquivos e mensagens para manter informações confidenciais, como diários e dados de clientes, seguros contra acessos não autorizados.
Assegura que as mensagens trocadas entre indivíduos ou grupos permaneçam privadas e imunes a interceptações por terceiros.
Utiliza assinaturas digitais para confirmar a identidade do remetente e garantir que as mensagens não foram alteradas durante o envio. Também permite checar a integridade de arquivos e provar sua originalidade com a assinatura do autor.
Permite o acesso seguro a aplicativos e serviços que requerem criptografia, garantindo que apenas usuários autorizados possam utilizar esses recursos.
Facilita o compartilhamento de informações criptografadas com destinatários específicos, protegendo a privacidade dos dados.
Essas funcionalidades fazem do PGP uma ferramenta essencial para manter a confidencialidade, integridade e autenticidade das comunicações e dados.
O PGP utiliza criptografia de chave pública, também conhecida como criptografia assimétrica, para proteger dados. Neste método, cada usuário possui duas chaves: uma pública e uma privada.
A chave pública de um destinatário pode ser obtida por meio de servidores de chaves ou diretamente com a pessoa. Essa chave pública é usada para criptografar dados, mas não pode descriptografá-los.
Depois que os dados são criptografados com a chave pública do destinatário, somente a chave privada correspondente pode descriptografá-los. Por isso, as chaves públicas são compartilhadas abertamente, enquanto as chaves privadas devem ser mantidas em segredo. Se um atacante obtiver sua chave privada, poderá acessar todos os seus e-mails criptografados com PGP.
No PGP, a criptografia de chave pública não é usada para criptografar a mensagem inteira devido à sua ineficiência. Em vez disso, o PGP criptografa a mensagem com uma chave de sessão gerada especificamente para essa comunicação. A criptografia de chave pública é então usada apenas para proteger essa chave de sessão. Isso é mais eficiente, pois a criptografia simétrica é menos pesada e mais rápida para criptografar grandes volumes de dados.
Assim, o PGP usa criptografia de chave pública para transmitir a chave de sessão de forma segura e criptografia simétrica para proteger o conteúdo da mensagem. Como a chave de sessão é necessária para descriptografar a mensagem e só pode ser desbloqueada pela chave privada do destinatário, o conteúdo permanece seguro contra acessos não autorizados.
A chave de sessão é uma chave de criptografia simétrica gerada especificamente para uma única sessão de comunicação. Em criptografia simétrica, a mesma chave é usada para criptografar e descriptografar os dados. Isso contrasta com a criptografia assimétrica, que usa pares de chaves pública e privada.
Como Funciona?
? Geração da Chave de Sessão: Quando você deseja enviar uma mensagem criptografada, o PGP gera uma chave de sessão única para essa mensagem.
? Criptografia da Mensagem: A mensagem propriamente dita é criptografada usando a chave de sessão. A criptografia simétrica é mais rápida e menos exigente em termos de recursos computacionais, o que a torna ideal para lidar com grandes volumes de dados.
? Criptografia da Chave de Sessão: Para garantir que somente o destinatário possa descriptografar a mensagem, o PGP criptografa a chave de sessão usando a chave pública do destinatário. Assim, a chave de sessão é protegida durante a transmissão.
? Envio da Mensagem: A mensagem criptografada e a chave de sessão criptografada são enviadas ao destinatário. A chave de sessão criptografada está embutida na mensagem criptografada.
? Descriptografia pela Chave Privada: O destinatário usa sua chave privada para descriptografar a chave de sessão. Uma vez que a chave de sessão é recuperada, ela é utilizada para descriptografar o corpo da mensagem.
Por Que Usar a Chave de Sessão?
? Eficiência: A criptografia simétrica (usando a chave de sessão) é muito mais rápida e eficiente para criptografar grandes volumes de dados do que a criptografia assimétrica.
? Segurança: A chave de sessão é temporária e usada apenas para uma única comunicação, o que limita o impacto de qualquer possível comprometimento da chave.
? Economia de Recursos: A criptografia assimétrica é mais lenta e consome mais recursos. Portanto, é usada apenas para criptografar a chave de sessão, enquanto a criptografia simétrica cuida da proteção dos dados reais.
Benefícios da chave de sessão:
Isolamento: Cada mensagem é criptografada com uma chave de sessão distinta, o que isola a segurança de cada comunicação.
Redução de Risco: Mesmo que um atacante consiga obter uma chave de sessão, ele só pode acessar a mensagem criptografada com essa chave específica e, mesmo assim, precisaria da chave privada para conseguir descriptografar a mensagem.
Segurança Aumentada: Se uma chave de sessão for comprometida, a sua utilização é limitada apenas à mensagem específica para a qual foi gerada, reduzindo o impacto da violação.
Assim como nossas assinaturas manuscritas ajudam a confirmar nossa identidade e prevenir fraudes, as assinaturas digitais utilizam criptografia de chave pública para autenticar a origem dos dados e garantir que não foram alterados.
Por Que as Assinaturas Digitais São Importantes:
? Imunidade à Falsificação: As assinaturas digitais são praticamente impossíveis de falsificar, a menos que a chave privada seja comprometida.
? Versatilidade: Elas podem ser usadas com a criptografia PGP para mensagens ou de forma independente para garantir a integridade dos dados. Para informações sensíveis, a criptografia é crucial. Para garantir que os dados não foram alterados, uma assinatura digital é suficiente. Para ambos, use-os juntos.
Como Funcionam:
1. Hashing: A mensagem é processada através de uma função hash para criar um resumo de tamanho fixo.
2. Assinatura: Este resumo é criptografado com a chave privada do remetente, formando a assinatura digital.
No PGP, a assinatura digital é enviada junto com a mensagem, que pode ser criptografada ou em texto puro, garantindo a autenticidade e a integridade da mensagem.
Ao receber um e-mail assinado digitalmente, é possível confirmar sua autenticidade e integridade usando a chave pública do remetente. O processo é realizado pelo software PGP do destinatário, mas aqui está um resumo das etapas envolvidas:
Gerar o Resumo da Mensagem:
O software calcula o resumo (hash) da mensagem recebida, que representa seu estado atual.
Decifrar o Resumo Original:
A assinatura digital é decifrada com a chave pública do remetente para obter o resumo da mensagem como estava quando assinada.
Comparar os Resumos:
O software compara o resumo calculado da mensagem recebida com o resumo obtido da assinatura digital.
Se houver qualquer alteração na mensagem, mesmo uma pequena, os resumos não coincidirão. Se os resumos não baterem, o destinatário saberá que há um problema.
Possíveis Problemas:
? Chave Pública Incorreta: A chave pública usada não corresponde à chave privada que assinou a mensagem, levantando dúvidas sobre a identidade do remetente.
? Assinatura Falsa: A assinatura digital pode ser falsa.
? Alteração da Mensagem: A mensagem pode ter sido modificada após a assinatura.
Se os resumos não coincidirem, é importante ser cauteloso. Pode ser um erro inocente ou uma tentativa de fraude.
Verificação de Arquivos com Assinaturas Digitais
Para verificar a autenticidade e integridade de um arquivo assinado digitalmente:
1. Calcule o Hash: Gere um resumo do arquivo recebido.
2. Decifre o Hash Original: Use a chave pública do remetente para obter o resumo original da assinatura.
3. Compare os Hashes: Verifique se o resumo do arquivo e o resumo da assinatura coincidem.
Se os resumos não coincidirem, o arquivo pode estar alterado ou a assinatura pode ser falsa. Certifique-se de que os resumos são idênticos para garantir a autenticidade do arquivo.
No Tails Linux, em Applications, procure o Kleopatra, ou digite no terminal:
kleopatra
A linguagem no Tails deve estar em inglês.
Vá em File, New Key Pair, e selecione Create a Personal OpenPGP Key Pair.
Vou criar duas chaves para o tutorial: fulano com o email fulano@gmail.com, e ciclano com o email ciclano@gmail.com.
Coloque o nome da chave: fulano
Coloque o email: fulano@gmail.com
Em advanced settings, defina o nível de criptografia para encriptar e decriptar com suas chaves!
No exemplo, eu coloco o máximo para RSA e sem validade, mas você pode colocar uma chave com validade se quiser!
RSA (Rivest-Shamir-Adleman)
Descrição: Algoritmo de criptografia assimétrica amplamente utilizado.
Funcionamento: Usa números primos grandes para criar chaves pública e privada; segurança baseada na dificuldade de fatoração.
Uso: Criptografia e assinaturas digitais; mais lento para grandes volumes de dados.
DSA (Digital Signature Algorithm)
Descrição: Padrão para assinaturas digitais desenvolvido pelo NIST.
Funcionamento: Baseado em aritmética modular para criar e verificar assinaturas digitais.
Uso: Exclusivo para assinaturas digitais; eficiente para verificar integridade.
ECDSA (Elliptic Curve Digital Signature Algorithm)
Descrição: Variante do DSA que usa criptografia de curvas elípticas.
Funcionamento: Mais eficiente em termos de desempenho e segurança com chaves menores.
Uso: Assinaturas digitais; ideal para dispositivos com recursos limitados.
Resumo das Diferenças:
RSA: Versátil, mas mais lento para criptografia.
DSA: Eficiente para assinaturas digitais.
ECDSA: Mais eficiente e seguro com chaves menores para assinaturas digitais.
Prosseguir:
Depois de escolher, clique em next, details para checar e create!
IMPORTANTE: Ele vai pedir uma senha, e toda vez que você for assinar, criptografar ou descriptografar alguma mensagem ou arquivo, essa senha será solicitada. Isso ajuda na segurança, pois mesmo alguém que consiga ter acesso físico à sua chave privada ainda encontrará o bloqueio da senha, o que impedirá o atacante de usar sua chave para descriptografar ou ler mensagens!
Crie uma senha complexa de caracteres alfanuméricos, de preferência com 20 a 40 caracteres, e nunca a anote em nenhum lugar. Mantenha a senha de cabeça ou bem codificada em algum lugar onde só você saiba como decodificá-la!
Digo isso porque, se alguém invadir sua casa, mesmo que pegue suas chaves privadas, não conseguirá usá-las sem a senha!
Portanto, mantenha suas senhas de preferência de cabeça e nunca anote em nenhum lugar por segurança!
Backup das Chaves Privadas no Kleopatra
Agora, faça backup das suas chaves privadas. Guarde-as em uma pasta específica. No caso da chave pública, esta será a chave que você compartilhará com a pessoa ou pessoas com quem deseja se comunicar, ou divulgará publicamente em seu site, rede social ou servidores PGP. Assim, as pessoas poderão usar sua chave pública para criptografar mensagens para você e verificar assinaturas de arquivos e mensagens suas.
Nunca compartilhe sua chave privada com ninguém!
Clique com o botão esquerdo do mouse na sua chave no painel principal com a lista de chaves.
Clique com o botão direito e:
Export: para fazer backup da sua chave pública, que você pode compartilhar para os devidos fins.
Export Secret Keys: para fazer backup da sua chave privada. Nunca compartilhe e guarde-a em local seguro!
Você pode ir em "File" e escolher "Export" e depois "Export Secret Keys", mas a chave desejada tem de estar em uso.
Se clicar em "Make a Backup Of Your Key Pair", você apenas fará backup da sua secret key e não poderá compartilhar isso com ninguém!
Cadastrando chave pública de pessoa para trocar mensagem.
Tenha a chave pública dela em .asc
Vá em file, import, e selecione ela para importar para o Kleopatra!
No caso do tutorial aqui, eu cadastrei a chave pública de ciclano do email ciclano@gmail.com.
Cheque o fingerprint das chaves públicas.
O Que É o Fingerprint de Chave Pública PGP?
É um hash criptográfico da chave pública PGP. Ele é gerado usando uma função de hash que cria uma representação curta e única da chave, facilitando sua identificação e verificação.
Como Funciona?
Geração: O fingerprint é criado ao aplicar uma função de hash à chave pública. O resultado é uma sequência alfanumérica que representa de forma compacta a chave pública completa.
Formato: O fingerprint geralmente é exibido em grupos de caracteres hexadecimais, e pode ser apresentado em diferentes formatos, como 40 caracteres ou 64 caracteres, dependendo do algoritmo de hash usado.
Identificação Única: Cada chave PGP tem um fingerprint único, o que permite identificar e verificar a chave sem precisar lidar com a chave pública completa.
Verificação: Ao compartilhar sua chave pública, você pode fornecer seu fingerprint para que outros possam verificar a autenticidade da chave. Isso é especialmente útil para evitar ataques de "man-in-the-middle", onde um atacante poderia tentar substituir a chave pública por uma falsa.
Painel principal e funções dos botões principais:
Botão notepad: Clique nele para entrar nesse modo, clique nele de novo para sair e voltar ao painel principal com a lista de chaves cadastradas no banco de dados do Kleopatra!
sign/encrypt - assinar e encriptar arquivos em PGP.
decrypt/verify - decriptar e verificar arquivos em PGP.
sign/encrypt notepad - assinar e encriptar o que está escrito no notepad que você colou ou escreveu.
decrypt/verify notepad - decriptar e verificar o que está escrito no notepad que você colou ou escreveu.
Recipient:
Sign as: selecione a chave para checar a assinatura.
Encrypt for me: selecione a sua chave para criptografar para você.
Encrypt for others: digite o email ou nome da chave cadastrada para selecionar para quem será encriptada a mensagem ou arquivo, usando a chave pública dele e a sua. No caso do exemplo, eu selecionei ciclano@gmail.com de nosso tutorial.
Certifique a chave pública do autor:
1. Selecione a chave pública na lista de chaves que deseja certificar.
2. Vá em "File", "Certify" e selecione a chave pública do autor para checar assinaturas e mensagens.
Quando você certifica uma chave pública, deve usar sua chave privada e senha para autorizar a certificação da chave pública no seu banco de dados. Isso é uma medida adicional de segurança do PGP. Quando uma assinatura de arquivo ou mensagem é descriptografada, o Kleopatra não acusará erro, mas informará que a chave pública não é confiável. Para evitar isso, certifique sempre as chaves públicas que cadastrar no Kleopatra, a fim de agilizar as verificações e decriptações.
Para criptografar uma mensagem em PGP e enviá-la para um destinatário (Ciclano), você precisará:
Na aba notepad, escreva a mensagem desejada. Exemplo:
Olá Ciclano, Vamos nos comunicar em PGP por fora dos emails e mensageiros e chats dos sites e redes nos navegadores com o Kleopatra, de preferência em um sistema ou PC isolado e offline, para garantir que as chaves privadas e senha das mesmas não sejam interceptadas, pois se nosso PC for hackeado, seremos desanonimizados!
Aguardo resposta para prosseguir!
Escreva ou copie isso para a caixa da aba notepad...
Clique em sign/encrypt, depois de ter configurado a aba recipient como mostrado antes!
Agora, você vai copiar essa mensagem criptografada e mandar para o email de ciclano ou mensageiro dele, ou chat como combinado!
Antes ou no momento, mande sua chave pública para ele conseguir responder para você!
Ciclano vai receber a mensagem criptografada! E ele terá que:
Na foto abaixo, vemos a decriptação da mensagem enviada para ciclano ao colar a mensagem pgp encriptada na aba notepad e clicar no botão Decrypt/Verify:
Resposta de Ciclano:
Positivo Fulano, vamos prosseguir, mas devemos lembrar que a criptografia do Proton Mail e mensageiros como Signal, Pidgin, Telegram e até mesmo o Session, ou qualquer outra criptografia inclusa em qualquer aplicativo, seja desktop, celular ou navegador, será inútil se o atacante conseguir acesso por nossa senha, 2FA ou alguma ordem judicial de algum país corrupto para acessar ilegalmente e injustamente esses dados. Com esse acesso, eles vão saber tudo o que falamos e acessarão quando quiserem, mas isso é quebrado usando o PGP fora das aplicações com Kleopatra ou manualmente por linha de comando, e enviando sobre a criptografia dos aplicativos. (pgp over pgp)
Quando os atacantes acessarem ilegalmente os emails e aplicativos, vão quebrar a cara...
Vamos prosseguir com a negociação secreta de criptografias para nossa própria segurança.
Ciclano à disposição para negociação secreta em cripto...
Agora basta Fulano (você) continuar a enviar mensagens criptografadas para a chave pública de Ciclano e a descriptografar as próximas respostas, enquanto Ciclano faz o mesmo procedimento com fulano.
Encriptação:
Você pode:
Vá em sign/encrypt para encriptar um arquivo sozinho.
Ou vá em sign/encrypt folder para encriptar uma pasta, compactando e encriptando todos os arquivos como o zip e .tar fazem, mas encriptando com as chaves PGP!
Na caixa de diálogo final, em output, coloque o nome e destino final para o arquivo encriptado!
Decriptação:
Vá em file, Decrypt/Verify:
Selecione o arquivo .gpg ou pasta encriptada, geralmente com a extensão .tar.gpg (no nosso exemplo, salvado e encriptado como TUTORIAL_SITE_PGP.tar.gpg).
Após acionar a decriptação, em output file, escolha o local onde deseja salvar a pasta com arquivos ou o arquivo.
Exemplo de uso:
O sistema operacional Tails Linux.
No site do Tails, na página https://tails.net/install/linux/index.en.html, vá para "Verify Downloads" e você encontrará os links para baixar:
- A chave pública (OpenPGP signing key) usada pelos desenvolvedores para assinar o Tails, com extensão .key
- A assinatura com extensão .sig (OpenPGP signature), que foi usada para assinar a imagem do sistema operacional Tails junto com a chave pública
O usuário deve então baixar o Tails em formato .img, a chave pública e a assinatura, e verificar a integridade do arquivo no Kleopatra.
Aqui está um exemplo do processo para o Tails:
A verificação será realizada conforme mostrado na foto abaixo.
Observação: As assinaturas ou chaves públicas podem estar em .asc, .key ou .sig. A verificação funcionará no Kleopatra para todas essas extensões. Por padrão, o Kleopatra gera as assinaturas que você criar com a extensão .sig.
Utilizaremos o arquivo tutorial_kleopatra.txt
, criado especificamente para este tutorial.
Antes, você precisará ter suas chaves pública e privada importadas para o Kleopatra.
Clique em Sign/Encrypt ou vá em File e selecione Sign/Encrypt.
Marque apenas a opção: Sign As:
E selecione sua chave pública para assinar!
Deixe todas as outras opções desmarcadas, conforme mostrado na figura abaixo.
Escolha e navegue até o local onde deseja guardar o arquivo de assinatura .sig.
Depois de gerar o arquivo .sig, basta compartilhá-lo com seus destinatários junto com sua chave pública PGP para que eles possam verificar a integridade dos arquivos.
O que é um certificado de revogação?
Um certificado de revogação PGP é um documento usado para invalidar uma chave pública que foi previamente publicada. Quando você revoga uma chave pública, está essencialmente declarando que a chave não deve mais ser usada para verificar assinaturas ou criptografar mensagens.
Servidores Públicos PGP Online: Para que Servem?
Você pode publicar suas chaves públicas nesses servidores, associando-as ao seu e-mail, nome ou marca, permitindo que outras pessoas encontrem e baixem sua chave pública.
Antes de enviar uma chave pública para um servidor PGP público, é importante criar um certificado de revogação.
Caso precise cancelar sua chave pública, basta fazer o upload do certificado de revogação associado à sua chave pública. Quando as pessoas baixarem sua chave pública para verificar arquivos, softwares ou criptografar mensagens para você, o PGP não funcionará e o motivo estará indicado na revogação da sua chave pública.
Isso é especialmente útil se sua chave pública e privada tiverem sido comprometidas, confiscadas ou roubadas, e os atacantes estiverem usando-a de forma maliciosa. Ao revogar a chave, você impede que o atacante utilize sua chave pública contra as pessoas que a usam para os fins apropriados.
Criar Certificado de Revogação no Kleopatra
No painel principal, onde estão listadas todas as chaves públicas e suas chaves, selecione a chave para a qual deseja criar um certificado de revogação.
Clique com o botão direito e selecione Details.
Clique em Generate Revocation Certificate.
Escolha um nome para o arquivo, com extensão .asc
, escolha um local e salve o arquivo.
Por exemplo: revoke.asc
(nome escolhido para este tutorial).
Embora o Kleopatra tenha essa função, muitas vezes não funciona corretamente, e há vários fóruns na internet reclamando que o Kleopatra não gera um certificado de revogação!
A solução é realizar o processo por meio da linha de comando.
No Linux ou Tails, abra o terminal e digite:
gpg --fingerprint
(para verificar o fingerprint da sua chave pública cadastrada)gpg --list-keys
(para verificar o fingerprint e o e-mail da sua chave pública, necessário para criar o certificado de revogação)No nosso tutorial, o certificado será para a chave associada ao email fulano@gmail.com
. O comando será:
gpg --output ~/Downloads/revoke.asc --gen-revoke fulano@gmail.com
Este comando salvará o certificado de revogação na pasta Downloads
do usuário no seu Linux ou Tails (usuário amnesia
). Se desejar salvar em outro local, basta alterar o caminho no comando.
Você pode criar o certificado de revogação sem comentários iniciais, mas também pode adicionar um motivo para a revogação, como mostrado na figura abaixo, para que os usuários saibam o motivo da revogação da chave.
Para que a revogação bloqueie o uso de sua chave pública, você precisará importar o certificado de revogação para o servidor PGP público que contém sua chave pública, a qual está sendo usada por outras pessoas.
Publicando Sua Chave Pública em Servidores PGP Online
Aqui está uma lista de alguns servidores públicos de chaves PGP:
Cadastre o servidor desejado no Kleopatra antes de publicar a chave.
Vamos usar como exemplo o servidor https://keys.openpgp.org/.
Em Directory Services, cadastre o servidor em OpenPGP KeyServer como https://keys.openpgp.org/.
Vá em Settings, configure o Kleopatra em GnuPG System, Network, em Use a Keyserver at URL, coloque https://keys.openpgp.org/.
Com a chave pública que deseja publicar no servidor selecionada no painel principal, vá em File e selecione Publish on Server.
A mensagem OpenPGP certificates exported successfully deve aparecer como mostrado na figura abaixo!
No botão Lookup on Server, digite o e-mail associado à chave pública cadastrada. Se nada aparecer, pode ser que tenha ocorrido uma falha e será necessário validar o e-mail. Se o e-mail não tiver chegado, você precisará realizar o processo novamente no site https://keys.openpgp.org/.
Siga os seguintes passos:
Acesse o site https://keys.openpgp.org/ pelo navegador, vá em Upload, e envie sua chave pública diretamente para o servidor.
O servidor solicitará uma confirmação para enviar um e-mail para validar o cadastro da sua chave pública. Como o e-mail fulano@gmail.com
(fictício para o tutorial) não existe, utilizei o e-mail adicional leandrobovespa100@gmail.com
para confirmar o cadastro da chave. Após confirmar o recebimento do e-mail, minha chave pública foi cadastrada no servidor público PGP.
Após confirmar o e-mail clicando no link, aparecerá uma mensagem como esta:
Your key 4C71042FA7340878F0FFD915D9B598AE1C1A268B is now published for the identity leandrobovespa100@gmail.com.
Clicando no botão Lookup on Server e digitando o e-mail associado à sua chave pública cadastrada, você poderá encontrar sua chave pública!
Qualquer pessoa com seu e-mail poderá procurar sua chave oficial pelo e-mail no servidor https://keys.openpgp.org/, direto do Kleopatra ou acessando o site e procurando e importando a chave pública diretamente do servidor. Isso permite verificar arquivos com assinaturas ou criptografar mensagens para você usando sua chave pública.
Após localizar a chave desejada no Kleopatra, clique no botão Import para adicionar a chave pública ao banco de dados do seu Kleopatra.
Lembre-se: para as buscas funcionarem, você precisa cadastrar o servidor PGP público no Kleopatra, conforme ensinado anteriormente. No nosso exemplo, o servidor é https://keys.openpgp.org/.
Vá em File, selecione Import e escolha o certificado de revogação criado. No nosso tutorial, será o revoke.asc
salvado em ~/Downloads
.
Após importar o certificado de revogação no Kleopatra, você verá que a chave estará descrita como revoked na coluna User-IDs.
Vamos publicar a chave no KeyServer público https://keys.openpgp.org/ novamente. Quando as pessoas baixarem a chave pública, elas encontrarão uma chave revoked no Kleopatra e não conseguirão usá-la para verificar assinaturas, arquivos ou criptografar mensagens para você.
Na figura abaixo, a tentativa de verificar a assinatura de um arquivo falhou após a chave pública ser revogada!
Para maior segurança, faça o upload do certificado de revogação no site do servidor PGP que você escolheu, manualmente pelo navegador. No nosso tutorial, usamos https://keys.openpgp.org. Isso garante que as pessoas não baixem a chave pública antiga não revogada!
Doar monero para ajudar no crescimento desse projeto: Clique aqui!