Protokol sənədi tətbiqlər arasında müqavilədir və onu diqqətlə oxumaq iki uyğun həmdövrün nə mübadilə edəcəyini və dizaynerlərin hansı xüsusiyyətlərin qorunacağını nəzərdə tutduğunu göstərir. O, qoşulduğunuz serverdə hansı binarın işlədiyini, həmin serverin necə konfiqurasiya edildiyini və ya hesab qeydinizə sonradan nə olduğunu demir. Bunlar üç fərqli sübut növüdür və spesifikasiyanı hər üçü kimi qəbul etmək protokol adının edə bilməyəcəyi işi görməyə başlamasıdır. Üçünü bir-birindən ayırmaq bütün məşğuliyyətdir.

Sənəd arqumentin başlanğıcıdır, nəticəsi deyil.

Sənəd əslində nəyi spesifikasiya edir

WireGuard üçün protokol təsviri Noise IK əl sıxmasını, sabit primitivlər dəstini, mesaj planlarını və sonradan paketləri daşıyan nəqliyyat çərçivəsini müəyyən edir. IKEv2 üçün bənzər sənəd RFC 7296-dır və o, mübadilələri, yükləri və təkliflərin razılaşdırılmasını spesifikasiya edir. Hər iki halda əhatə dəqiqdir: mesajlar, vəziyyət maşını və təhlükəsizlik məqsədlərinin keçərli olduğu fərziyyələr.

İstəyə bağlı rejimlər oxunuşu çətinləşdirir. Bir əl sıxma üçün keçərli olan xüsusiyyət fərqli autentifikasiya quruluşu və ya ehtiyat konfiqurasiya istifadə edən yerləşdirməyə aid olmaya bilər.

Zəmanətlərin bitdiyi yer

Formal analiz model haqqında suala cavab verir. WireGuard-ın yoxlama işi Tamarin sübutedicisində simvolik modeldən istifadə edir və bu model dizaynın fərziyyələri verildikdə müəyyən hücumlara davam etdiyini göstərə bilər; lakin buraxılmış istifadəçi sahəsi tətbiqində yaddaş təhlükəsizliyi xətası olmadığını göstərmir. Model ilə maşın arasındakı bu boşluq real hadisələrin yaşadığı yerdir. Sübutu tətbiq sertifikatı kimi oxumaq kateqoriya xətasıdır.

İrəliyə doğru məxfilik eyni sərhədi göstərir. Xüsusiyyət açarların protokolun nəzərdə tutduğu kimi məhv edilməsindən asılıdır və bu, mesaj formatının deyil, tətbiqin və mühitinin xüsusiyyətidir. Silinməni tələb edən dizayn bunu yaddaşı diskə köçürən platformada tətbiq edə bilməz.

Qatlı asılılıqlar boşluğu daha da genişləndirir: TLS əsaslı tunelin arxasındakı TLS kitabxanası, istifadəçi sahəsi tunelinin istifadə etdiyi nüvə interfeysi və təsadüfi ədəd generatoru protokol mətnindən kənarda qalır.

Baytları build-in içinə qədər izləyin

Versiyaları müəyyənləşdirib onları faktiki olaraq trafiki xidmət edənlərlə müqayisə etməklə sənəddən artefaktlara keçin. Protokolu adlandıran məhsul spesifikasiyanın heç vaxt təsvir etmədiyi təchizat, telemetriya və idarəetmə komponentləri əlavə edə bilər.

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

Təkrar istehsal oluna bilən build-lər və dərc edilmiş yoxlama məbləğləri mənbə ağacını paylanmış binar ilə əlaqələndirməyi mümkün edir. Bu əlaqə olmadan dərc edilmiş mənbə yalnız yoxlamanın mümkün olduğunu sübut edir, işləyən faylın ona uyğun gəldiyini deyil.

Konfiqurasiya eyni addıma aiddir. Şifrə dəstləri, icazə verilən həmdövrlər və marşrutlaşdırma parametrləri yerləşdirmə seçimləridir və diqqətsiz konfiqurasiya edilmiş uyğun build yenə də zəif tunel yaradır.

Əməliyyat təcrübələrini ayrı saxlayın

Hesab qeydləri, ödəniş məlumatları və dəstək müraciətləri heç bir protokol mətninin məhdudlaşdırmadığı operator qərarlarıdır. Audit hesabatı adlandırılmış komponentləri göstərilən əhatə daxilində əhatə edir, məxfilik siyasəti isə niyyətləri və təcrübələri təsvir edir; heç biri digərini əvəz etmir və heç biri kriptoqrafik bəyanat deyil.

Dəqiq nəticə yığımlıdır: spesifikasiya dizaynı, build və konfiqurasiya tuneli, operatorun sənədləşdirilmiş təcrübələri isə tunelin heç vaxt görmədiyi hər şeyi izah edir. Bunlardan hansını yoxladığınızı deyin və iddia doğru qalır.

Əlaqəli məqalələr