AES-NI í OpenSSL eða kjamahliðrun: hvor er nauðsynleg?
Aðgreindu stuðning við CPU-leiðbeiningar frá því hvar pakkarnir eru unnir: athugaðu dulritunarbakendann, samningsbundna dulritunina og virka leiðina áður en stillt er.
Tvö merki eru notuð eins og þau séu sama hluturinn: vélbúnaðarhraðað og hliðrað í kjarnann. Annað lýsir því hvaða leiðbeiningar AES-rútína bókasafns keyrir, hitt lýsir því hvar vinnsla pakkanna fer fram. VPN getur haft hið fyrra án hins síðara, hið síðara án hins fyrra, eða bæði samtímis. Sérhver ákvörðun um afköst verður að byrja á að nefna hvort tveggja þú ert í raun að breyta.
Tveir ásar, ekki eitt stig
Fyrsti ásinn er útfærslan: er kóðinn sem gerir AES-256-GCM sendur í útgáfu sem notar sérhæfðar leiðbeiningar örgjörvans eða í flytjanlega rútínu sem keyrir þær sem venjulega reikningu. Þetta val býr inni í dulritunarbókasafninu og er tekið þegar það frumstillist.
Annar ásinn er staðsetningin: fer pakkinn um umbreytingarleið kjarnans eða les dæmon í notendarúmi úr göngutæki, dulkóðar og skrifar til baka.
Hvor ásinn takmarkar hinn ekki. VPN í notendarúmi á örgjörva með AES-leiðbeiningum getur notað þær allan tímann, og kjamaleið á örgjörva án þeirra fellur aftur í hugbúnaðarútfærslu. Merkin í efni söluaðila gera þennan greinarmun sjaldan, og þess vegna gera stillingarráð sem eru afrituð milli beggja aðstæðna svo oft ekkert.
Ás einn: hvaða kóði framkvæmir dulritunina
OpenSSL greinir eiginleika örgjörvans við frumstillingu og notar niðurstöðuna til að velja fínstilltar kóðaleiðir, eins og skjöl um x86-getu lýsa. AES-NI er ein af skjalfestu getunum á bak við þessa sendingu. Ekkert af þessu krefst þess að bókasafnið verði kjamahluti.
Staðfestu að eiginleikinn sé sýnilegur ferlinu áður en þú gerir ráð fyrir að hraðleiðin sé notuð. Á Linux er uppsprettan flags-reiturinn í /proc/cpuinfo, og inni í gesti endurspeglar hann það sem hypervisorinn sýnir en ekki módelheiti líkamlega hýsilsins.
grep -m1 '^flags' /proc/cpuinfo | grep -o '\baes\b'
openssl list -providers -verboseSeinna skipunin nefnir veitendurna sem hlaðnir eru í þeirri byggingu. Hún segir þér ekki hvaða bókasafn VPN-þjónustan tengdi, og hýsill getur borið tvær OpenSSL-uppsetningar á meðan keyrandi ferlið notar aðeins eina þeirra.
Ás tveir: hvar pakkaleiðin keyrir
Staðsetning í kjarnanum þýðir að umbreytingin fer fram í IPsec-vélbúnaði kjarnans sjálfs eða inni í göngudrifara í kjarnanum, svo pakkarnir þurfa ekki ferð fram og til baka um ferli í notendarúmi fyrir hverja lotu. Það getur skorið niður afrit og samhengisskipti og dreift vinnunni yfir kjarna á þann hátt sem einþráða dæmon getur ekki. Það færir líka teljarana og slóðirnar sem þú munt lesa þegar gegnumstreymi fellur, því vinnan fer nú fram hinum megin við mörk sem þú stýrir ekki. Líttu á það sem kostnað við kembiforritun, ekki bara ákvörðun um afköst.
Það býr ekki til leiðbeiningastuðning, stillir ekki dulritun og lætur ekki fyrirliggjandi leið virka.
Sýndarvæðing bætir einnig fellingu á þennan ás. Gestur getur fengið grímuklædda örgjörvastöðu sem felur eiginleika sem hýsillinn hefur, og innfelldur gestur getur séð enn minna. Lestu getusýnina innan frá umhverfinu þar sem VPN keyrir í raun, ekki af stjórnborði hypervisorsins.
Hvað hvert val kaupir, og hvað það getur ekki
Hagnýta spurningin er hvert tíminn fer. Ef ein upptekin þráður, endurtekin biðminnisafrit eða kerfiskall á hvern pakka takmarkar gegnumstreymi getur það hjálpað að færa umbreytinguna á leið sem fjarlægir þann kostnað, að því tilskildu að kjarninn útfæri þá umbreytingu sem þú þarft.
Ef takmörkin eru þétt uppstreymistenging, leið með tapi, löng ferð fram og til baka, mettuð áfangaviðþjónusta eða ein þráður festur við einn kjarna, breytir staðsetningin engu mikilvægu. Sama gildir um val leiðbeininga: AES á sérhæfðum vélbúnaði getur ekki lagfært leið sem vantar og hjálpar ekki ef göngin eru aðgerðalaus vegna þess að nafnaupplausn bregst.
Þar sem bæði eiga við sameinast þau. Kjamaleið getur notað sömu sendingu á leiðbeiningastigi inni í dulritunar-API kjarnans, og notendarúmsleið með vel völdu bókasafni notar hana þegar. Ákvörðunin er ekki hvor er hraðari í abstrakt skilningi; hún er fyrir hvaða kostnað þú hefur sannanir.
Skrifaðu niður fjórar staðreyndir áður en þú breytir nokkru
Skrifaðu niður keyrsluskrá þjónustunnar og dulritunarbókasafnið sem hún tengist, því þau ráða ásnum einum. Skráðu síðan samningsbundna gagnavernd, því dulritun án sérhæfðrar leiðbeiningaleiðar hegðar sér öðruvísi en sú sem hefur hana, og báðir aðilar velja safnið.
Næst getusýnin innan frá keyrandi umhverfinu og að lokum virka pakkaleiðin með sönnun þess að sá hamur sem þú telur virkan sé það í raun. Hlaðin eining er ekki sönnun þess að snið noti hana, og stillingarlína er ekki sönnun þess að kjarninn hafi samþykkt hana.
Breyttu einu atriði og berðu það saman við stöðuga álag með sömu endapunktum og sömu flutningsstefnu. Hraðafullyrðing sem þú mældir ekki er minna virði en athugasemd um að bakendinn hafi aldrei verið dreginn í efa.