GNUnet. Технический обзор, плюсы и минусы программного обеспечения.

НОВОСТИ
2018-09-24 20:50:46
1
4.0K

TOR - синоним анонимности и шифрованияи. Но для полной картины приватного соединения стоит отметить альтернативные сети. Сегодня поговорим о проекте GNUnet.

GNUnet — проект по созданию фреймворка (программного пакета) для создания полностью децентрализованной анонимной P2P (peer-to-peer) сети, отличающаяся отсутствием центрального сервера.

Проект GNUnet зародился в конце 2001 года, как набор новых технических идей для создания анонимной P2P-сети. За основу были взяты уже существующие на тот момент анонимные, децентрализованные сети Freenet и Mnet. Однако получившаяся система существенно отличается от уже существующих.

Основная цель проекта GNUnet - создание надёжной, децентрализованной и полностью анонимной одноранговой сети (оверлейная компьютерная сеть, основанная на равноправии участников, в которой каждый участник является как клиентом, так и сервером), работающей поверх сети Интернет.

Протокол, реализованный в этой сети, предназначен для децентрализованного, анонимного обмена данными без возможности их цензуры. Анонимность в сети обеспечивается путём нивелирования разницы между сообщениями, которые были посланы самим узлом, и внешними сообщениями, которые узел ретранслирует (маршрутизирует) для других узлов.

Все узлы сети GNUnet работают как маршрутизаторы, шифруя прямые соединения с другими узлами и поддерживая постоянный уровень нагрузки на сеть, чтобы обмениваться сообщениями. В GNUnet используется простая эргономическая модель, основанная на избыточности, для распределения ресурсов в сети.

Узлы в GNUnet работают в клиент-серверном режиме, постоянно отслеживая друг друга, и узлы, которые активно участвуют в работе сети, обслуживаются с более высоким приоритетом (поощряются приоритетным обслуживанием их запросов).

Основным рабочим процессом узла сети GNUnet является gnunetd, работающий в качестве демона/daemon (фонового процесса), без необходимости запуска какого либо интерфейса. Так же в основной проект входит несколько библиотек и графические утилиты для конфигурации демона gnunet-setup, gnunet-gtk и gnunet-qt (написанные соответственно на GTK и QT).

GNUnet может использовать для передачи данных как стандартные протоколы TCP и UDP, так и не обычные для P2P HTTP, есть возможность работы через прокси-сервер, а так же SMTP. Кроме того GNUnet может работать за NAT (Network Address Translation).

В GNUnet можно настраивать степень анонимности, от 0 (не анонимно) до бесконечности (по умолчанию используется 1). Передаваемые файлы закодированы с помощью системы улучшенного шифрования контента ECRS (An Encoding for Censorship-Resistant Sharing/Шифрование для устойчивого к цензуре обмена файлами) и обрабатывается соответствующим модулем.

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

Сервисы и модули GNUnet

Для идентификации объектов и сервисов GNUnet использует URI (Uniform Resource Identifiers). Любой объект в сети GNUnet идентефицируется с помощью URI, который в текущей версии выглядит как gnunet://module/identifier, где module - имя модуля сети, а identifier - уникальный хеш, идентефецирующий сам объект.

File Sharing и ECRS

Самый популярным и наиболее стабильным сервисом является File Sharing (fs), и, как следует из названия, он предназначен для анонимного децентрализованного обмена файлами. Он позволяет искать, выкладывать (publish) и скачивать (download) как отдельные файлы, так и целые директории. С точки зрения пользователя, все это осуществляется аналогично тому, как это происходит например в dc++, однако, благодаря сложному механизму роутинга запросов и ответов, вы понятия не имеете от кого вы на самом деле принимаете или кому передаете файл.

Интересный момент - можно настраивать степень анонимности: от 0 (не анонимно) до бесконечности. По умолчанию используется 1 и этого в большинстве случаев достаточно (вы же не собираетесь передавать таким образом сверхсекретные данные). Передаваемые файлы закодированы с помощью ECRS (An Encoding for Censorship-Resistant Sharing) и обрабатываются модулем с соответствующем названием.

  • GNUnet работает в клиент-серверном режиме. Т.е. основной рабочий процесс - gnunetd работает в качестве демона, работает без какого-либо интерфейса и управляется фронтендами gnunet (которые не обязательно должны быть запущены на той же машине). Это отлично вписывается в мою домашнюю сеть: у меня есть headless сервер, подключеный к интернету, который я использую в качестве интернет-шлюза, NAS, proxy, dns и svn сервера, а моим основным рабочим компьютером является ноутбук.

Из недостатков можно отметить высокую задержку, низкую скорость работы и достаточно высокое потребление ресурсов. Но это цена, которую приходится платить за децентрализованность и шифрование. Вторая проблема - малая популярность сети, по сравнению с тем же TOR. Отчасти в этом виновата малая раскручености протокола, отчасти - нетривиальность использование, да и проблема высокой задержки тоже играет немаловажную роль. Но эти недостатки не критичны и для ценителей анонимного соединения.

Официальный сайт https://gnunet.org/

Чтобы быть вкурсе всех свежих новостей нашего сайта, подписывайтесь на наш телеграм канал https://t.me/joinchat/AAAAAEN6RYDtq2uLaMOeLQ

1
4.0K
Написать комментарий

Добавить комментарий

Комментарии 1
avatar
2018-09-25 03:33:50
Удобно хостить и передавать файло
Ответить