Como fazer backup e restaurar suas chaves GPG no Linux
Publicados: 2022-08-18 Privacidade é um tema cada vez mais quente. No Linux, o comando gpg
permite que os usuários criptografem arquivos usando criptografia de chave pública, caso em que perder suas chaves de criptografia seria catastrófico. Veja como fazer backup deles.
Guarda de Privacidade OpenPGP e GNU
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 eles 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 chamado criptografia de chave pública. A implementação do GNU Privacy Guard desse padrão resultou no gpg
, 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 chamado de “chave pública”, existem duas chaves envolvidas. Cada pessoa tem uma chave pública e uma chave privada. As chaves privadas, como o nome sugere, nunca são reveladas nem transmitidas a mais 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 combinado e vinculadas a uma identidade específica. Mesmo que você não transmita material confidencial para outras pessoas, você pode usá-lo em seu próprio computador para adicionar uma camada extra de proteção a documentos particulares.
A criptografia usa algoritmos de classe mundial e funções criptográficas. Sem as chaves públicas e privadas apropriadas, você simplesmente não pode acessar arquivos criptografados. E, se você perder suas chaves, isso vale para você também. 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 pessoal. Esse 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. Quando você gera suas chaves GPG, é solicitada uma senha. Espero que você tenha se lembrado do que é essa senha. Você vai precisar. As entradas no diretório “.gnugp” não podem ser descriptografadas sem ele.
Se usarmos o utilitário tree
para ver o diretório, veremos essa estrutura de subdiretórios e arquivos. Você encontrará uma tree
nos repositórios de sua distribuição se ainda não a tiver em 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 desativação de suas 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 a sua, e alguns metadados sobre elas.
- pubring.kbx~ : Esta é uma cópia de backup de “pubring.kbx”. Ele é atualizado logo antes das alterações serem feitas 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.
Você deve fazer backups regulares e frequentes de seu diretório pessoal de qualquer maneira, incluindo os arquivos e pastas ocultos. Isso fará o backup do diretório “.gnupg” naturalmente.
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 que você as tenha em ambas as máquinas. Afinal, você é você em ambas as máquinas.
Determinando quais chaves fazer backup
Podemos pedir ao gpg
para nos dizer quais chaves estão em seu sistema GPG. Usaremos as opções --list-secret-keys
e as opções --keyid-format LONG
.
gpg --list-secret-keys --keyid-format LONG
Fomos informados de que o GPG está procurando 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 ela pode ser usada para certificação.
- A próxima linha é a impressão digital da chave.
- A linha “uid” contém o ID do proprietário da chave.
- A linha “ssb” mostra a subchave secreta, quando foi criada, e “E”. O “E” indica que pode ser usado para criptografia.
Se você criou vários pares de chaves para uso com diferentes identidades, eles também serão listados. Há apenas um par de chaves para fazer backup para este usuário. O backup incluirá todas as chaves públicas pertencentes a outras pessoas que o proprietário dessa chave coletou e decidiu confiar.
Backup
Podemos pedir ao gpg
para fazer backup de todas as chaves de todas as identidades ou fazer backup das chaves associadas a uma única identidade. Faremos backup da chave privada, da chave secreta e do arquivo de banco de dados de confiança.
Para fazer backup das chaves públicas, use a opção --export
. Também vamos usar as --export-options backup
options. 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 opção --output
. Se não fizermos isso, a saída será 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 na linha de comando. Se você não consegue lembrar qual é o endereço de e-mail, use a opção --list-secret-keys
, conforme descrito acima.
gpg --export --export-options backup --output public.gpg [email protected]
Para fazer backup de nossas chaves privadas, precisamos usar a --export-secret-keys
em vez da opção --export
. 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 com o 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ê mantenha 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
cat trust.gpg
Aqui estão os três arquivos que criamos.
ls -hl *.gpg
Vamos movê-los para outro computador e restaurá-los. Isso estabelecerá nossa identidade nessa 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 elas são duplamente 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. Mas ainda assim, mantenha seus backups seguros e privados.
Copiamos os arquivos para um computador Manjaro 21.
ls *.gpg
Por padrão, 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 é governado pelo programa gpg
, não pelo shell.
Para importar nossas chaves, precisamos usar a opção --import
.
gpg --import public.gpg
Os detalhes da chave são exibidos conforme ela é importada. O arquivo “trustdb.gpg” também é criado para nós. Importar a chave privada é igualmente fácil. Usamos a opção --import
novamente.
gpg --import private.gpg
Somos solicitados a inserir a senha.
Digite-o no campo “Passphrase”, 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 de confiança, digite:
gpg --import-ownertrust trust.gpg
Podemos verificar se tudo foi importado corretamente usando a opção --list-secret-keys
mais uma vez.
gpg --list-secret-keys --keyid-format LONG
Isso nos dá exatamente a mesma saída que vimos em nosso computador Ubuntu anteriormente.
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 novo, certifique-se de saber como transferir suas chaves para a nova máquina.
RELACIONADO: Como fazer backup do seu sistema Linux com rsync