Hyperboria: Маршрутизация

в 13:34, , рубрики: Dura Lex, hyperboria, информационная безопасность, криптография, метки:

Hyperboria: Маршрутизация
Продолжая цикл статей об Hyperboria, в этой статье будут рассмотрены следующие аспекты:
1) Количество IP адресов в Hyperboria, как они генерируются.
2) Коллизии и как с ними бороться.
3) Почему используется служебный (приватный) диапазон IPv6 адресов.
4) Роутеры и Hyperboria.
5) Маршруты и DHT.
6) Защищенность сети.

Количество IP адресов в Hyperboria

Общее количество доступных адресов в Hyperboria — 1 329 227 995 784 915 872 903 807 060 280 344 576
IP адреса в сети hyperboria генерируются с помощью псевдо-случайного генератора случайных чисел, используя при генерации Mac адрес вашего сетевого адаптера.

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

Коллизии и как с ними бороться

Раз мы выяснили что в сети могут быть одновременно два одинаковых IP адреса, то что как же будет ходить трафик между ними?

1) Первый случай — у клиентов разные приватные ключи

Трафик будет транслироваться аналогично принципу Multicast на оба IP адреса, но только лишь обладатель верного приватного ключа сможет его прочитать, остальная часть будет отброшена cjdns.

2) Второй Случай — у клиентов одинаковые приватные ключи

Система будет себя вести по принципу Multicast, трафик смогут прочитать оба узла

Другими словами — что бы взломать сеть и расшифровать ваш трафик — нужно получить ваш приватный ключ.

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

Почему используется служебный (приватный) диапазон IPv6 адресов

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

Роутеры и Hyperboria

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

Как это работает

После установки прошивки, роутер создает 2 беспроводных интерфейса, 1 — для создания обычной wi-fi сети, 2 — для подключения к другим нодам.

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

Клиентам за роутером выдается серый приватный ipv6 адрес который, т.е роутер работает в режиме Nat, если же у клиента установлен клиент cjdns то подключение к роутеру происходит с помощью второй сети.

Маршруты и DHT

Предположим вы подключены к ноде 1, а ваш друг к ноде 650, вам нужно передать ему информацию.
Схема получения маршрута будет выглядеть следующим образом:
1) Ваш узел попробует поискать в своей таблице маршрутизации путь к вашему другу
2) Если он там не найден произойдет запрос по DHT сети к узлу выше уровнем (или ко всем узлам, к которым вы подключены)
3) Если маршрут все еще не найден произойдет рассылка всем в сети пакета на поиск узла, первый пришедший авторизованный ответ — считается верным

— В дальнейшем, запрос можно будет повторить только через 10 минут, и время каждый раз будет увеличиваться при повторном запросе.
Возможно вы скажете «А если я двигаюсь на машине по очереди подключаясь к различным wi-fi точкам доступа и маршрут меняется, то что же делать?»
— Подключаясь к точке доступа вы сами сообщаете свой маршрут при заходе на той или иной ресурс, таким образом запрос поиска вашего маршрута не будет требоваться.

Защищенность сети

В сети Hyperboria невозможно провести следующие атаки:
1) MITM — если внутри вашего маршрута возникнет не доверенный узел то он не сможет обрабатывать пакеты ему не принадлежащие
2) Подключение к подставному узлу — Если даже вы сообщили ему публичный ключь, он все равно не может читать информацию которая принадлежит вам.
3) DPI в сети не может работать по причине №2
4) Ваш IPv6 адрес невозможно сопоставить с реальным

Итоги

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

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

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

И напоследок, вот так выглядила сеть 2 недели назад http://hype.rusblock.com/cjdnsmap/map_old.png а вот так сейчас http://hype.rusblock.com/cjdnsmap/map.svg

Узел 9c0e — публичная нода

Согласно топику http://habrahabr.ru/post/183474/ можно попробовать построить свою Hyperboria Mesh сеть в России. Она не должна попадать под законы о провайдерах или о связи, из-за того, что канал предоставляется от пользователя — пользователю, понятие «сеть» не применимо к Hyperboria.

Автор: shifttstas

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js