- PVSM.RU - https://www.pvsm.ru -

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 1

Как мы обсуждали [1] ранее, отключение интернета в конкретной стране или городе — не вымышленная угроза, а вполне реализуемое действие. В частности, международная ассоциация Internet Society зафиксировала в 2021 году 49 искусственно вызванных шатдаунов [2].

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

Одна из последних разработок в этой области — сетевой стек Reticulum [3] (RNS).

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

Подобную сеть можно за полчаса развернуть в случае системного сбоя коммуникаций в конкретной области или во всём мире. Не требуется ни драйверов, ни модулей ядра для встроенных ОС. Сетевой стек легко поставить на любой радиомодем, а для этой операции не требуется особый опыт работы с компьютерами или радиопередатчиками (полная документация [4], pdf [5]).

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 2

RNS работает на основе совершенно нового протокола, у которого ряд преимуществ перед IP-протоколом (хотя IP тоже поддерживается).

Главные преимущества Reticulum перед традиционными сетевыми стеками — поддержка очень низкого битрейта и очень больших задержек. То есть можно передавать пакеты по самым простым радиоканалам во время краткосрочных сеансов связи. При этом сохраняется сквозное шифрование и полная анонимность.

Особенности стека

  • Бескоординатная глобальная адресация и идентификация.
  • Полностью самоконфигурирующаяся многоцелевая маршрутизация (multi-hop).
  • Асимметричное шифрование X25519 и подписи Ed25519.
  • Спецификация шифрования Fernet [6]:
    • AES-128 в режиме CBC с набивкой PKCS7;
    • HMAC с аутентификацией SHA256;
    • генерация векторов инициализации с помощью os.urandom();
    • прямая секретность с эфемерными ключами по протоколу Диффи — Хеллмана на эллиптических кривых (ECDH), набор Curve25519.
  • Защищённые от подделки подтверждения доставки пакетов.
  • Разнообразие типов интерфейсов.
  • Интуитивно понятный и простой в использовании API.
  • Надёжная и эффективная передача произвольных объёмов данных.
    • поддержка многогигабайтных файлов;
    • автоматический подсчёт контрольных сумм, координация и восстановление последовательности пакетов;
    • расширяемый механизм запросов/ответов.
  • Эффективное установление соединения: три пакета общим размером 237 байт, далее расход поддержания коннекта 0,62 бита в секунду.

Разработчик сетевого стека — Марк Квист [7], опытный разработчик и сетевой инженер, который всю свою жизнь занимается созданием и управлением компьютерными сетями. Владелец компании Unsigned.io [8], которая разрабатывает и продаёт оборудование [9] для радиосвязи (модули RNode [10], модемы MicroModem [11] и OpenModem [12]).

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 3

Reticulum может работать практически на любом девайсе, начиная с крошечного Raspberry Pi Zero. По словам Квиста, с помощью Reticulum люди с минимальными знаниями в области телекоммуникаций и компьютеров могут поднять систему обмена сообщениями на большие расстояния для своего сообщества.

Например, можно легко поднять внутри города mesh-сеть и установить канал связи с соседним городом по УКВ, говорит [13] Квист: «Если у вас уже есть модем и радиопередатчик, на настройку уйдет пять минут. Я действительно старался сделать стек максимально гибким, но при этом очень простым в использовании для людей с минимальным опытом работы с компьютерами и радиопередатчиками».

Как это выглядит на практике, можно посмотреть на примере Nomad Network [14]. Это прототип устойчивой mesh-сети на протоколах LXMF [15] и Reticulum [3].

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 4
Устройства в сети Nomad Network

Данный проект кардинально отличается от многих других проектов mesh-сетей в мире, таких как общественная городская сеть NYC Mesh [16]. Все они ставят целью в конечном итоге выход в интернет. А здесь изначально создаётся отдельная от интернета сеть, да ещё с сильным шифрованием. Это фундаментально иной уровень. Фактически, Reticulum поддерживает сценарий полного апокалипсиса.

«Reticulum — это попытка создать альтернативный протокол базового уровня для сетей передачи данных, — говорит [17] автор. — По сути, это не одна сеть, а инструмент для построения сетей. Его можно сравнить с IP, стеком интернет-протокола, на котором работает Интернет и 99,99% всех других сетей на Земле. Он решает те же проблемы, что и стек IP, обеспечивая передачу цифровых данных из точки А в точку Б, но делает это совершенно иначе и с совершенно другими предположениями. Реальная сила протокола заключается в том, что он может использовать все виды различных средств связи и соединять их в единую сеть. Он может использовать [дальние] приёмопередатчики, модемы, радиосвязь, Ethernet, WiFi или даже моток старой медной проволоки, если у вас есть такая возможность».

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 5
Обмен зашифрованными сообщениями в радиосети Nomad Network

Ещё несколько скриншотов

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 6

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 7

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 8

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 9

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

Проблема ещё в том, что весь существующий сетевой софт написан для протокола IP. Поэтому для сетевого стека Reticulum придётся создавать ещё и новый программный стек: существующие программы там работать не будут. Хотя кое-что уже разработано. Например, мессенджер Sideband [18] (Android, Linux, MacOS) для обмена текстовыми сообщениями по LoRa, пакетному радио, WiFi, I2P или любому другому транспортному протоколу, который поддерживается стеком пиринговых коммуникаций LXMF [19].


Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета - 10 [20]

Автор: GlobalSign_admin

Источник [21]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/374369

Ссылки в тексте:

[1] обсуждали: https://habr.com/ru/company/globalsign/blog/652647/

[2] 49 искусственно вызванных шатдаунов: https://pulse.internetsociety.org/blog/end-of-year-review-2021

[3] сетевой стек Reticulum: https://github.com/markqvist/Reticulum

[4] полная документация: https://markqvist.github.io/Reticulum/manual/

[5] pdf: https://github.com/markqvist/Reticulum/raw/master/docs/Reticulum%20Manual.pdf

[6] Fernet: https://github.com/fernet/spec/blob/master/Spec.md

[7] Марк Квист: https://github.com/markqvist

[8] Unsigned.io: https://unsigned.io/

[9] оборудование: https://unsigned.io/hardware/

[10] RNode: https://unsigned.io/rnode/

[11] MicroModem: https://unsigned.io/micromodem/

[12] OpenModem: https://unsigned.io/openmodem/

[13] говорит: https://www.reddit.com/r/preppers/comments/tqhtgt/i_made_the_prepper_version_of_the_internet/

[14] Nomad Network: https://github.com/markqvist/NomadNet

[15] LXMF: https://github.com/markqvist/LXMF

[16] NYC Mesh: https://www.nycmesh.net/

[17] говорит: https://www.vice.com/en/article/88g7pb/this-prepper-is-building-a-post-apocalyptic-internet

[18] Sideband: https://unsigned.io/sideband/

[19] LXMF: https://github.com/markqvist/lxmf

[20] Image: https://shop.globalsign.com/ru-ru/code-signing

[21] Источник: https://habr.com/ru/post/662489/?utm_source=habrahabr&utm_medium=rss&utm_campaign=662489