Доступен GNUnet 0.12, фреймворк для построения защищённых P2P-сетей

Увидел свет выпуск фреймворка GNUnet 0.12, предназначенного для построения защищённых децентрализованных P2P-сетей. Создаваемые при помощи GNUnet сети не имеют единой точки отказа и способны гарантировать неприкосновенность частной информации пользователей, в том числе исключить возможные злоупотребления со стороны спецслужб и администраторов, имеющих доступ к узлам сети. Выпуск отмечен как содержащий значительные изменения протокола, нарушающие обратную совместимость с версиями 0.11.x.

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 0.12:

  • В децентрализованной системе доменных имён GNS (GNU Name System) внесены изменения в протоколы формирования ключа (для соответствия развиваемой спецификации будущего стандарта). Имена доменов и метки представлены в UTF-8, без применения punycode-нотации IDNA. Для обработки нестандартных имён IDNA предложен NSS-плагин. Также добавлен плагин для блокировки запросов от root (GNUnet никогда не должен запускаться с правами root).
  • В GNS и NSE (Network Size Estimation) изменён алгортим доказательства выполнения работы (proof of work), используемый при отзыве доменной зоны. Изменения связаны с усложнением вычислений на специализированных ASIC.
  • Плагин с реализацией транспорта поверх UDP переведён в категорию экспериментальных из-за проблем со стабильностью;
  • Улучшен и документирован бинарный формат для открытых ключей RSA;
  • Убрано лишнее хэширование в цифровых подписях EdDSA;
  • Добавлена возможность установки скрипта gnunet-logread для проведения аудита логов;
  • Реализация ECDH переведена на код TweetNaCl;
  • Решены многие проблемы в сборочной ситеме. Из зависимостей убран GLPK (GNU Linear Programming Kit). Добавлено корректное описание пакета для дистрибутивов на базе пакетного менеджера Guix.




На базе технологий GNUnet развивается несколько готовых приложений:

  • Сервис для анонимного обмена файлами, не позволяющий проанализировать информацию за счёт передачи данных только в зашифрованном виде и не дающий отследить кто разместил, искал и скачал файлы благодаря использованию протокола GAP.
  • Система VPN для создания скрытых сервисов в домене ».gnu» и проброса туннелей IPv4 и IPv6 поверх P2P-сети. Дополнительно поддерживаются схемы трансляции IPv4-в-IPv6 и IPv6-в-IPv4, а также создание туннелей IPv4-поверх-IPv6 и IPv6-поверх-IPv4.
  • Система доменных имён GNS (GNU Name System), выступающая в качестве полностью децентрализованной и недоступной для цензуры замены DNS. GNS может применяться бок о бок с DNS и использоваться в традиционных приложениях, таких как web-браузеры. Целостность и неизменность записей обеспечивается за счёт использования криптографических средств. В отличие от DNS в GNS вместо древовидной иерархии серверов применяется направленный граф. Преобразование имён сходно с DNS, но запросы и ответы выполняются с сохранением конфиденциальности — обрабатывающий запрос узел не знает кому отдаётся ответ, а транзитные узлы и сторонние наблюдатели не могут расшифровать запросы и ответы;
  • Сервис GNUnet Conversation для совершения голосовых вызовов поверх GNUnet. Для идентификации пользователей используется GNS, содержимое голосового трафика передаётся в зашифрованном виде. Анонимность пока не предоставляется — другие пиры могут отследить соединение между двумя пользователями и определить их IP-адреса.
  • Платформа для построения децентрализованных социальных сетей Secushare, использующая протокол PSYC и поддерживающая распространение уведомлений в режиме multicast с применением end-to-end шифрования для того, чтобы доступ к сообщениям, файлам, чатам и обсуждениям могли получить только авторизированные пользователи (те кому сообщения не адресованы, включая администраторов узлов, не смогут их прочитать);
  • Система для организации шифрованной электронной почты pretty Easy privacy, применяющая GNUnet для защиты метаданных и поддерживающая различные криптографические протоколы для верификации ключей;
  • Платёжная система GNU Taler, предоставляющая анонимность для покупателей, но отслеживающая транзакции продавцов для обеспечения прозрачности и предоставления налоговой отчётности. Поддерживается работа с различными существующими валютами и электронными деньгами, в том числе с долларами, евро и биткоинами.



Источник: http://www.opennet.ru/opennews/art.shtml? num=52062

© OpenNet