Představil VPN Rosenpass, odolný vůči útokům pomocí kvantových počítačů

Skupina německých výzkumníků, vývojářů a kryptografů zveřejnila první verzi projektu Rosenpass, který vyvíjí mechanismus VPN a výměny klíčů, který je odolný proti hackování na kvantových počítačích. WireGuard VPN se standardními šifrovacími algoritmy a klíči se používá jako přenos a Rosenpass ji doplňuje o nástroje pro výměnu klíčů chráněné před hackováním na kvantových počítačích (tj. Rosenpass navíc chrání výměnu klíčů bez změny provozních algoritmů a metod šifrování WireGuard). Rosenpass lze také používat odděleně od WireGuard ve formě univerzální sady nástrojů pro výměnu klíčů vhodné pro ochranu jiných protokolů před útoky na kvantové počítače.

Kód sady nástrojů je napsán v jazyce Rust a je distribuován pod licencemi MIT a Apache 2.0. Kryptografické algoritmy a primitiva jsou vypůjčeny z knihoven liboqs a libsodium napsaných v jazyce C. Publikovaná kódová základna je umístěna jako referenční implementace – na základě poskytnutých specifikací lze vyvinout alternativní verze sady nástrojů pomocí jiných programovacích jazyků. V současné době probíhají práce na formálním ověření protokolu, krypto-algoritmů a implementace s cílem poskytnout matematický důkaz spolehlivosti. V současné době pomocí ProVerif již byla provedena symbolická analýza protokolu a jeho základní implementace v jazyce Rust.

Protokol Rosenpass je založen na autentizovaném mechanismu výměny klíčů PQWG (Post-quantum WireGuard), vybudovaném pomocí kryptosystému McEliece, který je odolný vůči hrubé síle na kvantovém počítači. Klíč generovaný systémem Rosenpass se používá ve formě předsdíleného klíče (PSK) WireGuard, který poskytuje další vrstvu pro zabezpečení hybridního připojení VPN.

Rosenpass poskytuje samostatně běžící proces na pozadí používaný ke generování předdefinovaných klíčů WireGuard a zabezpečení výměny klíčů během procesu handshake pomocí technik postkvantové kryptografie. Stejně jako WireGuard jsou symetrické klíče v Rosenpass aktualizovány každé dvě minuty. Pro zabezpečení spojení se používají sdílené klíče (na každé straně je vygenerován pár veřejného a soukromého klíče, načež si účastníci mezi sebou předávají veřejné klíče).

Zdroj: opennet.ru

Přidat komentář