criptografía para todos 5: cómo encriptar y firmar correos, por fin

PREVIOUSLY, ON LOST EN DAVIDRUIZ.EU:

    0. Una introducción al hilo del 15M
    1. un poco de historia, ¡Dyh Fhvdu!
    2. cuadernos de clave única
    3. la clave se llama así por algo
    4. teoría moderna…

¡Qué!, ¿a que pensabas que ya me había olvidado yo del blog, de la serie de criptografía y de todo?

Pues, honestamente, casi casi.

De todas formas la cosa urge y haber esperado me ha dado la posibilidad de poder probar lo que sigue para Mac, Windows y Linux, así que, bueno, cubrimos más campo. Hasta ahora, en esta serie, hemos hecho un brevísimo repaso de la criptografía en la historia, hemos visto cómo funciona un cuaderno de clave única, hemos insistido hasta la hartura en la idea de lo importante que es tener una clave (o frase: vamos a tener que empezar a llamarla así para no confundirla con las que siguen) segura y cómo conseguir una difícil de reventar y fácil de recordar, y hemos aprendido así por encima cómo funciona la criptografía de clave pública. Resumiendo, hemos estado dando un montón de vueltas sin terminar nunca de contar cómo diablos hacemos con un par de claves y para cifrar y firmar un correo electrónico.

Hay dos razones para haber dado ese rodeo: la primera es para darle un marco teórico al proceso y para que podamos comprender, mientras lo usamos, cómo funciona la maquinaria que hay por debajo y por qué es seguro. La segunda razón era por hacer bulto: por complicado que sonase todo la utilización es tan simple que cabe en un post cortito como va a ser este.

Después de todo ¿qué nos hace falta para usar un cifrado de clave pública? Pues en realidad, muy pocas cosas:

    1. Una cuenta de correo, evidentemente. Por ejemplo, de Gmail, aunque Gmail odie tanto que encriptemos nuestro correo.

    2. Un gestor de correo. Precisamente porque Gmail odia que encriptemos el correo, nos hará falta un programa con el que enviar, recibir y leer correos. En Mac vale con el Mail que trae ya dispuesto. En Windows, Outlook sirve siempre que no sea el 2010. Si no queremos usar Outlook o Mail (o no podemos), la alternativa más razonable es el Mozilla Thunderbird, disponible para Windows, Linux y, también, Mac, por si alguien lo prefiere al Mail. Configurar el Thunderbird para que gestione una cuenta de Gmail (o de cualquier otro sitio) es bastante sencillo: se va al menú de Editar, luego a Ajustes de Cuentas, y se busca la opción de añadir una cuenta de correo. Thunderbird nos preguntará por el nombre que queremos mostrar, por la dirección de correo y por la contraseña, y ya estará listo para recibir y enviar correo desde ella (y se pondrá a bajar correos como loco, claro).

    3. Herramientas para generar claves, encriptar y descencriptar: un pack de OpenPGP, que puede ser,
    para Mac, GPGTools, disponible aquí https://www.gpgtools.org (la única complicación es que, si estamos usando un Mountain Lion 10.7.5, tendremos que descargar la actualización GPGMail-61n de https://nightly.gpgtools.org). Para Windows, Gpg4win, disponible aquí: http://gpg4win.org. Y para Linux, probablemente ni haga falta instalar ya nada, porque la gente de Linux siempre ha sido muy pro-encriptado. De no ser así, bastará con buscar algún paquete de software que contenga las palabras “OpenPGP”, y que en la descripción diga que puede generar y gestionar claves. Si estamos usando el Thunderbird, también necesitaremos instalarle una extensión, Enigmail, que integrará las opciones de encriptado y desencriptado.

    4. Una vez tengamos el correo, el progama con el que queremos cifrar y descifrar y el software para ello, necesitaremos nuestro par de claves (la privada y la pública). En un Mac, usando Mail y GPGTools, buscaremos y abriremos el programa GPG Keychain Access, y le daremos a la primera opción, “Nueva”: esto hará que el ordenador se ponga a elaborar el par de claves, y que nos pregunte por la frase-contraseña de las mismas. Esta es la única contraseña que deberemos sabernos, así que me remito a lo que dije en el capítulo 3 de esta serie. O buscamos una contraseña fácil de recordar y segura, del estilo de cuatro palabras elegidas al azar, o le encargamos a algún programa como el KeePass que la recuerde por nosotros. Una vez hechas las claves veremos una línea en la lista de claves del GPG Keychain Access. Entonces podemos hacer clic con el botón derecho sobre ella y darle a la opción de Exportar a un servidor de claves. De este modo, cuando alguien quiera escribirnos y esté usando GPG Keychain Access, bastará con que en el menú Clave le demos a buscar una clave, y poniendo nuestra dirección de correo encontrará la clave pública, y cuando alguien nos busque podrá hacer lo mismo y encontrar ahí nuestra clave pública.
    Si tenemos varios ordenadores y queremos usar la misma clave en todos ellos, deberemos exportar no sólo la clave pública, sino las dos, mediante el menú de exportar, marcando la opción de exportar también la clave privada. Es un buen momento para echarle un vistazo al par de claves en un editor de texto, si alguien quiere saber qué pinta tienen. Verá líneas y líneas de caracteres al azar, una maravilla. Pero a lo que íbamos: con ese archivo sí que hay que tener cuidado, tenemos que llevarlo al resto de ordenadores que tengamos de alguna forma segura (quiero decir, NADA de enviarlo por un correo electrónico o de copiarlo en Dropbox, aunque sí que podríamos meterlo en un archivo RAR cifrado con una buena contraseña o limitarnos a copiarlo en un pendrive). Después, en el gestor de claves, le damos a la opción de importar un par de claves, nos preguntará la frase-contraseña, y la guardará para poder usarla también en ese equipo.

    5. Hecho esto, necesitaremos la clave pública del destinatario del correo. Para ello, o bien podemos buscarla en el servidor de claves, o bien pedírsela por un email sin cifrar, o bien decirle que la suba a alguna parte… da igual lo que hagamos con la clave pública: se llama así porque no importa que sea accesible. Cuando la tengamos, la importaremos en nuestro gestor de claves, y ya podremos usarla. Entonces nos vamos a nuestro programa de correo, escribimos el correo como si tal cosa, pero nos fijamos en que ahora tenemos más opciones: el Mail de Mac mostrará un icono para firmar y otro para cifrar, el Thunderbird un menú de OpenPGP y se seguridad o de Enigmail para hacer lo propio… y bastará con hacer clic en firmar y en encriptar, escribir el correo y darle a enviar. Y a esperar respuesta, que en cuanto llegue, como lo hará usando nuestra clave pública y la clave privada del remitente, podremos descifrar con su clave pública y nuestra clave privada. ¡Y ya estaremos comunicándonos de forma segura!

Luego siempre puede uno pasarse por Gmail, leer el correo y ver qué galimatías le estamos mostrando al mundo, donde antes podía leerse texto plano.