41
PGP ( Pretty Good Privacy)

Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

Embed Size (px)

Citation preview

Page 1: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

PGP

(Pretty Good Privacy)

Page 2: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

Í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

Page 3: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 4: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 5: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 6: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 7: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 8: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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 mear como para a decriptografar. Este tipo de criptogr

4.1.2. Sistemas de Criptografia de Chave Pública

Tex t o Pl an o

Ch ave Públ ic a d oDes t in at ár io

Ch ave Pr ivada doDes t in at ár io

Tex t oCr ipt o g r af ado

Tex t 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 mticos 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

Page 9: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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 dishaves. 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

epoderem ser utilizados. Algoritmimplementaçõ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 é ranutilizando 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 Aentão devolve a chave assinada por ela àQ

9

Page 10: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 11: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 12: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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 Wo

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 PG

Pkeys.

á em server -> search. V

Figura 9.1.1.2 – Procurando chaves com o PGP.

12

Page 13: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 14: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 15: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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.

stse

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

Page 16: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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. CAbra o clipboard novamente para ter acesso a mensagem já criptografada.

16

Page 17: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

Figura 9.3.6 – Verificando a mensagem criptografada.

Essa é a mensagem criptografada.

Figura 9.3.7 – Mensagem criptografada.

17

Page 18: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 19: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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 comchaves públicas de “Marcelo Co

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

Page 20: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 21: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

Figura 9.5.3 – Entrando com os dados do usuário.

Como exemplo “Meu Nome C [email protected]” vai gerar

u par de chaves.

ara tal é necessário uma passphrase.

ompleto” cujo e-mail é “usuárise P

Figura 9.5.4 – Entrando com a passphrase do usuário.

21

Page 22: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 23: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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ópicoc

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

Page 24: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 25: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 26: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 27: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 28: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 29: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 30: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 31: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 32: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 33: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 34: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 35: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 36: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

Figura 10.5.4 – Entrando com o e-mail do usuário.

Como exemplo “Mais Um Usuário” cujo e-mail é “[email protected]” 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

Page 37: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 38: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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

Page 39: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

-----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) <[email protected]>

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! ggpg: please see http://www.gnupg.org/faq.html for more information /home/venema/.gnupg/secring.gpg -------------------------------

sec 1024D/1E1496A3 2003ser usada na aula de topicos ess

39

Page 40: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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) <[email protected]>"

Para exportar a chave privada do usuário 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 [vEnter passphrase:

ÉPara verificar a assinatura: [venema@localhost venema]$ gpg --verify hello.txt.gpg

ou

[venema@localhost venema]$ gpg --verify hello.txt.asc

g

40

Page 41: Conceitos importantes em PGP - Alessandro Santosalessandrosantos.com.br/emanuel/usp/Computadores_e_sociedadeI/... · Figura 2.1 – Locais críticos onde um e-mail pode ser obtido

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 oargumento --sign por Para decriptografar utilizamos as mesmas medais para verificar as assinatura, p

OBS: podemos comte

É [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