În ultimele câteva luni, Proton VPN a lucrat la Proton protocols, o nouă bază de cod pentru protocoale VPN pe partea de client. Cunoscută la nivel intern sub numele de cod ProTUN, această nouă arhitectură de cod este scrisă în Rust. Deși am derivat codul de criptografie din proiectul BoringTun(fereastră nouă) al Cloudflare, arhitectura complet reproiectată îi aparține Proton.

De ce avem nevoie de un nou nucleu VPN

WireGuard® este un protocol VPN de ultimă generație, la fel de securizat ca OpenVPN, dar mai rapid și mai puternic. Acesta este motivul pentru care începem să eliminăm asistența pentru OpenVPN din aplicațiile noastre oficiale, pentru a ne concentra în schimb pe WireGuard.

Cu toate acestea, aplicațiile noastre utilizează în prezent implementarea oficială wireguard-go pentru WireGuard. Și este o implementare excelentă, cu un design elegant și minimalist, care o face rapidă, sigură și mai ușor de auditat decât protocoalele VPN tradiționale.

Cu toate acestea, wireguard-go nu se integrează bine cu limbajele pe care le folosim nativ pentru a dezvolta Proton VPN pe multiplele platforme pentru care oferim asistență (cum ar fi Kotlin pe Android și Swift pe iOS). Acest lucru încetinește dezvoltarea, complică remedierea erorilor și introduce provocări legate de stabilitate.

Proton protocols rezolvă aceste probleme.

Proton protocols este un nou cadru VPN pe partea de client bazat pe WireGuard. Deoarece este scris în Rust și proiectat ca un nucleu partajat și extensibil, ProTUN poate fi implementat în mod constant pe diverse platforme și adaptat la diferite medii de rețea. Acest lucru ne va permite să diagnosticăm problemele mai rapid, să îmbunătățim stabilitatea și să construim funcționalități avansate direct în stiva VPN.

Cel mai important, Proton protocols ne oferă flexibilitatea de a răspunde rapid la cenzură și la interferențele de rețea, o zonă în care ne așteptăm la cele mai mari câștiguri pe termen lung.

Sub capotă

Criptarea traficului cu un nou nucleu WireGuard

În centrul proiectului Proton protocols se află libpvpnclient, o implementare simplă și autonomă a protocolului WireGuard, scrisă în Rust. Sarcina sa este simplă, dar esențială: să vă cripteze traficul de internet și să vă mențină conexiunea securizată.

Ceea ce diferă de wireguard-go este modul în care este construit. În timp ce wireguard-go este un simplu client WireGuard, libpvpnclient este un cadru complet nou pe baza căruia putem dezvolta noi caracteristici și funcționalități avansate.

Și, în loc să fie strâns legat de un anumit sistem de operare, libpvpnclient este conceput ca un nucleu pur, independent de platformă. Acest lucru ne permite să reutilizăm aceeași implementare de înaltă calitate pretutindeni — pe desktop, pe mobil și nu numai. Această separare face o mare diferență în culise. Ne permite să:

  • Să testăm și să remediem erorile din cazurile-limită complexe în medii controlate și repetabile
  • Să lansăm îmbunătățiri mai rapid și mai consecvent pe toate platformele
  • Să experimentăm noi tehnici de rezistență la cenzură și la blocarea traficului

Pentru dvs., acest lucru se traduce prin actualizări mai rapide, mai puține probleme specifice platformei și un VPN care se adaptează mai rapid pe măsură ce condițiile de rețea și metodele de cenzură se schimbă. ProTUN în sine este numele nostru pentru wrapper-ul din jurul libpvpnclient care adaptează biblioteca bazată pe Rust la fiecare sistem de operare pentru care oferim asistență.

Acesta funcționează mână în mână cu LocalAgent. Acesta este canalul nostru intern de control care ne permite să implementăm autentificarea bazată pe certificate și pe care, de asemenea, tocmai l-am simplificat și l-am rescris în Rust.

Acest nou nucleu VPN este disponibil pentru testare acum ca o caracteristică beta (cu acces timpuriu) pe următoarele platforme:

Facilitarea conectării la serverele Proton VPN

De asemenea, lucrăm la a doua fază a Proton protocols. Purtând numele de cod muon, acesta este un strat flexibil de rețea care conectează în siguranță aplicațiile noastre la API-ul VPN al Proton, chiar și în situațiile în care API-ul Proton este el însuși cenzurat.

Înainte ca un VPN să vă poată proteja traficul, acesta trebuie în primul rând să se conecteze în siguranță la API-ul Proton. Iar acest lucru devine din ce în ce mai dificil. În unele țări și rețele, conexiunile API sunt blocate sau monitorizate la nivel de DNS sau identificate prin inspectarea numelor de servere (o tehnică cunoscută sub numele de snooping SNI).

Pentru a rezolva această problemă, construim muon, un nou gateway între aplicațiile noastre și API-ul Proton. Scris tot în Rust pentru siguranță și performanță, muon gestionează primele solicitări de rețea pe care le efectuează aplicația dvs. și le poate direcționa apoi în siguranță către protocolul WireGuard al Proton VPN (pe termen lung, această funcționalitate va înlocui soluția noastră existentă împotriva cenzurii prin direcționare alternativă(fereastră nouă)).

În termeni practici, aceasta înseamnă că din momentul în care deschideți aplicația Proton VPN într-o țară în care se știe că accesul este cenzurat, comunicarea dvs. cu API-ul Proton va fi deja protejată (chiar înainte ca o conexiune VPN la nivel de sistem să fie complet stabilită). Iar în țările restrictive, furnizorul dvs. de servicii internet (ISP) nici măcar nu va ști că vă conectați la API-urile Proton.

Această protecție va fi automată și invizibilă pentru dvs. și înseamnă că aveți mai multe șanse să obțineți o conexiune funcțională în țările cenzurate. De fapt, muon este atât de util pentru combaterea cenzurii, încât îl vom folosi în toate aplicațiile Proton (nu doar VPN), oferindu-vă protecție încorporată împotriva cenzurii în întregul nostru ecosistem încă de la început. Îl vom lansa în curând, așa că rămâneți pe fază.

O fundație solidă pentru ceea ce urmează

libpvpnclient (cu wrapper-ul Proton protocols) și muon formează împreună o nouă platformă care oferă inginerilor noștri mult mai multă flexibilitate. Acest lucru ne permite să experimentăm în siguranță cu îmbunătățiri ale stabilității conexiunii, utilizării bateriei și rezilienței și pregătește terenul pentru tehnologiile viitoare, cum ar fi tehnici mai puternice împotriva cenzurii și criptografia post-cuantică.

Vedem acest lucru ca pe un pas major înainte în direcția unui internet mai accesibil, mai fiabil și mai privat pentru toată lumea. Și acesta este doar începutul. Suntem încântați să vedem unde va duce această nouă fundație Proton VPN în 2026 și ulterior.

„WireGuard” este o marcă înregistrată(fereastră nouă) a lui Jason A. Donenfeld.