Pam y gall pecyn VPN amgryptiedig gostio llai nag yr ydych yn ei feddwl
Nid yw un label cryptograffig arall yn un uned o waith arall. Cymharwch y llwybr cyfan: adeiladwaith AEAD, cymorth y CPU, byffro a’r modd data a drafodwyd.
Mae dau broffil yn cael eu meincnodi ar yr un porth, un ag amgryptio ac un heb, ac nid yw’r un amgryptiedig yn arafach. Weithiau mae’n gyflymach, sy’n arwain fel arfer at ddadl hir ynghylch a gynhaliwyd y prawf yn gywir. Mae’r canlyniad yn gredadwy, oherwydd nid nifer y geiriau cryptograffig yn y ffurfweddiad yw cost pecyn. Yr hyn sy’n cyfrif yw’r set o weithrediadau y mae’r gweithrediad yn eu gwneud, ar y caledwedd sydd ganddo, dros gynllun y byffer a ddewisodd.
Y symptom: nid y proffil amgryptiedig yw’r un araf
Tybiwch fod prawf hanesyddol yn cymharu seiffr AEAD â modd „heb amgryptio“ sy’n dal i gyfrifo cod dilysu ar wahân fesul pecyn. Mae’r ail broffil yn cuddio cynnwys y llwyth ond yn cadw hash fesul pecyn, ac ar brosesydd heb gyflymder ar gyfer y hash hwnnw gall gostio mwy na’r adeiladwaith integredig yr oedd i fod i’w guro.
Mae’r label yn y ffurfweddiad yn dweud „amgryptio“, a’r label yw’r cyfan y mae’r rhan fwyaf o gymariaethau yn edrych arno. Mae llwybr y pecyn yn dweud rhywbeth gwahanol: mae un proffil yn gwneud gweithrediad cyfunol y mae gan y CPU gyfarwyddiadau ar ei gyfer, a’r llall yn gwneud un ar wahân nad oes ganddo gyfarwyddiadau ar ei gyfer. Ni fydd darllen y ffeil ffurfweddu yn unig byth yn datgelu’r gwahaniaeth hwnnw, oherwydd mae’r ddau gofnod yn edrych fel un llinell. Dim ond y modd a drafodwyd a’r llwybr cod y tu ôl iddo sy’n egluro’r canlyniad.
Dyna’r eglurhad cyfan, ac nid oes angen unrhyw honiad ynghylch pa gyntefig sy’n gyflymach yn gyffredinol. Gall y ddau fod yn gyflym, gall y ddau fod yn araf, ac mae’r drefn yn dibynnu ar y peiriant a’r cod.
Cyfrwch weithrediadau, nid labeli
Mae adeiladwaith AEAD, fel y’i disgrifir yn RFC 5116, yn rhoi i’r gweithrediad un rhyngwyneb sy’n dychwelyd y seiffr-destun a’r tag gyda’i gilydd. Mae AES-GCM yn un enghraifft: amgryptio modd rhifydd wedi’i gyfuno â dilysydd Galois. Nid yw’r rhyngwyneb yn gwneud cyfanrwydd yn rhad; mae’n gwneud y cyfuniad yn ddiffiniedig yn dda, a dyna sy’n caniatáu i weithrediad optimeiddio’r pâr fel uned.
Separate authentication path: payload -> independent HMAC -> framed packet AEAD path: payload -> authenticated encryption with tag -> framed packet
Brasluniau prosesu yw’r rhain yn hytrach na chyngor ffurfweddu. Nid oes cyfrinachedd gan y cyntaf ond mae’n dal i wario CPU ar ddilysu, a dyna’n union pam nad yw „diffoddwch amgryptio“ yn gyfystyr â „diffoddwch waith cryptograffig“.
Gall yr ail fod yn rhatach oherwydd bod proseswyr yn darparu cyfarwyddiadau ar gyfer y ddau hanner: rowndiau AES a’r lluosi di-gario y mae maes Galois yn ei ddefnyddio. Mae llyfrgelloedd hefyd yn prosesu byfferau annibynnol yn gyfochrog, sy’n cadw’r cyfarwyddiadau hynny’n brysur yn lle aros am y cof.
Beth mae’r modd a drafodwyd yn ei alluogi mewn gwirionedd
Gyda Community OpenVPN, mae seiffr data AEAD yn golygu nad yw’r opsiwn auth bellach yn cyfrannu HMAC sianel ddata ar wahân iddo’i hun. Mae cyfeirlyfr yr opsiwn amgryptio yn disgrifio’r cwmpas hwnnw, a dyna pam y gall dau ffurfweddiad sy’n edrych yn debyg mewn ffeil destun fod yn wahanol o ran gwaith fesul pecyn.
Darllenwch y modd a drafodwyd yn hytrach na’r rhestr ddymuno. Nid yw rhestr seiffrau a ganiateir ac enw swit TLS yn dweud wrthych pa weithrediadau sy’n rhedeg ar y llwyth, ac efallai nad yw hen linell cipher yn disgrifio’r hyn a ddewisodd y cysylltiad presennol.
openvpn --show-ciphers | head -20 sudo grep -E 'cipher|auth' /etc/openvpn/server.conf
Mae’r gorchymyn cyntaf yn rhestr y seiffrau y mae’r deuaidd yn eu cefnogi, sef rhestr gallu yn hytrach na’r canlyniad a drafodwyd. Mae’r ail yn dangos beth mae’r gweinydd yn ei ofyn mewn gwirionedd. Y log cysylltiad yw’r lle i gadarnhau’r dewis terfynol, oherwydd gall cleient ddisgyn yn ôl i rywbeth y mae’r gweinydd yn ei ganiatáu ond na fwriadodd neb.
Mesurwch y llwyth gwaith rydych chi’n ei redeg mewn gwirionedd
Mae micro-fesur cryptograffig yn mesur cyntefig o dan ei amodau ei hun. Mae trosglwyddiad VPN hefyd yn copïo byfferau, yn amserlennu edafedd neu ymyriadau, yn gwirio polisi ac yn croesi’r rhwydwaith. Mae’r rhannau hynny’n aml yn dominyddu, a dyna pam nad yw cyntefig cyflymach bob amser yn cynhyrchu twnnel cyflymach.
openssl speed -evp aes-256-gcm openssl speed -evp sha1
Mae’r ddau orchymyn hyn yn rhoi cymhariaeth leol fras o’r cyntefigion ar y peiriant o’ch blaen, ac maent yn onest eu bod yn ficro-fesuriadau. Nid ydynt yn dweud dim am gydrwyedd eich twnnel, ac na ddylid eu dyfynnu byth felly.
Yna mesurwch y llwyth gwaith sy’n bwysig, gan gadw popeth arall yn gyson: yr un pwynt terfynol, yr un meintiau pecyn, yr un cludiant, yr un polisi cywasgu. Os yw’r newid proffil wedi newid y cludiant neu’r lleoliad prosesu hefyd, mae’r canlyniad yn disgrifio’r bwndel hwnnw yn hytrach na chryptograffeg.
Cadwch y nod mewn golwg hefyd. Gall llwybr data â chapasiti cryptograffig sbâr fod yn dal i fod yn gyfyngedig gan oedi oherwydd bod y rhaglen yn aros am deithiau cyfan, ac nid yw enillion capasiti swmp yn trwsio protocol siaradus. Mesurwch y ffurfweddiad a gefnogir ac a gymeradwywyd gan bolisi fel cyfan, a thriniwch „rhaid i lai o flychau fod yn gyflymach“ fel y rhagdybiaeth ydyw. Nid y cwestiwn defnyddiol yw a yw amgryptio’n costio rhywbeth, ond a yw’r gost yn ymddangos yn y mesuriad rydych chi wir yn poeni amdano.