Kërkesa që shfaqet kur nis një klient VPN është e lehtë të lexohet gabimisht. Nuk është fjalëkalimi i llogarisë VPN, nuk është fjalëkalimi i tunelit, dhe futja e saj nuk provon që lidhja është e sigurt. Ai hap një paraqitje të ruajtur të një çelësi privat, në mënyrë që klienti të mund të lexojë materialin e çelësit dhe ta përdorë për autentifikim. Gjithçka që ndodh pas kësaj është një pyetje tjetër.

Në praktikë përgjigja prishet në skaje: njerëzit supozojnë se fraza kalimi mbron tunelin që punon, ose se ndryshimi i saj revokon një kopje të çelësit që ka rrjedhur tashmë. Të dy supozimet dështojnë, dhe të dy dështojnë në atë mënyrë që lënë një kredencial të ekspozuar ndërsa operatori mendon se është trajtuar.

Një dialog, disa sekrete të ndryshme

Fraza e kalimit e një çelësi privat deshifron një skedar. Fjalëkalimi i llogarisë ju autentifikon në një shërbim. Fjalëkalimi i importit PKCS#12 deshifron një paketë që përmban një çelës dhe certifikatën e tij, dhe mund të mos jetë i njëjti varg si fraza e kalimit e vetë çelësit. Këto kërkesa mund të duken pothuajse identike, dhe hamendësimi se cili sekret shkon ku është mënyra se si çelësat përfundojnë të ngjitur në fushën e gabuar.

Kriptimi i vetë tunelit është gjëja e katërt. Kanali i të dhënave përdor çelësa sesioni të negociuar gjatë shtrëngimit të duarve; fraza e kalimit e çelësit privat nuk luan asnjë rol në mbrojtjen e paketave individuale. Nëse dikush mund të lexojë skedarin e çelësit, ai mund të përpiqet të hamendësojë frazën jashtë linje, por nëse mund të lexojë paketa, fraza është e parëndësishme.

Çfarë mbulon kriptimi në disk

Një çelës PEM i kriptuar vjen në dy forma, dhe kreu ju tregon cilën keni. Forma moderne PKCS#8 fillon me -----BEGIN ENCRYPTED PRIVATE KEY-----; forma e vjetër PEM, ende e zakonshme në konfigurimet e vjetra OpenVPN, fillon me -----BEGIN RSA PRIVATE KEY----- dhe mban Proc-Type: 4,ENCRYPTED dhe një rresht DEK-Info pikërisht poshtë tij. Skedari mban çelësin privat të kriptuar nën një çelës të nxjerrë nga fraza juaj e kalimit, zakonisht përmes një KDF të bazuar në fjalëkalim me një numër të caktuar përsëritjesh ose faktor pune. Dokumentacioni i OpenSSL pkey mbulon formatet dhe opsionet e frazës së kalimit që zbatohen gjatë leximit.

Nga kjo vijnë dy pasoja. Një frazë e dobët kalimi mund të sulmohet jashtë linje me shpejtësinë që lejon KDF, kështu që lejet e skedarit dhe aksesi në kopjet rezervë mbeten të rëndësishme edhe kur skedari është i kriptuar. Dhe një sulmues që merr vetëm skedarin pa frazën duhet të hamendësojë; ai që merr skedarin dhe frazën ka çelësin, pikërisht sikur të mos ishte kriptuar kurrë.

head -3 vpn.key
openssl pkey -in vpn.key -noout -pubout
openssl pkcs12 -in bundle.p12 -info -noout

head -3 tregon kreun dhe, në një skedar të vjetër, rreshtat Proc-Type dhe DEK-Info që provojnë kriptimin; një rresht i vetëm nuk është provë në asnjë drejtim. Rreshti pkey kërkon frazën e kalimit dhe shtyp vetëm gjysmën publike, gjë që provon se skedari dhe fraza funksionojnë pa ekspozuar çelësin privat. Mos përdorni -text për atë kontroll: ai shtyp komponentët privatë, privateExponent, prime1, prime2 dhe pjesën tjetër, dhe ai output nuk duhet ngjitur kurrë askund, as në një biletë, as në një bisedë, as në një regjistër. Komanda PKCS#12 gjithashtu ju tregon nëse paketa ka një fjalëkalim të veçantë MAC ose kriptimi, gjë që ia vlen ta dini përpara se t'ia jepni një kolegu.

Çfarë ndalon së mbrojturi pasi ngarkohet çelësi

Hapja është një ngjarje njëdrejtimëshe për atë proces. Klienti kërkon çelësin nga KDF, deshifron skedarin dhe e mban çelësin privat në memorie për sa kohë i nevojitet. Nga ai moment fraza e kalimit nuk mbron asgjë nga sesioni që punon: as memorien e procesit, as një dump kerneli, as një sesion korrigjimi të lidhur me klientin, as një kopje rezervë të makinës të marrë ndërsa çelësi ishte në përdorim.

Ky është i njëjti kufi si një çelës SSH me frazë kalimi, ose një kasafortë e hapur e një menaxheri fjalëkalimesh. Ai rrit koston e vjedhjes së skedarit në qetësi dhe nuk bën asgjë kundër malware që punon si përdoruesi juaj, një aplikacion i autorizuar që i kërkon klientit të nënshkruajë, ose një administrator që mund të lexojë memorie. Trajtojeni si një shtresë, jo si kontrolli që e bën një çelës të sigurt për t'u lënë rreth e rrotull.

Pse kërkesa vazhdon të kthehet

Një klient që pyet përsëri në çdo rilidhje nuk është domosdoshmërisht i prishur. Disa klientë e ruajnë frazën në cache për sesionin, të tjerë e ruajnë në zinxhirin e çelësave të OS, dhe të tjerë mund të drejtohen te një ndihmës që e furnizon, kështu që sjellja që merrni varet nga klienti dhe konfigurimi i tij, jo nga skedari i çelësit.

Nëse kërkesa e përsëritur është ankesa e vërtetë, shqyrtoni opsionet e cache dhe autentifikimit të klientit përpara se të hiqni kriptimin nga çelësi. Heqja e frazës e kthen një skedar të mbrojtur në një çelës teksti të thjeshtë, dhe rilidhja bëhet e qetë me koston e kontrollit të vetëm në qetësi që kishit. Një përgjigje më e mirë është zakonisht një ruajtës i mbështetur i kredencialeve me të njëjtat leje skedari që do të përdornit gjithsesi.

Humbja dhe ekspozimi nuk janë e njëjta riparim

Një frazë e humbur kalimi nuk mund të rikuperohet nga certifikata. Certifikata është material publik që lidh një emër me një çelës; nuk përmban asnjë rrugë kthimi te çelësi privat dhe asnjë aluzion për frazën. Opsionet praktike janë një kopje rezervë e autorizuar e çelësit, ose një identitet i ri i lëshuar përmes procesit normal të operatorit. Kushdo që ofron të 'rikuperojë' frazën po ofron ta hamendësojë atë.

Ekspozimi kërkon një përgjigje tjetër. Rikriptimi i të njëjtit çelës me një frazë të re kalimi e lë materialin e çelësit të pandryshuar, kështu që një kopje që tashmë është hapur diku tjetër vazhdon të punojë. Riparimi është të revokoni ose të zëvendësoni kredencialin: lëshoni një çelës dhe certifikatë të re, shpërndajini ato dhe tërhiqni të vjetrin te pala tjetër. Derisa kjo të ndodhë, ndryshimi i fjalëkalimit të skedarit është punë shtëpie, jo ndalim. Mbajeni skedarin e vjetër jashtë kopjeve rezervë vetëm pasi të konfirmohet se identiteti i ri punon, dhe shënoni cili numër serial ose gjurmë gishti e zëvendësoi atë.

Artikuj të ngjashëm