"Inline PGP" ha muerto, larga vida a PGP/MIME

Estaba el otro día cumpliendo mi rutina diaria de ponerme al día con el mundo a través de Twitter cuando me tropecé con un artículo aparentemente anodino: Inline PGP signatures considered harmful. "Bah, qué chorrada", me dije. Pero no. Me hizo pensar.

Empecé a usar Enigmail a primeros de 2005, y de forma completa (es decir, con todos mis interlocutores) a mediados de 2006. En aquel momento probé tanto la opción de "Inline PGP" como PGP/MIME. Al final opté por "Inline PGP" por varios motivos:

  • Proselitismo: si la gente ve unos "codigos raros" en mis mensajes, algunos de ellos se interesarán por saber qué es eso. Con suerte, una pequeña parte de ellos verá la luz.

    La verdad es que este plan nunca dió buen resultado. Cachislamar...

  • Se puede cortar y pegar un mensaje firmado y verificarlo fuera del programa de correo.

  • Mailman, un popular gestor de listas de correo, destrozaba las firmas digitales PGP/MIME.

  • PGP/MIME añade un documento adjunto al mensaje y, además, trocea el texto (potencialmente, cuando un nodo intermedio -como una lista de correo- añade un pie de mensaje) en varios objetos MIME, que deben visualizarse correctamente en el programa de correo. Esto, por ejemplo, no funcionaba con las versiones antiguas de Microsoft Outlook Express.

Así que tiré por ese camino, "Inline PGP".

A pesar del paso de los años y los innumerables problemas (sutiles) que me ha traído esa decisión, no me lo volví a plantear hasta leer el susodicho artículo. Además de lo indicado por el artículo, yo añadiría:

  • Cuando alguien responde un mensaje con una firma "Inline PGP", puede haber falsos positivos si el remitente no limpia correctamente el "quoteo". Lo que, por cierto, parece ser un arte perdido en nuestros tiempos.
  • Es muy fácil que la firma falle al atravesar sistemas que lo alteran de formas invisibles, como el "line wrapping" o el "charset". O al añadir un pie de mensaje, cosa habitual con las listas de correo.
  • Todas las líneas que empiezan con un signo menos (-), duplican el menos. Es decir, se altera visualmente el mensaje, para mantener el ASCII armour PGP. Como programador, esto puede ser un gran incordio con los "diff". No para mí, que tengo Enigmail instalado, sino para mis contertulios.
  • Cuando enviamos un mensaje con archivos adjuntos, sólo firmamos el texto en sí, no los adjuntos.

Migrar a PGP/MIME soluciona todos estos problemas. Las versiones modernas de Mailman ya no tocan la firma (a partir de la versión 2.1.13). Los problemas de compatibilidad con los clientes de correo electrónico deberían ser cosa del pasado.

Estamos en 2014. Tiremos p'lante.

Para reconfigurar Thunderbird (con la extensión Enigmail) hacemos lo siguiente:

  • Configuración de cuentas.
  • Elegimos la cuenta de correo que nos interesa.
  • OpenPGP Security.
  • Aquí seleccionamos "use PGP/MIME by default".

Si tenemos varias cuentas, hacemos los mismo con cada una de ellas.

Llevo trabajando con PGP/MIME un par de semanas. El único efecto secundario que he notado, de momento, es que la firma digital nos aparece también como un archivo adjunto al mensaje en sí. No me molesta.

Más puntos de vista sobre esto: GPG Signing: Traditional vs. PGP/Mime. Página anticuada, pero interesante. Google está lleno de referencias sobre este tema. ¡Echadles un vistazo, pardiez!.