Manual básico de criptografía II: Empezando a usar GPG

Manual básico de criptografía II: Empezando a usar GPG
Facebook Twitter Flipboard E-mail

En el anterior artículo hicimos un breve resumen de por qué es importante que empecemos a usar sistemas de cifrado en nuestras comunicaciones y en copias de seguridad que almacenemos en Internet. Hoy veremos cómo empezar a usar dichas medidas, usando GNU Privacy Guard, disponible para sistemas operativos de Microsoft, Apple o cualquier GNU/Linux.

Si usamos un sistema operativo de Microsoft, GPG se instala con un gestor gráfico. No es el caso en GNU/Linux, cuya instalación por defecto solamente incluye la opción de línea de comandos, pero podemos instalar GPA, el frontend standard de GPG. Otra opción sería KGPG, que funciona bastante bien tanto en escritorios KDE como en Gnome, o Seahorse, un gestor de llaves GPG y SSH así como también nos permite gestionar contraseñas para servicios web, y todo con una interfície bastante intuitiva.

Una vez lo tenemos todo instalado, lo primero que debemos hacer es crearnos un par de llaves pública/privada. Para ello iremos a la opción del menú correspondiente (dependiendo del interfaz estará en menús diferentes, pero todos acostumbran a tener un icono para generar un nuevo par). El asistente nos pregunta un poco de información básica: Nombre y apellidos, nuestra dirección de correo (podemos añadir más luego), y un pequeño comentario.

Generando un par de llaves con GPG

Generando un par de llaves con GPG

También nos pedirá cómo queremos que sea nuestra llave: qué algoritmo queremos usar (RSA o DSA sólo para firmar; una combinación RSA+RSA o DSA+Elgamal para firmar y cifrar…), y la longitud en bits de nuestra llave. Mediante esta longitud, indicamos lo robusta que queremos que sea: a más bits, más difícil será romperla.

Para escoger la robustez de nuestra llave hay que tener en cuenta que la capacidad de computación de nuevos procesadores aumenta de forma exponencial. Por esa razón, debemos tener en cuenta no sólo la dificultad que queremos aplicar a un posible fisgón hoy en día, si no “hasta cuando” queremos que nuestra llave sea difícil de romper.

El asistente nos pregunta también si queremos que el par de llaves caduque o no, y nos pide una contraseña. Aquí se recomienda no usar una “contraseña”, si no una “frase de paso”, una pequeña frase de entre cuatro y seis palabras (o más, dependiendo de nuestro nivel de ‘paranoia’ sana).

Cuando lo tengamos todo, veremos una ventana que nos dice se está generando nuestro par de llaves. En este momento, se recomienda empezar a usar el ordenador aleatoriamente: abrir ficheros, mover el ratón, teclear sin sentido… Cualquier cosa que genere actividad en el disco duro para que, de este modo, las operaciones matemáticas que se llevan a cabo sean lo más aleatorias posible.

Y una vez tenemos nuestro par de llaves, podemos exportar la parte pública y mandarla a un servidor para que otros puedan comunicarse con nosotros. Para ello, en las preferencias de nuestro gestor de llaves seleccionaremos uno de los servidores de llaves disponibles para usarlo tanto para exportar nuestras llaves, como para importar las llaves de terceras personas.

Selección de servidores de llaves GPG

Selección de servidores de llaves GPG

Luego seleccionamos nuestra llave y en el menú “Remoto”, sincronizamos nuestra llave con el servidor. Si no queremos subirla a ningún servidor, o la queremos colgar en nuestro blog, también podemos exportarla a un fichero de texto. Basta con hacer click con el botón derecho encima de nuestra llave, pulsar “Exportar” y seleccionar el nombre del fichero, que deberá tener la extensión .asc.

De este modo, cualquiera puede descargarse ese fichero, importarlo a su anillo de confianza y nos podremos comunicar mediante mensajes de correo o mandar ficheros cifrados.

Para conseguir las llaves de aquellos con quienes deseamos comunicarnos, el proceso es exactamente el mismo, pero en lugar de “Exportar”, importaremos sus llaves. Podemos buscarlas e importarlas mediante el buscador integrado en nuestro gestor de llaves, o si tienen ese fichero .asc disponible en su web, descargarlo e importarlo manualmente a nuestro anillo. Si lo hacemos del modo “manual”, basta con ir al menú “Fichero”, pulsar en “Importar” y luego buscar el fichero que acabamos de descargarnos.

Una vez tenemos nuestro par de llaves y la llave pública de nuestro interlocutor, ya podemos empezar a usarlas.

Cómo usar GPG para cifrar correos electrónicos

Una de las aplicaciones básicas de GPG es la de incorporar una capa de cifrado a nuestros mensajes de correo electrónico. Como vimos en la introducción a PGP de Phil Zimmerman, hay cosas que se escriben en cartas dentro de sobres cerrados, y hay cosas que se mandan en postales sin sobre.

Nuestros correos electrónicos casi siempre contienen información más o menos personal. Si todo lo que mandamos actualmente en un correo electrónico lo tuviéramos que mandar en papel, ¿a que seguramente que todo iría dentro de una carta cerrada?

El hecho de cifrar un correo electrónico es el equivalente a poner nuestro escrito en un sobre cerrado que solamente podrá abrir el destinatario. Pero un gran inconveniente a esto es que, para comunicarse por carta, el emisor sólo necesita conseguir un sobre, mientras que el destinatario simplemente necesita abrir el sobre.

Pero con GPG, es necesario que tanto el emisor como el receptor tengan instalado el software, dispongan de un par de llaves y cada uno tenga la llave pública del otro. Esta molestia previa es lo que, mayormente, ha dificultado la expansión del uso de esquemas de cifrado en el correo electrónico.

Para este manual, destinado a intentar aumentar el uso de criptografía en nuestras comunicaciones electrónicas, asumiremos que el lector va a comunicarse con alguien que ya dispone de un par de llaves, aunque en realidad corresponde al lector ‘persuadir’ a sus amistades y conocidos para que se unan a la cada vez mayor comunidad de usuarios de esquemas de cifrado electrónico. ¡Ánimos!

Para poder comunicarnos de forma segura, necesitamos un cliente de correo electrónico que incluya soporte para OpenPGP. En sistemas GNU/Linux como Ubuntu, existen Evolution (que viene por defecto con la instalación) o Kmail, ambos con soporte incluido.

Por otro lado, tenemos Thunderbird, el cliente de correo multi-plataforma de Mozilla, que necesita la extensión Enigmail. Seguramente existan otros clientes y gestores de correo, pero aquí nos limitaremos a los más conocidos y, quizá, los más usados.

Para configurar nuestro cliente de correo para poder usar nuestras llaves de cifrado, debemos ir a las preferencias de la cuenta de correo, buscar la sección “Seguridad” (por ejemplo en Evolution), o “Seguridad OpenPGP” (en Thunderbird) y activar la opción. Seguidamente tenemos que indicarle al cliente de correo la ID de nuestra llave.

Configuración OpenPGP en Thunderbird

Configuración OpenPGP en Thunderbird

Para facilitar las cosas, en Thunderbird tenemos la opción de seleccionar la ID de llave entre cualquiera de nuestros pares de llaves privadas, pero en Evolution tenemos que teclearla. Es una pequeña cadena de 8 números y letras que podemos conseguir en nuestro gestor de llaves. Mi llave personal es 0×6AF135FC, por lo que en el cliente de correo pondré “0×6AF135FC”.

Luego tenemos que indicar qué es lo que queremos que haga el cliente de correo electrónico, si sólamente firmar los mesajes, solamente cifrarlos, o que los cifre y los firme. Firmar los mensajes de correo proporciona un toque de autenticidad, pero esto puede volverse en nuestra contra si, en alguna ocasión, mandamos un mensaje de correo ‘inflamado’ del que luego nos arrepintamos.

Si le decimos que siempre cifre nuestros mensajes, el cliente de correo nos preguntará la llave pública para la cual queremos cifrar ese mensaje cada vez que mandemos uno. Una forma de evitarlo, y de paso asegurarnos que mandamos nuestros mensajes cifrados siempre que sea posible, es desactivar la selección manual de la llave.

En Thunderbird, tenemos que marcar la casilla “Cifrar por defecto los mensajes” en la configuración de nuestra cuenta. Luego vamos a las preferencias de OpenPGP, activamos las opciones de “Experto” y en la pestaña de “Selección de llaves” marcamos la opción “Sin selección manual de llave”.

Un pequeño inconveniente es que, con ésta configuración, solamente sabremos si el mensaje se ha cifrado cuando pulsemos el botón “Enviar”, por lo que se recomienda no mandar los mensajes directamente, sino usar la opción “Enviar más tarde”.

De este modo, los mensajes se guardan en la bandeja de salida y podemos comprobar si se han cifrado o no, mandándolos luego sin problemas. Ah, y configurando nuestro cliente para que use siempre esta técnica también podemos evitar mandar mensajes de esos que luego nos arrepentimos ;).

Otro inconveniente es que esta opción solo funciona para aquellas llaves en las que confiemos, y estas se suponen que serán las que usemos con más frecuencia. Si tenemos que mandar un mensaje cifrado a alguien que no conocemos, deberemos seleccionar igualmente la llave del destinatario.

Otro modo de hacerlo, es crear reglas individuales para cada uno de nuestros contactos, en las que indicaremos si queremos que los mensajes a una dirección de correo electrónico específica se van a firmar, cifrar o mandar en abierto.

En el próximo artículo veremos cómo usar GPG en programas de mensajería instantánea para cifrar las comunicaciones en tiempo real.

Foto | Tim Gage

Comentarios cerrados
Inicio