¿Por qué la antigua protección fue considerada poco fiable y qué la ha reemplazado?

El proyecto Tor se está preparando para una importante actualización de la protección del tráfico: en la red de nodos anónimos aparecerá un nuevo algoritmo de cifrado Counter Galois Onion (CGO), que sustituirá al esquema obsoleto Tor1. Los desarrolladores esperan así reforzar el anonimato de los usuarios y hacer la red más resistente a los métodos modernos de interceptación y manipulación de datos.
Tor es una red distribuida de miles de retransmisores por la que el tráfico pasa en una cadena de tres nodos — de entrada, intermedio y de salida. Cada salto añade su propia capa de cifrado, lo que produce cadenas en forma de cebolla. Sobre este modelo también se construye el navegador Tor, basado en Firefox y destinado al acceso anónimo a sitios, a eludir bloqueos y a ocultar la actividad frente a los proveedores.
El esquema antiguo Tor1 se diseñó en una época en la que los estándares criptográficos modernos aún no se habían consolidado. Se basa en el modo AES-CTR sin autenticación en cada salto, por lo que el cifrado a nivel de retransmisores sigue siendo mutable. Un atacante que controle parte de los nodos, teóricamente, puede modificar el tráfico y, a partir de cambios predecibles, recuperar la información deseada — esto pertenece a la clase de los llamados ataques de etiquetado y canales ocultos.
Además, la seguridad se ve socavada por la reutilización de las mismas claves AES durante toda la vida útil de la cadena, lo que, en caso de compromiso de las claves, ofrece la posibilidad de descifrar el tráfico acumulado. Otro punto débil es la corta suma de verificación de 4 bytes basada en SHA-1, que deja una ventana para la falsificación poco probable pero posible de las celdas sin detección. Los propios desarrolladores subrayan que el primer problema mencionado es el que consideran más serio.
CGO pretende cerrar estas vulnerabilidades. El nuevo esquema se basa en la construcción Rugged Pseudorandom Permutation UIV+, propuesta por los criptógrafos Jean-Paul Degabriele, Alessandro Melloni, Jean-Pierre Münch y Martijn Stam. En Tor señalan que CGO cumple un conjunto de requisitos estrictos: protege contra la sustitución de celdas en tránsito, proporciona secreto directo inmediato, utiliza etiquetas de autenticidad ampliadas, consume el ancho de banda de forma eficiente y se basa en criptalgoritmos actuales.
En el nuevo esquema, el cifrado de bloques anchos y la cadena de etiquetas están organizados de modo que cualquier modificación de los datos hace imposible recuperar no solo la celda actual, sino también las posteriores, lo que anula los ataques de etiquetado. Las claves se actualizan después de cada celda, por lo que incluso en caso de compromiso de las claves actuales, el tráfico anterior sigue estando protegido.
El mecanismo de autenticación se refuerza al abandonar SHA-1 en este circuito y pasar a un código de comprobación de 16 bytes. Además, se mantiene la integridad de la cadena: los parámetros de servicio, como el valor inicial del contador y la etiqueta cifrada, están vinculados entre celdas, por lo que cualquier manipulación del flujo se detecta fácilmente.
La implantación de CGO ya se está llevando a cabo tanto en la implementación clásica de Tor en C como en el cliente Arti, escrito en Rust. La funcionalidad está marcada como experimental: queda por implementar la negociación de parámetros para los servicios onion y realizar la optimización del rendimiento. Los usuarios del navegador Tor no tendrán que activar nada manualmente: la transición al nuevo algoritmo ocurrirá automáticamente una vez completado el despliegue. Los desarrolladores aún no especifican fechas concretas para cuándo CGO se convertirá en el esquema predeterminado.