Группа немецких исследователей, разработчиков и криптографов опубликовала первый выпуск проекта Rosenpass, развивающего VPN и механизм обмена ключами, устойчивые ко взлому на квантовых компьютерах. В качестве транспорта используется VPN WireGuard со штатными алгоритмами шифрования и ключами, а Rosenpass дополняет его средствами обмена ключами, защищёнными от взлома на квантовых компьютерах (т.е. Rosenpass дополнительно защищает обмен ключами, не меняя алгоритмы работы и методы шифрования WireGuard). Rosenpass также может применяться отдельно от WireGuard в форме универсального инструментария для обмена ключами, подходящего для защиты других протоколов от атак на квантовых компьютерах.
Код инструментария написан на языке Rust и распространяется под лицензиями MIT и Apache 2.0. Криптографические алгоритмы и примитивы заимствуются из библиотек liboqs и libsodium, написанных на языке Си. Опубликованная кодовая база позиционируется как эталонная реализация - на основе предоставленных спецификаций могут быть разработаны альтернативные варианты инструментария с использованием других языков программирования. В настоящее время ведётся работа по формальной верификации протокола, криптоалгоритмов и реализации для предоставления математического доказательства надёжности. На данный момент при помощи ProVerif уже выполнен символьный анализ протокола и его базовой реализации на языке Rust.
Протокол Rosenpass основан на механизме постквантового аутентифицированного обмена ключами PQWG (Post-quantum WireGuard), построенного с использованием криптосистемы McEliece, устойчивой для подбора на квантовом компьютере. Генерируемый в Rosenpass ключ используется в форме разделяемого симметричного ключа (PSK, pre-shared key) WireGuard, реализуя дополнительный слой для гибридной защиты VPN-соединения.
Rosenpass предоставляет отдельно работающий фоновый процесс, применяемый для генерации предопределенных ключей WireGuard и защиты обмена ключами в процессе согласования соединения (handshake) с использованием методов постквантовой криптографии. Как и в WireGuard симметричные ключи в Rosenpass обновляются каждые две минуты. Для защиты соединения используются разделяемые ключи (на каждой стороне генерируется пара из открытого и закрытого ключа, после чего участники передают друг другу открытые ключи).
Код инструментария написан на языке Rust и распространяется под лицензиями MIT и Apache 2.0. Криптографические алгоритмы и примитивы заимствуются из библиотек liboqs и libsodium, написанных на языке Си. Опубликованная кодовая база позиционируется как эталонная реализация - на основе предоставленных спецификаций могут быть разработаны альтернативные варианты инструментария с использованием других языков программирования. В настоящее время ведётся работа по формальной верификации протокола, криптоалгоритмов и реализации для предоставления математического доказательства надёжности. На данный момент при помощи ProVerif уже выполнен символьный анализ протокола и его базовой реализации на языке Rust.
Протокол Rosenpass основан на механизме постквантового аутентифицированного обмена ключами PQWG (Post-quantum WireGuard), построенного с использованием криптосистемы McEliece, устойчивой для подбора на квантовом компьютере. Генерируемый в Rosenpass ключ используется в форме разделяемого симметричного ключа (PSK, pre-shared key) WireGuard, реализуя дополнительный слой для гибридной защиты VPN-соединения.
Rosenpass предоставляет отдельно работающий фоновый процесс, применяемый для генерации предопределенных ключей WireGuard и защиты обмена ключами в процессе согласования соединения (handshake) с использованием методов постквантовой криптографии. Как и в WireGuard симметричные ключи в Rosenpass обновляются каждые две минуты. Для защиты соединения используются разделяемые ключи (на каждой стороне генерируется пара из открытого и закрытого ключа, после чего участники передают друг другу открытые ключи).