03 agosto 2013

OpenPGP en Gmail con la extensión mymail-crypt de Chrome

Continuando con la entrada de hace un par de días y dando respuesta a uno de nuestros lectores, hoy vamos a comentar mymail-crypt, una extensión para Chrome que añade soporte para cifrar y firmar correos electrónicos en Gmail usando la librería OpenPGP.js.

La extensión cumple con su función tal y como hacía FireGPG en Firefox. El problema de estos plugins es que en algún momento el desarrollador se acaba cansando de los cambios en el DOM de Gmail y de tener que ir publicando versiones nuevas para que siga funcionando, por lo que optan por soluciones más genéricas como permitir cifrar cualquier texto y eliminar la funcionalidad de integrarse con Gmail. Esperamos que mymail-crypt no corra una suerte similar.

También es necesario conocer los riesgos de usar esta extensión en Chrome, ya que al no ser una aplicación de escritorio como tal hay algunas consideraciones:
  • No se debe utilizar en un PC compartido por varias personas.
  • Al escribir un borrador este se va guardando automáticamente en Gmail antes de que se llegue a enviar al destinatario, lo que supone que el texto es enviado de vez en cuando a Google hasta que se termina de componer.
  • Las claves privadas se almacenan dentro del navegador en su propio dominio, pero aun así, podrían llegar a ser accedidas por algún tipo de malware.
  • La contraseña se introduce en el DOM de Gmail, aunque en otro contexto.
  • El PRNG de OpenPGP.js depende de motor de javascript del navegador, que aunque debería ser suficientemente seguro, también debe de considerarse.

En este caso la instalación y uso es muy sencilla, tan solo hay que añadir la extensión al navegador y configurar las claves, ya sea creándolas o añadiendo alguna existente.

Para abrir la configuración se debe hacer desde Herramientas->Extensiones->Mymail-Crypt for Gmail, y desde ahí, insertar los certificados, tanto el privado como aquellos públicos que se deseen utilizar.

Configuración Mymail-Crypt

En la importación de claves no debería existir ningún problema si se copia correctamente el bloque, aunque OpenPGP.js tiene limitación a las siguientes implementaciones: RSA/AES/SHA1/CAST128.

Si no acepta la clave privada probad a modificar el Passphrase y volver a exportarla.

Importar clave privada en mymail-crypt

Una vez se haya introducido (o creado) la clave privada, se deben añadir manualmente aquellas públicas que se quieran usar de tus contactos de la pestaña "friend's keys".

Cuando esté terminado el proceso, al componer un nuevo correo electrónico se mostrará la ventana con tres nuevos botones con las opciones de cifrado y firmado.

Composición de un nuevo correo en Gmail con la extensión mymail-crypt

Como comentaba anteriormente, esta solución no evitaría algo del estilo PRISM, ya que es enviado a Gmail en claro y allí podrían leerlo mientras está en borrador, pero si evita que una tercera parte con acceso al correo acceda a la información.

3 comments :

Newlog dijo...

Ya después de haber desarrollado todo esto, no creo que fuera difícil evitar que el correo se guarde como borrador, no? Imagino que es Javascript/Ajax, no? Sería cuestión de que la extensión eliminara esa funcionalidad.


[Todo esto lo comento sin haberme mirado como funciona, así que es probable que me equivoque ;) ]

TAPi dijo...

Muchas gracias por ampliar el artículo del pasado día 31 centrándote en Chrome/Gmail.


No creo que funcione pero voy a intentar habilitar el certificado digital de la FNMT en la extensión, ¿hasta que punto consideras que es seguro importar en la extensión nuestra clave privada?


Porqué no conoces ninguna aplicación/extensión que permita utilizar el certificado de la FNMT en Gmail, verdad?


Muchas gracias por todo,
TAPi.

Lua dijo...

Muy buenas las dos recomendaciones, tanto esta como la de outlook, probaré.