O correo electrónico é inseguro por defecto. Dende o seu primeiro deseño nos 60, a seguridade non era un tema moi importante. Aínda que a día de hoxe inclúe algúns mecanismos de seguridade, non incorpora unha solución de cifrado de extremo a extremo. Nesta entrada vou explicar que é PGP e como podes usalo.

Non está mal: Pretty Good Privacy

Nos 90 un tipo chamado Phil Zimmermann desenvolve unha ferramenta para o cifrado de correo electrónico. Este software chamouse Pretty Good Privacy (PGP), (“privacidade bastante boa” en inglés), e pronto se converteu na utilidade máis usada para protexer a confidencialidade do correo electrónico.

Hoxe en día, OpenPGP é un estándar proposto da IETF (verRFC 4880)) e existen moitas implementacións deste para a protección do correo electrónico, dispoñibles para os Sistemas Operativos máis usados, incluíndo Linux, Windows e MacOS. Podes comprobar no sitio web de OpenPGP o software dispoñible.

Criptografía asimétrica

Non entrarei en moito detalle sobre a criptografía asimétrica aquí. Porén, é moi útil para comprender a idea principal que hai detrás a seguridade de PGP. Para isto, vou facer unha pequena analoxía para os usuarios non técnicos:

Correo ordinario

Imaxe: O correo ordinario tamén é inseguro.

Imaxina que vas enviarme un correo para que sexa o único que pode lelo. Podes pensar que é unha boa idea primeiro pactar comigo un contrasinal, para que despois poidas cifrar o teu texto e enviarme este contido. Ben, en realidade non é unha mala idea, pero o problema é: como podemos pactar o contrasinal?

Se me envías primeiro o contrasinal noutro correo, calquera podería roubalo e utilizalo para descifrar a seguinte mensaxe, polo que precisamos unha forma para pactar este contrasinal. Aquí é onde a criptografía asimétrica entra en xogo:

  • Eu teño un par de claves: unha clave pública (que podo darlle a calquera) e unha clave privada (que teño no meu PC).
  • Ti usas a miña clave pública para cifrar a mensaxe.
  • Cun pouco de maxia de criptografía asimétrica, uso a miña clave privada para descifrar a mensaxe.

A seguridade aquí baséase no feito de que ninguén pode descifrar o mensaxe sen a clave privada.

Web of Trust

Vale, teño unha clave pública nalgún sitio e tes que fiarte de que ninguén se fixo pasar por min e puxo a súa clave pública aí no lugar da miña.

“Imaxina” que teño a miña clave pública no meu sitio web https://martinord.eu/gpg. Alguén podería interceptar as comunicacións ou hackear o meu sitio web para sustituír este arquivo coa súa clave pública. Despois, se ti usas esa clave pública para cifrar o mensaxe que me envías, un atacante podería ver estes contidos e re-enviarmos a min. Isto é o coñecido ataque Man-in-the-Middle (MitM).

Web of Trust diagrama

Imaxe: Web of Trust (src: wikipedia.org).

Para evitar isto, inventouse o Web of Trust (WOT). A idea principal é proporcionar un xeito descentralizado de confirar nas claves públicas doutras persoas, sen requirir unha Autoridade Certificadora (CA) coma noutros protocolos como TLS.

Como funciona? Ben, basicamente a xente pode asinar as claves públicas doutra xente para que, se podes confiar 100% na clave de Xoán, entón automaticamente vaste fiar un pouco máis nas claves públicas que foron asinadas coa clave pública de Xoán.

Mans á obra: cifra e asina as túas mensaxes

Ata agora todo ben, non? Ben, vexamos un exemplo de como enviar e recibir mensaxes cifradas con OpenPGP e Thunderbird. Isto é compatible con Windows, Linux e MacOS, e non require de moita configuración nen coñecemento técnico.

Thunderbird 78

Thunderbird é un cliente de correo electrónico que podes instalar no teu ordenador. Basicamente, é un programa que che permite enviar correos con (probablemente) calquera conta que teñas, incluíndo Gmail e Outlook.

A nova versión de Thunderbird inclúe unha funcionalidade para usar OpenPGP co teu correo: https://www.thunderbird.net/en-US/download/.

Neste artigo non vou explicar como configurar a túa conta de correo en Thunderbird, pero debería ser pan comido! Despois disto, podes usar a configuración de Cifrado extremo a extremo clicando na túa conta:

O teu par de claves

Unha vez tes a conta lista, podes xerar o teu par de claves:

  • Unha clave privada para que poidas descifrar as mensaxes que che envían.
  • Unha clave pública para que a xente poida cifrar as mensaxes antes de enviarchas.

Este par de claves pode ser xerado con OpenPGP e despois importarse, ou podes xeralo directamente en Thunderbird:

Recorda que tamén pode especificar unha data de caducidade, para que non sexa válido despois deste período. Neste caso, escollín 2 anos para a clave ECC de 4096 bits.

Agora é momento de comunicarse con seguridade!

Agora que tes o teu par de claves, vas intentar enviar unha mensaxe cifrada a alguén. Por exemplo, podes enviarme a min un correo! A miña clave pública tamén pode atoparse nun servidor de claves, así que podes importala directamente dende o Xestor de claves OpenPGP, na lapela KeyServer.

Cando escribas unha nova mensaxe, podes ver as opcións de Seguridade, onde podes cifrar e asinar o correo. Recorda que precisas da clave pública da persoa á que lle estás enviando o mensaxe! Comproba tamén que achegas a túa clave pública para que poidan responderche con seguridade.

Conclusión

O correo electrónico é inseguro por defecto, a pesar das novas medidas de seguridade como TLS e algunhas melloras nos protocolos. Porén, para asegurar as túas mensaxes protexendo a confidencialidade e integridade das túas comunicacións, deberías basearte no cifrado extremo a extremo con criptografía asimétrica. Aquí é onde entra PGP.

Coa última versión de Thunderbird, incluíron soporte integrado para OpenPGP, o que facilita meterse, finalmente, no “correo bastante privado”.

Obri! Espero que o atopases interesante e que poidas usalo cando o precises!