Dokumen protokol ialah kontrak antara pelaksanaan, dan membaca dengan teliti memberitahu anda apa yang akan ditukar oleh dua rakan yang patuh dan sifat apa yang dimaksudkan pereka bentuk untuk dijamin. Ia tidak memberitahu anda binar mana yang berjalan pada pelayan yang anda sambung, bagaimana pelayan itu dikonfigurasikan atau apa yang berlaku kemudian kepada rekod akaun anda. Itu tiga jenis bukti yang berbeza, dan memperlakukan spesifikasi sebagai ketiga-tiganya ialah cara nama protokol mula melakukan kerja yang tidak dapat dilakukannya. Menjaga ketiga-tiganya berasingan ialah keseluruhan latihan.

Dokumen itu ialah permulaan hujah, bukan kesimpulannya.

Apa yang sebenarnya ditetapkan oleh dokumen

Bagi WireGuard, huraian protokol mentakrifkan jabat tangan Noise IK, set primitif yang tetap, susun atur mesej dan pembingkaian pengangkutan yang kemudian membawa paket. Bagi IKEv2 artifak yang setara ialah RFC 7296, yang menetapkan pertukaran, muatan dan rundingan cadangan. Dalam kedua-dua kes skopnya tepat: mesej, mesin keadaan dan andaian yang menjadikan matlamat keselamatan terpakai.

Mod pilihan merumitkan pembacaan. Sifat yang berlaku untuk satu jabat tangan mungkin tidak terpakai kepada penggunaan dengan susunan pengesahan yang berbeza atau konfigurasi sandaran.

Di mana jaminan berhenti

Analisis formal menjawab soalan tentang model. Kerja pengesahan WireGuard menggunakan model simbolik dalam pembuktian Tamarin, yang boleh menunjukkan bahawa reka bentuk menahan serangan tertentu di bawah andaiannya; ia tidak menunjukkan bahawa pelaksanaan ruang pengguna yang dihantar tidak mempunyai pepijat keselamatan memori. Jurang antara model dan mesin itulah tempat kejadian sebenar hidup. Membaca bukti sebagai sijil pelaksanaan ialah kesilapan kategori.

Kerahsiaan ke hadapan menggambarkan sempadan yang sama. Sifat itu bergantung pada kunci dimusnahkan seperti yang dimaksudkan protokol, dan itu sifat pelaksanaan serta persekitarannya, bukan format mesej. Reka bentuk yang menetapkan pemadaman tidak dapat menguatkuasakannya pada platform yang memindahkan memori ke cakera.

Kebergantungan berlapis melebarkan jurang itu lagi: pustaka TLS di belakang terowong berasaskan TLS, antara muka kernel yang digunakan terowong ruang pengguna, dan penjana nombor rawak semuanya berada di luar teks protokol.

Ikuti bait hingga ke dalam binaan

Bergerak dari dokumen ke artifak dengan mengenal pasti versi, kemudian membandingkannya dengan apa yang benar-benar melayani trafik. Produk yang menamakan protokol boleh menambah komponen peruntukan, telemetri dan pengurusan yang tidak pernah dihuraikan oleh spesifikasi.

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

Binaan boleh dihasilkan semula dan jumlah semak yang diterbitkan membolehkan pokok sumber dihubungkan dengan binar yang diedarkan. Tanpa pautan itu, sumber yang diterbitkan hanya membuktikan bahawa pemeriksaan mungkin, bukan bahawa fail yang berjalan sepadan dengannya.

Konfigurasi tergolong dalam langkah yang sama. Suite sifer, rakan yang dibenarkan dan tetapan penghalaan ialah pilihan penggunaan, dan binaan patuh yang dikonfigurasikan secara cuai tetap menghasilkan terowong yang lemah.

Asingkan amalan operasi

Rekod akaun, data pembayaran dan penyerahan sokongan ialah keputusan pengendali yang tidak dikekang oleh mana-mana teks protokol. Laporan audit meliputi komponen yang dinamakan dalam skop yang diisytiharkan, dan dasar privasi menerangkan niat serta amalan; tidak satu pun menggantikan yang lain, dan tidak satu pun merupakan pernyataan kriptografi.

Kesimpulan yang tepat bersifat kumulatif: spesifikasi menerangkan reka bentuk, binaan dan konfigurasi menerangkan terowong, dan amalan pengendali yang didokumenkan menerangkan segala-galanya yang tidak pernah dilihat terowong. Nyatakan yang mana antara ini anda sahkan, dan dakwaan itu kekal benar.

Artikel berkaitan