Ce dovedește o specificație de protocol VPN și ce nu dovedește
O specificație fixează formatele mesajelor, algoritmii și ipotezele despre amenințări. Nu poate garanta pentru buildul pe care l-ați instalat nici pentru modul în care operatorul tratează contul dumneavoastră.
Un document de protocol este un contract între implementări, iar citirea atentă vă spune ce vor schimba doi parteneri conformi și ce proprietăți au intenționat proiectanții să garanteze. Nu vă spune ce binar rulează pe serverul la care vă conectați, cum a fost configurat acel server sau ce se întâmplă ulterior cu înregistrarea contului. Acestea sunt trei tipuri diferite de dovezi, iar tratarea specificației ca toate trei este modul în care un nume de protocol începe să facă o muncă pe care nu o poate face. Separarea celor trei este întregul exercițiu.
Documentul este începutul unui argument, nu concluzia lui.
Ce specifică de fapt documentul
Pentru WireGuard, descrierea protocolului definește o strângere de mână Noise IK, un set fix de primitive, machete de mesaj și încadrarea de transport care apoi transportă pachete. Pentru IKEv2, artefactul comparabil este RFC 7296, care specifică schimburile, încărcăturile utile și negocierea propunerilor. În ambele cazuri domeniul este precis: mesajele, mașina de stări și ipotezele în care obiectivele de securitate sunt valabile.
Modurile opționale complică lectura. O proprietate valabilă pentru o strângere de mână poate să nu se aplice unei implementări cu altă configurație de autentificare sau cu o configurație de rezervă.
Unde se opresc garanțiile
O analiză formală răspunde la o întrebare despre un model. Lucrarea de verificare a WireGuard folosește un model simbolic în doveditorul Tamarin, care poate arăta că proiectul rezistă anumitor atacuri în condițiile ipotezelor sale; nu arată că o implementare livrată în spațiul utilizator nu are nicio eroare de siguranță a memoriei. Exact în acest gol dintre model și mașină trăiesc incidentele reale. Citirea unei dovezi ca certificat de implementare este o eroare de categorie.
Secretul înainte ilustrează aceeași limită. Proprietatea depinde de distrugerea cheilor așa cum intenționează protocolul, iar aceasta este o proprietate a implementării și a mediului său, nu a formatului mesajului. Un proiect care prescrie ștergerea nu o poate impune pe o platformă care mută memoria pe disc.
Dependențele pe straturi lărgesc și mai mult golul: biblioteca TLS din spatele unui tunel bazat pe TLS, interfața kernelului folosită de un tunel în spațiul utilizator și generatorul de numere aleatoare stau toate în afara textului protocolului.
Urmați octeții până în build
Treceți de la document la artefacte identificând versiunile și apoi comparându-le cu ceea ce servește efectiv traficul. Un produs care numește un protocol poate adăuga componente de provizionare, telemetrie și management pe care specificația nu le descrie niciodată.
openvpn --version | head -3 wg --version dpkg -l | grep -E 'openvpn|wireguard|libssl' ss -lunp | grep -E '1194|51820' sha256sum ./wireguard-tools_1.0.20210914_amd64.deb
Buildurile reproductibile și sumele de control publicate fac posibilă legarea unui arbore de surse de un binar distribuit. Fără această legătură, sursa publicată dovedește doar că inspecția este posibilă, nu că fișierul care rulează îi corespunde.
Configurarea ține de același pas. Suitele de cifrare, partenerii permiși și setările de rutare sunt alegeri de implementare, iar un build conform configurat neglijent produce tot un tunel slab.
Țineți practicile operaționale separate
Înregistrările de cont, datele de plată și solicitările de asistență sunt decizii ale operatorului pe care niciun text de protocol nu le restricționează. Un raport de audit acoperă componente numite într-un domeniu declarat, iar o politică de confidențialitate descrie intenții și practici; niciuna nu o înlocuiește pe cealaltă și niciuna nu este o afirmație criptografică.
Concluzia precisă este cumulativă: specificația explică proiectul, buildul și configurarea explică tunelul, iar practicile documentate ale operatorului explică tot ce tunelul nu vede niciodată. Spuneți ce ați verificat dintre acestea, iar afirmația rămâne adevărată.