A privacidade é um tema cada vez mais quente. No Linux, o gpg
comando permite que os usuários criptografem arquivos usando criptografia de chave pública; nesse caso, perder suas chaves de criptografia seria catastrófico. Veja como fazer backup deles.
Índice
OpenPGP e GNU Privacy Guard
Uma das vantagens dos arquivos eletrônicos em relação às cópias impressas em papel é que você pode criptografar os arquivos eletrônicos para que sejam acessíveis apenas por pessoas autorizadas. Se caírem em mãos erradas, não importa. Somente você e o destinatário pretendido podem acessar o conteúdo dos arquivos.
O padrão OpenPGP descreve um sistema de criptografia denominado criptografia de chave pública. A implementação desse padrão pelo GNU Privacy Guardgpg
resultou em uma ferramenta de linha de comando para criptografar e descriptografar de acordo com o padrão .
O padrão descreve um esquema de criptografia de chave pública. Embora seja chamada de “chave pública”, existem duas chaves envolvidas. Cada pessoa possui uma chave pública e uma chave privada. As chaves privadas, como o nome sugere, nunca são reveladas nem transmitidas a ninguém. As chaves públicas podem ser compartilhadas com segurança. na verdade, as chaves públicas devem ser compartilhadas para que o esquema funcione.
Quando um arquivo é criptografado, a chave privada do remetente e a chave pública do destinatário são usadas no processo de codificação. O arquivo pode então ser entregue ao destinatário. Eles usam sua chave privada e a chave pública do remetente para descriptografar o arquivo.
As chaves públicas e privadas são geradas como um par correspondente e vinculadas a uma identidade específica. Mesmo que você não transmita material confidencial a outras pessoas, poderá usá-lo em seu próprio computador para adicionar uma camada extra de proteção a documentos privados.
A criptografia usa algoritmos e funções criptográficas de classe mundial. Sem as chaves públicas e privadas apropriadas, você simplesmente não conseguirá acessar arquivos criptografados. E se você perder suas chaves, isso também vale para você. Gerar novas chaves não ajudará. Para descriptografar seus arquivos você precisa das chaves que foram usadas no processo de criptografia.
Escusado será dizer que fazer backup de suas chaves é de suma importância, assim como saber como restaurá-las. Veja como realizar essas tarefas.
O diretório .gnupg
Suas chaves são armazenadas em um diretório chamado “.gnupg” em seu diretório inicial. Este diretório também armazenará as chaves públicas de qualquer pessoa que tenha enviado arquivos criptografados para você. Quando você importa suas chaves públicas, elas são adicionadas a um arquivo de banco de dados indexado nesse diretório.
Nada neste diretório é armazenado em texto simples, é claro. Ao gerar suas chaves GPG, você será solicitado a fornecer uma senha. Esperançosamente, você se lembrou qual é essa senha. Você vai precisar disso. As entradas no diretório “.gnugp” não podem ser descriptografadas sem ele.
Se usarmos o
tree
utilitário para examinar o diretório, veremos essa estrutura de subdiretórios e arquivos. Você encontrará
tree
nos repositórios da sua distribuição, caso ainda não o tenha no seu computador.
árvore .gnupg
O conteúdo da árvore de diretórios é:
- openpgp-revocs.d : Este subdiretório contém seu certificado de revogação. Você precisará disso se sua chave privada se tornar de conhecimento comum ou comprometida de outra forma. Seu certificado de revogação é usado no processo de retirada de chaves antigas e adoção de novas chaves.
- private-keys-v1.d : Este subdiretório armazena suas chaves privadas.
- pubring.kbx : um arquivo criptografado. Ele contém chaves públicas, incluindo as suas, e alguns metadados sobre elas.
- pubring.kbx~ : Esta é uma cópia de backup de “pubring.kbx.” Ele é atualizado pouco antes de serem feitas alterações em “pubring.kbx”.
- trustdb.gpg : mantém as relações de confiança que você estabeleceu para suas próprias chaves e para quaisquer chaves públicas aceitas pertencentes a outras pessoas.
De qualquer forma, você deve fazer backups regulares e frequentes do seu diretório pessoal, incluindo os arquivos e pastas ocultos. Isso fará o backup do diretório “.gnupg” normalmente.
Mas você pode pensar que suas chaves GPG são importantes o suficiente para garantir um backup periódico próprio, ou talvez você queira copiar suas chaves do seu desktop para o seu laptop para tê-las em ambas as máquinas. Afinal, você está em ambas as máquinas.
Determinando quais chaves fazer backup
Podemos pedir gpg
para nos informar quais chaves estão em seu sistema GPG. Usaremos as --list-secret-keys
opções e as --keyid-format LONG
opções.
gpg --list-secret-keys --keyid-format LONG
Fomos informados de que o GPG está olhando dentro do arquivo “/home/dave/.gnupg/pubring.kbx”.
Nada do que aparece na tela é sua chave secreta real.
- A linha “sec” (secreta) mostra o número de bits na criptografia (4096 neste exemplo), o ID da chave, a data em que a chave foi criada e “[SC]”. O “S” significa que a chave pode ser usada para assinaturas digitais e o “C” significa que pode ser usada para certificação.
- A próxima linha é a impressão digital principal.
- A linha “uid” contém o ID do proprietário da chave.
- A linha “ssb” mostra a subchave secreta, quando ela foi criada, e “E”. O “E” indica que pode ser usado para criptografia.
Se você criou vários pares de chaves para uso com identidades diferentes, eles também serão listados. Há apenas um par de chaves para fazer backup para este usuário. O backup incluirá quaisquer chaves públicas pertencentes a outras pessoas que o proprietário desta chave tenha coletado e decidido confiar.
Fazendo backup
Podemos solicitar gpg
o backup de todas as chaves de todas as identidades ou o backup das chaves associadas a uma única identidade. Faremos backup da chave privada, da chave secreta e do arquivo do banco de dados confiável.
Para fazer backup das chaves públicas, use a --export
opção. Também vamos usar as --export-options backup
opções. Isso garante que todos os metadados específicos do GPG sejam incluídos para permitir que os arquivos sejam importados corretamente em outro computador.
Especificaremos um arquivo de saída com a --output
opção. Se não fizéssemos isso, a saída seria enviada para a janela do terminal.
gpg --export --export-options backup --output public.gpg
Se você quiser fazer backup das chaves apenas para uma única identidade, adicione o endereço de e-mail associado às chaves à linha de comando. Se você não se lembra qual é o endereço de e-mail, use a --list-secret-keys
opção descrita acima.
gpg --export --export-options backup --output public.gpg dave@madeupdomain.com
Para fazer backup de nossas chaves privadas, precisamos usar a --export-secret-keys
opção em vez da --export
opção. Certifique-se de salvar isso em um arquivo diferente.
gpg --export-secret-keys --export-options backup --output private.gpg
Como esta é sua chave privada, você precisará se autenticar no GPG antes de prosseguir.
Observe que sua senha não está sendo solicitada. O que você precisa inserir é a senha que você forneceu quando criou suas chaves GPG pela primeira vez. Bons gerenciadores de senhas permitem que você guarde informações como essas como notas seguras. É um bom lugar para armazená-los.
Se a senha for aceita, a exportação ocorre.
Para fazer backup de suas relações de confiança, precisamos exportar as configurações do seu arquivo “trustdb.gpg”. Estamos enviando a saída para um arquivo chamado “trust.gpg”. Este é um arquivo de texto. Ele pode ser visualizado usando cat
.
gpg --export-ownertrust > trust.gpg
confiança do gato.gpg
Aqui estão os três arquivos que criamos.
ls -hl *.gpg
Iremos movê-los para outro computador e restaurá-los. Isso estabelecerá nossa identidade naquela máquina e nos permitirá usar nossas chaves GPG existentes.
Se você não estiver movendo as chaves para outro computador e estiver apenas fazendo backup delas porque deseja ter certeza de que estão seguras, copie-as para outra mídia e armazene-as com segurança. Mesmo que caiam em mãos erradas, sua chave pública é pública de qualquer maneira, então não há mal nenhum nisso. E sem sua senha, sua chave privada não pode ser restaurada. Mesmo assim, mantenha seus backups seguros e privados.
Copiamos os arquivos para um computador Manjaro 21.
ls *.gpg
Por padrão, Manjaro 21 usa o shell Z , zsh
e é por isso que parece diferente. Mas isso não importa, não afetará nada. O que estamos fazendo é regido pelo gpg
programa, não pelo shell.
Para importar nossas chaves, precisamos usar a --import
opção.
gpg --importar público.gpg
Os detalhes da chave são exibidos à medida que ela é importada. O arquivo “trustdb.gpg” também foi criado para nós. Importar a chave privada é igualmente fácil. Usamos a --import
opção novamente.
gpg --importar privado.gpg
Somos solicitados a inserir a senha.
Digite-o no campo “Senha”, pressione a tecla “Tab” e pressione “Enter”.
Os detalhes das chaves importadas são exibidos. No nosso caso, temos apenas uma chave.
Para importar nosso banco de dados confiável, digite:
gpg --import-ownertrust trust.gpg
Podemos verificar se tudo foi importado corretamente usando a --list-secret-keys
opção mais uma vez.
gpg --list-secret-keys --keyid-format LONG
Isso nos dá exatamente a mesma saída que vimos anteriormente em nosso computador Ubuntu.
Proteja sua privacidade
Certifique-se de que suas chaves GPG estejam seguras fazendo backup delas. Se você tiver um desastre no computador ou apenas atualizar para um modelo mais recente, certifique-se de saber como transferir suas chaves para a nova máquina.