Framework alternativo a los gigantes de Internet mejora su velocidad y fiabilidad.

Se ha publicado la versión 0.25 del framework GNUnet —una herramienta para construir redes distribuidas sin un único centro de control. Este proyecto está orientado a la protección de la privacidad y a la tolerancia a fallos: los administradores de nodos individuales no pueden abusar de privilegios, y la propia arquitectura excluye la existencia de un único punto de vulnerabilidad.
GNUnet permite organizar interacciones entre pares sobre distintos transportes: TCP, UDP, HTTP(S), Bluetooth y redes inalámbricas. Hay un modo amigo a amigo, soporte para eludir NAT (incluyendo UPnP e ICMP), trabajo con una tabla de hash distribuida para direccionamiento, así como mecanismos para construir infraestructuras en malla. Para la gestión de permisos se emplea reclaimID, un sistema de intercambio de atributos de identidad basado en GNU Name System y en cifrado ligado a atributos.
La arquitectura de la plataforma es multiproceso: los distintos módulos están aislados entre sí, lo que mejora la estabilidad. Para el análisis del funcionamiento hay registros y un sistema de recopilación de estadísticas. Los desarrolladores de aplicaciones pueden usar la API en lenguaje C o envoltorios para otros lenguajes. En lugar de hilos se propone un modelo de procesamiento por eventos, y para pruebas hay herramientas para desplegar redes experimentales con miles de participantes.
Sobre GNUnet se desarrolla todo un conjunto de soluciones aplicadas. Entre ellas — GNU Name System, una alternativa descentralizada al DNS en la que, en lugar de una jerarquía de servidores, se usa un grafo de vínculos, y las consultas y respuestas se cifran de tal forma que incluso los nodos intermedios no pueden entender qué nombre se está resolviendo. En GNS la integridad se garantiza mediante criptografía basada en Curve25519 y ECDSA.
El sistema también incluye: – un servicio de intercambio anónimo de archivos que utiliza el protocolo GAP para transmitir datos únicamente cifrados; – un mecanismo para crear servicios ocultos en el dominio .gnu con soporte para túneles IPv4 e IPv6 y traducciones entre ellos; – la aplicación GNUnet Conversation para llamadas de voz a través de GNS, donde el tráfico está cifrado, pero las direcciones IP de los interlocutores siguen siendo visibles; – la plataforma social Secushare, que usa el protocolo PSYC y notificaciones multicast con cifrado de extremo a extremo; – el sistema de pagos electrónicos GNU Taler, que garantiza el anonimato del comprador y la transparencia de las transacciones para el vendedor; – GNUnet Messenger, el mensajero basado en el protocolo CADET que ofrece chats grupales protegidos con cifrado de extremo a extremo.
Los principales cambios de la versión 0.25 están relacionados con módulos fundamentales. El subsistema CORE, responsable del enrutamiento y del intercambio de mensajes, fue revisada y ahora soporta nuevos canales seguros. En ellos se usa KEMTLS —una variante del protocolo de acuerdo de claves en la que se emplean X25519, XChaCha20 y Poly1305, además de varias ideas de DTLS 1.3.
Otra novedad es el servicio PILS (Peer Identity Lifecycle). Permite generar distintos identificadores de un mismo participante según el contexto de conexión: por ejemplo, al operar desde casa o al conectarse desde otro país se formarán credenciales diferentes, lo que dificulta el seguimiento de movimientos.
También se ha acelerado notablemente el trabajo con zonas en GNS: las operaciones de transferencia de datos DNS ahora se ejecutan más rápido, se añadieron herramientas para el espejado e importación de zonas desde ficheros. En el sistema de compilación se ha dejado de dar soporte a AutoTools, lo que también refleja la transición a un proceso de desarrollo más moderno.
GNUnet 0.25 confirma la dirección del proyecto hacia la construcción de un ecosistema de aplicaciones descentralizadas que ofrecen privacidad e independencia a los usuarios en un contexto de creciente presión sobre el anonimato en la red.