RetroShare — свободное кроссплатформенное программное обеспечение для бессерверного обмена письмами, мгновенными сообщениями и файлами с помощью шифрованной F2F-/P2P-сети, построенной на основе алгоритмов GPG.

Криптоплатформа RetroShare относится к классу darknet-сетей, топология которых подразумевает осуществление соединений и обмен данными лишь с определёнными участниками сети и исключает как внешние контакты, так и непосредственные контакты с другими участниками, не входящими в окружение пользователя. IP-адреса участников криптосети недоступны друг другу, за исключением ограниченного круга участников. Для передачи данных используется собственный протокол передачи, где элементом адресации пакета является не IP-адрес, а 128-битное случайное число — анонимный идентификатор. За пределами личного окружения установить IP-адреса участников принципиально невозможно, в связи с чем даже простой подсчёт количества участников тёмной сети представляет собой нетривиальную задачу. Любая файлообменная и коммуникационная деятельность анонимна, в том числе если обмен пакетами ведётся с участником из ближнего окружения. В связи с применением сквозного шифрования данных промежуточные узлы не имеют возможности определить характер и содержание передаваемого трафика. Все соединения с удалёнными участниками (пирами), не входящими в ближнее окружение, осуществляются посредством одной или нескольких независимых цепочек анонимных туннелей, прокладываемых между узлами сети. Соединение между участниками устанавливается путём обмена GPG-сертификатами, содержащими 2048-, 3072- или 4096-битный публичный ключ. Указанная топология сети вкупе с сильным шифрованием обеспечивает децентрализацию и анонимизацию обмена данными между участниками.

Аутентификация и соединение

После установки пользователь или генерирует пару GPG-ключей с помощью RetroShare, или выбирает существующую. После проверки подлинности и обмена асимметричным ключом устанавливается шифрованное соединение. Для шифрования используется OpenSSL.

В RetroShare все узлы по отношению к пользователю делятся на три класса: доверенное окружение; ближнее окружение; удалённые пользователи.

В доверенное окружение входят сетевые узлы, с которыми пользователь осуществил обмен личным сертификатом. Термин «доверенный» не подразумевает и не требует личного доверия пользователя к тому или иному узлу , так как IP-адреса не используются непосредственно в файлообменной или коммуникационной деятельности и, следовательно, не являются деанонимизирующим фактором. Совокупность доверенных окружений физически формирует многочисленные каналы передачи информации между двумя произвольными пользователями сети. Ближнее окружение включает в себя доверенное окружение, а также доверенные окружения каждого доверенного участника, что составляет 2 сетевых «скачка». Ближним окружением ограничивается прямая видимость участников тёмной сети. Ближнее окружение — это своего рода «горизонт видимости» в RetroShare. Пользователи, находящиеся за пределами ближнего окружения, входят в группу удалённых узлов. Система анонимного туннелирования (GXS — General eXchange System) позволяет осуществлять обмен данными с такими узлами, но произвольный участник сети не может указать ни их количества, ни каких бы то ни было характеристик, им присущих.

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

Передача файлов идёт сегментированно через несколько точек (multi-hop swarming). Данные передаются по цепочке узлов; путь от отправителя до конечного получателя конкретного сегмента может идти через несколько участников. Функция анонимного поиска по нескольким точкам (multi-hop search) является ещё одним способом находить файлы по сети.

Файлы представляются в виде своих SHA1-хэшей. HTTP-совместимые ссылки на них могут экспортироваться, копироваться и вставляться из/в RetroShare, чтобы опубликовать их виртуальное расположение в сети.

Обмен сообщениями и связь RetroShare предоставляет несколько подходов к обмену сообщениями. Каждый из подходов имеет свои особенности и реализует строго определённую целевую функцию. Объединяющим фактором для всех вариантов коммуникаций является то, что все входящие и исходящие сообщения шифруются и несанкционированный доступ к ним затруднителен, если вообще возможен.

Прямой приватный чат с одним из участников Возможен в том случае, если с участником сети произведён обмен сертификатами и установлено прямое соединение. Используется при необходимости переговоров tête-à-tête с участником тёмной сети. Статус чата: шифрованный, псевдонимный. IP-адреса участников доступны друг другу. Чат инициализируется выбором пункта «Чат» в контекстном меню контакта во вкладке «Сеть».

Прямой широковещательный чат со всеми соединёнными узлами Обеспечивает простой доступ к рассылке сообщений всем подключённым в данный момент узлам. Сообщения, посылаемые в сеть, являются широковещательными, то есть их получат все подключённые узлы — доверенное окружение. Другие пользователи криптоплатформы RetroShare их увидеть и прочитать не смогут.

Из особенностей построения сети и замысла прямого широковещательного чата следует одна очевидная особенность. Так как у каждого пользователя криптоплатформы свой собственный круг контактов и во многих случаях эти круги некоррелированы, то есть общих контактов может быть не так много, то видимые в широковещательном чате сообщения могут быть вне контекста обсуждения и порой приводить пользователя в недоумение. Иначе говоря, пусть пользователь «П1» имеет окружение «О1», пользователь «П2» имеет окружение «О2». Общими для обоих пользователей является лишь один доверенный участник — «П3». Если пользователи П1 и П2 одновременно инициируют два широковещательных чата, то лишь пользователь П3 будет видеть сообщения обоих кругов, понимать о чём идёт речь, а значит, полноценно поддерживать беседу. Но в этом случае его собственные сообщения могут быть не понятны, вырваны из контекста, для одной из групп в зависимости от того, к которой из них он обращается.

Столь обширное объяснение особенностей широковещательного чата призвано пояснить, что пользоваться им следует дозированно и в строго определённых случаях, например, когда требуется сделать какое-то срочное глобальное объявление. Использовать же данный вид коммуникаций для длительного общения на второстепенные темы воспитанный пользователь RetroShare не будет.

Чат инициируется во вкладке «Широковещательный чат» (Broadcast) базового раздела «Сеть».

Удалённый приватный чат с одним из пользователей сети Очень ценный и уникальный для darknet-сетей способ общения, позволяющий приватно связаться с лицом из ближнего круга, не являющимся в настоящее время доверенным. Участниками из ближнего круга называются пользователи, имеющиеся в списке под названием «Массив ключей» базового раздела «Сеть».

Чат полезен в случае, если требуется наладить временный приватный контакт с человеком или произвести обмен сертификатами, когда передача сертификатов через общие чат-комнаты нежелательна. Удалённый контакт реализуется через систему анонимных туннелей и возможен лишь в том случае, когда оба участника уже вошли в криптосеть RetroShare.

Установление удалённого приватного контакта осуществляется через «Параметры → Чат → Удалённый чат (Distant chat)». В контекстном меню выбирается позиция «Create a chat invitation» (Создать приглашение в чат) и указывается один из контактов окружения. В качестве дополнительного параметра удалённого чата можно указать время действия сессионного ключа. После выполнения процедуры можно скопировать приглашение в общий чат.

Воспользоваться данным приглашением может лишь тот участник сети, ID которого указан в ссылке. Статус установленного соединения: приватный, анонимный, шифрованный.

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

Криптопочта RetroShare отличается от известных сервисов следующим: Бессерверная служба; вся исходящая и входящая почта хранится только на локальных компьютерах участников обмена и только в шифрованном виде. При отсутствии в сети пользователя-получателя сообщения никакие промежуточные серверы-хранилища не используются, а сообщение будет доставлено тогда, когда нужный пользователь войдёт в сеть. Псевдонимный сервис; IP источника получателю неизвестен, отображается лишь ID и псевдоним; передача данных ведётся посредством анонимных туннелей, а значит, третьему лицу за обозримое время невозможно не только раскрыть содержимое передаваемой информации, но и связать источник письма с его получателем. Отсылка почтовых сообщений возможна лишь участникам из ближнего окружения; спам исключается естественным образом, благодаря невозможности рассылки писем участникам вне ближнего круга. Отсутствуют ограничения на объём прикрепляемых к письму файлов.

Публичные чат-комнаты Самый простой и широко используемый способ общения в сети RetroShare, дающий анонимность, динамичность, быстроту соединения и не требующий заметных познаний в топологии и особенностях работы RetroShare. Для вхождения в публичные чаты достаточно обменяться сертификатом с роботом по одному из адресов: https://retroshare.rocks/copyleft/key_add.php?lang=ru; https://retroshare.rocks/kopimi/key_add.php?lang=ru; https://web.archive.org/web/20160304083201/https://retrochat.piratenpartei.at/key_add.php?lang=ru. Взаимный обмен сертификатами с одним или обоими роботами лишь позволяет быстро загрузить основные публичные чаты и не даёт возможности пользоваться ресурсами сети. Это значит, что вы не сможете производить поиск и просмотр контента в криптосети RetroShare. Для этого пользователь должен найти как минимум одного участника сети, готового осуществить взаимный обмен сертификатами.

В целях безопасности роботы по указанным адресам деактивируют доверие к сертификату пользователя через 30 суток после подписания. Предполагается, что за это время потенциальный участник сети обменялся сертификатами с несколькими действительными участниками, тем самым установив взаимное доверие и осуществив подключение к криптосети. Как только пользователь подключился к сети необходимость подключения к указанным выше чат-серверам отпадает и весь обмен данными ведётся децентрализованно.

Публичные чаты не модерируются и не цензурируются. Это значит, что там отсутствует администрация в той или иной форме, а также возможность наложения запрета на доступ к чат-комнате — бана. Для защиты от спама имеется возможность на уровне клиента установить так называемый «немой режим» (mute) для нарушителя. В результате клиент будет игнорировать сообщения от одного или нескольких пользователей чата, занимающихся рассылкой спама.

Практика применения публичных чатов сети RetroShare показывает, что для установления подлинной анонимности в публичных чат-комнатах желательно, чтобы псевдоним в чате отличался от псевдонима, указанного в GPG-сертификате пользователя. В этом случае недоброжелатель будет неспособен сопоставить псевдоним, используемый в чате, с сертификатом конкретного пользователя.

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

VoIP-коммуникатор Коммуникатор, обеспечивающий голосовую связь между двумя участниками криптоплатформы RetroShare и реализованный в виде отдельного плагина.