Как мы обсуждали ранее, отключение интернета в конкретной стране или городе — не вымышленная угроза, а вполне реализуемое действие. В частности, международная ассоциация Internet Society зафиксировала в 2021 году 49 искусственно вызванных шатдаунов.
Но есть эффективные технологии, которые позволят пережить возможный шатдаун. Например, mesh-сети для радиосвязи.
Одна из последних разработок в этой области — сетевой стек Reticulum (RNS).
К настоящему времени создано много фрагментарных решений и специализированных инструментов, но до сих пор не было полного коммуникационного стека для mesh-сети, которую могут поднять обычные пользователи без какой-либо централизованной координации. Разработчик RNS постарался восполнить этот пробел.
Подобную сеть можно за полчаса развернуть в случае системного сбоя коммуникаций в конкретной области или во всём мире. Не требуется ни драйверов, ни модулей ядра для встроенных ОС. Сетевой стек легко поставить на любой радиомодем, а для этой операции не требуется особый опыт работы с компьютерами или радиопередатчиками (полная документация, pdf).
RNS работает на основе совершенно нового протокола, у которого ряд преимуществ перед IP-протоколом (хотя IP тоже поддерживается).
Главные преимущества Reticulum перед традиционными сетевыми стеками — поддержка очень низкого битрейта и очень больших задержек. То есть можно передавать пакеты по самым простым радиоканалам во время краткосрочных сеансов связи. При этом сохраняется сквозное шифрование и полная анонимность.
Особенности стека
- Бескоординатная глобальная адресация и идентификация.
- Полностью самоконфигурирующаяся многоцелевая маршрутизация (multi-hop).
- Асимметричное шифрование X25519 и подписи Ed25519.
- Спецификация шифрования Fernet:
- AES-128 в режиме CBC с набивкой PKCS7;
- HMAC с аутентификацией SHA256;
- генерация векторов инициализации с помощью
os.urandom()
;
- прямая секретность с эфемерными ключами по протоколу Диффи — Хеллмана на эллиптических кривых (ECDH), набор Curve25519.
- AES-128 в режиме CBC с набивкой PKCS7;
- Защищённые от подделки подтверждения доставки пакетов.
- Разнообразие типов интерфейсов.
- Интуитивно понятный и простой в использовании API.
- Надёжная и эффективная передача произвольных объёмов данных.
- поддержка многогигабайтных файлов;
- автоматический подсчёт контрольных сумм, координация и восстановление последовательности пакетов;
- расширяемый механизм запросов/ответов.
- поддержка многогигабайтных файлов;
- Эффективное установление соединения: три пакета общим размером 237 байт, далее расход поддержания коннекта 0,62 бита в секунду.
Разработчик сетевого стека — Марк Квист, опытный разработчик и сетевой инженер, который всю свою жизнь занимается созданием и управлением компьютерными сетями. Владелец компании Unsigned.io, которая разрабатывает и продаёт оборудование для радиосвязи (модули RNode, модемы MicroModem и OpenModem).
Reticulum может работать практически на любом девайсе, начиная с крошечного Raspberry Pi Zero. По словам Квиста, с помощью Reticulum люди с минимальными знаниями в области телекоммуникаций и компьютеров могут поднять систему обмена сообщениями на большие расстояния для своего сообщества.
Например, можно легко поднять внутри города mesh-сеть и установить канал связи с соседним городом по УКВ, говорит Квист: «Если у вас уже есть модем и радиопередатчик, на настройку уйдет пять минут. Я действительно старался сделать стек максимально гибким, но при этом очень простым в использовании для людей с минимальным опытом работы с компьютерами и радиопередатчиками».
Как это выглядит на практике, можно посмотреть на примере Nomad Network. Это прототип устойчивой mesh-сети на протоколах LXMF и Reticulum.
Устройства в сети Nomad Network
Данный проект кардинально отличается от многих других проектов mesh-сетей в мире, таких как общественная городская сеть NYC Mesh. Все они ставят целью в конечном итоге выход в интернет. А здесь изначально создаётся отдельная от интернета сеть, да ещё с сильным шифрованием. Это фундаментально иной уровень. Фактически, Reticulum поддерживает сценарий полного апокалипсиса.
«Reticulum — это попытка создать альтернативный протокол базового уровня для сетей передачи данных, — говорит автор. — По сути, это не одна сеть, а инструмент для построения сетей. Его можно сравнить с IP, стеком интернет-протокола, на котором работает Интернет и 99,99% всех других сетей на Земле. Он решает те же проблемы, что и стек IP, обеспечивая передачу цифровых данных из точки А в точку Б, но делает это совершенно иначе и с совершенно другими предположениями. Реальная сила протокола заключается в том, что он может использовать все виды различных средств связи и соединять их в единую сеть. Он может использовать [дальние] приёмопередатчики, модемы, радиосвязь, Ethernet, WiFi или даже моток старой медной проволоки, если у вас есть такая возможность».
Обмен зашифрованными сообщениями в радиосети Nomad Network
Ещё несколько скриншотов
Разработка Reticulum пока находится в зачаточной стадии. Программный код не прошёл аудит на предмет безопасности шифрования. То есть в реальности его пока рановато использовать в серьёзном деле.
Проблема ещё в том, что весь существующий сетевой софт написан для протокола IP. Поэтому для сетевого стека Reticulum придётся создавать ещё и новый программный стек: существующие программы там работать не будут. Хотя кое-что уже разработано. Например, мессенджер Sideband (Android, Linux, MacOS) для обмена текстовыми сообщениями по LoRa, пакетному радио, WiFi, I2P или любому другому транспортному протоколу, который поддерживается стеком пиринговых коммуникаций LXMF.