Iż-żewġ ismijiet huma kostruzzjonijiet AEAD, it-tnejn huma standardizzati, u fuq server x86 attwali kull wieħed minnhom jimla konnessjoni gigabit mingħajr sforz viżibbli. L-għażla tieqaf tkun arbitrarja meta titlaq minn dak is-server: routers irħas, telefons eqdem u apparati virtwali spiss ma jkollhomx aċċelerazzjoni AES, u hemm id-differenza hija kbira. Għalhekk il-paragun mhuwiex liema ċifrar huwa aktar mgħaġġel, iżda liema ċifrar jaħdem tajjeb fuq dan is-sett ta punti finali, u jekk il-protokoll joffrix għażla xejn.

L-istess xogħol, qlub differenti

Iż-żewġ kostruzzjonijiet jagħtu kunfidenzjalità u integrità f’pass wieħed u jawtentikaw data assoċjata, u għalhekk il-protokolli VPN jużawhom għall-kanal tad-data. Id-differenza hija ġewwa: AES-GCM huwa ċ-ċifrar tal-blokki AES fil-mod tal-għadd b’awtentikatur polinomjali fuq GF(2^128), filwaqt li ChaCha20-Poly1305 huwa ċifrar tal-fluss b’ċavetta ta 256 bit u awtentikatur ta darba waħda separat.

Dak li hu importanti operattivament huwa komuni: it-tnejn ifallu b’mod katastrofiku meta jintuża mill-ġdid in-nonce, it-tnejn jeħtieġu ġestjoni tal-ispazju tan-nonce għal kull ċavetta, u ħadd minnhom ma jsewwi sieħeb li jawtentika l-ħaġa ħażina. Profil li jgħid AES-256-GCM mhuwiex aktar sigur minn wieħed li jgħid CHACHA20-POLY1305; it-tnejn huma sodi meta l-implimentazzjoni hija korretta.

Fejn jirbaħ AES-GCM

AES għandu struzzjonijiet dedikati fuq il-biċċa l-kbira tas-CPU moderni: AES-NI fuq x86, l-estensjonijiet kriptografiċi fuq ARMv8 u ekwivalenti fuq disinji POWER u RISC-V reċenti. Meta jkunu preżenti, GCM iħaddem diversi blokki b’mod parallel għal kull klassi ta ċiklu u l-implimentazzjoni tas-software issir irrelevanti. Dan huwa l-każ komuni għas-servers, id-desktops u t-telefons attwali, u għalhekk il-parir li tuża AES huwa valur awtomatiku raġonevoli f’ċentru tad-data.

Il-problema hija l-każ tat-tieni ordni. Mingħajr struzzjonijiet dedikati, AES fis-software huwa bil-mod, u l-implimentazzjonijiet tas-software mmexxija bit-tabelli huma dawk b’storja twila ta problemi tal-ħin tal-cache. Konċentratur VPN f’magna virtwali li l-host tagħha ma jurix il-bnadar AES lill-mistieden huwa eżattament dan il-każ, u huwa faċli li jintrema għax is-CPU tal-host għandha l-karatteristika.

Iċċekkja dak li l-proċess fil-fatt jara, mhux dak li s-CPU tappoġġa: grep -o aes /proc/cpuinfo | head -1 fuq Linux, jew il-bandiera tal-karatteristika ekwivalenti fil-mudell tas-CPU tal-hypervisor.

Fejn jirbaħ ChaCha20-Poly1305

ChaCha20 huwa mgħaġġel fis-software portabbli għax juża biss żieda, rotazzjoni u XOR, u l-implimentazzjonijiet tiegħu jevitaw bi ddisinn it-tiftix fit-tabelli li jiddependi mis-sigriet. Fuq apparat mingħajr aċċelerazzjoni AES dan huwa vantaġġ materjali, u huwa għalhekk li WireGuard għażlu: id-deskrizzjoni tal-protokoll WireGuard telenka ChaCha20-Poly1305 bħala ċ-ċifrar tad-data tiegħu mingħajr alternattiva.

Dik l-għażla waħda tgħid xi ħaġa utli: fuq hardware fejn AES huwa aċċelerat, WireGuard iċedi ftit throughput meta mqabbel ma AES-GCM, u l-awturi tiegħu aċċettaw dan bi skambju għal imġieba prevedibbli fuq telefons, routers tad-dar u hosts tal-kontenituri. Jekk il-flotta tiegħek hija l-aktar kaxxi ARM żgħar, dak l-iskambju huwa favur tiegħek.

Il-każ oppost huwa konċentratur x86 impenjat, fejn AES-GCM b’AES-NI huwa l-passaġġ aktar mgħaġġel u aħjar appoġġat, u fejn ChaCha20 jiswa CPU li jista jitkejjel għal kull gigabit. L-ebda waħda mill-kostruzzjonijiet mhijiex dgħjufija; il-mistoqsija hija liema waħda l-hardware tiegħek iwettaq bl-irħis.

X jiġifieri li l-protokoll tiegħek jippermettilek tagħżel

ProtocolWhat you get
WireGuardChaCha20-Poly1305 only; no negotiation
OpenVPN 2.5 and laterData channel negotiated from data-ciphers: AES-256-GCM, AES-128-GCM, CHACHA20-POLY1305
IPsec / IKEv2AES-GCM as a combined-mode transform, or ChaCha20-Poly1305 where both peers implement it
OpenVPN control channelTLS decides; TLS 1.3 offers AES-GCM and ChaCha20-Poly1305 suites

Innota l-qasma f’OpenVPN: il-kanal tal-kontroll u l-kanal tad-data jiġu nnegozjati separatament, għalhekk is-suite li tara għal TLS ma tgħid xejn dwar iċ-ċifrar li jipproteġi l-payload tiegħek. Is-sommarju tas-sessjoni jirrapporta t-tnejn, u li taqra biss wieħed mit-tnejn hija sors komuni ta konfużjoni.

F OpenVPN iċ-ċifrar tal-kanal tad-data jiġi mil-lista data-ciphers fuq iż-żewġt itruf. Jekk il-lista tas-server u l-lista tal-klijent ma jaqtgħux lil xulxin, il-konnessjoni jew terġa lura għal dak li jippermetti data-ciphers-fallback jew tfalli għal kollox, u dik il-falliment normalment tiġi attribwita lis-saff żbaljat. Qiegħed l-istess lista fuq iż-żewġ naħat, imbagħad ikkonferma r-riżultat innegozjat fil-log minflok ma tassumi li l-ordni tal-lista ġie rispettat.

Iddeċiedi minn tliet fatti dwar id-deployment

L-ewwel, il-punti finali għandhom aċċelerazzjoni AES? Jekk kull sieħeb għandu, AES-GCM hija l-għażla irħas u l-valur awtomatiku fil-biċċa l-kbira tal-konfigurazzjonijiet miżmuma. Jekk parti sinifikanti huma routers żgħar jew telefons eqdem, ChaCha20-Poly1305 iżżomm id-denb tal-flotta milli jsir il-limitu tal-kapaċità.

It-tieni, il-protokoll joffri għażla xejn? Ma WireGuard id-deċiżjoni diġà titeħdet għalik, u l-xogħol utli huwa li tivverifika li l-għodda madwaru ma tissostitwixxix xi ħaġa oħra bil-kwiet. Ma OpenVPN u IPsec it-tweġiba hija linja ta konfigurazzjoni u riżultat innegozjat li għandu jiġi rreġistrat.

It-tielet, iż-żewġt itruf jistgħu jaqblu? Ċifrar li sieħeb ma jimplimentax mhuwiex deċiżjoni ta prestazzjoni, hija waqfa. Għalhekk il-lista tas-sieħba hija aktar importanti minn kwalunkwe benchmark: flotta mħallta teħtieġ il-qsim tal-kapaċitajiet, mhux il-preferenza tal-magna l-aktar mgħaġġla.

Jekk tkejjel, żomm l-apparat, il-punt finali u t-tagħbija identiċi u biddel ħaġa waħda. Test li jqabbel żewġ servers f’reġjuni differenti jkejjel ir-rotta, mhux iċ-ċifrar, u benchmark fuq laptop ma jgħid xejn dwar host tal-kontenituri li l-bnadar tas-CPU tiegħu huma moħbija. Qabbel, imbagħad innota liema ċifrar ġie nnegozjat tassew: dik ir-reġistrazzjoni tiswa aktar mill-benchmark.

Artikli relatati