Pyetni se çfarë kriptimi përdor një VPN dhe përgjigja zakonisht vjen si një fjalë: AES-256, ose ChaCha20, ose ndoshta WireGuard. Ajo përgjigje emërton një komponent të një shtrese, ndërsa ajo që mbron vërtet lidhjen është një grup algoritmesh që plotësojnë katër role të ndryshme. Ngatërrimi i komponentit me rregullimin është gabimi më i shpeshtë në këto biseda dhe prodhon krahasime që nuk mund të zgjidhen.

Katër punë brenda një lidhjeje

Kriptimi masiv e kthen tekstin e qartë në tekst të shifruar për kanalin e të dhënave, dhe çelësi i tij nxirret në vend që të transmetohet. Mbrojtja e integritetit zbulon ndryshimin, që është punë më vete edhe kur një ndërtim bën të dyja. Vendosja e çelësave prodhon materialin e përbashkët të trafikut, dhe vërtetimi i palës tjetër vendos kush është në skajin tjetër. Nëse mungon ndonjëri, lidhja nuk është e sigurt, sado i fortë të jetë pjesa e mbetur.

Disa skema bashkojnë dy role në një. AES-GCM dhe ChaCha20-Poly1305 janë ndërtime kriptimi të vërtetuara, kështu që konfidencialiteti dhe integriteti vijnë bashkë; AES-CBC nuk është i tillë dhe kërkon një kod të veçantë vërtetimi mesazhi me çelësin e vet. Prandaj leximi i një propozimi si thes me numra të pavarur lexon gabimisht ata që janë projektuar si çifte.

Rolet qëndrojnë edhe në shtresa të ndryshme, prandaj e njëjta fjalë mund të thotë gjëra të ndryshme në dy produkte. Një shifër blloku brenda ESP dhe një shifër blloku brenda TLS janë e njëjta primitivë në negociata të ndryshme me kërkesa të ndryshme. Prandaj citimi i një primitive pa mënyrën dhe shtresën e saj mund të jetë më keq sesa të mos citosh asgjë.

Pse emri i një shifre nuk thotë pothuajse asgjë

Merreni seriozisht shprehjen AES-256 për një moment: ajo identifikon një shifër blloku dhe një madhësi çelësi. Nuk thotë asgjë për mënyrën e funksionimit, nëse ofrohet integritet, as si u vendosën çelësat ose si u vërtetua pala tjetër. Dy produkte mund të reklamojnë të dy AES-256 dhe të ndryshojnë në çdo gjë tjetër, duke përfshirë një që e çifton me një mënyrë të pavërtetuar dhe një tjetër që përdor një mënyrë AEAD me shkëmbim çelësash modern.

TLS 1.3 e solli këtë ndarje në standard, që është një korrigjim i dobishëm për këdo që ka mësuar fjalorin më të vjetër. Grupet e tij të shifrave emërtojnë vetëm AEAD-in dhe hash-in, ndërsa grupet e shkëmbimit të çelësave dhe algoritmet e nënshkrimit negociohen si parametra të veçantë. Prandaj emri i një grupi TLS 1.3 nuk është i krahasueshëm me emrin e një grupi TLS 1.2 në kushte të barabarta, edhe pse të dy shfaqen në të njëjtin fushë të një skedari konfigurimi. Një auditues që krahason dy vargjet drejtpërdrejt nxjerr një përfundim që protokolli nuk e mbështet. Lexoni edhe grupin e negociuar dhe parametrat e nënshkrimit, përndryshe krahasimi mbetet i paplotë.

WireGuard zgjedh rrugën e kundërt dhe e heq negociatën pothuajse plotësisht: protokolli përcakton një grup fiks algoritmesh, kështu që dy zbatime ose bashkëveprojnë ose jo. Ky është një zgjedhje e ligjshme projektimi, dhe do të thotë gjithashtu se pyetja se çfarë grupi negocion WireGuard nuk ka përgjigje që meriton krahasim. Nëse e auditoni, lexoni specifikimin një herë dhe më pas auditoni trajtimin e çelësave rreth tij në vend të negociatës.

Shtresa vendos fjalorin

Një vendosje IPsec negocion dy herë: një propozim IKE për kanalin e kontrollit dhe një transformim ESP për të dhënat, dhe të dyja mund të ndryshojnë në mënyrë të ligjshme. Leximi i të parit dhe supozimi se përshkruan të dytin është një burim i zakonshëm konfuzioni gjatë një auditimi, sepse skedari i konfigurimit përmend të dyja dhe ai interesant është i dyti.

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

Një emër i disponueshëm në një bibliotekë nuk zbatohet automatikisht për një rrugë tjetër të dhënash. Prandaj pohimi se produkti ynë mbështet AES-256 është më i dobët sesa tingëllon, dhe prandaj një problem ndërveprimi zgjidhet zakonisht duke gjetur prerjen e mirëmbajtur në vend që të aktivizohet çdo algoritëm i vjetër në të dyja anët.

Specifikimi i TLS 1.3 është shembulli i botuar më i qartë i ndarjes, sepse e përcakton grupin si çift dhe e zhvendos pjesën tjetër në negociatën e vet. Pasi kjo formë njihet, propozimi IPsec dhe grupi i vetëm fiks i WireGuard lexohen si variante të së njëjtës ide.

Lexoni rezultatin e negociuar, pastaj ndaloni

Një propozim i konfiguruar nuk është provë se çfarë zgjodhën dy palë. Sesioni i gjallë mban përgjigjen, dhe çdo zbatim i zakonshëm mund ta raportojë pa kapur paketa.

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

Në dalje lexoni algoritmet e zgjedhura në vend të listës së ofruar. Nëse përgjigja është më e dobët sesa synonte politika, korrigjimi i takon konfigurimit të propozimit në njërën anë, dhe një mospërputhje në zbatimet moderne shfaqet zakonisht si një negociatë e dështuar dhe jo si një ulje e heshtur.

Pastaj mbani mend çfarë nuk mbulon grupi. Rrugët, lejet e aplikacioneve, regjistrimi dhe mbajtja janë vendime të veçanta me rishikimin e tyre, dhe një rregullim kriptografik i përputhshëm nuk thotë asgjë për to. Diskutimi për shifrën ia vlen, por përgjigjet një pyetje më të ngushtë sesa ajo që shumica e njerëzve bëjnë në të vërtetë.

Mbani fjalorin e saktë dhe argumenti shkurtohet. Një grup është një tërësi rolesh në një shtresë, një shifër është një komponent, dhe rezultati i negociuar është e vetmja gjë që përshkruan lidhjen që keni vërtet. Çdo gjë tjetër në krahasim është zbukurim.

Artikuj të ngjashëm