Vokiečių tyrėjų, kūrėjų ir kriptografų grupė paskelbė pirmąją „Rosenpass“ projekto versiją, kuria VPN ir raktų mainų mechanizmą, atsparų įsilaužimui kvantiniuose kompiuteriuose. VPN naudojamas kaip perdavimo priemonė. WireGuard su standartiniais šifravimo algoritmais ir raktais, o „Rosenpass“ jį papildo raktų mainų priemonėmis, apsaugotomis nuo įsilaužimo kvantiniuose kompiuteriuose (t. y. „Rosenpass“ papildomai apsaugo raktų mainus nekeisdamas veikimo algoritmų ir šifravimo metodų WireGuard). Rosenpass taip pat galima vartoti atskirai nuo WireGuard bendrosios paskirties raktų mainų įrankių rinkinio, tinkamo apsaugoti kitus protokolus nuo atakų prieš kvantinius kompiuterius, pavidalu.
Įrankių rinkinio kodas parašytas Rust ir platinamas pagal MIT ir Apache 2.0 licencijas. Kriptografiniai algoritmai ir primityvai yra pasiskolinti iš liboqs ir libsodium bibliotekų, parašytų C kalba. Paskelbta kodų bazė yra išdėstyta kaip orientacinė realizacija – remiantis pateiktomis specifikacijomis, naudojant kitas programavimo kalbas galima sukurti alternatyvias įrankių rinkinio versijas. Šiuo metu vyksta darbas, skirtas oficialiai patikrinti protokolą, kriptovaliutų algoritmus ir įgyvendinimą, kad būtų pateiktas matematinis patikimumo įrodymas. Šiuo metu, naudojant ProVerif, jau atlikta simbolinė protokolo analizė ir jo bazinis įgyvendinimas Rust kalba.
„Rosenpass“ protokolas pagrįstas postkvantinio autentifikavimo raktų mainų (PQWG) mechanizmu. WireGuard), sukurta naudojant „McEliece“ kriptosistemą, kuri yra atspari „brute-force“ atakoms prieš kvantinį kompiuterį. „Rosenpass“ generuojamas raktas naudojamas iš anksto bendrinamo simetrinio rakto (PSK) pavidalu. WireGuard, įgyvendinant papildomą hibridinės apsaugos sluoksnį VPT-ryšiai.
„Rosenpass“ teikia atskirą foninį procesą, naudojamą iš anksto nustatytiems raktams generuoti. WireGuard ir apsaugodami raktų mainus rankos paspaudimo proceso metu, naudodami postkvantinės kriptografijos metodus. Kaip ir WireGuard Simetriniai raktai „Rosenpass“ sistemoje atnaujinami kas dvi minutes. Ryšiui apsaugoti naudojami bendri raktai (kiekviena pusė generuoja viešojo ir privačiojo raktų porą, po kurios dalyviai apsikeičia viešaisiais raktais).
Šaltinis: opennet.ru
