gpg Chave Pública
Julho 5, 2006 at 2:27 am | In Linux | 1 CommentCriando sua Chave Pública
Uma breve e resumida história sobre criptografia. A criptografia foi primeiro inventada na época de Roma com o imperador César. Ele enviava mensagens para as pessoas cifrado da seguinte maneira, escrevia a mensagem depois jogava 3 caracteres a mais no texto. Para a sua época isso era difícil de detectar. Com o computador a técnica foi muito aprofundada, através de complexos cálculos matemáticos a mensagem fica cifrada.
Foi criado então o conceito de criptografia com Chave Pública. Nessa método são criadas duas Chaves a Pública e a Privada. A chave privada nunca deve ser informada a ninguém, ao contrário da pública. Como funciona?
Existem duas possibilidades. Se eu quiser dá autenticidade a uma informação usarei minha Chave Privada para assinar e enviarei, no rodapé da mensagem irão alguns códigos que poderão ser conferidos por quem receber a mensagem. Quem receber pode então ir ao servidor onde eu deixei minha chave pública, no caso no eu uso o wwwkeys.us.pgp.net, mas há vários, e pegar minha chave pública e através de um método fazer a contraprova para saber se fui eu mesmo que enviei a mensagem.
A segunda possibilidade seria caso alguém queira me enviar uma informação e queira que somente eu possa vê-la. Para isso, quem quiser me enviar uma mensagem irá pegar a minha chave pública, cifrar a mensagem e me enviar. Como só eu tenho a minha chave privada, caso alguém veja a mensagem nunca poderá decifrá-la. Garantirá assim segurança e privacidade a mensagem.
Bem, depois da breve histório e de uma breve informação do uso de Chave Pública, agora vamos gerar nosso par de Chaves. Usarei o algoritmo OpenPGP, por ser livre.
No ubuntu vamos baixar o OpenPGP:
$ sudo apt-get install gnupg
Para ele criar o diretório onde serão geradas as nossas chaves:
$ gpg
Agora vamos começar a criar nossas Chaves:
$ gpg –gen-key
Caso esteja tudo correto ele irá mostrar a seguinte tela:
Por favor selecione o tipo de chave desejado:
(1) DSA e Elgamal (padrão)
(2) DSA (apenas assinatura)
(5) RSA (apenas assinar)
Sua opção?
Vamos usar a opção 1 por ser fácil e muito útil. Logo em seguida a tela será:
par de chaves DSA vai ter 1024 bits.
ELG-E chaves podem ter o seu comprimento entre 1024 e 4096 bits.↵
Que tamanho de chave você quer? (2048)
O tamanho de chave pedido é 2048 bits
Eu uso 2048, que já é bem seguro, mas pode aumentar se desejar. Na próxima tela mostrará se sua chave expira ou não, no caso a minha eu escolhi que não expira como segue abaixo:
Por favor especifique por quanto tempo a chave deve ser válida.
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
A chave é valida por? (0)
Por ter escolhido que não expira ele vai questionar se realmente desejo que ela não expire, confime, como baixo:
A chave não expira nunca
Está correto (s/N)? s
Agora ele irá pedir informações a seu respeito como segue abaixo:
Nome completo: Monteiro Lobato <enter>
Endereço de correio eletrônico: monteirolobato@sitiodopicapauamarelo.com <enter>
Comentário: <enter>
Você selecionou este identificador de usuário:
“Monteiro Lobato <monteirolobato@sitiodopicapauamarelo.com>”
Muda (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? O <enter>
Depois de confirmar ele vai pedir a sua frase secreta, essa parte é muito importante, pois caso você escreva algo e não lembre você perde a sua chave privada e fica sem poder utilizá-la, a pertunta será como baixo:
Digite a frase secreta:
Haverá um pedido de confirmação como abaixo:
Repita a frase secreta:
Neste momento a sua chave privada e pública estará sendo gerada, é possível que ele pare e peça para que você faça outras coisas, fique mexendo o mouse, pois dentre os cálculos de criação da chave ele pega as posições do mouse e isso ajudará na criação da sua chave.
Depois de criada a sua chaves chave é hora de mandar para um servidor para que assim a parte pública da sua chave possa ser disponibilizada para todas as pessoas.
Para enviar vamos fazer da seguinte mandeira, pegue e anote o seu ID, faça o seguinte comando:
$ gpg –list-keys
pub 1024D/CBA4A5BF 2006-07-02
uid Monteiro Lobato <monteirolobato@sitiodopicapauamarelo.com>
sub 2048g/84E0D512 2006-07-02
No nosso caso a sua chave pública é CBA4A5BF, anote pois esse é o seu ID. Para enviar para o servidor faça o seguinte:
$gpg –send-key key-id
Onde key-id será CBA4A5BF, no nosso exemplo.
Pronto, criamos a chave pública e privada, e armazenamosa sua chave pública no servidor gpg.
Legal, eu tenho uma chave privada só minha e uma pública no servidor, o que eu faço com isso?
Agora vem a parte legal de tudo isso.
Eu quero assinar um arquivo, ou seja, dá a certeza a alguém que eu realmente fui lá e enviei esse arquivo.
Pega o arquivo que você deseja, vamos supor, arquivo.txt e faça o seguinte:
$gpg –clearsign arquivo
Com o comando acima será então criado o arquivo.asc, você então irá enviar o arquivo criado para o seu destino, que nada mais é do que o mesmo arquivo inicial, mas agora com vários caracteres que para quem olha e não entende não fará o mínimo sentido, mas caso alguém queira ver a autenticidade do arquivo poderá então fazê-lo a partir da assinatura que o arquivo possui. O código para verificar segue abaixo:
$gpg –output arquivo_decodificado –decrypt arquivo_assinado
O arquivo_assinado no nosso caso é o arquivo.asc que foi recebido. O arquivo_decodificado terá o nome que você decidirá, de forma clara e sem a assinatura. Caso a assinatura não confira dará erro no código acima, uma das mensagens pode ser a que segue abaixo:
gpg: erro de CRC; 440889 – ABB61F
gpg: [don't know]: invalid packet (ctb=0f)
Agora vamos tirar a nossa chave do chaveiro:
$gpg –export -a usuário >chave-pub.txt
Você pode enviar o arquivo txt para as pessoas caso elas não queiram baixar sua chave do servidor que você usa.
Boa sorte.
Source.list Dapper
Julho 5, 2006 at 1:15 am | In Linux | Leave a Commentdeb http://us.archive.ubuntu.com/ubuntu dapper main restricted
deb-src http://us.archive.ubuntu.com/ubuntu dapper main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb http://br.archive.ubuntu.com/ubuntu dapper-updates main restricted
deb-src http://br.archive.ubuntu.com/ubuntu dapper-updates main restricted
## Uncomment the following two lines to add software from the universe
## repository.
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb http://br.archive.ubuntu.com/ubuntu dapper universe
deb-src http://br.archive.ubuntu.com/ubuntu dapper universe
## Uncomment the following two lines to add software from the backports
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://br.archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
deb-src http://br.archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu dapper-security main restricted
deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted
deb http://security.ubuntu.com/ubuntu dapper-security universe
deb-src http://security.ubuntu.com/ubuntu dapper-security universe
deb http://archive.ubuntu.com/ubuntu dapper multiverse
deb-src http://archive.ubuntu.com/ubuntu dapper multiverse
## Backports
deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverser
Blog no WordPress.com. | Theme: Pool by Borja Fernandez.
Entries and comments feeds.