Comments 8
А как в сети с маскировкой пакетов? Потому что сейчас анализ пакетов — это один из векторов атаки, пусть и не на приватность, но на устойчивость сети...
По умолчанию маскировка пакетов отсутствует. Так например, при подключении к готовым ретрансляторам можно достаточно легко определить принадлежность трафика к анонимной сети: 1) сообщения генерируются каждые 5 секунд, 2) размер каждого сообщения равен 8KiB, 3) каждое сообщение отправляется по TCP вида len(c) || c, где c - шифртекст, len - размер сообщения, 4) каждое сообщение ретранслируется на всех участников.
Но на самом деле не всё так мрачно, т.к вышеописанный паттерн - это лишь один из способов запуска. Период генерации в HL может становиться динамичным (параметр rand_queue_period>0), размер сообщения может быть варьируемо-случайным (параметр rand_message_size_bytes>0), сообщения могут передаваться по другим протоколам, например HTTPS (фича с len - специфика только при сырых TCP соединениях), за счёт использования адаптеров.
Спасибо за ответ... Но у меня возникает подозрение, что в условиях активного противодействия придется пускать трафик через VPN с маскировкой пакетов. И тогда зачем? Находясь в ситуации, когда любые нестандартные пакеты типа дискорд или ютуб регулярно отваливаются, мне кажется нужно копать именно в этом направлении. Чисто ИМХО. А без этого получается такая красивая теоретическая система в вакууме.
Два из трёх стандартизированных алгоритма базируются на теории решёток, где взлом одного может повлечь и взлом другого. При этом, оставшийся третий алгоритм - SPHINCS+ (базируемый на хеш-функциях) способен лишь создавать цифровые подписи, но не шифровать сообщения / не инкапсулировать ключи. Таким образом, в настоящее время не существует стандартизированных альтернатив KEM'а (key encapsulation mechanism), кроме ML-KEM'а (Kyber'а).
ну вот поэтому в NIST сейчас и объявили дополнительный раунд, чтобы стандартизировать что-нибудь не на решетках (либо на решетках, но принципиально более лучшее)
В целом все это тлен, стойкость никакого алгоритма шифрования не доказана и не может быть доказана, т.к. это задача из серии "докажи что ты не верблюд". Даже если там что-нибудь сведут к NP-сложной задаче и докажут что P!=NP - никто не гарантирует, что не найдутся какие-нибудь 0.1% частных случаев с эффективным эвристическим алгоритмом решения.
Исходя из этого, ИМХО, второй вариант с симметричными ключами становится более надежным. Просто потому, что они древнее и больше найдено уязвимостей и их решений. Возникает вопрос в безопасном обмете шифро-блокнотами. И тут если не брать флешконет голубиной (или ослиной) почтой, можно использовать сложные ассиметричные схемы в расчете на то, что все не будут расшифровывать, так как дорого.
Интересно, как бы мог проходить процесс перехода на новую криптографию в запущеной сети (я так понял HL - это же концепт?), когда кто-то обновился до новой версии, а кто-то нет. И что выбрать: делать вечную обратную совместимость с RSA
или принудительно заставлять делать переход на постквантовую криптографию? Просто если часть участников сети продолжат использовать RSA, то и от взлома они не защищены.
Вопрос действительно интересный, т.к. основная проблема перехода - это потеря идентификации узлов. Если это система по типу криптовалют, где всё держится на подобного рода идентификации - необходимым условием становится связывание ключей, где ключ RSA подписывает ключ ML-DSA, а ML-DSA - ключ RSA. Соответственно в логике криптовалют / блокчейна должны будут храниться два ключа с последующей возможностью их валидации. Если RSA ещё не взломан, он вполне себе может подтверждать идентификацию участника через ML-DSA какое-то время. Этого времени должно быть достаточно ровно настолько, чтобы оставшиеся узлы смогли перейти на подтверждённый ML-DSA ключ, а RSA ключ воспринять как Deprecated. Таким образом, предполагается, что до создания мощного квантового компьютера состояние Deprecated сможет перейти в состояние Forbidden, а все действия, что происходили с RSA ключом в виде хеша будут сохранены в состоянии под ML-DSA подписью.
С анонимными сетями ситуация немного упрощённее, т.к. не требуется хранить состояние, плюс к этому не все анонимные сети в равной степени будут сложнопереносимы. Как пример, для сети Tor переход на постквантовые алгоритмы будет более простым, чем для I2P, т.к. бОльшая часть коммуникаций связана у него всё же с открытым Интернетом, а не внутренними Hidden Services. Что касается Hidden Lake, то тут ситуация ещё проще, потому как: 1) у HL нет какой-то одной глобальной сети, в отличие от Tor или I2P, вследствие чего одна сеть может работать на RSA, другая - на ML-DSA, 2) HL работает с малыми группами узлов, а потому обновить их будет чисто количественно проще, 3) HL не настолько популярна как Tor, I2P, поэтому радикальные обновления можно делать более смело.
Что касается Hidden Lake, как концепта - год назад сеть таковой действительно являлась, сейчас уже скорее нет, чем да, т.к.: 1) сеть вполне успешно функционирует, ретрансляторы запущены и распределяют / сохраняют шифртексты, 2) исследовательские работы написаны, рассмотрены пределы сети, её достоинства и уязвимости, 3) основная часть кода, связанная с анонимностью и безопасностью, покрыта тестами более чем на 98% (пакет go-peer).
Прочел с интересом, почти ничего не понял. Но чувствую, что обсуждение умное и серьезное 🤔
Анонимная сеть Hidden Lake: переход на постквантовую криптографию