OpenVPN EC vs ED: hvers vegna heitunum fylgir enginn styrkleikastigi
EC, ED, ECDHE og auth svara ólíkum spurningum. Raðaðu OpenVPN prófíl eftir því verki sem hvert heiti vinnur áður en þú berð eitthvað saman eða breytir.
Setja ec, ed, ecdh, ecdsa, auth og TLS-dulritunarlista hlið við hlið í eitt prófíl og skráin fer að líta út eins og styrkstilla með sex stöðum. En það er hún ekki. Hvert heiti svarar annarri spurningu, og tveir prófílar sem eru ólíkir í einu þeirra eru ekki endilega sterkari eða veikari hvort en annað. Að raða heitunum eftir því verki sem þau vinna tekur um fimm mínútur og kemur í veg fyrir flestar þær slæmu breytingar sem fólk gerir á stillingu sem virkar.
Röðunin hér fyrir neðan byrjar á ruglingnum sjálfum og færist svo út á við að þeim hlutum prófílsins sem ráða í raun hvað verndar umferðina þína. Hver kafli tekur eina rangtúlkun í einu og sýnir hverju heitið er í raun tengt.
Tveir stafir, tvær ólíkar spurningar
Parið sem veldur mestum deilum er EC og ED, og deilan gerir yfirleitt ráð fyrir að þau séu keppinautar um svarið við einni spurningu. Þau eru ekki einu sinni á sama ás. EC lýsir stærðfræðifjölskyldu: dulritun á sporbaugslínum, þar sem öryggið kemur frá erfiðleikum stakrar logaritmu á línu frekar en í stórum endanlegum reiti.
ED lýsir línulögun innan þeirrar fjölskyldu. Twisted Edwards línur eru framsetning sem er valin vegna hraða og vegna viðnáms gegn nokkrum innleiðingarvillum, og Ed25519 er heitið sem fólk á yfirleitt við. Línan er ekki keppinautur dulritunar á sporbaugslínum; hún er ein leið til að skrifa sporbaugslínu. Að lesa ED sem "nýrri og sterkari EC" er fyrsta ranga beygjan, og allt sem á eftir kemur er yfirleitt rangt í sömu átt.
Undirritun og skipti eru aðskilin verk
Þegar búið er að leysa fjölskylduspurninguna skiptast heiturnar sem eftir eru í tvo dálka sem koma aldrei í stað hvors annars. Einn dálkurinn undirritar, hinn semur um sameiginlega leyndarmál.
| Name in the profile | Job it does | What it is not |
|---|---|---|
ecdsa | Signature scheme using elliptic-curve keys | Not a key-exchange method |
eddsa, Ed25519 | Signature scheme for twisted Edwards curves | Not interchangeable with ECDSA |
ecdh, X25519 | Ephemeral key agreement | Not a signature and not a cipher |
auth | HMAC digest for packet authentication | Not the data cipher |
Bæði EdDSA og ECDSA undirrita, en þau eru ólík kerfi með ólíkum lyklaskrám, svo skírteini sem gefið er út fyrir annað er ekki nothæft sem hitt. EdDSA er skilgreint fyrir lítinn hóp lína; P-256 er ekki ein þeirra, og þess vegna er P-256 skírteini sannreynt með ECDSA og aldrei með Ed25519.
Skiptadálkurinn hefur enga samsvarandi aðferð sem heitir EdDH. Skammvinn samkomulag á Curve25519 lykli er X25519, og það er ECDH með tiltekinni línu, nákvæmlega eins og með P-256. Ed25519 merkir strangt tekið undirritunarkerfið, þótt heitið sé notað lauslega um skiptin þar sem línurnar tvær eru skyldar: Edwards formið sem notað er til undirritunar og Montgomery formið sem notað er fyrir X25519 lýsa sama undirliggjandi hópnum.
Hvers vegna EC-prófíll hefur enga dh skrá
dh skrá inniheldur fyrirfram búnar færibreytur fyrir Diffie-Hellman í endanlegum reiti, og þær færibreytur eru til vegna þess að stór frumtala og myndandi verða að koma einhvers staðar frá. Skipti á sporbaugslínu þurfa þær ekki: nefnda línan er færibreytasettið, og báðir aðilar þekkja það nú þegar. Þetta er öll ástæðan fyrir því að EC-prófíll getur sleppt fyrirmælunum.
Tvær aðstæður framleiða enn dh línu í prófíl sem annars lítur nútímalegur út. Sú fyrsta er annar hlustandi eða eldri jafningi sem semur í raun um hópa í endanlegum reiti. Sú seinni er afgangstexti sem afritaður var úr sniðmáti frá RSA-tímabilinu og aldrei fjarlægður. Prófíll sem nefnir línu fyrir skiptin og hleður samt 2048 bita dh skrá er ekki öruggari fyrir það; hann ber ónotaðan hlut.
TLS 1.3 fjarlægði lyklaskiptin úr heitinu
Berðu saman TLS_AES_256_GCM_SHA384 og TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384 og styttra heitið virðist vera lækkun. Þetta er endurnefning, og ástæðan er skipulagsleg: TLS 1.3 fjarlægði kyrrstætt RSA og Diffie-Hellman lyklaskipti í endanlegum reiti, svo skammvinn skipti á sporbaugslínu eru eini valkosturinn sem eftir stendur án PSK. Að nefna þau í hverju setti myndi endurtaka sömu staðreynd tug sinnum.
Skírteinistegundin hvarf úr heitinu af skyldri ástæðu. Í 1.3 sannar skírteinið undirskrift handabningsins, ekki lyklasamkomulagið, svo það velur ekki lengur settið. Þess vegna er sérstakur dulritunarlisti fyrir 1.3 í stillingunni: settin voru endurnefnd og endurskipulögð, ekki veikt.
Ein afleiðing er þess virði að segja hreint út. ECDHE er lyklaskiptareiknirit og aldrei dulritun. Sett sem er lýst sem "sporbaugslínu" segir eitthvað um hvernig jafningjarnir tveir komust að sameiginlegum lykli, og ekkert um hvað dulritar svo hyrninguna.
auth sannar pakka, ekki hyrningu
Fyrirmælin auth velja HMAC-þembu sem sannar pakkana, og sögulegt sjálfgefið gildi hennar er SHA1. Með dulritun gagna sem er ekki AEAD reiknar OpenVPN þembuna yfir dulritaða textann og bætir henni við, fyrirkomulag dulrita-svo-MAC sem gerir hagræðingu á fyllingunni óhagkvæma.
Goðsögnin hér er að það herði göngin að hækka auth í SHA512. Það eykur ekki styrk dulritunarinnar, og ef samningsbundna gagnadulritunin er AEAD-stilling eins og AES-256-GCM er þembunni alls ekki beitt á gagnapakka. GCM-merkimiðinn sannar þá nú þegar, og auth gildið er eftir fyrir HMAC stjórnrásarinnar og fyrir hverja dulritun án AEAD sem enn er notuð.
Fyrirmælin skipta því máli, en þau skipta máli á þrengri stað en staðsetning þeirra í skránni gefur til kynna. Að athuga hvaða dulritun var í raun samin segir þér hvort hún eigi yfirleitt við.
Lestu prófílinn eftir dálki, ekki eftir röð
Þrjár spurningar aðskilja lögin skýrt, og hver þeirra er svarað af öðrum hluta samningsbundinnar setu. Hvaða dulritun verndar hyrninguna? Hvaða merki eða þemba ábyrgist hvern pakka, og þarf dulritunin sem er í notkun yfirleitt eina slíka? Hvers skírteini lokaði handabningnum, og er stjórnrásin að auki varin með tls-auth eða tls-crypt?
Ekkert í EC- eða ED-merkinu leysir neitt af þessum þremur, og heiti setts eitt og sér leysir ekkert þeirra heldur. Samningsbundna niðurstaðan er eina sönnunin, svo lestu hana í stað þess að álykta styrk út frá orðaforða:
openssl x509 -in client.crt -noout -text | grep -E 'Signature Algorithm|Public Key Algorithm'
grep -i 'control channel' /var/log/openvpn.log
Fyrsta skipunin segir þér hvaða undirritunarkerfi skírteinið þitt notar í raun, og það er eina áreiðanlega leiðin til að vita hvort þú keyrir ECDSA eða Ed25519. Önnur sýnir stjórnrásarlínuna sem biðlarinn skráði fyrir setuna, þar á meðal TLS-útgáfuna og settið sem hann lenti á. Ef ekki er hægt að réttlæta breytingu á prófíl með öðru þessara tveggja úttaka er hún líklega breyting á heiti en ekki á eiginleika.