Zergatik VPN pakete zifratu batek uste baino gutxiago kosta dezakeen
Beste etiketa kriptografiko bat ez da lan-unitate bat gehiago. Konparatu bide osoa: AEAD eraikuntza, CPUaren euskarria, bufferatzea eta adostutako datu modua.
Bi profil ataka berberean neurtzen dira, bat zifratzearekin eta bestea gabe, eta zifratua ez da motelagoa. Batzuetan azkarragoa da, eta horrek normalean eztabaida luzea sortzen du proba behar bezala egin ote zen. Emaitza sinesgarria da, pakete baten kostua ez baita konfigurazioko hitz kriptografikoen kopurua. Inplementazioak egiten dituen eragiketen multzoa da, duen hardwarean, aukeratu zuen buffer-diseinuaren gainean.
Sintoma: motela ez da profil zifratua
Demagun proba historiko batek AEAD zifratzailea „zifratzerik gabe“ moduarekin alderatzen duela, oraindik pakete bakoitzeko autentifikazio-kode bereizi bat kalkulatzen duena. Bigarren profilak karga erabilgarriaren edukia ezkutatzen du baina pakete bakoitzeko hash bat mantentzen du, eta hash horretarako azelerazioa ez duen prozesadore batean gainditu behar zuen eraikuntza integratua baino gehiago kosta daiteke.
Konfigurazioko etiketak „zifratzea“ dio, eta etiketa da konparazio gehienek ikusten duten guztia. Paketearen bideak beste zerbait dio: profil batek CPUak jarraibideak dituen eragiketa konbinatu bat egiten du, eta besteak ez dituen eragiketa bereizi bat. Konfigurazio-fitxategia soilik irakurtzeak ez du inoiz alde hori agertuko, bi sarrerek lerro bakarra diruditelako. Adostutako moduak eta haren atzeko kode-bideak bakarrik azaltzen dute emaitza.
Hori da azalpen osoa, eta ez du eskatzen zein primitiba den unibertsalki azkarragoa dioen baieztapenik. Biak izan daitezke azkarrak, biak motelak, eta ordena makinaren eta kodearen araberakoa da.
Zenbatu eragiketak, ez etiketak
AEAD eraikuntza batek, RFC 5116k deskribatzen duen bezala, interfaze bakarra ematen dio inplementazioari, zifratu-testua eta etiketa elkarrekin itzultzen dituena. AES-GCM adibide bat da: kontagailu moduko zifratzea Galois autentifikatzailearekin konbinatuta. Interfazeak ez du osotasuna doan egiten; konbinazioa ondo definituta uzten du, eta horri esker optimizatu dezake inplementazioak bikotea unitate gisa.
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
Horiek prozesamendu-eskizak dira, ez konfigurazio-aholkuak. Lehenengoak ez du isilpekotasunik baina CPUa gastatzen du autentifikazioan, eta horrexegatik ez dira sinonimo „itxi zifratzea“ eta „itxi lan kriptografikoa“.
Bigarrena merkeagoa izan daiteke prozesadoreek bi erdietarako jarraibideak ematen dituztelako: AES errondak eta Galois eremuak erabiltzen duen garraiorik gabeko biderketa. Liburutegiek buffer independenteak paraleloan prozesatzen dituzte, eta horrek jarraibide horiek lanpetuta mantentzen ditu memoria itxaron beharrean.
Zer ahalbidetzen duen adostutako moduak benetan
Community OpenVPN erabiliz, AEAD datu-zifratzaile batek esan nahi du auth aukerak jada ez duela datu-kanaleko HMAC bereizirik gehitzen. Zifratze-aukeraren erreferentziak hedadura hori deskribatzen du, eta horregatik testu-fitxategi batean antzeko diruditen bi konfiguraziok pakete bakoitzeko lanean desberdin daitezke.
Irakurri adostutako modua, ez desio-zerrenda. Baimendutako zifratzaileen zerrendak eta TLS suite baten izenak ez dizute esaten zein eragiketa exekutatzen diren kargaren gainean, eta cipher lerro zahar batek baliteke uneko konexioak aukeratu duena deskribatzen ez izatea.
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
Lehen komandoak binarioak onartzen dituen zifratzaileak zerrendatzen ditu, gaitasun-zerrenda bat da, ez adostutako emaitza. Bigarrenak zerbitzariak benetan eskatzen duena erakusten du. Konexio-erregistroa da azken aukera baieztatzeko lekua, bezeroak zerbitzariak baimentzen duen baina inork nahi ez zuen zerbaitetara jo dezakeelako.
Neurtu benetan exekutatzen duzun karga
Kriptografia-mikroprobak primitiba bat bere baldintzetan neurtzen du. VPN transferentzia batek bufferrak ere kopiatzen ditu, hariak edo etenak planifikatzen, politika egiaztatzen eta sarea zeharkatzen du. Atal horiek sarritan nagusitzen dira, eta horregatik primitiba azkarragoak ez du beti tunel azkarragoa ematen.
openssl speed -evp aes-256-gcm openssl speed -evp sha1
Bi komando horiek gutxi gorabeherako tokiko konparazioa ematen dizute aurrean duzun makinan, eta zintzoak dira mikroproba direla esatean. Ez dute ezer esaten zure tunelaren errendimenduaz, eta ez lirateke inoiz hala aipatu behar.
Ondoren neurtu axola duen karga, gainerako guztia konstante mantenduta: amaiera-puntu bera, pakete-tamaina berberak, garraio bera, konpresio-politika bera. Profil-aldaketak garraioa edo prozesamendu-kokapena ere aldatu bazuen, emaitzak sorta hori deskribatzen du, ez kriptografia.
Helburua ere begi-bistan eduki. Kriptografia-ahalmen soberakin duen datu-bide bat oraindik latentziari lotuta egon daiteke, aplikazioak itzuli-etorriko bidaiak itxaroten dituelako, eta gaitasun handiko irabaziek ez dute protokolo hiztun bat konpontzen. Neurtu onartutako eta politikak onartutako konfigurazioa osotasunean, eta tratatu „kaxa gutxiagok azkarragoa izan behar du“ duen hipotesi gisa. Galdera erabilgarria ez da zifratzeak zerbait balio duen, baizik eta kostua benetan axola zaizun neurketan agertzen den.