Es común encontrarse en situaciones donde debemos enviar documentos con información sensible por mail, o compartir contraseñas mediante WhatsApp o Slack. En el momento en que se envía esta información sensible, renunciamos a tener la total certeza de que la información sigue siendo privada. Podemos pensar que al utilizar el protocolo de comunicación HTTPS nos aseguramos que nadie pueda capturar el tráfico y ver la información, pero el problema recae en que será privado siempre que la empresa que ofrece el servicio que utilizamos (Gmail, Slack , etc.) respete la privacidad o, poniéndonos en una situación peor, se filtren todos los datos que guardamos, entre ellos nuestros documentos privados o contraseñas.
Para evitar posibles problemas, es importante tomar el hábito de encriptar toda esta información para que sólo nosotros ya quienes nosotros le permitamos puedan leerla.
FlowCrypt es una extensión de Google Chrome que nos permite enviar e-mails encriptados y firmados. Hace uso de PGP («Prety Good Privacy»), un protocolo que permite enviar documentos encriptados usando criptografía asimétrica. Podemos añadir la herramienta directamente a nuestro navegador desde la página oficial.
Antes de entrar en detalle con cómo hacer uso de esta herramienta, explicaremos cómo funciona la criptografía asimétrica.
¿Qué es la criptografía asimétrica?
En la criptografía asimétrica, cada usuario dispone de una clave pública y una clave privada. La clave pública se puede compartir con todo aquel que quiera enviarte datos encriptados, pero la privada sólo debe conocerla el propio usuario. Si un usuario A quiere enviar un mail encriptado al usuario B, tomará la clave pública del usuario B y la utilizará para encriptar el mensaje. Este mensaje encriptado sólo podrá ser desencriptado por la clave privada de B, consiguiendo así privacidad, ya que sólo B conoce su clave privada y es el único usuario capaz de desencriptar el mensaje.
Una forma fácil de visualizarlo es ver la clave pública como si fuera un candado y la privada como si fuera una clave. Todo el mundo podrá coger el candado que ofrece B y utilizarlo para cerrar los mensajes, pero sólo B dispone de la llave para abrir este candado y, por tanto, el único que podrá leer los mensajes.
Ejemplo de uso de la criptografia asimétrica (1)
No hace falta que nos preocupemos por los algoritmos de encriptación, ya que la herramienta de FlowCrypt ya lo gestiona por nosotros. A continuación se explicará una guía detallada de cómo instalar, configurar y hacer uso de esta herramienta.
Guia de Instalación
1. Añadir extensión
Es importante estar utilizando el navegador Chrome. El primer paso será dirigirnos a la página web oficial podemos descargarnos y añadir directamente la extensión en el navegador pulsando el botón verde mostrado en la imagen.
Página oficial de FlowCrypt, Fuente: Elaboración propia.
Nos redirigirá a la página de Chrome Web Store, y allí debemos pulsar en “Añadir a Chrome”. Saldrá una alerta pidiendo confirmación de si queremos añadir la extensión a nuestro navegador que debemos aceptar. Unos segundos después ya tendremos la extensión. Junto a la imagen de perfil de la sesión de Google veremos los iconos de las extensiones que tenemos instalados en el navegador donde debería salir el de FlowCrypt.
Extensiones del Navegador en las que se puede ver la extensión de FlowCrypt. Fuente: Elaboración Propia
2. Configuración
Si pulsamos en el icono o nombre de la extensión, nos redirigirá a una página de configuración de la extensión. El primer paso es realizar un Log in de nuestra cuenta Google con el que queremos usar FlowCrypt y aceptar los permisos y condiciones.
El siguiente paso es generar nuestras claves. Como es la primera vez que realizamos esto, no disponemos de ninguna clave privada y debemos generar una nueva, escogeremos la primera opción: New Encryption Key. En caso de que ya tuviésemos una, elegiríamos la otra opción.
Menú de selección después del Log-in. Fuente: Elaboración propia
A continuación nos hará crear un pass phrase. Actúa como una contraseña, pero se busca que sea lo más segura posible, así que una contraseña simple como “passord123” no será válida. Recomiendo utilizar un gestor de contraseñas, como Bitwarden o Keepass, para crear y guardar contraseñas de forma segura sin necesidad de recordarlas todas. No actives la opción de “Remember Pass Phrase” y nunca guardes la contraseña en un Excel, bloc de notas, post-it…
Las otras dos opciones las dejamos activadas. La configuración debería quedar como se muestra en la siguiente imagen. Cabe mencionar que en la última opción nos deja escoger qué tipo de clave queremos utilizar. De las cuatro que se ofrecen, la RSA 2048 es la que menos recomendamos, ya que es la más corta y la más sencilla de encontrar comparada con las demás claves ofrecidas.
Generación y configuración de Encryption-key. Fuente: Elaboración propia
No debemos confundir este pass phrase con nuestra clave privada. La pass phrase es simplemente una contraseña para verificar en la extensión que somos nosotros y no alguien que nos quiere suplantar la identidad usando nuestra clave privada.
Para comprobar que todo se ha hecho correctamente, si vamos a nuestro Gmail podemos ver que sobre la opción “Redacta” existe una nueva opción “Secure Compose” con el logo de FlowCrypt. Además habremos recibido dos emails, uno con información y otro con un backup de nuestra clave privada.
Nueva opción para enviar mail en Gmail. Fuente: Elaboración propia
3. Compartir la clave pública
Al crear una cuenta, ya se ha generado una clave pública y privada, nosotros no debemos preocuparnos de utilizarlas para encriptar nada, todo esto ya lo hace la aplicación. Pero si alguien quiere enviarnos un mensaje encriptado, necesitará nuestra clave pública. Para encontrarla, volveremos a ir a la configuración de la extensión de FlowCrypt. Nos saldrá un desplegable y pulsaremos el engranaje que indica configuración. Nos aparecerá una ventana como la que muestra la imagen. Iremos a Additional Settings
Menú de configuración. Fuente: Elaboración propia
Nos saldrá una ventana similar a la anterior, pero con nuevas opciones. Iremos a la primera, donde pone Public Key. Allí podremos ver nuestra clave pública y privada, pero sólo nos interesa compartir la pública. Podemos ver que existen varias opciones. Nos lo podemos descargar en un archivo y enviar el archivo, copiar y pegar en el portapapeles, o compartir el enlace que nos proponen. No te preocupes por enviar esta clave por cualquier canal de comunicación no seguro, sólo estás compartiendo la clave pública, que como indica el nombre, no pasa nada todo el mundo la ve.
Menú para copiar y guardar las claves públicas y privadas. Fuente: Elaboración propia
4. Importar clave pública
En caso de que nosotros queremos enviar un mensaje encriptado a otro usuario, necesitaremos previamente su clave pública. Asumiremos que este usuario ya nos ha enviado su clave pública en un mail previo. Para importar su clave, volveremos a ir al Additional Settings. Una vez allí, iremos a Contacts y después a import public key. Nos saldrá un espacio donde podremos enganchar la clave pública que hemos recibido. Apretamos en Show Content y si la clave es correcta, nos saldrá el Gmail correspondiente a esa clave. Una vez confirmamos, ya podremos enviar mails encriptados a esa dirección de correo.
Menú en el que permite importar claves públicas de otros usuarios. Fuente: elaboración propia.
Una vez llegados a este punto, ya tenemos toda la configuración necesaria para utilizar la herramienta de forma correcta. Habrá que importar todas las claves públicas de todo el mundo con quien queremos intercambiar información encriptada.
Encriptar i firmar mensajes
Enviar mensajes encriptados es igual de sencillo que enviarlos normales. Iremos a Gmail y en vez de clicar “Redacta”, clicaremos en el “Secure Compose”. Nos va a salir una interfaz para redactar un mail muy parecida a la normal, pero con un color verde. Para realizar la prueba, enviaremos un mail a dos usuarios, uno de los cuales no disponemos de su clave pública. Los Gmails de los que no disponemos de clave pública nos saldrán en gris, mientras los demás nos saldrán en color verde. No podemos enviar este mail, puesto que no podemos encriptar el mensaje por uno de los receptores. FlowCrypt nos ofrece la funcionalidad de añadir una contraseña, de este modo se encriptará el mensaje con esta contraseña y el usuario (del que no disponemos de su clave pública) también la necesitará para leer el mensaje.
Ejemplo de correo encriptado en el que no disponemos de una clave pública de un receptor. Fuente: Elaboración propia.
Si en vez de encriptar el mail, sólo queremos firmarlo, debemos clicar el desplegable de donde pone “Encrypt, Sign and Send” y seleccionar sólo “Sign” (desseleccionando el Encrypt). Vemos que Sí podemos enviar mensajes firmados a usuarios de los que no disponemos de su clave pública.
Firmar un mail no encriptará su contenido, pero permitirá a los receptores confirmar que nosotros somos los propietarios de esa firma y, por lo que, también de ese e-mail.
Por último, los e-mails que recibamos y estén encriptados, se desencriptarán automáticamente siempre que hayamos iniciado sesión en la extensión (introduciendo nuestra pass-phrase), de lo contrario, saldrán tres puntitos indicando que no podemos leer su contenido.
Bibliografía
- (1) https://en.wikipedia.org/wiki/User:Davidgothberg#/media/File:Public_key_signing.svg