Şifrələnmiş VPN paketi niyə düşündüyünüzdən az başa gələ bilər
Daha bir kriptoqrafik etiket daha bir iş vahidi deyil. Bütün yolu müqayisə edin: AEAD quruluşu, prosessor dəstəyi, buferləmə və razılaşdırılmış data rejimi.
İki profil eyni şlüz üzərində sınaqdan keçirilir: biri şifrələmə ilə, digəri şifrələməsiz, və şifrələnmiş olan daha yavaş deyil. Bəzən daha sürətli olur, bu da adətən testin düzgün aparıldığı barədə uzun mübahisəyə səbəb olur. Nəticə inandırıcıdır, çünki paketin xərci konfiqurasiyadakı kriptoqrafik sözlərin sayı deyil. Bu, tətbiqatın yerinə yetirdiyi əməliyyatlar toplusudur: mövcud avadanlıq üzərində və seçdiyi bufer sxeminə görə.
Simptom: yavaş olan şifrələnmiş profil deyil
Tutaq ki, köhnə bir test AEAD şifrəsini hələ də hər paket üçün ayrı autentifikasiya kodu hesablayan “şifrələməsiz” rejimlə müqayisə edir. İkinci profil yükün məzmununu gizlədir, lakin paket başına heş saxlayır və həmin heş üçün sürətləndirməsi olmayan prosessorda bu, üstələməli olduğu inteqrasiya edilmiş quruluşdan baha başa gələ bilər.
Konfiqurasiyadakı etiket “şifrələmə” deyir və əksər müqayisələr yalnız etiketə baxır. Paket yolu başqa şey söyləyir: bir profil prosessorun təlimatı olduğu birləşmiş əməliyyatı yerinə yetirir, digəri isə təlimatı olmadığı ayrı bir əməliyyatı icra edir. Yalnız konfiqurasiya faylını oxumaq bu fərqi heç vaxt aşkara çıxarmayacaq, çünki hər iki giriş bir sətir kimi görünür. Nəticəni yalnız razılaşdırılmış rejim və onun arxasındakı kod yolu izah edir.
Bütün izah budur və hansı primitivin universal olaraq daha sürətli olması barədə heç bir iddia tələb etmir. Hər ikisi sürətli ola bilər, hər ikisi yavaş ola bilər və sıra maşından və koddan asılıdır.
Etiketləri deyil, əməliyyatları sayın
RFC 5116-da təsvir olunan AEAD quruluşu tətbiqata şifrə mətnini və teqi birlikdə qaytaran vahid interfeys verir. AES-GCM bir nümunədir: sayğac rejimli şifrələmə Galois autentifikatoru ilə birləşdirilmiş. İnterfeys bütövlüyü pulsuz etmir; birləşməni dəqiq müəyyən edir və bu, tətbiqata cütü vahid kimi optimallaşdırmağa imkan verir.
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
Bunlar konfiqurasiya məsləhəti deyil, emal eskizləridir. Birincidə məxfilik yoxdur, lakin yenə də autentifikasiyaya prosessor sərf edir; “şifrələməni söndür” ifadəsinin “kriptoqrafik işi söndür” ilə sinonim olmamasının səbəbi də məhz budur.
İkinci daha ucuz ola bilər, çünki prosessorlar hər iki yarım üçün təlimat verir: AES raundları və Galois sahəsinin istifadə etdiyi daşımasız vurma. Kitabxanalar həmçinin asılı olmayan buferləri paralel emal edir, bu da təlimatları yaddaş gözləmək yerinə məşğul saxlayır.
Razılaşdırılmış rejim əslində nəyə imkan verir
Community OpenVPN ilə AEAD data şifrəsi auth seçiminin artıq öz ayrı data kanalı HMAC-ı töhfə vermədiyini bildirir. Şifrələmə seçimi arayışı bu əhatəni təsvir edir və mətn faylında oxşar görünən iki konfiqurasiyanın paket başına işdə fərqlənməsinin səbəbi budur.
Arzu siyahısını deyil, razılaşdırılmış rejimi oxuyun. İcazə verilən şifrə siyahısı və TLS paket adı yük üzərində hansı əməliyyatların icra olunduğunu demir və köhnə cipher sətri cari bağlantının nə seçdiyini təsvir etməyə bilər.
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
Birinci əmr ikili faylın dəstəklədiyi şifrələri sadalayır, bu da razılaşdırılmış nəticə deyil, imkanlar siyahısıdır. İkincisi serverin əslində nə istədiyini göstərir. Son seçimi təsdiqləmək üçün yer bağlantı jurnalıdır, çünki müştəri serverin icazə verdiyi, amma heç kimin nəzərdə tutmadığı bir şeyə geri düşə bilər.
Əslində icra etdiyiniz yükü ölçün
Kriptoqrafik mikro ölçmə bir primitivi öz şərtləri altında ölçür. VPN ötürməsi həmçinin buferləri kopyalayır, sap və ya kəsilmələri planlaşdırır, siyasəti yoxlayır və şəbəkəni keçir. Bu hissələr çox vaxt üstünlük təşkil edir, buna görə daha sürətli primitiv həmişə daha sürətli tunel yaratmır.
openssl speed -evp aes-256-gcm openssl speed -evp sha1
Bu iki əmr qarşınızdakı maşında primitivlərin təqribi lokal müqayisəsini verir və mikro ölçmə olduqları barədə dürüstdürlər. Tunelinizin ötürmə qabiliyyəti barədə heç nə demirlər və heç vaxt belə sitat gətirilməməlidirlər.
Sonra əhəmiyyətli olan yükü ölçün, qalan hər şeyi sabit saxlayaraq: eyni son nöqtə, eyni paket ölçüləri, eyni nəqliyyat, eyni sıxılma siyasəti. Əgər profil dəyişikliyi nəqliyyatı və ya emal yerini də dəyişdisə, nəticə kriptoqrafiyanı deyil, həmin paketi təsvir edir.
Məqsədi də yadda saxlayın. Ehtiyat kriptoqrafik gücü olan data yolu yenə də gediş-dönüşləri gözlədiyi üçün gecikmə ilə məhdudlaşa bilər və toplu tutum qazancları çox danışan protokolu düzəltmir. Dəstəklənən və siyasətlə təsdiqlənmiş konfiqurasiyanı bütöv ölçün və “daha az qutu daha sürətli olmalıdır” fikrini olduğu kimi, bir fərziyyə kimi qəbul edin. Faydalı sual şifrələmənin nəyəsə başa gəlib-gəlməməsi deyil, xərcin əslində vacib olan ölçmədə görünüb-görünməməsidir.