RetroShare — инструмент для приватного общения и обмена данными

cfc3df1380d945ae9de7ff591923c889.jpgПосле года пребывания в статусе beta и release candidate, состоялся финальный релиз Retroshare версии 0.6.0
Программа развивается в течение вот уже 10 лет. Предыдущая версия 0.5.5 была выпущена осенью 2013 года и приобрела немалую популярность среди специалистов по криптографии, энтузиастов децентрализованных сетей и рядовых пользователей сети Интернет, для которых безопасность файлообмена и общения не пустой звук. Однако следует отметить, что на одном из наиболее популярных ресурсов рунета нет ни одного материала о криптоплатформе RetroShare, пару упоминаний о ней удалось обнаружить лишь в комментариях. Нижеследующий текст можно считать скромной попыткой исправить это упущение.

Итак, Retroshare — криптографически защищенная децентрализованая платформа для анонимного общения и файлообмена. Система позволяет организовывать обособленные бессерверные Friend-to-Friend сети или одну глобальную сеть (что по факту и существует на сей день) с определённым кругом лиц — например, вашими друзьями, семьёй, коллегами или просто незнакомцами. Соединения устанавливаются напрямую только с теми участниками, которым вы дали разрешение. Это важная особенность, перемещающая подобные сети в рамки особого класса децентрализованных сетей, в которых несанкционированное подключение к вашему компьютеру запрещено без вашей на то доброй воли. Сети такого типа называются «Private p2p», «Darknet» или просто «Темная сеть».
Темные сети наподобие RetroShare, среди прочего, обладают двумя важными характерными признаками:
1) затруднен мониторинг файлообменной и коммуникационной деятельности пользователя силами извне, то есть — со стороны потенциального противника, не подключенного к сети;
2) за пределами так называемого «ближнего» окружения сети RetroShare (и подобных — FreeNet, GNUnet) не представляется возможным достоверно определить даже факт подключения пользователя к такой сети.
Первый признак существенно отличает темные (приватные) анонимные сети от публичных анонимных сетей, где статистика, например, по IP-адресам узлов-участников набирается простым прямым наблюдением по подключению к сети или без него. Второй признак является прямым следствием того, что подключение к произвольному узлу сети невозможно без подтверждения такой операции со стороны контрагента.

Следует особо отметить, что даже в пределах так называемого «доверенного» окружения имеется возможность общаться и обмениваться данными через систему анонимных личностей, идентификатор которых не привязан к персональному сертификату пользователя. Количество создаваемых анонимных личностей не ограничивается; пользователь волен по мере необходимости и/или внешних факторов произвольно создавать и удалять свои личности.

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

455f2f190d0e487f97ee2bbcd4f0a1f8.jpg
Предоставляемые возможности:
— Мгновенные сообщения и почта
— Публичные и приватные чаты
— VoIP — Голосовая и видео связь
— Файлообмен
— Форумы
— Каналы

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

a9597d8e96cd4c4abdec50433247b261.pngОбмен сообщениями возможен от имени анонимных личностей, так и непосредственно между сетевыми узлами. В первом случае доступна оффлайн доставка, применяется хранение сообщений на узлах общих друзей. Голосовая и видеосвязь доступна только для связи узлов из доверенного окружения. То есть — с теми узлами, с которыми ранее был осуществлен обмен сертификатами.

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

Форумы являются полностью распределенными, и распространяются по принципу подписки. Заинтересовавший вас форум зеркалируется на вашем узле и становится доступен всему вашему окружению. Любой из вашего окружения имеет возможность подписаться на интересующий его форум и, таким образом, ценный контент «расползается» далеко по сети, а распространение сора затрудняется или блокируется вовсе. Форумы доступны оффлайн для чтения и постинга; синхронизация с другими участниками производится, разумеется, только при связи с ними.

В версии 0.6 введена антивандальная система, основанная на чрезвычайно простой, но эффективной, системе репутации. Отдельным личностям можно поставить негативную отметку и тогда все их сообщения будут игнорироваться. Эти оценки распространяются между друзьями и позволяют оперативно банить хулиганов. Система, при необходимости, отключаема.

Файлообмен похож больше на emule и direct connect, чем на bittorrent. Можно сказать, что от всех перечисленных систем были взяты лучшие свойства. Файлы идентифицируются по отдельности, по SHA-хешу и, следовательно, остаются доступными независимо от переименования и/или перемещения в пределах папки с открытым доступом. Ссылки на файл представляют простой текстовый блок с названием и хешем, похожи на ed2k и magnet.
Не требуются промежуточные меры как .torrent файлы. Но при желании можно организовать группу файлов в компактный вид, для чего реализована поддержка файлов-коллекций, содержащих набор ссылок в текстовой форме.
Файлы расшариваются целыми папками. Отдельным папкам можно давать разные права доступа, для этого имеется уникальная для децентрализованных сетей возможность объединения друзей в группы.
Папки могут быть расшарены как в явном режиме — друзьям доступен просмотр содержимого, так и в анонимном — просмотр недоступен. При этом файлы доступны для скачивания, если пользователь обнаружил их наличие в сети через мощный поисковый сервис.
Поиск возможен не только на узлах друзей, но и по всей доступной сети, благодаря механизму туннелирования данных. В наличии множество параметров для конкретизации поиска, например, по расширению, хэшу и т.п. Закачка ведётся в несколько потоков со всех доступных «направлений».

Соединения устанавливаются по TCP/UDP IPv4, в разработке IPv6-транспорт. Имеется возможность работы через анонимизирующие сети tor/i2p. Для облегчения связи в случае динамических адресов применяются uPnP, DynDNS, DHT и система обмена контактными данными между общими друзьями. При необходимости все отключаемо.

Традиционный вопрос:, а зачем нужна еще одна криптосистема?
Все дело в том, что Retroshare, пожалуй, первая платформа, которая предоставляет надежную и безопасную криптографию в относительно простом для использования виде. И это не просто вещь в себе, криптография ради криптографии. Она дает множество эффективно работающих и полезных сервисов сразу.
Двум людям достаточно один раз обменяться публичными ключами (любым удобным способом) — и после установления связи все возможности будут доступны.

Никаких Условий, звездочек и мелкого шрифта. Все это доступно бесплатно, без регистрации и смс :-). Open Source. Хозяин — Вы.

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

Также следует учитывать особенности распределенных и криптографических систем:
— Нет возможности удалить отправленные сообщения и посты.
— Нет возможности восстановить забытый пароль. Сменить его тоже нельзя.
— При утрате ключа или крахе диска с профилем нет возможности восстановить данные.
— В целях предотвращения бесконечного разрастания занимаемых объемов существуют ограничения на сроки хранения сообщений. Форумы — 1 год, каналы — 4 месяца. Справедливости ради, эти параметры могут быть пересмотрены в перспективе если свободное сообщество RetroShare примет такое решение.

Клиент с открытым исходным кодом, написан на Qt/C++, имеются сборки под все распространенные десктоп-операционки, есть опыт успешного запуска на Android. Имеется поддержка плагинов для расширения функциональности.

Имеется возможность работы в no-gui режиме, в наличии web-интерфейс.
В ближайшей перспективе разработка системы так называемых кругов, для разграничения доступа к ресурсам по группам друзей. В разработке распределенные wiki-сайты, в планах Стена (по аналогии с facebook), и еще масса полезностей, полный список которых доступен по ссылке. Несмотря на незначительное количество разработчиков, ведется активная работа по совершенствованию программы.

Ссылки
Официальный сайт: retroshare.sf.net
Блог разработчиков: retroshareteam.wordpress.com
Исходный код: github.com/RetroShare
Русскоязычный ресурс: adorabilis.wordpress.com
Инструкция по подключению: ru.retroshare.net
Серверы для доступа к публичным чатам: retroshare.rocks
См. также: Теория шести рукопожатий

© Habrahabr.ru