O rețea virtuală virtuală (VPN) criptează toate datele pe măsură ce călătorește între computer și un server VPN. În acest Ghid complet de criptare VPN, aruncăm o privire detaliată despre ce este criptarea și cum este utilizată în conexiunile VPN.


Poate cel mai important, vom explica gama de termeni de criptare folosiți de serviciile VPN. Sperăm că, după citirea acestui document, veți înțelege mai bine acest subiect complex și că veți putea evalua mai bine cererile de securitate formulate de furnizorii VPN.

Preliminarii

Dacă nu sunteți sigur ce este un VPN și ce se poate face pentru dvs., consultați VPN-urile noastre pentru Ghidul începătorului.

Scopul nostru este de a prezenta caracteristicile cheie ale criptării VPN în termeni cât mai simpli. Deși nu există scăpare, din faptul că criptarea este un subiect complex.

Dacă chiar și termenul de criptare determină ochii să înceapă să se îngrijească, dar totuși doriți să știți ce trebuie să căutați într-un serviciu VPN bun, puteți săriți direct la rezumate.

Ce este criptarea?

Începe cu inceputul," spuse regele, foarte grav, "și continuați până ajungeți la sfârșit: apoi opriți-vă.

Lewis Carroll, Alice în Țara Minunilor

Cea mai simplă analogie este că criptarea este o blocare. Dacă aveți cheia corectă, atunci blocarea este ușor de deschis. Dacă cineva nu are cheia corectă, dar dorește să acceseze conținutul unei cutii puternice (adică datele dvs.) protejate de blocarea respectivă, atunci poate încerca să rupă blocarea.

În același mod în care blocarea care securizează o boltă este mai puternică decât cea care asigură o valiză, o anumită criptare este mai puternică decât alte criptare.

Cele elementare

Când erai copil, ai jucat jocul în care ai creat un „mesaj secret” prin înlocuirea unei litere a mesajului cu alta? Înlocuirea a fost făcută după o formulă aleasă de dvs..

S-ar putea, de exemplu, să înlocuiți fiecare literă a mesajului original cu una din trei litere în spatele alfabetului. Dacă altcineva ar ști care este această formulă sau a fost capabil să o elaboreze, atunci vor putea citi „mesajul tău secret”.

În jargonul criptografic, ceea ce făceai era „criptarea” mesajului (datelor) conform unui algoritm matematic foarte simplu. Criptografii se referă la acest algoritm ca „cifru”. Pentru a-l decripta, aveți nevoie de cheie. Acesta este un parametru variabil care determină ieșirea finală a cifrului. Fără acest parametru, este imposibil să decriptați cifrul.

Dacă cineva dorește să citească un mesaj criptat, dar nu are cheia, atunci trebuie să încerce să „crape” cifrul. Când criptarea folosește o cifră simplă de înlocuire a literelor, cracarea este ușoară. Cu toate acestea, criptarea poate fi făcută mai sigură, făcând algoritmul matematic (cifrul) mai complex.

Puteți, de exemplu, să înlocuiți fiecare a treia literă a mesajului cu un număr corespunzător scrisorii.

Lungimea cheii de criptare

Criptarele computerizate moderne sunt algoritmi foarte complexi. Chiar cu ajutorul supercomputatorilor, acestea sunt foarte greu de fisurat, dacă nu chiar imposibil în toate scopurile practice. Cea mai crudă modalitate de a măsura puterea unui cifru este prin complexitatea algoritmului folosit pentru crearea acestuia.

Cu cât algoritmul este mai complex, cu atât cifrul este mai greu să crape folosind un atac de forță brută. Acest atac de formă foarte primitiv este cunoscut și ca o căutare exhaustivă a cheilor. Practic implică încercarea fiecărei combinații de numere posibile până când se găsește cheia corectă.

Calculatoarele efectuează toate calculele folosind numere binare: zerouri și altele. Complexitatea unui cifru depinde de mărimea cheii sale în biți - numărul brut al celor și zerourilor necesare pentru a-și exprima algoritmul, unde fiecare zero sau unul este reprezentat de un singur bit.

Aceasta este cunoscută drept lungimea cheii și reprezintă, de asemenea, fezabilitatea practică de a efectua cu succes un atac de forță brută asupra oricărui cifru dat.

Numărul de combinații posibile (și, prin urmare, dificultatea de a le forța brute) crește exponențial cu dimensiunea cheii. Folosind cifrul AES (vezi mai târziu):

Componențe de dimensiuni cheie

Pentru a pune acest lucru în perspectivă:

  • În 2011, cel mai rapid supercomputer din cuvânt a fost Fujitsu K. Acesta a fost capabil de o viteză maximă Rmax de 10,51 petaflops. Pe baza acestei cifre, ar fi nevoie de Fujitsu K 1,02 x 10 ^ 18 - aproximativ un miliard de miliarde de euro (un quintilion) - ani pentru a fisura o tastă AES pe 128 de biți (Advanced Encryption Standard) cu forța. Aceasta este mai veche decât vârsta universului (13,75 miliarde de ani).
  • Cel mai puternic supercomputer din lume acum (2017) este Sunway TaihuLight din China. Această bestie este capabilă de o viteză maximă de 93,02 petaflops. Acest lucru înseamnă că cel mai puternic computer din lume ar mai dura vreo 885 de sferturi de ani pentru a forța bruta o cheie AES pe 128 de biți.
  • Numărul de operații necesare forțării brute a unui cifru de 256 biți este 3,31 x 10 ^ 56. Aceasta este aproximativ egală cu numărul de atomi din univers!

Calculatoarele

În timp ce lungimea cheii de criptare se referă la cantitatea de numere brute implicate, cifrele sunt matematica - formulele sau algoritmii reali - utilizată pentru a efectua criptarea. Așa cum tocmai am văzut, forțarea brută a cifrărilor computerizate moderne este extrem de practic.

Punctele slabe (uneori deliberate) ale acestor algoritmi de criptare pot duce la ruperea criptării. Acest lucru se datorează faptului că ieșirea cifrului (prost proiectat) poate încă să releve o anumită structură din informațiile originale înainte de criptare. Aceasta creează un set redus de combinații posibile de încercat, ceea ce reduce efectiv lungimea efectivă a cheii.

Cifrul Blowfish, de exemplu, este vulnerabil la un atac care exploatează matematica din spatele problemei zilei de naștere în teoria probabilităților. Studiul punctelor slabe din algoritmii criptografici este cunoscut sub numele de criptoanaliză.

Lungimile cheii mai lungi compensează astfel de puncte slabe, deoarece acestea cresc foarte mult numărul de rezultate posibile.

În loc să atace cifrul în sine, un adversar poate ataca cheia în sine. Acest lucru poate afecta un anumit site sau un anumit produs software. Dar securitatea algoritmului de cifrare este încă intactă, iar alte sisteme care utilizează același algoritm, dar care au o generație sigură de chei, nu sunt afectate de pauză.

Lungimea cheii Cipher

Cât de puternică este o cifră depinde atât de matematica cifrului în sine, cât și de lungimea cheii sale, exprimată în biți. Din acest motiv, cifrele sunt de obicei descrise împreună cu lungimea cheii utilizate.

Deci, AES-256 (cifrul AES cu lungimea cheii de 256 biți) este de obicei considerat mai puternic decât AES-128. Rețineți că spun de obicei pentru că avem de-a face cu matematici foarte complexe aici (vezi notele mele despre AES mai târziu).

Notă Icon2 01 150X150

Este important să rețineți că singura lungime a cheii nu este un bun indicator al puterii cifrei. Este importantă combinația dintre lungimea cheii și cifrul. Ciprele utilizate pentru criptarea asimetrică, de exemplu, folosesc dimensiuni de cheie mult mai lungi decât cele utilizate pentru criptarea simetrică pentru a asigura o protecție echivalentă.

Comparația mărimii cheilor

Acest tabel este puțin învechit, deoarece nu ia în considerare atacurile mai noi care au fost descoperite pe RSA. De asemenea, merită menționat faptul că curba eliptică și variantele Diffie-Hellman ale RSA sunt mult mai puternice decât cele tradiționale. Dar să sperăm că ai ideea.

Notă Icon2 01 150X150

Un lucru de remarcat este că, cu cât lungimea cheii este mai mare, cu atât este mai mare calcul, deci mai multă putere de procesare necesară. Acest lucru afectează viteza cu care datele pot fi criptate și decriptate. Prin urmare, furnizorii VPN și altele asemenea trebuie să decidă cum să echilibreze cel mai bine securitatea și utilitatea practică atunci când aleg schemele de criptare.

Discutăm principalele cifre utilizate de diverse protocoale VPN puțin mai târziu, dar cele mai frecvente cifre pe care le veți întâlni probabil sunt Blowfish și AES. În plus, RSA este folosită pentru a cripta și decripta tastele unui cifru, iar SHA-1 sau SHA-2 este utilizată ca funcție hash pentru autentificarea datelor.

Criptare asimetricăCriptare asimetrică

Perfect secret înainte

Perfect Forward Secrecy (PFS) este, de asemenea, menționat ca folosind chei de criptare efemere sau doar Forward Secrecy (FS) de către cei incomodți cu utilizarea cuvântului „perfect”.

Cele mai moderne comunicări online sigure se bazează pe SSL / TLS. Este utilizat de site-urile web HTTPS și de protocolul OpenVPN. TLS (Transport Layer Security) este un protocol de criptare asimetric. Utilizarea unui cifru asimetric înseamnă că datele sunt securizate folosind o cheie publică, care este pusă la dispoziția tuturor. Acesta poate fi decriptat doar de către un destinatar destinat care deține cheia privată corectă.

Această cheie privată trebuie păstrată secretă. Dacă este furat sau fisurat de un adversar, atunci acel adversar poate intercepta și citi cu ușurință orice comunicare asigurată de acesta.

Din păcate, este obișnuit ca serverele sau chiar companii întregi să folosească o singură cheie de criptare privată pentru a securiza toate comunicațiile. De ce? Pentru că este ușor. Cu toate acestea, dacă această cheie este compromisă, un atacator poate accesa toate comunicațiile criptate cu aceasta.

Prin urmare, această cheie de criptare privată devine o „cheie principală” care poate fi folosită pentru a debloca toate comunicațiile cu un server sau o companie. Se știe că NSA a exploatat această slăbiciune pentru a colecta reams vaste de date presupuse sigure.

Soluția este Perfect Forward Secret. Acesta este un sistem prin care se generează o cheie de criptare privată nouă și unică pentru fiecare sesiune. Este o idee simplă, chiar dacă matematica de schimb Diffie-Hellman este complexă. Înseamnă că fiecare sesiune TLS are propriul set de chei. De aici termenul „chei efemere” - sunt folosite o dată și apoi dispar.

Prin urmare, nu există nicio „cheie principală” care să poată fi exploatată. Chiar dacă o sesiune este compromisă, doar sesiunea este compromisă - nu toate celelalte sesiuni pe care le are cineva cu serverul sau compania respectivă!

Deși neobișnuit, este chiar posibil să reîmprospătați tastele PFS într-o sesiune (de exemplu, la fiecare oră). Acest lucru limitează în continuare cantitatea de date care poate fi interceptată de un adversar, chiar dacă o cheie privată este compromisă.

Când am scris acest articol în urmă cu câțiva ani, utilizarea Perfect Forward Secrecy atât pentru site-urile HTTPS, cât și pentru conexiunile OpenVPN a fost extrem de rară. Din fericire, această situație s-a schimbat oarecum. Deși în niciun caz universal, utilizarea tastelor efemere a crescut foarte mult până târziu.

Protocoale de criptare VPN

Un protocol VPN este setul de instrucțiuni (mecanism) utilizat pentru a negocia o conexiune criptată sigură între două computere. O serie de astfel de protocoale VPN sunt frecvent acceptate de serviciile VPN comerciale. Cele mai notabile dintre acestea sunt PPTP, L2TP / IPSec, OpenVPN, SSTP și IKEv2.

Mă uit la fiecare dintre acestea de mai jos, dar OpenVPN este acum protocolul VPN standard al industriei utilizat de serviciile VPN comerciale - dintr-un motiv întemeiat. Este foarte sigur și poate fi utilizat pe aproape toate dispozitivele capabile de VPN. Prin urmare, voi cheltui cerneală digitală suplimentară discutând în detaliu OpenVPN.

PPTP

PROS

  • Client încorporat la aproape toate platformele
  • Foarte ușor de configurat

CONS

  • Foarte nesigur
  • Categoric compromis de ANS
  • Ușor de blocat

Ce este PPTP?

Este doar un protocol VPN și se bazează pe diverse metode de autentificare pentru a oferi securitate. Printre furnizorii VPN comerciali, acesta este aproape invariabil MS-CHAP v2. Protocolul de criptare (similar cu o cifrare standard) folosit de PPTP este Microsoft Point-to-Point Encryption (MPPE).

Protocolul de tunelare punct-la-punct (PPTP) a fost dezvoltat de un consorțiu fondat de Microsoft pentru crearea VPN prin rețelele de dial-up. Ca atare, PPTP a fost mult timp protocolul standard pentru rețelele VPN corporative.

PPTP este disponibil standard în aproape orice platformă și dispozitiv capabil de VPN. Este ușor de configurat, fără a fi nevoie să instalați software suplimentar. Acest lucru asigură că PPTP rămâne o alegere populară atât pentru VPN-urile de afaceri, cât și pentru serviciile VPN comerciale.

De asemenea, are avantajul că necesită o operațiune aeriană de calcul scăzută pentru a fi implementată ... deci este rapid!

Din păcate, PPTP nu este sigur. Deloc. Deși acum, de obicei, se găsește doar folosind chei de criptare pe 128 de biți, în anii de la prima asociere cu Windows 95 OSR2 în 1999, o serie de vulnerabilități de securitate au ieșit la iveală..

Cea mai gravă dintre acestea este posibilitatea autentificării MS-CHAP v2 necapsulate. Folosind această exploatare, PPTP a fost crăpat în două zile. Microsoft a aplicat defectele, dar a emis în sine o recomandare de a folosi L2TP / IPsec sau SSTP.

Nu ar trebui să surprindem că NSA aproape cu siguranță decriptează comunicațiile criptate PPTP ca standard. Și mai îngrijorător este faptul că ANS a colectat cantități mari de date mai vechi care au fost criptate înapoi atunci când PPTP a fost considerat sigur. Aproape sigur poate decripta și aceste date moștenite.

PPTP necesită atât portul TCP 1723 cât și protocolul GRE. Este ușor de firewall GRE, ceea ce face ușor să blocați conexiunile PPTP.

L2TP / IPSec

  • De obicei considerat sigur (dar vezi contra)
  • Ușor de configurat
  • Disponibil pe toate platformele moderne
  • Mai repede decât OpenVPN (poate)
  • Poate fi compromis de ANS (neprobat)
  • Probabil că slăbitul a fost slăbit în mod deliberat de către ANS (neprobat)
  • Poate lupta cu firewall-uri restrictive
  • Adesea implementat prost

Ce este L2TP și IPsec?

Layer 2 Tunneling Protocol (L2TP) este încorporat în aproape toate sistemele de operare moderne și dispozitivele capabile de VPN. Prin urmare, este la fel de ușor și rapid de configurat ca PPTP.

Pe cont propriu, L2TP nu oferă nicio criptare sau confidențialitate traficului care trece prin acesta, de aceea este de obicei implementat cu suita de autentificare IPsec (L2TP / IPsec). Chiar dacă un furnizor se referă doar la L2TP sau IPsec (așa cum fac unii), acesta înseamnă, cu siguranță, L2TP / IPSec.

L2TP / IPsec poate utiliza cifrele 3DES sau AES. 3DES este vulnerabil la atacurile de coliziune Meet-in-the-Middle și Sweet32, așa că în practică este puțin probabil să îl întâlniți în aceste zile.

Pot apărea probleme deoarece protocolul L2TP / IPSec folosește doar un număr limitat de porturi. Acest lucru poate provoca complicații atunci când este utilizat în spatele firewall-urilor NAT. Această dependență de porturile fixe face și protocolul destul de ușor de blocat.

L2TP / IPsec încapsulează datele de două ori, ceea ce încetinește lucrurile. Acest lucru este compensat de faptul că criptarea / decriptarea are loc în kernel și L2TP / IPsec permite multi-threading. OpenVPN nu. Rezultatul este că L2TP / IPsec este teoretic mai rapid decât OpenVPN.

L2TP / IPsec folosind cifrul AES nu are vulnerabilități cunoscute majore, iar dacă este implementat corect poate fi în continuare sigur. Cu toate acestea, revelațiile lui Edward Snowden au arătat cu tărie că standardul este compromis de ANS.

John Gilmore este specialist în securitate și membru fondator al Electronic Frontier Foundation. El explică, este probabil că IPSec a fost slăbit în mod deliberat în faza de proiectare.

O problemă, probabil, mult mai mare este că multe servicii VPN implementează L2TP / IPsec slab. Mai exact, folosesc chei pre-partajate (PSK-uri) care pot fi descărcate liber de pe site-urile lor web.

Aceste PSK-uri sunt utilizate doar pentru autentificarea conexiunii, astfel încât, chiar dacă sunt compromise, datele rămân criptate în siguranță folosind AES. Un atacator ar putea, totuși, să utilizeze cheia pre-partajată pentru a înlocui un server VPN. Acesta ar putea apoi să audieze traficul criptat sau chiar să injecteze date rău intenționate în conexiune.

Notă Icon2 01 150X150

rezumat

În ciuda unor probleme în mare măsură teoretice, L2TP / IPsec este în general considerat a fi sigur dacă nu sunt utilizate cheile pre-partajate publicate în mod deschis. Compatibilitatea sa integrată cu numeroase dispozitive o poate face o alegere foarte bună.

PROS

  • Foarte sigur
  • Complet integrat în Windows
  • Suport Microsoft
  • Poate ocoli majoritatea firewall-urilor

CONS

  • Standard proprietar deținut de Microsoft

Ce este SSTP?

SSTP este un tip de criptare care folosește SSL 3.0 și oferă avantaje similare OpenVPN. Aceasta include capacitatea de a utiliza portul TCP 443 pentru a sustrage cenzura. Integrarea strânsă cu Windows poate face mai ușor de utilizat și mai stabil decât OpenVPN pe acea platformă.

Spre deosebire de OpenVPN, însă, SSTP este un standard proprietar deținut de Microsoft. Aceasta înseamnă că codul nu este deschis controlului public. Istoricul Microsoft de a coopera cu NSA și speculațiile cu privire la posibile spate încorporate în sistemul de operare Windows, nu inspiră încredere în standard.

Secure Socket Tunneling Protocol (SSTP) a fost introdus de Microsoft în Windows Vista SP1. Deși acum este disponibil pentru Linux, și chiar pentru Mac OS X, este încă o platformă bazată doar pe Windows.

O altă problemă este că SSL v3.0 este vulnerabil la ceea ce este cunoscut sub numele de atac POODLE și, prin urmare, acum nu este recomandat. Dacă această problemă afectează și SSTP este neclară, dar din nou, cu greu inspiră încredere.

Notă Icon2 01 150X150

rezumat

Pe hârtie, SSTP oferă multe dintre avantajele OpenVPN. Fiind un standard Microsoft proprietar, totuși, îi subminează prost credibilitatea.

IKEv2

PROS

  • Rapid
  • Stabil - mai ales atunci când comutați rețea sau reconectați după o conexiune de internet pierdută
  • Secur (dacă este utilizat AES)
  • Ușor de configurat (cel puțin la sfârșitul utilizatorului!)
  • Protocolul este acceptat pe dispozitivele Blackberry

CONS

  • Nu este acceptat pe mai multe platforme
  • Implementarea IKEv2 la capătul serverului este dificilă, ceea ce poate duce la apariția problemelor
  • Aveți încredere doar în implementările de tip open source

Ce este IKEv2?

Internet Key Exchange versiunea 2 (IKEv2) a fost dezvoltat în comun de Microsoft și Cisco. Este suportat nativ de dispozitivele Windows 7+, Blackberry și iOS. Acesta este motivul pentru care o mulțime de servicii VPN iOS folosesc IKEv2 în loc de OpenVPN.

Versiunile compatibile dezvoltate independent de IKEv2 au fost dezvoltate pentru Linux și alte sisteme de operare. Multe dintre aceste iterații sunt open source. Ca întotdeauna, sugerez să te preocupe de tot ce este dezvoltat de Microsoft. Versiunile open source ale IKEv2, cu toate acestea, nu ar trebui să aibă probleme.

IKEv2 face parte din suita de protocoale IPsec. Se asigură că traficul este securizat prin înmânarea atributului SA (Security Association) în cadrul IPsec și se îmbunătățește IKEv1 în multe feluri. IKEv2 este astfel uneori denumit IKEv2 / IPsec. IKEv1, pe de altă parte, este adesea denumit IPsec.

VPN Connect dublat de Microsoft, IKEv2 este deosebit de bun la restabilirea automată a unei conexiuni VPN atunci când utilizatorii își pierd temporar conexiunile la internet. De exemplu, la intrarea sau la ieșirea unui tunel de tren.

Datorită sprijinului său pentru protocolul Mobility and Multihoming (MOBIKE), IKEv2 este, de asemenea, foarte rezistent la schimbarea rețelelor. Acest lucru face ca IKEv2 să fie o alegere excelentă pentru utilizatorii de telefoane celulare care trec regulat între conexiunile WiFi și conexiunile mobile sau care se mișcă regulat între hotspoturi.

IKEv2 nu este la fel de comun ca L2TP / IPSec, deoarece este acceptat pe mai puține platforme (deși această situație se schimbă rapid). Cu toate acestea, este considerat cel puțin la fel de bun ca, dacă nu este superior L2TP / IPsec în ceea ce privește securitatea, performanța (viteza), stabilitatea și capacitatea de a stabili (și de a restabili) o conexiune.

OpenVPN

PROS

  • Foarte sigur (dacă se utilizează PFS)
  • Foarte configurabil
  • Sursa deschisa
  • Poate ocoli firewall-urile
  • Are nevoie de software terță parte

Ce este OpenVPN?

OpenVPN este o tehnologie open-source care folosește biblioteca OpenSSL și protocoalele TLS, împreună cu un amalgam de alte tehnologii, pentru a oferi o soluție VPN puternică și fiabilă. Acum este protocolul VPN standard al industriei utilizat de serviciile VPN comerciale - dintr-un motiv întemeiat.

Unul dintre punctele forte ale OpenVPN este faptul că este foarte configurabil. Este suportat nativ de nicio platformă, dar este disponibil pe majoritatea platformelor prin intermediul unui software terț. Clienții și aplicațiile personalizate OpenVPN sunt adesea disponibile de la furnizori VPN individuali, dar codul sursă deschisă principală este dezvoltat de proiectul OpenVPN.

Mulți dezvoltatori și contribuitori la proiectul OpenVPN lucrează de asemenea pentru OpenVPN Technologies Inc., care supraveghează proiectul.

OpenVPN rulează cel mai bine pe un port UDP, dar poate fi setat să ruleze pe orice port (a se vedea notele mai târziu). Aceasta include portul TCP 443, care este utilizat de traficul HTTPS obișnuit. Rularea OpenVPN prin portul TCP 443 face dificilă comunicarea conexiunilor VPN, în afară de tipul de conexiuni sigure utilizate de bănci, servicii de e-mail și comercianți online. Acest lucru face ca OpenVPN să fie foarte greu de blocat.

Un alt avantaj al OpenVPN este că biblioteca OpenSSL folosită pentru furnizarea criptării acceptă o serie de cifre. În practică, însă, numai Blowfish și AES sunt utilizate în mod obișnuit de serviciile VPN comerciale. Discut despre acestea mai jos.

Având în vedere informațiile obținute de la Edward Snowden, se pare că atâta timp cât se folosește Perfect Forward Secret, atunci OpenVPN nu a fost compromis sau slăbit de NSA.

Un audit recent publicat în mod public al OpenVPN este acum finalizat, la fel și un alt finanțat de Accesul la internet privat. Nu au fost descoperite vulnerabilități grave care afectează confidențialitatea utilizatorilor. Au fost descoperite câteva vulnerabilități care au făcut ca serverele OpenVPN să fie potențial deschise unui atac de denializare a serviciului (DoS), dar acestea au fost patchate în OpenVPN 2.4.2..

OpenVPN este de obicei considerat cel mai sigur protocol VPN disponibil și este larg acceptat în întreaga industrie VPN. Prin urmare, voi discuta despre criptarea OpenVPN în detaliu mai jos.

Criptare OpenVPN

Criptarea OpenVPN cuprinde două părți - criptarea canalului de date și criptarea canalului de control. Criptarea canalului de date este utilizată pentru securizarea datelor. Controlul criptarea canalului asigură conexiunea dintre computer și serverul VPN.

Orice apărare este la fel de puternică ca punctul cel mai slab, așa că este nefericit faptul că unii furnizori VPN folosesc o criptare mult mai puternică pe un canal decât pe celălalt (de obicei mai puternic pe canalul de control).

Nu este neobișnuit, de exemplu, să vezi un serviciu VPN anunțat ca folosind un cip AES-256 cu criptare RSA-4096 de strângere de mână și autentificare cu hașă SHA-512. Acest lucru sună foarte impresionant până când vă dați seama că se referă doar la criptarea canalului de control și nu la canalul de date, care este criptat cu doar Blowfish-128 cu autentificare hash SHA1. Acest lucru se realizează numai din motive de marketing.

Dacă se utilizează diferite criptare pe canalele de date și control, atunci adevărata rezistență a conexiunii OpenVPN este măsurată de suita de criptare mai slabă folosită.

Pentru o securitate maximă, atât criptarea canalelor de date, cât și a datelor trebuie să fie cât mai puternice. Cu toate acestea, cu cât este mai puternică criptarea folosită, cu atât conexiunea va fi mai lentă, motiv pentru care unii furnizori scrimește pe criptarea canalului de date.

Criptarea canalului de control se numește, de asemenea, criptare TLS, deoarece TLS este tehnologia folosită pentru a negocia în siguranță conexiunea dintre computer și serverul VPN. Aceasta este aceeași tehnologie folosită de browserul dvs. pentru a negocia în siguranță o conexiune la un site web criptat HTTPS.

  • Criptarea canalului de control constă dintr-un cifru, criptare strângere de mână și autentificare hash.
  • Criptarea canalului de date constă dintr-o autentificare cu cifrare și hash.

Furnizorii VPN utilizează adesea același nivel de criptare atât pentru control, cât și pentru canalele de date. În recenziile noastre și în tabelele „semafor”, le enumerăm separat dacă sunt utilizate valori diferite pentru fiecare canal.

Dacă afirmăm că un furnizor folosește un cifru AES-256, aceasta înseamnă că este folosit un cript AES-256 atât pentru canalele de control, cât și pentru cele de date. *

(* Acest lucru ar trebui să fie cazul, cel puțin. Unele recenzii anterioare nu corespund orientărilor noastre actuale, dar acestea ar trebui să fie reduse treptat în timp).

cifrurile

OpenVPN poate utiliza o serie de cifre cu cheie simetrică pentru a securiza date atât pe canalele de control cât și pe cele de date. În practică, singurele utilizate de furnizorii VPN comerciali sunt Blowfish, AES și (foarte rar) Camellia.

Blowfish

Blowfish-128 este cifrul implicit folosit de OpenVPN. În teorie, dimensiunile cheie pot varia de la 32 biți până la 448 biți, dar Blowfish-128 este singura versiune pe care este probabil să o întâlniți în sălbăticie.

Pescărușul este adesea considerat suficient de sigur în scopuri casual, dar are puncte slabe cunoscute. Acesta a fost creat de renumitul criptograf Bruce Schneier, care în 2007 a spus: „Cu toate acestea, mă miră că este încă utilizat”.

În opinia noastră, utilizarea Blowfish-128 este acceptabilă ca a doua linie de apărare pe canalul de date OpenVPN. Totuși, acesta nu trebuie considerat sigur atunci când este utilizat pe canalul de control.

AES

AES a devenit cifră de cheie simetrică „standard de aur” la nivelul întregii industrii VPN. AES este certificat NIST și este considerat aproape universal foarte sigur. AES-256 este utilizat de guvernul SUA pentru protejarea datelor „sigure”.

Faptul că are o dimensiune a blocului pe 128 de biți în loc de dimensiunea blocului pe 64 de biți a lui Blowfish înseamnă, de asemenea, că poate gestiona fișiere mai mari (peste 4 GB) mai bine decât Blowfish. În plus, setul de instrucțiuni AES beneficiază de accelerarea hardware integrată pe majoritatea platformelor.

AES este de obicei disponibil în dimensiuni de chei pe 128 de biți și 256 biți (există și AES de 192 biți). AES-128 rămâne sigur în măsura în care oricine știe. Având în vedere ceea ce știm acum despre amploarea atacului ANS asupra standardelor de criptare, cu toate acestea, majoritatea experților sunt de acord că AES-256 oferă o marjă de securitate mai mare.

Doar pentru a ne asigura că nimeni nu va găsi acest subiect prea ușor, cu toate acestea, există o anumită dezbatere pe această temă. AES-128 are un program cheie mai puternic decât AES-256, ceea ce îi determină pe unii experți foarte importanți să susțină că AES-128 este de fapt mai puternic decât AES-256.

Consensul general este însă că AES-256 este mai puternic.

camelia

Camellia este un cip sigur modern și este cel puțin la fel de sigur și rapid ca AES. Este disponibil în dimensiuni cheie de 128, 192 și 256 biți. Datorită certificării NIST și utilizării sale de către guvernul american, cu toate acestea, AES este aproape întotdeauna utilizat în locul Camelliei.

Dar după cum discut mai jos, există motive să nu aveți încredere în cifrele certificate NIST. Faptul că Camellia este o cifră care nu este NIST este principalul motiv pentru a o alege peste AES. Cu toate acestea, această opțiune este disponibilă doar rar.

De remarcat, de asemenea, că Camellia nu este aproape la fel de bine testată pentru slăbiciune ca AES.

Criptarea strângerii de mână

Pentru a negocia în siguranță o conexiune între dispozitivul dvs. și un server VPN, OpenVPN utilizează o strângere de mână TLS. Aceasta permite clientului OpenVPN și serverului VPN să stabilească cheile secrete cu care comunică.

Pentru a proteja această strângere de mână, TLS utilizează de obicei criptosistemul cu cheie publică RSA. Acesta este un algoritm de criptare și semnătură digitală utilizat pentru identificarea certificatelor TLS / SSL. În schimb, poate utiliza, de asemenea, un schimb de chei Diffie-Hellman sau ECDH.

RSA

RSA este un sistem de criptare asimetric - o cheie publică este utilizată pentru criptarea datelor, dar o altă cheie privată este utilizată pentru a decripta. A fost baza pentru securitatea pe internet în ultimii 20 de ani.

Acum este bine stabilit că RSA cu o lungime cheie de 1024 de biți (RSA-1024) sau mai puțin nu este sigur, și aproape sigur a fost fisurat de către ANS. Prin urmare, a fost o mișcare concertată între companiile de internet pentru a migra departe de RSA-1024.

Din păcate, încă găsim că unele servicii VPN continuă să folosească RSA-1024 pentru a proteja strângerile de mână. Acest lucru nu este bun.

RSA-2048 și o versiune mai mare este încă considerată sigură. Pe cont propriu, RSA nu asigură Perfect Forward Secret (PFS). Totuși, acest lucru poate fi pus în aplicare prin includerea unui schimb de chei Diffie-Hellman (ECDH) Diffie-Hellman (DH) sau curbă eliptică (ECDH).

În acest caz, rezistența cheii DH sau ECDH nu contează, deoarece este utilizată doar pentru a oferi secretul perfect înainte. Conexiunea este securizată folosind RSA.

Deoarece poate provoca confuzie, voi remarca, de asemenea, că criptosistemul RSA nu are nimic de-a face cu firma tehnologică americană RSA Security LLC dezgrațată. Această companie a slăbit în mod intenționat produsele sale de criptare BSAFE-pilot, după ce a fost mituită de 10 milioane de dolari de către NSA.

Diffie-Hellman și ECDH

O alternativă (rivală) de criptare a strângerii de mână care este uneori folosită de OpenVPN este schimbul de chei criptografice Diffie-Hellman (DH). Aceasta are de obicei o lungime de cheie de 2048-biți sau 4096-biți. Rețineți că ar trebui evitat ceva mai puțin decât DH-2048 din cauza susceptibilității la atacul logjam.

Principalul avantaj al unei strângeri de mână Diffie-Hellman față de RSA este faptul că oferă în mod natural secretul perfect înainte. După cum sa menționat deja, doar adăugarea unui schimb de chei DH la o strângere de mână RSA atinge un final similar.

Diffie-Hellman a provocat controverse uriașe cu privire la reutilizarea unui set limitat de numere prime. Acest lucru îl face vulnerabil la a fi crăpat de un adversar puternic, cum ar fi NSA. Prin urmare, Diffie-Hellman nu prevede criptarea sigură a strângerii de mână. Cu toate acestea, este bine atunci când este utilizat ca parte a unei suită de criptare RSA.

Curba eliptică Diffie-Hellman (ECDH) este o formă mai nouă de criptografie care nu este vulnerabilă la acest atac. Acest lucru se datorează faptului că utilizează proprietățile unui anumit tip de curbă algebrică în loc de numere prime mari pentru criptarea conexiunilor.

ECDH poate fi utilizat ca parte a unei strângeri de mână RSA pentru a oferi Perfect Forward Secret, sau poate cripta în siguranță o strângere de mână pe cont propriu (cu o semnătură ECDSA). Aceasta oferă și PFS.

Lungimea cheii ECDH începe de la 384 biți. Acest lucru este considerat sigur, dar atunci când este utilizat singur pentru a asigura o strângere de mână TLS, cu atât mai mult cu atât mai bine (în ceea ce privește securitatea, oricum).

Autentificare SHA Hash

Acest lucru este, de asemenea, denumit autentificare de date sau cod de autentificare a mesajelor hash (HMAC).

Algoritmul securizat Hash (SHA) este o funcție de hash criptografică folosită (printre altele) pentru autentificarea datelor și conexiunilor SSL / TLS. Aceasta include conexiunile OpenVPN.

Creează o amprentă unică a unui certificat TLS valid, care poate fi validat de orice client OpenVPN. Chiar și cea mai mică schimbare este detectabilă. Dacă certificatul este modificat, acesta va fi imediat detectat și conexiunea va fi refuzată.

Acest lucru este important în prevenirea unui atac Man-in-the-middle (MitM), unde un adversar încearcă să abată conexiunea OpenVPN la unul dintre serverele proprii în loc de furnizorul VPN. Ar putea face acest lucru, de exemplu, prin hackingul routerului.

Dacă un adversar poate sparge hașa certificatului TLS autentic al furnizorului dvs., acesta poate inversa hașia pentru a crea un certificat falsificat. Programul dvs. Open VPN ar autentifica conexiunea ca autentică.

Este SHA securizat?

Când este folosit pentru a proteja site-urile HTTPS, SHA-1 este stricat. Acest lucru se știe de ceva timp. Site-urile SHA-1 pot fi găsite în continuare, dar sunt eliminate treptat. Majoritatea browserelor vor emite acum un avertisment când încercați să vă conectați la un site web securizat cu SHA-1.

Funcțiile de hash SHA-2 și SHA-3 sunt acum recomandate și sunt sigure. SHA-2 include SHA-256, SHA-384 și SHA-512. In orice caz…

OpenVPN folosește doar SHA pentru HMAC. Nu cred că este util să trecem la prea multe detalii aici, dar autentificarea hash SHA face parte din algoritmul HMAC. Atacarea HMAC încorporată cu SHA-1 este mult mai dificilă decât atacarea funcției de hash SHA-1 în sine.

Cu alte cuvinte, HMAC SHA-1, folosit de OpenVPN, este considerat sigur și există o dovadă matematică în acest sens. Desigur, HMAC SHA-2 și HMAC SHA-3 sunt și mai sigure! Într-adevăr, auditul recent OpenVPN recunoaște că HMAC SHA-1 este sigur, dar recomandă trecerea la HMAC SHA-2 sau HMAC SHA-3.

notițe

NIST

AES, RSA, SHA-1 și SHA-2 au fost dezvoltate și / sau certificate de Institutul Național de Standarde și Tehnologie din SUA (NIST). Acesta este un organism care, prin admitere, lucrează îndeaproape cu ANS în dezvoltarea cifrelor sale.

Având în vedere ceea ce știm acum despre eforturile sistematice ale ANS pentru slăbirea sau integrarea în aer liber a standardelor internaționale de criptare, există toate motivele pentru a pune sub semnul întrebării integritatea algoritmilor NIST..

Desigur, NIST respinge cu tărie aceste afirmații:

„NIST nu ar slăbi în mod intenționat un standard criptografic.”

De asemenea, a invitat participarea publicului la o serie de viitoare standarde de criptare propuse, într-o acțiune menită să consolideze încrederea publicului.

The New York Times, însă, a acuzat ANS că eludează standardele de criptare aprobate de NIST, fie prin introducerea unor părți din spate nedetectabile, fie prin inversarea procesului de dezvoltare publică pentru a slăbi algoritmii.

Această neîncredere a fost sporită și mai mult atunci când RSA Security (o divizie a EMC) le-a spus clienților în mod privat să înceteze să folosească un algoritm de criptare care, probabil, conține un defect conceput de NSA. Acest algoritm a fost, de asemenea, aprobat de NIST.

Mai mult, Dual_EC_DRBG (Generator de bituri aleatorii aleatorului curbului eliptic Dual_lipic) este un standard de criptare conceput de NIST. Se știe că este nesigur de ani buni.

În 2006, Universitatea de Tehnologie Eindhoven din Olanda a remarcat că un atac împotriva acesteia a fost destul de ușor de lansat pe „un computer obișnuit”. Inginerii Microsoft au semnat, de asemenea, o suspectă backdoor în algoritm..

În ciuda acestor preocupări, unde conduce NIST, industria urmează. Microsoft, Cisco, Symantec și RSA includ algoritmul în bibliotecile criptografice ale produsului lor. Acest lucru este în mare parte, deoarece respectarea standardelor NIST este o condiție necesară pentru obținerea contractelor guvernamentale americane.

Standardele criptografice certificate NIST sunt destul de omniprezente la nivel mondial, în toate domeniile industriei și afacerilor care se bazează pe confidențialitate. Acest lucru face ca toată situația să fie mai degrabă rece.

Poate tocmai pentru că se bazează atât de mult pe aceste standarde, experții în criptografie nu au dorit să facă față problemei.

AES-CBC vs AES-GCM

Până de curând, singurul cifru AES pe care probabil că l-ai întâlnit în lumea VPN a fost AES-CBC (înlănțuirea blocului de cifre). Aceasta se referă la modul de criptare bloc, un subiect complex care nu merită să intri aici. Deși teoretic CBC poate avea anumite vulnerabilități, consensul general este că CBC este sigur. CBC este, într-adevăr, recomandat în manualul OpenVPN.

OpenVPN acceptă acum și AES-GCM (Galios / Counter Mode).

  • GCM asigură autentificarea, eliminând nevoia unei funcții de hashing HMAC SHA.
  • De asemenea, este puțin mai rapid decât CBC, deoarece folosește accelerația hardware (prin filetarea în mai multe nuclee de procesor).

AES-CBC rămâne cel mai frecvent mod de utilizare generală, dar acum începem să întâlnim AES-GCM "în sălbăticie." Având în vedere avantajele GCM, această tendință este probabil să continue. Din perspectivă criptografică, Tho9ugh, atât AES-CBC, cât și AES-GCM sunt foarte sigure.

OpenVPN UDP vs. OpenVPN TCP

OpenVPN poate rula TCP (Transmission Control Protocol) sau UDP (User Datagram Protocol).

  • TCP = fiabil. Ori de câte ori un computer trimite un pachet de rețea folosind TCP, așteaptă confirmarea sosirii pachetului înainte de a trimite următorul pachet. Dacă nu se primește nicio confirmare, acesta va retrimite pachetul. Aceasta este cunoscută sub numele de corectarea erorilor. Există „livrare garantată” a tuturor datelor, dar poate fi destul de lent.
  • UDP = rapid. Utilizând UDP, nu se efectuează o astfel de corecție a erorilor. Pachetele sunt pur și simplu trimise și primite fără recunoștințe sau încercări. Acest lucru face ca UDP să fie mult mai rapid decât TCP, dar mai puțin fiabil.

Dacă vi se oferă opțiunea, vă sugerez să utilizați protocolul UDP mai rapid dacă nu aveți probleme de conectare. Aceasta este strategia implicită adoptată de majoritatea furnizorilor VPN.

Învingeți cenzura cu OpenVPN pe portul TCP 443

Unul dintre avantajele mari ale OpenVPN este că poate fi condus peste orice port, inclusiv portul TCP 443. Acesta este portul folosit de HTTPS, protocolul criptat care securizează toate site-urile web sigure..

Fără HTTPS, nicio formă de comerț online, cum ar fi cumpărăturile sau serviciile bancare, nu ar fi posibilă. Prin urmare, este foarte rar ca acest port să fie blocat.

Ca bonus, traficul VPN pe portul TCP 443 poate fi dirijat în criptarea TLS în același mod în care este folosit de HTTPS. Acest lucru face mult mai dificil de descoperit folosind tehnici avansate de inspecție a pachetelor profunde. Prin urmare, portul TCP 443 este portul favorizat pentru sustragerea blocurilor VPN.

Mulți furnizori VPN oferă posibilitatea de a schimba numărul de port folosit de OpenVPN folosind software-ul personalizat.

Chiar dacă a ta nu, mulți furnizori VPN acceptă de fapt OpenVPN folosind portul TCP 443 la nivel de server. Puteți trece la acesta cu o simplă editare a fișierului dvs. de configurare OpenVPN (.ovpn). Prin urmare, merită să întrebați furnizorul dumneavoastră VPN despre acest lucru.

De remarcat este faptul că inginerilor de rețea nu le place această tactică, deoarece TCP față de TCP este foarte ineficient. Totuși, atunci când vine vorba de înfrângerea cenzurii, funcționează deseori.

SSTP folosește implicit portul TCP 443.

rezumate

Protocoale VPN

  • PPTP este foarte nesigur și trebuie evitat. Deși ușurința de configurare și compatibilitatea multiplă platformă sunt atractive, L2TP / IPsec are aceleași avantaje și este mult mai sigur.
  • L2TP / IPSec este o soluție VPN bună pentru utilizare non-critică. Acest lucru este valabil mai ales pe dispozitivele vechi care nu acceptă OpenVPN. Acesta a fost, însă, puternic compromis de ANS.
  • SSTP oferă majoritatea avantajelor OpenVPN, dar este în primul rând doar un protocol Windows. Acest lucru înseamnă că este mai bine integrat în sistemul de operare, dar este slab acceptat de furnizorii VPN datorită acestei limitări. În plus, natura sa proprie și faptul că Microsoft a fost creat de mine înseamnă că eu, pentru unul, nu am încredere în el.
  • IKEv2 este un protocol foarte bun (sigur și rapid). Utilizatorii de telefonie mobilă, în special, îl pot prefera chiar pe OpenVPN, datorită capacității îmbunătățite de a se reconecta atunci când o conexiune la internet este întreruptă. Pentru utilizatorii de Blackberry, este aproape singura opțiune disponibilă. Utilizați versiuni open-source acolo unde este posibil.
  • OpenVPN este protocolul VPN recomandat în majoritatea circumstanțelor. Este sursa rapidă, fiabilă, sigură și deschisă. Nu are, în sine, dezavantaje reale, dar pentru a fi cu adevărat sigur, este important să fie implementat bine. Acest lucru înseamnă o criptare puternică cu secretul perfect înainte.

Criptare OpenVPN

Când vine vorba de criptare, diavolul se află în detalii. Este comun să vedem că furnizorii de VPN spun că folosesc criptarea AES OpenVPN „ultra-puternică de 256 biți”, dar acest lucru nu ne spune foarte mult. AES-256 este într-adevăr un cifru puternic, dar dacă alte aspecte ale suitei de criptare utilizate sunt slabe, datele dvs. nu vor fi sigure.

  • Cifru - acest lucru vă protejează datele efective. AES-256 este acum standardul industriei și este recomandat.
  • Strângere de mână - acest lucru vă asigură conexiunea la serverul VPN. RSA-2048 + sau ECDH-384 + sunt sigure. Este importantă strângerile de mână RSA-1024 și Diffie-Hellman nu.
  • Autentificare Hash - creează o amprentă unică, care este utilizată pentru validarea datelor și a certificatelor TLS (adică pentru a verifica dacă serverul la care vă conectați este într-adevăr cel la care credeți că vă conectați). HMAC SHA-1 este absolut bine, dar HMAC SHA-2 (SHA-256, SHA-384 și SHA-512) și HMAC SHA-3 sunt și mai sigure! Rețineți că autentificarea hash nu este necesară dacă se utilizează cifrul AES-GCM.
  • Perfect secret înainte (PFS) - aceasta asigură crearea de noi chei de criptare pentru fiecare sesiune. OpenVPN nu trebuie considerat sigur decât dacă PFS este implementat. Acest lucru se poate face fie prin includerea unui schimb de chei Diffie-Hellman sau ECDH într-o strângere de mână RSA, fie a unei strângeri de mână DH sau ECDH.
  • Criptarea este la fel de sigură ca punctul cel mai slab. Aceasta înseamnă că setările de criptare ar trebui să fie puternice atât pe canalele de date cât și pe cele de control.
  • Utilizarea lungimilor mai mari de biți pentru cifre și taste este aproape întotdeauna mai sigură, dar acest lucru are un cost în viteză.

OpenVPN va negocia cifre între client și server după bunul plac. Dacă nu sunt definiți parametri foarte specifici, OpenVPN poate fi implicit la setări slabe. Cel puțin, OpenVPN va efectua implicit cifrarea Blowfish-128, strângerea de mână RSA-1024 fără PFS și autentificarea HHAC SHA-1.

Concluzie

Sperăm că acum veți înțelege mai bine ce înseamnă o conexiune VPN sigură. Când vine vorba de configurarea corectă a unui VPN, cu toate acestea, criptarea este doar jumătate din poveste. Cealaltă jumătate este asigurarea că niciun trafic nu intră sau nu lasă computerul în afara conexiunii VPN.

Pentru a afla mai multe despre acest lucru, vă rugăm să consultați Ghidul nostru complet de scurgeri IP.

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me