Simetria vs. publikkleja ĉifrado en VPN: kion faras ĉiu
VPN aŭtentigas kunulojn per publikaj ŝlosiloj, poste ĉifras pakaĵojn per derivitaj sesiaj ŝlosiloj. Traktu atestilojn kaj trafikajn ŝlosilojn kiel malsamajn objektojn.
Homoj priskribas VPN kiel „uzantan publikklejan ĉifradon“ kaj poste imagas, ke ĉiu pakaĵo estas ŝlosata per la atestilo de la servilo. Tiu bildo malĝustas tiel, ke ĝi gravas, kiam vi legas agordan dosieron aŭ pakaĵkaptaĵon. La publikkleja duono de VPN temas pri pruvi, kiu estas la kunulo, kaj interkonsenti pri sekreta materialo; la simetria duono estas tio, kio efektive protektas la trafikon, pakaĵon post pakaĵo, dum la tuta vivo de la sesio.
La du duonoj havas malsamajn vivdaŭroj, malsamajn fiaskmanierojn kaj malsamajn aferojn, kiujn vi povas sekure publikigi. Post kiam vi disigas ilin, demandoj kiel „ĉu RSA 2048 estas pli malforta ol AES-128“ ĉesas konfuzi, ĉar ili neniam estis kompareblaj.
Tri operacioj, kiujn oni kunfandas
Publikkleja kriptografio estas ombrelo super almenaŭ tri apartaj operacioj. Subskribo pruvas, ke la posedanto de privata ŝlosilo aprobis difinitan mesaĝon. Ŝlosilkonsento ebligas al du kunuloj derivi komunan sekreton el valoroj, kiujn ili interŝanĝas publike. Publikkleja ĉifrado kaŝas datumojn sub la publika ŝlosilo de iu, tiel ke nur la privata ŝlosilo povas malfermi ilin.
VPN-manskluoj plejparte uzas la unuajn du. Atestilo ne estas ĉifra ŝlosilo; ĝi estas subskribita deklaro, kiu ligas nomon al publika ŝlosilo kaj ebligas al la alia flanko decidi, ĉu fidi la ŝlosilon, kiun ĝi ĵus ricevis. Ekzemple, la ŝlosilestablo de TLS 1.3 baziĝas sur (EC)DHE-ŝlosilkonsento plus atestilaj subskriboj, ne sur ĉifrado de la sesio per la publika ŝlosilo de la servilo.
Kion la manskluo efektive produktas
En moderna manskluo, ĉiu flanko generas efemeran ŝlosilparon, interŝanĝas la publikajn duonojn kaj komputas komunan sekreton, kiu neniam transiras la draton. Tiu sekreto poste pasas tra ŝlosilderiva funkcio por produkti apartajn ŝlosilojn por ĉiu direkto, plus la nonce-ojn kaj IV-materialon, kiujn la rikorda tavolo bezonas. WireGuard faras tion per sia Noise-bazita konstruaĵo; TLS 1.3 faras ĝin per HKDF super la mansklua transskribaĵo.
La longdaŭra legitimaĵo — atestilo kaj privata ŝlosilo, aŭ statika WireGuard-ŝlosilo — aŭtentigas tiun interŝanĝon. Ĝi subskribas aŭ miksiĝas en la transskribaĵon, por ke fremdulo ne povu fini la manskluon anstataŭ la kunulo. Post tio, la legitimaĵo ne faras laboron po pakaĵo. Se ĝi farus, ĉiu pakaĵo bezonus privatan ŝlosiloperacion, kaj okupata tunelo limiĝus per la plej malrapida operacio en la stako.
Du kromefikoj sekvas. Unue, la sesiaj ŝlosiloj estas freŝaj ĉiufoje, pro kio atakanto, kiu poste ŝtelas la longdaŭran ŝlosilon, ne povas malĉifri antaŭe registritajn sesiojn, kondiĉe ke la konsento estis efemera. Due, likita sesia ŝlosilo kompromitas unu sesion, ne la identecon.
Kial grandaj datumoj uzas simetriajn ŝlosilojn
Simetriaj ĉifroj bone traktas volumon: AES-GCM aŭ ChaCha20-Poly1305 prilaboras ĉiun pakaĵon per ŝlosilo jam en la memoro, aŭtentigas la kapon kaj pliigas nombrilon. La ricevanta flanko kontrolas la nonce-on kaj la aŭtentigan etikedon, kaj forĵetas ĉion, kio fiaskas aŭ ripetiĝas. Tio estas sufiĉe malmultekosta por kuri je linia rapido sur ordinara aparataro, kaj la sama konstruaĵo donas konfidencon kaj integrecon en unu paseo.
La konstruaĵo ankaŭ estas kie loĝas la plej multaj efektivigaj cimoj. Ripetiĝinta nonce en GCM rompas konfidencon kaj aŭtentikecon samtempe, do protokoloj derivas ŝlosilojn po direkto kaj tenas eksplicitan nombrilon aŭ epokon. Se vi legas pakaĵkaptaĵon kaj la longo de la ĉifroteksto kongruas kun la klarteksto plus fiksa superkosto, tio estas la simetria tavolo laboranta, ne publikkleja operacio po pakaĵo.
Vivdaŭroj, ŝlosilreŝanĝo kaj antaŭa sekreteco
Sesiaj ŝlosiloj estas destinitaj eksvalidiĝi. TLS 1.3 permesas mesaĝon KeyUpdate por ruli la trafikajn ŝlosilojn; WireGuard reŝanĝas sesion post agordita tempo aŭ mesaĝkvanto kaj tenas la malnovan mallonge por pakaĵoj survoje. OpenVPN renegocas la ŝlosilojn de sia datkanalo laŭ horaro, kun reneg-sec reganta la intervalon.
Neniu el tiu rotacio samas al renovigo de atestilo. Atestilo povas validi dum jaro, dum la sesiaj ŝlosiloj ŝanĝiĝas ĉiujn kelkajn minutojn, kaj atestilo povas esti anstataŭigita sen tuŝi la ŝlosilojn de la kuranta tunelo. Kiam vi planas eksvalidiĝon, demandu, kiun objekton vi rotacias; la respondo decidas, ĉu klientoj rekonektiĝos aŭ simple reŝanĝos ŝlosilojn.
Legi agordojn kaj diagnozojn sen miksi objektojn
Praktike, vi elektas kompletan protokolon kaj ĝiajn subtenatajn primitivojn, ne kunmetas vian propran. La --tls-crypt-ŝlosilo de OpenVPN protektas la regkanalon; la datkanalo uzas intertraktitajn simetriajn ĉifrojn. La PrivateKey kaj PublicKey rikordoj de WireGuard estas identeca materialo, dum ĝiaj transportaj ŝlosiloj estas derivitaj interne. Legi tiujn kampojn kiel la saman specon de sekreto kondukas al eraroj kiel alglui publikan ŝlosilon tie, kie privata apartenas.
Tenu publikan materialon aparte de la privata. Atestilo, publika WireGuard-ŝlosilo kaj fingrospuro estas sekuraj por dividi en bileto. Privata ŝlosilo, antaŭdividita ŝlosilo kaj eksportita sesia ŝlosilo ne estas. Kiam vi komparas fortojn, komparu ene de tipo: elipsa-kurba identigilo, RSA-modula grando kaj AES-ŝlosila grando mezuras malsamajn aferojn sub malsamaj supozoj. La TLS 1.3-specifikaĵo estas utila referenco por kiel la du tavoloj kongruas, eĉ kiam via tunelo ne estas TLS.