¿Te has sorprendido alguna vez enviando un fichero comprimido con contraseña a un conocido?
Pues el otro día en el trabajo un compañero me pasó un post-it con la clave del fichero que acababa de enviarme por email y se me encendieron todas las alarmas para indicarme que algo no estaba del todo bien.
En este tipo de soluciones el eslabón más débil se encuentra precisamente en el intercambio de la clave entre las partes; en este caso no era complicado porque trabajamos en la misma sala pero qué ocurre si teletrabajas, ¿te envía la contraseña en otro correo? 😉
Eso sin hablar que se puede crackear fácilmente un archivo zip.
Solución adoptada
Rápidamente pensé que la mejor opción era utilizar Pretty Good Privacy (PGP)
Motivos:
- Permite encriptar (o firmar) cualquier fichero
- No requiere intercambiar claves al utilizar la clave publica del destinatario del fichero.
- Cómodo de utilizar al integrarse con Nautilus
- Existen addons para su uso con gestores de correo como Thunderbird
Instalación y configuración
En Ubuntu Linux es tan sencillo como lanzar un
sudo aptitude install seahorse seahorse-plugins
El primero (seahorse) es más que posible que lo tengas instalado pues es el administrador de claves de cifrado que suele venir con el Sistema
mientras que seahorse-plugins es el que nos permitirá realizar las operaciones de firma y/o cifrado cómodamente desde nuestro navegador de archivos (Nautilus) sobre cualquier fichero que deseemos enviar.
Si deseas poder usar el plugin de Nautilus rápidamente sin tener que reiniciar el equipo y/o cerrar sesión deberás lanzar
sudo pkill -9 nautilus
que se encargará de matar todos los procesos de Nautilus de modo que cuando vuelvas a abrir el administrador de archivos cargue el nuevo complemento.
NOTA: La gestión de claves PGP en Linux queda fuera del objetivo inicial de este artículo; por fortuna existe gran cantidad de información en Internet queriendo destacar entre la que he encontrado la siguiente recopilación de artículos publicados por @Pablo.s en UbuntuForums
Problemas que plantea la solución
Problemas genéricos
Por desgracia no es una solución ideal; se me plantean una serie de inconvenientes entre los que destacan
- Son pocos los que usan PGP lo cual se traduce en la imposibilidad de enviar ficheros encriptados al no tener el destinatario claves de firma. Por fortuna es cuestión de educarlos de modo que si quieren recibir un correo con algún documento importante y/o confidencial tendrían que darse de alta y conseguir su clave de firma.
- Es incómodo de usar para los usuarios de Windows. Puede que esté siendo demasiado osado con esta afirmación pero hasta donde he estado mirando no he encontrando ningún complemento al administrador de archivos que les permita encriptar o firmar ficheros sin tener que recurrir a programas específicos (que hay que abrir para seleccionar los ficheros a procesar) o a incluir entradas esotéricas en el registro del sistema. Si alguien conoce una solución sencilla le agradecería comentario para poder ofrecerla a las personas con las que intercambio ficheros con datos sensibles. 😉
Problemas particulares
Cual ha sido mi sorpresa al descubrir que la política de seguridad de la empresa en la que trabajo actualmente tiene capado el puerto 11371 que es el utilizado por la inmensa mayoría de servidores de clave PGP.
Esta restricción no sólo afecta a mi firma y encriptación sino que me impide añadir al keyring las claves de los repositorios que uso en mi Ubuntu al ser precisamente PGP el sistema utilizado como mecanismo de autenticación y verificación de dichos servidores 😦
Se me ocurren varias ñapas
-
- Proporcionar «manualmente» por correo o a través de un pendrive mi clave pública a todo aquel que desee enviarme información privada.
- Activar la opción compartir claves con los usuarios de mi red que incluye Seahorse. Debería hacer algunas pruebas para ver cómo funciona con usuarios de Windows (la inmensa mayoría de mis destinatarios).
- Utilizar Dropbox para colgar de él mi clave pública (y puede que la de aquellos con los que haya mantenido correspondencia)
- Encontrar servidor de claves que use el puerto 80 en lugar del 11371. Hasta la fecha no he encontrado ninguno pues todos, aunque responde en dicho puerto para mostrar un formulario html desde el que consultar y/o subir claves públicas terminan usando el puerto 11371 para la sincronización. ¿Alguien conoce alguno que pueda utilizar?
- Convencer a los responsables de seguridad de la idoneidad de habilitar el puerto 11371. Esto es a medio plazo y se me antoja complicado pues se trata de una importante corporación y resulta difícil que se adopte la solución (¿es posible que no se haya planteado la necesidad anteriormente?)
Conclusión
Solución cómoda para el envío de información privada y/o sensible que tiene como punto débil la reducida cantidad de personas que cuentan con clave de firma debido, entre otras, a la falta de concienciación y/o conocimiento tanto de la problemática como de las herramientas existentes para evitarlo.
Antes de que alguien comente algo al respecto 😉 indicar que soy consciente que existen plugins para Thunderbird (e imagino que para Evolution) que permiten encriptar el correo entero en lugar de los ficheros a adjuntar pero no suelo utilizar este tipo de programas (prefiero el webmail y no tener que estar lidiando con los ficheros que almacenan el correo en local).
Hombre, fácilmente… que yo sepa zip (con el programa WinZip, pero también con otros) se encripta usando AES.
Es tan fácil como hacer un ataque de fuerza bruta/diccionario al estándar actual de criptografía simétrica.
Un zip con una buena contraseña no lo puede joder nadie.. bueno, quizás la NSA. xD
De todas formas, si necesitas las firmas digitales comprendo que uses PGP.
Me gustaMe gusta
Por la parte de windows se que solo existe gpg4win, el cual instala Kleopatra (KDE) y GPA como administradores de claves, un complemento que se integra a Outlook, aparte de un servicio agente que permite que complementos de terceros como FireGPG, puedan usar la claves almacenadas en el sistema.
Me gustaMe gusta
Gracias por el apunte @Braiam; como comentario adicional indicar que desgraciadamente el fantástico FireGPG ha dejado de ser soportado por su autor 😦
Me gustaMe gusta
Por lo menos esperemos que libere el codigo fuente, para que se pueda segir desarrollando su obra.
Me gustaMe gusta
Eso sí que lo tenemos pero por lo visto el principal motivo por el que abandonó el autor el proyecto era que los continuos cambios de GMail le daban demasiado trabajo 😦
Me gustaMe gusta
Yo estoy en un proceso de poder implementar firma digital para el intercambio de documentos internos en una institución educativa en linux esta también la opción de kgpg y Kleoapatra para el caso de correo electrónico esta la opción de enigmail para thunderbird.
Me gustaMe gusta
Un proyecto muy interesante Florentino; yo sigo preguntándome porque bancos y empresas medianas-grandes en España siguen empeñados en que se les envíe documentación por correo ordinario cuando puedo firmárselos digitalmente y enviarlos por email (el otro día me sorprendí comprando sobre y sello al tiempo que rezongaba ante tan arcaica, y olvidada, costumbre)
Me gustaMe gusta