Os meios criptográficos de proteção de informações são a base do sistema de proteção do sistema de informações. Eles possibilitam a transmissão segura de dados via VPN, o armazenamento confiável de dados em formato criptografado em dispositivos de computação, a transmissão segura de cartas com criptografia. E também permitem que você coloque uma assinatura digital, que confirmará a integridade e a autenticidade dos dados transmitidos.
Uma dessas soluções é o GPG ou GNU Privacy Guard, que é uma implementação aberta de um sistema de criptografia. Um conjunto de módulos que permite realizar transformações criptográficas: criptografia, assinatura, armazenamento de chaves públicas e privadas. Os dois últimos módulos são parte integrante de qualquer ferramenta. No GPG, ele é chamado de anel de chaves!
O que é um chaveiro GPG?
O chaveiro GPG, ou literalmente chaveiro, é um conjunto de chaves públicas e privadas, cujas informações são armazenadas em arquivos. Para uma interação mais conveniente e segura, as chaves públicas e secretas são separadas em dois locais de armazenamento diferentes, uma base com chaves públicas e uma pasta com chaves privadas:
- pubring.kbx
- private-keys-v1.d
Considerando as especificidades de como as chaves públicas são usadas, elas precisam ser acessadas constantemente, portanto, não são armazenadas de forma criptografada, ao contrário das chaves secretas. Entretanto, a capacidade de falsificar uma chave pública fornece um novo vetor de ataque e dados confidenciais podem ser enviados ao invasor.
[importante] Portanto, é importante garantir que o acesso seja diferenciado corretamente! [/importante]
As chaves privadas exigem medidas de segurança rigorosas, portanto, cada chave é armazenada separadamente e criptografada com uma senha definida pelo usuário. A segurança se baseia em uma senha complexa, uma chave criptografada e a mesma delimitação de acesso.
Para visualizar a lista de mapeamentos de chaves públicas e privadas, use o comando para chaves públicas e secretas:
gpg -K && gpg -k
Na imagem, você pode ver que as informações sobre mapeamentos foram obtidas do pubring.kbx, pois ele armazena chaves públicas e informações relacionadas a elas, o que permite determinar a propriedade da chave. Incluindo chaves secretas, seus valores de hash e UIDs dos usuários que as possuem.
Como faço para importar um chaveiro GPG?
Para fazer isso, você pode usar o comando:
gpg --import <file>
No entanto, é necessário fazer o download da chave com antecedência, e isso gera uma nova dificuldade. Como fazer isso com segurança? Afinal, ao falsificar a conexão com o servidor Mitm com um ataque, o invasor enviará o malware e uma chave diferente, disfarçada de genuína. Há dois métodos de distribuição para isso:
- Teia de confiança;
- um terceiro ou um centro de certificação.
Nesses tipos de transferência, há objetos confiáveis e não confiáveis; no método Web of Trust, confiamos no site oficial da empresa ou em seus intermediários. Vamos considerar a importação segura de chaves no exemplo do banco de dados MySql. Para fazer isso, vamos acessar o site da empresa e nos certificar de que o protocolo https usado e o certificado pertencem à organização:
Ótimo, a Oracle é proprietária do MySQL, portanto, se confiarmos na autoridade de certificação onde a verificação foi realizada, podemos continuar. Vamos para a guia que oferece várias maneiras de usar a chave pública. Normalmente, há três opções:
Copiar do site, a fim de eliminar a transmissão adicional por um canal de comunicação não confiável e evitar novos vetores de ataque com falsificação de arquivos no host. O site do MySQL fornece um exemplo:
Normalmente, uma chave exclusiva é formada e todos os arquivos e pacotes necessários são assinados com ela. Nesse caso, vamos copiar a chave e ir para o nosso dispositivo onde precisamos adicioná-la. Para uma demonstração mais clara, todas as etapas do tutorial podem ser executadas em servidores de nuvem avançados.
Levará algum tempo para implementar a capacidade do servidor. Depois disso, você pode se conectar de qualquer uma das formas convenientes. E vamos passar para o terminal com nosso sistema operacional!
Vamos criar um arquivo chamado key.gpg. Você pode escolher como nomear o arquivo, mas o formato deve ser .gpg. É isso que será usado na importação:
nano key.pgp

Um editor de texto será aberto, cole a chave pública e importe-a com o comando:
gpg --import <file>
O desarmamento é o processo de conversão do formato de origem para o formato de destino:
gpg --dearmor <filename.pgp> -o /usr/share/key.gpg && gpg --import
/usr/share/key.gpg
Depois disso, a importação da chave será realizada:
Depois disso, podemos usá-lo!
Como faço para remover o chaveiro GPG?
Para remover uma chave de um chaveiro, você precisa especificar o proprietário ou o ID da chave no comando:
gpg --delete-secrete-key <key-id>
.
E para chaves públicas:
gpg --delete-key <key-id>
Todas as informações importantes podem ser visualizadas com o comando nas instruções acima!
Como faço para exportar meu chaveiro GPG?
Para exportar chaves, precisamos de dois comandos, para chaves públicas:
gpg -a --export <key-id> > pub_key.asc
A opção -a permite armar a chave em ASCII e transmiti-la por correio, messenger ou publicá-la em seu site.
gpg -a --export-secret-keys <key-id> > secret_key.asc
Observe que, na maioria dos casos, a chave secreta quase sempre permanecerá na máquina, exceto quando você precisar delegar sua assinatura ou descriptografia de mensagens cifradas a um objeto confiável.