tempo de leitura:

Antes de mais nada…

É necessário verificar se o pacote gnupg está instalado. Se você usa Conectiva ou Red Hat utilize o comando rpm -qi gnupg para verificar. Caso este pacote não esteja instalado você poderá fazê-lo com o pacote RPM contido dentro do CD de instalação da sua distro, ou então baixar o código fonte no site oficial do gnupg, e compilar.

Criando sua Chave

Para que você possa criptografar ou assinar mensagens e/ou arquivos, faz-se necessário a criação de um Chaveiro Digital. Ao criar seu Chaveiro Digital, você terá um par de chaves: uma Pública e uma Privada. A Chave Pública, como o nome diz, é a chave que você deixará disponível, pois é com esta chave que outros usuários poderão confirmar a autenticidade de suas mensagens ou criptografar documentos para você. A Chave Privada será utilizada só por você, é com ela que você assinará suas mensagens ou abrirá os documentos que foram criptografados com sua chave pública. Para criar seu chaveiro, utilize o parâmetro –gen-key do gnupg, serão solicitadas algumas informações, conforme descrito abaixo:

$ gpg --gen-key

gpg (GnuPG) 1.0.1; Copyright (C) 1999 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
Your selection?

Aqui você deverá escolher o algoritmo a ser utilizado para a criação de sua chave. É aconselhável escolher o DSA and ElGamal, pois é utilizado tanto para assinar uma mensagem, quanto para criptografar um arquivo ou mensagem. Em seguida será questionado o tamanho da chave em bits. Valores superiores a 1024 são seguros quanto a ataques de força bruta. Após isto, será solicitada a “validade” da chave, isto depende de cada usuário. Dando continuidade serão solicitadas informações pessoais para a criação da chave.

You need a User-ID to identify your key;
the software constructs the user id from Real Name, Comment and Email Address in this form:
"Heinrich Heine (Der Dichter) <[email protected]>"
Real name: Jose Morelli Neto
Email address: [email protected]
Comment: Univali
You selected this USER-ID:
"Jose Morelli Neto (Univali) <[email protected]>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit?

É importante ressaltar que você poderá ter várias chaves para diferentes situações. Os dados solicitados são Nome, E-mail e Comentário, que descreve o uso de sua chave. Por fim será solicitado sua Passphrase. A Passphrase nada mais é que a senha da sua chave, então nada de senhas simples. Esta senha é solicitada duas vezes. Se você receber a mensagem “Public and secret key created and signed…” sua chave foi criada com sucesso.

Exportando sua chave pública

Em um Arquivo O comando abaixo copiará sua chave pública para o arquivo chave_publica. Com isso, você poderá disponibilizar este arquivo para qualquer pessoa. O parâmetro –export indica que a chave será exportada do chaveiro, -a indica que a saída se dará em um arquivo ASCII, que poderá ser aberto em qualquer editor de texto, -o informa qual será o nome do arquivo de saída.

$ gpg -export -a -o chave_publica neto

Em um Servidor Para disponibilizar sua chave em um servidor, onde várias pessoas poderão acessá-la, existem duas maneiras: via comando e via página. Para enviá-la via comando:

$ gpg --key-server www.keyserver.net --send-keys neto

Por comando varia muito do servidor. No servidor do exemplo acima, este comando não funcionará. Neste caso você poderá acessar o endereço www.keyserver.net/en e selecionar no menu superior a opção Add a Key. Basta copiar sua assinatura e colá-la na caixa de texto. Após pressionar o botão submit, sua chave já estará disponível para uso. Existem vários servidores de chaves, porém não é necessário adicionar sua chave em mais de um servidor, pois todos os servidores sincronizam as chaves armazenadas entre si.

Importando uma chave pública

De um Arquivo Se você possui um arquivo texto com a chave pública que gostaria de adicionar ao seu chaveiro digital, basta utilizar o parâmetro –import seguido do nome do arquivo que contém a chave pública do usuário.

$ gpg --import arq.asc

Onde arq.asc é o arquivo com a chave pública do usuário que você deseja adicionar ao seu chaveiro.

De um Servidor Se você sabe a KeyID de um usuário e gostaria de adicioná-la ao seu chaveiro via servidor, você poderá, por exemplo, utilizar o comando:

$ gpg --keyserver www.keyserver.net --recv-key 914CF071

Cifrando e Decifrando um arquivo

Como exemplo, vamos imaginar que queremos cifrar um arquivo cujo nome seja documento.txt com a chave pública do usuário Fernando. Para isso usa-se o comando:

$ gpg -r fernando --encrypt documento.txt

O parâmetro -r indica para qual usuário deverá ser cifrado o arquivo, e o –encrypt indica que o arquivo será cifrado. Após ele efetuar a cifragem, será criado um arquivo com o nome documento.txt.gpg que estará cifrado. Para decifrar o arquivo, basta utilizar o comando:

$ gpg -o documento.txt --decrypt documento.txt.gpg

Assinando um arquivo

Podemos também assinar digitalmente um arquivo, garantindo assim a veracidade das informações contidas no mesmo. A assinatura poderá ser feita com ou sem a criptografia do mesmo. Para assinarmos um arquivo utilizamos o comando:

$ gpg --clearsign documento.txt

Se abrirmos o arquivo em algum editor de texto, podemos observar que o mesmo possui um cabeçalho e um rodapé. Entre eles estará o nosso texto. Podemos também assinar um arquivo binário, de imagem ou aúdio. Para isso utiliza-se o comando:

$ gpg --detach-sign arq.tar.gz

Desta forma será criado um arquivo com o nome arq.tar.gz.sig que conterá a assinatura referente ao arquivo binário. Se quisermos verificar a autenticidade de um aquivo, podemos utilizar o comando:

$ gpg -verify arq.tar.gz.sig
gpg: Assinatura feita em Qua 10 Jul 2002 15:43:03 UTC usando DSA, ID da chave 914CF071
gpg: Assinatura correta de "Jose Morelli Neto (Univali) <[email protected]>"

Um detalhe: quando geramos arquivos cifrados ou assinaturas de arquivos binários, podemos notar que estes possuem uma forma ilegível (extensão .gpg ou .sig). Para gerar arquivos que possam ser abertos em qualquer editor de texto, não se esqueça de utilizar o parâmetro -a que ficará com extensão .asc.

Listando chaves

Para que você possa verificar todas as chaves existentes em seu chaveiro digital, utilize o comando:

$ gpg --list-key

Editando Chaves

Quando adicionamos uma chave ao nosso chaveiro, devemos assinar esta chave, informando que confiamos na origem da mesma. Para isso, deveremos editá-la:

$ gpg --edit-key D02361C9
gpg (GnuPG) 1.0.6; Copyright (C) 2001 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.
pub 1024R/D02361C9 created: 2001-09-06 expires: 2002-10-01 trust: -/f
(1). CERT Coordination Center <[email protected]]] >
Comando>

Pode-se notar que a chave editada não apresenta nenhuma confiança (trust : -/f). Para reverter esta situação, basta executar o comando trust no prompt Comando>. Além disso, devemos assinar a chave de algum usuário para garantir que confiamos nesta chave. Para isso usamos o comando lsign que assina a chave do usuário localmente. Ao final, podemos sair e salvar com o comando save. Qualquer dúvida sobre os comandos utilizados no momento de edição, basta digitar help seguido da tecla Enter.

Utilizando assinaturas no Kmail

É muito simples utilizarmos assinatura no Kmail, primeiro abrimos o menu Configurações -> Configurar Kmail. Na opção Identidade, aba Avançado, na linha Chave OpenPGP, clique no botão [Modificar] … . Neste momento você deverá escolher qual a chave que será utilizada para assinar suas mensagens. Existem outras configurações nas opções Compositor e Segurança, mas não precisam ser alteradas, apenas é aconselhável verificá-las, pois podem facilitar a vida. Ao redigir uma mensagem, você poderá notar que os dois ícones ao final da barra de ferramentas referem-se à assinar ou cifrar a mensagem, podendo ser utilizados conforme a necessidade.

Considerações Finais

Este documento não é recomendado como única fonte de informação sobre o uso da ferramenta GnuPG ou sobre criptosistemas. É aconselhável que você procure maiores informações na manpage do comando, ou nos vários documentos sobre criptografia disponibilizados na internet. Este texto visa apresentar uma introdução inicial sobre o uso desta ferramenta.

Referências

Blog Logo

José Morelli Neto


Publicado em

Image

Notas do Neto

De tudo um pouco...

Ir para início