O documento discute o programa PGP (Pretty Good Privacy) e sua capacidade de criptografar arquivos e mensagens de email para proteger a privacidade do usuário. O PGP cria chaves públicas e privadas para criptografar e descriptografar mensagens e também pode assinar digitalmente arquivos para verificar autenticidade. O documento explica conceitos-chave como criptografia de chave simétrica e assimétrica e como o PGP gerencia chaves públicas e privadas para proteger a comunicação do usuário.
2. Índice
1. Introdução ao PGP...........................................................................................................5
1.1. Capacidades do PGP....................................................................................................5
3. Protegendo sua Privacidade ............................................................................................6
4. Conceitos importantes em PGP.......................................................................................7
4.1. Sistemas de Criptografia de Chave Privada e Sistemas de Chave Pública .................7
4.1.1. Sistemas de Criptografia de Chave Privada .........................................................7
4.1.2. Sistemas de Criptografia de Chave Pública..........................................................8
5. Chaves Pública, Privada e de Sessão ..............................................................................8
5.1. Chave Pública..............................................................................................................8
5.2. Chave Privada..............................................................................................................9
5.3. Chaves de Sessão.........................................................................................................9
6. Administração das chaves PGP.......................................................................................9
7. Passphrases......................................................................................................................11
8. Assinatura Digital...........................................................................................................11
9. Como usar PGP no Windows ........................................................................................12
9.1. Como obter a chave pública de alguém.....................................................................12
9.1.1. Procurando por chaves no programa:.................................................................12
9.2. Como assinar a chave pública de alguém..................................................................13
9.3. Como assinar e/ou criptografar um documento ASCII, ou um e-mail, ou um arquivo
qualquer. ...........................................................................................................................14
9.4. Como decriptar e verificar a autenticidade e integridade de um documento ou
arquivo assinado com o PGP............................................................................................18
9.5. Como criar suas chaves privada e pública.................................................................20
9.6. Exportando chaves.....................................................................................................22
9.7. Importando chaves.....................................................................................................23
10. Como usar PGP no Linux............................................................................................25
10.1. Como obter a chave pública de alguém, importando no programa gpa ..................25
10.2. Como assinar a chave pública de alguém................................................................26
10.3. Como assinar e/ou criptografar um documento ASCII, ou um e-mail, ou um
arquivo qualquer...............................................................................................................28
10.3.1. Assinando um arquivo......................................................................................30
10.3.2. Encriptando um arquivo ...................................................................................31
2
3. 10.4. Como decriptar e verificar a autenticidade e integridade de um documento ou
arquivo assinado com o PGP............................................................................................33
10.5. Como criar suas chaves privada e pública...............................................................34
10.6. Exportar Chaves ......................................................................................................38
10.7. Trabalhando em modo texto....................................................................................39
10.7.1. Gerando as chaves ............................................................................................39
10.7.2. Exportando as chaves .......................................................................................40
10.7.3. Importando as chaves .......................................................................................40
10.7.4. Assinando .........................................................................................................40
10.7.5. Criptografando/Decriptografando ....................................................................41
10.7.6. Criando a chave para revogação.......................................................................41
11. Onde encontrar o PGP.................................................................................................41
Índice de figuras
Figura 2.1 – Locais críticos onde um e-mail pode ser obtido................................................................................................6
Figura 3.1 – Diferenciação entre informação protegida e desprotegida................................................................................7
Figura 4.1.1.1 – Criptografia de chave privada.....................................................................................................................7
Figura 4.1.2.1 – Criptografia de chave pública. ....................................................................................................................8
Figura 6.1 – Teia de confiança de Alice..............................................................................................................................10
Figura 9.1.1.1 – Abrindo o PGPkeys. .................................................................................................................................12
Figura 9.1.1.2 – Procurando chaves com o PGP.................................................................................................................12
Figura 9.1.1.3 – Encontrando uma chave............................................................................................................................13
Figura 9.2.2 – Assinando uma chave. .................................................................................................................................14
Figura 9.3.1 – Editando um texto com o PGP.....................................................................................................................14
Figura 9.3.2 – Text Viewer.................................................................................................................................................15
Figura 9.3.3 – Encriptando e assinando o Clipboard do PGP. ............................................................................................15
Figura 9.3.4 – Escolhendo o conjunto de chaves para o qual a mensagem será encriptada. ...............................................16
Figura 9.3.5 – Entrando a passphrase..................................................................................................................................16
Figura 9.3.6 – Verificando a mensagem criptografada. ......................................................................................................17
Figura 9.3.7 – Mensagem criptografada..............................................................................................................................17
Figura 9.4.1 – Copiando a mensagem criptografada...........................................................................................................18
Figura 9.4.2 – Decriptando e verificando uma mensagem..................................................................................................18
Figura 9.4.3 – Entrando a passphrase..................................................................................................................................19
Figura 9.4.4 – Verificando a mensagem decriptada............................................................................................................19
Figura 9.5.1 – Abrindo o PGPkeys. ....................................................................................................................................20
Figura 9.5.2 – New Key no menu Keys..............................................................................................................................20
Figura 9.5.3 – Entrando com os dados do usuário. .............................................................................................................21
Figura 9.5.4 – Entrando com a passphrase do usuário. .......................................................................................................21
Figura 9.6.1 – Exportando as chaves do usuário.................................................................................................................22
Figura 9.6.2 – Salvando as chaves em arquivo. ..................................................................................................................22
Figura 9.7.1 – Importando chaves de outras pessoas. .........................................................................................................23
Figura 9.7.2 – Selecionando o arquivo que contem as chaves a serem importadas.............................................................23
Figura 9.7.3 – Selecionando as chaves a serem importadas................................................................................................24
Figura 10.1.1 – Abrindo o gpa............................................................................................................................................25
Figura 10.1.2 – Tela principal do programa gpa.................................................................................................................25
Figura 10.1.3 – Escolhendo de onde importar as chaves.....................................................................................................26
Figura 10.1.4 – Verificando a chave importada..................................................................................................................26
Figura 10.2.1 – Selecionando uma chave para ser assinada................................................................................................27
Figura 10.2.2 – Confirmando a chave selecionada..............................................................................................................27
Figura 10.2.3 – Entrando com a passpharse do usuário assinante. .....................................................................................27
Figura 10.2.4 – Verificando a assinatura do usuário...........................................................................................................28
Figura 10.3.1 – Abrindo o Filemanager do gpa..................................................................................................................29
Figura 10.3.2 – Tela principal do Filemanager...................................................................................................................29
Figura 10.3.1.1 – Selecionando o arquivo a ser assinado....................................................................................................30
Figura 10.3.1.2 – Menu de escolha sobre assinaturas. ........................................................................................................30
Figura 10.3.1.3 – Entrando com a passphrase do usuário. .................................................................................................31
Figura 10.3.2.1 –Escolhendo o arquivo para ser criptografado...........................................................................................31
3
4. Figura 10.3.2.2 – Menu de criptografia...............................................................................................................................32
Figura 10.3.2.3 – Entrando com a passphrase do usuário. ................................................................................................32
Figura 10.3.2.4 – Verificando o arquivo criado. .................................................................................................................33
Figura 10.4.1 – Selecionando o arquivo a ser decriptografado. ..........................................................................................33
Figura 10.4.2 – Entrando com a passphrase do usuário......................................................................................................34
Figura 10.5.1 – Abrindo o programa gpa............................................................................................................................34
Figura 10.5.2 – Gerando nova chave. .................................................................................................................................35
Figura 10.5.3 – Entrando com o nome do usuário. .............................................................................................................35
Figura 10.5.4 – Entrando com o e-mail do usuário.............................................................................................................36
Figura 10.5.5 – Comentário sobre o usuário.......................................................................................................................36
Figura 10.5.6 – Entrando com a passphrase do usuário......................................................................................................36
Figura 10.5.7 – Fazendo backup das chaves. ......................................................................................................................37
Figura 10.5.8 – Chaves sendo geradas................................................................................................................................37
Figura 10.5.9 – Chaves criadas com sucesso. .....................................................................................................................37
Figura 10.6.1 – Escolhendo a chave a ser exportada...........................................................................................................38
Figura 10.6.2 – Escolha do arquivo em que as chaves serão exportadas.............................................................................38
4
5. 1. Introdução ao PGP
Este texto pretende discutir a necessidade da criptografia e introduzir o PGP.
PGP é um programa que utiliza criptografia para proteger a privacidade do e-mail e
dos arquivos guardados no computador do usuário. PGP pode, ainda, ser utilizado como um
sistema à prova de falsificações de assinaturas digitais, permitindo desta forma a
comprovação de que arquivos ou e-mails não foram modificados.
1.1. Capacidades do PGP
• Criptografar arquivos. O PGP pode ser utilizado para criptografar arquivos com
IDEA, um poderoso algoritmo de criptografia por chave privada. O arquivo
criptografado com esse algoritmo só poderá ser decriptografado pela pessoa que
possua a passphrase (frase de criptografia) correspondente.
• Criar chaves pública e privada. Estas chaves são necessárias para criptografar ou
assinar as mensagens trocadas via e-mail. Estas chaves são utilizadas também
para decriptografar estas mensagens.
• Gerenciar chaves. O PGP também é utilizado para criar e manter uma base de
dados contendo as chaves públicas das pessoas que o usuário de corresponde.
Está base de dados assemelha-se com um livro de endereços.
• Enviar e receber e-mails. Pode-se utilizar o PGP para criptografar e-mails
enviados e decriptografar e-mails recebidos.
• Usar assinaturas digitais. O PGP pode ser utilizado para assinar eletronicamente
documentos.
• Certificar outras chaves. Pode-se utilizar o PGP para assinar eletronicamente
outras chaves.
• Revogar e desabilitar chaves. Se as chaves estão comprometidas, utilizando o
PGP, consegue-se revoga-las ou desabilita-las.
• Customizar o PGP. Pode-se modificar as opções do arquivo de configuração do
PGP para satisfazer as necessidades do site.
• Utilizar os servidores de chaves da Internet. Pode-se inserir uma chave publica
em uma base de dados de chaves. Pode-se obter as chaves das pessoas através
dos servidores de chaves.
2. Por Que PGP? A Necessidade de Criptografia
Milhões de e-mails trafegam pela rede mundial de computadores todos os dias. A
maioria destes e-mails são transmitidos em plain text, ou seja podem ser facilmente obtidos
por algum intruso que esteja a espreita na rede.
Veja um exemplo de como o conteúdo de um e-mail pode ser facilmente roubado
em uma rede de computadores:
5
6. Figura 2.1 – Locais críticos onde um e-mail pode ser obtido.
Como observa-se na figura, uma mensagem passa através de muitos computadores.
Cada computador ao longo deste caminho pode fazer uma cópia desta mensagem.
Quando a mensagem chega no seu destino, ela espera até que o usuário esperado
pegue-a. Dependendo de como o usuário lê suas mensagens, elas podem ser obtidas em
quanto elas estão sendo transferidas do disco rígido para a tela.
A mensagem pode ser obtida:
• No computador do emissor;
• No trajeto do computador do emissor até o servidor de e-mail;
• No servidor de e-mail;
• Na Internet que interliga os vários servidores de e-mail;
• No trajeto do servidor de e-mail do destinatário até o computador do destinatário;
• No computador do destinatário.
Existem muitas outras oportunidades da mensagem ser obtida, principalmente quando esta
adentra as fronteiras da Internet.
3. Protegendo sua Privacidade
Algo importante quando se fala de Internet, troca de e-mails e arquivos é a
privacidade. Ninguém gosta de ter seus e-mails, documentos e arquivos sendo
inadivertidamente lidos e obtidos por qualquer pessoa.
6
7. Um bom exemplo de quanto a privacidade é importante é no envio de uma carta ou
cartão postal.
Cartões postais não possuem uma maneira simples de proteger a privacidade do
usuário. O texto, bem como a imagem do cartão, pode ser visto por qualquer pessoa que
manipular diretamente o cartão.
Cartas possuem uma maneira efetiva de proteger a privacidade dos usuários:
envelopes.
Com relação aos e-mails uma foram simples e efetiva de proteção à privacidade
seria a utilização de criptografia. A criptografia em um e-mail é intrinsecamente ligada com
os envelopes nas cartas.
Figura 3.1 – Diferenciação entre informação protegida e desprotegida
4. Conceitos importantes em PGP
4.1. Sistemas de Criptografia de Chave Privada e Sistemas de Chave Pública
4.1.1. Sistemas de Criptografia de Chave Privada
Figura 4.1.1.1 – Criptografia de chave privada
7
8. Sistemas de crip sma chave criptográfica
tanto para criptograf afia é chamado de
criptografia simétrica.
Um sistem étodos
matemá
sistema, uma me r decriptografada
unicamente com trico.
5. Chaves Pública,
sua chave de
criptografia.
pessoa ou
rupo de pessoas. Tal mensagem poderá ser decriptografada e lida somente por esta pessoa
ou por esse grupo.
tografia de chave privada utilizam a me
ar como para a decriptografar. Este tipo de criptogr
4.1.2. Sistemas de Criptografia de Chave Pública
Text o Pl an o
Ch ave Públ ica do
Des t in at ár io
Ch ave Pr ivada do
Des t in at ár io
Text o
Cr ipt o gr af ado
Text o Pl an o
Figura 4.1.2.1 – Criptografia de chave pública.
a de criptografia com chave pública, por outro lado, utiliza-se de m
ticos para gerar duas chaves, uma pública e outra privada, relacionadas. Neste
nsagem criptografada com uma chave pode se
a chave correspondente. Tal sistema é chamado de assimé
Privada e de Sessão
A segurança de todos os sistemas criptográficos é baseada em
5.1. Chave Pública
A chave pública é utilizada para criptografar uma mensagem para determinada
g
8
9. 5.2. Ch
Utiliza-se a chave privada para decriptografar mensagens que foram encriptadas
, todo sistema de chave publica já desenvolvido possui um problema:
stes sistemas são computacionalmente pesados e assim são extremamente vagarosos para
os de chave pública são milhares de vezes mais lentos que
ada.
have mais conhecida como chave de sessão:
domicamente gerada para todas as mensagens criptografadas
P de chave pública.
ão para as mensagens;
• O PGP usa então o algoritmo IDEA para criptografar a mensagem com a chave de
ssão com a
chave pública do destinatário;
.
umento criptografado.
6. Administração das chaves PGP
são dis
haves. m web of trust (teia ou malha de confiaça ou
onfiáv
uários PGP.
Por exemplo, Alice entrega sua chave pública nas mãos de Bob, garantindo assim a
lice, ele assina a chave pública de Alice. Ele
Alice e guarda uma cópia da mesma com ele.
uando Alice deseja se comunicar com sua amiga Carol, Alice envia à Carol uma cópia de
ave Privada
com a chave pública relacionada.
5.3. Chaves de Sessão
Infelizmente
e
poderem ser utilizados. Algoritm
implementações com chave priv
Por esta razão, sistemas comuns de criptografia de chave pública, como é o caso do
PGP, utilizam um terceiro tipo de c
A chave de sessão é ran
utilizando o sistema PG
Quando utiliza-se o PGP para criptografar uma mensagem e envia-la para um
amigo, as seguintes passos são seguidos:
• O PGP cria uma chave de sess
sessão;
• O algoritmo RSA é utilizado pelo PGP para criptografar a chave de se
• O PGP associa a mensagem criptografada e a chave de sessão criptografada e
prepara a mensagem para ser enviada
O tamanho das chaves é medido em bits e, via de regra, quanto maior o número de
bits de uma chave, mais seguro será o doc
Uma característica interessante do PGP, diz respeito a administração das chaves que
tribuídas, ou seja, não existe autoridades certificadoras na administração destas
Sendo assim, PGP adota uma abordagec
c el) não sendo necessário que uma entidade certificadora, administre estas chaves.
Em outras palavras, todo usuário gera e distribue sua própria chave pública. Usuários
assinam chaves públicas de outros usuários, criando uma comunidade interconectada de
us
sua autenticidade. Sendo Bob amigo de A
então devolve a chave assinada por ela à
Q
9
10. sua cha
os usuários; estes são livres para decidir em quem eles confiam e em quem
eles nã
e, existe um
indicad
ve pública, relembrando que esta chave enviada foi aquela assinada ou certificada
por Bob. Carol que já possui a chave pública de Bob, a quem muito confia por ser seu
amigo há anos. Quando Carol verifica que a chave de Alice está assinada por Bob, Carol
então assume que a chave de Alice é válida pelo fato de confiar em qualquer certificação de
chaves feitas pelo Bob, seu amigo. Bob então, apresentou Alice para a Carol.
Vale ressaltar, que PGP não assume o papel de uma política para estabelecer
confiança entre
o confiam, ou em quais chaves eles confiam ou em quais chaves eles não confiam.
Neste sentido, PGP apenas possui mecanismos para associar confiança com chaves
públicas. Desta maneira, cada usuário mantem um coleção de chaves assinadas e confiáveis
em um arquivo chamado public-Key ring, como sendo um chaveiro. Cada chave deste
“chaveiro” possui um campo de legitimidade que indica o grau que um particular usuário
confia na validade desta chave. Quanto mais alto for o grau indicado por este campo, maior
é a confiança deste usuário em relação a legitimidade da respectiva chave. Um outro
indicador diz respeito a confiabilidade de assinaturas, o qual indica quão confiável é um
usuário para certificar chaves públicas de outros usuários. E finalment
or que mede quanto um usuário confia em sua própria chave para assinar ou
certificar chaves públicas de outros usuários. Este indicador é setado manualmente pelo
usuário.
Alice
Carol Ellen
Gail Ivan Jennifer Kurt
Frank
Linda
Martin Nancy Owen
DaveBob
Chave confiável para assinar outras chaves
Chave partialmente confiável para assinar outras chaves
Alice não considera esta chave legítima
X
Y
X assina as chaves Y
Alice considera esta chave legítima
?
?
? ?
? ?
Figura 6.1 – Teia de confiança de Alice
Alice assinou a chave pública de Bob, Carol, Dave, Ellen e Frank. Ela confia em
Bob e Carol para assinar outras chaves públicas. Alice confia parcialmente em Dave e Ellen
para assinar chaves públicas de outros usuários. E ela confia em Gail para assinar outras
chaves públicas, mesmo não sendo ela quem assinou a chave de Gail.
10
11. Duas assinaturas parcialmente confiáveis são suficientes para certificar uma chave
qualquer. Alice acredita que a chave de Kurt é legítima porque Dave e Ellen assinou esta
chave.
Pelo fato de que Alice acredita que uma chave qualquer é válida, ela
necessariamente não precisa confiar nesta chave para assinar a chave pública de outros
usuários. Alice não confia em Frank para assinar a chave pública de outras pessoas, mesmo
que ela tenha assinado a chave de Frank. Ela não confia na certificação da chave de Martin
assinada pelo Ivan, ou na certificação da chave de Nancy assinada pelo Kurt.
Owen não pertence a teia de confiança de Alice. Talvez Alice tenha adquirida a chave de
Owen em um servidor de chaves. PGP não assume que a chave é válida; Ou Alice declara
esta chave como válida por sua conta ou confia nas assinaturas desta chave.
Evidente que nada impede Alice de usar chaves nas quais ela não confia. O trabalho
do PGP é alertar a Alice que determinada chave não é confiável e não impedir a
comunicação entre os usuários.
Um aspecto deficiente de todo o sistema PGP é a revogação de chaves: É
impossível garantir que nenhum usuário use uma chave comprometida ou revogada. Se a
chave privadas de Alice for roubada ela pode distrubuir um certificado de chave
revogada, mas nada garante que esta certificação alcançara todas as pessoas que possuem a
chave pública de Alice. E como Alice precisa assinar o certificado de revogação com a sua
chave privada, se ela for roubada, ela não poderá revogar sua chave pública.
. Passphrases
lacionado diretamente com criptografia, representa um
aspecto
7
É uma frase-senha. É análoga a um password, diferenciando-se deste pelo fato de
que a senha do passphrase não é apenas uma palavra, mas uma frase com espaços e tudo o
mais que se deseje digitar em uma frase qualquer.
Uma passphrase é utilizada no PGP nas seguintes circunstâncias:
• Quando no processo de decriptografia de uma mensagem o PGP solicita a
passphrase do usuário;
• Quando no processo de assinatura de uma mensagem;
• Quando se utiliza o PGP para criptografar ou assinar um arquivo;
• Quando se assina outra chave.
8. Assinatura Digital
Apesar de não estar re
importante para garantir a privacidade do usuário. Ao assinar um documento, o
usuário garante que ele é de fato o autor do mesmo. Portanto, sem assinatura digital, não
existem meios de provar a autenticidade de uma mensagem eletrônica.
11
12. 9. Como usar PGP no Windows
indows, utilizaremos o PGP 7.0.3 freeware que pode ser
btido em:
Exi m
• arquivo ASCII que a contenha;
e Page;
a PGP:
ves no programa:
Abra o
Para ilustrar como usar PGP no W
o
http://www.pgpi.org/products/pgp/versions/freeware/
9.1. Como obter a chave pública de alguém
ste diversas formas de se obter a chave pública de alguém, dentre elas:
Em um FTP baixando um
• Recebendo-a por e-mail;
• Também é possível que a pessoa tenha a chave na sua própria Hom
• Procurando através do program
9.1.1. Procurando por cha
programa.
Figura 9.1.1.1 – Abrindo o PGPkeys.
á em server -> search.V
Figura 9.1.1.2 – Procurando chaves com o PGP.
12
13. Digite alguma informação (nome ou e-mail) referente á pessoa que se deseja obter a chave
pública.
Como exemplo, procuraremos a chave pública de “Marcelo Carvalho Sacchetin”.
Figura 9.1.1.3 – Encontrando uma chave.
Depois de obtida a chave pública, é necessário importá-la, como será mostrado mais
adiante.
9.2. Como assinar a chave pública de alguém
Escolha o usuário que se ua chave pública.
Carvalho
acchetin”.
deseja assinar a chave pública. Clique na s
Com um clique invertido, escolha sign (assinar) no menu.
Como exemplo, “Meu Nome Completo” assinará a chave pública de “Marcelo
S
Figura 9.2.1 – Assinado uma chave.
13
14. Será requisitada a passphrase de quem está assinando a chave.
Figura 9.2.2 – Assinando uma chave.
Dessa forma “Meu Nome Completo” estará dizendo para todos que confiam em sua
assinatura, que podem confiar na assinatura de “Marcelo Carvalho Sacchetin”.
9.3. Como assinar e/ou criptografar um documento ASCII, ou um e-mail, ou um
arquivo qualquer.
Como exemplo, será criptografado e asssinado por “Marcelo Carvalho Sacchetin” o
seguinte texto:
“Esse texto será encriptado”
bra o clipboard do programa PGP para editar a mensagem.A
Figura 9.3.1 – Editando um texto com o PGP.
14
15. Digite o texto no clipboard e clique no botão “Copy to Clipboard”.
Figura 9.3.2 – Text Viewer.
Obs: O texto pode ser e ba a que o texto seja
lecionado e copiado (Ct
Escolha a opção encriptar e assinar (Encrypt & Sign) no clipboard.
ditado em um outro editor qualquer,
rl+C) para a área de transferência.
st
se
Figura 9.3.3 – Encriptando e assinando o Clipboard do PGP.
Escolha as pessoas que serão autorizadas a ler o texto.
No exemplo, o texto será encriptado com as chaves públicas de “Luiz
Otávio Duarte” e “Marcelo Carvalho Sacchetin”. Isso significa que só essas duas pessoas
com suas respectivas chaves privadas poderão ler o texto.
15
16. Figura 9.3.4 – Escolhendo o conjunto de chaves para o qual a mensagem será encriptada.
Marcelo Carvalho Sacchetin” deverá assinar, para isso será requisitada sua passphrase.“
Figura 9.3.5 – Entrando a passphrase.
licando em OK, a mensagem é criptografada e enviada para o clipboard.C
Abra o clipboard novamente para ter acesso a mensagem já criptografada.
16
17. Figura 9.3.6 – Verificando a mensagem criptografada.
Essa é a mensagem criptografada.
Figura 9.3.7 – Mensagem criptografada.
17
18. 9.4. Como decriptar e verificar a autenticidade e integridade de um documento ou
arquivo assinado com o PGP
Copie o texto criptografado para o clipboard. Basta selecionar o texto e copiar (Ctrl+C).
Figura 9.4.1 – Copiando a mensagem criptografada.
Escolha a opção decriptar e verificar (Decrypt & Verify) no clipboard.
Figura 9.4.2 – Decriptando e verificando uma mensagem.
18
19. as
arvalho Sacchetin” e “Luiz Otávio Duarte” como pode ser
bservado na figura abaixo.
Serão mostradas quais pessoas poderão ler o texto. No caso o texto foi criptografado com
chaves públicas de “Marcelo C
o
Figura 9.4.3 – Entrando a passphrase.
É necessário que “Marcelo Carvalho Sacchetin” ou “Luiz Otávio Duarte” entrem com suas
respectivas passphrases para que o texto seja decriptado.
Como exemplo, “Marcelo Carvalho Sacchetin” irá decriptar a mensagem.
Figura 9.4.4 – Verificando a mensagem decriptada.
19
20. Como era esperado, o texto “Esse texto será encriptado” apareceu entre os marcadores :
***BEGIN PGP DECRYPTED/VERIFIED MESSAGE***
***END PGP DECRYPTED/VERIFIED MESSAGE***
s marcadores garantem a legitimidade do texto presente entre eles.
É importante verificar ainda que se o texto foi assinado aparecerá:
*** PGP Signature Status: good
9.5. Como criar suas chaves privada e pública.
Abra o programa PGPKeys.
O
Figura 9.5.1 – Abrindo o PGPkeys.
a barra de ferramentas vá em Keys -> New Key... (Crtl+N).N
Figura 9.5.2 – New Key no menu Keys.
Serão requisitados nome completo e e-mail, os quais serão associados ao par de chaves.
20
21. Figura 9.5.3 – Entrando com os dados do usuário.
Como exemplo “Meu Nome C o@dominio.com.br” vai gerar
u par de chaves.
ara tal é necessário uma passphrase.
ompleto” cujo e-mail é “usuári
se
P
Figura 9.5.4 – Entrando com a passphrase do usuário.
21
22. ATENÇÃO: A frase escolhia não deve ser esquecida de forma alguma. Sem ela “Meu
Nome Completo” será incapaz de assinar, verificar e decriptar mensagens e/ou arquivos.
Após criado o par de chave, é interessante que a pessoa o exporte, para que uma cópia das
chaves possam ser guardadas (pública e privada), ou distribuída no caso da pública.
9.6. Exportando chaves
Na barra de ferramentas vá em Keys -> Export. (Crtl+E).
Figura 9.6.1 – Exportando as chaves do usuário.
Nome Completo” para o diretório chaves.xportaremos a chave pública de “MeuE
Figura 9.6.2 – Salvando as chaves em arquivo.
22
23. Para incluir a chave privada, basta selecionar a caixa seleção indicada pela seta vermelha
cima.
abordado), e salvá-la na pasta
haves, na barra de ferramentas vá em Keys -> Import. (Crtl+M).
a
Será criado o arquivo “Meu Nome Completo.asc” dentro do diretório chaves.
9.7. Importando chaves.
Depois de localizar uma chave pública (primeiro tópico
c
Figura 9.7.1 – Importando chaves de outras pessoas.
Como exemplo, vamos importar a chave pública de “Marcelo Carvalho Saccchetin”
(sacchet.asc).
Figura 9.7.2 – S rem importadas.elecionando o arquivo que contem as chaves a se
23
24. Abrindo a chave, segue a tela:
Figura 9.7.3 – Selecionando as chaves a serem importadas.
Basta selecionar a chave e clicar no botão importar e pronto! O usuário “Meu Nome
Completo” já poderá criptografar mensagens para “Marcelo Carvalho Sacchetin”.
24
25. 10. Como usar PGP no Linux
Para ilustrar como usar PGP em Linux utilizaremos o GPA freeware que pode ser baixado
em:
http://www.acme-ids.org/downloads/linux/security/gnupg/
10.1. Como obter a chave pública de alguém, importando no programa gpa
Abra o programa.
Figura 10.1.1 – Abrindo o gpa.
A seguinte interface aparecerá
Figura 10.1.2 – Tela principal do programa gpa.
Nesta interface vemos os botões de navegação do programa e as chaves do usuário.
Observe que você poderá editar, remover, assinar, importar, exportar suas chaves.
Clique em import para importar a chave de algum conhecido.
25
26. A seguinte interface aparecerá:
Figura 10.1.3 – Escolhendo de onde importar as chaves.
Aqui você poderá entrar com o nome do arquivo com extensão “.asc” contendo a chave
que se deseja inserir no keyring.
Outra alternativa seria inserir o Key id do usuário.
Verificando a chave importada:
Figura 10.1.4 – Verificando a chave importada.
10.2. Como assinar a ch
ntão, clique sobre o botão sign (assinar):
ave pública de alguém
Escolha o usuário que se deseja assinar a chave pública. Clique na sua chave pública.
E
26
27. Figura 10.2.1 – Selecionando uma chave para ser assinada.
ve pública de “Laurindo Camargo”.Como exemplo, “Usuário do Linux” assinará a cha
Confirme a operação nesta tela:
Figura 10.2.2 – Confirmando a chave selecionada.
Será requisitada a passphrase de quem está assinando a chave.
Figura 10.2.3 – Entrando com a passpharse do usuário assinante.
27
28. Para verificar a assinatura de uma chave clique sobre a aba Signatures (Assinaturas):
Figura 10.2.4 – Verificando a assinatura do usuário.
Dessa forma tudo “Usuário Linux” estará dizendo para todos que confiam em sua
ssinatura, que podem confiar na assinatura de “Laurindo Camargo”.
10.3. Como assinar e/ou criptografar um documento ASCII, ou um e-mail, ou um
arquivo qualquer.
Como exemplo, será criptografado e assinado por “Mais Um Usuário” o seguinte arquivo:
“/home/usuario/teste.txt”
Vá em Windows -> Filemanager
a
28
29. Figura 10.3.1 – Abrindo o Filemanager do gpa.
Agora clique no botão Open para abrir o arquivo a ser encriptado.
Figura 10.3.2 – Tela principal do Filemanager.
Como exemplo abriremos o arquivo “/home/usuario/teste.txt”.
29
30. 10.3.1. Assinando um arquivo
Clique no botão Sign .
Figura 10.3.1.1 – Selecionando o arquivo a ser assinado.
Escolha as opções sign and compress, armor e quem está assinando (no caso “Mais Um
Usuário”).
Fi s.gura 10.3.1.2 – Menu de escolha sobre assinatura
Será requisitado a passphrase de “Mais Um Usuário”.
30
31. Figura 10.3.1.3 – Entrando com a passphrase do usuário.
10.3.2. Encriptando um arquivo
Clique em encrypt:
Figura 10.3.2.1 –Escolhendo o arquivo para ser criptografado.
No exemplo, o texto será encriptado com as chaves públicas de “Laurindo Camargo”,
“Mais Um Usuário” e “Usuário do Linux”. Isso significa que só essas três pessoas com
suas respectivas chaves privadas poderão ler o arquivo.
Clique em assinar, bem como, em armor para que o texto tenha garantia de autenticidade
por parte do assinante (“Mais um Usuario”).
31
32. Figura 10.3.2.2 – Menu de criptografia.
Será requisitado a passphrase de “Mais Um Usuário”.
Figura 10.3.2.3 – Entrando com a passphrase do usuário.
Clicando em OK, o arquivo é criptografado: “/home/usuario/teste.txt.asc”.
32
33. Figura 10.3.2.4 – Verificando o arquivo criado.
10.4. Como decriptar e verificar a autenticidade e integridade de um documento ou
arquivo assinado com o PGP
Figura 10.4.1 – Selecionando o arquivo a ser decriptografado.
33
34. Clicando no botão Decrypt na interface acima, será requisitado a passphrase:
Figura 10.4.2 – Entrando com a passphrase do usuário.
A pessoa que deseja ler a mensagem deve digitar a sua passphrase, e se a mensagem foi
criptografada com a sua chave pública, o arquivo “/home/usuario/teste.txt.asc” será
decriptado, gerando o arquivo “/home/usuario/teste.txt”.
10.5. Como criar suas chaves privada e pública.
Abra o programa gpa.
Figura 10.5.1 – Abrindo o programa gpa.
Na barra de ferramentas vá em Keys -> Generate Key...
34
35. Figura 10.5.2 – Gerando nova chave.
Serão requisitados nome completo e e-mail, os quais serão associados ao par de chaves.
Figura 10.5.3 – Entrando com o nome do usuário.
35
36. Figura 10.5.4 – Entrando com o e-mail do usuário.
Como exemplo “Mais Um Usuário” cujo e-mail é “mais_um@dominio.com” vai gerar seu
par de chaves.
È possível inserir comentários também.
Figura 10.5.5 – Comentário sobre o usuário.
Entre com a passphrase.
Figura 10.5.6 – Entrando com a passphrase do usuário.
36
37. ATENÇÃO: A frase escolhia não deve ser esquecida de forma alguma. Sem ela “Mais Um
Usuário” será incapaz de assinar, verificar e decriptar mensagens e/ou arquivos.
Figura 10.5.7 – Fazendo backup das chaves.
Figura 10.5.8 – Chaves sendo geradas.
Figura 10.5.9 – Chaves criadas com sucesso.
Após criado o par de chave, é interessante que a pessoa o exporte, para que uma cópia das
chaves possam ser guardadas (pública e privada), ou distribuída no caso da pública.
37
38. 10.6. Exportar Chaves
Selecione a chave a ser exportada e clique em Export.
Figura 10.6.1 – Escolhendo a chave a ser exportada.
Escolha o diretório ( Browse... ) para onde será criado o arquivo com extensão “.asc” .
Figura 10.6.2 – Escolha do arquivo em que as chaves serão exportadas.
Para exportar a chave privada utilizaremos o programa gpg no modo texto.
Com a seguinte linha de comando exportaremos a chave privada de “Mais Um Usuário”
para o arquivo “mais_um_usuário.asc”
$ gpg --export-secret-key --armor Mais Um > mais_um_usuario.asc
Podemos verificar que a chave foi corretamente exportada, abrindo o arquivo
“mais_um_usuário.asc”.
cat mais_um_usuario.asc$
38
39. -----BEGIN PGP PRIVATE KEY BLOCK-----
omment: For info see http://www.gnupg.org
lQHPBD3sD6sRBAD2L8Ar4WS0Uef1YBzJ1IdxHOZa6610xw2k4+DXXe6Amzlz1Pso
otLQbCjGI27A3SIqt6/Zerx9v88LPuLIZZ2khgBtKOHmRkI+bMlK0m684zrQvyWD
V9NQdYg4rUBKECOz0novXLnJY5/jUIWdcXoEufoUVw56PVHmIfj4c2gEpwCgwRNe
a7hEswo4xDu+QTtK5M/THB8D/0yU7s6eqzC8JR6aNAjq0AQAHl4eOXnNmXMCosMR
NBFvK8sYU1tAsrVJT3IKmVAHfdlhczjxyB6x3AvoKZ6h+uhVdW7v5QhLwMekIO5T
anWKp6YqoPYzegTE27fgO7x4dMTLeV2zueMTcjPny4t4jn4u/ygZDEKz5MHyakRr
VxooBACYRtHhQwTICUG/zJbNWFr1MsXifFeSQ4SFkXYgqWFpxd5wio0FN3vXRqkf
g/W4NSI8dxy5PAntsK7f4zUwrDoRFxB8WFmxN+C5n2l3G3sGHWMOkiAouVFruD6d
273h3JtjGwINvtQizBEuaVj2l9ABhw/pve6Cm1jV2AIs+4dkNf8DAwISL2O8+s23
uGBF6tN0kczsE/nbob0wQiWWLWNsasv73pMwDWLDACIv0f0mIzpEU0FfZmFjdG9y
D7EACgkQgpb67Q1NTaXb2gCgphNPciasySPLLkRJN3STRUw4JZAAnRKZvsya8XUy
niQAKvgZobJ3CRfU
=LXh+
-----END PGP PRIVATE KEY BLOCK-----
alhar com PGP no Linux, utilizaremos o comando gpg, e o usuário fictício
“Romualdo Venema”.
10.7.1. Gerando as chaves
Para gerar a chave privada, o usuário “Romualdo Venema” deve entrar com o seguinte
comando:
-08-07 Romualdo Venema (chave criada como exemplo para
m sc) <venema@domino.org>
b 1024g/749F3BE3 2003-08-07
Version: GnuPG v1.0.6 (GNU/Linux)
C
10.7. Trabalhando em modo texto
Para trab
[venema@localhost venema]$ gpg --gen-key
Serão requisitadas as informações pessoais, tais como e-mail e nome completo. Para
verificar se a chave foi criada corretamente basta entrar com o seguinte comando:
[venema@localhost venema]$ gpg --list-secret-keys
pg: Warning: using insecure memory!g
gpg: please see http://www.gnupg.org/faq.html for more information
/home/venema/.gnupg/secring.gpg
-------------------------------
sec 1024D/1E1496A3 2003
ser usada na aula de topicos e
ss
39
40. 10.7.2. Exportando as chaves
o para o arquivo “private_venema.asc”, é utilizado
zaremos o comando:
ublicsacchet.asc
0.7.4. Assinando
hello.txt”:
ssinando o mesmo arquivo, mas em texto plano:
enema@localhost venema]$ gpg --clearsign hello.txt
criado o arquivo “hello.txt.asc”
pg: Signature made Thu 07 Aug 2003 07:06:17 PM BRT using DSA key ID 1E1496A3
gpg: Good signature from "Romualdo Venema (chave criada como exemplo para ser usada
na aula de topicos em sc) <venema@domino.org>"
Para exportar a chave privada do usuári
o seguinte comando:
[venema@localhost venema]$ gpg --export-secret-key --armor > private_venema.asc
Para exportar a chave pública do usuário para o arquivo “public_venema.asc”, é utilizado o
seguinte comando:
[venema@localhost venema]$ gpg --export --armor > public_venema.asc
10.7.3. Importando as chaves
Para importar a chave pública de “Marcelo Carvalho Sacchetin” que se encontra no arquivo
“publicsacchet.asc” utili
[venema@localhost venema]$ gpg --import p
1
Para assinar o arquivo “
[venema@localhost venema]$ gpg --sign hello.txt
Enter passphrase:
É criado o arquivo “hello.txt.gpg”
A
[v
Enter passphrase:
É
Para verificar a assinatura:
[venema@localhost venema]$ gpg --verify hello.txt.gpg
ou
[venema@localhost venema]$ gpg --verify hello.txt.asc
g
40
41. 10.7.5. Criptografando/Decriptografando
--encrypt no comando #gpg
orém
substituindo o argumento --verify por decrypt no comando #gpg
binar os comandos para assinar e criptografar mensagens ao mesmo
mpo.
10.7.6. Criando a chave para revogação
necessário conhecer o ID da chave a ser revogada, para isso utilizamos o comando:
t-keys
enema@localhost venema]$ gpg --gen-revoke 1E1496A3
1. Onde encontrar o PGP.
sites abaixo para download:
(links verificados em 03/12/2002)
http://www.pgpi.org/download
ttp://www.gnupg.org/(en)/download/index.html
m/display.php?pageID=83 (PGP 8.0 Freeware)
contrado na seção de downloads do laboratório ACME!
inPT_gpg/ (Windows)
http://www.acme-ids.org/downloads/linux/security/gnupg/ (Linux)
Para criptografar o texto devemos tomar as mesmas medidas para assinar, substituindo o
argumento --sign por
Para decriptografar utilizamos as mesmas medais para verificar as assinatura, p
OBS: podemos com
te
É
[venema@localhost venema]$ gpg --list-secre
Obtendo-se o ID entramos com o comando:
[v
1
Recomendamos os
h
http://www.pgp.co
O PGP pode também ser en
http://www.acme-ids.org/downloads/windows/security/W
41