Een groep Duitse onderzoekers, ontwikkelaars en cryptografen heeft de eerste uitgave van het Rosenpass-project gepubliceerd, dat een VPN en een sleuteldelingmechanisme ontwikkelt dat bestand is tegen aanvallen van kwantumcomputers. Als transport wordt VPN WireGuard gebruikt met standaard versleutelingsalgoritmen en sleutels, en Rosenpass vult dit aan met sleuteldelingstechnieken die beschermd zijn tegen kwantumcomputer-aanvallen (d.w.z. Rosenpass biedt extra bescherming voor sleuteldeling zonder de werking en versleutelingsmethoden van WireGuard te wijzigen). Rosenpass kan ook onafhankelijk van WireGuard worden gebruikt als een veelzijdig hulpmiddel voor sleuteldeling, geschikt voor de bescherming van andere protocollen tegen aanvallen van kwantumcomputers.
De code van het hulpmiddel is geschreven in de programmeertaal Rust en wordt verspreid onder de MIT- en Apache 2.0-licenties. Cryptografische algoritmen en primitieve functies zijn ontleend aan de bibliotheken liboqs en libsodium, geschreven in C. De gepubliceerde codebasis wordt gepositioneerd als een referentie-implementatie — op basis van de verstrekte specificaties kunnen alternatieve versies van het hulpmiddel worden ontwikkeld met behulp van andere programmeertalen. Momenteel wordt er gewerkt aan de formele verificatie van het protocol, de cryptovalgoritmen en de implementatie om een wiskundig bewijs van de betrouwbaarheid te leveren. Momenteel is er met behulp van ProVerif al een symbolische analyse van het protocol en de basisimplementatie in Rust uitgevoerd.
Het Rosenpass-protocol is gebaseerd op het post-kwantum geauthenticeerde sleuteldelingsmechanisme PQWG (Post-quantum WireGuard), dat is opgebouwd met gebruik van het cryptosysteem McEliece, dat bestand is tegen brute-force aanvallen door kwantumcomputers. De sleutel die in Rosenpass wordt gegenereerd, wordt gebruikt in de vorm van een gedeelde symmetrische sleutel (PSK, pre-shared key) voor WireGuard, waarmee een extra laag voor hybride bescherming wordt gerealiseerd. VPN-verbinding.
Rosenpass biedt een apart werkend achtergrondproces dat wordt gebruikt voor het genereren van voorgedefinieerde WireGuard-sleutels en het beveiligen van de sleuteluitwisseling tijdens het handshaking-proces met behulp van post-kwantumcryptografie. Net als bij WireGuard worden de symmetrische sleutels in Rosenpass om de twee minuten bijgewerkt. Voor de beveiliging van de verbinding worden gedeelde sleutels gebruikt (aan elke kant wordt een paar van een publieke en private sleutel gegenereerd, waarna de deelnemers elkaars publieke sleutels uitwisselen).
Bron: opennet.ru
