Rosenpass, ett VPN-projekt som lovar att stå emot attacker från kvantdatorer

rosenpass

Rosenpass är en viktig försiktighetsåtgärd mot vad som komma skall:

nyligen de nyheter om att en grupp av iTyska forskare, utvecklare och kryptografer har publicerat den första versionen av Rosenpass-projektet, som utvecklar VPN och nyckelutbytesmekanismer som är resistenta mot kvantdatorattacker.

rosenpass använder WireGuard VPN under huven tillsammans med vanliga krypteringsalgoritmer och nycklar som används som en transport och kompletterar den med hackskyddade nyckelutbytesverktyg på kvantdatorer (d.v.s. Rosenpass skyddar dessutom nyckelutbytet utan att ändra driftalgoritmerna och krypteringsmetoderna för WireGuard).

Rosenpass kan även användas separat från WireGuard i form av ett generiskt nyckelutbytesverktyg lämpligt för att skydda andra protokoll från kvantdatorattacker.

Om Rosenpass

Rosenpass är skrivet i Rust och använder liboqs 1 och libsodium 2, verktyget upprättar en symmetrisk nyckel och tillhandahåller den till WireGuard. Eftersom du förser WireGuard med en nyckel via PSK-funktionen är Rosenpass+WireGuard inte mindre kryptografiskt säkert än att använda WireGuard enbart ("hybridsäkerhet").

Arbete pågår för närvarande med att formellt verifiera protokollet, kryptografiska algoritmer och implementering för att ge ett matematiskt bevis på tillförlitlighet. För närvarande, med hjälp av ProVerif, har en symbolisk analys av protokollet och dess grundläggande implementering i Rust-språket redan utförts.

protokollet Rosenpass är baserat på PQWG post-quantum autentiserade nyckelutbytesmekanism (Post-quantum WireGuard), byggd med McEliece-kryptosystemet, som är resistent mot brute force på en kvantdator. Nyckeln som genereras av Rosenpass används i form av en WireGuard Pre-Shared Key (PSK) symmetrisk nyckel, som implementerar ett extra skyddslager för hybrid VPN-anslutningen.

Rosenpass tilldelar två UDP-portar; om port N anges för rosenpass kommer den att tilldela port N+1 för WireGuard.

Liksom WireGuard upprätthåller Rosenpass ingen separation mellan klienter och servrar. Om du inte anger lyssningsalternativet kommer Rosenpass och WireGuard att välja slumpmässiga portar; detta är klientläge. Om du inte anger slutpunkt kommer Rosenpass inte att försöka ansluta till peer och istället väntar på peer-anslutningar. Detta är serverläge. Du kan ange båda. Att hoppa över båda är inte förbjudet men inte heller särskilt användbart.

Rosenpass tillhandahåller en separat bakgrundsprocess som används för att generera fördefinierade WireGuard-nycklar och säkra nyckelutbyten under handskakningsprocessen med hjälp av post-kvantkryptografiska tekniker.

Liksom WireGuard uppdateras de symmetriska nycklarna i Rosenpass varannan minut. För att skydda anslutningen används delade nycklar (på varje sida genereras ett par publika och privata nycklar, varefter deltagarna överför de publika nycklarna till varandra).

Som med alla applikationer finns det en liten risk för problem säkerhetskritiker (såsom buffertspill, fjärrkörning av kod); Rosenpass-appen är skriven i programmeringsspråket Rust, som är mycket mindre benäget att drabbas av den här typen av problem. Rosenpass kan också skriva nycklar till filer istället för att tillhandahålla dem till WireGuard. Med lite skriptning kan driftoberoende läge användas för att köra din applikation i en container, virtuell dator eller annan värd. Detta läge kan också användas för att integrera andra verktyg än WireGuard med Rosenpass.

Det är värt att nämna att Rosenpass har vissa nackdelar; det körs som root, vilket kräver åtkomst till WireGuard och Rosenpass privata nycklar, tar kontroll över gränssnittet och fungerar med exakt ett gränssnitt. Om du inte är säker på om du ska köra Rosenpass som root, bör du använda fristående läge för att skapa en säkrare installation med behållare, jails eller virtuella maskiner.

Verktygssatskoden är skriven i Rust och distribueras under licenserna MIT och Apache 2.0. De kryptografiska algoritmerna och primitiverna är lånade från C-biblioteken liboqs och libsodium.

Den publicerade kodbasen är placerad som en referensimplementering: baserat på de angivna specifikationerna kan alternativa verktygsalternativ utvecklas med andra programmeringsspråk.

Slutligen, om du är intresserad av att veta mer om det kan du läsa detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.