Criando assinaturas para autenticidade e segurança

Publicado por Priscilla Pedde em 04/11/2009

[ Hits: 6.555 ]

 


Criando assinaturas para autenticidade e segurança



O pacote GnuPG é a mais popular e completa implementação de código aberto do padrão OpenPGP. Com o GnuPG é possível assinar e codificar arquivos ou mensagens para garantir a autenticidade e segurança dos mesmos. Isso é feito baseado no conceito de chave pública e secreta, onde a chave é de conhecimento apenas de seu proprietário e a respectiva chave pública pode ser utilizada pelas demais pessoas para garantir a autenticidade desde proprietário.

O comando gpg agrega todas as funções do GnuPG. Ele é usado para gerar as chaves, exportá-las, importá-las, assinar e codificar dados.

Criando as chaves

1 - Devemos primeiramente criar o par chave secreta e chave pública:

gpg --gen-key

Obs.: Algumas literaturas especializadas recomendam a utilização da chave padrão DSA e Elgamal, devido sua versatilidade.

2 - Agora deve-se escolher o tamanho da chave. Ex.: par de chaves DSA vai ter 1024 bits.

Obs.: Tamanhos sugeridos maiores também são adequados, pois tornam a quebra da criptografia um pouco mais difícil.

3 - A chave pode ter um prazo de validade ou jamais expirar. Ex.: A chave é válida por?
  • 0 = chave não expira
  • <n> = chave expira em n dias
  • <n>w = chave expira em n semanas
  • <n>m = chave expira em n meses
  • <n>y = chave expira em n anos

Nas etapas finais será necessário informar alguns dados pessoais (nome, email, descrição e a passphrase, que é a senha com a qual as chaves serão geradas.

4 - O diretório onde fica a configuração do GnuPG é: ~/.gnupg

5 - Listar as chaves presentes:

gpg --list-keys

6 - Serão apresentadas 3 linhas, no início da primeira está escrito pub "1024/F44AD97E YYYY-MM-DD", segunda linha terá uid, onde estará escrito o nome do dono da chave, terceira linha terá sub "4096/8E19790C YYYY/MM/DD.

O código F44AD97E na linha pub é a identificação da chave. Arquivo do chaveiro: ~/.gnupg/pubring.gpg

Exportando a chave

1 - Para que outra pessoa possa verificar os dados assinados, será necessário que tenha acesso à chave pública do usuário em questão. Por isso a necessidade da chave pública ser exportada:

gpg --output ppedde.gpg --export ppedde

2 - Para exportar chave como texto, útil para enviar no corpo do email:

gpg --armor --output ppedde.gpg.asc --export ppedde

3 - Exportando a chave pública para um servidor remoto:

gpg --send-keys F44AD97E
gpg: sending key F44AD97E to hkp server keys.gnupg.net

Importando a chave

1 - Após feita a verificação da autenticidade do arquivo importado é necessário importá-la:

gpg --import phess.gpg

2 - Importando a chave a partir do servidor de chaves:

gpg --recv-keys 8A98A584

A importação da chave fica armazenada no chaveiro ~/.gnupg/pubring.gpg

3 - Listando a chave:

gpg --list-keys
/home/ppedde/.gnupg/pubring.gpg

4 - Após importada deve ser assinada para garantir sua autenticidade:

gpg --sign-key 8A98A584

É recomendável enviar a chave assinada de volta para o servidor. Assim, a chave pública ganha mais credibilidade na medida em que mais usuários a assinam e devolvem ao servidor.

Será feita a verificação de correspondência e entre o arquivo criptografado com a chave pública e a chave secreta local. Se a verificação for bem sucedida, bastará ao usuário fornecer sua passphrase e terá criado o arquivo com conteúdo descriptografado.

Outras dicas deste autor

Corrigindo erros no módulo do VirtualBox (Ubuntu)

Traduzindo Thunderbird para pt_BR na velocidade da luz

Trocando letrinhas em segundos (sed)

Madwifi - Debian Etch

Links simbólicos e hard links

Leitura recomendada

Script gerador de código fonte em ANSI C

FreeRADIUS + PostgreSQL 10

Escolhendo o melhor servidor de atualização do Ubuntu

Soluções alternativas no Kurumin

Hack 'n' Cast v0.3 - Introdução ao GNU/Linux

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts