DevSecOps

5 dez, 2011

Trabalhando com PGP e Mac OS X – Parte 02

Publicidade

Esta é a segunda e última parte do artigo sobre PGP e Mac OS X, na qual será abordada como gerenciar as chaves, a importação e a verificação de chaves públicas e como codificar e decodificar mensagens. A primeira parte você lê aqui.

?

Administrando suas chaves

Agora que você tem um par de chaves, o próximo passo é administrar suas chaves adequadamente. Você faz isso compartilhando sua chave pública com outros e preservando sua chave privada com segurança.

1. Crie um diretório em sua home chamado keymat, de forma que você tenha um local para trabalhar neste artigo. 

$ cd
$ mkdir keymat
$ cd keymat

2. Exporte sua chave pública como um arquivo ASCII encriptado (substituindo name@domain.com pelo endereço de e-mail da sua chave).

$ gpg -ao publickey.asc --export name@domain.com

O que é ASCII encriptado?

ASCII encriptado é um termo usado em PGP para codificar dados binários em texto. Embora essa “armadura”  não torne seus dados mais seguros contra ataques de força bruta, ela protege seus dados quando enviados através de uma série de caminhos de comunicação.

Por exemplo, se você desejar mandar sua chave pública através de e-mail, servidores de e-mail e filtros de spam podem não ser capazes de processar sua chave em formato binário e também de descartá-la. Com o ASCII encriptado, contudo, ela é tratada como um texto normal, e poderá sobreviver em sua batalha na internet.

O PGP pode codificar qualquer arquivo criptografado com o ASCII encriptado, o que mantém suas opções de transmissão abertas. 

Aprenda mais sobre ASCII armor aqui.

3. Depois de uma curta espera, você deve ter um arquivo publickey.asc em seu diretório keymat. Dê uma olhada nele. 

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.8 (Darwin)

mQGiBEe0cB0RBADScWGLrplJfLUrPBFNrBUqr8nh8AvTRcFaMt5ODK7c5G9JqNZd
oDSI9WcbDVl26bleda7p0ZGTraY8Dhg58JQa140Rjfq2dMNq9/Dlayl5WHEWhX2L
WhXz6HewOiI6T1ikDj9NBjLN72QYL/W57Zrf65IMvJxSjQEyu1BGPmbzfwCgkEC6
LWygY2KDliAwKQB7klj26VsEAMTdGqr1ObGwx4mu3t9Jej0+vcLBvNfKgoSB/Ewx
fShUNXkvxHk6yleaLKe8TlPERfhkxCj8A32AN+TJbjcwgka0gOXwCP0e2N8+niRK
RXkcooWRn7OOJ7Evw7dgQ722TCXJ+YsJya7mJ0oi61zsbQojrNk+7Y5P+jddm3tm
RHgLA/0TY4bLMK3p83As/mF3SSp8gsFTnf9QO2tsVVHrNDUpmNm3AcpLNyO5z8AX
C2vpuPlAjgQNLvOxCjZ2mSRq8329bnmMkoAs8u2rrBi0fVJ2FvvxLiA5CgqF2rWA
FKkWa2MZUUwOvlXzGzHSCJsIRYgRlMuPH6t8D7U1+sVrHfs9S7Q4Rmlyc3QgYW5k
IExhc3QgTmFtZSAoTWFjIEdQRyBUdXRvcmlhbCkgPG5hbWVAZG9tYWluLmNvbT6I
YAQTEQIAIAUCR7RwHQIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEBIKKIGn
MnwO+dYAnierWBzFSDIzHAH9umnSf8sUXTeSAKCMhf0eN9uSblNdgHwt3BvQVO7J
kLkCDQRHtHAdEAgA/x8rqhTDqSOCl+csy6zHDQoxjmC3mOoBhvMik+ZB96qS20pC
U0eV6QYgoPhZ/wkPsXFO9EHJrrJsfLnzRxH7ylw0TmMHnVrN3GFRdhuRhYyO8sKp
N9eKyWQpFtOry3JXYNpsFcUqOfutZ3v5xcUJ+r2cE11/VMmQykFiKyy/dAlD2nqs
hRhubN5xIE0Gu/0VZw4LQDO9jYZSEoX4QkntL8h2U85M1lmuWszUsvK5SV/OH57X
hQYD4syR/QogIVNHHhS4/qFFnhX7oXggD73kbF+YRwgqvhbNyhsjQ7o0Rhyfq+XH
k8/22/NDOx6YD3KmBKBulldv5gf/oALFBcnVXwADBwf9GlNviLWXmsVV5fpvqsuT
gsX6vvdNpTGIksCviyptjT/Pf8ZS4u7pQuQ37sJ9LHQ1ld2tloAYf1meee+bZzTO
zX4+4iohUxvGdGn+pBSDSS2Cs9cztl/gyz4rPga9g//Z2O0F8+1kP1RUBaFRL4lm
avowgb9bzsWaax+tLzB2QwFgk0Phe5lULIKDpBOVk2OQB2L3MeRZoykN4W/IKaYP
/c4kYN6IGVBrgdGE7nnO/ZCyvqNQq6ClIvWtrJdwiOEZTGXka06LW3+O3DHNOsjC
uZAtMUx+pzkU0rNg+x0wPXYJOuN7Y3QuxD3gKrtPI2W7Ho13iVXuXlYfhZlaZotu
bIhJBBgRAgAJBQJHtHAdAhsMAAoJEBIKKIGnMnwOtacAnjYM5hAl6Zcn359Jy7RE
Apx7kRj2AJ9AmMJBTDFUTj6y8HDMzwtmz3Aaug==
=pyBn
-----END PGP PUBLIC KEY BLOCK-----

4. Aí está sua chave pública. Agora você pode colocá-la em seu website, dá-la para seus amigos, mandar por e-mail para seus colegas de trabalho, imprimi-la e colocar na sua porta da frente. Isso é o que as pessoas precisam para se comunicarem com você de forma segura.

5. Em seguida, mande sua chave pública para um servidor de chaves, de forma que pessoas interessadas em contatar você possam facilmente fazê-lo de forma segura. Para isso, você precisará do ID de sua chave (substituindo A7327C0E pela ID de sua chave).

$ gpg --send-keys A7327C0E
gpg: sending key A7327C0E to hkp server subkeys.pgp.net

6. Uma vez que sua chave seja disseminada por uma série de servidores de chaves PGP, qualquer pessoa pode ir a um website key lookup, digitar as informações da chave (ID da chave, nome do titular ou endereço de e-mail), e obtê-la. Dois exemplos de websites key lookup são keyserver.pgp.com e pgp.mit.edu. Dê uma olhada neles de veja se alguém que você conhece tem uma chave pública disponível

Como os servidores de chaves funcionam?

Há muitos servidores PGP em todo o mundo, mas você só precisa mandar sua chave pública para um deles, sendo que o padrão para GPG é subkeys.pgp.net. Depois que um dos servidores de chaves receber sua chave, ele deve propagá-la para muitos outros servidores, inclusive para alguns com websites key lookup.

Aprenda mais sobre servidores de chaves aqui.

7. Uma vez que sua chave seja propagada por vários servidores de chaves, você somente poderá desabilitá-la com a geração e com o upload de um certificado revogatório. Isso é muito útil, caso sua chave privada fique comprometida. Porém, há uma pegadinha. Se você quiser revogar sua chave por ter esquecido sua passphrase, você precisará gerar um certificado de revogação. Para fazer isso, você precisará de sua passphrase. Assim, uma boa prática é você preventivamente gerar um certificado revogatório, para o caso de essa situação acontecer. Faça isso agora (substituindo A7327C0E pela ID de sua chave).

$ gpg -ao revokecert.asc --gen-revoke A7327C0E

sec 1024D/A7327C0E 2008-02-14 First and Last Name (Mac GPG Tutorial) <name@domain.com>
Create a revocation certificate for this key? (y/N) y
Please select the reason for the revocation:
0 = No reason specified
1 = Key has been compromised
2 = Key is superseded
3 = Key is no longer used
Q = Cancel
(Probably you want to select 1 here)

8. O GPG perguntará a razão de gerar um certificado revogatório, uma vez que sua chave não está comprometida, não foi substituída, e ainda está em uso – não especifique uma razão digitando “0” e pressionando enter. 

Your decision? 0

9. A seguir, informe por que você está fazendo o certificado revogatório. Eu seria honesto quanto a isso. 

Enter an optional description; end it with an empty line:
> In case I forget my passphrase.
>

10. O GPG então reapresentará a razão de sua revogatória e perguntará se você tem certeza. Digite “y” e pressione enter. Você então será a solicitado a fornecer sua passphrase. Digite-a e pressione enter.

Reason for revocation: No reason specified
In case I forget my passphrase.
Is this okay? (y/N) y

You need a passphrase to unlock the secret key for
user: "First and Last Name (Mac GPG Tutorial) <name@domain.com>"
1024-bit DSA key, ID A7327C0E, created 2008-02-14

Revocation certificate created.

Please move it to a medium which you can hide away; if Mallory gets
access to this certificate he can use it to make your key unusable.
It is smart to print this certificate and store it away, just in case
your media become unreadable. But have some caution: The print system of
your machine might store the data and make it available to others!

11. Depois de uma curta espera, você deve um arquivo revokecert.asc na sua pasta keymat. Dê uma olhada nela.

$cat revokecert.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.8 (Darwin)
Comment: A revocation certificate should follow

baKlTel7dNK/vvVkuLgWbRNE8vaikEbTdmPSYdpc9q828O3w51dDCjTQhHPh5JpX
yo7oxpJMANs/TdLzOtfcSdD9KgbTW7cdky7Htd9IbQnCAUoC1axK/GJpyMY89A5e
LTMjufSJESOxdQ==
=b08k
-----END PGP PUBLIC KEY BLOCK-----

12. Agora você tem sua chave pública disponível para outros e o certificado revogatório em seu computador. O próximo passo é fazer um backup da sua chave privada. Isto é muito importante, porque se você perder sua chave privada você será incapaz de recuperar qualquer informação criptografada por ela. Por segurança, também criptografe simetricamente o backup de sua chave privada com uma passphrase e então a transforme em um arquivo ASCII encriptado (substituindo A7327C0E pela ID de sua chave).

gpg -a --export-secret-keys A7327C0E | gpg -aco privatekey.pgp.asc

13. Depois de entrar com sua passphrase duas vezes, você terá agora um arquivo privatekey.pgp.asc em sua pasta keymat. Dê uma olhada nele.  

$ cat privatekey.pgp.asc 
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.8 (Darwin)

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
=tKwz
-----END PGP MESSAGE-----

14. Agora, sua chave privada tem um backup como um arquivo criptografado, a sua chave pública está disponível para outros, e você tem um plano de emergência para o caso de esquecer sua passphrase. É tempo de salvar esses três arquivos (publickey.asc, privatekey.pgp.asc e revokecert.asc) em um local seguro. O que eu faço é gravá-los em um CD, imprimi-los em papel e guardá-los em um cofre em minha casa. Depois que esses três arquivos estiverem em backup, você deve destruir o backup da chave privada e o certificado revogatório que estão em seu computador. (Eu recomendo a ferramenta Mac OS X Secure Empty Trash).

Importando e verificando chaves públicas

A sua chave pública agora está disponível na internet, e pessoas interessadas em enviar uma mensagem criptografafa para você têm fácil de acesso a ela. O próximo passo é passar pelo processo de importação de uma chave pública e verificar sua autenticidade.

O PGP também oferece uma forma fácil de verificação de chaves públicas, já que todos têm uma impressão digital de 40 caracteres. Uma vez que uma impressão digital é muito menor que uma chave pública em ASCII encriptado, e tem somente 16 caracteres possíveis em vez de 64, ela é muito mais fácil de memorizar e de confirmar em uma comunicação por voz. Vejamos como funciona.

1. Uma vez que você tenha feito o download de uma chave pública de amigo, você poderá adicioná-la ao seu conjunto de chaves, fazendo o seguinte:

$ gpg --import publickey.asc
gpg: key A7327C0E: "First and Last Name (Mac GPG Tutorial) <name@domain.com>"
gpg: Total number processed: 1
gpg: imported: 1

NOTA: A importação de sua própria chave pública não é necessária. Contudo faremos isso neste artigo de forma que você possa seguir os passos e ficar familiarizado com o processo. 

2. A importação do arquivo é uma forma de colocar uma chave pública em seu conjunto de chaves, porém há uma forma mais fácil. Você já disponibilizou sua chave em um servidor público, de forma que outros possam ter acesso a ela. Agora, tente obter a chave usada neste artigo procurando por ela. Neste artigo, você usará a identidade única da chave, no entanto a entrada de um nome ou de um endereço de e-mail fará o servidor executar uma busca e retornar quaisquer resultados relevantes.

$ gpg --search-keys A7327C0E
gpg: searching for "A7327C0E" from hkp server subkeys.pgp.net
(1) First and Last Name (Mac GPG Tutorial) <name@domain.com>
1024 bit DSA key A7327C0E, created: 2008-02-14
Enter number(s), N)ext, or Q)uit >

3. Aí está. Você pode digitar “1” e pressionar enter. Anote também o ID da chave (A7327C0E), já que você vai precisar dela em breve. 

gpg: requesting key A7327C0E from hkp server subkeys.pgp.net
gpg: key A7327C0E: "First and Last Name (Mac GPG Tutorial) <name@domain.com>"
gpg: Total number processed: 1
gpg: imported: 1

4. Você agora sabe como importar chaves de arquivos e servidores de chave. A seguir, você gerará e usará a impressão digital da chave para verificá-la com seu dono, através de um canal diferente. Tente, verificando a chave tutorial do Mac GPG Tutorial através de sua impressão digital. 

$ gpg --fingerprint A7327C0E
pub 1024D/A7327C0E 2008-02-14
Key fingerprint = 2291 60E9 A962 5C22 6E4F 1F20 120A 2881 A732 7C0E
uid First and Last Name (Mac GPG Tutorial) <name@domain.com>
sub 2048g/60ED8082 2008-02-14

Como são criadas as impressões digitais PGP

Impressões digitais são criadas aplicando um processamento em sua chave pública com SHA1 (Secure Hashing Algorithm 1), um algoritmo de processamento similar ao algoritmo MD5 sobre o qual falamos antes. Embora um processamento SHA1 de sua chave pública não seja nada próximo de ser único como é a sua chave pública, a matemática está do seu lado em termos de ser única para qualquer impressão digital que um falsificador possa criar através do PGP.

Aprenda mais sobre SHA aqui.

5. O GPG faz tudo ficar fácil ao adicionar um espaço a cada quatro caracteres e um espaço duplo no meio da string. Se a impressão digital para a chave combina com a que seu colega ou amigo está dizendo, então ela deve ser legítima. Para a chave Mac GPG Tutorial, cheque a impressão digital como mostrada no exemplo acima e, se combinar, sinta-se livre para assiná-la.

$ gpg --sign-key A7327C0E

pub 1024D/A7327C0E created: 2008-02-14 expires: never usage: SC
sub 2048g/60ED8082 created: 2008-02-14 expires: never usage: E
(1). First and Last Name (Mac GPG Tutorial) <name@domain.com>

pub 1024D/A7327C0E created: 2008-02-14 expires: never usage: SC
Primary key fingerprint: 2291 60E9 A962 5C22 6E4F 1F20 120A 2881 A732 7C0E

First and Last Name (Mac GPG Tutorial) <name@domain.com>

Are you sure that you want to sign this key with your
key "First and Last Name (Mac GPG Tutorial) <name@domain.com>" (A7327C0E)

Really sign? (y/N)

6. O GPG então perguntará se você tem certeza, e nesse caso pressione “y” e pressione enter. Verifique então sua passphrase para validar essa chave. A razão pela qual você precisa de sua passphrase é porque seu arquivo ~/.gnupg/trustdb também está criptografado para assegurar que usuários maliciosos não obtenham níveis de credibilidade de chaves em seu nome. Entre com sua passphrase e pressione enter. 

You need a passphrase to unlock the secret key for
user: "First and Last Name (Mac GPG Tutorial) <name@domain.com>"
1024-bit DSA key, ID A7327C0E, created 2008-02-13

7. Agora você tem uma chave pública assinada em seu conjunto de chaves. Assinar chaves que você confia é uma boa prática, uma vez que qualquer pessoa pode importar chaves para seu “chaveiro”, mas só você pode validá-las. Tenha muito cuidado ao usar qualquer chave pública que você não tenha validado, e tente sempre verificar quaisquer novas chaves com seus proprietários, através do uso da impressão digital.

Criptografando e decodificando mensagens

Agora que você está familiarizado com o GPG, podemos começar a usá-lo para criptografar e para decodificar mensagens. De forma a manter simples esta parte do artigo, você somente trocará informações com você mesmo. Uma vez que você se sinta confortável, poderá então começar a enviar mensagens criptografadas para qualquer outro usuário de PGP. 

1. Faça um diretório novo em sua home chamado crypto, de forma a ter um local para trabalhar neste artigo.

cd
mkdir crypto
cd crypto

2. Faça um novo arquivo de texto usando seu editor de textos favorito, digite uma mensagem e salve-a em seu diretório cripto como plain.txt. Eu escrevi o seguinte:

This is my secret message to myself.

3. Agora, criptografe esse arquivo com sua chave pública e valide-a com sua chave privada.  Isso assegurará que você estará enviando o arquivo para você mesmo e também que ele terá vindo de você mesmo. Você também fará o output do texto cifrado com ASCII armor no cipher.asc. Uma vez que você está usando a sua chave privada para assinar digitalmente essa mensagem, a sua passphrase será solicitada. Digite-a e pressione enter (substituindo name@domain.com com o endereço de e-mail de sua chave).

$ gpg -ao cipher.asc -esr name@domain.com plain.txt 

You need a passphrase to unlock the secret key for
user: "First and Last Name (Mac GPG Tutorial) <name@domain.com>"
1024-bit DSA key, ID A7327C0E, created 2008-02-13

DSA para autenticar e Elgamel para criptografar

Quando você gerou seu par de chaves, você percebeu que na verdade duas chaves foram criadas, uma DSA com 1024 bit e uma subchave Elgamel com 2048 bit. Como você está criptografando e validando sua mensagem, o GPG usará sua chave privada DSA para assinar a mensagem e sua subchave pública Elgamel para criptografá-la. Quando você decodificar essa mensagem, o processo é revertido com o uso de sua subchave privada Elgamel para decodificação, e a chave pública DAS para autenticação. Atualmente, todas as implementações PGP compatíveis com o padrão OpenPGP (como o GPG) usam esses dois algoritmos criptográficos.

4. Depois de uma curta espera, você deve ter um arquivo cipher.asc em seu diretório crypto. Dê uma olhada.

$ cat cipher.asc
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.4.8 (Darwin)

hQIOAwqfNQVg7YCCEAgAr8xgbfhektMMwlnT4OaHHQxvNnn+2q6jxQDGLEDTcNxu
A9uiNyMs0UzRjRRbYUyRucaBjnZGPZiv1qtaqWaDv4Aw3M9SWSnV17K7GqDpUq+6
7SmoO+4wUyLFvYo/5dWgUhU1OE4IVGF7A0dWVSYScHuO0tH+KbdpV+fCCOZ5dY0M
MNgAaLt3Llv3P9uJOweVYJD/+++BdMUBrvPpURHmQPj1sVyo+994O9LBnW7jxuOQ
oNhNJY+vJZ/ZBkdwr/uUTtzrjQgvGz8bLJjCKZRbDsMKS9KQHJvkYN5b2tUidufL
GOJ3f1/TQDtJVtwObmLV4rf5N08jdpd3dn2rk1H9Sgf+LpHJMew1U+cw0bg7zBe5
ow28Hzh1caJqqs1pACC9HpecSCRcSKvsYbEWH7vN4/psOH/2Kegm69BKnPsqMJr/
29r+wk+X/PLB6HdfYhGge09Ss+Ks1HJ1Jay+GDek5aHXXiZjtbgBrEF+aKf3K2lG
eOlks19s3C1MiDRzC1vsIDx8eD3q6IBuWQvqWylDmtgs73/AGLSKiOva/8WNdfJ+
pPgiUcjZXwEl5Cl3mOzkdobVOkvOwuheBoRUyb6lP8IHafbX5I5Kqjkk20SjIqRL
tbcghyVIa9Q0RYgzSI0c2Al/prA+83hJM//Jw4RFS8XawPBQK4xg2VUgfVVAdpDz
ZNJlAYpVQ9c7G66OVLbIEa/5/aeMw5mOqc6yANQNp3T1x36mJ3oH8T+2N4d6Qnn1
eVbi59V/ohmztX7/c79SApnHGojRFh8UlBX2ZRt2QS/96Q2AvvUHx7PkMfIS+kwT
Z+9UgxOZbr0=
=u09w
-----END PGP MESSAGE-----

5. Agora você tem uma mensagem criptografada que você pode mandar secretamente para, bem, você mesmo. Vamos decodificá-la em um arquivo chamado decrypted_plain.txt e ver o que obtemos. Você precisará digitar sua passphrase para isso também, uma vez que você está usando sua chave privada para decodificar cipher.asc.

$ gpg -o decrypted_plain.txt -d cipher.asc 

You need a passphrase to unlock the secret key for
user: "First and Last Name (Mac GPG Tutorial) <name@domain.com>"
2048-bit ELG-E key, ID 60ED8082, created 2008-02-14 (main key ID A7327C0E)

gpg: encrypted with 2048-bit ELG-E key, ID 60ED8082, created 2008-02-14
"First and Last Name (Mac GPG Tutorial) <name@domain.com>"
File `decrypted_plain.txt' exists. Overwrite? (y/N) y
gpg: Signature made Fri Feb 15 13:07:19 2008 EST using DSA key ID A7327C0E
gpg: Good signature from "First and Last Name (Mac GPG Tutorial) <name@domain.com>"

6. O GPG agora decodificará o arquivo e também permitirá que você saiba que a assinatura é válida. Agora, dê uma olhada em seu arquivo decrypted_plain.txt e veja se tudo correu bem.

$ cat decrypted_plain.txt
This is my secret message to myself.

7. Fantástico, você enviou sua primeira mensagem segura para você mesmo. E isso é tudo.

O que mais eu posso criptografar e decodificar?

Você pode usar o GPG para coisas além de criptografar mensagens curtas. Arquivos binários, códigos-fonte, documentos do Word, fotos, vídeos, tudo pode ser criptografado para se manter longe de olhos curiosos. O formato que você escolhe para o output depende de como você deseja enviar a informação. Uma boa regra é fazer o output criptografado em texto (o que inclui códigos-fonte e markups como  HTML) com ASCII armor, e fazer o output de binários criptografados como binário (fazer isso deixando de usar a opção -a). Contudo, se você desejar enviar uma foto para alguém via e-mail ou algum outro sistema de mensagens, (mesmo para imprimir e enviar pelo correio) então o melhor output será com o uso do ASCII armor.

Tenha em mente que você pode criptografar diretórios inteiros também. Tudo que você tem a fazer um zip ou um tar no diretório e criptografar o arquivo. Isso é especialmente conveniente se você deseja fazer backup de documentos sensíveis, da mesma forma que você pode criptografar o arquivo de sua chave pública e guardá-lo sem preocupação em qualquer lugar (mesmo no Gmail ou Amazon S3).

Conclusão

Você viu bastante informação neste artigo. Contudo, você deve ter agora uma fundamentação muito boa sobre como criptografar trabalhos, e algumas das melhores práticas de como usar isso. A melhor forma de incorporar criptografia em sua vida é adquirindo o hábito de usá-la. Assim, estimule sua família, amigos e colegas a se familiarizarem também com o PGP. Com o tempo, codificar suas informações será tão natural quanto rodar a correção ortográfica antes de enviar um e-mail.

?
Texto original disponível em http://www.robertsosinski.com/2008/02/18/working-with-pgp-and-mac-os-x/.