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 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.
Top Related