Дата публикации:Thu, 18 Sep 2025 14:55:51 +0300
Представлен выпуск фреймворка GNUnet 0.25, предназначенного для построения защищённых децентрализованных P2P-сетей. Создаваемые при помощи GNUnet сети не имеют единой точки отказа и способны гарантировать неприкосновенность частной информации пользователей, в том числе исключить возможные злоупотребления со стороны администраторов, имеющих доступ к узлам сети.
GNUnet поддерживает создание P2P-сетей поверх TCP, UDP, HTTP/HTTPS, Bluetooth и WLAN, может работать в режиме F2F (Friend-to-friend). Поддерживается обход NAT, в том числе с использованием UPnP и ICMP. Для адресации размещения данных возможно использование распределённой хэш таблицы (DHT). Предоставляются средства для развёртывания mesh-сетей. Для выборочного предоставления и отзыва прав доступа применяется сервис децентрализованного обмена атрибутами идентификации reclaimID, использующий GNS (GNU Name System) и шифрование на основе атрибутов (Attribute-Based Encryption).
Система отличается низким потреблением ресурсов и использованием многопроцессной архитектуры для обеспечения изоляции между компонентами. Предоставляются средства для ведения логов и накопления статистики. Для разработки конечных приложений GNUnet предоставляет базовый API для языка Си и обвязки для других языков программирования. Для упрощения разработки вместо потоков предлагается использовать циклы обработки событий (event loop) и процессы. В состав входит тестовая библиотека для автоматического развёртывания экспериментальных сетей, охватывающих десятки тысяч пиров.
На базе технологий GNUnet развивается несколько готовых приложений:
- Система доменных имён GNS (GNU Name System), выступающая в качестве полностью децентрализованной и недоступной для цензуры замены DNS. GNS может применяться бок о бок с DNS и использоваться в традиционных приложениях, таких как web-браузеры. В отличие от DNS в GNS вместо древовидной иерархии серверов применяется направленный граф. Преобразование имён сходно с DNS, но запросы и ответы выполняются с сохранением конфиденциальности - обрабатывающий запрос узел не знает кому отдаётся ответ, а транзитные узлы и сторонние наблюдатели не могут расшифровать запросы и ответы. Целостность и неизменность записей обеспечивается за счёт использования криптографических механизмов. DNS-зона в GNS определяется при помощи связки из открытого и закрытого ключей ECDSA на основе эллиптических кривых Curve25519. Сервис для анонимного обмена файлами, не позволяющий проанализировать информацию за счёт передачи данных только в зашифрованном виде и не дающий отследить кто разместил, искал и скачал файлы, благодаря использованию протокола GAP. Система VPN для создания скрытых сервисов в домене ".gnu" и проброса туннелей IPv4 и IPv6 поверх P2P-сети. Дополнительно поддерживаются схемы трансляции IPv4-в-IPv6 и IPv6-в-IPv4, а также создание туннелей IPv4-поверх-IPv6 и IPv6-поверх-IPv4. Сервис GNUnet Conversation для совершения голосовых вызовов поверх GNUnet. Для идентификации пользователей используется GNS, содержимое голосового трафика передаётся в зашифрованном виде. Анонимность пока не предоставляется - другие пиры могут отследить соединение между двумя пользователями и определить их IP-адреса. Платформа для построения децентрализованных социальных сетей Secushare, использующая протокол PSYC и поддерживающая распространение уведомлений в режиме multicast с применением end-to-end шифрования для того, чтобы доступ к сообщениям, файлам, чатам и обсуждениям могли получить только авторизированные пользователи (те кому сообщения не адресованы, включая администраторов узлов, не смогут их прочитать); Платёжная система GNU Taler, предоставляющая анонимность для покупателей, но отслеживающая транзакции продавцов для обеспечения прозрачности и предоставления налоговой отчётности. Поддерживается работа с различными существующими валютами и электронными деньгами, в том числе с долларами, евро и биткоинами. Сервис GNUnet Messenger для создания защищённых приложений для чата. Для обеспечения конфиденциальности и защиты от перехвата сообщений применяется протокол CADET (Confidential Ad-hoc Decentralized End-to-End Transport), позволяющий организовать полностью децентрализованное взаимодействие между группой пользователей с использованием сквозного шифрования передаваемых данных.
- Переработана подсистема CORE, обеспечивающая маршрутизацию и обмен информации между узлами в децентрализованной сети. Предложена новая реализация защищённых каналов связи, в которых задействован вариант протокола согласования шифрованных соединений KEMTLS, использующий алгоритмы X25519, XChaCha20 и Poly1305 и многие концепции из протокола DTLS 1.3. Добавлен сервис PILS (Peer Identity Lifecycle) для идентификации участников сети, позволяющий формировать идентификаторы пиров в зависимости от текущего контекста подключения. Например, при доступе участника из дома будет сформирован один идентификатор, а при путешествии за границу - другой, что не позволит отследить перемещение участника. Значительно повышена производительность сервиса для передачи (AXFR/IXFR) DNS-зон в GNS. Добавлены новые утилиты для зеркалирования и импорта DNS-зон из файлов. В сборочной системе прекращена поддержка AutoTools.
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=63901