El Comité IETF (Internet Engineering Task Force), encargado del desarrollo de protocolos y arquitectura de Internet, ha comenzado el proceso de estandarización del sistema de nombres de dominio GNS (GNU Name System), desarrollado por el proyecto como un reemplazo completamente descentralizado y resistente a la censura para DNS. En este momento se encuentra el primer borrador del estándar, después del cual se formará un RFC que tendrá el estatus de «Propuesta de estándar».
puede usarse junto a DNS y aplicarse en aplicaciones tradicionales, como navegadores web. La integridad y la inmutabilidad de los registros se garantiza mediante el uso de mecanismos criptográficos. A diferencia de DNS, en GNS se utiliza un gráfico dirigido en lugar de una jerarquía de servidores en árbol. La transformación de nombres es similar a DNS, pero las solicitudes y respuestas se realizan manteniendo la confidencialidad: el nodo que procesa la solicitud no sabe a quién se le entrega la respuesta, y los nodos de tránsito y observadores externos no pueden descifrar las solicitudes y respuestas.
La zona DNS en GNS se define mediante un par de claves pública y privada basadas en curvas elípticas . El uso de Curve25519 por algunos como un movimiento bastante extraño, ya que se utilizan otros tipos de curvas elípticas para ECDSA, y normalmente se usa un algoritmo de firma digital con Curve25519 , , más seguro y más rápido que ECDSA. Desde el punto de vista de la resistencia criptográfica, también genera dudas la elección del tamaño de la clave: 32 bytes en lugar de los 64 bytes habitualmente utilizados para Ed25519, así como la aplicación simétrico, utilizando los algoritmos AES y TwoFish en modo CFB.
Este enfoque se explica por la necesidad de implementar claves jerárquicas que permiten utilizar una clave pública raíz para extraer una clave pública secundaria, aprovechando la propiedad de linealidad de la curva Curve25519. Esta característica permite obtener claves públicas secundarias sin necesidad de conocer las claves privadas raíz. La técnica mencionada también se usa en Bitcoin. El tamaño de clave de 32 bytes se elige para que quepa en un solo registro DNS.
También se puede destacar framework , destinado a la construcción de 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 de los usuarios, excluyendo posibles abusos por parte de agencias de seguridad y administradores que tienen acceso a los nodos de la red. Esta versión se ha marcado como que contiene cambios significativos en el protocolo que rompen la compatibilidad hacia atrás con las versiones 0.12.x.
GNUnet soporta 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 el bypass de NAT, incluido el uso de UPnP e ICMP. Para la dirección de almacenamiento de datos se puede utilizar una tabla hash distribuida (DHT). Se proporcionan herramientas para desplegar redes mesh. Para la concesión selectiva y revocación de derechos de acceso se utiliza el servicio de intercambio descentralizado de atributos de identificación , 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.
Además de GNS, se están desarrollando varias aplicaciones listas basadas en las tecnologías de GNUnet:
- 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.
- Un sistema VPN para crear servicios ocultos en el dominio '.gnu' y hacer túneles IPv4 e IPv6 sobre la red P2P. Además, se soportan esquemas de traducción de IPv4 a IPv6 y de IPv6 a IPv4, así como la creación de túneles de IPv4 sobre IPv6 y de IPv6 sobre IPv4.
- El servicio GNUnet Conversation para realizar llamadas de voz sobre GNUnet. Para la identificación de los usuarios se utiliza GNS, el contenido del tráfico de voz se transmite encriptado. Actualmente no se proporciona anonimato, ya que otros pares pueden rastrear la conexión entre dos usuarios y determinar sus direcciones IP.
- Una plataforma para construir redes sociales descentralizadas , utilizando el protocolo y admite la distribución de notificaciones en modo multicast utilizando cifrado de extremo a extremo para que solo los usuarios autorizados (aquellos a quienes no van dirigidos los mensajes, incluidos los administradores de nodos, no podrán leerlos) puedan acceder a mensajes, archivos, chats y discusiones;
- Sistema para organizar correo electrónico cifrado , que aplica GNUnet para proteger los metadatos y admite varios para la verificación de claves;
- Sistema de pago , que proporciona anonimato para los compradores, pero rastrea las transacciones de los vendedores para garantizar la transparencia y ofrecer informes fiscales. Soporta la operación con diversas monedas y dinero electrónico, incluyendo dólares, euros y bitcoins.
Novedades principales de GNUnet 0.13:
- Se ha activado el registro (Autoridad de Números Asignados por GNUnet), responsable de la asignación de nombres y direcciones para GNUnet.
- La implementación del sistema de nombres de dominio descentralizado GNS se ha alineado con , propuesto en IETF. Se ha establecido el funcionamiento del complemento NSS ‘block’. Se han añadido nuevas banderas SUPPLEMENTAL para registros que no están explícitamente publicados bajo la etiqueta dada, pero que son devueltos por el resolvedor. Se ha añadido una advertencia al comando gnunet-namestore al añadir registros TLSA o SRV fuera de la entrada .
- En el mecanismo de revocación de claves (GNS/REVOCATION), la función se ha transferido para usar el algoritmo de hash Argon2.
- En el servicio de intercambio descentralizado de atributos de identificación (RECLAIM), el tamaño del ticket ha aumentado a 256 bits.
- El complemento de transporte que utiliza el protocolo UDP para la transmisión de datos se ha movido a la categoría experimental debido a problemas de estabilidad;
- El formato del archivo de claves y el método de serialización de claves privadas ECDSA se han unificado con otras bibliotecas (las claves antiguas dejarán de funcionar).
- Como implementación de algoritmos de cifrado basados en curvas elípticas se ha utilizado la biblioteca .
- Se ha añadido la capacidad de compilar herramientas con la biblioteca cURL, sin vinculación a gnutls.
- Se ha reestablecido el servidor de integración continua. .
- Se han incluido las bibliotecas libmicrohttpd, libjansson y libsodium en las dependencias de construcción.
Fuente: opennet.ru
