Mitä VPN-protokollan määrittely todistaa ja mitä ei
Määrittely kiinnittää viestimuodot, algoritmit ja uhkaoletukset. Se ei voi taata asentamaasi buildia eikä sitä, miten operaattori käsittelee tiliäsi.
Protokolla-asiakirja on implementaatioiden välinen sopimus, ja huolellinen lukeminen kertoo, mitä kaksi yhdenmukaista osapuolta vaihtaa ja mitä ominaisuuksia suunnittelijat aikovat taata. Se ei kerro, mikä binääritiedosto on käynnissä palvelimella, johon yhdistät, miten se palvelin on konfiguroitu tai mitä tilitietueellesi tapahtuu myöhemmin. Nämä ovat kolme erilaista todisteen lajia, ja määrittelyn kohteleminen kaikkina kolmena on se tapa, jolla protokollan nimi alkaa tehdä työtä, jota se ei voi tehdä. Näiden kolmen erillään pitäminen on koko harjoitus.
Asiakirja on argumentin alku, ei sen johtopäätös.
Mitä asiakirja todella määrittelee
WireGuardille protokollakuvaus määrittelee Noise IK -kättelyn, kiinteän joukon primitiivejä, viestiasettelut ja kuljetuskehyksen, joka myöhemmin kuljettaa paketteja. IKEv2:lle vastaava artefakti on RFC 7296, joka määrittelee vaihdot, hyötykuormat ja ehdotusten neuvottelun. Molemmissa tapauksissa laajuus on täsmällinen: viestit, tilakone ja oletukset, joiden vallitessa turvatavoitteet pätevät.
Valinnaiset tilat vaikeuttavat lukemista. Yhdelle kättelylle pätevä ominaisuus ei välttämättä päde käyttöönottoon, jossa on erilainen todennusjärjestely tai varakonfiguraatio.
Missä takuut loppuvat
Muodollinen analyysi vastaa mallia koskevaan kysymykseen. WireGuardin verifiointityö käyttää symbolista mallia Tamarin-todistajassa, joka voi näyttää, että suunnittelu kestää tietyt hyökkäykset oletustensa vallitessa; se ei näytä, ettei toimitetussa käyttäjäavaruuden implementaatiossa ole muistiturvallisuusvirhettä. Juuri tässä mallin ja koneen välisessä kuilussa todelliset tapaukset elävät. Todistuksen lukeminen implementaation sertifikaattina on kategoriavirhe.
Eteenpäin suuntautuva salaisuus havainnollistaa samaa rajaa. Ominaisuus riippuu siitä, että avaimet tuhotaan niin kuin protokolla aikoo, ja se on implementaation ja sen ympäristön ominaisuus, ei viestimuodon. Suunnittelu, joka määrää poistamisen, ei voi pakottaa sitä alustalla, joka siirtää muistia levylle.
Kerroksiset riippuvuudet laajentavat kuilua edelleen: TLS-pohjaisen tunnelin takana oleva TLS-kirjasto, käyttäjäavaruuden tunnelin käyttämä ydinrajapinta ja satunnaislukugeneraattori ovat kaikki protokollatekstin ulkopuolella.
Seuraa tavut buildiin asti
Siirry asiakirjasta artefakteihin tunnistamalla versiot ja vertaamalla niitä sitten siihen, mikä todella palvelee liikennettä. Tuote, joka nimeää protokollan, voi lisätä valmistelu-, telemetria- ja hallintakomponentteja, joita määrittely ei koskaan kuvaa.
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
Toistettavat buildit ja julkaistut tarkistussummat mahdollistavat lähdekoodipuun yhdistämisen jaettuun binääritiedostoon. Ilman tätä yhteyttä julkaistu lähdekoodi todistaa vain, että tarkastus on mahdollista, ei sitä, että käynnissä oleva tiedosto vastaa sitä.
Konfiguraatio kuuluu samaan vaiheeseen. Salausjärjestelmät, sallitut osapuolet ja reititysasetukset ovat käyttöönoton valintoja, ja huolimattomasti konfiguroitu yhdenmukainen build tuottaa silti heikon tunnelin.
Pidä toimintakäytännöt erillään
Tilitietueet, maksutiedot ja tukipyynnöt ovat operaattorin päätöksiä, joita mikään protokollateksti ei rajoita. Auditointiraportti kattaa nimetyt komponentit ilmoitetussa laajuudessa, ja tietosuojakäytäntö kuvaa aikomuksia ja käytäntöjä; kumpikaan ei korvaa toista, eikä kumpikaan ole kryptografinen väite.
Täsmällinen johtopäätös on kumulatiivinen: määrittely selittää suunnittelun, build ja konfiguraatio selittävät tunnelin, ja operaattorin dokumentoidut käytännöt selittävät kaiken, mitä tunneli ei koskaan näe. Kerro, minkä näistä olet vahvistanut, ja väite pysyy totuudenmukaisena.