Часть 5
Размышления о TLS в сетях Yggdrasil и Mycelium
#Thoughts #TLS #Yggdrasil #Mycelium #OverlayNetworks
В среде оверлейных сетей почему-то считается само собой разумеющимся, что если ключи узлов постоянны, а соединения между ними защищены с помощью TLS, то дополнительный уровень SSL якобы не нужен. Однако в последнее время я начал в этом сомневаться.
Компрометация ключей
#KeyManagement #CryptoRisks #PKI
В сетях вроде Yggdrasil и Mycelium отсутствует высокая сложность генерации приватных ключей, поэтому теоретически (пусть и с крайне малой вероятностью) возможна коллизия. Именно по этой причине рекомендуется использовать основные адреса, а не подсети — последние разработчики планируют, но пока не удалили. При этом подсети удобны в условиях шаред-хостинга.
В любом случае это не исключает возможности случайного извлечения копии ключа — или вовсе не случайного, если учитывать потенциальные возможности современной криптоиндустрии. Вопрос лишь в целесообразности применения суперкомпьютеров для таких целей: сколько пользователей будут включать эти сети, каким капиталом они будут обладать и насколько оправданны атаки на маршрутизацию, основанную на фиксированном алгоритме построения дерева из peer ID.
Комментарий: Речь идёт не о практической уязвимости Yggdrasil, а о модели угроз. Детерминированная маршрутизация на основе публичных ключей описана в документации проекта: https://yggdrasil-network.github.io/architecture.html
Двойной слой
#DoubleEncryption #TLS #Performance
Технически транспортный протокол Yggdrasil берёт на себя роль шифрования трафика даже в тех случаях, когда это не требуется. Например:
— экономия электроэнергии и CPU при передаче крупных медиафайлов
— ситуации, когда SSL / HTTPS уже используется на уровне приложения, чтобы избежать перехвата логинов/паролей или конфиденциальных GET-запросов при работе через прокси
Практический пример — требование обязательного шифрования трафика в протоколе Gemini внутри Yggdrasil. Gemini проектировался как защищённый протокол для Интернета, однако я использую его не совсем в том контексте, который закладывал автор. Поэтому некоторое время я применял альтернативу — Nex, но позже пришёл к выводу, что часть данных всё же потенциально требует сертификата. В результате мне понадобилась старая добрая модель HTTP + HTTPS для чувствительных форм.
Если с клиента на сервер передаются конфиденциальные данные, то, на мой взгляд, использование SSL-сертификата оправдано как дополнительный предохранитель. Однако маршрутизатор уже «позаботился» обо всём заранее, тем самым создавая лишние проблемы.
Комментарий: Gemini использует TLS обязательно, в отличие от HTTP, где шифрование опционально. Спецификация: https://gemini.circumlunar.space/docs/specification.html
Сертификация в локальных сетях
#Certificates #LocalNetworks #TOFU
Из-за изолированности локальных сетей в Yggdrasil проблематично настроить валидный сертификат, например от Let’s Encrypt. Зато в случае протокола Gemini центры сертификации вообще не используются. Вместо этого применяется принцип TOFU — Trust On First Use, который со временем существенно снижает риск перехвата данных — до момента обнаружения утечки.
У меня даже возникали мысли об организации внутреннего центра сертификации внутри сети. А почему бы и нет? Почему бы даже не сделать такой сервис платным?
Комментарий: TOFU широко используется в SSH. Первый контакт считается доверенным, а любые изменения ключа в дальнейшем считаются подозрительными.
Выводы
#SecurityTheater #NetworkDesign #Overengineering
Когда и каким образом шифровать данные — должен решать пользователь или администратор сети, исходя из конкретных потоков и типов данных. Yggdrasil и Mycelium же делают это «добровольно-принудительно», как, впрочем, и прочее новомодное ПО с ярлыком «абсолютно защищено». Современное ПО, разработчики которого соревнуются за право называться «безопасным», напоминает криптокапусту с коэффициентом защиты «было → стало».
Начинает раздражать, когда за меня принимают решения там, где их никто не просил. Маркетинг — это маркетинг, лозунги — это лозунги, но опытные пользователи из-за такого дискомфорта уходят, а туристы всё равно не задерживаются.
И ещё один вывод: эффективные сетевые решения были придуманы послевоенными специалистами полвека назад, которым нужно было выживать, а не играть в коммерческие эксперименты. С тех пор ничего принципиально нового не изобретено. Возможно, следующий прорыв будет связан с квантовой передачей данных, а не с подобной ерундой — прокладкой автоматических маршрутов через потенциально скомпрометированные узлы с одновременным шифрованием тонн бесполезного мусора, проходящего через них.