the gnu privacy guard (gpg) - inf.furb.brpaulofernando/disciplinas/x_inativas/seguran%e7... ·...

29
Unidade de Administração de Sistemas – Microinformática The GNU Privacy Guard (GPG) Luís Andrade - Junho 2003

Upload: lamngoc

Post on 14-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Unidade de Administração de Sistemas – Microinformática

The GNU Privacy Guard (GPG)

Luís Andrade - Junho 2003

GPA Manual

Página 2 de 29

Índice

Índice _______________________________________________________________ 2

Introdução ___________________________________________________________ 3

Características ________________________________________________________ 4

Requisitos____________________________________________________________ 4

Instalação do GPG (Windows) ___________________________________________ 5 Instalação do WinPT ______________________________________________________________ 5 Exportar Chave__________________________________________________________________ 12 Importar Chave__________________________________________________________________ 13 Gestão das Chaves _______________________________________________________________ 17

Mozilla__________________________________________________________________ 18 Instalação do Plug-in _____________________________________________________________ 18

Conclusão___________________________________________________________ 21

Anexos _____________________________________________________________ 22

Encriptação / Assinatura de Ficheiros com WinPT__________________________ 23

Chave Pública no SiFEUP _____________________________________________ 28

Glossário ___________________________________________________________ 29

GPA Manual

Página 3 de 29

Introdução

A criptografia é uma das formas mais efectivas de garantir segurança na veiculação da informação. O uso de um programa de criptografia, como o GNU Privacy Guard (GPG) – versão gratuita do PGP (Pretty Good Privacy), pode garantir que os dados permaneçam privados. Todo o e-mail que for enviado encriptado ou cifrado pelo GnuPG pode somente ser decifrado pela pessoa à qual a mensagem é destinada. Mensagens cifradas que são interceptadas ou roubadas são inúteis a todos os outros que não o destinatário.

O GnuPG é um software que segue o padrão OpenPGP. Foi feito com a intenção de substituir o software de encriptação PGP, e não usa nenhum algoritmo de criptografia patenteado. O GPG pode ser usado para encriptação e/ou assinatura digital em conjunto com um MUA (Mail User Agent - cliente de e-mails) que suporte o envio de mensagens encriptadas/assinadas usando GPG. São exemplos o Netscape Mail, Mozilla Mailer, Outlook, Outlook Express, Eudora, etc...

O software pode ser encontrado em http://www.gnupg.org , e pode ser executado em ambientes Linux, UNIX, MacOS, bem como em Windows.

O sistema PGP baseia-se no conceito de Chave Pública e Privada utilizando a

criptografia de Chave Pública, também conhecida como Criptografia Assimétrica. A Chave Pública é usada para encriptar uma mensagem que só a Chave Privada correspondente pode desencriptar e é distribuída às pessoas com quem se deseja trocar dados/mensagens. A Chave Privada fica no seu computador (ela não pode ser distribuída). Mesmo que as chaves estejam relacionadas é matematicamente impossível gerar uma chave a partir da outra. As Chaves Públicas e privadas são armazenadas nos ficheiros pubring.gpg e secring.gpg respectivamente, dentro do directório gnupg (por defeito). Os dados que o utilizador recebe de outra pessoa são encriptados usando a Chave Pública do emissor e somente o utilizador (de posse da Chave Privada) poderá desencriptar os dados. Quando um utilizador assina um ficheiro usando o PGP, ele faz isto usando sua Chave Privada. O destinatário de posse da Chave Pública poderá então confirmar que a origem dos dados é confiável.

Um exemplo do funcionamento do PGP é o seguinte: O Luis torna sua Chave

Pública disponível a todos colocando-a em seu Website, ou através do envio por e-mail para amigos, etc. Se desejo enviar uma mensagem encriptada ao Luis, uso o GPG com a Chave Pública do Luís para encriptar a mensagem, passando a mensagem de texto simples (plaintext) para texto encriptado (ciphertext). Quando a mensagem fica encriptada, somente a pessoa que possui a Chave Privada do Luís pode desencriptar a mesma, ou seja, somente o Luís poderá decifrá-la.

Uma vez encriptada a mensagem para o Luís, eu não posso gerar a mensagem

original do ciphertext. Sem acesso à chave secreta do Luís, a única forma de decifrar a mensagem é usando um ataque de força bruta. Um ataque de força bruta vai exigir que toda chave possível seja testada para decifrar a mensagem, o que em termos computacionais levaria muito provavelmente anos.

GPA Manual

Página 4 de 29

Garantir que a Chave Privada do Luís não seja comprometida é essencial para manter suas mensagens seguras.

Neste manual utilizar-se-á a conta test301 que representa o remetente das

mensagens (nós) e a conta Andrade (nome amigável Luis) representando o destinatário.

Características

• Substitui o PGP; • Não usa algoritmos patenteados; • Implementação OpenPGP (verRFC2440 em RFC Editor); • Desencripta e verifica mensagens PGP 5, 6, 7 e 8; • Suporta ElGamal (assinatura and encriptação), DSA, RSA, AES, 3DES,

Blowfish, Twofish, CAST5, MD5, SHA-1, RIPE-MD-160 e TIGER; • Servidores de chaves (wwwkeys.pgp.net).

Requisitos Seguem-se alguns sistemas operativos suportados:

• GNU/Linux em x86, alpha, mips, sparc64, m68k ou powerpc CPUs; • FreeBSD com x86 CPU; • OpenBSD com x86 CPU; • NetBSD com x86 CPU; • Windows 95/98/ME/NT/2000/XP com x86 CPU; • PocketConsole; • MacOS X.

Alguns clientes de e-mail:

• Pine • Pegasus • Eudora • Outlook Express • Outlook • Mozilla's mailer • Netscape Mail

GPA Manual

Página 5 de 29

Instalação do GPG (Windows) Para o Mozilla existe um utilitário que permite a instalação do GPG e somente depois se instala o plug-in. Este software designa-se WinPT (Windows Privacy Tools) que está actualmente na versão 1.0rc2 disponível em http://prdownloads.sourceforge.net/winpt/winpt-install-1.0rc2.exe?download ou em \\software\Publico\GnuPG\WinPT\ winpt-install-1.0rc2.exe.

Instalação do WinPT Para proceder à instalação deve-se executar o ficheiro winpt-install-1.0rc2.exe o que faz surgir o ecrã de escolha da língua do programa. No nosso caso vamos escolher Inglês (English) - Figura 1 e confirmar com OK.

Figura 1 – Escolha da Língua

Após confirmação surge o ecrã de Boas Vindas (Figura 2) que deve-se confirmar com Next >.

Figura 2 – Ecrã inicial do WinPT

GPA Manual

Página 6 de 29

Em seguida, é mostrada a licença (Figura 3) que após leitura, deve-se pressionar o botão I Agree >.

Figura 3 – Licença GNU do WinPT

Na Error! Reference source not found. deve-se indicar o caminho para instalação do WinPT, que deve ser “C:\Gnupg”. Após escolha deve-se pressionar o botão Next >.

Figura 4 – Localização do WinPT

GPA Manual

Página 7 de 29

Na Figura 5 aconselha-se a seleccionar em “Add-ons” seleccionar “WinPT Explorer Extensions”” para que todos os componentes fiquem instalados. Depois deve-se pressionar o botão Next >.

Figura 5 – Componentes a instalar

Na Figura 6 aparece o nome por defeito que será colocado no menu Start depois deve-se pressionar Next >.

Figura 6 – Nome do Programa no Menu Start

GPA Manual

Página 8 de 29

No ecrã seguinte (Figura 7) aconselha-se a aceitar as escolhas do WinPT. Depois deve-se pressionar Next >.

Figura 7 – Tarefas adicionais

Na Figura 8 confirma-se as tarefas adicionais e escolhe-se o caminho para as chaves como por ex. “C:\Keyrings” e pressionar-se Install.

Figura 8 – Instalação pronta a iniciar

GPA Manual

Página 9 de 29

Instalação concluída (Figura 9). Pressiona-se então o botão Finish.

Figura 9 – Instalação concluída

Após terminar a instalação surge logo um ecrã a avisar que não possui chaves criadas e se pretende criá-las agora, ao qual deve-se responder com Yes.

Figura 10 – Configuração de chaves

Como é a primeira vez, deve-se seleccionar a primeira opção (Figura 11) para gerar um par de chaves e confirmar com OK.

Figura 11 – Especificação do Chaveiro

Gerar par de chaves

GPA Manual

Página 10 de 29

Surge-nos um formulário para preenchimento. Na Figura 12 está exemplificado para a conta test301 que representa o proprietário (nós). É importante salientar o tamanho da chave que tem efeitos na rapidez de geração da chave assim como compatibilidade com outras versões do PGP. O tamanho 1024 ou 2048 (mais seguro) são suficientes. A frase-senha (Passphrase) deve ser complicada e não esquecida, pois não há como recuperá-la mais tarde. Esta frase-senha será utilizada por exemplo para assinar o e-mail. Depois de estar devidamente preenchido basta pressionar o botão Start.

Figura 12 – Dados do par de chaves a criar

Aparece então no ecrã uma janela que indica a progressão da geração da chave (Figura 13).

Figura 13 – Progresso na criação do par de chaves

GPA Manual

Página 11 de 29

Quando estiver concluído surge mais uma janela (Figura 14) indicando o sucesso na sua criação, ao que devemos confirmar com OK.

Figura 14 – Criação do par de chaves concluída

Logo em seguida também surge um aviso (Figura 15) com a recomendação de guardar uma cópia de segurança do par de chaves criado. Deve-se responder com Yes.

Figura 15 – Aviso de backup das chaves

Surgem então 2 quadros: no primeiro é pedida a localização de pubring.gpg (Chave Pública) e no segundo secring.gpg (Chave Privada) - Figura 16.

Figura 16 – Destino da Chave Privada

GPA Manual

Página 12 de 29

Nesta fase está concluída a instalação. Verifica-se agora a existência 2 ícones (Figura 17) novos na barra de tarefas. Um em forma de chave representa o WinPT e o outro é o Plug-in para o Outlook Express.

Figura 17 – Ícones do WinPT

Exportar Chave Para iniciar a troca de mensagens com outros utilizadores deve-se primeiro exportar a chave. Para exemplificar serão referidas ao longo do manual 2 contas de e-mail: test301 que representa a origem (nós) e o destinatário Luis com a conta andrade. Para exportar a chave, deve-se abrir o WinPT na barra de tarefas com duplo clique sobre o ícone WinPT. Aparece então a janela do Key Manager (Figura 18) que normalmente será designada por chaveiro. Seleccionar o utilizador Test301 e com botão direito do rato escolher Set as Default Key. Depois no menu Key – Export dar um nome ao ficheiro a exportar (ex:test310.asc).

Figura 18 – Chaveiro

Se a exportação for concluída com sucesso surge a caixa de diálogo da Figura 19.

GPA Manual

Página 13 de 29

Figura 19 – Chave exportada com sucesso

Importar Chave O processo inverso é feito pelo Luis que envia-nos a sua chave em anexo e gravamos no nosso disco. Depois é necessário ir ao ícone WinPT e ao chaveiro e no menu Key selecciona-se Import… seguido da selecção do ficheiro a importar e surge então a janela da Figura 20. Aqui deve-se seleccionar a chave e confirmar com Import.

Figura 20 – Importação da Chave

Posteriormente surge a confirmação da importação da chave que deve ser confirmada com OK.

GPA Manual

Página 14 de 29

Figura 21 – Estatística de importação de chaves

Ao observar agora o chaveiro temos então as chaves da Figura 22.

Figura 22 – Chaveiro com chaves importadas

Tem-se agora a oportunidade de confirmar a confiança nesta chave. Através do Fingerprint que é único (como se fosse uma impressão digital) podemos verificar a veracidade da chave. Através do telefone, por voz, etc... pode-se confirmar com Luis se

GPA Manual

Página 15 de 29

a chave que recebeu não foi modificada pelo caminho. Além disso, pode-se alterar o grau de confiança na Chave Pública. Para isso, deve-se abrir o chaveiro do WinPT pressiona-se o botão direito do rato sobre a chave em que se quer confiar (Luis Andrade) e em Properties selecciona-se Change o que faz surgir o aviso da Figura 23 que devemos confirmar com Yes.

Figura 23 – Aviso de chave ainda não confiável

Em seguida pode-se então configurar o grau de confiança nessa chave em: Desconhecida, Não confiável (unknown), marginalmente confiável e totalmente confiável (trust fully) e confiável ultimamente (Figura 24). Neste caso, para o Luís modificamos para Trust fully seguidamente de OK e OK na Figura 25. Desta forma pode-se trocar e-mails seguros sem problemas com este utilizador (andrade).

Figura 24 – Grau de confiança

Figura 25 – Grau de confiança alterado com sucesso

Além disso deve-se assinar a chave de Luis, ou seja, dizer que aquela chave é autêntica. Para isso deve-se seleccionar Luís com o botão direito do rato e seleccionar Sign, surge então o ecrã de pedido de frase-senha (Figura 26), que deve ser preenchido, seguido de confirmação com OK.

GPA Manual

Página 16 de 29

Figura 26 – Assinatura de Chave Pública

Posteriormente somos questionados se a chave foi devidamente verificada, se sim deve-se seleccionar a última opção da Figura 27 seguido de OK.

Figura 27 – Tipo de verificação da assinatura

Se a assinatura foi efectuada com sucesso surge a indicação da Figura 28. Confirma-se com OK.

Figura 28 – Chave assinada com sucesso

A partir daqui já estamos prontos para trocar mensagens encriptadas/assinadas.

GPA Manual

Página 17 de 29

Outra hipótese de troca de chaves seria transportar em disquete, CD-ROM, etc. a Chave Pública. Ainda outra hipótese seria através de um servidor ou publicação/download num Website.

Gestão das Chaves Feita no Key Manager (Chaveiro) do WinPT. Seguem-se algumas operações importantes do chaveiro, quase sempre presentes no menu Key:

• Editar chave – Properties – Permite modificar o grau de confiança na chave (Trust Level);

• Remover chave – Delete - Para retirar uma chave do nosso chaveiro. Útil quando já não se confia numa determinada chave ou simplesmente deixou de existir;

• Assinar – Sign – Permite assinar uma chave, ou seja, estamos a certificar ter certeza de que aquela chave pertence ao utilizador alegado. Para isso é utilizada a nossa Chave Privada.

• Importar – Botão Import – Permite importar uma Chave Pública armazenada em algum dispositivo local

• Exportar – Botão Export – Permite exportar uma Chave Pública para armazenar em algum dispositivo local

• Chave por defeito – botão direito do rato sobre a chave – Set as Default key após ter seleccionado a nossa chave.

GPA Manual

Página 18 de 29

Mozilla Para utilizar o GPG no Mozilla deve-se primeiro instalar o WinPT conforme instruções anteriores mas tendo em atenção a localização do GnuPG no directório “C:\Gnupg”. Mesmo assim depois de terminada a instalação devemos copiar os ficheiros que estão dentro do sub directório Gnupg dentro do Gnupg para a raiz, ou seja, “C:\gnupg”. Assim devemos modificar o caminho do GnuPG. Para isso, ao clicar com o botão direito do rato em WinPT em Preferences – GPG e definir “C:\Gnupg\gpg.exe” como GnuPG exe file location (Figura 29).

Figura 29 – Caminhos dos executáveis do GPG

Instalação do Plug-in

Para o Mozilla existe um plug-in para o Mozilla Mail. Este software é designado Enigmail que funciona em ambientes Windows e Linux. Para instalá-lo o procedimento mais correcto é abrir o Mozilla no endereço: http://enigmail.mozdev.org/download.html (Figura 30) e em Express Install pressionar o botão Upgrade (instala 2 ficheiros: enigmail-0.65.1.xpi, enigmime-0.65.1-win32.xpi ).

Único caminho válido para o GPG

no Mozilla

GPA Manual

Página 19 de 29

Figura 30 – Instalação do Enigmail no Mozilla

Em seguida surge o ecrã de permissão de instalação dos 2 ficheiros do Enigmail (Figura 31) que devemos confirmar com Install.

Figura 31 – Ficheiros de instalação do Enigmail

Aguarda-se a conclusão da instalação até surgir a confirmação de sucesso (Figura 32) e pressiona-se OK.

GPA Manual

Página 20 de 29

Figura 32 – Instalação concluída

Deve-se reiniciar o browser. Tudo o que foi explicado para o Netscape aplica-se ao Mozilla. Para confirmá-lo basta ver o aspecto da mensagem a enviar para Luis na Figura 33.

Figura 33 – Aspecto de mensagem encriptada e assinada

GPA Manual

Página 21 de 29

Conclusão Este manual serve como ponto de partida para aumentar a segurança do seu e-mail em ambiente Windows através do GPG. Muitas outras soluções existem no mercado, algumas delas pagas, outras que fazem uso de Certificados Digitais, mas ao pesar os prós e os contras, o GPG é uma boa solução tendo em consideração a sua gratuitidade, uso em vários sistemas operativos, compatibilidade e grau de controlo por parte do utilizador. O uso desta ferramenta é da responsabilidade do utilizador, assim como a sua manutenção. Na eventualidade de alguma dúvida pode-se recorrer à ajuda dos botões de ajuda do software ou através do meu e-mail: [email protected].

GPA Manual

Página 22 de 29

Anexos

GPA Manual

Página 23 de 29

Encriptação / Assinatura de Ficheiros com WinPT Para encriptar e/ou assinar ficheiros acede-se via ícone WinPT e com o botão direito do rato selecciona-se File Manager o que faz surgir a Figura 34.

Figura 34 – File Manager do WinPT

Para escolher qual o ficheiro a encriptar ou assinar deve-se ir ao menu File - Open e seleccionar o ficheiro. Após escolha, neste exemplo, vamos utilizar o ficheiro “winpt.txt” conforme a Figura 35.

Figura 35 – Ficheiro para encriptar ou assinar

Nesse momento é possível então executar as seguintes operações do menu File:

• Encrypt • Decrypt • Symmetric • Sign & Encrypt • Sign • Verify

Para assinar selecciona-se a operação Sign com o ficheiro previamente seleccionado, o que faz surgir a caixa da Figura 36. Confirma-se a conta (test301) seguido de Ok.

GPA Manual

Página 24 de 29

Figura 36 – Modos de Assinatura do ficheiro

Após confirmação o File Manager fica conforme a Figura 37.

Figura 37 – Ficheiro assinado

Pode-se verificar que foi criado um outro ficheiro com extensão “sig”. É este ficheiro que podemos enviar por e-mail. Para encriptar deve-se ir ao menu File - Open e seleccionar o ficheiro. Após escolha, selecciona-se a operação Encript com o ficheiro previamente seleccionado, o que faz surgir a caixa da Figura 38 onde devemos seleccionar a(s) chave(s) para encriptação seguido de Ok.

GPA Manual

Página 25 de 29

Figura 38 – Chave para encriptação

Após confirmação o File Manager fica conforme a Figura 39.

Figura 39 - Ficheiro encriptado

Pode-se verificar que foi criado um outro ficheiro com extensão “gpg”. É este ficheiro que podemos enviar por e-mail. Para encriptar e assinar os passos são os mesmos para encriptação seguidos dos passos da assinatura, sendo que a operação a usar será Sign & Encrypt do menu File. Para desencriptar um ficheiro deve-se ir ao menu File - Open e seleccionar o ficheiro com extensão “.gpg”. Após escolha, deve-se ir ao menu File – Decrypt e automaticamente surge a caixa para introdução da frase-senha que deve ser preenchida seguida de Ok (Figura 40).

GPA Manual

Página 26 de 29

Figura 40 – Frase-senha para decifragem

Após decifragem no File Manager pode-se verificar o sucesso da operação (Figura 41). O ficheiro original é recriado.

Figura 41 – Ficheiro decifrado

Para verificar a assinatura de um ficheiro deve-se ir ao menu File - Open e seleccionar o ficheiro com extensão “.sig” (Figura 42). Após escolha, deve-se ir ao menu File – Verify e automaticamente verifica-se a veracidade da mesma (Figura 43).

Figura 42 – Ficheiro Assinado

GPA Manual

Página 27 de 29

Figura 43 – Veracidade da assinatura

Outras opções existentes no File Manager são as seguintes: Menu File - Clear List - limpa a área de ficheiros; Edit – Preferences – Escolha do algoritmo de encriptação (Figura 44).

Figura 44 – Algoritmo a usar

GPA Manual

Página 28 de 29

Chave Pública no SiFEUP Cada utilizador do SiFEUP possui um campo designado “Chave Pública” (Essa opção somente está disponível se a pessoa em causa editou a sua Chave Pública). Desta forma, pode-se através de uma pesquisa pelo utilizador encontrar a Chave Pública de um determinado utilizador. Na página do utilizador surge em “Opções” um menu designado “Chave Pública”. Ao pressionar o botão do rato sobre este, é apresentada uma página com a Chave Pública do utilizador. Nesta página deve-se seleccionar e copiar (CTRL+C ou menu Edit - Copy) todo o texto entre “-----BEGIN PGP PUBLIC KEY BLOCK-----“ e “-----END PGP PUBLIC KEY BLOCK-----“, colar num ficheiro novo e gravar. Aconselha-se que o novo ficheiro tenha extensão “.asc”. Depois é só importar o ficheiro para o chaveiro. Através do WinPT, na janela do Key Manager (chaveiro) no menu Key – Import indica-se o caminho para o ficheiro previamente gravado e depois confirma-se com Open. Para introduzir a nossa Chave Pública basta efectuar login no SiFEUP e dentro de “Opções” no menu designado “Editar Chave Pública” – Figura 45 – basta copiar a nossa chave (abrir o nosso ficheiro da Chave Pública com o Notepad por exemplo copiar - CTRL+C ou menu Edit - Copy) e colar na janela de “Edição da Chave Pública” – Figura 46 – e efectuar Submeter. A partir desse momento fica disponível a Chave.

Figura 45 – Configuração de Chave Pública

Figura 46 – Introdução de Chave Pública

GPA Manual

Página 29 de 29

Glossário Criptografia – vem do grego kryptos (escondido, oculto) e da palavra grapho (grafia, escrita), a criptografia apresenta-se como a ciência de escrever em códigos ou em cifras através de um conjunto de técnicas que torna uma mensagem incompreensível, que passa a estar cifrada ou encriptada. Encriptação ou Cifragem – Técnica de misturar informação de modo a tornar ilegível para qualquer pessoa excepto o destinatário. Desencriptação ou Decifragem – Técnica de tornar legível a informação codificada. Chave Privada: elemento do par de chaves assimétricas que permite assinar as mensagens de e-mail e ficheiros e decifrar as mensagens e ficheiros. Deve ser secreta; Chave Pública: elemento do par de chaves assimétricas que é usada para encriptar uma mensagem ou ficheiro em que só a Chave Privada correspondente pode desencriptar além de permitir verificar assinaturas digitais. Deve ser distribuída; Assinatura digital: processo de assinatura electrónica baseado em sistema criptográfico assimétrico em que é criado um código digital com uma Chave Privada do remetente. As assinaturas permitem autenticação das informações pelo processo de verificação da assinatura, através da Chave Pública do remetente.