GPG en Android con Yubikey

Hace bastante tiempo que tenía la asignatura pendiente de usar GPG en mis correos más asiduamente. Gmail ha hecho mucha pupa con la privacidad y no le interesa nada que los usuarios cifren sus correos, y las soluciones que he encontrado hasta ahora se basan en extensiones de navegador que implica introducir tu clave privada, y va a ser que no, que para eso tengo un smartcard donde guardar la clave privada GPG en un lugar fresco y seco ;)

La cosa es que con mi correo profesional, con thunderbird y la extensión enigmail es bastante sencillo manejar la firma y cifrado de correos, pero ¿Y en el movil? En el movil es un problema gordo, ya que la mayoría de soluciones implica almacenar la clave privada en la memoria del movil, lo cual me parece bastante arriesgado de primeras. Se te pierde, te lo roban, te lo comprometen, y adiós clave privada.

Por suerte, existe una solución más segura, que no rivaliza con la facilidad de uso: Yubikey con NFC. Este cacharrete funciona como GPG card, te permite almacenar tu clave privada, y además operar con ella a través de NFC con un movil que soporte la tecnología, lo cual simplifica muchísimo el uso, sin tener que asumir el riesgo de almacenar la clave privada en el dispositivo.

Investigando como llevarlo a cabo, me sorprendió que fuera tan sencillo dejarlo montado. Solo hay que hacer los siguientes pasos:

  1. Configurar una cuenta de correo con el cliente K-9 Mail
  2. Instalar el gestor de claves GPG OpenKeyChain
  3. Configurar K-9 para que trabaje con OpenKeyChain

Asumo que tienes una yubikey con soporte NFC y tus claves guardadas dentro, y tu clave importada a un servidor de claves.

K-9 Mail: No voy a hacer un tutorial de como usar K-9. Es un cliente bastante sencillo de configurar. Teniendo a mano la configuración del servidor entrante y saliente de vuestro correo, debería ser sencillo de echarlo a andar.

OpenKeyChain: Después de instalarlo, la aplicación te propone que añadas una clave. Habrá que seleccionar la opción “Usar token de seguridad”. Después te pedirá que acerques tu yubikey al movil, para que pueda leer la clave. Te pedirá por último que confirmes la clave bien subiendo fichero o desde servidor de claves. Elige la segunda opción y automágicamente ya lo tenemos.

K9 + OpenKeyChain: K9 soporta GPG, pero necesita una aplicación externa que gestione las claves. Para configurarlo, debemos entrar en ajustes->configuración de cuenta->Cifrado. Una vez dentro, seleccionamos la aplicación que se va a encargar de la gestión de claves, y después se selecciona la clave del correo electrónico que hemos añadido en el paso anterior.

Hecho esto, ya podemos mandar correos firmados o cifrados, y descifrar correos que nos envíen. Cuando haga uso de la clave, nos pedirá que introduzcamos el pin de la yubikey, y a continuación acercar la yubikey al movil. ¿Verdad que es cómodo?

Espero que os sea de ayuda y os anime a usar GPG en vuestros correos. Aprovecho para spamear que mi clave pública GPG está disponible en mi cuenta de keybase, para los que quieran mandarme un mail cifrado.

Hasta la próxima!

social