Ang dokumento ng protocol ay isang kontrata sa pagitan ng mga implementasyon, at ang maingat na pagbasa ay nagsasabi kung ano ang ipagpapalitan ng dalawang tugmang panig at kung anong mga katangian ang nilayon ng mga taga-disenyo na siguraduhin. Hindi nito sinasabi kung aling binary ang tumatakbo sa server na kinokonektahan mo, kung paano na-configure ang server na iyon o ano ang nangyayari pagkatapos sa record ng iyong account. Ito ay tatlong magkakaibang uri ng ebidensiya, at ang pagtrato sa ispesipikasyon bilang lahat ng tatlo ay ang paraan kung paano nagsisimula ang isang pangalan ng protocol na gumawa ng trabahong hindi nito kaya. Ang paghihiwalay ng tatlo ay ang buong pagsasanay.

Ang dokumento ay simula ng isang argumento, hindi ang konklusyon nito.

Ano ang talagang itinatakda ng dokumento

Para sa WireGuard, itinatakda ng paglalarawan ng protocol ang isang Noise IK handshake, isang takdang hanay ng mga primitive, mga layout ng mensahe at ang transport framing na pagkatapos ay nagdadala ng mga packet. Para sa IKEv2 ang maihahambing na artifact ay RFC 7296, na nagtatakda ng mga palitan, payload at ng negosasyon ng mga panukala. Sa parehong kaso ang saklaw ay tumpak: ang mga mensahe, ang state machine at ang mga palagay kung saan nalalapat ang mga layunin ng seguridad.

Pinapahirap ng mga opsyonal na mode ang pagbasa. Ang isang katangiang umiiral para sa isang handshake ay maaaring hindi umiral para sa isang deployment na may ibang setup ng authentication o isang fallback configuration.

Saan natatapos ang mga garantiya

Ang pormal na pagsusuri ay sumasagot sa isang tanong tungkol sa isang modelo. Gumagamit ang gawain ng verification ng WireGuard ng simbolikong modelo sa Tamarin prover, na maaaring magpakita na nilalabanan ng disenyo ang ilang pag-atake sa ilalim ng mga palagay nito; hindi nito ipinapakita na ang isang naipamahaging implementasyon sa user space ay walang bug sa seguridad ng memorya. Sa agwat na ito sa pagitan ng modelo at makina namumuhay ang mga tunay na insidente. Ang pagbasa ng isang patunay bilang sertipiko ng implementasyon ay isang kamalian ng kategorya.

Isinalarawan ng forward secrecy ang parehong hangganan. Nakasalalay ang katangian sa pagkasira ng mga key ayon sa layunin ng protocol, at ito ay katangian ng implementasyon at ng kapaligiran nito, hindi ng format ng mensahe. Ang isang disenyong nagtatakda ng pagbura ay hindi ito maipapatupad sa isang plataporma na naglilipat ng memorya sa disk.

Pinalalawak pa ng mga layered na dependency ang agwat: ang TLS library sa likod ng TLS-based na tunnel, ang kernel interface na ginagamit ng isang tunnel sa user space, at ang random number generator ay pawang nasa labas ng teksto ng protocol.

Sundan ang mga byte hanggang sa build

Lumipat mula sa dokumento tungo sa mga artifact sa pamamagitan ng pagtukoy ng mga bersyon, pagkatapos ay paghahambing sa kanila sa aktwal na naglilingkod sa trapiko. Ang isang produktong nagpangalan ng protocol ay maaaring magdagdag ng mga component ng provisioning, telemetry at pamamahala na hindi kailanman inilalarawan ng ispesipikasyon.

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

Ang mga reproducible build at inilathalang checksum ay nagpapahintulot na iugnay ang source tree sa isang distributed binary. Kung walang ugnay na iyon, ang inilathalang source ay nagpapatunay lamang na posible ang inspeksiyon, hindi na tumutugma rito ang file na tumatakbo.

Ang configuration ay kabilang sa parehong hakbang. Ang mga cipher suite, pinapayagang peer at routing setting ay mga pagpipilian sa deployment, at ang isang conforming build na na-configure nang pabaya ay gumagawa pa rin ng mahinang tunnel.

Panatilihing hiwalay ang mga kasanayan sa operasyon

Ang mga record ng account, data ng pagbabayad at pagsusumite ng suporta ay mga desisyon ng operator na walang tekstong protocol na pumipigil. Sinasaklaw ng ulat ng audit ang mga pinangalanang component sa loob ng isang tinukoy na saklaw, at inilalarawan ng patakaran sa privacy ang mga layunin at kasanayan; wala sa kanila ang pumapalit sa isa at wala sa kanila ang isang pahayag na cryptographic.

Ang tumpak na konklusyon ay pinagsama-sama: ipinapaliwanag ng ispesipikasyon ang disenyo, ipinapaliwanag ng build at configuration ang tunnel, at ipinapaliwanag ng mga dokumentadong kasanayan ng operator ang lahat ng hindi kailanman nakikita ng tunnel. Sabihin kung alin sa mga ito ang na-verify mo, at nananatiling totoo ang pahayag.

Kaugnay na mga artikulo