¿Como se hace? Correos electronicos cifrados

Este pequeño manual explica como se puede cifrar y descifrar correos electronicos usando Mailvelope, un complemiento para Chrome y Firefox.

Importante: el texto es un borrador. Por favor, nos envian comentarios usando el formulario del contacto.

 

Comunicación electrónica segura

Cifrar y descifrar correos electrónicos usando Mailvelope

Comunicación por correo electrónico es una forma de comunicación muy cómodo, pero no tan seguro. Las revelaciones sobre la colección de datos por la agencia NSA de los Estados Unidos y otras agencias similares han incrementado la conciencia sobre seguridad de datos durante la comunicación electrónica, pero que podemos hacer.

Comunicación por electrónico incluye dos tipos de datos:

  • los metadatos: son los “headers” de un correo electrónico, que incluye el recipiente, de donde viene el correo electrónico, el sujeto (estos normalmente son visible para el usuario), pero también la dirección IP del usuario que enviar el mensaje, y direcciones IP durante la transmisión del mensaje. Además el cliente del correo usado, y otras informaciones del sistema. Los metadatos siempre son visible, y no hay ninguna formar de obfuscarlas. Los metadatos son la información con quien estamos comunicando de que forma y cuando.

  • El mensaje propio (el cuerpo del mensaje): El mensaje consiste en el texto del mensaje, mas adjuntos, que los usamos.

Cifrar correos electrónicos solamente trata el problema del cuerpo de mensaje, y no puede huir el hecho que estamos comunicando, no con quien, no cuando.

 

OpenPGP: Como funciona?

Para poder entender mejor el sistema de codificación usado por los sistemas de claves asimétricas (ie. claves públicas y privadas), es necesario entender las diferencias con los sistemas de claves simétricas (ie. claves secretas).

Los sistemas de cifrado con clave simétrica son aquéllos en los que la clave que se usa para cifrar una serie de datos, es la misma que la que se usará para descifrar estos datos. En el caso del correo electrónico, el remitente cifraría el mensaje con una clave secreta, y para que el destinatario pueda descifrarlo, necesitaría haber obtenido previamente esta misma clave de un modo «seguro», o sea de modo que la clave no haya podido ser interceptada durante la entrega. Si no tenemos la completa seguridad de que el intercambio de la clave ha sido seguro, la validez de este sistema es nula.

Por el contrario, los sistemas de cifrado con claves asimétricas usan claves distintas para el cifrado y posterior descifrado de los datos. En un caso como el anterior, el remitente usaría la clave pública del destinatario para cifrar el mensaje, y el destinatario descifraría el mensaje con su propia clave privada. Así pues, la clave privada no debe ser accesible para nadie que no sea el propio dueño de la misma, mientras que la clave pública, puede ser entregada a cualquier persona. En un sistema de cifrado bien implementado, la clave privada no debe derivar nunca de la clave pública.

Fuente: https://es.wikipedia.org/wiki/Archivo:PGP_diagram.svg

¿Como puedo usar OpenPGP para mis correos electrónicos?

Hay varias herramientas para el uso bastante fácil de correos cifrados, y que puedes usar depende del sistema operativo, de las programas usadas para correos electrónicos (Webmail como Gmail, Yahoo, GMX, o otras o un cliente de correos como Thunderbird/Icedove, Claws-Mail, Kmail, Outlook, Pegasus Mail, etc), y de donde acedes tus correos (café internet, casa, trabajo, lugares diversos).

Realmente, el uso de correos cifrados es mas cómodo para usuarixs de clientes de correo. Existe una multitud de manuales como se puede usar por ejemplo el cumplimiento Enigmail con Thunderbird (por ejemplo: https://securityinabox.org/es/thunderbird_usarenigmail), y en Kmail el uso de OpenPGP es integrado. Para Claws-Mail hay un manual aca: http://black-rider.esdebian.org/49232/cubriendose-espaldas-gpg-parte-iii-usando-clientes-correo.

Pero el uso de OpenPGP no es tan fácil para usuarixs de webmail como gmail (a que se puede acceder también desde un cliente de correos), yahoo, y otros. Pero hay opciones, y este “How-To” explica come se puede usar el cumplimiento Mailvelope (para los navegadores Chrome y Firefox/Iceweasel) para hacer uso de correos cifrados.

Mailvelope

Mailvelope es un cumplimiento para los navegadores Chrome y Firefox. Se puede descargar desde el Chrome Store (para Chrome), y – en el momento – desde la pagina de Mailvelope para Firefox (http://mailvelope.com), o mas concreto desde su espacio de desarrollo en Github a https://github.com/toberndo/mailvelope/releases (el cumplimiento para Firefox todavía no se puede encontrar en Mozilla). Desafortunadamente, todavía Mailvelope solamente existe en ingles, y la pagina web de Mailvelope también solamente existe en ingles.

Después de la instalación de Mailvelope hay un nuevo símbolo en la barra de cumplimientos ( ) ), que permite el acceso a las opciones de Mailvelope. En Chrome también es posible el acceso por el enlace chrome://extensions/ (or por el menu: Herramientas → Cumplimientos), donde se puede encontrar un enlace a las opciones de Mailvelope:

Crear un par de claves

Para que podemos empezar cifrar y descifrar correos, necesitamos al primero un par de claves (clave publica y clave privada). En la pagina de opciones de Mailvelope vemos al lado izquierda las opciones:

 

 

Tenemos dos secciones:

1. KEY RING

El “key ring” es como la lista de las claves que tienes, tanto las claves publicas como las claves privadas. En una nueva instalación de Mailvelope, el key ring esta vacío – no hay ningunas claves. Entonces, al primero vamos a crear un nuevo par de claves (Generate Key). Si ya tienes un par de claves, no tienes que generar una nueva, pero puedes importar las claves que tienes. Hacemos click en el enlace Generate Key, y llegamos al formulario siguiente:

 

 

Nos pide un nombre (Name) para la identificación de la clave. Puede ser cualquier nombre que usas para identificarte en relación con tu correo electrónico. El segundo campo es el correo electrónico, donde tienes que entrar el correo que vas a usar con esta clave.

El tercer y cuarto campo son para una contraseña para la clave, que tienes que utilizar para usar tu clave. El proceso de la generación de nuestro par de claves dura un poco...

Después de un rato Mailvelope nos informa que ha creado un par de claves, y que ha añadido este par al Key Ring. Volvemos a “Mostrar Claves” (Display Keys), y ahora vemos nuestro clave en la lista (en una nueva instalación es la única).

 

En el momento tenemos nuestro para de claves, pero todavía no podemos hacer nada. Para que otras personas nos pueden enviar correos cifrados, tenemos que compartir nuestra clave publica con ellxs. Marcamos nuestra clave, y hacemos click en “Export”:

 

Seleccionamos la opción “Display public key” (Mostrar clave publica) para ver nuestra clave publicar, y exportarla.

 

 

Podemos copiar la clave al portapapeles (clipboard), o guardarla como archivo. Posiblemente tienes que marcar el “texto” de la clave para copiarla al portapapeles. Abrimos nuestro webmail y pegamos la clave:

 

Si hemos exportado la clave como archivo, adjuntamos el archivo y no pegamos la clave. Pero: nunca envías tu clave privada! Si la clave es compartido en un grupo, una forma segura de compartir la clave privada es por dispositivo USB, pero nunca por correo electrónico!

Bueno, ahora tenemos nuestro par de claves, y hemos enviado nuestro clave publica a amigxs o otros colectivos, pero como podemos un correo cifrado a una otra persona? Para hacerlo, todavía nos falta la clave publica de la otra persona. Porque para cifrar un correo, necesitamos solamente la clave publica del recipiente – y todavía no la tenemos.

 

Importar claves

Otras personas pueden enviarnos su clave publica por correo en el cuerpo del correo o como archivo. También hay “servidores de claves publicas” y otras personas publican su clave en su pagina web.

Cuando recibimos un correo con una clave publica en el cuerpo del correo, tenemos que marcar todo el texto de la clave (que empieza con -----BEGIN PGP PUBLIC KEY BLOCK----- y termina con -----END PGP PUBLIC KEY BLOCK-----), y lo copiamos al portapapeles.

 

 

En Mailvelope, elegimos la opción “Import Keys” (Importar claves), y pegamos nuestra clave en el formulario:

 

 

Hacemos “Submit” para que la clave esta añadido a nuestro key ring. Si tenemos una clave con lineas blancas (como en el imagen abajo) tenemos que borrar las lineas blancas.

 

 

La única linea blanca permitida en una clave (y probablemente necesario) es entre la información del programa usado para la creación de la clave, y la clave propia: Version: GnuPG v2.0.22 (GNU/Linux). Las otras lineas blancas borramos.

También es posible importar la clave desde un archivo.

 

Exportar la clave privada

Tiene sentido exportar la clave privada para guardarla en un espacio seguro, por ejemplo un dispositivo USB. Porque sin la clave privada no es posible descifrar correos, y si se cambia el equipo, o si se comparten el mismo correo electrónico dentro del colectivo, es necesario compartir la clave privada con todxs lxs miembrxs del colectivo.

 

 

Miramos a nuestro key ring y marcamos nuestra clave. Tenemos la opción de mostrar (display) solamente la clave privada (private key), o el par de claves (key pair). Necesitamos el par de claves para compartir dentro de nuestro colectivo, y/o para guardarlo en un lugar seguro.

 

 

El proceso es el mismo como cuando hemos exportado nuestra clave publica. Solamente ahora podemos ver en la ventana dos bloques de claves: al primera la clave publica, y mas abajo la clave privada (que no muestro porque es privada).

 

 

Podemos marcar todo el texto de los dos bloques para exportar nuestro par de claves al portapapeles, o podemos guardarlo en un archivo para compartirlo – por dispositivo USB – con nuestro colectivo. Recuerde: nunca enviar el par de claves o la clave privada por correo electrónico!

 

Cifrar y descifrar correos

Ya tenemos todo para enviar correos electrónicos cifrados, o descifrar correos cifrados que hemos recibido. Pero, como lo hacemos?

Antes de explicar como cifrar correos, hay que explicar que hay dos formatos de correos cifrados: PGP-Inline y PGP/MIME. Los dos formatos tienen diferencias importantes, pero con Mailvelope solamente podemos usar PGP-Inline. Todavía solamente clientes de correo como Thunderbird, KMail, o Claws-Mail pueden enviar y descifrar correos del tipo PGP-MIME.

PGP-Inline: En el formato PGP-Inline, el texto cifrado forma el cuerpo del mensaje. Es importante recordarlo, porque significa que si adjuntamos archivos al correo, estos archivos no son cifrados! Vamos a explicar como enviar archivos cifrados en un otro manual.

PGP-MIME: En contrario, en PGP-MIME todo el correo, incluyendo los archivos adjuntados, son cifrados en un nuevo archivo, que realmente es adjuntado al correo que no tiene un cuerpo con texto. Probablemente va a pasar que recibimos un correo con un archivo adjunto llamado mail.asc – este archivo es el mensaje PGP-MIME. Desafortunadamente, Mailvelope no puede hacer nada con un mensaje PGP-MIME, y lo único que podemos hacer es comunicar a la persona que nos ha enviado el mensaje que tiene que enviarla otra vez en formato PGP-Inline.

Bueno, después de este excurso sobre formatos de correos cifrados vamos a explicar – por fin – como cifrar un correo.

 

¿Como cifrar correos?

Cuando abrimos el editor de nuestro cliente webmail – Gmail, Yahoo, Outlook.com, o, en mi caso, Roundcube – vemos un nuevo símbolo de un sobre en el editor.

 

 

Cuando hacemos click en el sobre, llegamos a otro editor para escribir nuestro correo.

 

 

¿Por que un otro editor? El editor de Gmail o cualquier otro webmail guarda periódicamente nuestro correo que estamos escribiendo en el servidor. Pero por razones de seguridad no queremos en ningún momento parte de nuestro texto no-cifrado guardado en el servido, o transmitido por el internet desde nuestro ordenador al servidor de nuestro proveedor de correos. Por eso, Mailvelope abre un nuevo editor que solamente existe en nuestro navegador, que significa también que no podemos guardar nuestro correo mientras estamos escribiendo. Si quieres escribir algo mas complejo y enviarlo cifrado, es mejor que lo escribes antes en un editor, y que copias y pegas el texto en el editor de Mailvelope.

 

 

Escribimos el correo como lo hacemos normalmente, pero en el editor de Mailvelope. Vemos al lado derecho el símbolo de una cerradura, y abajo de la ventana del editor los dos botones “Cancel” (Cancelar) y “Transfer” (Transferir). Transfer es para transferir nuestro mensaje al editor de nuestro webmail – y no queremos hacerlo antes de hemos cifrado el correo.

Cuando hemos terminado con nuestro mensaje, hacemos click en el símbolo de la cerradura.

 

 

Vemos un menú con una lista de correos de recipientes que corresponden a claves publicas en nuestro key ring. Seleccionamos un recipiente y hacemos click en Add (Añadir). Es una buena practica siempre incluir nosotros mismos como recipientes, porque si no lo hacemos, nosotros no podemos descifrar el correo que hemos enviado (recuerde: el correo es cifrado con la clave publica, y es necesario la clave privada que corresponde a la clave publica para descifrarlo). Repetimos este paso hasta que tenemos todxs lxs recipientes en la lista.

 

 

Cuando hemos terminado, hacemos click en OK, y ahora Mailvelope cifra nuestro mensaje. Después un rato vemos el mensaje cifrado en el editor de Mailvelope.

 

 

Ahora si podemos hacer click en “Transfer” para transferir nuestro mensaje cifrado al editor de nuestro webmail.

Ahora podemos enviar el mensaje a los mismos recipientes que hemos elegido en Mailvelope. Lo siento, pero tenemos que elegir los recipientes otra vez en el editor de nuestro webmail.
Recuerde: si añades archivos ahora, los archivos no son cifrados! Vamos a tratar de como cifrar archivos en otro manual.
 

Descifrar un correo electrónico

Ya sabemos como enviar un mensaje cifrado. ¿Pero que hacer cuando recibimos un mensaje cifrado?

Cuando recibimos un mensaje cifrado, Mailvelope reconoce que este mensaje es cifrado, y muéstralo con un sobre enzima del mensaje:

Hacemos click en el sobre, y Mailvelope detecta la clave privada que corresponde a la clave publica que fue usado para cifrar el correo (si lo tenemos), y nos muestra la identidad de la clave y nos pide la contraseña.

 

 

Entramos la contraseña, y Mailvelope nos muestra el mensaje descifrado en una ventana enzima de la ventana de nuestro webmail, que solamente existe en nuestro navegador, pero no es transmitido por el internet al servidor de nuestro webmail.

 

 

Si queremos guardar una copia no cifrada, tenemos que marcar el texto, copiarlo y pegarlo en un editor, para guardar el archivo. Recuerde: nunca guarda el mensaje no cifrado en tu webmail.
 

Para concluir

El proceso de cifrar y descifrar correos electrónicos sin archivos adjuntos es bastante fácil usando Mailvelope. Es importante recordar que no podemos huir que estamos comunicando, no con quien, y no el sujeto del correo (entonces, nunca escribe algo confidencial en la linea del sujeto). Tampoco podemos huir que estamos comunicando de forma cifrada, que puede resultar en sospechas de los servicios de la seguridad.

No obstante las limitaciones, correos electrónicos cifrados nos permiten enviar información confidencial por correo electrónico, que muchas veces nos permite comunicar, que no es posible de otra manera (por distancia, por ejemplo).

El uso de correos cifrados es una forma de proteger nuestra privacidad, y no es difícil hacerlo.