Monthly Archives: November, 2014

RetroShare: быстрое вхождение

Материал статьи адресован тем, кто не желает вникать в тонкости вхождения в сеть RetroShare или в сущность и идеологию подходов, лежащих в её основе, а просто хочет быстро и безболезненно подключиться и немедленно ею пользоваться.

RS_logoПроцедура подключения к сети RetroShare предполагает три базовых этапа:

  1. скачивание и установка клиентской программы;
  2. создание личного сертификата;
  3. поиск доверенных пиров.

Сложность каждого из названных этапов возрастает по мере увеличения его порядкового номера. Если скачивание и установка обычно не вызывают никаких проблем, то создание личного сертификата может вызвать у пользователя, не имевшего отношения к шифрованию данных и смутно представляющего смысл публичного и приватного ключей, ощущение некоторого дискомфорта. Поиск доверенных участников в „тёмной сети“ RetroShare, а в ещё большей степени – взаимный обмен сертификатами, вообще зачастую ставит крест на желании потенциального пользователя опробовать скрытый Интернет на деле. В действительности никаких принципиальных сложностей при подключении к криптоплатформе RetroShare нет. Просто в ней многое непривычно, многое не так. Это – другой Интернет: скрытый от посторонних глаз, анонимный и децентрализованный.

Этап первый. СКАЧИВАНИЕ И УСТАНОВКА

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

Выбираем язык установщика и клиентской программы:

Screen-01

Задаём тип установки. Для системы Windows настоятельно рекомендуется выбирать портативную установку, при которой все файлы программы будут находиться в одной папке и не будут привязаны к файловой структуре операционной системы. Такая установка впоследствии позволяет осуществить перенос программы на другой компьютер простым копированием папки с установленной программой.

Screen-02Указываем папку установки:

Screen-03

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

Screen-04Автоматическое развёртывание дистрибутива:

Screen-05Завершение установки:

Screen-06

Этап второй. ГЕНЕРАЦИЯ СЕРТИФИКАТА

При первом запуске RetroShare выводит на экран окно мастера, помогающего пользователю создать личный сертификат:

Screen-07В поле «Имя» указывается псевдоним пользователя. Пароль может быть произвольным, но в целях безопасности лучше, чтобы его длина составляла не менее 8 символов и чтобы он не содержал тривиальных комбинаций букв или цифр. Поле «Местоположение» может сыграть существенную роль, если вы хотите пользоваться сгенерированной парой ключей на разных компьютерах: например, дома на двух ноутбуках и на рабочем компьютере. В этом случае в каждом экземпляре программы будет использоваться один и тот же приватный и публичный ключ с различным метоположением – home1, home2, work – и вам не потребуется просить друзей добавить ваш сертификат несколько раз. Если же у вас один единственный компьютер и большего их количества в обозримом будущем не предвидится, то в качестве местоположения можете указывать что угодно.

При генерации сертификата нужно активно перемещать курсор мыши по экрану и, по возможности, нагрузить жёсткий диск копированием файлов. Это увеличит энтропию синтезируемых ключей, то есть они станут „более случайными“. По достижению процесса 100% жмём «Создать новую личность» и заходим в программу, введя пароль к сертификату:

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

Загружается программа

Screen-09и тут же появляется предупреждение о наличии плагинов:

Screen-10Жмём «Да», тем самым подтверждая, что мы им доверяем. RetroShare загружена:

Screen-11

Если появится предупреждение стандартного межсетевого экрана,

Screen-12то смело ставим галочки, разрешающие пропускать трафик RetroShare как в домашней сети, так и в общественных. RetroShare, как сказано выше, шифрует все передаваемые данные, поэтому бояться нечего: в Сеть отсылается и из неё принимается лишь „цифровой шум“, понять который смогут лишь те, кому он предназначен. Стороннему лицу что-либо разнюхать не удастся.

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

Screen-13Чем больше эти значения, тем вы более полезны для криптосети RetroShare, так как к вам будет идти не только собственный трафик, но и транзитный трафик от других пользователей. Зачения установлены для сети со скоростью 2 Мбит/сек. Полосу пропускания можете увеличить во столько раз, во сколько скорость вашего соединения больше 2 Мбит/сек. Галочку «Использовать серверы-трансляторы» нужно ставить, если у вас непрозрачный маршрутизатор или межсетевой экран. Это облегчит вхождение в сеть. Если вы не имеете понятия о состоянии свого маршрутизатора или межсетевого экрана, то галочка на «Использовать серверы-трансляторы» не повредит.

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

Screen-14

Перейдите в раздел «Чат» и нажмите кнопку «Изменить шрифт чата»:

Screen-15Размер шрифта в чатах, очевидно, маленький, что особенно заметно на больших экранах. Для мониторов рамером 24–26 дюймов оптимальный размер шрифта составляет 11 пунктов.

Перейдите в раздел «Почтовая служба» и установите галочку «Принимать дальние шифрованные сообщения от любого участника сети»:

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

Этап третий. ПОИСК ДОВЕРЕННЫХ ПИРОВ, ОБМЕН СЕРТИФИКАТАМИ

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

Заходим в настройки клиента в раздел «Профиль», вкладка «Сертификат»:

Screen-16Копируем всё содержимое текстового поля в буфер обмена. Переходим сразу по обеим ссылкам, указанным выше, и вставляем наш сертификат:

Screen-17

Screen-19

Вводим символы проверки и жмём «Отправить»/«Validate». Отметим, что при проверке строчные и заглавные буквы отличаются.

Оба робота выдают нам свои сертификаты:

Screen-18

Screen-20

Переходим к программе и жмём кнопку, вызывающую помощника добавления друзей:

Screen-21Появляется окно мастера:

Screen-22В нижнем поле вставляем сертификат первого робота и жмём кнопку далее:

Screen-23

Устанавливаем галку «Authenticate friend (sign PGP key)»:

Screen-24

Вводим пароль к нашему сертификату, созданному ранее на втором этапе вхождения в сеть:

Screen-25

Появляется окно прогресса подключения. Можно жать «OK», подключение к пиру будет проходить в фоновом режиме.

Screen-26

То же самое проделываем и для сертификата, полученного от второго робота. В результате у нас появляется два доверенных пира:

Screen-27Второй робот на момент написания статьи был нерабочим, поэтому и подключиться к нему не удалось.

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

Screen-28

В нижнем левом углу видно, что у нас есть 2 друга, один из которых – онлайн:

Screen-29

А щёлкнув по глобальной вкладке «Чаты», обнаруживаем большой список доступных чатов:

Screen-30

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

Screen-31главная из которых на начальном этапе – „New Users Reception“. В этом чате находятся весьма дружелюбные пользователи, некоторые из которых будут рады помочь вам подключиться к RetroShare.

Screen-32

В чате для новичков можно дать ссылку на свой сертификат:

Screen-34

Screen-33

После того, как кто-то откликнулся на вашу просьбу и дал ссылку на собственный сертификат,

Screen-35вы щёлкаете левой кнопкой мыши на нём и добавляете доверенного пира точно так же, как и роботов ранее:

Screen-36

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

Screen-37а вместе с ним – и доступ к ресурсам криптоплатформы. Начали подгружаться форумы:

Screen-38Заработал поиск контента:

Screen-40Появились каналы:

Screen-39

Теперь остаётся лишь укрепить свои связи с дарк-сетью RetroShare, найдя 10–20 доверенных участников, которые более или менее регулярно входят в сеть. Однозначных и конкретных рекомендаций как сделать это быстро – нет. Существуют два общих подхода к увеличению количества доверенных участников:

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

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

Да, RetroShare не так уж и тривиальна, но она даёт практически безграничные возможности к общению и обмену контентом, главный признак которых – безопасность.

Несовременный BitTorrent

Длительное и достаточно активное использование файлообмена на основе протокола BitTorrent не может порой не вызывать некоторого недоумения на предмет его неудобства, непродуманности, стойкого дискомфорта при работе – особенно, когда дело касается раздачи материалов.

Исторически до выхода на большую сцену торрент-файлообмена существовали несколько файлообменных сетей, среди которых до наших дней дожили eDonkey и DC++. Однако в последних по причине централизованности установления контактов между участниками существовала серьёзная проблема очередей на доступ у раздаваемому материалу, что было неудобно. Кроме этого, в то время имели место быть невысокие скорости обмена данными – проблема, конечно, не имеющая отношения к протоколу, но в совокупности сказанное приводило к низкой интегральной эффективности существующих файлообменных сетей. В 2004-м году начал стремительно набирать обороты файлообмен на основе протокола BitTorrent, первая спецификация которого появилась тремя годами ранее. На ранних этапах это был полудецентрализованный сервис, также предполагавший обращение пользователя-получателя файла к определённым серверам – торрент-трекерам – с поисковыми запросами на наличие фрагментов принимаемого файла у других участников файлообмена. Вскоре, протокол был улучшен алгоритмами DHT (Kademlia), долгожданным PeX, превращающим протокол в по-настоящему децентрализованный, LSD и, наконец, uTP. В результате BitTorrent превратился в надёжное, стопроцентно работающее, стойкое к блокирующим действиям средство файлообмена но… суть осталась той же: BitTorrent неудобен. Протокол стал настолько популярен и широко распространён, что на фоне этой успешности пользователи перестали замечать его принципиальные недостатки, не позволящие считать его отличным средством файлообмена в современных вычислительных сетях. Итак, в чём здесь дело?

Протокол предполагает следующий подход (см. рисунок).

TorrentРисунок — Структура файлообмена в BitTorrent-сети

Обязательным является наличие файла-описателя – торрент-файла. Иногда его называют „метафайлом раздачи“. Количество информационных блоков, содержащихся в метафайле, в принципе, ничем не ограничено, но обязательным является указание:

  1. объёма и файловой структуры раздаваемого/принимаемого материала;
  2. размера и количества фрагментов раздаваемого/принимаемого материала;
  3. хеш-суммы каждого фрагмента раздаваемого/принимаемого материала.

Это так называемая „инфо-секция“ торрент файла, без знания которой нельзя начать файлообмен. Дополнительные секции могут содержать ссылки на торрент-трекеры, комментарии и пр.

Изъяны реализации протокола

1. Для отдачи/скачивания контента требуется дополнительный файл-описатель раздачи. Даже если для скачивания контента используются магнет-ссылки, всё равно они указывают не на контент, а лишь на торрент-файл.

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

2. Торрент-файл содержит не хеш(-и) всего файла (группы файлов), а хеши фрагментов раздаваемого материала.

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

3. Размер фрагментов раздачи могут быть произвольными и, чаще всего, находятся в пределах от 64 кБ до 16 МБ.

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

Изъяны реализации клиент-серверов

1. Торрент файл, загруженный в клиент-сервер, должен точно указывать на раздаваемый материал.

Изменение имени файла(-ов) или пути к раздаваемому материалу – например, при переносе в другую папку – делает раздачу неработоспособной или, что хуже, заново скачивает контент в то же самое место. Удаление материала раздачи с жёсткого диска также требует удаления метафайла из торрент-клиента. При большом количестве раздач такие манипуляции не могут не вызывать раздражения. Безусловно, некоторые клиенты – например, qBittorrent – дают возможность переименовать файлы в раздача, но делается это в ручном режиме, что нельзя назвать оптимальным решением.

2. Нет возможности открыть доступ к папаке с множеством файлов, подлежащих раздаче.

Таким образом, каждый файл, подлежащий раздаче, требует:

  • создания отдельного метафайла;
  • публикации метафайла на торрент-портале;
  • связывания сгенерированного метафайла с конкретным локальным файлом

и, наконец,

  • неусыпного контроля за торрент-клиентом и локальными файлами.

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

3. Отсутствует возможность децентрализованного поиска файлов по имени или хеш-суммам.

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

4. Если донор и реципиент файла находятся за непрозрачными роутерами, файлообмен не состоится.

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

А какие же альтернативы? Для примера приводится полная ссылка на видеофайл в шифрованной сети RetroShare: „retroshare://file?name=Rising%20arrows%20(2010).mp4&size=75967501&hash=2d34dfbba466a9974ce49bd489f505bf904395b2“. В представленной ссылке имеется

  • имя файла – допустим поиск по имени или фрагменту имени файла, а также расширению;
  • объём файла в байтах – поиск по запросу не больше (не меньше) определённого объёма;
  • уникальная хеш-сумма файла – пользователь может её сохранить и позднее быть уверенным в том, что он качает именно тот файл, который ему нужен.

Аналогичная ссылка для сети eDonkey: „ed2k://|file|Centos-7.0-1406-x86%2064-Everything.iso|7062159360|D849C30B8D630470FB9C9F74AB11D9ED|/“. Для скачивания никаких вспомогательных файлов не требуется; доступ к ресурсам открывается целыми папками; система сама отслеживает изменения файлов в разделяемых папках.

Заключение

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

Материал статьи может незначительно изменяться и дополняться