PGP siempre ha estado ahí pero me ha dado pereza probarlo… y ya sé por qué. El caso es que me he tenido que poner con ello y…
Qué es PGP
Malo será que no hayas oído hablar de ello. De forma resumida, PGP (Pretty Good Privacy) ofrece la posibilidad de firmar y cifrar la información transmitida a través del correo electrónico. En sus comienzos era un programa desarrollado por Phil Zimmermann en 1991 y a lo largo de los años se ha generalizado para describir el método de encriptado que utiliza este software (esto no es exactamente así… en la Wikipedia tenéis la versión larga de la historia).
Su funcionamiento se basa en la estructura de clave pública (o cifrado asimétrico): nos ponemos a juguetear de nuevo con nuestra clave pública y privada. En este caso, la clave pública se pone a disposición de los contactos de correo potenciales bien comunicándosela o cargándola en un servidor de claves externo. Con esta clave estos contactos cifrarán los mensajes electrónicos que quieran enviarte… y solo tú podrás descifrarlos.
La clave privada (protegida con contraseña, personal, secreta e intransferible por la cuenta que te trae) nos sirve para descifrar los correos electrónicos entrantes previamente cifrados con la clave pública.
Adicionalmente, la firma electrónica garantiza la autenticidad de los mensajes que se envían; es decir, nos aseguramos que el que envía el mensaje es quien dice ser.
Cómo implementamos PGP en nuestro correo
Como hemos visto antes, para empezar a usar PGP hay que hacer unas cuantas cosas con antelación:
- Crear el par de claves necesarias: la pública y la privada
- Intercambiar las claves con los destinatarios (de forma directa o a través de servidores)
- Confirmar y validar de alguna forma esas claves para que no nos la cuelen (usando el fingerprint, muestras de sangre…)
Y una vez tenemos esto, ya podemos cifrar y descifrar los mensajes a troche y moche.
Para generar y gestionar las claves, existen diversos programas (os aparecen en la web de OpenPGP > Software) y algunos, como Thunderbird, ya tienen la gestión del cifrado de extremo a extremo (End to End Encryption) integrada de serie desde su versión 78.
El caso es que eso está muy bien, pero muchos usamos webmails: Gmail, Yahoo (sí, todavía hay gente que lo usa), Hotmail/Outlook… o el que te proporciona tu proveedor de hosting que casi seguro que es RoundCube. Para todos ellos, existe Mailvelope, un plugin para Firefox y Chromium (Chrome, Opera, Edge…). Mailvelope está basado en OpenPGP.js
En este documento del INCIBE os cuentan como usar PGP con el cliente de Outlook y con anteriores versiones de Thunderbird (como digo, a partir de la v78, no es necesario ningún plugin), a continuación os muestro como usar PGP en Firefox con Mailvelope para vuestro webmail.
Mailvelope + Roundcube (en Firefox)
Lo primero es descargar e instalar el plugin: https://addons.mozilla.org/es/firefox/addon/mailvelope/ y… comenzamos:
Generamos el par de claves para el buzón de correo
Creamos nuestras claves. Las podemos crear nuevas o importarlas si ya las tenemos creadas.
En este caso la vamos a crear desde el principio. Completamos los datos que nos piden en la pantalla, ponemos la contraseña y damos a generar las claves. Podemos elegir entre diversos algoritmos de encriptado, la fecha de validez de los certificados y si queremos que se suba a un servidor de claves o no:
Una vez generadas las claves, nos aparecerán en el Gestor de claves:
Al crear las claves y subirlas al servidor de Mailvelope, nos llegará al correo un mensaje para verificar la dirección de correo. El correo está cifrado, así que tendremos que descifrarlo previamente:
La aplicación trae opciones para cifrar/descifrar mensajes ya sea copiando y pegando el contenido del mensaje o subiendo el archivo cifrado. En nuestro caso, desciframos el mensaje haciendo copia-pega. Nos dará la opción de descargar el mensaje en un archivo de texto y ahí nos aparece un mensaje con un enlace para confirmar la clave en el key server de Mailvelope
El mensaje una vez descifrado:
Hello sasaeh PGP Test,
please verify your email address o1@sasaeh.com by clicking on the following link:
https://keys.mailvelope.com/api/v1/key?op=verify&keyId=****
After verification of your email address, your public key is available in our key directory.
You can find more info at keys.mailvelope.com.
Greetings from the Mailvelope Team
Autorizamos el dominio del webmail
Ya hemos visto que podemos cifrar y descifrar mensajes desde el menú del plugin, pero lo chulo es tenerlo todo integrado y trabajar con el cifrado dentro de la aplicación, así que tenemos que autorizar el dominio.
Vamos a nuestro webmail y, en las opciones de Mailvelope, pinchamos en "+ Authorize this domain"
; en mi caso,
Con esto ya tenemos Mailvelope integrado dentro del webmail y podremos:
- Ver los mensajes cifrados directamente
- Cifrar (y firmar) los mensajes desde el webmail a través de la interfaz de Mailvelope
Y ya está.
En el dashboard de Mailvelope tenéis más opciones para que le echéis un ojo.
Recordad que para que podáis comunicaros con PGP con otro buzón de correo, los dos tenéis que usar PGP y las claves públicas del destinatario. Podéis importar las claves públicas desde la interfaz de Mailvelope, desde el Keyring, desde donde generasteis vuestro par de claves.