Pse AES-256 nuk përshkruan një grup kriptimi VPN
Një grup plotëson katër role: kriptim masiv, integritet, vendosje çelësash dhe vërtetim i palës tjetër. Emri i një shifre mbulon vetëm njërin prej tyre, në një shtresë.
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.
| Layer | What is negotiated there | What it does not cover |
|---|---|---|
| IKE proposal | Algorithms and groups for the control channel that builds the tunnel | The algorithms protecting the data itself |
| ESP transform | Encryption and integrity for tunneled packets | Peer identity, which authentication already settled |
| TLS handshake | AEAD and hash, plus separately negotiated groups and signatures | Routing, authorization or retention policy |
| WireGuard | Nothing; the algorithm set is fixed by the protocol | Everything 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.