Manual de Criptografia

Este \xE9 um tutorial de criptografia usando o GNU Privacy Guard (GPG). Para voc\xEA entender legal o que est\xE1 escrito aqui \xE9 recomend\xE1vel alguma experi\xEAncia com edi\xE7\xE3o de textos no computador, saber navegar na internet e utilizar seu correio eletr\xF4nico. Outros conhecimentos de computa\xE7\xE3o s\xE3o opcionais e muito bem vindos.

Esse texto est\xE1 dividido em cinco partes:

A leitura da primeira parte \xE9 indispens\xE1vel para compreender o resto do texto. As outras se\xE7\xF5es podem ser lidas independentemente.

\xCDndice

1. Introdu\xE7\xE3o e conceitos de criptografia

O que \xE9 a criptografia:

A criptografia \xE9 o m\xE9todo de codificar mensagens de modo a garantir que s\xF3 a pessoa que tenha em m\xE3os o c\xF3digo correto possa l\xEA-la.

Para que serve a criptografia? Em resumo, ela serve para

  • Proteger informa\xE7\xF5es
  • Preservar a privacidade das pessoas
  • Permitir a autenticidade de informa\xE7\xF5es (assinatura digital)

Proteger informa\xE7\xF5es significa que voc\xEA pode escolher quem acessa suas informa\xE7\xF5es. Preservar a privacidade das pessoas quer dizer que quem n\xE3o estiver autorizado a acessar suas informa\xE7\xF5es n\xE3o conseguir\xE1 decifr\xE1-las. Permitir a autenticidade de informa\xE7\xF5es evita que falem em seu nome coisas que voc\xEA n\xE3o disse.

Como funciona

A criptografia que veremos aqui \xE9 baseada num princ\xEDpio de dificuldade de realizar opera\xE7\xF5es revers\xEDveis. Por exemplo, \xE9 muito f\xE1cil saber qual \xE9 o produto de dois n\xFAmeros primos - n\xFAmeros que s\xF3 s\xE3o divis\xEDveis por 1 e por eles mesmos, como 7, 11, 23. Mas \xE9 realmente muito dificil saber, dado um n\xFAmero qualquer, quais s\xE3o os n\xFAmeros primos que eu preciso multiplicar para obter esse n\xFAmero. Ou seja, essas opera\xE7\xF5es matem\xE1ticas com n\xFAmeros primos s\xE3o revers\xEDveis - se eu sei quais s\xE3o os n\xFAmeros primos eu sei o produto deles e se eu sei qual \xE9 o n\xFAmero eu posso descobrir quais s\xE3o seus fatores primos e s\xE3o mais dif\xEDceis de se realizar de um sentido do que de outro.

A dificuldade de descobrir quais s\xE3o os fatores primos de um n\xFAmero aumenta exponencialmente com o tamanho do n\xFAmero. Exponencialmente quer dizer realmente muito. \xC9 nisso que a criptografia se ap\xF3ia.

Imagine um cadeado com duas chaves. Uma somente fecha o cadeado e a outra somente abre. \xC9 mais ou menos assim que o GPG funciona. Voc\xEA criar\xE1 duas chaves, uma p\xFAblica e outra privada. A chave p\xFAblica \xE9 a que "fecha" (criptografa) e a chave privada \xE9 a que "abre" (decifra) depois que voc\xEA fornece sua frase-senha.

As pessoas que querem enviar documentos critografados para voc\xEA devem ter a sua chave p\xFAblica e SOMENTE VOC\xCA deve ter sua chave privada e deve saber sua frase-senha. De modo an\xE1logo, se voc\xEA quiser mandar uma mensagem codificada para uma pessoa, voc\xEA precisa ter a cave p\xFAblica da mesma.

O esquema de criptografia baseado em par de chaves funciona assim:

mensagem original -> chave p\xFAblica -> mensagem codificada
mensagem codificada -> chave privada -> mensagem original

Essas opera\xE7\xF5es s\xE3o revers\xEDveis, ou seja, \xE9 poss\xEDvel termos, por exemplo

mensagem codificada -> chave p\xFAblica -> mensagem original 

o que, em outras palavras, significa a "quebra" da mensagem codificada e consequentemente a invas\xE3o da sua privacidade, pois algu\xE9m pode interceptar a mensagem codificada e junto com sua chave p\xFAblica determinar qual \xE9 a mensagem original. Calma, n\xE3o se assuste! Apesar disso ser perfeitamente poss\xEDvel, devemos lembrar que essas opera\xE7\xF5es s\xE3o revers\xEDveis mas tamb\xE9m s\xE3o mais f\xE1ceis de fazer num sentido do que em outro, isto \xE9, \xE9 muito mais f\xE1cil fazer:

mensagem original -> chave p\xFAblica -> mensagem codificada

do que

mensagem codificada -> chave p\xFAblica -> mensagem original

Pra voc\xEA ter uma id\xE9ia, a primeira opera\xE7\xE3o demora tipicamente alguns segundos, dependendo do tamanho da mensagem e do tamanho da chave. J\xE1 a segunda demora tipicamente milhares de anos (literalmente) e precisa de um poder computacional enorme, de milhares de computadores ou supercomputadores trabalhando juntos. Essa dificuldade de fazer a opera\xE7\xE3o reversa \xE9 que possibilita o uso da criptografia como ferramenta de privacidade pessoal, pois na pr\xE1tica \xE9 invi\xE1vel quebrar mensagens criptografadas.

A opera\xE7\xE3o

mensagem codificada -> chave privada -> mensagem original

tamb\xE9m demora apenas alguns segundos para ser realizada.

Resumindo: a criptografia tratada neste pequeno manual \xE9 baseada em pares de chaves, uma chave p\xFAblica e uma chave privada. Voc\xEA troca sua chave p\xFAblica com outras pessoas e mant\xE9m sua chave privada em segredo. Se voc\xEA quise mandar uma mensagem codificada para algu\xE9m, \xE9 s\xF3 usar a chave p\xFAblica dessa pessoa para criar uma mensagem que s\xF3 ela poder\xE1 ler. De mesma forma, se algu\xE9m quiser lhe enviar uma mensagem codificada, basta que essa pessoa tenha a sua chave p\xFAblica e s\xF3 voc\xEA ser\xE1 capaz de ler a mensagem, e para isso voc\xEA dever\xE1 usar sua chave privada. \xC9 muito importante que voc\xEA tenha esse princ\xEDpio de funcionamento bem claro em sua mente antes de continuar.

A cole\xE7\xE3o de sua(s) chave(s) p\xFAblica(s) e privada(s) e mais as chaves p\xFAblicas de outras pessoas que voc\xEA possui \xE9 denominada de chaveiro.

Exemplo de chave p\xFAblica

Uma chave p\xFAblica \xE9 uma sequ\xEAncia de c\xF3digos, e pode ser apresentada como um arquivo de texto comum. Esse arquivo conter\xE1 um monte de caracteres malucos. Veja s\xF3:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

mQGiBD6cuEoRBACQ6QKhCjN2qKHmOeeOdW9wOnnnd9V0eLREreSmMsRD6kSdXnrG
LQGrXMCBjelwOKB/vh2mcKn646PmSaq4sC+bLSOMAhME/IaDyDWZNWXo37yYlhDu
VD5wZGZNGMwov/bPDvjNjJTSXlo4/glbUNyVU2n9kiFYoDoSGjg1jQcYLwCgyeOJ
tHFSoelA62s+YmypI3KAzkcD/1S7Fim4p5X6HA/mUkFtuExDggba+OKmsmYNfPZ/
Q0sPAK85Or0zKAbGXAKUqezCuKCZ6FaesbIU5hTcQb2zKmzg1hzmtsWCTrxuj2X8
c//yRjDzFjT8KKCYKZWBGQTapGhvlHHq8ZsLlYZRzYyYtZ13a809FWk8G0Aq5/FA
be3KA/4nK+XAZUwXqXzu+xKINMu98zi9QWnVfBA5G132uCyrwOTBG1BV3803QFxG
XdBrEnGlz/RU9xjkVnEBWyqriO+lGDXuEZ6pWyx70UJ1S2qPDYKxoLTB68ZWAfKU
xYP8JYBC06hk6Ztq7FjkQGHxKMYQ9HCC3l9octyNsux+b/5Q+rQhU2lsdmlvIFJo
YXR0byA8cmhhdHRvQHJpc2V1cC5uZXQ+iFcEExECABcFAj6cuEoFCwcKAwQDFQMC
AxYCAQIXgAAKCRDA5viFRw5zwno5AKCGTBDCw9dalpr+SG7MQx00u1iehwCeKuGC
1FljdhHcu2CQX/JZoWLB/Qi5AQ0EPpy4TRAEAKmsLjxI2k/ITXu2kZJ7+SQPftb9
yRs8FxOsnmytkUwO8HaryPfuoMU51xG8XYL4blGL6u2J67KJOO4R3buwUDmH16RC
+nmMNlnaa0zlozsYIuB+r3s18hNLAss1LX0P0Ob6Ownar5VM8yNgVhEZkwBs6VhV
lfinYThWmpaXXLU3AAMFA/498Mfl1rs4z6vzkmIGu3Mqy+2CXSA/oCp9zPfFLJNM
+WUGhpbxkbbsNEzHdTFWPcoHi23k01KjT5CAiyiP30o6g8OV+3/WRYqeR4UNT6e8
7JDZo8kzjnTigI7XoAkqTJhL8pzhzvjboGZAaN1LDPgO2H//iRaBUjjrGaOTl9x2
c4hGBBgRAgAGBQI+nLhNAAoJEMDm+IVHDnPCsrYAoL9sLObVCteWmkAPFL3b5e/p
UFfAAKCzRRY3tPu6sHczFzOcw3SzeDN5x5kBogQ+nLhKEQQAkOkCoQozdqih5jnn
jnVvcDp553fVdHi0RK3kpjLEQ+pEnV56xi0Bq1zAgY3pcDigf74dpnCp+uOj5kmq
uLAvmy0jjAITBPyGg8g1mTVl6N+8mJYQ7lQ+cGRmTRjMKL/2zw74zYyU0l5aOP4J
W1DclVNp/ZIhWKA6Eho4NY0HGC8AoMnjibRxUqHpQOtrPmJsqSNygM5HA/9UuxYp
uKeV+hwP5lJBbbhMQ4IG2vjiprJmDXz2f0NLDwCvOTq9MygGxlwClKnswrigmehW
nrGyFOYU3EG9syps4NYc5rbFgk68bo9l/HP/8kYw8xY0/CigmCmVgRkE2qRob5Rx
6vGbC5WGUc2MmLWdd2vNPRVpPBtAKufxQG3tygP+JyvlwGVMF6l87vsSiDTLvfM4
vUFp1XwQORtd9rgsq8DkwRtQVd/NN0BcRl3QaxJxpc/0VPcY5FZxAVsqq4jvpRg1
7hGeqVsse9FCdUtqjw2CsaC0wevGVgHylMWD/CWAQtOoZOmbauxY5EBh8SjGEPRw
gt5faHLcjbLsfm/+UPq0IVNpbHZpbyBSaGF0dG8gPHJoYXR0b0ByaXNldXAubmV0
PohXBBMRAgAXBQI+nLhKBQsHCgMEAxUDAgMWAgECF4AACgkQwOb4hUcOc8J6OQCg
hkwQwsPXWpaa/khuzEMdNLtYnocAnirhgtRZY3YR3LtgkF/yWaFiwf0IuQENBD6c
uE0QBACprC48SNpPyE17tpGSe/kkD37W/ckbPBcTrJ5srZFMDvB2q8j37qDFOdcR
vF2C+G5Ri+rtieuyiTjuEd27sFA5h9ekQvp5jDZZ2mtM5aM7GCLgfq97NfITSwLL
NS19D9Dm+jsJ2q+VTPMjYFYRGZMAbOlYVZX4p2E4VpqWl1y1NwADBQP+PfDH5da7
OM+r85JiBrtzKsvtgl0gP6Aqfcz3xSyTTPllBoaW8ZG27DRMx3UxVj3KB4tt5NNS
o0+QgIsoj99KOoPDlft/1kWKnkeFDU+nvOyQ2aPJM4504oCO16AJKkyYS/Kc4c74
26BmQGjdSwz4Dth//4kWgVI46xmjk5fcdnOIRgQYEQIABgUCPpy4TQAKCRDA5viF
Rw5zwrK2AKC/bCzm1QrXlppADxS92+Xv6VBXwACgs0UWN7T7urB3MxcznMN0s3gz
ecc=
=1J0v
-----END PGP PUBLIC KEY BLOCK-----

Esta \xE9 a minha chave p\xFAblica. Ela \xE9 grande e bonita, mas n\xE3o muito compreensiva. Para falar a verdade, eu n\xE3o entendo nada do que est\xE1 escrito l\xE1, com a exce\xE7\xE3o dos seguintes peda\xE7os:

-----BEGIN PGP PUBLIC KEY BLOCK-----

Esse primeiro texto vai informar ao leitor que este \xE9 o come\xE7o da chave p\xFAblica.

Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org

Essas duas linhas informam sobre qual programa que criou a chave p\xFAblica e em qual sistema operacional.

-----END PGP PUBLIC KEY BLOCK-----

Essa linha avisa ao leitor que a sequ\xEAncia de caracteres malucos da chave p\xFAblica acabou.

Quando voc\xEA vai mandar uma mensagem criptografada pra algu\xE9m, o programa de criptografia vai usar os caracteres malucos que ficam entre os textos -----BEGIN PGP PUBLIC KEY BLOCK----- e -----END PGP PUBLIC KEY BLOCK----- da chave p\xFAblica da pessoa pra criar a mensagem codificada.

OBS: N\xE3o h\xE1 nenhuma restri\xE7\xE3o quanto ao nome de arquivo que uma chave p\xFAblica pode ter. Usualmente \xE9 um nome de arquivo com extens\xE3o .asc, .key ou qualquer outra coisa. Por exemplo, o arquivo de chave p\xFAblica do seu amigo Groucho pode ser groucho.asc, groucho.key ou qualquer outra coisa. Se voc\xEA quiser conferir se um arquivo cont\xE9m uma chave p\xFAblica, basta abri-lo num editor de textos qualquer e ver se o conte\xFAdo do arquivo se parece com o exemplo de chave p\xFAblica acima.

Exemplo de chave privada

Uma chave privada tambem \xE9 uma sequ\xEAncia de c\xF3digos que tamb\xE9m pode ser apresentada como um arquivo de texto comum. Esse arquivo conter\xE1 um monte de caracteres malucos. Aqui segue um exemplo fict\xEDcio de chave privada:

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1.2.1 (GNU/Linux)

mQGiBD6cuEoRBACQ6QKhCjN2qKHmOeeOdW9wOnnnd9V0eLREreSmMsRD6kSdXnrG
LQGrXMCBjelwOKB/vh2mcKn646PmSaq4sC+bLSOMAhME/IaDyDWZNWXo37yYlhDu
VD5wZGZNGMwov/bPDvjNjJTSXlo4/glbUNyVU2n9kiFYoDoSGjg1jQcYLwCgyeOJ
tHFSoelA62s+YmypI3KAzkcD/1S7Fim4p5X6HA/mUkFtuExDggba+OKmsmYNfPZ/
Q0sPAK85Or0zKAbGXAKUqezCuKCZ6FaesbIU5hTcQb2zKmzg1hzmtsWCTrxuj2X8
c//yRjDzFjT8KKCYKZWBGQTapGhvlHHq8ZsLlYZRzYyYtZ13a809FWk8G0Aq5/FA
be3KA/4nK+XAZUwXqXzu+xKINMu98zi9QWnVfBA5G132uCyrwOTBG1BV3803QFxG
XdBrEnGlz/RU9xjkVnEBWyqriO+lGDXuEZ6pWyx70UJ1S2qPDYKxoLTB68ZWAfKU
xYP8JYBC06hk6Ztq7FjkQGHxKMYQ9HCC3l9octyNsux+b/5Q+rQhU2lsdmlvIFJo
YXR0byA8cmhhdHRvQHJpc2V1cC5uZXQ+iFcEExECABcFAj6cuEoFCwcKAwQDFQMC
vUFp1XwQORtd9rgsq8DkwRtQVd/NN0BcRl3QaxJxpc/0VPcY5FZxAVsqq4jvpRg1
7hGeqVsse9FCdUtqjw2CsaC0wevGVgHylMWD/CWAQtOoZOmbauxY5EBh8SjGEPRw
gt5faHLcjbLsfm/+UPq0IVNpbHZpbyBSaGF0dG8gPHJoYXR0b0ByaXNldXAubmV0
NS19D9Dm+jsJ2q+VTPMjYFYRGZMAbOlYVZX4p2E4VpqWl1y1NwADBQP+PfDH5da7
OM+r85JiBrtzKsvtgl0gP6Aqfcz3xSyTTPllBoaW8ZG27DRMx3UxVj3KB4tt5NNS
PohXBBMRAgAXBQI+nLhKBQsHCgMEAxUDAgMWAgECF4AACgkQwOb4hUcOc8J6OQCg
hkwQwsPXWpaa/khuzEMdNLtYnocAnirhgtRZY3YR3LtgkF/yWaFiwf0IuQENBD6c
uE0QBACprC48SNpPyE17tpGSe/kkD37W/ckbPBcTrJ5srZFMDvB2q8j37qDFOdcR
vF2C+G5Ri+rtieuyiTjuEd27sFA5h9ekQvp5jDZZ2mtM5aM7GCLgfq97NfITSwLL
7JDZo8kzjnTigI7XoAkqTJhL8pzhzvjboGZAaN1LDPgO2H//iRaBUjjrGaOTl9x2
c4hGBBgRAgAGBQI+nLhNAAoJEMDm+IVHDnPCsrYAoL9sLObVCteWmkAPFL3b5e/p
1FljdhHcu2CQX/JZoWLB/Qi5AQ0EPpy4TRAEAKmsLjxI2k/ITXu2kZJ7+SQPftb9
ecc=
=1J0v
-----END PGP PRIVATE KEY BLOCK-----

Como voc\xEA deve ter percebido, uma chave privada \xE9 uma por\xE7\xE3o de texto cuja estrutura \xE9 igual \xE0 da chave p\xFAblica. As primeiras duas linhas,

-----BEGIN PGP PRIVATE KEY BLOCK-----
Version: GnuPG v1.2.1 (GNU/Linux)

informam ao programa de criptografia que o texto que vem na sequ\xEAncia \xE9 uma chave privada. O programa assumir\xE1 que o resto do texto \xE9 uma chabe privada at\xE9 encontrar a linha

-----END PGP PRIVATE KEY BLOCK-----

Exemplo de mensagem criptografada

Como exemplo, que tal criptografarmos a seguinte mensagem:

Seu pai \xE9 careca?

O resultado, quando criptografado com minha chave p\xFAblica, \xE9

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.3 (GNU/Linux)

hQEOA3v8xQeh8DSxEAP/Rks1pm5WOyNZTtlJP1FVK602ix872ZMwsOsOYZ9oBC+o
pN9/03jLjlk3hF0v9KJkq3SQxu+E7zSCbuMigAum0QZgV3BMVjZDGKLDUN3D8Sgt
fBju6Y7Vn6wK87OWQlayWMAab+t77wQPjKuH9IPYJwsZ6zJJK5YIhgIlKU0FoKAD
/RWDmqQua/iswijTh5StgO+FJuseec22TgGPzZC4D05s9JE7gMIO3GvSTGR+re4i
SaCzrppudxOacsuCcRhR6IkA6lT8fKaZImU/aMev/UgwadGP3XeqiwxPUt+qHg6H
iYZyMShKAMZzF+PdgflaDYGffgIQBXpxWxjRMufX9LTW0lYBo1mQ6W1XgJG3AY47
knPyqSKRfuNPwayAGRdZM2yoq/DnwIUGB5cyfiNqkV9lXl25uXud99T3mDojYLzr
N/pWTHTdu5UA/RbBrPaeZ7HX3tdXnhlCzw==
=Jqqw
-----END PGP MESSAGE-----

E a\xED, voc\xEA acha que d\xE1 pra decifrar? S\xF3 com minha chave privada!

As primeiras duas linhas,

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.3 (GNU/Linux)

indicam que o que vem na sequ\xEAncia \xE9 uma mensagem criptografada. O fim da mensagem criptografada \xE9 assinalada na linha

-----END PGP MESSAGE-----

Agora vou codificar a mesma mensagem utilizando v\xE1rias chaves p\xFAblicas, para que mais pessoas possam l\xEA-la.

mensagem original -> v\xE1rias chaves p\xFAblicas -> mensagem cifrada para v\xE1rios destinat\xE1rios

O resultado \xE9

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.3 (GNU/Linux)

hQEOAwXhZ7S+8an6EAP8CwSfq+TjKziYiM4QGwAwNynKDLSkMdw6KeTmSi3XgfP+
Wf6p6KWGuVmD7ffGMwCBuB+mKpjmXhZ9EyR4JAVpgkMMN2ZCrTcMu4tDZqqvJV/t
jws1dwg0QaeCdmA6jbxBDuWUsbgOzxY/5URmttCfKGTgIOOh73VDZ3HXM4MrWIcE
AKFaCgiMybhYZLlXqEpqgyJWH54fsXSgRbv2yZE2G+9aNEolAVji7NfluKGhrosF
gRCEuFc1pGRnF+Z5+aMj/xK/9DKeqGt97aQbViQ33s/3soqskBWzd95rKK1ZyBRn
iIEoEXlc+eDRk+j6EsjR+Ex87fU4gCM9aNPQGkdLZZpJhQEOAzrq0korX+quEAQA
gOEV5STP2zCgQ5sSljd6D02lLXVky5P/4vvgBPUUpH9svMQUF5iJTPc8H/YUoOmW
Hpmk6nwXDsAwDhyoTuiiPHRBd+D1ckCtwsjRZePOhkU2r0m+9k4kI3Q34XX3jPDI
YABHRWP0tJaazCU/1PD1rKA0JWoLmA3x3i2AEizwLrkD/R+8xBgOUEV+XNJSEXqS
ooHbKCu9dItIXjHj2kzTpA5F9anT0xZYG+Q9SivWavZVAd8KLcDM7My1s/udjGyp
KWeSxcyHu6rYmdJw1by+eWddKn+2W7iSgnaOhjEimZcy53wYmrh5Wzv5vDL0Qd2d
RSX12GjdqW9FmOQvag2q8sIAhQIOA7jcJ6nlDzObEAf9EPB7HaCBFSovTp/c2GsU
HEyc3gRQ2RD1XPlnKA/PhE5zTIGCXiRdVLfQuoZ4xOwHng8ppM5xJkIU5oohhysu
m7YFlkM7rG9kavVAoATDeNfoLXjA7q/Cntl9xyy2NEUU9oQCilrS6JTvJ9UPPY1U
kW9zS8CNNIAgIQ+rVJZtc1E+34N8xORk+4nQz4QtY0nE6XMN83bIYfoIxGc0dn8O
PVOz5ej6utcZV2sdTZc0JnX3lXonUhkSCvsDcxRfUOemfObR2XZMq7OrFoKQ1mly
TQ9AW2mUyEbEtVsFdT8HOAC3M7z/EmnK97nAykONYko1RrHgWY/ekhElqxfvzy2I
6Qf9F9tTLshUy7QdM7WiGoJaxPwTUwlzGw29rnZo36JNKyWW8qnGU5+YH5iKzM4u
xeAOt12SKcBgzN2ucEdmOxm0A1rYL0IgDLWTYnD/YkmJbSp4xhwKEUEF4juiJdUd
ZTf1+tF6Q6yIRIFwLy3ES3NX6sA/dxkiN2YROC41VtcGqn84lCj3c4VnMw7LcLtX
GBP9y76tObNEXsCYGIsVqjxMXDFh0smQ8v1Loo1qFxBCjuPXWWBWL77814o2rS+Y
1eH+Q9rv5RajMygDD1afYxKoI1mey7yuRbiG02owHDNMs6wECCH77bRnxAVRLSWD
UCsIRMk0qWKApD/M7qIWn4qtl9JWAcG4KKrOGdIYswARUoJIMKn+TMJmbA8TxTKo
J7yrXniv3C9pyeEPqRUWdZqo4szVDKPGLz+VMCV4tzSE5iINGBNNXAM9HxqwmAX9
tqLVyGhs9UVe8RY=
=cbe0
-----END PGP MESSAGE-----

Percebeu como mensagem criptografada ficou maior? \xC9 que agora ela possui uma codifica\xE7\xE3o para cada chave p\xFAblica.

Fingerprint (Impress\xE3o Digital)

Tudo bem, algu\xE9m me manda sua chave p\xFAblica, eu a adiciono no meu chaveiro e come\xE7o a utiliz\xE1-la para encriptar coisas. Mas quem me garante de que a chave que recebi realmente \xE9 daquela pessoa?

Chegamos a um dos pontos mais delicados da criptografia usando par de chaves: o que garante que a chave pertence \xE0quela pessoa? Isso ser\xE1 melhor discutido na se\xE7\xE3o O limite da confiabilidade.

Existe uma maneira de confirmar a proced\xEAncia da chave utilizando a impress\xE3o digital dessa chave p\xFAblica, que nada mais \xE9 do que um n\xFAmero associado \xE0quela chave. A id\xE9ia \xE9 que voc\xEA possa confirmar a impress\xE3o digital da chave p\xFAblica com a pessoa propriet\xE1ria, de prefer\xEAncia ao vivo ou de alguma forma bem segura. \xC9 uma das melhores maneiras de se certificar que a chave realmente pertence \xE0 pessoa.

Por exemplo, algu\xE9m me envia uma chave p\xFAblica. Eu a adiciono ao meu chaveiro. Quando tiver a oportunidade de encontrar a pessoa ao vivo, troco com ela nossas impress\xF5es digitais, isto \xE9, passo pra ela a impress\xE3o digital da minha chave p\xFAblica - que mantenho anotada num papelzinho dentro da minha carteira! - e ela me passa sua impress\xE3o, que tamb\xE9m estava anotada num papelzinho! Quando chegar em casa, posso confirmar se a chave p\xFAblica dela que tenho no meu computador tem a mesma impress\xE3o digital que me foi passada durante o encontro. Se as duas coincidirem, posso ter quase certeza de que aquela chave realmente pertence \xE0 pessoa em quest\xE3o. Eu digo quase pois n\xF3s que usamos criptografia somos muito c\xE9ticos e paran\xF3icos.

Aqui segue um exemplo de impress\xE3o digital de uma chave p\xFAblica:

268F 448F CCD7 AF34 183E  52D8 9BDE 1A08 9E98 BC16

N\xE3o \xE9 nada complicado manter esse conjunto de letras num papelzinho ou impresso no seu cart\xE3o de visitas!

Assinaturas digitais

Na se\xE7\xE3o anterior explicamos como a criptografia pode ser utilizada para criptografar e descriptografar informa\xE7\xF5es. O uso da criptografia n\xE3o se restringe a isso. Com ela, \xE9 poss\xEDvel criar assinaturas digitais.

Quando voc\xEA fecha um contrato, voc\xEA assina \xE0 caneta na linha pontilhada. Espera-se que voc\xEA tenha lido tudo direitinho e corcorde com o que estava escrito. Em outras palavras, voc\xEA d\xE1 confian\xE7a naquele documento e assina em baixo. Sua assinatura \xE9 a prova de que voc\xEA deu sinal verde. Quanto mais complicada, cheia de garranchos e rabiscada for sua assinatura, melhor para voc\xEA, pois dificilmente algu\xE9m conseguir\xE1 falsificar sua assinatura.

Com a criptografia baseada em chaveiro a coisa \xE9 mais ou menos assim. Bem mais ou menos. \xC9 parecida no sentido de que voc\xEA precisa confiar no que est\xE1 assinando. Mas diferente no sentido que ningu\xE9m conseguir\xE1 falsific\xE1-la (a n\xE3o ser que roubem sua chave privada e sua senha).

A assinatura funciona da seguinte maneira: eu escrevo um texto, por exemplo:

Torta na cara, torta no p\xE9, torta onde quiser!

Em seguida, utilizo a seguinte opera\xE7\xE3o:

mensagem original -> chave privada -> mensagem assinada

A mensagem assinada conter\xE1 a informa\xE7\xE3o da mensagem original e vir\xE1 acompanhada de uma por\xE7\xE3o de texto gerada pela combina\xE7\xE3o da mensagem original, da minha chave privada e muitas opera\xE7\xF5es matem\xE1ticas malucas. Essa por\xE7\xE3o de texto \xE9 a assinatura digital. Se algu\xE9m receber essa mensagem e possuir minha chave p\xFAblica, poder\xE1 testar se essa mensagem tem uma assinatura correta de minha chave privada:

mensagem assinada -> chave p\xFAblica -> confirma\xE7\xE3o da assinatura

Se eu assinar a mensagem anterior, a mensagem assinada ser\xE1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Torta na cara, torta no p\xE9, torta onde quiser!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAuSSqvSy1nGtWZ3cRAvbuAJ9CZgA3YXCWCWiHMgtqA1pnjUqnaQCgvvrv
JRwCqz/lUTdhE0j5KzoMvX0=
=l6xH
-----END PGP SIGNATURE-----

De modo an\xE1logo ao caso da mensagem criptografada, as linhas

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

indicam que o que vem a seguir est\xE1 assinado digitalmente. Os caracteres malucos s\xE3o a assinatura em si. Um programa que tenha essa assinatura e a chave p\xFAblica correspondente \xE0 chave privada que a assinou pode verificar se a assinatura confere.

Por fim, a linha

-----END PGP SIGNATURE-----

avisa o programa de criptografia que encerrou a por\xE7\xE3o de texto que cont\xE9m a assinatura.

Eu tamb\xE9m poderia enviar minha mensagem num arquivo e a assinatura separadamente, para facilitar a leitura da mensagem. Por exemplo, a assinatura correspondente \xE0 mensagem

Mensagem protegida contra estelionato.

Pode ser distribu\xEDda num arquivo em separado, cujo conte\xFAdo, se assinado com minha chave p\xFAblica, ser\xE1:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQBALBiEvSy1nGtWZ3cRAmneAKCzNFcwvmIYUS4/t9x9jeAWTCLcygCfSbpT
UrUnpqD+GUfovjNiS56dCec=
=8Czp
-----END PGP SIGNATURE-----

A assinatura digital permite at\xE9 que voc\xEA assine sua c\xF3pia da chave p\xFAblica dos seus amigos e amigas. Uma vez que voc\xEA trocou sua impress\xE3o digital com a deles, assinar a sua c\xF3pia de uma chave p\xFAblica de outra pessoa indica que voc\xEA confia naquela chave p\xFAblica.

O limite da confiabilidade

Como foi dito na se\xE7\xE3o Fingerprint (Impress\xE3o Digital), n\xE3o h\xE1 nada que garanta a origem das chaves p\xFAblicas que recebemos e adicionamos ao nosso chaveiro.

O que podemos fazer \xE9, al\xE9m de recebermos ao vivo as impress\xF5es digitais das chaves p\xFAblicas, dar n\xEDveis de confian\xE7a a determinadas chaves. Dar um n\xEDvel de confian\xE7a \xE0s vezes \xE9 a \xFAnica coisa que podemos fazer quando n\xE3o tivermos a oportunidade de trocas as impress\xF5es digitais.

Algo muito popular \xE9 o uso da rede de confiabilidade, que \xE9 mais ou menos baseada no princ\xEDpio do amigo de amigo meu \xE9 meu amigo. Por exemplo, Maria tem a chave p\xFAblica de Jo\xE3o e ambos j\xE1 trocaram suas impress\xF5es digitais e assinaram as chaves p\xFAblicas um do outro. Maria ainda tem a chave p\xFAblica de Josefina mas nunca poder\xE3o trocar suas impress\xF5es digitais ao vivo, pois Josefina mora na Crac\xF3via e l\xE1 \xE9 muito longe. Jo\xE3o, por\xE9m, j\xE1 foi at\xE9 a Crac\xF3via, teve a oportunidade de trocar sua impress\xE3o digital com Josefina e assinou a chave p\xFAblica dela. Com isso, Maria poder\xE1 ter confian\xE7a na chave de Josefina, pois como Maria confia na chave de Jo\xE3o e Jo\xE3o confia na chave de Josefina, Maria pode tamb\xE9m confiar na chave de Josefina, que poder\xE1 confiar na chave de Maria.

Criando essa teia de confiabilidade, as pessoas podem ter um pouco mais de seguran\xE7a no uso da criptografia. O importante \xE9 confiar n\xE3o s\xF3 que as chaves p\xFAblicas que voc\xEA possui realmente pertencem aos seus amigos, mas tamb\xE9m confiar nos seus amigos, pois eles assinar\xE3o chaves que eventualmente voc\xEA poder\xE1 confiar.

Reposit\xF3rios de chaves

Existem alguns computadores na internet que atuam como servidores p\xFAblicos de chaves p\xFAblicas: eles armazenam chaves p\xFAblicas, podendo receber e enviar chaves p\xFAblicas, o que torna mais f\xE1cil a busca por chaves, principalmente de pessoas com as quais voc\xEA ainda n\xE3o teve contato. De uma maneira semelhante ao uso dos sites de busca, voc\xEA vai at\xE9 o servidor de chaves e procura pelo nome da pessoa, seu email, etc, e a partir disso pode baixar e adicionar chaves ao seu chaveiro.

Hist\xF3rico

Essa se\xE7\xE3o \xE9 meramente ilustrativa e tem como objetivo dar um tempero \xE0 discuss\xE3o. Sua leitura pode ser dispensada sem que as pr\xF3ximas se\xE7\xF5es fiquem comprometidas.

O cerne do problema, quando falamos em criptografia, \xE9 que o meio onde a mensagem vai se propagar \xE9 p\xFAblico, ou seja, qualquer pessoa presente naquele meio pode capturar a mensagem, seja esse meio uma sala, uma mesa de bar, o sistema telef\xF4nico ou a internet. Desde o come\xE7o, essa arte n\xE3o teve muito sucesso em criar meios privados para a cricula\xE7\xE3o de mensagens, o que ela conseguiu foi criar sistemas que impediam que a mensagem fosse compreendida caso fosse interceptada durante seu trajeto at\xE9 o receptor.

O esquema de par de chaves que tratamos aqui, tamb\xE9m conhecido como chaves assim\xE9tricas, \xE9 talvez a descoberta mais importante no campo da criptografia nos \xFAltimos s\xE9culos, mas foi precedida por outras tamb\xE9m muito interessantes e ser\xE1 sucedida por t\xE9cnicas ainda mais refinadas - como no caso da criptografia qu\xE2ntica.

Aqui seguem algumas refer\xEAncias muito interessantes sobre a aventura de cifrar mensagens atrav\xE9s dos tempos:

2. Instalando programas de criptografia

Programas de criptografia

Neste tutorial ensinamos apenas como utilizar o programa GNU Privacy Guard, que \xE9 uma ferramenta de criptografia inteiramente baseada em software livre. Existe outra alternativa ao GPG, que \xE9 o Pretty Good Privacy, mais popular que o GPG, mas com dois inconvenientes:

Liberdade e seguran\xE7a. A licensa do GPG permite que voc\xEA o estude, use, modifique-o e distribua. A do PGP n\xE3o. Al\xE9m disso o PGP usa um algor\xEDtmo (m\xE9todo de criptografia) patenteado nos U$A.

\xC9 por isso que no nosso tutorial encorajamos o uso do GPG. Ele \xE9 o programa base para a criptografia. Se voc\xEA for utilizar criptografia no seu programa de email, por exemplo, estar\xE1 indiretamente utilizando o GPG. Aqui trataremos o uso do GPG no modo texto e no modo gr\xE1fico. Leia nota sobre modo texto e modo gr\xE1fico.

Instalando o GPG

Existem duas op\xE7\xF5es para usar o GPG: modo texto, onde voc\xEA digita os comandos manualmente, e o modo gr\xE1fico, mais intuitivo e recomendado para quem ainda n\xE3o tem familiaridade com criptografia.

Todos os programas para o Modo Gr\xE1fico s\xE3o na verdade extens\xF5es do GPG em modo texto, o que significa que todos os programas de criptografia aqui listados sempre v\xE3o utilizar o mesmo chaveiro, ou seja, tanto seu(s) gerenciador(es) de chaveiro como seu(s) programa(s) de email utilizar\xE3o sempre as mesmas informa\xE7\xF5es de chave p\xFAblica e privada.

Nas se\xE7\xF5es seguintes, damos instru\xE7\xF5es de como instalar o GPG no modo texto, tanto no Windows quanto no Linux ou MacOSX. Se preferir, voc\xEA pode pular a parte Modo Texto e ir direto para a se\xE7\xE3o Modo Gr\xE1fico.

Modo Texto

GNU/Linux

Se voc\xEA usa GNU/Linux ou outro *NIX (BSD like, etc), provavelmente sua distribui\xE7\xE3o deve ter um pacote do GPG. A instala\xE7\xE3o do mesmo depende de qual distribui\xE7\xE3o de linux voc\xEA usa. Aqui ensinaremos como instalar nas distribui\xE7\xF5es mais populares.

Se voc\xEA usa o Indymix, todos os programas de criptografia que voc\xEA necessita j\xE1 est\xE3o instalados e voc\xEA pode pular para a pr\xF3xima se\xE7\xE3o!

Se o seu Linux \xE9 o Debian ou compat\xEDvel (como Kurumin, Knoppix ou Gnoppix), entre na internet, abra um terminal e digite o comando para instalar o GPG:

su -c "apt-get update ; apt-get install gnupg"

Em seguida, digite a senha de administrador do sistema, caso esta seja pedida. Depois de instalar o GPG, digite no terminal:

su -c "chmod 4755 $(which gpg)"

Em seguida, digite a senha de administrador do sistema, caso esta seja pedida.

Esse \xFAltimo comando far\xE1 com que o GPG tenha permiss\xE3o para proteger a leitura da parte mem\xF3ria onde ele carregar\xE1 suas informa\xE7\xF5es secretas e evita a exibi\xE7\xE3o de algumas mensagens de erro.

Se voc\xEA usa outra distribui\xE7\xE3o de Linux, procure na documenta\xE7\xE3o espec\xEDfica do seu sistema como fazer isso, ou baixe os fontes do programa e compile. Se voc\xEA usa MacOS, tente o MacGPG.

Windows

Se voc\xEA usa Windows, meus p\xEAsames.

1. Fa\xE7a o download da vers\xE3o do GPG para Windows em: http://www.gnupg.org/download.html

2. Descompacte o arquivo que voc\xEA baixou.

3. Copie os arquivos gpg.exe e gpgv.exe para c:\windows

4. No prompt do DOS digite
gpg
e deve aparecer algo assim:

   gpg: c:/gnupg: directory created
   gpg: c:/lib/gnupg/options.skl: can't open: No such file or directory
   gpg: you have to start GnuPG again, so it can read the new options file

5. Digite "gpg" de novo e voc\xEA ver\xE1:
   gpg: c:/gnupg/secring.gpg: keyring created
   gpg: c:/gnupg/pubring.gpg: keyring created
   gpg: Go ahead and type your message ...

6. N\xE3o digite nada! Pressione ctrl-c

Modo Gr\xE1fico

GNU/Linux

No Linux, n\xF3s recomendamos que voc\xEA use o GPA: GNU Privacy Assistant. Sua instala\xE7\xE3o depende de qual distribui\xE7\xE3o de linux voc\xEA usa. Aqui ensinaremos como instalar nas distribui\xE7\xF5es mais populares. Se voc\xEA usa Indymix, todos os programas de criptografia que voc\xEA necessita j\xE1 vem instalados e voc\xEA pode pular para a pr\xF3xima se\xE7\xE3o!

Se voc\xEA usa Debian ou compat\xEDvel (como Kurumin, Knoppix ou Gnoppix), basta se conectar \xE0 internet, abrir um terminal e dar o comando para sua instala\xE7\xE3o:

su -c "apt-get update ; apt-get install gpa"

Em seguida, digite a senha de administrador do sistema, caso esta seja pedida.

Para outras distribui\xE7\xF5es, consulte a documenta\xE7\xE3o correspondente. Ou, se voc\xEA preferir, baixe o c\xF3digo fonte do GPA e compile-o voc\xEA mesmo.

Windows

No Windows, voc\xEA pode usar o Windows Privacy Tools, que \xE9 um dos programas mais pr\xE1ticos para criptografia. Nele, voc\xEA pode codificar tanto arquivos quando textos copiados com ctrl-c ou ctrl-x.

1. Baixe o WinPT em http://winpt.sourceforge.net/

2. Execute esse programa que voc\xEA baixou. Ele ir\xE1 instalar e adicionar o WinPT na sua barra de tarefas.

3. Quando voc\xEA executar essa instala\xE7\xE3o, a primeira janela que ir\xE1 aparecer pede para que voc\xEA selecione qual sua l\xEDngua preferida para a instala\xE7\xE3o. Fa\xE7a isso e clique em "Ok"

4. Em seguida aparecer\xE1 uma janela com uma mensagem de boas vindas. Apenas clique em "Next" (ou o equivalente na l\xEDngua que voc\xEA escolheu).

4. Nessa mesma janela aparecer\xE1 outro texto, que \xE9 a licen\xE7a de copyleft do software. Como trata-se de um software livre, voc\xEA pode copiar e instalar o WinPT \xE0 vontade. Clique em "I agree" (Eu concordo).

5. Aparecer\xE1 ent\xE3o a op\xE7\xE3o para voc\xEA escolher em qual pasta do seu computador o WinPT ser\xE1 instalado. A pasta padr\xE3o \xE9

C:\Arquivos de programas\Windows Privacy Tools

Se voc\xEA quiser escolher outro local, n\xE3o h\xE1 problema: basta selecionar a pasta clicando em "Browse". Depois que voc\xEA fizer isso, clique em "Next".

6. Agora \xE9 tempo de escolher quais peda\xE7os do WinPT voc\xEA quer instalar. Esses peda\xE7os, ou componentes, s\xE3o:

  • O GPG propriamente dito
  • O WinPT
  • "Plugins" pra voc\xEA usar criptografia no seu programa de email
  • Acess\xF3rios diversos

Voc\xEA pode simplesmente clicar em "Next" que o WinPT e a maioria desses componentes ser\xE3o automaticamente instalados.

Se voc\xEA usa o Eudora para ler email, selecione "WinPT Eudora Plugin" dentro da se\xE7\xE3o E-Mail Plugins que se encontra na lista de componentes e clique em "Next".

7. A pr\xF3xima etapa que aparecer\xE1 na janela de instala\xE7\xE3o \xE9 escolher o nome da pasta que ir\xE1 aparecer no menu Iniciar do Windows. Digite o que voc\xEA quiser e clique em "Next".

8. Agora voc\xEA poder\xE1 escolher se existir\xE3o atalhos para o WinPT no seu desktop, no menu Iniciar, etc, e a l\xEDngua na qual o programa ser\xE1 exibido. Fa\xE7a isso e clique em "Next".

9. Na janela de instala\xE7\xE3o aparecer\xE3o op\xE7\xF5es avan\xE7adas de instala\xE7\xE3o. Se voc\xEA achou tudo isso muito complicado, n\xE3o se preocupe: apenas clique em "Install".

10. Por alguns instantes voc\xEA ver\xE1 uma barra de progresso que indicar\xE1 a quantas anda a instala\xE7\xE3o. Em seguida, aparecer\xE1 a mensagem final da instala\xE7\xE3o do WinPT. Apenas clique em "Finish".

11. A instala\xE7\xE3o j\xE1 foi conclu\xEDda e agora \xE9 tempo de configurar o WinPT. No canto da sua barra do Windows aparecer\xE1 um \xEDcone em forma de chave - eles estar\xE1 provavelmente ao lado do rel\xF3gio. Esse \xEDcone \xE9 o menu principal do WinPT. Aparecer\xE1 tamb\xE9m uma janela entitulada "Windows Privacy Tray", dizendo que voc\xEA n\xE3o tem um par de chaves (p\xFAblica/privada) criptogr\xE1ficas. Se \xE9 a primeira vez que voc\xEA instala um software desse tipo em seu computador, e portanto voc\xEA n\xE3o possui chaves, selecione "Have WinPT to generate a key pair" (Use o WinPT para gerar um par de chaves) e clique em "Ok".

12. Aparecer\xE1 uma nova janela, entitulada Key Generation. Nos campos correspondentes, digite seu nome, coment\xE1rio (isso \xE9 opcional, e pode ser qualquer coisa, desde uma frase que voc\xEA goste at\xE9 algo sobre voc\xEA, sei l\xE1), seu endere\xE7o de email, a data de validade desse par de chaves (escolha uma data clicando no bot\xE3o "..." ou deixe em branco caso voc\xEA queira que esse par de chaves n\xE3o tenha data de validade), sua senha e a confirma\xE7\xE3o da senha (confirmar a senha \xE9 s\xF3 digit\xE1-la novamente). Depois de tudo isso, clique em "Start".

13. Aparecer\xE1 uma janela maluca na qual s\xE3o mostrados alguns caracteres. N\xE3o se preocupe com isso. \xC9 o PGP criando seu par de chaves. Depois disso, aparecer\xE1 uma janelinha dizendo que a gera\xE7\xE3o do par foi completada. Clique em "Ok".

14. Se aparecer uma janela dizendo que \xE9 recomend\xE1vel voc\xEA fazer um backup das suas chaves, apenas clique em "Yes" e escolha uma pasta para gravar isso. N\xE3o grave essas informa\xE7\xF5es em pastas que voc\xEA compartilha com outras pessoas, sejam elas pessoas que usam o mesmo computador que voc\xEA ou sejam pastas compartilhadas atrav\xE9s de programas como o Kazaa.

15. Pronto! Voc\xEA j\xE1 pode criptografar suas mensagens. A pr\xF3xima se\xE7\xE3o lhe ensinar\xE1 como usar o WinPT no seu dia-a-dia.

3. Usando os programas de criptografia

Esta se\xE7\xE3o trata do uso di\xE1rio da criptografia, tanto em modo texto quando em modo gr\xE1fico. Se voc\xEA ainda n\xE3o o fez, leia nota sobre modo texto e modo gr\xE1fico. A\xE7\xF5es como criar e gerenciar chaves, assinar, verificar assinaturas, criptografar e descriptografar ser\xE3o tratadas adiante.

Modo Texto

As instru\xE7\xF5es de como utilizar o GPG no Modo Texto funcionam tanto se voc\xEA usa GNU/Linux quanto Windows, MacOSX ou qualquer outro sistema operacional.

Como criar seu par de chaves

Abra um terminal. Em seguida:

1. Digite "gpg --gen-key"

2. Nas tr\xEAs primeiras perguntas apenas aperte enter. \xC9 seguro usar as op\xE7\xF5es padr\xE3o do GPG:

gpg (GnuPG) 1.2.3; Copyright (C) 2003 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

Por favor selecione o tipo de chave desejado:
   (1) DSA e ElGamal (padr\xE3o)
   (2) DSA (apenas assinatura)
   (5) RSA (apenas assinatura)
Sua op\xE7\xE3o? 1
O par de chaves DSA ter\xE1 1024 bits.
Prestes a gerar novo par de chaves ELG-E.
              tamanho m\xEDnimo \xE9  768 bits
              tamanho padr\xE3o \xE9 1024 bits
     tamanho m\xE1ximo sugerido \xE9 2048 bits
Que tamanho de chave voc\xEA quer? (1024) 1024
O tamanho de chave pedido \xE9 1024 bits      

3. Na terceira pergunta voc\xEA deve escolher por quanto tempo suas chaves ser\xE3o v\xE1lidas. Voc\xEA pode escolher chaves que expiram em poucos dias para us\xE1-las de teste ou chaves que expiram em anos ou que n\xE3o expiram. Para uma chave que expira em n dias, digite nd (por exemplo, 10d para dez dias), para n semanas digite nw (por exemplo, 2w para duas semanas), para n meses, use nm (por exemplo, 5m para cinco meses), para n anos use ny (por exemplo, 1y para hum ano). Se voc\xEA quer uma chave que n\xE3o expira, digite 0 (zero). Veja o exemplo:

Por favor especifique por quanto tempo a chave deve ser v\xE1lida.
         0 = chave n\xE3o expira
      <n>  = chave expira em n dias
      <n>w = chave expira em n semanas
      <n>m = chave expira em n meses
      <n>y = chave expira em n anos
A chave \xE9 valida por? (0) 6m
Key expira em Dom 15 Ago 2004 22:44:56 BRT

Depois dessa data a chave n\xE3o mais ser\xE1 v\xE1lida. \xC9 poss\xEDvel, no entanto, alterar a data de validade da chave depois que ela foi criada.

4. Ser\xE1 perguntado se est\xE1 tudo correto. Se voc\xEA seguiu tudo direito at\xE9 aqui pode digitar "y" ou "s" caso voc\xEA esteja usando uma vers\xE3o traduzida para o portugu\xEAs e apertar ENTER.

Est\xE1 correto (s/n)? s

5. Digite seu nome.

Voc\xEA precisa de um identificador de usu\xE1rio para identificar sua chave; o
programa constr\xF3i o identificador a partir do Nome Completo, Coment\xE1rio e
Endere\xE7o Eletr\xF4nico desta forma:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

Nome completo: Truta

6. Digite seu e-mail.

Endere\xE7o de correio eletr\xF4nico: truta@uzma.net

7. N\xE3o digite um coment\xE1rio a n\xE3o ser que voc\xEA queira ter mais de uma chave como por exemplo uma para usar no trabalho, outra para usar em casa.

Coment\xE1rio:                                   

8. Verifique se tudo que voc\xEA digitou est\xE1 certo. Se estiver digite "o" e aperte enter.

Voc\xEA selecionou este identificador de usu\xE1rio:
    "Truta <truta@uzma.net>"

Muda (N)ome, (C)oment\xE1rio, (E)ndere\xE7o ou (O)k/(S)air? o

9. Digite sua frase-senha *IMPORTANTE* sem essa frase-senha voc\xEA n\xE3o poder\xE1 descriptografar o que lhe enviarem! Por isso use uma FRASE que voc\xEA n\xE3o esqueceria, por\xE9m que seja muito dif\xEDcil de algu\xE9m adivinhar. Use letra min\xFAsculas e mai\xFAsculas, elas ser\xE3o diferenciadas, pontua\xE7\xE3o (,.!?) e espa\xE7os. Voc\xEA n\xE3o ver\xE1 o que digita.

Voc\xEA precisa de uma frase secreta para proteger sua chave.

Digite a frase secreta:

10. Repita sua frase-senha para confirmar que voc\xEA n\xE3o cometeu nenhum erro ao digit\xE1-la. De novo voc\xEA n\xE3o ver\xE1 o que digita.

Repita a frase secreta:

11. Se voc\xEA digitou as duas frases-senha iguais suas chave ser\xE1 gerada. Digite no teclado e mova o mouse aleat\xF3riamente para ajudar o programa a gerar as chaves.

Precisamos gerar muitos bytes aleat\xF3rios. \xC9 uma boa id\xE9ia realizar
outra atividade (digitar no teclado, mover o mouse, usar os discos) 
durante a gera\xE7\xE3o dos n\xFAmeros primos; isso d\xE1 ao gerador de n\xFAmeros 
aleat\xF3rios uma chance melhor de conseguir entropia suficiente.
++++++++++.++++++++++++++++++++.+++++.+++++.+++++.+++++++++++++++.
chaves p\xFAblica e privada criadas e assinadas.
chave marcada como de confian\xE7a absoluta

pub  1024D/90716386 2004-02-18 Truta <truta@uzma.net>
  Impress\xE3o da chave = 27FF 8594 D529 B428 8E7F  9A81 C127 6A77 9071 6386
sub  1024g/7C866836 2004-02-18[expira: 2004-08-16]

12. Digite gpg --fingerprint e voc\xEA ver\xE1 a sua chave e sua "impress\xE3o digital" algo do tipo:

pub  1024D/90716386 2004-02-18 Truta <truta@uzma.net>
  Impress\xE3o da chave = 27FF 8594 D529 B428 8E7F  9A81 C127 6A77 9071 6386
sub  1024g/7C866836 2004-02-18[expira: 2004-08-16]

A sua "impress\xE3o digital" \xE9 um n\xFAmero hexadecimal (na base 16) de 40 d\xEDgitos, sendo que os 8 \xFAltimos s\xE3o a identifica\xE7\xE3o da sua chave, o que diferencia a sua chave das outras.

Como compartilhar sua chave p\xFAblica

1. Para que o GPG seja de alguma utilidade voc\xEA ter\xE1 que mandar sua chave p\xFAblica para aqueles que v\xE3o te enviar mensagens criptografadas. Para isso extraia sua chave p\xFAblica digitando:

gpg --export --armor -o chave.asc seu@email

Sua chave p\xFAblica estar\xE1 no arquivo chave.asc no diret\xF3rio atual. D\xEA uma olhada nela. Voc\xEA tamb\xE9m pode exportar chaves p\xFAblicas de outras pessoas, desde que elas estejam no seu chaveiro. Basta usar o email delas ao inv\xE9s do seu@email.

2. Existem basicamente dois m\xE9todos para que voc\xEA transmita sua chave p\xFAblica:

* voc\xEA enviar sua chave para uma pessoa (por email, disquete, cd, etc.).

* voc\xEA enviar sua chave p\xFAblica para um servidor e cada pessoa que quiser us\xE1-la baixa a chave do servidor.

Enviar sua chave para um servidor \xE9 o meio mais c\xF4modo de compartilhar sua chave com as pessoas que v\xE3o enviar mensagens criptografadas para voc\xEA. Dessa forma voc\xEA n\xE3o precisa ficar mandando suas chave p\xFAblica pra todo mundo.

Para mandar sua chave para um servidor de chaves, use o comando

gpg --keyserver servidor.de.chaves --send-keys nome

Se voc\xEA n\xE3o souber sob quais nomes suas chaves p\xFAblicas est\xE3o registradas, liste-as com o comando

gpg --list-keys

Por exemplo, se o servidor for keys.indymedia.org e o nome da sua chave for truta, o comando para export\xE1-la ser\xE1

gpg --keyserver keys.indymedia.org --send-keys truta

\xC9 importante observar que voc\xEA pode exportar qualquer chave p\xFAblica do seu chaveiro, que n\xE3o precisa ser necessariamente sua.

Como adicionar uma chave p\xFAblica de algu\xE9m na sua lista

Vamos supor que o arquivo que cont\xE9m a chave p\xFAblica de algu\xE9m \xE9 chama-se truta.asc. Para incluir esta chava na sua lista, basta dar o comando:

gpg --import truta.asc

Para importar uma chave p\xFAblica de um servidor, voc\xEA precisa saber qual \xE9 o servidor e qual \xE9 o ID da chave. Com isso em m\xE3os, basta digitar

gpg --keyserver servidor.de.chaves --recv-keys id-da-chave

que a chave p\xFAblica ser\xE1 importada. Por exemplo, se o servidor que voc\xEA estiver usando for o keys.indymedia.org, e o ID da chave for B9A88F6F, seu comando ser\xE1

gpg --keyserver keys.indymedia.org --recv-keys B9A88F6F

Se voc\xEA n\xE3o tiver o ID da chave que voc\xEA quer adicionar, primeiro fa\xE7a uma busca no servidor de chaves. Por exemplo, se eu quiser saber qual \xE9 o ID da chave do Pietro, basta que eu d\xEA o comando

gpg --keyserver keys.indymedia.org --search-keys pietro@indymedia.org

A sa\xEDda prov\xE1vel ser\xE1

gpg: a procurar por "pietro@indymedia.org" no servidor HKP keys.indymedia.org
Keys 1-1 of 1 for "pietro@indymedia.org"
(1)     Pietro Ferrari <pietro@indymedia.org>
          1024 bit DSA key D75301BF, created 2002-02-23
Enter number(s), N)ext, or Q)uit >

Assim voc\xEA obt\xE9m o ID da chave do Pietro, que \xE9 D75301BF. A\xED \xE9 s\xF3 digitar Q para sair da busca e em seguida adicionar a chave, usando o comando

gpg --keyserver keys.indymedia.org --recv-keys D75301BF

Voc\xEA poderia, ao inv\xE9s de procurar pelo email do Pietro, procurar apenas pelo nome dele, usando o comando

gpg --keyserver keys.indymedia.org --search-keys pietro

\xC9 importante ressaltar que voc\xEA s\xF3 encontrar\xE1 a chave desejada desde que a pessoa que voc\xEA procura deixou a chave naquele servidor.

Depois de adicionar uma chave p\xFAblica de terceiros, efetue os procedimentos na se\xE7\xE3o Verificando Impress\xF5es Digitais e Assinando Chaves.

Listando seu chaveiro

Voc\xEA pode ver todas as chaves do seu chaveiro - incluindo seu par de chaves p\xFAblica e privada - digitando

gpg --list-keys

A sa\xEDda \xE9 algo do tipo

/users/alice/.gnupg/pubring.gpg
---------------------------------------
pub  1024D/BB7576AC 1999-06-04 Alice (Judge) <alice@cyb.org>
sub  1024g/78E9A8FA 1999-06-04

Como assinar mensagens e arquivos

Existem muitas maneiras de assinar mensagens ou arquivos. A primeira delas consiste em entrar no GPG para escrever sua mensagem. No seu terminal, digite:

gpg --clearsign

E entre com sua senha. A op\xE7\xE3o clerasign pede ao GPG para que ele crie uma assinatura utilizando texto comum, isto \xE9, codificado em caracteres ASCII (leg\xEDveis ao usu\xE1rio). N\xE3o sabe o que \xE9 ASCII ou texto comum? Ent\xE3o veja uma nota aqui.

Depois de entrar com sua senha, o GPG estar\xE1 esperando para que voc\xEA escreva sua mensagem. Escreva sua mensagem - "Testando essa parada!", por exemplo - e ap\xF3s escrev\xEA-la, pule uma linha e digite simultaneamente as teclas Ctrl e D do seu teclado. Isso far\xE1 com que o GPG crie uma assinatura da sua mensagem. O resultado deve ser algo do tipo

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Testando essa parada!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAMQPyvSy1nGtWZ3cRAld5AJ4sIOed+/kFmFwARMngu+EF73DMCQCgz59l
9okdJxyGs65FL9SycVmVMNg=
=WC+w
-----END PGP SIGNATURE-----

Certo. Assinei minha mensagem. E agora, o que fa\xE7o com isso? Bom, se voc\xEA quiser mand\xE1-la pra algu\xE9m, copie e cole todo esse texto, desde o -----BEGIN PGP SIGNED MESSAGE----- at\xE9 o -----END PGP SIGNATURE----- e cole no corpo da sua mensagem de email. Se o destinat\xE1rio tiver sua chave p\xFAblica, ele poder\xE1 facilmente verificar se a assinatura confere. Mas caso voc\xEA queira guardar essa mensagem assinada, basta copiar tudo e colar num arquivo.

ATEN\xC7\xC3O: se porventura voc\xEA alterar essa mensagem, sua respectiva assinatura perder\xE1 seu valor. Se voc\xEA quiser alterar a mensagem, fa\xE7a e depois assine novamente.

Vejamos agora uma segunda maneira de assinar mensagens. Escreva seu texto num arquivo, por exemplo no texto.txt. Em seguida, digite no seu terminal:

gpg --clearsign texto.txt

Depois de entrar com sua senha, o GPG escrever\xE1 a mensagem assinada no arquivo texto.txt.asc. Com esse procedimento \xE9 poss\xEDvel assinar qualquer tipo de arquivo, e o formato da mensagem assinada ser\xE1 em texto simples (ASCII). Para criar uma assinatura separada da mensagem - a mensagem no arquivo texto.txt e apenas a assinatura no arquivo arquivo.txt.asc - \xE9 s\xF3 digitar:

gpg -a --detach-sig texto.txt

As mensagens e assinaturas armazenadas em texto simples ocupam mais espa\xE7o do que se estivessem no formato "bin\xE1rio". Se voc\xEA quiser guardar a assinatura num formato bin\xE1rio, que \xE9 pouco amig\xE1vel para ser visualizada num editor de textos mas que ocupa pouco espa\xE7o - basta digitar

gpg --sign texto.txt

E a mensagem assinada estar\xE1 no arquivo texto.txt.gpg. Al\xE9m de assinar, a op\xE7\xE3o sign compacta a mensagem, ocupando menos espa\xE7o ainda. Essa forma de assinar n\xE3o \xE9 boa para trocar mensagens com outras pessoas, j\xE1 que n\xE3o est\xE1 num formato leg\xEDvel. Prefira sempre a op\xE7\xE3o clearsign

Como verificar mensagens assinadas

Uma vez que voc\xEA tenha recebido uma mensagem ou arquivo assinado, voc\xEA ter\xE1 de verificar se a assinatura est\xE1 correta. Existem v\xE1rias maneiras de fazer isso.

A maneira mais simples \xE9 a que se segue: voc\xEA recebeu uma mensagem como essa:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Alow!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAMU1TvSy1nGtWZ3cRAtz2AJ41a1dGqGwb0wT+kz4WoFq9/4+RoQCfZH29
0gPrLalgr5OrC4gC9LahbOw=
=d2qf
-----END PGP SIGNATURE-----

Para verificar essa assinatura, copie todo esse texto, desde o -----BEGIN PGP SIGNED MESSAGE----- at\xE9 o -----END PGP SIGNATURE-----, digite, no seu terminal

gpg

depois, cole todo o texto e em seguida digite simultaneamente as teclas Ctrl e D do seu teclado. Se tudo der certo, o GPG detectar\xE1 que trata-se de uma mensagem assinada e verificar\xE1 sua validade. No caso da mensagem acima, termos:

gpg: Assinatura feita em Seg 16 Fev 2004 20:08:03 BRT usando DSA, ID da chave 6B566777
gpg: Assinatura correta de "Silvio Rhatto <rhattoEMriseup.net>"

Se voc\xEA recebeu uma mensagem assinada num arquivo, por exemplo o mensagem.txt.asc, basta digitar

gpg --verify mensagem.txt.asc

Que a assinatura ser\xE1 verificada. Se voc\xEA recebeu uma mensagem com a assinatura num arquivo separado - mensagem.txt e mensagem.txt.asc, por exemplo - digite

gpg --verify mensagem.txt.asc mensagem.txt

Como codificar uma mensagem para algu\xE9m

Assim como para assinar mensagens, existem v\xE1rias maneiras de se criptografar uma mensagem. A primeira delas consiste em digital sua mensagem no pr\xF3prio gpg. Vamos l\xE1. No terminal, digite:

gpg -e -a -r email@da.pessoa

E em seguida escreva sua mensagem. Quando terminal, pule uma linha e em seguida digite simultaneamente as teclas Ctrl e D do seu teclado. O GPG ent\xE3o fornecer\xE1 a mensagem codificada para o usu\xE1rio cujo email \xE9 email@da.pessoa. Agora \xE9 s\xF3 copiar todo o texto, desde -----BEGIN PGP MESSAGE----- at\xE9 -----END PGP MESSAGE----- e colar no seu email ou arquivo!

Para uma encriptar e compactar um arquivo, digite:

gpg -r nome-do-usu\xE1rio -e mensagem.txt

O arquivo de sa\xEDda ser\xE1 mensagem.txt.gpg

Se voc\xEA quiser apenas encriptar e que o arquivo de sa\xEDda possa ser enviado por email - texto comum, isto \xE9, codificado em caracteres ASCII (leg\xEDveis ao usu\xE1rio), digite

gpg -r nome-do-usu\xE1rio -e -a mensagem.txt

E o arquivo de sa\xEDda ser\xE1 mensagem.txt.asc

N\xE3o sabe o que \xE9 ASCII ou texto comum? Ent\xE3o veja uma nota aqui.

Como decodificar uma mensagem que enviaram para voc\xEA

A maneira mais simples de desencriptar uma mensagem \xE9 col\xE1-la diretamente no GPG. Suponha que voc\xEA tenha recebido a mensagem

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.3 (GNU/Linux)

hQEOA3v8xQeh8DSxEAP8DGLGac9OdZzX7KxRqpkaYuJ/8NVN5AyhtQKZwRogZwwZ
19g/teTPQLYwgcCLQoDKxsnX3lBGEzjAGxXme6aqcJetD0sXcULtap99AfpJqIO/
lCDjxFqNRP45UwnnbafakiVDTj71H6jDi6UMP4c+F/JJL65Q9ROHW08kOB1IM1sD
/RsQu1pqZl/X8PRZyVdLSwpzGpR5uaxA837f+Zl0+1Fh2DhoiE2AxnLXdwlMlRtK
SrpqBdWifULoX46E1+DOd128e24K74d+utMux4uk8t9Lb0D5C8RDfShKHoLJIwul
fhEmtN8bo2Kmg/z8sWnDjW3Ik3opVtsTPNPQQh1J9GV40lUBViB6IzhkXhhNZ4ae
qexbLilOVwJczLa3y3UmwkiXcs92k6thpUCIJjyeRTtpey2LKdVLHLd1o5ti8/or
nqYoq1eXHcVOckmfxH3Uq8ZAEX6bzSKc
=g5JE
-----END PGP MESSAGE-----

Tudo que voc\xEA precisa fazer \xE9 digitar

gpg

no seu terminal e em seguida colar a mensagem. O GPG detectar\xE1 que trata-se de uma mensagem privada e pedir\xE1 pela sua senha, mais ou menos assim:

gpg: V\xE1 em frente e digite sua mensagem ...
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.3 (GNU/Linux)

hQEOA3v8xQeh8DSxEAP8DGLGac9OdZzX7KxRqpkaYuJ/8NVN5AyhtQKZwRogZwwZ
19g/teTPQLYwgcCLQoDKxsnX3lBGEzjAGxXme6aqcJetD0sXcULtap99AfpJqIO/
lCDjxFqNRP45UwnnbafakiVDTj71H6jDi6UMP4c+F/JJL65Q9ROHW08kOB1IM1sD
/RsQu1pqZl/X8PRZyVdLSwpzGpR5uaxA837f+Zl0+1Fh2DhoiE2AxnLXdwlMlRtK
SrpqBdWifULoX46E1+DOd128e24K74d+utMux4uk8t9Lb0D5C8RDfShKHoLJIwul
fhEmtN8bo2Kmg/z8sWnDjW3Ik3opVtsTPNPQQh1J9GV40lUBViB6IzhkXhhNZ4ae
qexbLilOVwJczLa3y3UmwkiXcs92k6thpUCIJjyeRTtpey2LKdVLHLd1o5ti8/or
nqYoq1eXHcVOckmfxH3Uq8ZAEX6bzSKc
=g5JE
-----END PGP MESSAGE-----
Voc\xEA precisa de uma frase secreta para desbloquear a chave secreta do
usu\xE1rio: "Silvio Rhatto <rhatto@riseup.net>"
chave de 1024-bit/ELG-E, ID A1F034B1, criada em 2003-06-20 (ID principal da chave 6B566777)

Digite a frase secreta: 

Digite sua senha e em seguida pressione simultaneamente as teclas Ctrl e D do seu teclado que a mensagem secreta ir\xE1 aparecer!

Se algu\xE9m lhe enviou uma mensagem.txt.asc, basta dar este comando para desencript\xE1-la e guardar o texto em mensagem.txt:

gpg -d mensagem.txt.asc > mensagem.txt

Esse comando funciona tanto para arquivos criptografados em texto simples quanto em formato "bin\xE1rio".

Verificando Impress\xF5es Digitais e Assinando Chaves

Conforme voc\xEA viu na se\xE7\xE3o O limite da confiabilidade, \xE9 poss\xEDvel verificar pela impress\xE3o digital da chave p\xFAblica se ela pertence realmente a quem afirma pertencer.

Suponha que algu\xE9m envia uma chave p\xFAblica e voc\xEA a adiciona em seu chaveiro. Posteriormente voc\xEA tem a oportunidade de encontrar ao vivo o suposto dono da chave e ele lhe fornece a impress\xE3o digital da chave num papel.

Chegando em casa, voc\xEA decide verificar se a impress\xE3o digital bate com a chave p\xFAblica. No seu terminal, digite

gpg --fingerprint email@da.pessoa

onde email@da.pessoa \xE9 o email da pessoa que voc\xEA encontrou. A impress\xE3o digital da chave ser\xE1 impressa. Confira se ela \xE9 id\xEAntica \xE0quela que voc\xEA tem anotada. Se elas forem iguais, voc\xEA pode come\xE7ar a pensar em assinar essa chave p\xFAblica. Aqui mostrarei o procedimento de assinar uma chave p\xFAblica e em seguida reproduzirei um trecho do Guia Foca Linux, que por sua vez foi retirado da lista debian-user-portuguese EM lists.debian.org, que trata de modo muito s\xE9rio a assinatura de chaves.

Digite no seu terminal:

gpg --edit-key email@da.pessoa

Aparecer\xE3o informa\xE7\xF5es sobre essa chave. Digite

sign

E digite sua senha. Pronto, a chave estar\xE1 assinada.

Certo, assinei a chave p\xFAblica daquela pessoa. E agora, o que fa\xE7o com isso? Voc\xEA pode exportar a chave p\xFAblica dessa pessoa - que ser\xE1 automaticamente exportada com sua assinatura. Voc\xEA tanto pode export\xE1-la num arquivo e envi\xE1-la para essa pessoa quanto mandar essa chave assinada para um servidor de chaves.

Suponha que Arrelia assinou a chave de Pasqualin, exportou-a no arquivo pasqualin.asc e enviou-a para Pasqualin. Quando Pasqualin adicionar a chave contida em pasqualin.asc no seu chaveiro, a assinatura feita por Arrelia da chave p\xFAblica de Pasqualin ser\xE1 automaticamente adicionada ao chaveiro de Pasqualin. Agora, sempre que Pasqualin enviar sua chave p\xFAblica para algu\xE9m, a assinatura de Arrelia sempre estar\xE1 presente.

Um outro m\xE9todo para o interc\xE2mbio de assinaturas utiliza os servidores de chaves. Por exemplo, se a chave p\xFAblica de Pasqualin estiver armazenada no servidor chaves.privacidade.net, basta que Arrelia assine a chave p\xFAblica de Pasqualin e exporte-a para esse servidor para que o servidor adicione a assinatura de Arrelia na sua c\xF3pia da chave p\xFAblica de Pasqualin. Em seguida, basta que Pasqualin atualize seu chaveiro, de forma que sua pr\xF3pria chave p\xFAblica seja baixada do servidor chaves.privacidade.net para que a assinatura de Arrelia entre no seu chaveiro.

Aqui segue o texto retirado do Guia Foca Linux:

     Trocando assinaturas de chaves digitais
     
     Direitos de republica\xE7\xE3o cedidos ao dom\xEDnio p\xFAblico, contanto que o texto
     seja reproduzido em sua \xEDntegra, sem modifica\xE7\xF5es de quaisquer esp\xE9cie, e
     incluindo o t\xEDtulo e nome do autor.
     
     
     1. Assinaturas digitais
     2. Chaves digitais e a teia de confian\xE7a
     3. Trocando assinaturas de chaves digitais com um grupo de pessoas
     
     
     1. Assinaturas digitais
     
     Uma assinatura digital \xE9 um n\xFAmero de tamanho razo\xE1vel (costuma ter de 128 a
     160 bits) que representa um bloco bem maior de informa\xE7\xE3o, como uma e-mail.
     
     Pense numa assinatura como se ela fosse uma vers\xE3o super-comprimida de um
     texto.  Se voc\xEA muda alguma coisa (por menor que seja) no texto que uma
     assinatura "assina", essa assinatura se torna inv\xE1lida: ela n\xE3o mais
     representa aquele texto.
     
     Existe uma rela\xE7\xE3o direta entre uma assinatura e informa\xE7\xE3o que ela assina.
     Se uma das duas for modificada, elas passam a n\xE3o mais "combinar" uma com a
     a outra. Um programa de computador pode detectar isso, e avisar que a
     assinatura \xE9 "inv\xE1lida".
     
     Os algoritmos mais usados para criar e verificar assinaturas digitais s\xE3o o
     SHA-1, RIPEM160 e MD5.  O MD5 n\xE3o \xE9 considerado t\xE3o bom quanto os outros
     dois.
     
     Assinaturas digitais tamb\xE9m funcionam com arquivos "bin\xE1rios", ou seja:
     imagens, som, planilhas de c\xE1lculo... e chaves digitais.
     
     
     2. Chaves digitais e a teia de confian\xE7a
     
     Chaves digitais s\xE3o f\xE1ceis de falsificar, voc\xEA s\xF3 precisa criar uma chave
     nova no nome de sicrano, por um endere\xE7o de e-mail novinho em folha daqueles
     que voc\xEA consegue nesses webmail da vida, e pronto.  Agora \xE9 s\xF3 espalhar
     essa chave por a\xED que os bestas v\xE3o us\xE1-la pensando que \xE9 de sicrano.
     
     A menos que os "bestas" n\xE3o sejam t\xE3o bestas assim, tenham lido o manual do
     seu software de criptografia, e saibam usar assinaturas e a teia de
     confian\xE7a para verificar se a tal chave \xE9 de sicrano mesmo.
     
     Programas de criptografia (os bons, tipo PGP e GNUpg) usam um sistema de
     assinaturas nas chaves digitais para detectar e impedir esse tipo de
     problema:  Ao usu\xE1rio \xE9 dado o poder de "assinar" uma chave digital, dizendo
     "sim, eu tenho certeza que essa chave \xE9 de fulano, e que o e-mail de fulano \xE9
     esse que est\xE1 na chave".
     
     Note bem as palavras "certeza", e "e-mail".  Ao assinar uma chave digital,
     voc\xEA est\xE1 empenhando sua palavra de honra que o _nome_ do dono de verdade
     daquela chave \xE9 o nome _que est\xE1 na chave_, e que o endere\xE7o de e-mail
     daquela chave \xE9 da pessoa (o "nome") que tamb\xE9m est\xE1 na chave.
     
     Se todo mundo fizer isso direitinho (ou seja, n\xE3o sair assinando a chave de
     qualquer um, s\xF3 porque a outra pessoa pediu por e-mail, ou numa sala de
     chat), cria-se a chamada teia de confian\xE7a.
     
     Numa teia de confian\xE7a, voc\xEA confia na palavra de honra dos outros para
     tentar verificar se uma chave digital \xE9 leg\xEDtima, ou se \xE9 uma "pega-bobo".
     
     Suponha que Marcelo tenha assinado a chave de Cl\xE1udia, e que Roberto, que
     conhece Marcelo pessoalmente e assinou a chave de Marcelo, queira falar com
     Cl\xE1udia.  
     
     Roberto sabe que Marcelo leu o manual do programa de criptografia, e que ele
     n\xE3o \xE9 irrespons\xE1vel.  Assim, ele pode confiar na palavra de honra de Marcelo
     que aquela chave digital da Cl\xE1udia \xE9 da Cl\xE1udia mesmo, e usar a chave pra
     combinar um encontro com Cl\xE1udia.
     
     Por outro lado, Roberto n\xE3o conhece Cl\xE1udia (ainda), e n\xE3o sabe que tipo de
     pessoa ela \xE9. Assim, rapaz prevenido, ele n\xE3o confia que Cl\xE1udia seja uma
     pessoa respons\xE1vel que verifica direitinho antes de assinar chaves.
     
     Note que Roberto s\xF3 confiou na assinatura de Marcelo porque, como ele j\xE1
     tinha assinado a chave de Marcelo, ele sabe que foi Marcelo mesmo quem
     assinou a chave de Cl\xE1udia.  
     
     Enrolado? Sim, \xE9 um pouco complicado, mas desenhe num papel as flechinhas de
     quem confia em quem, que voc\xEA entende rapidinho como funciona.
     
     O uso da assinatura feita por algu\xE9m cuja chave voc\xEA assinou, para validar
     a chave digital de um terceiro, \xE9 um exemplo de uma pequena teia de
     confian\xE7a.
     
     
     3. Trocando assinaturas de chaves digitais com um grupo de pessoas
     
     Lembre-se: ao assinar uma chave digital, voc\xEA est\xE1 empenhando sua palavra de
     honra que toda a informa\xE7\xE3o que voc\xEA assinou naquela chave \xE9 verdadeira at\xE9
     onde voc\xEA pode verificar, _e_ que voc\xEA tentou verificar direitinho.
     
     Pense nisso como um juramento: "Eu juro, em nome da minha reputa\xE7\xE3o
     profissional e pessoal, que o nome e endere\xE7os de e-mail nessa chave s\xE3o
     realmente verdadeiros at\xE9 onde posso verificar, e que fiz uma tentativa real
     e razo\xE1vel de verificar essa informa\xE7\xE3o."
     
     Sim, \xE9 s\xE9rio desse jeito mesmo. Voc\xEA pode ficar muito "queimado" em certos
     c\xEDrculos se voc\xEA assinar uma chave falsa, pensando que \xE9 verdadeira:  a sua
     assinatura mal-verificada pode vir a prejudicar outros que confiaram em
     voc\xEA.
     
     Bom, j\xE1 que o assunto \xE9 s\xE9rio, como juntar um grupo de pessoas numa sala, e
     trocar assinaturas de chaves entre si?  Particularmente se s\xE3o pessoas que
     voc\xEA nunca viu antes? Siga o protocolo abaixo, passo a passo, e sem pular ou
     violar nenhum dos passos.
     
     
       1 -  Re\xFAna todos em uma sala, ou outro local n\xE3o tumultuado, pressa e
            bagun\xE7a s\xE3o inimigas da seguran\xE7a.
       
       2 -  Cada um dos presentes deve, ent\xE3o, ir de um em um e:
       
            2.1 -  Apresentar-se, mostrando _calmamente_ documenta\xE7\xE3o original
                   (nada de fotoc\xF3pia) comprovando sua identidade.  RG, CPF,
                   passaporte, certid\xE3o de nascimento ou casamento, carteira de
                   motorista, cart\xE3o de cr\xE9dito s\xE3o todos bons exemplos. S\xF3 o RG
                   sozinho n\xE3o \xE9 -- tem muito RG falsificado por a\xED -- mas o RG
                   junto com o cart\xE3o de banco j\xE1 seria suficiente.  Se nenhum
                   documento tiver foto, tamb\xE9m n\xE3o \xE9 o bastante.
                   
                   * Se algu\xE9m pedir o documento na m\xE3o, para verificar
                   direitinho, n\xE3o leve pro lado pessoal. Deixe a pessoa
                   verificar at\xE9 estar satisfeita (mas n\xE3o descuide do
                   documento). Isso s\xF3 significa que ela leva muito a s\xE9rio a
                   responsabilidade de assinar chaves.
     
            2.2 -  Entregar um papel com as informa\xE7\xF5es da chave: Nome
                   (QUE OBRIGATORIAMENTE PRECISA SER O MESMO NOME CONSTANTE NOS
                   DOCUMENTOS APRESENTADOS EM 2.1), e-mail, n\xFAmero da chave
                   (keyID), e fingerprint da chave (assinatura digital da chave)
     
                   RECIPIENTE DO PAPEL: Se voc\xEA achar que os documentos que te
                   apresentaram n\xE3o s\xE3o prova suficiente, talvez porque o nome
                   n\xE3o bate com o da chave, ou porque uma foto nos documentos n\xE3o
                   est\xE1 parecida com quem mostrou os documentos, marque
                   discretamente no papel, porque voc\xEA N\xC3O deve assinar essa
                   chave.   Se achar que o outro vai engrossar, n\xE3o diga para ele
                   que n\xE3o vai assinar a chave dele.
     
       3 -  Pronto. Podem ir embora, porque o resto dos passos deve ser feito com
            calma, em casa.  Lembre-se que voc\xEA n\xE3o vai estar efetuando nenhum
            julgamento moral a respeito de quem voc\xEA assinar a chave. Voc\xEA s\xF3 ir\xE1
            afirmar que a chave de sicrano \xE9 realmente aquela, e mais nada.
     
       4 -  Para cada uma das chaves que voc\xEA marcou no papel que "posso assinar":
       
            4.1 -  Pe\xE7a para o seu programa de criptografia mostrar a chave e sua
                   assinatura (fingerprint).
                   
                   SE: O nome no papel for exatamente igual ao nome na chave
                   (user ID/UID da chave). E: A assinatura no papel for
                   exatamente igual \xE0 assinatura na chave (fingerprint).  ENT\xC3O:
                   V\xE1 para o passo 4.3.
     
            4.2 -  As informa\xE7\xF5es n\xE3o bateram, por isso voc\xEA n\xE3o deve assinar a
                   chave.  Se quiser, envie um e-mail avisando que n\xE3o poder\xE1
                   assinar a chave. N\xE3o aceite tentativas de retifica\xE7\xE3o por
                   e-mail ou telefone. Um outro encontro face-\xE0-face, refazendo
                   todos os passos 2.1 e 2.2 \xE9 o \xFAnico jeito de retificar
                   o problema.
     
            4.3 -  As informa\xE7\xF5es bateram, o que garante que o *nome* est\xE1
                   correto. Agora \xE9 preciso ter certeza do endere\xE7o de e-mail.
                   Para isso, envie uma e-mail *CIFRADA* pela chave que voc\xEA est\xE1
                   testando, para o endere\xE7o de e-mail constante na chave.  Nessa
                   e-mail, coloque uma palavra secreta qualquer e pe\xE7a para o
                   destinat\xE1rio te responder dizendo qual a palavra secreta que
                   voc\xEA escreveu. Use uma palavra diferente para cada chave que
                   estiver testando, e anote no papel daquela chave qual palavra
                   voc\xEA usou.
     
            4.4 -  Se voc\xEA receber a resposta contendo a palavra secreta correta,
                   voc\xEA pode assinar a chave. Caso contr\xE1rio, n\xE3o assine a chave -- 
                   o endere\xE7o de e-mail pode ser falso.
     
     
     Comandos do gpg (GNUpg) correspondentes a cada passo:
       2.2 -       gpg --fingerprint <seu nome ou 0xSuaKEYID>
                   (retorna as informa\xE7\xF5es que devem estar no papel a ser
                   entregue no passo 2.2)
     
       4.1 -       gpg --receive-key <0xKEYID>
                   (procura a chave especificada nos keyservers)
                   gpg --sign-key <0xKEYID>
                   (assina uma chave)
     
                   Assume-se que voc\xEA sabe cifrar e decifrar mensagens. Caso
                   n\xE3o saiba, ainda n\xE3o \xE9 hora de querer sair assinando chaves.

O trecho acima descreve talvez o m\xE9todo mais rigoroso que algu\xE9m poderia ter para a assinatura de chaves p\xFAblicas. \xC9 l\xF3gico que voc\xEA n\xE3o precisa ser t\xE3o r\xEDgido para assinar chaves dos seus amigos ou pessoas que voc\xEA realmente conhece e confia. Para essas, basta trocarem ao vivo as impress\xF5es digitais das chaves p\xFAblicas e confirmarem seus endere\xE7os de email para que ambos possam assinar as chaves p\xFAblicas.

Recebendo sua chave assinada

Se algu\xE9m assinou sua chave, \xE9 conveniente voc\xEA atualizar sua c\xF3pia da sua chave p\xFAblica para que ela contenha essa nova assinatura. Voc\xEA pode fazer isso de duas maneiras: importando a chave que a pessoa te enviou pela forma usual, ou seja, utilizando o comando gpg --import ou, caso ela a tenha enviado para um servidor de chaves, atualizando seu chaveiro de acordo com as \xFAltimas modifica\xE7\xF5s de chaves do servidor.

Para essa segunda op\xE7\xE3o, basta digitar:

gpg --refresh-keys --keyserver keys.indymedia.org

onde keys.indymedia.org \xE9 o servidor de chaves para o qual a pessoa mandou a chave assinada. Esse comando far\xE1 com que todas as chaves p\xFAblicas do seu chaveiro - inclusive a sua - sejam atualizadas a partir das chaves p\xFAblicas existentes no servidor de chaves. Assim, se algu\xE9m assinou uma chave e a exportou para o servidor de chaves, esse comando atualizar\xE1 seu chaveiro substituindo a chave p\xFAblica antiga pela nova.

\xC9 muito interessante dar esse comando periodicamente para atualizar seu chaveiro, independentemente de algu\xE9m ter assinado uma chave. As atualiza\xE7\xF5es de chaves podem acontecer sem ningu\xE9m te avisar.

Confiando em chaves

Assinar chaves mostra a outras pessoas que voc\xEA confia na proced\xEAncia de determinadas chaves p\xFAblicas. Mas pode acontecer de voc\xEA assinar a chave de um amigo seu mas n\xE3o confiar nas chaves que ele assina. Existe uma maneira de lembrar a voc\xEA em quais colegas seus voc\xEA confia quando eles assinam chaves de outras pessoas, que \xE9 o chamado n\xEDvel de confiabilidade daquela chave.

Essa informa\xE7\xE3o n\xE3o \xE9 passada a outros usu\xE1rios. Quando exportada, n\xE3o existir\xE1 diferen\xE7a nenhuma se a chave p\xFAblica foi definida por voc\xEA com alto ou baixo n\xEDvel de confiabilidade, j\xE1 que o n\xEDvel de confiabilidade n\xE3o tem rela\xE7\xE3o nenhuma com a assinatura de mensagens. Em outras palavras, esse n\xEDvel apenas ajuda o usu\xE1rio na hora de decidir se confia ou n\xE3o em determinada chave que ele n\xE3o assinou mas que foi indiretamente confiada pela assinatura de algu\xE9m confi\xE1vel.

Para alterar o n\xEDvel de confiabilidade, digite:

gpg --edit-key email@da.pessoa

Aparecer\xE3o informa\xE7\xF5es sobre aquela chave. Em seguida, digite

trust

Aparecer\xE1 um menu de op\xE7\xF5es:

Por favor decida quanto confia neste utilizador para
verificar correctamente as chaves de outros utilizadores
(vendo passaportes, verificando impress\xF5es digitais...)?

 1 = N\xE3o sei
 2 = Eu N\xC3O confio
 3 = Confio moderadamente
 4 = Confio plenamente
 5 = Confio de forma total
 m = voltar ao menu principal

Sua decis\xE3o? 

Agora \xE9 s\xF3 escolher o n\xEDvel de confiabilidade desejada.

Formalmente, uma chave p\xFAblica \xE9 considerada v\xE1lida apenas se ela for assinada por voc\xEA. Mas usando o conceito de Teia de Confiabilidade, o GPG \xE9 bem flex\xEDvel em considerar uma chave v\xE1lida, por exemplo, se:

  • Ela foi assinada por voc\xEA ou
  • Ela foi assinada por algu\xE9m que voc\xEA confia totalmente ou
  • Ela foi assinada por tr\xEAs chaves que voc\xEA confia moderadamente ou
  • Se existe um caminho entre voc\xEA e a chave pelo qual todas as chaves est\xE3o assinadas. Jo\xE3o assinou a chave de Raimundo, que assinou a chave de Maria, cuja chave voc\xEA assinou; esse caminho permite que o GPG considere v\xE1lida a chave de Jo\xE3o, sem que voc\xEA precise assin\xE1-la. Normalmente o n\xFAmero de pessoas nessa corrente, para que a chave torne-se v\xE1lida, n\xE3o pode ser maior que cinco.

Voce n\xE3o precisa decorar esse esquema! Uma vez que voc\xEA seleciona o n\xEDvel de confiabilidade de uma chave, o GPG automaticamente recalcula a validade de todas as chaves do seu chaveiro, usando um m\xE9todo um pouco mais sofisticado do que o exemplificado acima.

Removendo chaves

Se voc\xEA quiser remover a chave p\xFAblica de algu\xE9m, use o comando

gpg --delete-key email@da.pessoa

onde email@da.pessoa \xE9 o email da pessoa cuja chave voc\xEA quer apagar. Agora, se voc\xEA quiser remover um par de chaves (p\xFAblica e privada), use o comando:

gpg --delete-secret-and-public-key seu@email

onde seu@email \xE9 o seu email. Exemplo:

gpg --delete-secret-and-public-key truta@uzma.net
gpg (GnuPG) 1.2.3; Copyright (C) 2003 Free Software Foundation, Inc.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions. See the file COPYING for details.

sec  1024D/90716386 2004-02-18   Truta <truta@uzma.net>

Deletar esta chave do chaveiro? s
Esta \xE9 uma chave secreta! - realmente deletar? s
pub  1024D/90716386 2004-02-18   Truta <truta@uzma.net>

Deletar esta chave do chaveiro? s

Mas tome cuidado: uma vez que voc\xEA apagou seu par de chaves, n\xE3o h\xE1 mais como recuper\xE1-las, ler mensagens criptografas para voc\xEA ou assinar mensagens. Lembre-se de revogar sua chave p\xFAblica antes de cancel\xE1-la (veja como na pr\xF3xima se\xE7\xE3o).

Cancelando um par de chaves

Se voc\xEA quiser cancelar um par de chaves, por qualquer motivo - algu\xE9m roubou sua chave secreta e sua senha, por exemplo - voc\xEA usar\xE1 o comando para revogar sua chave.

O comando

gpg --output revoke.asc --gen-revoke ID

revogar\xE1 minha chave cuja identifica\xE7\xE3o \xE9 ID (que pode ser tanto o nome do par de chaves, como o seu n\xFAmero ou o email correspondente) e gerar\xE1 um certificado de revogamento no arquivo revoke.asc. Esse certificado serve para ser enviado a quem tiver minha chave p\xFAblica para que saibam que cancelei meu par de chaves. \xC9 uma esp\xE9cie de assinatura de cancelamento.

Outros comandos

Para maiores informa\xE7\xF5es sobre como usar o gpg em modo texto, consulte as Refer\xEAncias ou ent\xE3o digite no seu terminal

man gpg

Modo Gr\xE1fico

Linux: usando o GPA

O GPA, ou GNU Privacy Assistant (Assistente de Privacidade da GNU) \xE9 basicamente um gerenciador de chaveiro. Um gerenciador de chaveiro \xE9 a ferramenta com a qual voc\xEA pode controlar as c\xF3pias de chaves p\xFAblicas e as chaves privadas que voc\xEA possui, podendo apagar, assinar, mudar confiabilidade e criar novos pares de chaves, dentre outras coisas. O GPA permite ainda que voc\xEA assine, verifique assinaturas, criptografe e descriptografe arquivos. O GPA n\xE3o \xE9 foi feito para voc\xEA utilizar criptografia no seu email, mas ele \xE9 \xFAtil mesmo assim porque os programas de email que utilizam criptografia n\xE3o tem capacidade de gerenciar chaves e eles apenas cuidam de assinar, verificar assinaturas, criptografar e descriptografar mensagens de email. Por isso, \xE9 recomend\xE1vel que, al\xE9m de usar um cliente de email com suporte \xE0 criptografia (saiba mais sobre isso na se\xE7\xE3o Criptografia e correio eletr\xF4nico), voc\xEA tamb\xE9m use o GPA para administrar suas chaves. Uma outra alternativa a GPA \xE9 o SeaHorse, que n\xE3o ser\xE1 abrangido neste manual.

Para instalar o GPA, consulte a se\xE7\xE3o Instalando o GPA. Se voc\xEA j\xE1 instalou ou no seu sistema o GPA j\xE1 vem instalado, basta que voc\xEA abra um terminal e digite, como usu\xE1rio comum (isto \xE9, sem estar como administrados do sistema),

gpa

ou ent\xE3o acesse o GPA a partir do menu do seu sistema.

A figura a seguir mostra a p\xE1gina principal do GPA:

gpa1.jpg

Gerenciador do chaveiro digital: a janela principal do GPA.

Criando um novo par de chaves

Logo que voc\xEA entrar no GPA pela primeira vez, o programa poder\xE1 avisar que voc\xEA ainda n\xE3o tem uma chave privada e perguntar\xE1 se voc\xEA quer ger\xE1-la agora ou mais tarde. Se voc\xEA n\xE3o tem uma chave privada, clique em "Gerar chave agora". Caso ele n\xE3o fa\xE7a isso, v\xE1 no menu Chaves e clique em *Nova Chave...".

gpa2.jpg

Em seguida, digite seu nome e clique em "Avan\xE7ar". Fa\xE7a o mesmo para o seu email e opcionalmente para o coment\xE1rio. Digite sua senha e confirme-a, tomando cuidado para n\xE3o escolher uma senha muito \xF3bvia. De que adianta uma poderosa ferramenta de criptografia se a sua senha \xE9 uma porcaria?

gpa3.jpg

gpa4.jpg

gpa5.jpg

gpa6.jpg

gpa7.jpg

Se quiser, pe\xE7a para que seja criada uma c\xF3pia de backup, algo que s\xF3 \xE9 recomendado caso voc\xEA queira ter um chaveiro num outro computador ou quando voc\xEA pretende reinstalar seu sistama. Depois disso, demorar\xE1 um certo tempo para sua chave ser criada. Agora \xE9 s\xF3 come\xE7ar a brincadeira.

gpa8.jpg

Gerenciando chaves p\xFAblicas

Para adicionar uma chave p\xFAblica ao seu cat\xE1logo, basta clicar no bot\xE3o "Importar". Aqui voc\xEA pode tanto usar o ID da chave quanto usar um arquivo de chave p\xFAblica que voc\xEA tenha recebido. Para exportar chaves, o procedimento \xE9 an\xE1logo. Uma vez que voc\xEA exportou uma chave p\xFAblica, \xE9 s\xF3 anexar o arquivo correspondente nas suas mensagens de email para distribuir a todos sua chave p\xFAblica.

gpa10.jpg

gpa9.jpg

gpa11.jpg

gpa12.jpg

gpa13.jpg

gpa14.jpg

gpa15.jpg

gpa16.jpg

gpa17.jpg

gpa18.jpg

gpa19.jpg

Encriptar

Certo. Agora vamos ao que interessa. Ecriptar e desencriptar. Vamos testar com um arquivo qualquer. Ente num editor de textos e crie um arquivo com o nome entropia.txt. No GPA, clique no bot\xE3o "Arquivos". Aparecer\xE1 o Gerenciador de Arquivos.

gpa20.jpg

Nessa nova janela, clique no bot\xE3o "Abrir" e selecione o arquivo entropia.txt.

gpa21.jpg

Clique no bot\xE3o "Encriptar", selecione seu nome na lista superior e d\xEA um OK. Opcionalmente voc\xEA pode assinar esse arquivo, e ent\xE3o voc\xEA ter\xE1 que digitar sua senha. Se voc\xEA for mandar mensagens encriptadas por email, n\xE3o esque\xE7a de selecionar a op\xE7\xE3o Armor, que far\xE1 com que a encripta\xE7\xE3o saia em caracteres leg\xEDveis e que podem ser enviados por email.

gpa25.jpg

Pronto, o arquivo com nome entropia.txt.gpg ou entropia.txt.asc, caso voc\xEA tenha selecionado a op\xE7\xE3o Armor, foi criado e cont\xE9m a mensagem do arquivo secreto.txt codificada. Experimente abrir o entropia.txt.gpg ou o entropia.txt.asc num editor de textos comum: voc\xEA ver\xE1 apenas um monte de caracteres muito estranhos. Sua mensagem agora est\xE1 protegida e s\xF3 voc\xEA pode l\xEA-la. N\xE3o esque\xE7a de deletar o arquivo entropia.txt e manter s\xF3 o entropia.txt.asc ou o entropia.txt.gpg.

gpa23.jpg

A seguir, mostro um exemplo de encripta\xE7\xE3o onde usei a op\xE7\xE3o Armor:

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.1 (GNU/Linux)

hQEOA3v8xQeh8DSxEAP9E4wGxbz+EgftZ4cLMVF7HOKa7vdWzRGvWzXJKLX6qvs4
QUT/biiKGhCEaoBl4hzs6qyW+B1u2Y35fIWVOgT6ATEce5QdSHFGhjNU7pZVCgKZ
bYc1w9w/dHx/3ZDvSiEX9cF6FEpKIubUH9wofU++PNgtK9Op2rr8RTNDruG0ejgD
+wabESliFOrc7LGwAu3pK0CQ+DAJALXdNb0O1wo5EfYAHdJz61P6Zn8Ea47sggE4
H5hKhRstY9UjrQXFmxbfxqT6L8r2xSxmwkESgxjBb11+MPzK++rghSFh7m7rV0pV
KKMiVSzqq7479TjDWDOP9BaSwimstUU0rNlJ1fuRpPHP0uoB4dtK2wOTQW2NzSun
HkPlrQsnUwQn89KiqNwZM3WrdDcI18DPpenVl6//yH6dzaJ6kmcNZCGHh8nb0sTl
0rUBy0MiqiirBkEbu/u9AEn2kCKN8Dq63GsoW94r0IBEZBbJkjwEnr4Ul8UvLtLs
a27oJ9/OTEokaFuT5G4qsI4r9NaBbgnmQ0wW2WmHcnCakSmY9Ad8z+WCQ0B5pNSs
5HAJu6ochbIFEH6tr1RGQGkTugUwtZ5RZLL28FYw9znfPOQm4IJAdsTTwMIhakkH
AMdpROewrsjOGQhxZsA4W1Tusy9AZhMMMMMVk01hnnIyV05wrOOjNedWm1MVHMeB
hH/CSzv8Y5g7cC9sRDIN5tiHQynJ3d7Yg1RE4Gava8pgzmXvudhORewgftp2rgpX
MYox3sm13cwb0xYm2lmDTZQ3FqjNc/fEsHHFUmuW5nswqM7+Eq0GagpbBW68BjvR
KqDG9QKilStzADVb3JuEcvGnXFjNYpDoVD5+qKYM4Ie0jiexA681yyoVFbkKE98R
Cc2ZNMMqy7BISAnYLhJqsyQ0r9Ib+y+nRz6CK6dF8LOQ4j5hpBpAYgg+hk9Ew89p
85C4x9tPjFLaW3UHaJ4OTXM8rNAkVt60qunks/2lzFzKv8VFZvEo8cvOXCQ2GowN
QBaJ/EyJ6qFXY0DYJgGkQSuR9RWfFD1Ah9zw98g60dRCzIzZOOVdSD8pp6tPtfcL
ABNKz4/QplbrSPKQFKmEm5fNhEn6G00+m4oXrO2+qn6YH31Nk6NuJNxx6OZtgZMZ
ZBWruu9ubusko/NWnhVjBpcmxPJy3g6BrdxG3bODA4OQPfNoryB2sNZUO00wf4++
8UmOj8kSQz3sDDSKzSFYHXdD+9/rGhAF9dVbZK6Zi6lSsNhBGrrdWsIIsvk949WN
pOpRBu7aRDwPEkDSvJeicoNdv/uvCreUTZACopLtNxLE52rHG9Oku2WAq0E6Tcr3
La/akik6zLR60smoMole5ero9T0dOX94XZ0j9K6JiEBW7c0NXNGz58/SP7MFGPAZ
QWV6UGUmHQIWK+3nJ73NVRqXdIKVk7s6ORpE1Qz5gv+nO3P4BbskfuPOxoRljUux
yc299i2dx6InuPsL+dbAxfqzYPVj8AAhAzXpGr9oVzY/uPYtKkOQyXUb6Zrqr02z
YyrAIDCGKyN6SbEvM+dlNFkEptFUrtpAVcv6f9AunsBYjdUJ02SKlDbpTvTv7k9+
SZl+cqnJ2F7k5LW6L3klgr1rzfefstd7c16FFAbyclXTYX+QdBC4/o0sNKgYaqqV
3jlH7ZUHFdqiAWS0MLF8PB2AREARWgrgmC9smEE7ILPANmrGPZRGYHMwLRvJlijg
WYD4nKFAoJ7eIJQCPhmqvQ5wBr3DLetXwZXSRv1CgQWhkeklHE/ZwvCOi4oFuc3H
O3mlCWV54otm2UD0/vy5m7ECVt/y9qBORdZMv92pu6bmp8uNDO736deMPVViISwh
nmiRMwVlIgnHHu1KKHkVGxWnwkrBbvHhVOJn0DiXNV7QRivnhw2ZOBXZTs2Mu5bS

c+3wi65SSYNwAcVeCQ0X6Q==
=hG0M
-----END PGP MESSAGE-----

Duvido que voc\xEA desvende o que est\xE1 escrito nela!

Desencriptar

Para desencriptar, selecione o arquivo criptografado e clique em "Desencriptar". Voc\xEA ter\xE1 que digitar sua senha e ent\xE3o o arquivo ser\xE1 decodificado. Lembre-se sempre: voc\xEA s\xF3 pode decodificar arquivos que foram codificados usando sua chave p\xFAblica e o mesmo vale para seus amigos: eles s\xF3 conseguir\xE3o decodificar mensagens que foram codificadas com as chaves p\xFAblicas deles.

Assinando arquivos

gpa22.jpg

Como verificar mensagens assinadas

gpa24.jpg

Windows: usando o WinPT

Se voc\xEA instalou o WinPT de acordo com a se\xE7\xE3o Instalando o WinPT, tudo fica muito, mas muito f\xE1cil. O WinPT deve aparecer como um \xEDcone em forma de chave no canto da sua barra do Windows, provavelmente ao lado do rel\xF3gio. Se o \xEDcone n\xE3o estiver l\xE1, basta abrir o menu Iniciar, ir em "Programas" e achar o atalho para o WinPT.

Trataremos aqui apenas das tarefas mais b\xE1sicas: como encriptar e desencriptar arquivos, como encriptar e desencriptar texto que voc\xEA recortou (ctrl-x) ou copiou (ctrl-c) e como gerenciar suas chaves e as chaves p\xFAblicas de outras pessoas.

Como gerenciar chaves p\xFAblicas

Para voc\xEA mandar uma mensagem criptografada para uma pessoa, \xE9 necess\xE1rio que voc\xEA tenha a chave p\xFAblica dela. Para cada pessoa, uma chave p\xFAblica.

Existem basicamente dois m\xE9todos para que voc\xEA transmita sua chave p\xFAblica:

  • Voc\xEA enviar sua chave para uma pessoa (por email, disquete, cd, etc.).
  • Voc\xEA enviar sua chave p\xFAblica para um servidor e cada pessoa que quiser us\xE1-la baixa a chave do servidor.

Enviar sua chave para um servidor \xE9 o meio mais c\xF4modo de compartilhar sua chave com as pessoas que v\xE3o enviar mensagens criptografadas para voc\xEA. Dessa forma voc\xEA n\xE3o precisa ficar mandando suas chave p\xFAblica pra todo mundo.

Isso tudo tamb\xE9m vale para voc\xEA obter chaves p\xFAblicas de outras pessoas: voc\xEA pode pegar a chave p\xFAblica de uma pessoa atrav\xE9s do servidor de chaves (desde que a pessoa tenha disponibilizado sua chave em servidores) ou recebendo a chave da pessoa via emai, disquete, cd, etc.

No WinPT, assim como nos outros programas de criptografia, h\xE1 um Gerenciador de Chaves, uma esp\xE9cie de cat\xE1logo de endere\xE7os, mas que, ao inv\xE9s de armazenar s\xF3 o nome e o endere\xE7o de email da pessoa, ele guarda tamb\xE9m a chave p\xFAblica das pessoas.

Para abrir o gerenciador de chaves, clique com o bot\xE3o direito sobre o \xEDcone do WinPT que fica no canto da sua barra do Windows (o \xEDcone se parece com uma chave). Um meno com v\xE1rias op\xE7\xF5es deve aparecer. Clique em "Key Manager" (Gerenciador de Chaves).

Como importar uma chave p\xFAblica

No Key Manager, v\xE1 no menu Key e depois em Import.... Aparecer\xE1 uma janela para sele\xE7\xE3o do arquivo. Escolha o arquivo que cont\xE9m a chave p\xFAblica da pessoa e clique em Ok. Uma janela de confirma\xE7\xE3o, contendo as informa\xE7\xF5es mais importantes dessa chave p\xFAblica, vai aparecer. Clique em Import e depois em Ok. Se a nova chave p\xFAblica n\xE3o apareceu, n\xE3o se preocupe: feche e abra de novo a janela do Key Manager.

Como exportar uma chav\xE9 p\xFAblica

No Key Manager, selecione a chave que voc\xEA quer exportar e v\xE1 no menu Key e depois em Export. Uma janela vai abrir para que voc\xEA escolha o nome do arquivos que conter\xE1 a chave p\xFAblica e o local onde ele ser\xE1 gravado. Pronto.

Como importar ou exportar uma chave p\xFAblica de um servidor

Para importar uma chave p\xFAblica que esteja armazenada em algum servidor na internet, abra o Key Manager e clique sobre o menu Keyserver. Aparecer\xE1 uma janela com um campo de busca. Digite o email da pessoa ou o fingerprint (impress\xE3o digital) da chave p\xFAblica dela. Se a busca retornar sucesso, \xE9 s\xF3 adicionar essa nova chave p\xFAblica em sua lista.

Para exportar sua chave p\xFAblica para um servidor, v\xE1 no Key Manager e clique sobre ela com o bot\xE3o direito. Isso abrir\xE1 um menu. V\xE1 em Send to Keyserver e selecione o servidor para o qual voc\xEA quer enviar sua chave.

Encriptar textos com Ctrl-c ou Ctrl-x

Primeiro, digite num editor o texto que voc\xEA quer critpografar. Em seguida, selecione o texto com o mouse e digite ctrl-c. Com o bot\xE3o direito do mouse, clique sobre o \xEDcone do WinPT que fica no canto da sua barra do Windows (o \xEDcone se parece com uma chave). Um meno com v\xE1rias op\xE7\xF5es deve aparecer. Clique em "Clipboard" e depois em "Encrypt".

Desencriptar textos com Ctrl-c ou Ctrl-x

Com o bot\xE3o direito do mouse, clique sobre o \xEDcone do WinPT que fica no canto da sua barra do Windows (o \xEDcone se parece com uma chave). Um meno com v\xE1rias op\xE7\xF5es deve aparecer. Clique em "Clipboard" e depois em "Decrypt".

Encriptar e desencriptar arquivos

Para saber encriptar arquivos, \xE9 necess\xE1rio que voc\xEA saiba o que \xE9 um arquivo, como copiar e mover arquivos usando o Windows Explorer e saber o que \xE9 a extens\xE3o de um arquivo. Se voc\xEA n\xE3o souber essas coisas, pule esse se\xE7\xE3o, pois um mal uso dela pode prejudicar sua privacidade. Por exemplo, imagine se voc\xEA confundir e mandar pra algu\xE9m a mensagem original ao inv\xE9s da mensagem criptografada. Esse tipo de coisa \xE9 muito comum quando n\xE3o se domina bem a manipula\xE7\xE3o de arquivos.

Com o bot\xE3o direito do mouse, clique sobre o \xEDcone do WinPT que fica no canto da sua barra do Windows (o \xEDcone se parece com uma chave). Um meno com v\xE1rias op\xE7\xF5es deve aparecer. Clique em "File manager" (gerenciador de arquivos).

Uma janela com uma lista em branco vai aparecer. \xC9 o gerenciador de arquivos do WinPT. Nele, voc\xEA pode criptografar e descriptografar arquivos. Antes de efetuar qualquer uma dessas opera\xE7\xF5es, voc\xEA precisa adicionar os arquivos \xE0 lista do gerenciador. Existem duas maneiras de se fazer isso.

  • A primeira delas \xE9 arrastar o \xEDcone do arquivo desejado at\xE9 a janela do gerenciador.
  • A outra maneira \xE9 ir no menu "File" (arquivo) do gerenciador e depois em "Open" (abrir). A\xED \xE9 s\xF3 adicionar o arquivo desejado.

Windows: usando o GPGee

4. Criptografia e internet

Criptografia e correio eletr\xF4nico

O uso mais frequente da criptografia \xE9 no envio e recebimento de emails. Uma vez que os pacotes de informa\xE7\xE3o s\xE3o transmitidas de servidor em servidor pela internet at\xE9 chegar no computador de destino, qualquer pessoa pode monitorar esses pacotes e obter seu conte\xFAdo. Utilizando a criptografia assegura que apenas o destinat\xE1rio comprender\xE1 o conte\xFAdo da mensagem.

No caso do correio eletr\xF4nico as coisas s\xE3o ainda um pouco mais complicadas, pois n\xE3o existe dificuldade nenhuma em enviar emails falsos. Isso n\xE3o \xE9 uma vulnerabilidade, mas sim uma caracter\xEDsticas do servi\xE7o de email. Qualquer pessoa pode acessar um servidor de email e redigir uma mensagem em nome do Presidente da Rep\xFAblica. Basta que voc\xEA configure seu programa de email para que envie suas mensagens como presidente@brasil.gov.br. Isso \xE9 poss\xEDvel devido \xE0 pr\xF3pria arquitetura do sistema de email existente na internet.

Al\xE9m disso, um email passa por muitos servidores at\xE9 chegar ao seu destino. Se a mensagem n\xE3o estiver criptografada, ela pode ser facilmente interceptada por terceiros. Isso que estou falando n\xE3o s\xE3o falhas do sistema de email, mas sim caracter\xEDsticas deles. Vejamos com um pouco mais de detalhe como tudo isso funciona. Se preferir, pule para a pr\xF3xima se\xE7\xE3o.

Na internet existem tr\xEAs tipos de programas de email: os programas do tipo MTA (Mail Transport Agent), os MDA (Mail Delivery Agent) e ou MUA (Mail User Agent).

Os Mail Transport Agents (ou Agentes de Transporte de Emails) s\xE3o aqueles programas que enviam a mesagem de email para o servidor de destino, que pode ser, por exemplo, o servidor de emails do provedor de internet usado pelo destinat\xE1rio da mensagem. Por causa do protocolo que os MTAs utilizam, eles s\xE3o mais conhecidos como servidores SMTP (Simple Mail Transfer Protocol).

J\xE1 os MDAs (Agentes de Entrega de Email) s\xE3o os programas que enviam a mensagem at\xE9 o usu\xE1rio de destino, e para que este usu\xE1rio possa receber a mensagem ele deve utilizar um programa do tipo MUA, que s\xE3o os programas de email propriamente ditos. Os servidores de entrega de email tamb\xE9m s\xE3o conhecidos como servidores POP ou IMAP. J\xE1 os clientes de email (MUAs) podem ser tanto um site de Webmail como os programas do tipo Mail (MacOSX), Mozilla Mail, etc.

Parece complicado?

O caminho que uma mensagem de correio eletr\xF4nico percorre \xE9 o seguinte: o remetente da mensage utiliza seu respectivo cliente de email (MUA) para enviar a mensagem at\xE9 o seu programa MTA, que pode ser o servidor SMTP do seu provedor ou at\xE9 mesmo ser um programa rodando no computador do remetente. Esse MTA por sua vez envia essa mensagem at\xE9 o MTA do usu\xE1rio de destino. Quando o destinat\xE1rio verificar suas novas mensagens, basta que ele utilize seu cliente de email (MUA) para se conectar at\xE9 seu servidor POP ou IMAP (MDA) e receber suas mensagens.

Por exemplo, suponha que um usu\xE1rio do provedor remetente.br deseja enviar uma mensagem para destinatario@destinatario.br. O remetente envia o email para o servidor de SMTP do provedor remetente.br, que por sua vez manda a mensagem para o SMTP de destinatario.br. Agora \xE9 s\xF3 o destinat\xE1rio se conectar ao programa POP, IMAP ou Webmail do provedor destinatario.br para receber a mensagem.

remetente > smtp.remetente.br > smtp.destinatario.br > pop3.destinatario.br > destinat\xE1rio
   (mua)         (mta)                 (mta)                  (mda)               (mua)

Em todo esse processo n\xE3o existe verifica\xE7\xE3o do email de origem da mensagem, isto \xE9, uma vez que o remetente se conectou em smtp.remetente.br ele pode escolher qualquer email de origem. Ele pode escrever a mensagem como destinatario@destinatario.br, ficticio@ficticio.com.br (n\xE3o precisa nem ser um email v\xE1lido). Isso acontece porque normalmente os servidores STMP s\xF3 requerem usu\xE1rio e senha para serem utilizados e eles n\xE3o fazem nenhuma verifica\xE7\xE3o de destinat\xE1rio. \xC0s vezes esses servidores est\xE3o desconfigurados e n\xE3o precisam nem de senha para serem utilizados, sendo ent\xE3o muito usados para SPAM (mala direta). Um outro detalhe importante \xE9 que qualquer pessoa pode rodar seu pr\xF3prio programa de SMTP e com isso enviar mensagens em nome de outras pessoas.

J\xE1 os servidores tipo MDA (pop3, imap, webmail) requerem usu\xE1rio senha para fornecerem o acesso \xE0 uma conta de email, o que impede as pessoas de receberem o email de outras pessoas.

Se voc\xEA quiser testar o quanto o sistema de correio eletr\xF4nico \xE9 fr\xE1gil nesse aspecto da verifica\xE7\xE3o de endere\xE7os, experimente utilizar uma ferramenta de email an\xF4nimo, como o http://anony.co.uk/ ou o http://email.bonloup.org/. Basta preencher o formul\xE1rio, escolhendo inclusive o remetente da mensagem, para enviar um email an\xF4nimo.

Como na internet todas as informa\xE7\xF5es passam de servidor em servidor at\xE9 chegar no seu destino, as mensagens de email s\xE3o naturalmente "interceptadas" por outros servidores. Se essa mensagem passar por algum servidor controlado por pessoas maliciosas, as mensagens de email podem ser lidas com muita facilidade.

Resumindo, qualquer pessoa pode escrever um email com o endere\xE7o de email de outra pessoa, mas dificilmente conseguir\xE1 receber o email de outras pessoas. No entanto, \xE9 poss\xEDvel que mensagens de email sejam interceptadas enquanto estiverem indo para o seu destino, e se ela n\xE3o estiver corretamente criptografada qualquer pessoa pode interpret\xE1-la.

Assim, al\xE9m de criptografar suas as mensagens, \xE9 muito \xFAtil assinar com sua chave p\xFAblica as mensagens de email que voc\xEA envia. Assim as pessoas s\xF3 confiar\xE3o nas mensagens enviadas com o seu endere\xE7o se elas estiverem assinadas com sua chave privada. Por isso, se voc\xEA n\xE3o usar criptografia, voc\xEA n\xE3o ter\xE1 como provar que

  • As mensagens de email que voc\xEA n\xE3o enviou mas que algu\xE9m enviou em seu nome n\xE3o s\xE3o realmente suas
  • As mensagens que voc\xEA enviou em seu nome s\xE3o realmente suas

Se voc\xEA adotar a assinatura de mensagens como padr\xE3o, voc\xEA consegue facilmente provas os dois itens anteriores.

Programas de email

Nessa se\xE7\xE3o abordaremos os seguintes programas de email que suportam criptografia,

  • Mozilla Mail / Thunderbird
  • KMail
  • Ximian Evolution

e ainda como utilizar criptografia em Webmail. Se voc\xEA utiliza Windows, os dois \xFAnicos clientes de email que trataremos aqui s\xE3o o Mozilla Mail e o Thunderbird, pois s\xE3o softwares livres e tem um bom suporte \xE0 criptografia. Considere seriamente trocar de cliente caso voc\xEA use Outlook, Eudora ou similar.

Mozilla Mail / Thunderbird

Se voc\xEA usa Linux, Windows ou MacOS, n\xE3o deixe de usar o Mozilla. O Mozilla n\xE3o \xE9 apenas um navegador (browser) pra internet de c\xF3digo aberto, mas \xE9 O Navegador. \xC9 uma quest\xE3o de \xE9tica usar o Mozilla. Al\xE9m disso, o Mozilla possui um programa de email muito bom que tem amplo suporte a criptografia.

A seguir temos instru\xE7\xF5es de como utilizar criptografia com o Mozilla e com suas vers\xF5es alternativas (Thunderbird e Firefox).

Instalando no Mozilla

1 - Se voc\xEA ainda n\xE3o instalou o GPG, fa\xE7a-o.

2 - Se voc\xEA ainda n\xE3o usar o Mozilla, fa\xE7a o download dele em http://www.mozilla.org/releases/ e instale.

3 - Se voc\xEA ainda n\xE3o configurou o Mozilla Mail, vamos l\xE1! Com o Mozilla aberto, v\xE1 no menu Window e depois em Mail & newsgroups. A janela do Mozilla Mail deve aparecer. Se n\xE3o apareceu \xE9 porque voc\xEA n\xE3o fez uma boa instala\xE7\xE3o do Mozilla. Volte ao item 1 e come\xE7e tudo de novo.

4 - Junto com a do Mozilla Mail, vai aparecer uma outra janela pedindo suas configura\xE7\xF5es de email. Digite-as da mesma forma como voc\xEA faria num outro cliente de email.

5 - Depois de configurar sua conta de email, instale o software de criptografia. Para isso, abra o Mozilla como superusu\xE1rio e v\xE1 at\xE9 a p\xE1gina http://enigmail.mozdev.org/download.html

6 - Na se\xE7\xE3o Express Install, clique no bot\xE3o Install.

7 - Aparecer\xE1 o procedimento padr\xE3o pra instalar coisas no Mozilla. \xC9 s\xF3 ir prosseguindo que a instala\xE7\xE3o \xE9 feita sem problemas. Se aparecer algum erro do tipo Permission Denied \xE9 porque voc\xEA n\xE3o executou o Mozilla como superusu\xE1rio.

8 - Abra o Mozilla Mail mais uma vez como superusu\xE1rio e feche em seguida. N\xE3o me pergunte porque tem que ser assim, apenas fa\xE7a.

9 - Abra o Mozilla Mail novamente, mas agora com o seu usu\xE1rio. No menu dever\xE1 aparecer o item Enigmail. Se ele estiver, beleza. Sen\xE3o, a instala\xE7\xE3o n\xE3o foi bem sucedida. Recome\xE7e smile

10 - V\xE1 nesse menu (Enigmail) e depois em Preferences (prefer\xEAncias) e configure o Enigmail. O mais importante aqui \xE9 dizer ao Enigmail onde est\xE1 o GPG (no Linux, pode ser /usr/bin/gpg ou /usr/local/bin/gpg e no Windows pode ser c:\windows\gpg.exe ou na pasta na qual voc\xEA fez a instala\xE7\xE3o).

  • Enigmail:
    enigmail-menu.jpg

  • Enigmail:
    enigmail-options.jpg

11 - Em seguida chega a hora de escolher seu par de chaves que o Enigmail utilizar\xE1. Aqui voc\xEA tem tr\xEAs op\xE7\xF5es: gerar um par de chaves pelo pr\xF3prio Enigmail, gerar utilizando outro programa de criptografia e utiliz\xE1-lo no Enigmail ou ent\xE3o usar um par de chaves que voc\xEA j\xE1 tem. Gerar diretamente pelo Enigmail \xE9 a forma mais simples e pode ser feita de acordo com as duas figuras abaixo.

  • Enigmail:
    enigmail-generate.jpg

  • Enigmail:
    enigmail-passphrase.jpg

Se voc\xEA gerou suas chaves num outro programa ou j\xE1 possu\xEDa um par de chaves, basta ir no menu Acount Settings do Mozilla Mail e em seguida em OpenPGP Security e no campo Use specific PGP Key digite o ID da sua chave p\xFAblica j\xE1 existente.

Instalando no Thunderbird

O Thunderbird \xE9 uma vers\xE3o do Mozilla Mail mais econ\xF4mica em termos de custo computacional, isto \xE9, \xE9 um programa que roda melhor do que o Mozilla Mail em computadores mais lentos. O Thunderbird pode ser baixado e instalado a partir daqui. Em conjunto com o Thunderbird, \xE9 recomend\xE1vel que voc\xEA utilize o Firefox como navegador Web. O Firefox \xE9 uma vers\xE3o leve do Mozilla e pode ser baixado a partir daqui.

A instala\xE7\xE3o do Enigmail no Thunderbird \xE9 similar \xE0 do Mozilla Mail, por\xE9m a menor integra\xE7\xE3o entre o navegador e o leitor de emails faz com que algumas coisas tenham que ser feitas "na m\xE3o":

1 - Se voc\xEA ainda n\xE3o instalou o GPG, fa\xE7a-o.

2 - Se voc\xEA ainda n\xE3o usar o Thunderbird e o Firefox, fa\xE7a o download deles em http://www.mozilla.org/products/thunderbird/ e http://mozilla.org/products/firefox/ e em seguida instale-os.

3 - Se voc\xEA ainda n\xE3o configurou o Thunderbird, vamos l\xE1! Com ele aberto, voc\xEA dever\xE1 ver uma op\xE7\xE3o do tipo Create a new account (Criar Nova Conta). Clique ali e configure suas op\xE7\xF5es de email, da maneira como \xE9 feita em qualquer outro cliente de correio. Em seguida, feche o Thunderbird.

4 - Agora \xE9 importante que voc\xEA saiba com certeza qual \xE9 a vers\xE3o do seu Thunderbird, j\xE1 que para cada Thunderbird h\xE1 uma vers\xE3o correspondente do Enigmail.

5 - Depois de configurar sua conta de email, instale o software de criptografia. Para isso, abra o Firefox e v\xE1 at\xE9 a p\xE1gina http://enigmail.mozdev.org/download.html

L\xE1 existe uma tabela contendo o endere\xE7o para baixar o Enigmail para cada vers\xE3o do Thunderbird. Voc\xEA precisar\xE1 instalar dois arquivos, um para o enigmail e outro para o enigmime. Por exemplo, se voc\xEA instalou o Thunderbird 0.6 e voc\xEA esteja usando o Linux, v\xE1 at\xE9 a linha que come\xE7a com Thunderbird 0.6 e baixe os arquivos indicados, que no caso s\xE3o o enigmail-0.84.0.xpi e o enigmime-0.84.0-linux.xpi.

Se voc\xEA usa Windows ou MacOS, n\xE3o se preocupe. O site do Enigmail detectar\xE1 qual \xE9 o sistema operacional que voc\xEA est\xE1 rodando e de acordo com essa informa\xE7\xE3o listar\xE1 os tipos de Enigmail que voc\xEA pode baixar. Lembre-se apenas que \xE9 indispens\xE1vel que voc\xEA baixe os arquivos enigmail e enigmime correspondentes \xE0 sua vers\xE3o do Thunderbird.

6 - Abra o Thunderbird como superusu\xE1rio, para que voc\xEA tenha poderes para instalar o Enigmail. V\xE1 no menu Tools, depois em Options e Extensions e Install New Extensions. L\xE1 voc\xEA pode instalar o Enigmail, bastanto para isso selecionar os arquivos enigmail-0.84.0.xpi e enigmime-0.84.0-linux.xpi baixados previamente conforme as instru\xE7\xF5es do item anterior.

Aparecer\xE1 o procedimento padr\xE3o pra instalar coisas no Mozilla. \xC9 s\xF3 ir prosseguindo que a instala\xE7\xE3o \xE9 feita sem problemas. Se aparecer algum erro do tipo Permission Denied \xE9 porque voc\xEA n\xE3o executou o Mozilla como superusu\xE1rio.

7 - Abra o Thunderbird mais uma vez como superusu\xE1rio e feche em seguida. N\xE3o me pergunte porque tem que ser assim, apenas fa\xE7a smile

8 - Abra o Thunderbird novamente, mas agora com o seu usu\xE1rio. No menu dever\xE1 aparecer o item Enigmail. Se ele estiver, beleza. Sen\xE3o, a instala\xE7\xE3o n\xE3o foi bem sucedida. Recome\xE7e smile

9 - V\xE1 nesse menu (Enigmail) e depois em Preferences (prefer\xEAncias) e configure o Enigmail. O mais importante aqui \xE9 dizer ao Enigmail onde est\xE1 o GPG (no Linux, pode ser /usr/bin/gpg ou /usr/local/bin/gpg e no Windows pode ser c:\windows\gpg.exe ou na pasta na qual voc\xEA fez a instala\xE7\xE3o).

  • Enigmail:
    enigmail-menu.jpg

  • Enigmail:
    enigmail-options.jpg

10 - Em seguida chega a hora de escolher seu par de chaves que o Enigmail utilizar\xE1. Aqui voc\xEA tem tr\xEAs op\xE7\xF5es: gerar um par de chaves pelo pr\xF3prio Enigmail, gerar utilizando outro programa de criptografia e utiliz\xE1-lo no Enigmail ou ent\xE3o usar um par de chaves que voc\xEA j\xE1 tem. Gerar diretamente pelo Enigmail \xE9 a forma mais simples e pode ser feita de acordo com as duas figuras abaixo.

  • Enigmail:
    enigmail-generate.jpg

  • Enigmail:
    enigmail-passphrase.jpg

Se voc\xEA gerou suas chaves num outro programa ou j\xE1 possu\xEDa um par de chaves, basta ir no menu Acount Settings do Mozilla Mail e em seguida em OpenPGP Security e no campo Use specific PGP Key digite o ID da sua chave p\xFAblica j\xE1 existente.

Como verificar mensagens assinadas

  • Enigmail:
    sign.jpg

Enviando mensagens encriptadas

Para fazer isso \xE9 s\xF3 compor uma mensagem normalmente e envi\xE1-la apertando o bot\xE3o EnigSend.

Recebendo mensagens criptografadas

O Enigmail est\xE1 configurado para automaticamente decodificar mensagens que voc\xEA receber pelo Mozilla Mail.

Usando o KMail

  • KMail:
    kmail-menu.jpg

  • KMail:
    kmail-gpg.jpg

  • KMail:
    kmail-gpg2.jpg

  • KMail:
    kmail-gpg3.jpg

  • KMail:
    kmail-gpg4.jpg

Criptografia em listas de discuss\xE3o

Existem alguns softwares que j\xE1 permitem o uso de criptografia em pequenas listas de discuss\xE3o por email, funcionando da seguinte forma: a lista possui uma chave p\xFAblica e a chave p\xFAblica de todos os assinantes. Quando algu\xE9m quiser mandar uma mensagem criptografada para a lista, basta criptograf\xE1-la apenas para a chave p\xFAblica da lista que a lista ir\xE1 descriptograf\xE1-la, criptografar e enviar individualmente para cada assinante usando sua respectiva chave p\xFAblica.

Os seguintes softwares de lista de discuss\xE3o suportam criptografia padr\xE3o OpenPGP:

  • firma: \xE9 um programa pequeno e eficiente gerenciador de listas criptografadas; ele foi desenvolvido para ignorar mensagens enviadas \xE0 lista que n\xE3o estejam criptografadas e assinadas
  • mailman: o mailman \xE9 um software de listas que possui suporte parcial \xE0 criptografia atrav\xE9s dos patches (remendos) NAH6 e GPG-Mailman

Conex\xE3o segura: criptografia na rede

Vou repetir o que escrevi numa se\xE7\xE3o anterior: Uma vez que os pacotes de informa\xE7\xE3o s\xE3o transmitidas de servidor em servidor pela internet at\xE9 chegar no computador de destino, qualquer pessoa pode monitorar esses pacotes e obter seu conte\xFAdo. Utilizando a criptografia assegura que apenas o destinat\xE1rio comprender\xE1 o conte\xFAdo da mensagem.

Se voc\xEA estiver visitando um site e em algum momento precisar entrar com uma senha ou qualquer outra informa\xE7\xE3o a ser enviada via formul\xE1rio, terceiros podem interceptar essa informa\xE7\xE3o e se ela n\xE3o estiver criptografada, pode ser interpretada por qualquer um.

Para contornar esse problema foram criados diversos protocolos que utilizam criptografia pela internet em tempo real. Por exemplo, quando navegamos na Web nosso navegador utiliza o protocolo HTTP (HiperText Transfer Protocol - Protocolo de Transfer\xEAncia de Hipertexto), que n\xE3o suporta nenhum tipo de criptografia. J\xE1 o HTTPS (Secure HTTP - HTTP Seguro) foi feito para navegarmos na web de forma um pouco mais seguira. Vejamos como funciona:

Quando voc\xEA usa um nagevador web (Mozilla, por exemplo) e se conecta num site utilizando o protocolo de conex\xE3o segura (HTTPS), seu navegador e o servidor do site trocam automaticamente suas respectivas chaves p\xFAblicas e ent\xE3o \xE9 iniciada uma transmiss\xE3o de informa\xE7\xF5es criptografadas. ATEN\xC7\xC3O: seu navegador n\xE3o vai enviar ao servidor a chave p\xFAblica que voc\xEA criou, mas sim uma chave pr\xF3pria criada automaticamente pelo seu navegador de tal forma que voc\xEA n\xE3o precisa de nenhum programa adicional de criptografia (nem mesmo o GPG). Tudo isso \xE9 feito de forma praticamente transparente ao usu\xE1rio.

A pergunta natural \xE9: como podemos confiar que o site que estamos acessando realmente \xE9 o site que ele diz ser; em outras palavras, existe um jeito de confiarmos na chave p\xFAblica do site?

De uma forma parecida como quando trocamos a impress\xE3o digital de nossa chave p\xFAblica com a de outras pessoas, o site com conex\xE3o segura enviar\xE1 para o seu navegador um certificado de autenticidade, que \xE9 uma esp\xE9cie de assinatura da chave p\xFAblica do site emitida por uma autoridade certificadora. Uma autoridade certificadora \xE9 qualquer pessoa, organiza\xE7\xE3o ou empresa que "assine" certificado de autenticidade. A Autoridade Cerificadora (ou Certificate Authority) mais conhecida \xE9 a CAcert.org, uma organiza\xE7\xE3o sem fins lucrativos que valida tais certificados.

Tudo que o usu\xE1rio precisa fazer \xE9

  • Confiar na autoridade certificadora
  • Instalar o certificado da autoridade certificadora
  • Confiar que o certificado instalado \xE9 o certificado verdadeiro dessa autoridade, bastando para isso que voc\xEA verifique a impress\xE3o digital desse certificado.

Por exemplo, voc\xEA pode tentar baixar o arquivo http://www.cacert.org/cacert.crt, que cont\xE9m o certificado principal da Cacert.org. Na maioria dos navegadores, abrir\xE1 uma janela perguntando se voc\xEA aceita a Cacert como uma autoridade certificadora.

Cacert.org

Se voc\xEA tem d\xFAvidas para aceitar, veja os detalhes do certificado, conferindo se fingerprints do certificado corresponde \xE0queles que a autoridade certificadora divulga em seu site.

Cacert.org

O processo da conex\xE3o segura via web \xE9 o seguinte: suponha que voc\xEA esteja visitiando o site lists.indymedia.org. Se voc\xEA quiser fazer isso via conex\xE3o segura, voc\xEA digitar\xE1 https://lists.indymedia.org ao inv\xE9s de http://lists.indymedia.org (note a diferen\xE7a de https ao inv\xE9s de http).

Na primeira vez que voc\xEA acessar um site via conex\xE3o segura, caso voc\xEA n\xE3o tenha instalado o certificado da autoridade certificadora que validou o certificado desse site, seu navegador lhe informar\xE1 a respeito e perguntar\xE1 se voc\xEA quer mesmo assim aceitar o certificado desse site, conforme mostra a figura abaixo.

https.jpg

Agora voc\xEA tem tr\xEAs op\xE7\xF5es:

  • Confiar nesse certificado e clicar em Ok ou

  • Ir at\xE9 o site da Autoridade Certificadora que emitiu o certificado do site, instalar o certificado da autoridade e em seguida voltar para o site que voc\xEA estava tentando acessar via conex\xE3o segura ou ent\xE3o

  • Desistir de acessar o site smile

Se clicarmos em Examine certificate... (Examinar certificado...), aparecer\xE1 uma janela como mostra a figura abaixo. Nela, as impress\xF5es digitais do certificado do site http://lists.indymedia.org est\xE3o em SHA1 Fingerprint e MD5 Fingerprint. O campo Issued to (emitido para) informa para qual site e organiza\xE7\xE3o o certificado, enquanto que o campo Issued by (emitido por) diz qual foi a autoridade certificadora que emitiu esse certificado. O campo Validity (validade) mostra qual \xE9 o prazo de validade do certificado.

https2.jpg

Quando passa o prazo de validade, o certificado expira e o navegador n\xE3o mais o reconhecer\xE1 como v\xE1lido e ao acessar o site aparecer\xE1 uma janela mais ou menos como a abaixo, avisando que o certificado expirou e portando a conex\xE3o segura pode estar comprometida.

certificate.jpg

Da mesma forma como \xE9 poss\xEDvel navegar pela web com conex\xE3o segura, tamb\xE9m \xE9 poss\xEDvel utilizar outros servi\xE7os na internet, como ftp (transmiss\xE3o de arquivos) e irc (bate papo), de forma criptografada.

Criptografia como prote\xE7\xE3o de software

A criptografia permite que qualquer tipo de arquivo seja assinado. Se voc\xEA \xE9 desenvolvedor de algum software, \xE9 muito conveniente assinar os arquivos dos programas que voc\xEA escreve, pois assim voc\xEA garante aos usu\xE1rios que os programas que voc\xEA escreve est\xE3o livres de v\xEDrus ou rotinas que podem comprometer a privacidade e o sistema dos usu\xE1rios.

Tudo que o usu\xE1rio do precisa fazer \xE9, al\xE9m de baixar o c\xF3digo ou o seu programa j\xE1 pronto, baixar a chave p\xFAblica do programador e tamb\xE9m um arquivo contendo a assinatura do programa feita pelo programador e verific\xE1-la como se estivesse verificando a assinatura de um arquivo comum.

5. Criptografando seu disco r\xEDgido

Uma vez que o seu chaveiro fica armazenado no seu disco r\xEDgido, \xE9 poss\xEDvel que ele seja copiado por terceiros. Al\xE9m disso, voc\xEA pode querer que dados no seu disco sejam criptografados e descriptografados de forma transparente, isto \xE9, sem que voc\xEA perceba.

Atualmente existem v\xE1rias implementa\xE7\xF5es de criptografia em disco r\xEDgido, tanto em plataforma Linux quanto Windows. Futuras vers\xF5es deste manual conter\xE3o explica\xE7\xF5es mais detalhadas sobre cada uma delas. Por enquanto, fique com as seguintes refer\xEAncias:

No Linux

No GNU/Linux, existem as seguintes implementa\xE7\xF5es:

  • dm-crypt: a nova tecnologia de criptografia em discos do linux
  • loop-aes: uma alternativa \xE0s implementa\xE7\xF5es oficiais do linux
  • LUKS - Linux Unified Key Setup: um poss\xEDvel novo padr\xE3o para criptografia em disco no GNU/Linux; baseado na especifica\xE7\xE3o TKS1 e possui suporte ao dm-crypt.
  • eCryptfs: esquema bem pr\xE1tico de criptografia em disco, \xE9 o padr\xE3o mais recente desta lista.

Estas s\xE3o implementa\xE7\xF5es um pouco mais antigas, algumas j\xE1 em desuso ou com o desenvolvimento interrompido:

  • Phonebook: implementa\xE7\xE3o da chamada deniable encryption, que \xE9 a possibilidade do usu\xE1rio revelar apenas alguns peda\xE7os da informa\xE7\xE3o criptografada caso ele seja intimidado a faz\xEA-lo (por exemplo, no caso de tortura); isso \xE9 feito atrav\xE9s de um esquema de camadas, cada uma delas contendo seu pr\xF3prio conte\xFAdo criptografado.
  • cryptoloop: a tecnologia ainda em uso mas j\xE1 obsoleta
  • CryptoFS: utiliza o Linux Userland FileSystem para criptografia; um diret\xF3rio fica com os arquivos criptografados e o acesso aos dados \xE9 feito atrav\xE9s do ponto de montagem.
  • PPDD: cria um dispositivo que criptografa automaticamente os dados numa parti\xE7\xE3o, conceito semelhante ao dm-crypt, mas este caso n\xE3o utiliza o device-mapper.
  • CFS: sistema de arquivos criptografado que utiliza o NFS como interface.
  • EncFS: sistema de arquivos criptografado em n\xEDvel de usu\xE1rio, utilizando o FUSE.
  • TCFS: Transparent CFS (outra implementa\xE7\xE3o do CFS).
  • StegFS: um sistema de arquivos esteganogr\xE1fico.

Cada uma delas tem suas vantagens e desvantagens. Para o sistema ficar transparente, existe o pam_mount, que monta seu sistema de arquivos criptografado automaticamente ap\xF3s voc\xEA entrar com seu usu\xE1rio e desmonta logo que voc\xEA sai.

No Windows

No Windows, existe o TrueCrypt, um programa que permite voc\xEA criptografar arquivos comuns e discos inteiros e trat\xE1-los transparentemente como se fossem discos comuns.

Nota sobre Modo Texto e Modo Gr\xE1fico

Existem dois modos de intera\xE7\xE3o entre o usu\xE1rio e o computador, o modo texto e o modo gr\xE1fico. No modo texto o usu\xE1rio interage atrav\xE9s de comandos fornecidos via teclado, o mouse quase n\xE3o \xE9 usado e a tela do computador cont\xE9m apenas caracteres, sem a possibilidade de visualizar imagens.

J\xE1 o Modo Gr\xE1fico possibilita que grande parte da intera\xE7\xE3o do usu\xE1rio com o computador seja feita com mouse, via bot\xF5es e outros objetos.

O Modo Gr\xE1fico \xE9 muito mais intuitivo e simples de usar, por\xE9m no caso da criptografia os programas em modos gr\xE1fico tem muito menos recursos que o GPG no modo texto. Por isso, \xE9 interessante que o usu\xE1rio tenha no\xE7\xF5es tanto de usar o modo texto quanto o modo gr\xE1fico. Mas se voc\xEA estiver com pressa ou tem pregui\xE7a de aprender os maravilhosos comandos do modo texto (tamb\xE9m conhecido como console), leia ao menos as se\xE7\xF5es deste manual sobre programas no modo gr\xE1fico.

Resum\xE3o: tabela de consulta r\xE1pida

O GPG no modo texto apresenta muitos comandos e frequentemente nos esquecemos dos par\xE2metros e da ordem pela qual eles precisam ser passados ao programa.

  • Criar par de chaves: gpg --gen-key
  • Compartilhar chave p\xFAblica: gpg --export --armor -o chave.asc email@do.usuario
  • Enviar chaves a um servidor: gpg --keyserver servidor.de.chaves --send-keys nome-da-chave
  • Listar chaves do seu chaveiro: gpg --list-keys
  • Importar chaves: gpg --import nome-do-arquivo
  • Procurar chave num servidor: gpg --keyserver keys.indymedia.org --search-keys email-ou-nome
  • Receber chaves de um servidor: gpg --keyserver servidor.de.chaves --recv-keys id-da-chave
  • Assinar em texto simples: gpg --clearsign nome-de-arquivo (opcional)
  • Verificar assinatura: gpg --verify nome-do-arquivo
  • Criptografar mensagem: gpg -e -a -r nome-ou-mail
  • Criptografar em arquivo: gpg -r nome-ou-email -e -a nome-do-arquivo
  • Descriptografar: gpg -d nome-do-arquivo
  • Ver impress\xE3o digital: gpg --fingerprint nome-ou-email
  • Atualizar chaves p\xFAblicas de um servidor: gpg --refresh-keys --keyserver servidor-de-chaves

Refer\xEAncias

Esse Guia foi escrito para conter tudo o que uma pessoa precisa para usar a criptografia no dia-a-dia. Contudo, algumas coisas ficaram de fora ou pouco aprofundadas. Aqui encontram-se alguns guias com maior detalhamento.

  • Uma \xF3tima refer\xEAncia em portugu\xEAs para criptografia no Linux (Modo Texto apenas) encontra-se no Guia Foca Linux, de Gleydson Mazioli da Silva.

Do pr\xF3prio s\xEDtio do GNU Privacy Guard podemos destacar (muita coisa s\xF3 em ingl\xEAs):

  • GNU PG Mini-HOWTO, por Brenno J.S.A.A.F. de Winter, Michael Fischer v. Mollard e Arjen Baart.

Sobre este manual

Este manual foi escrito por Rhatto (rhatto[-@!]riseup.net) e \xE9 baseado numa pequena refer\xEAncia de como instalar o GPG por Pietro Bastardi (pietro[-@!]bastardi.net).

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.0 Brazil License.

Mais informa\xE7\xF5es

Se esse manual n\xE3o estiver esclarecedor e voc\xEA ainda tem d\xFAvidas ou dificuldades para instalar ou usar algum desses programas, n\xE3o hesite em enviar um email para o Coletivo T\xE9cnico do CMI: cmi-brasil-tech@lists.indymedia.org

Que a for\xE7a esteja com voc\xEA!

-- PietroFerrari - 04 Sep 2002
-- LuiS - 02 Apr 2004 (Pequenas corre\xE7\xF5es ortogr\xE1ficas)
-- SilvioRhatto - 12 Nov 2006

Topic attachments
I Attachment ActionSorted ascending Size Date Who Comment
cacert.jpgjpg cacert.jpg manage 20 K 19 Jul 2004 - 05:50 UnknownUser Cacert.org
cacert2.jpgjpg cacert2.jpg manage 29 K 19 Jul 2004 - 05:52 UnknownUser Cacert.org
certificate.jpgjpg certificate.jpg manage 15 K 31 Mar 2004 - 01:38 UnknownUser  
enigmail-generate.jpgjpg enigmail-generate.jpg manage 40 K 27 Feb 2004 - 00:58 UnknownUser Enigmail
enigmail-generate2.jpgjpg enigmail-generate2.jpg manage 9 K 27 Feb 2004 - 00:59 UnknownUser Enigmail
enigmail-menu.jpgjpg enigmail-menu.jpg manage 14 K 27 Feb 2004 - 00:54 UnknownUser Enigmail
enigmail-options.jpgjpg enigmail-options.jpg manage 49 K 27 Feb 2004 - 00:55 UnknownUser Enigmail
enigmail-passphrase.jpgjpg enigmail-passphrase.jpg manage 8 K 27 Feb 2004 - 01:00 UnknownUser Enigmail
evolution-config.jpgjpg evolution-config.jpg manage 20 K 27 Feb 2004 - 00:52 UnknownUser Criptografia no Evolution
evolution-gpg.jpgjpg evolution-gpg.jpg manage 28 K 27 Feb 2004 - 00:53 UnknownUser Criptografia no Evolution
evolution-menu.jpgjpg evolution-menu.jpg manage 11 K 27 Feb 2004 - 00:51 UnknownUser Criptografia no Evolution
gpa1.jpgjpg gpa1.jpg manage 60 K 23 Feb 2004 - 19:18 UnknownUser GNU Privacy Assistant
gpa10.jpgjpg gpa10.jpg manage 62 K 23 Feb 2004 - 19:23 UnknownUser GNU Privacy Assistant
gpa11.jpgjpg gpa11.jpg manage 8 K 23 Feb 2004 - 19:25 UnknownUser GNU Privacy Assistant
gpa12.jpgjpg gpa12.jpg manage 22 K 23 Feb 2004 - 19:26 UnknownUser GNU Privacy Assistant
gpa13.jpgjpg gpa13.jpg manage 26 K 23 Feb 2004 - 19:26 UnknownUser GNU Privacy Assistant
gpa14.jpgjpg gpa14.jpg manage 19 K 23 Feb 2004 - 20:15 UnknownUser GNU Privacy Assistant
gpa15.jpgjpg gpa15.jpg manage 11 K 23 Feb 2004 - 20:16 UnknownUser GNU Privacy Assistant
gpa16.jpgjpg gpa16.jpg manage 55 K 23 Feb 2004 - 20:17 UnknownUser GNU Privacy Assistant
gpa17.jpgjpg gpa17.jpg manage 55 K 23 Feb 2004 - 20:18 UnknownUser GNU Privacy Assistant
gpa18.jpgjpg gpa18.jpg manage 16 K 23 Feb 2004 - 20:20 UnknownUser GNU Privacy Assistant
gpa19.jpgjpg gpa19.jpg manage 9 K 23 Feb 2004 - 20:20 UnknownUser GNU Privacy Assistant
gpa2.jpgjpg gpa2.jpg manage 9 K 23 Feb 2004 - 19:18 UnknownUser GNU Privacy Assistant
gpa20.jpgjpg gpa20.jpg manage 16 K 23 Feb 2004 - 20:21 UnknownUser GNU Privacy Assistant
gpa21.jpgjpg gpa21.jpg manage 18 K 23 Feb 2004 - 20:22 UnknownUser GNU Privacy Assistant
gpa22.jpgjpg gpa22.jpg manage 19 K 23 Feb 2004 - 20:23 UnknownUser GNU Privacy Assistant
gpa23.jpgjpg gpa23.jpg manage 19 K 23 Feb 2004 - 20:24 UnknownUser GNU Privacy Assistant
gpa24.jpgjpg gpa24.jpg manage 12 K 23 Feb 2004 - 20:25 UnknownUser GNU Privacy Assistant
gpa25.jpgjpg gpa25.jpg manage 26 K 23 Feb 2004 - 20:25 UnknownUser GNU Privacy Assistant
gpa3.jpgjpg gpa3.jpg manage 20 K 23 Feb 2004 - 19:19 UnknownUser GNU Privacy Assistant
gpa4.jpgjpg gpa4.jpg manage 23 K 23 Feb 2004 - 19:20 UnknownUser GNU Privacy Assistant
gpa5.jpgjpg gpa5.jpg manage 24 K 23 Feb 2004 - 19:20 UnknownUser GNU Privacy Assistant
gpa6.jpgjpg gpa6.jpg manage 19 K 23 Feb 2004 - 19:21 UnknownUser GNU Privacy Assistant
gpa7.jpgjpg gpa7.jpg manage 11 K 23 Feb 2004 - 19:22 UnknownUser GNU Privacy Assistant
gpa8.jpgjpg gpa8.jpg manage 22 K 23 Feb 2004 - 19:22 UnknownUser GNU Privacy Assistant
gpa9.jpgjpg gpa9.jpg manage 53 K 23 Feb 2004 - 19:24 UnknownUser GNU Privacy Assistant
https.jpgjpg https.jpg manage 49 K 23 Feb 2004 - 17:36 UnknownUser Certificado para http seguro
https2.jpgjpg https2.jpg manage 30 K 27 Feb 2004 - 03:23 UnknownUser Certificado para http seguro
kmail-gpg.jpgjpg kmail-gpg.jpg manage 42 K 27 Feb 2004 - 01:10 UnknownUser KMail
kmail-gpg2.jpgjpg kmail-gpg2.jpg manage 16 K 27 Feb 2004 - 01:11 UnknownUser KMail
kmail-gpg3.jpgjpg kmail-gpg3.jpg manage 22 K 27 Feb 2004 - 01:12 UnknownUser KMail
kmail-gpg4.jpgjpg kmail-gpg4.jpg manage 12 K 27 Feb 2004 - 01:13 UnknownUser KMail
kmail-menu.jpgjpg kmail-menu.jpg manage 10 K 27 Feb 2004 - 01:09 UnknownUser KMail
sign.jpgjpg sign.jpg manage 3 K 27 Feb 2004 - 01:09 UnknownUser Enigmail
thunderbird-extensions.jpgjpg thunderbird-extensions.jpg manage 28 K 27 Feb 2004 - 00:57 UnknownUser Enigmail
Topic revision: r94 - 13 Sep 2007, AlsteR
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback