Escondiendo las claves debajo del felpudo: los Gobiernos podrían garantizar la inseguridad universal

Gonzalo Álvarez Marañón    14 diciembre, 2020
Escondiendo las claves debajo del felpudo los Gobiernos podrían garantizar la inseguridad universal

Sonó el timbre de la puerta. «¿Quién llamará a estas horas?», se preguntó Brittney Mills, mientras se levantaba con dificultad del sofá. Sus ocho meses de embarazo empezaban a entorpecer sus movimientos. «Tú no te muevas», le dijo al pasar a su hija de 10 años sentada delante de la TV. Cuando Brittney abrió la puerta, dos balazos la dejaron seca en el suelo. Su hija corrió a esconderse en el baño al oír los disparos. Su bebé murió unas horas más tarde,nunca se encontró al asesino. Las autoridades recurrieron a su iPhone en busca de evidencias incriminatorias, pero no pudieron desbloquearlo. Acudieron a Apple, pero la compañía alegó que no podía entrar en su smartphone porque su contenido estaba cifrado y sin su código de desbloqueo era imposible recuperar las claves.

Este caso real, acaecido en abril de 2015 en Baton Rouge, Louisiana, junto a otros muchos, como el del tiroteador Syed Farook, quien asesinó a 14 personas y dejó heridas a 22 en San Bernardino, han enfrentado a las autoridades contra Apple y reabierto un viejo debate: ¿debe la tecnología de cifrado estar disponible para todo el mundo, con el consiguiente riesgo de entorpecer las investigaciones criminales?

Puede que no seas consciente de ello, pero usas a todas horas la criptografía más robusta que jamás haya existido

Cuando usas apps de mensajería, como Whatsapp, iMessage o Telegram; o aplicaciones de videoconferencia, como Facetime o Zoom; o algunos servicios de correo electrónico, como ProtonMail u OpenPGP; estás usando cifrado de extremo a extremo: la comunicación entre tu dispositivo y el de la otra persona está totalmente cifrada y nadie, ni siquiera el proveedor del servicio, puede enterarse del contenido.

Es más, tu información dentro del smartphone está cifrada mediante una clave maestra generada dentro del dispositivo a partir de tu código de desbloqueo y que nunca lo abandona. Igualmente, puedes cifrar tu portátil con una clave maestra derivada de tu contraseña.

Al final, resulta que productos de consumo cotidianos incorporan una criptografía tan potente que ya nadie puede romperla. Y claro está, no solo tú usas un smartphone o un portátil, también criminales, terroristas y asesinos. Las autoridades contemplan impotentes cómo en las salas de los tribunales se apilan montañas de smartphones, tablets y ordenadores con evidencia inestimable en su interior… ¡a la que nadie puede acceder!

¿Debería prohibirse la criptografía? ¿Deberían relajarse las medidas de seguridad de los dispositivos tecnológicos actuales? Algunos gobiernos están proponiendo una vía intermedia: custodiar una copia de las claves (key escrow).

La idea detrás de la custodia de claves

En apariencia, el concepto es bien sencillo: una autoridad de confianza custodia una copia de las claves de cifrado usadas por todos los dispositivos existentes en el país. Es decir, se busca que los malos no tengan acceso a la información de los ciudadanos, pero que los buenos sí la tengan, por supuesto solo en caso excepcional.

Existen precedentes ya desde los 90. En aquella época, el gobierno de EEUU aún consideraba la criptografía como munición y, por tanto, su exportación estaba prohibida, salvo que se debilitase a claves de 80 bits. Para la potencia de cálculo de la época no estaba ni tan mal, porque se suponía que nadie más que la NSA podría romperlas. ¿Qué podía salir mal?

No hace falta buscar muy lejos. Consideremos el protocolo SSL/TLS. Los navegadores y sitios web se vieron obligados a incluir suites de cifrado con 80 bits de clave. Ya conoces el famoso adagio informático: «si funciona, no lo toques». Así que, 20 años después, TLS seguía soportando las suites debilitadas a pesar de que la restricción de exportación había desaparecido en 2000. Y en 2015 llegaron los ataques FREAK y LogJam, que permitían degradar la seguridad de un sitio web a las suites de cifrado de exportación, volviendo su criptografía tan débil que se rompía en segundos. Irónicamente, los sitios web del FBI y de la NSA también cayeron afectados.

Allá por los 90, la NSA también intentó restringir las capacidades criptográficas de los dispositivos de comunicaciones mediante otra vía: el chip Clipper. La idea detrás de Clipper era que cualquier dispositivo telefónico o aparato de comunicaciones que fuese a usar criptografía incorporase el chip Clipper con una clave criptográfica preasignada que luego se entregaría al gobierno bajo custodia. Si alguna agencia gubernamental estimaba necesario intervenir una comunicación, desbloquearía la clave y descifraría la comunicación. Por fortuna, nunca llegó a ver la luz, ya que no fue capaz de cumplir los requisitos exigidos y resultó ser hackeable. Si te pica la curiosidad por la historia de este chip, te recomiendo el capítulo dedicado a su auge y deceso en el libro Cripto, de Stephen Levy.

Otra cuestión que surge es: ¿quién custodia la clave? El servidor de claves constituye un punto único de fallo. Si un atacante consigue irrumpir en él, se haría con las claves de toda la población y podría descifrar las comunicaciones de todos los ciudadanos. Obviamente, no parece una buena idea almacenarlas todas en el mismo sitio. Podría obligarse a que cada proveedor de servicio almacenase la de sus clientes, pero ¿cuántos lo harían con seguridad?

O podrían repartirse las claves entre varias agencias gubernamentales, de manera que tendrían que aportar cada una su parte de la clave en caso de necesitarse. Por supuesto, implementar un sistema tal de reparto de claves no es para nada sencillo y la clave maestra sigue siendo vulnerable una vez recompuesta.

Otra opción sería recurrir a la criptografía con umbral, pero aún está muy verde, lejos de llegar a algoritmos robustos universalmente aceptados.

Más aún, aunque existieran dichos algoritmos, la solución elegida obligaría a importantes cambios en los protocolos y aplicaciones criptográficas de todos los productos y servicios. Habría que rescribirlos, con la consiguiente aparición de vulnerabilidades y errores.

Además, quedan muchas preguntas en el aire: ¿estos cambios deberán implantarse a nivel de sistema operativo en iOS, Android, Linux, Windows, MacOS, etc.?, ¿todo creador de aplicaciones que usen cifrado estaría obligado a entregar claves bajo custodia?, ¿estarían todos los usuarios obligados a usar estas puertas traseras?, ¿cuánto tiempo tardaría en hacerse la migración?, ¿qué pasaría con las aplicaciones legadas?…

Hasta ahora estamos hablando de custodiar la clave como si existiera una única clave por usuario o por dispositivo. La realidad es bien distinta, tanto para cifrado en reposo como para cifrado en tránsito se utilizan multitud de claves que van rotando constantemente, derivadas a partir de claves maestras, que también pueden rotar. No se cifran dos mensajes de WhatsApp con la misma clave. Cada vez que cambias la contraseña o código de acceso a tu dispositivo se actualiza una cadena de claves. En fin, ni siquiera está claro qué clave o claves habría que custodiar ni cómo podrían actualizarse las claves custodiadas para servir de algo en caso de necesitarse.

En resumen, citando el completo trabajo de un grupo de criptógrafos de los 90, la custodia de claves impactaría en al menos tres dimensiones:

  • Riesgo: el fallo de los mecanismos de recuperación de claves puede poner en peligro la seguridad de los sistemas actuales de cifrado.
  • Complejidad: aunque sería posible hacer la recuperación de claves razonablemente transparente para los usuarios finales, una infraestructura de recuperación de claves plenamente funcional es un sistema extraordinariamente complejo, con numerosas entidades, claves, requisitos operativos e interacciones nuevas.
  • Costo económico: nadie ha descrito aún, y mucho menos demostrado, un modelo económico viable para dar cuenta de los verdaderos costos de la recuperación de claves.

Hasta ahora hemos asumido que el Gobierno solo haría uso de las claves bajo custodia para investigaciones criminales. ¿Qué garantía tienes de que no las usarán contra sus propios ciudadanos? La cosa se complica aún más.

¿Y qué hay de los criminales? Para ellos sería tan sencillo como crear sus propias apps de mensajería o de cifrado de datos con criptografía segura sin revelar a nadie sus claves y santas pascuas. Si obligas a custodiar las claves, solo los criminales usarán claves sin custodiar.

En fin, los sistemas de custodia de claves resultan intrínsecamente menos seguros, más costosos y difíciles de usar que los sistemas similares sin una función de recuperación. El despliegue masivo de infraestructuras basadas en la custodia de claves para cumplir las especificaciones de las fuerzas del orden requeriría importantes sacrificios en materia de seguridad y comodidad y un aumento sustancial de los costes para todos los usuarios. Además, la creación de una infraestructura segura de la magnitud y complejidad descomunales que se requerirían para un sistema de esa índole va más allá de la experiencia y la competencia actual en la materia, por lo que bien podría introducir en última instancia riesgos y costes inaceptables.

Bastantes fallos de seguridad tienen ya productos y servicios actuales que buscan ser seguros, como para introducir la vulnerabilidad criptográfica por diseño en nuestros futuros productos y servicios. Hasta ahora todos los intentos han fallado miserablemente. Y todo apunta a que seguirían fallando en el futuro.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *