Se ha presentado la versión 0.16 del marco GNUnet, destinado a construir redes P2P descentralizadas y seguras. Las redes creadas con GNUnet no tienen un único punto de fallo y pueden garantizar la privacidad de la información del usuario, excluyendo posibles abusos por parte de agencias de seguridad y administradores con acceso a los nodos de la red.
GNUnet admite la creación de redes P2P sobre TCP, UDP, HTTP/HTTPS, Bluetooth y WLAN, y puede funcionar en modo F2F (Friend-to-Friend). Se admite la superación de NAT, incluido el uso de UPnP e ICMP. Para la dirección de la colocación de datos, se puede utilizar una tabla hash distribuida (DHT). Se proporcionan herramientas para implementar redes en malla. Para la provisión selectiva y revocación de derechos de acceso, se utiliza el servicio de intercambio de atributos de identificación descentralizado reclaimID, que emplea GNS (GNU Name System) y cifrado basado en atributos.
El sistema destaca por su bajo consumo de recursos y el uso de una arquitectura multiprocesador para garantizar la aislamiento entre componentes. Se proporcionan herramientas flexibles para la gestión de registros y la recopilación de estadísticas. Para el desarrollo de aplicaciones finales, GNUnet proporciona una API para el lenguaje C y enlaces para otros lenguajes de programación. Para simplificar el desarrollo, se sugiere utilizar ciclos de eventos en lugar de hilos. Incluye una biblioteca de pruebas para implementar automáticamente redes experimentales que abarcan decenas de miles de pares.
Sobre la base de las tecnologías de GNUnet se están desarrollando varias aplicaciones listas:
- El Sistema de Nombres de Dominio GNS (GNU Name System) actúa como un reemplazo completamente descentralizado y libre de censura del DNS. GNS puede coexistir con el DNS y ser utilizado en aplicaciones tradicionales, como navegadores web. A diferencia del DNS, en GNS se utiliza un grafo dirigido en lugar de una jerarquía de servidores en árbol. La conversión de nombres es similar a la del DNS, pero las consultas y respuestas se realizan manteniendo la privacidad: el nodo que procesa la consulta no sabe a quién se envía la respuesta, y los nodos en tránsito y observadores externos no pueden descifrar las consultas y respuestas. La integridad e inalterabilidad de los registros se garantiza mediante mecanismos criptográficos. La zona DNS en GNS se define mediante un par de claves públicas y privadas ECDSA basadas en curvas ellipticas Curve25519.
- Un servicio para el intercambio anónimo de archivos, que no permite analizar la información a través de la transmisión de datos únicamente encriptados y no permite rastrear quién ha subido, buscado y descargado archivos gracias al uso del protocolo GAP.
- Sistema VPN para crear servicios ocultos en el dominio «.gnu» y establecer túneles IPv4 e IPv6 sobre una red P2P. Además, se apoyan esquemas de traducción de IPv4 a IPv6 y de IPv6 a IPv4, así como la creación de túneles IPv4 sobre IPv6 e IPv6 sobre IPv4.
- El servicio GNUnet Conversation para realizar llamadas de voz sobre GNUnet. La identificación de los usuarios utiliza GNS, y el contenido del tráfico de voz se transmite de forma cifrada. La anonimidad aún no se proporciona: otros pares pueden rastrear la conexión entre dos usuarios y determinar su identidad. IP.
- Una plataforma para construir redes sociales descentralizadas Secushare, que utiliza el protocolo PSYC y soporta la distribución de notificaciones en modo multicast con el uso de cifrado de extremo a extremo, para que solo los usuarios autorizados (aquellos a quienes no están dirigidos los mensajes, incluidos los administradores de nodos, no puedan leerlos) tengan acceso a mensajes, archivos, chats y discusiones.
- Sistema para la organización de correos electrónicos cifrados pretty Easy privacy, que utiliza GNUnet para proteger los metadatos y admite varios protocolos criptográficos para la verificación de claves;
- El sistema de pago GNU Taler, que ofrece anonimato para los compradores, pero rastrea las transacciones de los vendedores para garantizar la transparencia y proporcionar informes fiscales. Soporta la operación con diversas monedas y dinero electrónico, incluidos dólares, euros y bitcoins.
Principales novedades de GNUnet 0.16:
- Se ha actualizado la especificación del sistema de nombres de dominio descentralizado GNS (GNU Name System). Se ha propuesto un nuevo tipo de registros REDIRECT, que sustituye a los registros CNAME. Se ha añadido una nueva bandera de registro — CRITICAL, que puede marcar registros especialmente importantes, cuya imposibilidad de procesamiento debe llevar al retorno de un error de resolución de nombre. Las operaciones para establecer túneles VPN se han trasladado del resolutor a aplicaciones, como el servicio DNS2GNS.
- En la tabla hash distribuida (DHT) se ha implementado la posibilidad de certificar rutas con una firma digital. Las métricas de longitud de ruta se han cambiado para utilizar la operación tradicional XOR. Se ha actualizado la especificación de estructuras de datos, funciones criptográficas y registros de recursos de la DHT.
- El servicio de intercambio descentralizado de atributos de identificación (RECLAIM) ha añadido soporte para identificadores descentralizados (DID, Decentralized Identifier) y credenciales verificables (VC, Verifiable Credentials).
- Para el sistema de pagos GNU Taler se ha implementado soporte para firmas digitales ciegas de Klaus Schnorr (el firmante no puede acceder al contenido).
- El sistema de compilación ha garantizado la generación de archivos de encabezado actualizados a partir de GANA (Autoridad de Números Asignados de GNUnet). Ahora se requiere la presencia de recutils al compilar desde git.
Fuente: opennet.ru
