Demandu, kiun ĉifradon uzas VPN, kaj la respondo kutime venas kiel unu vorto: AES-256, aŭ ChaCha20, aŭ eble WireGuard. Tiu respondo nomas unu komponanton de unu tavolo, dum tio, kio vere protektas la konekton, estas aro da algoritmoj, kiuj plenumas kvar malsamajn rolojn. Konfuzi la komponanton kun la aranĝo estas la plej ofta eraro en tiuj konversacioj, kaj ĝi produktas komparojn, kiujn oni ne povas solvi.

Kvar taskoj en unu konekto

Amasa ĉifrado ŝanĝas klartekston en ĉifrotekston por la datumkanalo, kaj ĝia ŝlosilo estas derivata anstataŭ transdonata. Integreca protekto detektas ŝanĝon, kio estas aparta tasko eĉ kiam unu konstruaĵo faras ambaŭ. Ŝlosila starigo produktas la komunan trafikan materialon, kaj aŭtentigo de la kontraŭparto decidas, kiu estas ĉe la alia fino. Se mankas unu el ili, la konekto ne estas sekura, kiom ajn forta estas la restanta peco.

Kelkaj dezajnoj kunigas du rolojn en unu. AES-GCM kaj ChaCha20-Poly1305 estas aŭtentikigitaj ĉifraj konstruaĵoj, do konfideco kaj integreco venas kune; AES-CBC ne, kaj bezonas apartan mesaĝan aŭtentigan kodon kun propra ŝlosilo. Do legi proponon kiel sakon da sendependaj nombroj malĝuste legas tiujn, kiuj estis dezajnitaj kiel paroj.

La roloj ankaŭ kuŝas sur malsamaj tavoloj, kaj tial la sama vorto povas signifi malsamajn aferojn en du produktoj. Bloka ĉifro en ESP kaj bloka ĉifro en TLS estas la sama primitivo en malsamaj intertraktadoj kun malsamaj postuloj. Tial citi primitivon sen ĝia reĝimo kaj tavolo povas esti pli malbone ol citi nenion.

Kial ĉifra nomo preskaŭ diras nenion

Prenu la frazon AES-256 serioze por momento: ĝi identigas blokan ĉifron kaj ŝlosilan grandecon. Ĝi diras nenion pri la funkcia reĝimo, ĉu integreco estas provizita, kiel la ŝlosiloj estis starigitaj aŭ kiel la kontraŭparto estis aŭtentigita. Du produktoj povas ambaŭ reklami AES-256 kaj malsami en ĉio alia, inkluzive unu kun neaŭtentigita reĝimo kaj alia kun AEAD-reĝimo kaj moderna ŝlosilinterŝanĝo.

TLS 1.3 portis tiun apartigon en la normon, kio estas utila korekto por ĉiu, kiu lernis la pli malnovan vortaron. Ĝiaj ĉifraj aroj nomas nur la AEAD kaj la haketon, dum ŝlosilinterŝanĝaj grupoj kaj subskribaj algoritmoj estas intertraktataj kiel apartaj parametroj. Do la nomo de TLS 1.3-aro ne estas komparebla kun la nomo de TLS 1.2-aro sur egala bazo, kvankam ambaŭ aperas en la sama kampo de agorda dosiero. Reviziisto, kiu komparas la du ĉenojn rekte, tiras konkludon, kiun la protokolo ne subtenas. Legu ankaŭ la intertraktitan grupon kaj la subskribajn parametrojn, alie la komparo estas nekompleta.

WireGuard elektas la kontraŭan vojon kaj forigas intertraktadon preskaŭ tute: la protokolo fiksas difinitan algoritman aron, do du efektivigoj aŭ kunlaboras aŭ ne. Tio estas laŭleĝa dezajna elekto, kaj ĝi ankaŭ signifas, ke la demando, kiun aron WireGuard intertraktas, ne havas respondon indan je komparo. Se vi revizias ĝin, legu la specifon unufoje kaj poste reviziu la ŝlosilan traktadon ĉirkaŭ ĝi anstataŭ la intertraktadon.

La tavolo decidas la vortaron

IPsec-agordo intertraktas dufoje: IKE-propono por la regkanalo kaj ESP-transformo por la datumoj, kaj la du povas laŭleĝe malsami. Legi la unuan kaj supozi, ke ĝi priskribas la duan, estas ofta fonto de konfuzo dum revizio, ĉar la agorda dosiero mencias ambaŭ kaj la interesa estas la dua.

LayerWhat is negotiated thereWhat it does not cover
IKE proposalAlgorithms and groups for the control channel that builds the tunnelThe algorithms protecting the data itself
ESP transformEncryption and integrity for tunneled packetsPeer identity, which authentication already settled
TLS handshakeAEAD and hash, plus separately negotiated groups and signaturesRouting, authorization or retention policy
WireGuardNothing; the algorithm set is fixed by the protocolEverything above the cryptographic arrangement

Nomo havebla en unu biblioteko ne estas aŭtomate efektivigita por alia datuma vojo. Tial la aserto, ke nia produkto subtenas AES-256, estas pli malforta ol ĝi sonas, kaj tial interoperacia problemo kutime solviĝas per trovado de la konservata komunaĵo anstataŭ per ŝaltado de ĉiu malnova algoritmo ambaŭflanke.

La specifo de TLS 1.3 estas la plej klara publikigita ekzemplo de la apartigo, ĉar ĝi difinas la aron kiel paron kaj movas la reston al sia propra intertraktado. Iam tiu formo estas konata, la IPsec-propono kaj la unu fiksa WireGuard-aro legeblas kiel variantoj de la sama ideo.

Legu la intertraktitan rezulton, poste haltu

Agordita propono ne estas pruvo pri tio, kion du kontraŭpartoj elektis. La viva seanco portas la respondon, kaj ĉiu ĉefa efektivigo povas raporti ĝin sen kapti pakaĵojn.

openssl s_client -connect vpn.example.net:443 -brief
ipsec statusall
wg show

En la eligo legu la elektitajn algoritmojn anstataŭ la ofertitan liston. Se la respondo estas pli malforta ol la politiko intencis, la korekto apartenas al la propona agordo unuflanke, kaj malkongruo montriĝas en modernaj efektivigoj kutime kiel malsukcesa intertraktado anstataŭ kiel silenta malaltigo.

Poste memoru, kion la aro ne kovras. Itineroj, aplikaĵpermesoj, protokolado kaj konservado estas apartaj decidoj kun propra revizio, kaj kongrua kriptografia aranĝo diras nenion pri ili. La ĉifra diskuto indas, sed ĝi respondas pli mallarĝan demandon ol tiu, kiun plej multaj homoj fakte faras.

Tenu la vortaron preciza kaj la argumento mallongiĝas. Aro estas aro da roloj sur tavolo, ĉifro estas unu komponanto, kaj la intertraktita rezulto estas la sola afero, kiu priskribas la konekton, kiun vi efektive havas. Ĉio alia en la komparo estas ornamo.

Rilataj artikoloj