Приветствую!

Наверняка для вас не будет большой новостью то, что «Суверенный Рунет» не за горами — закон вступает в силу уже 1 ноября этого года.

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

Схожая ситуация наблюдалась и в отношении реализации планов «закона Яровой» — оборудование для закона не успели разработать в срок и ведущие операторы связи страны были вынуждены неоднократно обращаться к потенциальным производителям специализированного оборудования с соответствующими вопросами. Однако и те не получили ответа ни о сведениях об оборудовании, ни самих образцов.

Но главное — не то, как скоро вступит в силу закон и какие нас ожидают изменения. Главное — это то, что благодаря введению данного законопроекта сообщество энтузиастов начало развёртывание независимой телекоммуникационной среды в нашей стране.

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




О чём закон?


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

Вкратце: власти хотят «обезопасить» российский сегмент Интернета на случай, если условные враги захотят нам его отключить. Но «благими намерениями вымощена дорога в ад» — не совсем понятно, от кого нас собираются защищать и каким образом «враги» в принципе могут нарушить работу российского сегмента Интернета.

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

Звучит не очень правдоподобно.



Что такое «Medium»?


Medium (англ. Medium — «посредник», оригинальный слоган — Don't ask for your privacy. Take it back; также в английском слово medium значит «промежуточный») — российский децентрализованный интернет-провайдер, предоставляющий услуги доступа к сети Yggdrasil на безвозмездной основе.

Когда, где и зачем был создан «Medium»?


Изначально проект задумывался как Mesh-сеть в Коломенском городском округе.

«Medium» образован в апреле 2019 года в рамках создания независимой телекоммуникационной среды путём предоставления конечным пользователям доступа к ресурсам сети Yggdrasil посредством использования технологии беспроводной передачи данных Wi-Fi.

Где я могу найти полный перечень всех точек сети?
Вы можете найти его в репозитории на GitHub.



Что такое Yggdrasil и почему «Medium» использует его в качестве основного транспорта?


Yggdrasil — это самоорганизующаяся Mesh-сеть, имеющая возможность подключения роутеров как в режиме оверлея (поверх сети Интернет), так и непосредственно друг к другу через проводное или беспроводное соединение.

Yggdrasil является продолжением проекта CjDNS. Главным отличием Yggdrasil от CjDNS является использование протокола STP (spanning tree protocol).



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

Выбор сети Yggdrasil как основного транспорта был обусловлен потребностью в увеличении скорости соединения (до августа 2019 года «Medium» использовал I2P).

Переход на Yggdrasil также предоставил участникам проекта возможность начать развёртывание Mesh-сети с топологией Full-Mesh. Такая организация сети — самый действенный антидот против цензуры.



Разбор полётов: на какие грабли мы уже успели наступить


«Опыт — сын ошибок трудных». За время разработки «Medium» мы успели разрешить множество проблем, возникавших на нашем пути.

Ошибка №1: инфраструктура открытых ключей


Одной из главных проблем на момент проектирования сети была возможность проведения MITM-атаки. Трафик между роутером оператора и устройством клиента никаким образом не шифровался, потому как расшифровка основного трафика производилась непосредственно на роутере оператора.

Проблема заключалась в том, что за роутером мог быть кто угодно — и нам очень не хотелось, чтобы этот «кто-то» мог слушать всё, что получают клиенты.

Первой нашей ошибкой было введение в действие инфраструктуры открытых ключей (PKI).

Благодаря использованию 7 уровня сетевой модели OSI мы избавились от атак типа MITM, но обзавелись новой проблемой — необходимостью установки сертификатов корневых удостоверяющих центров. А удостоверяющие центры — это ещё одна лишняя проблема. Ключевое слово здесь — «доверие».

Опять нужно кому-то доверять! А вдруг центр сертификации окажется скомпрометирован? Как нам подсказывает товарищ Мерфи, — рано или поздно удостоверяющий центр действительно скомпрометируют. И это — горькая правда.

Мы долго думали над разрешением и этой проблемы и в конечном итоге пришли к выводу, что необходимости в использовании PKI нет — достаточно использовать нативное шифрование Yggdrasil.

После внесения соответствующих корректив топология сети «Medium» приняла следующий вид:



Ошибка №2: централизованный DNS


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

Мы создали несколько корневых DNS-серверов, которые хранили в себе копию перечня AAAA-записей, расположенного в репозитории на GitHub.


Однако проблема доверия никуда не делась — подмену IPv6-адреса на DNS-сервере его оператор мог осуществить в мгновение ока. При наличии определённой сноровки — даже почти незаметно для других.

Так как мы не используем HTTPS и, в частности, технологию HSTS, при подмене адреса в DNS можно было провести атаку подменой IPv6-адреса конечного сервера без каких-либо проблем.

Решение не заставило себя ждать: мы решили прибегнуть к использованию технологии EmerDNS — децентрализованного DNS.

В каком-то смысле, EmerDNS подобен файлу hosts, где присутствуют записи обо всех известных сайтах. Но в отличие от hosts:

  • Каждую строчку в EmerDNS может модифицировать только её владелец, и никто иной
  • Невозможность «вмешательства бога (супер-админа)» обеспечивается консенсусом майнеров
  • Этот файл у всех одинаков, что обеспечивается механизмом репликации блокчейна
  • К файлу приложен быстрый поисковик

Источник: «EmerDNS — альтернатива DNSSEC»

Ошибка №3: централизованное всё


Изначально слово «Интернет» подразумевало под собой не что иное, как interconnected networks или сеть сетей.

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

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

Но вернёмся к нашей проблеме — тенденцию к централизации задают операторы отдельных сервисов вроде социальных сетей, серверов электронной почты, мессенджеров и так далее.

«Medium» в этом плане практически ничем от большого Интернета не отличался до настоящего времени — большинство сервисов были централизованы и контролировались отдельными операторами.

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

В качестве системы для мгновенного обмена сообщениями мы используем Matrix. В качестве социальных сетей — Mastodon и Hubzilla. Для видеохостинга — PeerTube.

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

Свободный Интернет в России начинается с Вас


Вы можете оказать посильную помощь становлению свободного Интернета в России уже сегодня. Мы составили исчерпывающий перечень того, чем именно вы можете помочь сети:

       Расскажите о сети «Medium» своим друзьям и коллегам
       Поделитесь ссылкой на эту статью в социальных сетях или персональном блоге
       Примите участие в обсуждении технических вопросов сети «Medium» на GitHub
       Создайте свой веб-сервис в сети Yggdrasil
       Поднимите свою точку доступа к сети «Medium»



Читайте также:

Мне нечего скрывать
Всё, что вы хотели знать о децентрализованном интернет-провайдере «Medium», но боялись спросить
Дорогая, мы убиваем Интернет



Есть вопросы? Присоединяйтесь к обсуждению в Telegram: @medium_general.



Небольшой презент для тех, кто дочитал до конца

Комментарии (32)


  1. bzzz00
    30.08.2019 17:54

    примерно как недовольные ПДД решили построить свою дорожную сеть…


    1. Andrey_Rogovsky
      30.08.2019 19:09
      +1

      И получилось метро. Где обычные постовые бессильны.


  1. Minipyh
    30.08.2019 18:01
    +1

    Презент зачётный


    1. podivilov Автор
      30.08.2019 18:08

      Спасибо!


  1. powerman
    30.08.2019 18:16

    Так и что в результате по скорости, по сравнению с I2P?


    1. podivilov Автор
      30.08.2019 18:17

      Попробуйте speedtest.ygg. Всё летает.

      UPD. Еду сейчас с работы на электричке через лес. Сеть ловит местами так себе, но даже тут есть уверенный коннект. По понятным причинам пинг огромный, но это только лишь потому, что я ещё не успел домой воротиться.


      1. powerman
        30.08.2019 19:04

        Честно говоря, у I2P тоже скорость нормальная — но только после установки соединения с сайтом, так что такой тест мало что говорит. Вот установка этого соединения в I2P занимает нередко совершенно неприличное время, а если ещё и DNS сначала надо отрезолвить...


        1. podivilov Автор
          30.08.2019 19:06

          Да, плавали, знаем.

          Нет, в Yggdrasil действительно со скоростью куда лучше. Даже видео на PeerTube без тормозов воспроизводится.

          image


  1. Master255
    30.08.2019 19:05

    Механизмы блокчейна в технологиях передачи данных (EmerDNS) — очень плохая идея. Это обязательно можно исправить.
    Ну и главное, без чего статью писать в 2019 году не имеет значения — это программы. Где программки, которые ставишь под Windows\Android и заходишь в вашу сеть? Ios и Linux, конечно тоже надо.
    Там репозиторий, тут репозиторий… это надо быть хорошим программистом, что бы попасть в вашу сеть. Слишком высокий порог.


    1. podivilov Автор
      30.08.2019 19:07

      Добрый день, мы активно работаем над клиентом для Android. Для Windows есть специальный установщик, если мне не изменяет память. Под iOS есть работающая сборка.


    1. Andrey_Rogovsky
      30.08.2019 19:11

      Продавать роутеры которые позволяют выходить в меш. Не хочешь учить — будешь платить. Как всегда.


      1. Moskus
        31.08.2019 21:14
        -2

        Не хочешь учиться — будешь платить.
        … вы хотели сказать? Иронично.


        1. Andrey_Rogovsky
          01.09.2019 10:41

          Рифма потрачена


          1. Moskus
            01.09.2019 12:27
            -2

            А это какой суржик, ростовский, краснодарский или таганрогский?


  1. Moskus
    31.08.2019 21:12

    .md как формат хранения структурированных геоданных, со ссылками на Google Maps? Серьезно?
    Как насчёт geojson.org? Его даже GitHub сам на карте показывать умеет.


  1. massmedium
    31.08.2019 21:14

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


  1. Ammos
    31.08.2019 21:37

    А что будете делать когда чекисты к вам домой придут? Сеть ведь запретят рано или поздно.


    1. alex_fort
      01.09.2019 09:18

      Так не рождаться же, смерть за тобой всё равно придет.


  1. dmitrybelsky
    01.09.2019 00:37

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


    1. podivilov Автор
      01.09.2019 08:35

      Yggdrasil использует сквозное шифрование и вперёд анонимности обеспечивает приватность. Поэтому конкретно в этом случае крайним скорее окажется тот, кто барыжил или детское порно лил наружу.


      1. vp7
        01.09.2019 21:00

        Не факт.
        Мы же говорим про оверлейные сети?
        Поставит низкообразованный оперативник (а на самом деле — очень даже умный человек, просто прикинувшийся валенком) софт этой сети, найдёт то самое порно, зафиксирует, что его компьютер подключился напрямую к компьютеру Иванова Ивана Ивановича, адрес такой-то для получения контента, и к этому самому Ивану явятся маски-шоу для обыска с изъятием всего оборудования.


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


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


        1. dmitrybelsky
          02.09.2019 13:21

          Вот у меня примерно такие же мысли витают


  1. Shpiler
    01.09.2019 09:36

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


  1. Arqwer
    01.09.2019 11:54

    Так, а вот full mesh это уже интересно. Что с практической стороной вопроса? Можно ли как-то прокладывать новые линии связи не нарушая закона и без согласования с государством?


    1. podivilov Автор
      01.09.2019 14:22

      Добрый день. Мы ждём ответа от Минкомсвязи. Он должен поступить до 13 сентября.


      1. vp7
        01.09.2019 20:53

        А что они вам могут ответить?
        Соблюдайте законы и работайте спокойно… что означает необходимость покупки лицензий на частоты, установку оборудования СОРМ и остальные прелести.


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


        Ну, к примеру, если Qualcomm выпустит новый бюджетный SnapDragon со встроенным LoRa WAN и аппаратной поддержкой MESH сетей и через какое-то время каждый третий телефон будет иметь поддержку подобных вещей на аппаратном уровне, тогда, возможно, что-то серьёзно сдвинется с мертвой точки.


    1. ivan386
      01.09.2019 19:11

      Есть такой вариант: Гигабитный линк на 3 километра на лазерных модемах


      Основные фичи лазерного модема:
      • Не использует радиочастоты — данные передаются с помощью лазерного луча в невидимом глазу диапазоне 780~850 нм. Не создает радиопомех, не требует разрешение на использование радиочастот
      • Низкие задержки — по сравнению с WiFi оборудованием лазерные модемы имеют задержки сравнимые с кабельным подключением.
      • Сложнее перехват данных — радиомосты легко прослушивать без нарушения сигнала. Перехватить трафик лазерного моста практически невозможно без нарушения соединения.
      • Скрытность — лазерный линк сложно обнаружить из-за узконаправленного луча. Радио линк легко обнаружить даже на значительном удалении от антенн.


      1. vp7
        01.09.2019 20:48
        +1

        Да, особенно интересна цена для бесплатного по сути проекта — "цена одного модема от 170 т.р.", т.е. один единственный линк обойдётся всего-то (SARCASM) в 350+ т.р. ;)


      1. podivilov Автор
        01.09.2019 21:18

        К сожалению, вынужден согласиться с vp7. Дороговато получается.


        1. Arqwer
          01.09.2019 13:41

          А может быть можно как-то частично использовать существующую инфраструктуру, чтобы этих линков нужно было по-мнимому? Например, договориться с провайдерами и сказать, что внутренняя сеть провайдера — это не интернет, и СОРМа там быть не должно, а СОРМ должен стоять только на выходе из внутренней сети провайдера. Тогда достаточно бросить линки только между сетями провайдеров, чтобы получить свою собственную не-интернет сеть, в которой не будет СОРМа. Так можно?


          1. podivilov Автор
            01.09.2019 14:29

            Добрый день!

            Пожалуйста, присоединяйтесь к обсуждению на GitHub. Этот вопрос лучше обсудить с сообществом.


      1. VladSMR
        02.09.2019 12:06

        Не только дороговато :-(
        Есть ещё как минимум одна проблема:
        Первоначально отъюстированные устройства имеют тенденцию терять юстировку («сползать») с необходимостью поправлять, причём каждый раз винты разбалтываются и поправлять приходится всё чаще…