Ikki profil bir xil shlyuzda o‘lchanadi, biri shifrlash bilan, ikkinchisi usiz, va shifrlangan sekinroq emas. Ba’zan u tezroq bo‘ladi, bu odatda test to‘g‘ri o‘tkazilganmi degan uzoq bahsga sabab bo‘ladi. Natija ishonchli, chunki paketning narxi konfiguratsiyadagi kriptografik so‘zlar soni emas. Bu amalga oshirish bajaradigan operatsiyalar to‘plami, mavjud apparat qurilmasida va tanlangan bufer sxemasi bo‘yicha.

Alomat: sekin bo‘lgani shifrlangan profil emas

Faraz qilaylik, tarixiy test AEAD shifrini „shifrlashsiz“ rejim bilan solishtiradi, u hali ham har bir paket uchun alohida autentifikatsiya kodini hisoblaydi. Ikkinchi profil yuk tarkibini yashiradi, lekin har paket uchun xesh saqlaydi, va shu xesh uchun tezlashtirgichi yo‘q protsessorda u yengishi kerak bo‘lgan integrallashgan tuzilmadan qimmatroq tushishi mumkin.

Konfiguratsiyadagi yorliq „shifrlash“ deydi, va aksariyat taqqoslashlar faqat shu yorliqqa qaraydi. Paket yo‘li boshqa narsani aytadi: bitta profil CPUda ko‘rsatmalari bor birlashgan operatsiyani bajaradi, ikkinchisi esa ko‘rsatmalari yo‘q alohida operatsiyani bajaradi. Faqat konfiguratsiya faylini o‘qish bu farqni hech qachon ochmaydi, chunki ikkala yozuv ham bitta satrga o‘xshaydi. Natijani faqat kelishilgan rejim va uning ortidagi kod yo‘li tushuntiradi.

Bu butun tushuntirish, va u qaysi primitiv umumjahon miqyosda tezroq degan da’voni talab qilmaydi. Ikkisi ham tez bo‘lishi mumkin, ikkisi ham sekin bo‘lishi mumkin, va tartib mashina va kodga bog‘liq.

Yorliqlarni emas, operatsiyalarni sanang

AEAD tuzilishi, RFC 5116 tavsiflaganidek, amalga oshirishga shifrmatn va tegni birga qaytaradigan bitta interfeys beradi. AES-GCM bir misol: hisoblagich rejimidagi shifrlash Galois autentifikatori bilan birlashtirilgan. Interfeys yaxlitlikni bepul qilmaydi; u birikmani yaxshi aniqlangan qiladi, va aynan shu amalga oshirishga juftlikni bir birlik sifatida optimallashtirishga imkon beradi.

Separate authentication path:
  payload -> independent HMAC -> framed packet

AEAD path:
  payload -> authenticated encryption with tag -> framed packet

Bular ishlov berish eskizlari, konfiguratsiya maslahati emas. Birinchisida maxfiylik yo‘q, lekin u hali ham autentifikatsiyaga CPU sarflaydi, va aynan shuning uchun „shifrlashni o‘chir“ „kriptografik ishni o‘chir“ning sinonimi emas.

Ikkinchisi arzonroq bo‘lishi mumkin, chunki protsessorlar ikkala yarmi uchun ko‘rsatmalar beradi: AES raundlari va Galois maydoni ishlatadigan ko‘chirishsiz ko‘paytirish. Kutubxonalar mustaqil buferlarni ham parallel qayta ishlaydi, bu esa o‘sha ko‘rsatmalarni xotira kutish o‘rniga band tutadi.

Kelishilgan rejim aslida nimaga imkon beradi

Community OpenVPNda AEAD ma’lumot shifri auth opsiyasi endi o‘zining alohida ma’lumot kanali HMACini qo‘shmasligini bildiradi. Shifrlash opsiyasi ma’lumotnomasi shu qamrovni tavsiflaydi, va matn faylida o‘xshash ko‘rinadigan ikki konfiguratsiya paket ishida farq qilishining sababi shu.

Xohishlar ro‘yxatini emas, kelishilgan rejimni o‘qing. Ruxsat etilgan shifrlar ro‘yxati va TLS to‘plami nomi yuk ustida qanday operatsiyalar borishini aytmaydi, va eski cipher satri joriy ulanish nimani tanlaganini tavsiflamasligi mumkin.

openvpn --show-ciphers | head -20
sudo grep -E 'cipher|auth' /etc/openvpn/server.conf

Birinchi buyruq binar fayl qo‘llab-quvvatlaydigan shifrlarni sanaydi, bu imkoniyatlar ro‘yxati, kelishilgan natija emas. Ikkinchisi server aslida nima so‘rayotganini ko‘rsatadi. Yakuniy tanlovni tasdiqlash joyi ulanish jurnali, chunki mijoz server ruxsat beradigan, lekin hech kim ko‘zda tutmagan narsaga tushib qolishi mumkin.

Aslida ishga tushiradigan yukni o‘lchang

Kriptografik mikroo‘lchov primitivni o‘z sharoitida o‘lchaydi. VPN uzatish buferlarni ham nusxalaydi, oqim yoki uzilishlarni rejalashtiradi, siyosatni tekshiradi va tarmoqdan o‘tadi. Shu qismlar ko‘pincha ustunlik qiladi, shuning uchun tezroq primitiv har doim tezroq tunnel bermaydi.

openssl speed -evp aes-256-gcm
openssl speed -evp sha1

Bu ikki buyruq sizga oldingizdagi mashinada primitivlarning qo‘pol mahalliy taqqoslashini beradi, va ular mikroo‘lchov ekanini ochiq aytadi. Ular tunnellingiz o‘tkazuvchanligi haqida hech narsa demaydi, va hech qachon shunday iqtibos keltirilmasligi kerak.

Keyin qolgan hamma narsani o‘zgarmas ushlab, muhim yukni o‘lchang: bir xil yakuniy nuqta, bir xil paket o‘lchamlari, bir xil transport, bir xil siqish siyosati. Agar profil o‘zgarishi transport yoki ishlov berish joyini ham o‘zgartirgan bo‘lsa, natija o‘sha to‘plamni tavsiflaydi, kriptografiyani emas.

Maqsadni ham ko‘z oldingizda tuting. Zaxira kriptografik quvvatga ega ma’lumot yo‘li hali ham kechikish bilan cheklanishi mumkin, chunki dastur borish-kelish safarlarini kutadi, va katta hajmdagi quvvat yutuqlari sergap protokolni tuzatmaydi. Qo‘llab-quvvatlanadigan va siyosat tomonidan tasdiqlangan konfiguratsiyani butun sifatida o‘lchang, va „kamroq quti bo‘lsa, tezroq bo‘lishi kerak“ degan gapni u qanday gipoteza bo‘lsa, shunday qabul qiling. Foydali savol shifrlash nimaga turishi emas, balki bu xarajat sizga haqiqatan muhim bo‘lgan o‘lchovda ko‘rinadimi.

O'xshash maqolalar