Zakaj lahko šifriran paket VPN stane manj, kot mislite
Še ena kriptografska oznaka ni še ena delovna enota. Primerjajte celotno pot: zgradba AEAD, podpora procesorja, medpomnjenje in dogovorjeni podatkovni način.
Dva profila se merita na istem prehodu, eden s šifriranjem in eden brez, in šifriran ni počasnejši. Včasih je hitrejši, kar običajno sproži dolgo razpravo o tem, ali je bila preizkušnja izvedena pravilno. Rezultat je verjeten, ker cena paketa ni število kriptografskih besed v konfiguraciji. To je nabor operacij, ki jih izvaja implementacija, na strojni opremi, ki jo ima, po postavitvi medpomnilnika, ki jo je izbrala.
Simptom: počasen ni šifriran profil
Recimo, da zgodovinska preizkušnja primerja šifro AEAD z načinom „brez šifriranja“, ki še vedno izračuna ločeno avtentikacijsko kodo na paket. Drugi profil skrije vsebino tovora, a ohrani zgoščeno vrednost na paket, in na procesorju brez pospeška za to zgoščeno vrednost lahko stane več kot vgrajena zgradba, ki naj bi jo premagala.
Oznaka v konfiguraciji pravi „šifriranje“, in oznaka je vse, kar gleda večina primerjav. Pot paketa pravi nekaj drugega: en profil izvede sestavljeno operacijo, za katero ima procesor navodila, drugi pa ločeno, za katero jih nima. Branje same konfiguracijske datoteke nikoli ne bo razkrilo te razlike, ker sta oba vnosa videti kot ena vrstica. Samo dogovorjeni način in kodna pot za njim pojasnjujeta rezultat.
To je cela razlaga in ne zahteva nobene trditve o tem, katera primitivna je univerzalno hitrejša. Obe sta lahko hitri, obe sta lahko počasni, in vrstni red je odvisen od stroja in kode.
Štejte operacije, ne oznake
Zgradba AEAD, kot jo opisuje RFC 5116, daje implementaciji en sam vmesnik, ki vrne šifropis in oznako skupaj. AES-GCM je en primer: šifriranje v načinu števca, združeno z avtentikatorjem Galois. Vmesnik ne naredi celovitosti zastonj; naredi kombinacijo dobro definirano, in prav to omogoča implementaciji, da par optimizira kot enoto.
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
To so skice obdelave, ne nasveti za konfiguracijo. Prvi nima zaupnosti, a še vedno porablja procesor za avtentikacijo, in prav zato „izklopi šifriranje“ ni sinonim za „izklopi kriptografsko delo“.
Drugi je lahko cenejši, ker procesorji zagotavljajo navodila za obe polovici: kroge AES in množenje brez prenosa, ki ga uporablja polje Galois. Knjižnice tudi obdelujejo neodvisne medpomnilnike vzporedno, kar te ukaze drži zaposlene, namesto da bi čakali na pomnilnik.
Kaj dogovorjeni način dejansko omogoča
Pri Community OpenVPN šifra podatkov AEAD pomeni, da možnost auth ne prispeva več lastnega ločenega HMAC podatkovnega kanala. Referenca za možnost šifriranja opisuje to področje, in zato se lahko dve konfiguraciji, ki v besedilni datoteki izgledata enako, razlikujeta v delu na paket.
Berite dogovorjeni način in ne seznama želja. Seznam dovoljenih šifer in ime nabora TLS vam ne povesta, katere operacije tečejo na tovoru, in stara vrstica cipher morda ne opisuje, kaj je izbrala trenutna povezava.
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
Prvi ukaz navede šifre, ki jih podpira binarna datoteka, kar je seznam zmogljivosti in ne dogovorjeni rezultat. Drugi pokaže, kaj strežnik dejansko zahteva. Dnevnik povezave je mesto za potrditev končne izbire, ker lahko odjemalec pade nazaj na nekaj, kar strežnik dovoli, a nihče ni nameraval.
Merite obremenitev, ki jo resnično izvajate
Kriptografski mikrobencmark meri primitivno pod njenimi lastnimi pogoji. Prenos VPN tudi kopira medpomnilnike, razporeja niti ali prekinitve, preverja politiko in prečka omrežje. Ti deli pogosto prevladajo, zato hitrejša primitivna ne da vedno hitrejšega tunela.
openssl speed -evp aes-256-gcm openssl speed -evp sha1
Ta dva ukaza vam data grobo lokalno primerjavo primitivnih na stroju pred vami in sta poštena, da gre za mikrobencmarke. Ne povesta nič o prepustnosti vašega tunela in ju nikoli ne bi smeli citirati kot tako.
Nato merite obremenitev, ki je pomembna, vse ostalo pa držite nespremenjeno: ista končna točka, iste velikosti paketov, isti transport, ista politika stiskanja. Če je sprememba profila spremenila tudi transport ali mesto obdelave, rezultat opisuje ta sveženj in ne kriptografije.
Imejte pred očmi tudi cilj. Pot podatkov z odvečno kriptografsko zmogljivostjo je lahko še vedno omejena z zakasnitvijo, ker aplikacija čaka povratne poti, in dobički v skupni prepustnosti ne popravijo zgovornega protokola. Merite podprto in s politiko odobreno konfiguracijo kot celoto, in obravnavajte „manj škatel mora biti hitreje“ kot hipotezo, ki to je. Koristno vprašanje ni, ali šifriranje kaj stane, ampak ali se strošek pokaže v meritvi, ki vam je resnično pomembna.