Un ataque pone en peligro el principal sistema de correo cifrado para burlar el espionaje en Internet

OpenPGP, la infraestructura digital que sostiene un gran número de sistemas de correo electrónico cifrado, está siendo atacada. La ofensiva, pese a su simplicidad (o precisamente debido a ella), ha puesto la red al borde del colapso y amenaza seriamente el futuro de los programas de email encriptados basados en software libre, usados para asegurar la privacidad de las comunicaciones y buque insignia en la lucha por las comunicaciones digitales seguras por derecho. La vulnerabilidad ha sido recogida este lunes por el Instituto Nacional de Ciberseguridad (Incibe) que le da una importancia “crítica”. 

La ofensiva es muy simple pero efectiva: en los sistemas basados en el protocolo OpenPGP, cualquiera puede atestiguar que otro usuario es quien dice ser firmando su certificado personal. El ataque consiste en firmar decenas de miles de veces el certificado de un mismo usuario, sobrecargando el sistema y ralentizándolo hasta machacar su usabilidad, ya que ese base de datos de certificados no se borra jamás.

Llevado al mundo real, es como si el envío de una carta pasara a ser el de un frigorífico. El peso y espacio extra de una a otro se compondría exclusivamente de miles de hojas con declaraciones firmadas por terceros que atestiguan la identidad del remitente de la carta. Debido a las características de OpenPGP, nadie puede desvincular esas declaraciones firmadas de la carta inicial, por lo que enviarla equivaldría al esfuerzo de cargar personalmente con un frigorífico hasta depositarlo en el buzón.

“Esto se decidió así, allá por los 90, por diseño para resistir a los potenciales ataques de gobiernos que quisieran censurar. Recordemos que todo el movimiento de cifrado libre nació como expresión de 'rebeldía' precisamente por el intento de control de la criptografía desde las altas esferas”, recuerda Sergio de los Santos, Director del área de Innovación y Laboratorio en ElevenPaths, unida de Ciberseguridad de Telefónica.

Sin embargo, es esta medida de seguridad la que pone en peligro todo el sistema. Como la base de datos de certificados no se puede borrar ni resetear por diseño, descargar uno “envenenado” equivale a romper la instalación del usuario, ya que en adelante tendrá que trabajar con el frigorífico. Se produce un efecto de denegación de servicio.

Aunque ahora son unos pocos, la comunidad prevé que los certificados contagiados crezcan inexorablemente y no se puede hacer nada al respecto. Se desconoce la identidad o el objetivo de los atacantes, que han usado una simple táctica de vandalismo digital para amenazar una de las estructuras descentralizadas más importantes de la comunidad de software libre.

“Sabíamos desde hace una década que este ataque es posible. Ahora está aquí y es devastador”, ha lamentado Robert J. Hansen, un colaborador de perfil alto de la comunidad de OpenPGP, que está haciendo de portavoz de la crisis. La ofensiva se ha desarrollado durante la última semana de junio y la comunidad no sabe cómo pararla. 

Dos vulnerabilidades conocidas desde hace años 

OpenPGP no es un programa específico de correo electrónico, sino un estándar de uso. De la misma forma que Google Chrome, Mozilla Firefox o Microsoft Edge son navegadores que emplean el protocolo HTML para entender las páginas web, Enigmail, Protonmail y un gran número de sistemas de correo electrónico encriptados utilizan OpenPGP para el envío de emails cifrados. OpenPGP ha sido usado de forma universal por su robustez y estar basado en código libre.

“Cuando Phil Zimmermann desarrolló por primera vez el PGP (”Pretty Good Privacy“, muy buena privacidad) a principios de la década de 1990, hubo un claro problema del huevo y la gallina. La criptografía de clave pública podría revolucionar las comunicaciones, pero los individuos requeridos poseen las claves públicas de cada uno”, ha explicado Hansen: “Para comunicarse de forma privada, cada parte debe tener un pequeño fragmento de datos públicos con los que poder iniciar un canal de comunicación privado”.

Ese “pequeño fragmento de datos públicos” que refiere Hansen funciona como un listín telefónico. La diferencia es que no hay ninguna autoridad central que ratifique que los usuarios y los datos que aparecen en ese fichero se corresponden con la identidad real de las personas. Esa es misión de los propios usuarios, que lo hacen de forma descentralizada firmando los certificados de los demás.

“Por ejemplo -detalla Hansen-, John Hawley (john@ejemplo.org) y yo (rjh@ejemplo.org) somos buenos amigos en la vida real. Nos hemos sentado cara a cara y confirmado nuestros certificados. Sé con certeza que un certificado público específico le pertenece; y él sabe con absoluta certeza que a mí me pertenece otro diferente. John también conoce a H. Peter Anvin (hpa@ejemplo.org) y ha hecho lo mismo con él. Si necesito comunicarme en privado con Peter, puedo buscarlo en el servidor de claves. Si veo que su firma lleva el certificado de John, puedo confiar que realmente pertenece a Peter”.

Aquí es dónde aparece el problema de base en OpenPGP. “En la red de pares de certificados públicos, donde cualquiera puede encontrar la clave pública PGP de una persona, no se borra jamás nada, nunca”, afirma De los Santos. Se diseñó así con objetivo de que un organismo ajeno no pudiera intervenir en él, borrando todo o una parte para engañar al resto de usuarios. 

La otra vulnerabilidad básica de OpenPGP es la ausencia de un límite en el número de firmas que un certificado puede acumular. “Si lo hubiera, también sería un problema, puesto que el atacante podría alcanzar el límite de firmas de confianza de un certificado e impedir que cualquier otro confiara de nuevo en él”, constata el experto de ElevenPaths.

Una prueba tan bien hecha que ha sostenido el sistema una década 

El ataque se dirige específicamente contra el software de de la base de datos donde se almacenan esos fragmentos de información pública necesarios para que el sistema funcione. Recibe el nombre de SKS (Servidor de Sincronización de Claves, por sus siglas en inglés) y fue un desarrollo creado como prueba de concepto de la tesis de Yaron Minsky. Y no hay nadie pendiente de mantenerlo a punto: “Aunque suene extraño, nadie sabe cómo va realmente y necesitarían no arreglar esto sino cuestionar el diseño en sí”, refleja De los Santos.

Sacar de la ecuación al SKS es la forma de defenderse del ataque que sugiere el Incibe, que recomienda “eliminar del llavero los certificados públicos envenenados y adquirirlos, nuevamente, desde un canal confiable”, entre los que sugiere keys.openpgp.org. También es la vía que están probando Hansen y los miembros de la comunidad OpenPGP.

No obstante, estos canales alternativos añaden restricciones y pérdida de funcionalidades al sistema. “El propio Hansen no cree que la red actual sea salvable”, lamenta De los Santos, que recalca que el futuro de la comunidad OpenPGP y del PGP en general, el germen de toda una galaxia de servicios usados para evitar la censura y el espionaje de gobiernos y grandes tecnológicas, queda ahora en entredicho.