RetroShare

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Retroshare
Retrosharelogo2.png
RetroShare channel screen.png
Каналы в криптоплатформе RetroShare
Тип

Анонимные сети, Darknet, Friend-to-friend, Чат, Instant Messenger, Newsgroups, VOIP

Разработчик

RetroShare-Team

Написана на

C++

Операционная система

Microsoft Windows, Linux, Mac OS X, FreeBSD

Последняя версия

0.5.5c (сборка 7423)[1] (3 июля 2014 г.)

Лицензия

GNU General Public License

Сайт

http://retroshare.sourceforge.net/

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


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

Аутентификация и соединение[править | править вики-текст]

Поиск в сети RetroShare

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

Файлообмен[править | править вики-текст]

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

Приём файла в RetroShare

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

Обмен сообщениями и связь[править | править вики-текст]

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

Отдача контента новым доверенным пирам в RetoShare

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

Доверенное окружение в криптоплатформе RetroShare

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

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

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

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

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

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

Приглашение в приватный удалённый чат RetroShare

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

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

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

Почта RetroShare

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

Ближнее окружение в криптоплатформе RetroShare

5. Публичные чат-комнаты
Самый простой и широко используемый способ общения в сети RetroShare, дающий анонимность, динамичность, быстроту соединения и не требующий заметных познаний в топологии и особенностях работы RetroShare. Для вхождения в публичные чаты достаточно обменяться сертификатом с роботом по одному из адресов:
– http://retrosharechatserver.n_o-i_p.org/w2c/ru/ (без двух знаков подчёркивания);
– https://retrochat.piratenpartei.at/w2c/ru/index.php.
Следует особо отметить, что взаимный обмен сертификатами с одним или обоими роботами лишь позволяет быстро загрузить основные публичные чаты и не даёт возможности пользоваться ресурсами сети. Это значит, что вы не сможете производить поиск и просмотр контента в криптосети RetroShare. Для этого пользователь должен найти как минимум одного участника сети, готового осуществить взаимный обмен сертификатами.

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

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

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

Управление коллекцией в RetroShare

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

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

Перед применением VoIP-плагина рекомендуется запустить мастер настройки звука, который определит величину динамического диапазона голоса и установит некоторые базовые опции.

Форумы[править | править вики-текст]

Каналы RetroShare

В криптоплатформе RetroShare реализована система форумов, разрешающая как анонимные, так и аутентифицированные сообщения. Система форумов также используется для обмена сообщениями между друзьями.

Каналы[править | править вики-текст]

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

Поиск контента в криптоплатформе RetroShare

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

Интерфейс пользователя[править | править вики-текст]

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

Анонимность[править | править вики-текст]

Внутренняя логика работы RetroShare

F2F структура RetroShare сети затрудняет вторжение и делает почти невозможным мониторинг сети извне. Степень анонимности может быть улучшена деактивацией DHT и сервисов обмена IP-сертификатами, превращая таким образом сеть RetroShare в даркнет согласно его классическому пониманию. Друзья друзей не могут напрямую соединяться друг с другом. Тем не менее, возможность анонимного обмена файлами с друзьями друзей существует, если она включена пользователем. Поиск, доступ, загрузка и скачивание таких файлов производится путём «маршрутизации» через ряд друзей. Это означает, что связь между источником данных (uploader) и получателем данных (downloader) является косвенной через общих друзей. Друзья-посредники не могут определить как источник отправления и пункт назначения, так и осуществить мониторинг содержимого проходящих через них пакетов всилу того, что все пакеты подвергаются сильному шифрованию.

Особенности[править | править вики-текст]

  • Поиск друзей
  • Поиск файлов
  • Мгновенный обмен сообщениями
  • Групповой чат
  • Каналы наподобие IRC
  • Анонимные/аутенфицированные форумы
  • Поиск файлов через несколько точек (multi-hop)
  • NAT-перфорация
  • Сегментированная передача, как в BitTorrent
  • Кроссплатформенный UI на Qt4
  • Локализация на 9 языках
  • Анонимный обмен файлами с друзьями
  • URL-схема общих файлов
  • Полная децентрализация
  • Дополнительная IP-локализация через Kademlia DHT
  • Поддержка переадресации UPnP / NAT-PMP портов
  • Обзор всех общих файлов
  • Несколько одновременных загрузок / закачек
  • Поддержка плагинов
  • Голосовой чат через VoIP плагин
  • Интеграция в панель задач
  • Возобновление прерванной загрузки после выхода
  • Добавление загрузок через веб-ссылки
  • Обзор внутренней статистики маршрутизатора
  • Мастер первоначальной настройки
  • Автоматическая настройка портов маршрутизатора
  • Открытый или анонимный обмен данными с друзьями

История версий и будущее разработки[править | править вики-текст]

Шестого апреля 2014 г. выпущена версия 0.5.5c (сборка 7249) криптоплатформы с существенно улучшенной поддержкой различных локализаций интерфейса, в том числе и русской.

Обнаруженная 7 апреля 2014 г. серьёзная уязвимость в протоколе SSL/TLS под названием HeartBleed потребовала обновления библиотеки libssl. В результате 10 апреля 2014 г. выпущена версия платформы 0.5.5c (сборка 7261), включающая обновлённую версию 1.0.1g SSL/TLS.

Благодаря системе плагинов в криптоплатформе RetroShare имеется возможность задать дополнительный функционал. На основе такого подхода могут быть реализованы бессерверная голосовая почта и видеочат, работа над которыми была инициирована в начале июля 2014 года. Ранее был реализован веб-интерфейс для удалённого управления программным обеспечением.

В сентябре 2014 г. ожидается выход новой версии 0.6 клиента, в основном призванной:
1) добавить в систему новый функционал, – например, круги (RetroShare circles), wiki-страницы и система рейтингов, – что сделает платформу защищённой, полностью децентрализованной социальной сетью нового типа;
2) усовершенствовать структуру сертификата пользователя, увеличить длину публичного и приватного ключей по умолчанию;
3) оптимизировать обмен кэшем (General eXchange System – GXS), что существенно снизит требования к пропускной способности канала передачи данных и сделает более удобной работу пользователей, имеющих „узкий“ канал.

По состоянию на 30 мая 2014 г. внутри дарк-сети RetroShare для тестирования выложена альфа-версия 0.6 клиента (сборка 7377).

Пятого июня 2014 года была обнаружена ещё одна уязвимость в библиотеке OpenSSL, связанная с возможностью осуществления атаки типа «человек посередине». Это потребовало оперативно обновить версию клиента до 0.5.5c (сборка 7401) с версией SSL/TLS 1.0.1h. На 6 июня 2014 г. данная версия платформы опубликована в сети RetroShare.

Очередная альфа-версия 0.6 криптоплатформы (сборка 7411) доступна пользователям для тестирования с 21 июня 2014 г. На следующий день, 22 июня 2014 г., был представлен клиент той же версии для визуальной библиотеки Qt 5.3 (сборка 7413). Оба варианта ПО доступны внутри сети RetroShare и на момент публикации воспользоваться ими могли лишь действующие участники сети.

Интересные факты[править | править вики-текст]

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

Когда создатель проекта представил на суд своим друзьям начальную версию программы, на тот момент не имевшей названия, те сказали, что программа выглядит „очень ретро“, то есть её функционал и структура очень строги и классичны.


Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]

http://www.gulli.com/news/18214-retroshare-file-sharing-and-communication-undercover-2012-02-23

https://twitter.com/retroshare/status/453926902664011776

https://www.openssl.org/news/secadv_20140605.txt


П: Портал «Анархизм»
П: Портал «Криптография»
П: Портал «Компьютерные сети»
П: Портал «Свободное программное обеспечение»