O que é o GnuPG?
O GnuPG (GNU Privacy Guard) é uma ferramenta livre e gratuita para comunicação e armazenamento seguro de dados, que pode ser usado pela linha de comando para criptografar dados e criar assinaturas digitais.
O GnuPG utiliza um método de criptografia conhecido como chave assimétrica, em que duas chaves são criadas: a primeira, pública, serve para que qualquer pessoa codifique mensagens e arquivos de modo que apenas você possa decodificar; a segunda, privada, deve ser mantida em absoluto sigilo e serve para que você decodifique mensagens term papers criptografadas com sua chave pública equivalente. Por isso, esse método também é conhecido como criptografia de chave pública.
Instalando o GnuPG
Aqui o gpg ja veio instalado mais ele pode ser encontrado no repositorio de programas do ubuntu e para instalar basta digitar no terminal
As chaves públicas e privadas são armazenadas nos arquivos pubring.gpg e secring.gpg respectivamente, dentro do subdiretório ~/.gnupg de sua pasta pessoal ($HOME). Convém tirar um cópia de segurança desses arquivos, para isso basta copiar os arquivos citados acima em uma mídia segura (pen-drive, CD-ROM, etc).
# apt-get install gnupg
$ gpg
Gerando suas chaves GnuPG
Para gerar um par de chaves pessoais use o comando:
$ gpg --gen-key
gpg (GnuPG) 1.4.11; Copyright (C) 2010 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Por favor selecione o tipo de chave desejado:
(1) RSA e RSA (padrão)
(2) DSA e Elgamal
(3) DSA (apenas assinatura)
(4) RSA (apenas assinar) Sua opção? 1
Nesse tutorial iremos escolher a opção 1 mais isso vai de acordo com a necessidade de cada pessoa
RSA chaves podem ter o seu comprimento entre 1024 e 4096 bits. Que tamanho de chave você quer? (2048) 2048
Depois de feito isso irar aparecer a opção de por quanto tempo as chaves serão validas
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)
A chave é valida por? (0) 0
A chave não expira nunca
Está correto (s/N)? s
Você precisa de um identificador de usuário para identificar sua chave; o
programa constrói o identificador a partir do Nome Completo, Comentário e
Endereço Eletrônico desta forma:
"Heinrich Heine (Der Dichter) " Nome completo: MMxM~ <enter> Endereço de correio eletrônico: mmedeiros1983@hotmail.com <enter> Comentário: <enter> Você selecionou este identificador de usuário:
"MMxM~ " Muda (N)ome, (C)omentário, (E)ndereço ou (O)k/(S)air? o
Digite a frase secreta: Repita a frase secreta:
Precisamos gerar muitos bytes aleatórios. É uma boa idéia realizar outra
atividade (digitar no teclado, mover o mouse, usar os discos) durante a
geração dos números primos; isso dá ao gerador de números aleatórios
uma chance melhor de conseguir entropia suficiente.
..............+++++
......+++++ Precisamos gerar muitos bytes aleatórios. É uma boa idéia realizar outra
atividade (digitar no teclado, mover o mouse, usar os discos) durante a
geração dos números primos; isso dá ao gerador de números aleatórios
uma chance melhor de conseguir entropia suficiente.
.+++++
.+++++ gpg: chave C8F75708 marcada como plenamente confiável
chaves pública e privada criadas e assinadas. gpg: checando o trustdb
gpg: 3 parcial(is) necessária(s), 1 completa(s) necessária(s), modelo de confiança PGP
gpg: profundidade: 0 válidas: 1 assinadas: 0 confiança: 0-, 0q, 0n, 0m, 0f, 1u
pub 2048R/C8F75708 2012-06-17
Impressão digital da chave: 2412 BFC6 E9BB 2BD4 06DD 29ED F1BC 312C C8F7 5708
uid MMxM~ <mmedeiros1983@hotmail.com> sub 2048R/5DD33612 2012-06-17
Listando Chaves
Para listar as chaves armazenadas, use o comando:
$ gpg --list-keys /home/mmxm/.gnupg/pubring.gpg ----------------------------- pub 2048R/C8F75708 2012-06-17
uid MMxM~ <mmedeiros1983@hotmail.com> sub 2048R/5DD33612 2012-06-17
Nesse exemplo, o key-ID é C8F75708 e o user-ID tanto pode ser o nome: MMxM~ como o e-mail:hchost@hotmail.com
No caso das chaves privadas basta digitar
$ gpg --list-secret-keys /home/mmxm/.gnupg/secring.gpg ----------------------------- sec 2048R/C8F75708 2012-06-17
uid MMxM~ <mmedeiros1983@hotmail.com> ssb 2048R/5DD33612 2012-06-17
Exportando e importando chaves
Exportando chaves pública
Sua chave pública deve ser distribuída a outros usuários para que possam enviar dados criptografados ou checar a autenticidade de seus arquivos. Para exportar sua chave pública em um arquivo que será distribuído a outras pessoas ou servidores de chaves na Internet, use a opção --export:
$ gpg --export -a [key-ID] > chave-pub.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.11 (GNU/Linux)
mQENBE/eJy8BCAC6cfHGs+tZuYDovPcH4ThEdf8A8RbmkC/DSUM15/w80fjsFIZ0
/ws1MrEMtgaW3Or34MGUR3XfzNxDfFaorkk1h6Bn6qkPLHi7gspAUGGXUd87MbDu
iW1g/+/hijRrJkiVEwi6fV3tt+G7q1CG8lryVDSU6Wein6uJ+Eq0SuwP++/w8aJ6
ajlMCDKBvf779uXPYpvTaeB8pQuf0rB0IkaOngJ63xuSOsjQE796Dr0WYJPagWrU
GK8K4yu6wJsNhTZSfed3cWtKHbQvRPMHLRPqbOqAX5SjBoB5pb1Jqg/3lM1741it
N6/L0v91szWr4elVg0I5izJJpz2JdHOdTnhzABEBAAG0IU1NeE1+IDxtbWVkZWly
b3MxOTgzQGhvdG1haWwuY29tPokBOAQTAQIAIgUCT94nLwIbAwYLCQgHAwIGFQgC
CQoLBBYCAwECHgECF4AACgkQ8bwxLMj3Vwg4SAf+O3vJqnc5lwxDwTWqKOrt0xnA
R2lDUxlcaaPYTLjDijeeZyQbqdgokKJNTmaIVut+FNH0FKO4jfSa+oyf0tUY9Oad
m4AdT3zfnDGqfZSYO5UHQ3rc5buGn3ZtoYuEWJ90JovifQxbmXasEvGUZ05OUrDP
t4aA5Eq5vVIgK/nIQS6qHP43z7Q2Y+SHqVe43CPSjv4L4byR3k4GJ3wUjiU2t716
2pCPsMD3PXOQzp+C25a453agCwd1n/xytucsLAyjMzIbo55J2aTEOCzK/YGXbYri
gP6FuTusEY5GAGNK0jlI1Yc4FbAnt8Fc2EQ2FGuWkNQZoqoOT0UKlqqK4bAlb7kB
DQRP3icvAQgAtQKKu28jy1+jW3KuX5vYfuSfK86Qyhp6+RyyDRq5UQ2NP5bUddCH
1ZGNHD1ayWSx23wdojerZtmZxA6B3EAy/x+BjUSMtCMe7ZmxowrATEzR0XcAdSUB
+U/BvxOLLUShCt2rtDplz9Yjp8JUn0gkEbnwEnTLAiUJ3DKOBaYpiwDzUsgKELkQ
u4DOevKx9iVIU1SLp5AJtMajMlrtxMRvi8Z30Qgitml2qf2DZClHxYKtLyWAM0Mv
b1MPiTqovz2IQxFhVXwHPDoM32DbmxHrmL2z18kWRx8VQZbboja1gqL70aJgVt1l
/3oKoIaS3dNYx0tOCDnDGl4mR+rrhq0aiQARAQABiQEfBBgBAgAJBQJP3icvAhsM
AAoJEPG8MSzI91cI6WsIALXaVd7uooU/MtQU3hk9K73Bqj/ARpIKJzkfcwXYk7Ia
b75H/oCu+RKz7tTemLkdS2vPdNNCuf8plxks7DtZeu9VAOeKEZDnrSBRm8ftrlUr
p3QLDKy4c+E1GcifxHhWksy/jmHcggIGWewVHNacLjtchhsLICjRFAecBqTxVN/A
WYJDK1Xn0NsbDKkiNlDxlby3b/lij4fUwMSY7XHlCzjM6NvwejapQ9hLNiaSM2Fu
nqtvlc/GcrJRMizPz7fbVUeBX93X64IvFEk/I+j4JO4ugesVttGZIHWaFpejIn3b
2aDzmH1hZWl9z6AqHQpktTjvMg1+npJn57IfOrehkzw=
=xrSJ
-----END PGP PUBLIC KEY BLOCK-----
$ gpg -a --export-secret-keys <nr_da_chave> > arq.key
$ gpg --import arquivo
$ gpg --delete-keys <nr da chave>
$ gpg --delete-secret-keys <nr da chave>
Alteração da passphrase de uma chave
Para alterar a senha digite:
$ gpg --edit-key <nr da chave> password
Para sair do ambiente de edição e salvar as alterações, digite “quit”.
Codificando e decodificando arquivos
O procedimento para codificar e decodificar arquivos é simples e direto. Se você quer codificar uma mensagem para um amigo, você usa a chave pública dele e só ele irá decodificar a mensagem usando a chave privada. Se um amigo quer enviar uma mensagem para você, ele codifica usando sua chave pública e você decodifica usando sua chave privada.
Para codificar (--encrypt) um arquivo, use o comando:
$ gpg --output arquivo_secreto --recipient [key-ID-destinatario] --encrypt arquivo_original
Para decodificar (--decrypt) um arquivo, use o comando:
$ gpg --output arquivo_decodificado --decrypt arquivo_secreto
Outras possibilidades
Para ver outras possibilidades de uso do comando gpg, utilize os comandos:
$ gpg --help $ man gpg
Este comentário foi removido pelo autor.
ResponderExcluir