Se presenta la versión del marco GNUnet 0.20, destinado a construir redes P2P descentralizadas seguras. Las redes creadas con GNUnet no tienen un único punto de fallo y pueden garantizar la privacidad de la información del usuario, incluyendo la eliminación de posibles abusos por parte de agencias gubernamentales 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 evita el análisis de la información al transmitir datos exclusivamente en forma cifrada y no permite rastrear quién subió, buscó o descargó 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.
- El servicio GNUnet Messenger para crear aplicaciones de chat seguras. Para garantizar la privacidad y proteger contra la interceptación de mensajes, se utiliza el protocolo CADET (Transporte Confidencial Ad-hoc Descentralizado de Extremo a Extremo), que permite organizar una interacción completamente descentralizada entre un grupo de usuarios usando cifrado de extremo a extremo en los datos transmitidos.
En la nueva versión de GNUnet se han implementado cambios que rompen la compatibilidad del protocolo y pueden causar problemas en la interacción entre nodos basados en GNUnet 0.20 y versiones anteriores. Las funciones GNUNET_STRINGS_get_suffix_from_binary_name y GNUNET_s han sido trasladadas a la biblioteca libgnuneutil. Se han añadido funciones GNUNET_JSON_spec_object_const, GNUNET_JSON_spec_array_const, GNUNET_PQ_get_oid_by_name y GNUNET_PQ_get_oid. Se ha añadido la API KEM (Mecanismo de Encapsulación de Claves).
Fuente: opennet.ru
