En los telediarios se habla mucho de privacidad, filtración de información y espionaje. Hoy en día, la mayoría de nuestras comunicaciones tienen lugar en la Red y a través de nuestros dispositivos electrónicos; por eso, es muy importante que nuestra información confidencial esté bien protegida. La cuestión de la seguridad de los datos no afecta solo a las grandes empresas que tienen almacenado un volumen importante de información, sino también a nosotros que utilizamos los ordenadores prácticamente a diario. Para que nuestros datos sean solo nuestros, hay una solución llamada PGP que garantiza la protección de las comunicaciones online.
Pretty Good Privacy (PGP) es un programa creado por Phil Zimmermann que nos ayuda a proteger nuestra privacidad, para que todas las comunicaciones estén a buen seguro; al mismo tiempo, garantiza la autenticidad de los mensajes electrónicos que enviamos. Podemos cifrar cualquier tipo de información personal (emails, archivos o el disco duro entero): siendo difícil para cualquier otra persona, que no seamos nosotros, intentar sacar información o interceptar el contenido de estos archivos. Hay también la opción de “firma digital” para enviar mensajes que serán verificados por el destinatario; así estaremos tranquilos porque el mensaje no ha sido modificado durante el proceso de envío y solo nosotros hemos podido enviarlo. Imaginemos, por ejemplo, que todo el mundo firma sus mensajes electrónicos (es fácil imaginarlo): los ataques de phishing serían mucho más difíciles de llevar a cabo y la mayoría de los emails falsos o engañosos que recibimos cada día simplemente ya no existirían, porque para los cibercriminales ya no merecería la pena poner tanto esfuerzo en falsificar mensajes con firma.
Zimmermann diseñó PGP hace más de 20 años y desde entonces se han realizado muchas mejoras. Al principio, el gobierno estadounidense investigó a Zimmermann “por exportación de municiones sin licencia”, ya que los productos de encriptación más fuertes de 40 bits (PGP era un producto de 128 bit) se consideraban como municiones. Aunque se cerró el caso sin cargos para Zimmermann, se demostró cómo de potente puede ser una herramienta de encriptación y por qué algunos importantes accionistas de empresas tienen tanto interés en este asunto.
Al final, la versión completa de PGP con un sistema de encriptación fuerte ha llegado al gran público. La organización Free Software Foundation desarrolló su propio programa gratuito PGP llamado GNU Privacy Guard (abreviado como GnuPG o GPG), que proporciona una librería para encriptación, descifrado y funcionalidades de firma electrónica. Además, PGP se acompaña también con interfaces muy cómodas para el usuario (llamadas GUI), disponibles para la mayoría de los sistemas operativos disponibles.
Como el código fuente de PGP está disponible para la descarga, cualquier persona puede revisarlo, buscar errores y backdoor o solo echarle un vistazo. Aunque no todo el mundo esté familiarizado con este tema, hay una comunidad de expertos en el sector (no relacionados con ningún gobierno o empresa) que revisa continuamente el código fuente para que PGP no sufra alteraciones externas. Es un aspecto muy importante a considerar, sobre todo después de las recientes revelaciones según las cuales algunas agencias de seguridad han intentado eludir la encriptación de los protocolos modernos de comunicación.
Nos imaginamos ahora que ya queréis probar PGP/GPG para ver si os puede ser útil. Con la criptografía asimétrica necesitamos dos claves separadas, una es privada (que sirve para la descifrado o la firma digital), y la otra es pública (para cifrar un archivo de texto o para verificar la firma digital). No es necesario entender todo enseguida, porque iréis aprendiendo poco a poco con el uso del programa. De todas formas, en este post os explicaremos algunos conceptos básicos de criptografía de claves públicas para que podáis familiarizaros un poco con el tema y luego empezar a utilizar todas las herramientas disponibles para vuestro sistema operativo.
Por “clave” entendemos una cadena de caracteres alfanuméricos. Esa clave puede ser exportada a un fichero o cargada en un servidor de claves para poderla compartir con otras personas (o sea la clave pública). PGP genera esta clave a través de muchos algoritmos de encriptación. Es necesario recordar que la clave pública y la privada están matemáticamente conectadas con este algoritmo; por esto, se pueden compartir partes de este algoritmo sin comprometer la seguridad del sistema.
No hay excusas para no utilizar PGP/GPG, las herramientas están disponibles para los principales sistemas operativos. Además, hay herramientas específicas para cada sistema operativo. Por ejemplo, para Mac OS X tenemos GPG Suite que comprende un plugin para Apple Mail, una funcionalidad llamada “llavero” para gestionar todas las claves, servicios GPG para cifrar/descifrar/firmar/verificar textos y archivos etc. Además, existe MacGPG que es la versión equivalente de GnuPG. Para los usuarios Windows hay una herramienta parecida que se llama GPG4Win, que incluye un puerto de GnuPG, una keychain, plugin para los principales clientes de correo electrónico, en fin, todo lo necesario para empezar.
Es muy importante recordar que la seguridad de las claves depende no solo de la contraseña que se utiliza para su creación, sino también de cómo se guarda esta clave. Si alguien tuviera acceso a fichero de códigos y a la contraseña (por ejemplo si un keylogger está instalado en el ordenador), el sistema entero de seguridad sería comprometido de una manera muy grave. Es muy importante no dejar nunca a nadie la clave privada y es necesario elegir una contraseña que solo el usuario pueda recordar y que al mismo tiempo sea difícil de descifrar.
Cuando creamos una nueva pareja de claves con PGP, tendremos que elegir su longitud y una contraseña para proteger nuestra clave personal. Cuanto más sea larga la clave, más tiempo necesitará el sistema de generación de claves para completar el proceso; de todas formas, como solo se hará esto una vez, recomendamos que la longitud de la clave sea por lo menos de 4.096 bit. Para una mayor seguridad a largo plazo, lo ideal sería de 8.912 bit, pero hay que esperar un poco hasta que finalice la operación (aunque para PGP y GPG hay procesos diferentes para la generación de las claves).
¿Por qué elegir la longitud de contraseña y clave es tan importante? Pues, imaginemos que alguien tiene acceso a nuestra keychain y obtiene una copia de nuestro fichero con la clave personal. Si esta persona no conoce la contraseña, una manera para crackear la clave sería directamente el sistema de criptografía; considerando la longitud de la clave (4.096 o 8.192 bit), se necesitaría demasiado tiempo y sería muy difícil descifrarla con las tecnologías informáticas disponibles hoy en día. La otra opción sería utilizar un diccionario o llevar a cabo un ataque de fuerza bruta para encontrar la contraseña elegida para proteger la clave. Ésta es la opción más común y es la manera más directa para obtener el acceso a los datos encriptados. Con una clave personal muy larga, es más improbable que haya ataques de este tipo.
En cuanto tengamos nuestra pareja de clave PGP, podemos proceder de esta forma: distribuimos la clave pública a todo el mundo, podemos incluirla por ejemplo en la firma al final de nuestros mails, o darlas a nuestros amigos que nos escriben con más frecuencia. Ellos también tienen que utilizar un sistema parecido de encriptación PGP/GPG para encriptar sus mensajes a través de nuestra clave pública. Solo nosotros, con nuestra clave personal, podemos descifrar estos mensajes. Para enviar una respuesta a un mensaje de forma criptada, tenemos que utilizar la clave pública de nuestro amigo. El sistema para la firma digital es exactamente el contrario: cuando enviamos el mensaje, nosotros lo “firmamos” con nuestra clave personal. Cualquier persona puede utilizar nuestra clave pública para verificar la autenticidad del mensaje. Parece un poco complicado pero con un cliente de correo electrónico se puede configurar todo en un par de clics:
Resumiendo hemos visto que PGP al principio tuvo algunas dificultades; luego hemos explicado un poco la base de este sistema. Al final hemos descrito los conceptos básicos sobre su seguridad y hemos dado algunas pequeñas recomendaciones. Esperemos que todo esto os haya motivado y que ahora tengáis intención de probar PGP y de utilizarlo para encriptar/firmar vuestros archivos e información. Cada uno de nosotros tiene que preocuparse de la privacidad de nuestros datos porque nuestra vida online es mucho más importante de lo que pensamos. Por suerte, gracias a algunas herramientas es bastante fácil y con el tiempo nos daremos cuenta que confiar en estas herramientas ha sido la mejor elección.
Gobiernos y agencias para la seguridad nacional han fundado sus programas sobre la privacidad, y también los criminales. ¿Qué pueden hacer los usuarios comunes? Antes, los que tenían dinero podían permitirse sistemas de encriptación muy avanzados, casi de nivel militar. Con la llegada de PGP, las cosas cambiaron. Al principio el usuario común no sabía cómo mantener seguras sus comunicaciones e su información personal, ni tampoco empresas y otras entidades querían que se encontrara un método. Por suerte, después de 20 años, PGP ha colmado este vacío, demostrando ser un sistema capaz de garantizar privacidad y libertad.