En gruppe tyske forskere, udviklere og kryptografer har offentliggjort det første nummer af projektet Rosenpass, som udvikler en VPN og en nøgleudvekslingsmekanisme, der er modstandsdygtige over for angreb fra kvantecomputere. Transporten benytter VPN WireGuard med standard krypteringsalgoritmer og nøgler, mens Rosenpass supplerer denne med nøgleudvekslingsmetoder, der er beskyttet mod kvantecomputere (dvs. Rosenpass beskytter yderligere nøgleudvekslingen uden at ændre algoritmerne og krypteringsmetoderne for WireGuard). Rosenpass kan også anvendes uafhængigt af WireGuard som et universelt værktøj til nøgleudveksling, der er egnet til at beskytte andre protokoller mod angreb fra kvantecomputere.
Koden til værktøjet er skrevet i Rust og distribueres under licenserne MIT og Apache 2.0. De kryptografiske algoritmer og primitivs er lånt fra bibliotekerne liboqs og libsodium, som er skrevet i C. Den offentliggjorte kodebase positioneres som en referenceimplementering – alternative variationer af værktøjet kan udvikles baseret på de angivne specifikationer ved hjælp af andre programmeringssprog. Der arbejdes i øjeblikket på en formel verifikation af protokollen, kryptografiske algoritmer og implementeringen for at give et matematisk bevis for sikkerheden. Der er allerede gennemført symbolsk analyse af protokollen og dens grundlæggende implementering i Rust ved hjælp af ProVerif.
Rosenpass-protokollen er baseret på en post-kvantum autentificeret nøgleudvekslingsmekanisme kaldet PQWG (Post-quantum WireGuard), der er bygget med kryptosystemet McEliece, som er modstandsdygtigt over for brute-force angreb fra kvantecomputere. Den nøgle, der genereres i Rosenpass, bruges i form af en delt symmetrisk nøgle (PSK, pre-shared key) for WireGuard, hvilket implementerer et ekstra lag for hybridbeskyttelse VPN-for forbindelser.
Rosenpass leverer en separat kørende baggrundsproces, der anvendes til at generere foruddefinerede WireGuard-nøgler og beskytte nøgleudvekslingen under etableringen af forbindelsen (handshake) ved hjælp af metoder til postkvante-kryptografi. Som i WireGuard opdateres symmetriske nøgler i Rosenpass hvert andet minut. Til beskyttelse af forbindelsen anvendes delte nøgler (hver side genererer et par af offentlige og private nøgler, hvorefter deltagerne udveksler deres offentlige nøgler).
Kilde: opennet.ru
