Выпуск Yggdrasil 0.4, реализации приватной сети, работающей поверх интернета

5 июля 2021 года

Опубликован выпуск эталонной реализации протокола Yggdrasil 0.4, позволяющего поверх обычной глобальной сети развернуть отдельную децентрализованную приватную IPv6-сеть, для защиты конфиденциальности в которой применяется сквозное шифрование. Для работы через сеть Yggdrasil могут использоваться любые существующие приложения, поддерживающие IPv6. Реализация написана на языке Go и распространяется под лицензией LGPLv3. Поддерживаются платформы Linux, Windows, macOS, FreeBSD, OpenBSD и Ubiquiti EdgeRouter.

Yggdrasil развивает новую концепцию маршрутизации для создания глобальной децентрализованной сети, узлы в которой могут соединяться как напрямую между собой в режиме mesh-сети (например, через Wi-Fi или Bluetooth), так и взаимодействовать поверх существующих IPv6 или IPv4 сетей (сеть поверх сети). Отличительной особенностью Yggdrasil является самоорганизация работы, без необходимости явной настройки маршрутизации - информация о маршрутах рассчитывается отталкиваясь от расположения узла в сети относительно других узлов. Устройства адресуются через обычный адрес IPv6, который не меняется в случае перемещения узла (в Yggdrasil задействован неиспользуемый диапазон адресов 0200::/7).

Вся сеть Yggdrasil рассматривается не как объединение разрозненный подсетей, а как единое структурированное остовное дерево, у которого имеется один "корень", а каждый узел имеет одного родителя, а также одного или нескольких потомков. Подобная древовидная структура позволяет построить маршрут к узлу назначения, относительно узла источника, используя механизм "locator", определяющий оптимальный путь к узлу от корня.

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

Отмечается, что несмотря на нахождение проекта на стадии альфа-разработки, он уже достаточно стабилен для ежедневного использования, но не гарантирует обратную совместимость между выпусками. Для Yggdrasil 0.4 сообществом поддерживается набор сервисов, включая платформу для размещения Linux-контейнеров для хостига своих сайтов и поисковую систему YaCy, коммуникационный сервер Matrix, IRC-сервер, DNS, систему VoIP, BitTorrent-трекер карту точек подключения, шлюз в IPFS и прокси для обращения к сетям Tor, I2P и clearnet.

В новой версии:

  • Новая схема маршрутизации, не совместимая с прошлыми выпусками Yggdrasil.
  • При установке TLS-соединений с узлами задействована привязка открытых ключей (key pinning). Если привязка при соединении отсутствует полученный ключ будет закреплён за соединением. Если ключ не соответствует привязке, соединение будет отвергнуто.
  • TLS определён как рекомендованный метод подключения к пирам с привязкой ключей.
  • Полностью переработан и переписан код для маршрутизации и управления сеансами, что позволило увеличить пропускную способность и надёжность работы, особенно для узлов, часто меняющих пиры. В криптографических сеансах реализована периодическая ротация ключей. Добавлена поддержка маршрутизации по источнику (Source routing), которая может использоваться для перенаправления пользовательского IPv6 трафика. Переработана архитектура распределённой хэш-таблицы (DHT) и добавлена поддержка маршрутизации на основе DHT. Реализация алгоритмов маршрутизации вынесена в отдельную библиотеку.
  • IP-адреса IPv6 теперь формируются из открытых ключей ed25519, а не их хэша X25519, что приведёт к смене всех внутренних IP в выпуске Yggdrasil 0.4.
  • Предоставлены дополнительные настройки для поиска Multicast-пиров.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск Yggdrasil 0.4, реализации приватной сети, работающей поверх интернета», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.