OpenVPN vs IKEv2 vs PPTP vs L2TP/IPSec vs SSTP – ghid final pentru criptarea VPN

o rețea privată virtuală (VPN) criptează toate datele în timp ce se deplasează între computer și un server VPN. În acest ghid complet de criptare VPN, aruncăm o privire detaliată asupra a ceea ce este criptarea și a modului în care 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 ghid, veți avea o mai bună înțelegere a acestui subiect complex și că veți putea evalua mai bine revendicările de securitate făcute de furnizorii VPN.

Preliminarii

dacă nu sunteți sigur ce este un VPN și ce 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 posibil. Deși nu există nici o scăpare, din faptul că criptarea este un subiect complex.

dacă chiar și termenul de criptare face ca ochii să înceapă să treacă, dar totuși doriți să știți la ce să aveți grijă într-un serviciu VPN bun, puteți sări direct la rezumate folosind cuprinsul.

Ce Este Criptarea?

„începe de la început”, a spus regele, foarte grav, „și du-te până când ajunge la sfârșitul anului: apoi opri.”

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 unui strongbox (adică datele dvs.) protejat de acea blocare, atunci poate încerca să spargă blocarea.

în același mod în care încuietoarea care asigură un seif bancar este mai puternică decât cea care asigură o valiză, unele criptări sunt mai puternice decât alte criptări.

dacă doriți un VPN cu cea mai puternică criptare, consultați lista noastră de VPN-uri cele mai sigure pentru mai multe informații.

elementele de bază

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

s-ar putea, de exemplu, să fi înlocuit fiecare literă a mesajului original cu una cu trei litere în spatele ei în alfabet. Dacă altcineva ar ști ce este această formulă sau ar putea să o rezolve, atunci ar putea să vă citească „mesajul secret”.”

în jargonul criptografic, ceea ce făceai era „criptarea” mesajului (datelor) conform unui algoritm matematic foarte simplu. Criptografii se referă la această formulă ca la un „cifru.”Pentru a-l decripta, ai 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ă „spargă” cifrul. În cazul în care criptarea utilizează un simplu cifru de substituție scrisoare, cracare este ușor. Criptarea poate fi făcută mai sigură, totuși, făcând algoritmul matematic (cifrul) mai complex.

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

lungimea cheii de criptare

cifrurile computerizate moderne sunt algoritmi foarte complexi. Chiar și cu ajutorul supercomputerelor, acestea sunt foarte greu de spart, dacă nu chiar imposibil pentru toate scopurile practice. Cel mai crud mod de a măsura puterea unui cifru este prin complexitatea algoritmului folosit pentru a-l crea.

cu cât algoritmul este mai complex, cu atât cifrul este mai greu de spart folosind ceea ce numim un atac de forță brută.

un atac de forță brută dacă este o formă foarte primitivă de atac (cunoscută și sub numele de căutare exhaustivă a cheilor), aceasta implică practic î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 dimensiunea cheii sale în biți – numărul brut de unu și zerouri necesare pentru a-și exprima algoritmul, unde fiecare zero sau unul este reprezentat de un singur bit.

aceasta este cunoscută sub numele de lungimea cheii și reprezintă, de asemenea, fezabilitatea practică a efectuării cu succes a unui atac de forță brută asupra oricărui cifru dat.

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

Dimensiune cheie Cominations

pentru a pune acest lucru în perspectivă:

  • în 2011, cel mai rapid supercomputer din word 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 – în jur de un miliard de miliarde (un quintillion) – ani pentru a sparge o cheie AES (Advanced Encryption Standard) de 128 de biți prin forță. 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ă fiară este capabilă de o viteză maximă de 93,02 petaflops. Aceasta înseamnă că cel mai puternic computer din lume ar dura încă aproximativ 885 de cvadrilioane de ani pentru a forța brută o cheie AES de 128 de biți.
  • numărul de operații necesare pentru a forța brută un cifru de 256 biți este de 3,31 x 10^56. Acest lucru este aproximativ egal cu numărul de atomi din univers!

cifruri computerizate

în timp ce lungimea cheii de criptare se referă la cantitatea de numere brute implicate, cifrurile sunt matematica – formulele sau algoritmii reali – utilizați pentru a efectua criptarea. După cum tocmai am văzut, forțarea brută a cifrurilor moderne de calculator este extrem de impracticabilă.

punctele slabe (uneori deliberate) ale acestor algoritmi de cifrare pot duce la ruperea criptării. Acest lucru se datorează faptului că ieșirea cifrului (prost proiectat) poate dezvălui încă o structură din informațiile originale înainte de criptare. Acest lucru 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 ale algoritmilor criptografici este cunoscut sub numele de criptoanaliză.

lungimile cheie mai lungi compensează astfel de puncte slabe, deoarece 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 au o generație sigură de chei, nu sunt afectate de pauză.

lungimea cheii cifrate

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

deci AES-256 (cifrul AES cu o lungime a 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 matematică foarte complexă aici (a se vedea notele mele despre AES mai târziu).

notă Icon2 01 150x150

este important să rețineți că numai lungimea cheii nu este un bun indicator al puterii unui cifru. Este combinația dintre lungimea cheii și cifrul care contează. Cifrurile utilizate pentru criptarea asimetrică, de exemplu, utilizează dimensiuni de cheie mult mai lungi decât cele utilizate pentru criptarea simetrică pentru a oferi o protecție echivalentă.

comparația dimensiunii cheii

acest tabel este puțin depășit, deoarece nu ia în considerare atacurile mai noi care au fost descoperite pe RSA. De asemenea, este demn de remarcat faptul că curba eliptică și variantele Diffie-Hellman ale RSA sunt mult mai puternice decât cele tradiționale. Dar, sperăm, veți obține ideea.

notă Icon2 01 150x150

un lucru de remarcat este faptul că mai mare lungimea cheie, calculul mai implicate, astfel încât mai mult puterea de procesare necesară. Acest lucru afectează viteza cu care datele pot fi criptate și decriptate. Prin urmare, furnizorii de VPN și altele asemenea trebuie să decidă cum să echilibreze cel mai bine securitatea vs.utilitatea practică atunci când aleg schemele de criptare. Există unii furnizori VPN care au reușit să atingă bine acest echilibru fin. Pentru mai multe informații, consultați ghidul nostru VPN rapid.

discutăm principalele cifre utilizate de diferite 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 utilizat pentru a cripta și decripta cheile unui cifru, iar SHA-1 sau SHA-2 este utilizat ca funcție hash pentru autentificarea datelor.

criptare asimetricăcriptare asimetrică

Perfect Forward Secret

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

cea mai modernă comunicare online securizată se bazează pe SSL/TLS. Este utilizat de site-urile 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. Cu toate acestea, poate fi decriptat numai de către un destinatar care deține cheia privată corectă.

această cheie privată trebuie păstrată secretă. Dacă este furat sau spart de un adversar, atunci acel adversar poate intercepta și citi cu ușurință orice comunicații securizate de acesta.

din păcate, este obișnuit ca serverele sau chiar companiile întregi să utilizeze o singură cheie de criptare privată pentru a asigura toate comunicațiile. De ce? Pentru că e ușor. Cu toate acestea, dacă acea cheie este compromisă, atunci un atacator poate accesa toate comunicațiile criptate cu aceasta.

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

soluția este secretul perfect înainte. 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ă. Aceasta înseamnă că fiecare sesiune TLS are propriul set de chei. Prin urmare, termenul „chei efemere” – ele 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 acea sesiune este compromisă – nu toate celelalte sesiuni pe care le are cineva cu acel server sau companie!

deși mai puțin frecvente, este chiar posibil pentru a actualiza cheile PFS într-o sesiune (de exemplu, la fiecare oră). Acest lucru limitează în continuare cantitatea de date care pot fi interceptate de un adversar, chiar dacă o cheie privată este compromisă.

când am scris acest articol pe această temă acum câțiva ani, utilizarea Secretului Perfect Forward atât pentru site-urile HTTPS, cât și pentru conexiunile OpenVPN au fost extrem de rare. Din fericire, această situație sa schimbat oarecum. Deși în nici un caz universal, utilizarea cheilor efemere a crescut foarte mult în ultima vreme.

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 acceptate în mod obișnuit 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 pentru industrie utilizat de serviciile VPN comerciale – pentru un motiv bun. 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

Pro

  • Client construit în doar despre toate platformele
  • foarte ușor de configurat

contra

  • foarte nesigur
  • cu siguranță compromisă de NSA
  • ușor de blocat

ce este PPTP?

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

Point-to-Point Tunneling Protocol (PPTP) a fost dezvoltat de un consorțiu fondat de Microsoft pentru crearea VPN prin rețele dial-up. Ca atare, PPTP a fost mult timp protocolul standard pentru rețelele VPN corporative.

PPTP este disponibil standard pe aproape fiecare 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 de a necesita o cheltuială de calcul scăzută pentru implementare… deci este rapid!

din păcate, PPTP nu este sigur. Deloc. Deși acum se găsește de obicei doar folosind chei de criptare pe 128 de biți, în anii de când a fost livrat pentru prima dată cu Windows 95 OSR2 în 1999, au apărut o serie de vulnerabilități de securitate.

cea mai gravă dintre acestea este posibilitatea autentificării MS-CHAP v2 ne-încapsulate. Folosind acest exploit, PPTP a fost spart în termen de două zile. Microsoft a remediat defectul, dar a emis el însuși o recomandare de a utiliza în schimb L2TP/IPsec sau SSTP.

nu ar trebui să fie o surpriză faptul că NSA aproape sigur decriptează comunicațiile criptate PPTP ca standard. Și mai îngrijorător este faptul că NSA a colectat cantități mari de date mai vechi care au fost criptate 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 îl face ușor pentru a bloca conexiunile PPTP.

L2TP / IPsec

Pro

  • de obicei considerat sigur
  • ușor de configurat
  • disponibil pe toate platformele moderne
  • mai rapid decât OpenVPN (poate)

contra

  • poate fi compromisă de către NSA (nedovedit)
  • probabil slăbit în mod deliberat de către NSA (nedovedit)
  • se poate lupta cu firewall-uri restrictive
  • adesea puse în aplicare prost

ce este L2TP și IPsec?

Layer 2 Tunneling Protocol (L2TP) este construit în aproape toate sistemele de operare moderne și dispozitive 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 el, deci este de obicei implementat cu IPsec authentication suite (L2TP/IPsec). Chiar dacă un furnizor se referă doar la L2TP sau IPsec (așa cum fac unii), aproape sigur înseamnă de fapt L2TP/IPSec.

L2TP/IPsec poate utiliza fie cifrurile 3DES, fie AES. 3DES este vulnerabil la atacurile de coliziune Meet-in-the-middle și Sweet32, deci în practică este puțin probabil să o întâlniți în aceste zile.

pot apărea probleme deoarece protocolul L2TP/IPSec utilizează 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, de asemenea, 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 majore cunoscute, și dacă este implementat în mod corespunzător poate fi în continuare sigur. Cu toate acestea, dezvăluirile lui Edward Snowden au sugerat puternic că standardul este compromis de NSA.

John Gilmore este specialist în securitate și membru fondator al Electronic Frontier Foundation. El explică, Este probabil ca IPSec să fi fost slăbit în mod deliberat în timpul fazei sale de proiectare.

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

aceste PSK-uri sunt utilizate numai pentru autentificarea conexiunii, astfel încât, chiar dacă sunt compromise, datele rămân criptate în siguranță folosind AES. Cu toate acestea, un atacator ar putea utiliza cheia pre-partajată pentru a se identifica cu un server VPN. Ar putea apoi să asculte traficul criptat sau chiar să injecteze date rău intenționate în conexiune.

notă Icon2 01 150x150

rezumat

în ciuda unor probleme în mare parte teoretice, L2TP/IPsec este în general considerată ca fiind sigură dacă nu sunt utilizate cheile pre-partajate publicate în mod deschis. Compatibilitatea sa încorporată cu multe dispozitive o poate face o alegere foarte bună.

SSTP

Pro

  • foarte sigur
  • complet integrat în Windows
  • suport Microsoft
  • poate ocoli cele mai multe firewall-uri

contra

  • standard proprietar deținut de Microsoft

ce este SSTP?

SSTP este un tip de criptare care utilizează SSL 3.0 și oferă avantaje similare cu OpenVPN. Aceasta include capacitatea de a utiliza portul TCP 443 pentru a se sustrage cenzurii. 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, totuși, SSTP este un standard proprietar deținut de Microsoft. Aceasta înseamnă că codul nu este deschis controlului public. Istoria Microsoft de a coopera cu NSA și speculațiile cu privire la posibilele backdoor-uri î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 este acum disponibil pentru VPN-urile Linux și chiar Pentru Mac OS X, este încă în primul rând o platformă Numai Pentru Windows.

o altă problemă este că SSL v3.0 este vulnerabil la ceea ce este cunoscut sub numele de atac pudel, și acum, prin urmare, nu este recomandat. Nu este clar dacă această problemă afectează și SSTP, 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, subminează grav credibilitatea acestuia.

IKEv2

Pro

  • rapid
  • stabil – mai ales atunci când comutarea de rețea sau reconectarea după o conexiune la internet pierdut
  • Secure (dacă este utilizat AES)
  • ușor de configurat (cel puțin la user-end!)
  • protocolul este acceptat pe dispozitivele Blackberry

contra

  • nu este acceptat pe multe platforme
  • implementarea IKEv2 la sfârșitul serverului este dificilă, ceea ce ar putea duce la probleme în curs de dezvoltare
  • numai încredere implementări open source

ce este IKEv2?

Internet Key Exchange versiunea 2 (IKEv2) a fost dezvoltat în comun de Microsoft și Cisco. Este acceptat 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.

versiuni 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, vă sugerez să fiți atenți la orice dezvoltat de Microsoft. Cu toate acestea, versiunile open source ale IKEv2 nu ar trebui să aibă probleme.

IKEv2 face parte din suita de protocol IPsec. Se asigură că traficul este sigur prin predarea atributului SA (Security Association) în IPsec și se îmbunătățește pe IKEv1 în multe feluri. IKEv2 este astfel uneori denumit IKEv2 / IPsec. IKEv1, pe de altă parte, este adesea menționată pur și simplu ca IPsec.

conexiune VPN 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 ieșirea dintr-un tunel de tren.

datorită suportului său pentru protocolul de mobilitate și 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 mobile care comută în mod regulat între WiFi-ul de acasă și conexiunile mobile sau care se deplasează în mod regulat între hotspot-uri.

IKEv2 nu este la fel de comun ca L2TP/IPSec, deoarece este acceptat pe mai multe platforme mai puține (deși această situație se schimbă rapid). Cu toate acestea, este considerat cel puțin la fel de bun ca, dacă nu 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

Pro

  • foarte sigur (dacă se utilizează PFS)
  • foarte configurabil
  • Open-source
  • poate ocoli firewall-uri
  • are nevoie de software terță parte

ce este OpenVPN?

OpenVPN este o tehnologie open-source care utilizează 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 din industrie utilizat de serviciile VPN comerciale – dintr-un motiv întemeiat.

unul dintre punctele forte ale OpenVPN este că este extrem de configurabil. Este acceptat nativ de nicio platformă, dar este disponibil pe majoritatea platformelor prin intermediul software-ului terț. Clienții și aplicațiile OpenVPN personalizate sunt adesea disponibile de la furnizori VPN individuali, dar codul sursă deschis de bază este dezvoltat de Proiectul OpenVPN.

mulți dezvoltatori și contribuitori la proiectul OpenVPN lucrează și 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 (Vezi 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ă diferențierea conexiunilor VPN în afară de tipul de conexiuni sigure utilizate de bănci, servicii de e-mail și comercianți cu amănuntul online. Acest lucru face ca OpenVPN să fie foarte greu de blocat.

un alt avantaj al OpenVPN este că biblioteca OpenSSL utilizată pentru a furniza criptare acceptă un număr de cifre. În practică, însă, numai Blowfish și AES sunt utilizate în mod obișnuit de serviciile VPN comerciale. Discut despre acestea mai jos.

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

un audit crowdsourced recent al OpenVPN este acum complet, la fel ca și altul finanțat de accesul privat la Internet. 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 Denial of Service (DoS), dar acestea au fost patch-uri în OpenVPN 2.4.2.

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

criptare OpenVPN

criptare OpenVPN cuprinde două părți – criptare canal de date și criptare canal de control. Criptarea canalului de date este utilizată pentru a vă asigura datele. Criptarea canalului de Control asigură conexiunea dintre computer și serverul VPN.

orice apărare este la fel de puternică ca punctul său cel mai slab, deci este regretabil 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 promovat ca folosind un cifru AES-256 cu criptare RSA-4096 handshake și autentificare hash SHA-512. Acest lucru sună foarte impresionant până când îți dai seama că se referă doar la criptarea canalului de control și nu la canalul de date, care este criptat cu simplul Blowfish-128 cu autentificare hash SHA1. Acest lucru se face numai din motive de marketing.

dacă se utilizează criptare diferită pe canalele de date și control, atunci adevărata putere a conexiunii OpenVPN este măsurată de suita de criptare mai slabă utilizată.

pentru securitate maximă, atât criptarea datelor, cât și a canalului de control ar trebui să fie cât mai puternică posibil. Cu toate acestea, cu cât criptarea este mai puternică, cu atât conexiunea va fi mai lentă, motiv pentru care unii furnizori scrimp pe criptarea canalelor de date.

criptarea canalului de Control se mai numește criptare TLS, deoarece TLS este tehnologia utilizată pentru a negocia în siguranță conexiunea dintre computer și serverul VPN. Aceasta este aceeași tehnologie utilizată 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-un cifru și autentificare hash.

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

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

(*acesta ar trebui să fie cazul, cel puțin. Unele recenzii vechi nu respectă orientările noastre actuale, dar acestea ar trebui eliminate treptat la timp).

cifruri

OpenVPN poate utiliza un număr de cifruri cheie simetrice pentru a asigura 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 utilizat de OpenVPN. Dimensiunile cheie pot varia teoretic de la 32 de biți la 448 de biți, dar Blowfish-128 este singura versiune pe care este probabil să o întâlniți în sălbăticie.

Blowfish este adesea considerat suficient de sigur pentru scopuri ocazionale, dar are puncte slabe cunoscute. A fost creat de renumitul criptograf Bruce Schneier, care în 2007 a spus: „în acest moment, totuși, sunt uimit că este încă folosit.”

în opinia noastră, utilizarea Blowfish-128 este acceptabilă ca a doua linie de apărare pe canalul de date OpenVPN. Cu toate acestea, nu ar trebui să fie considerat sigur atunci când este utilizat pe canalul de control.

AES

AES a devenit la nivel de industrie VPN „standard de aur” cifru cheie simetrică. AES este certificat NIST și este aproape universal considerat foarte sigur. AES – 256 este utilizat de Guvernul SUA pentru protejarea datelor „sigure”.

faptul că are o dimensiune a blocului de 128 de biți, mai degrabă decât dimensiunea blocului Blowfish pe 64 de biți, î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 încorporată pe majoritatea platformelor.

AES este de obicei disponibil în dimensiuni cheie pe 128 de biți și 256 de biți (există și AES pe 192 de biți). AES – 128 rămâne în siguranță în măsura în care oricine este conștient. Având în vedere ceea ce știm acum despre amploarea asaltului NSA 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 se asigura că nimeni nu găsește vreodată acest subiect prea ușor, deși, există unele dezbateri pe această temă. AES-128 are un program cheie mai puternic decât AES-256, ceea ce îi determină pe unii experți foarte eminenț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

Camelia este un cifru securizat 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. Cu toate acestea, datorită certificării NIST și utilizării sale de către Guvernul SUA, AES este aproape întotdeauna folosit în loc de camelie.

dar, după cum discut mai jos, există motive să nu aveți încredere în cifrurile certificate NIST. Faptul că Camelia este un cifru non-NIST este principalul motiv pentru a-l alege peste AES. Cu toate acestea, această opțiune este rareori disponibilă.

de asemenea, este demn de remarcat faptul că Camelia nu este la fel de bine testată pentru slăbiciune ca AES.

Handshake Encryption

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

pentru a proteja această strângere de mână, TLS folosește de obicei criptosistemul cu cheie publică RSA. Acesta este un algoritm de criptare și semnătură digitală utilizat pentru identificarea certificatelor TLS/SSL. Cu toate acestea, poate folosi și un schimb de chei Diffie-Hellman sau ECDH.

RSA

RSA este un sistem de criptare asimetric – o cheie publică este utilizată pentru a cripta datele, dar o altă cheie privată este utilizată pentru a le decripta. A fost baza securității pe internet în ultimii 20 de ani.

acum este bine stabilit că RSA cu o lungime cheie de 1024 biți (RSA-1024) sau mai puțin nu este sigur și aproape sigur a fost spart de NSA. În consecință, a existat o mișcare concertată între companiile de internet pentru a migra de la RSA-1024.

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

RSA-2048 și mai mare este încă considerată sigură. Pe cont propriu, RSA nu oferă Perfect Forward Secret (PFS). Cu toate acestea, acest lucru poate fi implementat prin includerea unui schimb de chei Diffie-Hellman (DH) sau a curbei eliptice Diffie-Hellman (ECDH) în suita sa de cifrare.

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

deoarece poate provoca confuzie, voi observa, de asemenea, că criptosistemul RSA nu are nimic de-a face cu firma americană de tehnologie RSA Security LLC. Această companie și-a slăbit în mod deliberat produsele emblematice de criptare BSAFE după ce a fost mituită de 10 milioane de dolari de către NSA.

Diffie-Hellman și ECDH

o criptare alternativă (rivală) de strângere de mână care este uneori utilizată de OpenVPN este schimbul de chei criptografice Diffie-Hellman (DH). Aceasta are de obicei o lungime cheie de 2048-biți sau 4096-biți. Rețineți că orice lucru mai mic decât DH-2048 trebuie evitat din cauza susceptibilității la atacul logjam.

principalul avantaj al unei strângeri de mână Diffie-Hellman asupra RSA este că oferă în mod nativ un secret perfect înainte. După cum sa menționat deja, însă, simpla adăugare a unui schimb de chei DH la o strângere de mână RSA atinge un scop 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 spart de un adversar puternic, cum ar fi NSA. Prin urmare, Diffie-Hellman nu asigură criptarea sigură a strângerii de mână. Cu toate acestea, este bine atunci când este utilizat ca parte a unei suite de cifrare 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ă folosește proprietățile unui anumit tip de curbă algebrică în loc de numere prime mari pentru a cripta conexiunile.

ECDH poate fi folosit ca parte a unei strângeri de mână RSA pentru a asigura secretul perfect înainte sau poate cripta în siguranță o strângere de mână pe cont propriu (cu o semnătură ECDSA). Acest lucru oferă, de asemenea, SFP.

lungimea cheii ECDH începe de la 384 de 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 termeni de securitate, oricum).

autentificare SHA Hash

aceasta este denumită și autentificare de date sau cod de autentificare a mesajelor hash (HMAC).

Secure hash Algorithm (SHA) este o funcție hash criptografică utilizată (printre altele) pentru autentificarea datelor și a conexiunilor SSL/TLS. Aceasta include conexiuni 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 detectat imediat și conexiunea va fi refuzată.

acest lucru este important în prevenirea unui atac Man-in-the-middle (MitM), în cazul în care un adversar încearcă să devieze conexiunea OpenVPN la unul dintre propriile servere în loc de furnizorul VPN. Ar putea face acest lucru, de exemplu, piratând routerul.

dacă un adversar poate sparge hash-ul certificatului TLS autentic al furnizorului dvs., acesta poate inversa hash-ul pentru a crea un certificat falsificat. Software-ul VPN deschis va autentifica apoi conexiunea ca fiind autentică.

este SHA sigur?

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

funcțiile hash SHA-2 și SHA-3 sunt acum recomandate și sunt sigure. SHA-2 include SHA-256, SHA-384 și SHA-512. Cu toate acestea …

OpenVPN folosește doar SHA pentru HMAC. Nu cred că este util să intrăm în prea multe detalii aici, dar autentificarea SHA hash face parte din algoritmul HMAC. Atacarea HMAC încorporat cu SHA-1 este mult mai greu decât doar ataca funcția hash SHA-1 în sine.

cu alte cuvinte, HMAC SHA-1 așa cum este utilizat de OpenVPN este considerat sigur și există dovezi matematice în acest sens. Desigur, HMAC SHA – 2 și HMAC SHA-3 sunt și mai sigure! Într-adevăr, recentul audit OpenVPN recunoaște că HMAC SHA-1 este sigur, dar recomandă trecerea la HMAC SHA-2 sau HMAC SHA-3.

Note

NIST

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

având în vedere ceea ce știm acum despre eforturile sistematice ale NSA de a slăbi sau de a construi ușile din spate în standardele internaționale de criptare, există toate motivele pentru a pune la îndoială integritatea algoritmilor NIST.

NIST, desigur, respinge cu tărie astfel de afirmații:

„NIST nu ar slăbi în mod deliberat un standard criptografic.”

a invitat, de asemenea, participarea publicului la o serie de standarde de criptare propuse viitoare, într-o mișcare menită să consolideze încrederea publicului.

New York Times, Cu toate acestea, a acuzat NSA de eludarea standardelor de criptare aprobate de NIST, fie prin introducerea unor backdoor-uri nedetectabile, fie prin subminarea 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) a spus în mod privat clienților să nu mai folosească un algoritm de criptare care conține un defect proiectat de NSA. Acest algoritm a fost, de asemenea, aprobat de NIST.

mai mult, Dual_EC_DRBG (Dual eliptic Curve Deterministic Random bit Generator) este un standard de criptare proiectat de NIST. Se știe că este nesigur de ani de zile.

în 2006, Universitatea de tehnologie Eindhoven din Olanda a remarcat că un atac împotriva acestuia a fost suficient de ușor de lansat pe „un PC obișnuit.”Inginerii Microsoft au semnalat, de asemenea, un backdoor suspectat în algoritm.

în ciuda acestor preocupări, unde NIST conduce, 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 prealabilă 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 întreaga situație să fie destul de răcoroasă.

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 l-ați întâlnit probabil în lumea VPN a fost AES-CBC (Cipher Block înlănțuirea). Aceasta se referă la modul de cifrare bloc, un subiect complex care nu merită să intre aici. Deși CBC poate avea teoretic unele vulnerabilități, consensul general este că CBC este sigur. CBC este, într-adevăr, recomandat în manualul OpenVPN.

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

  • GCM oferă autentificare, eliminând necesitatea unei funcții HMAC Sha hashing.
  • este, de asemenea, puțin mai rapid decât CBC, deoarece folosește accelerarea hardware (prin filetarea la mai multe nuclee de procesor).

AES-CBC rămâne cel mai comun 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. Dintr-o perspectivă criptografică, tho9ugh, atât AES-CBC, cât și AES-GCM sunt foarte sigure.

OpenVPN UDP vs.OpenVPN TCP

OpenVPN poate rula peste 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 că pachetul a sosit înainte de a trimite următorul pachet. Dacă nu se primește nicio confirmare, acesta va retrimite pachetul. Acest lucru este cunoscut sub numele de corectare a erorilor. Există” Livrare garantată ” a tuturor datelor, dar poate fi destul de lentă.
  • UDP = rapid . Folosind UDP, nu se efectuează o astfel de corecție a erorilor. Pachetele sunt pur și simplu trimise și primite fără confirmări sau încercări. Acest lucru face UDP mult mai rapid decât TCP, dar mai puțin fiabil.

dacă vi se oferă posibilitatea de a alege, vă sugerez să utilizați protocolul UDP mai rapid, cu excepția cazului în care întâmpinați probleme de conectare. Aceasta este strategia implicită adoptată de majoritatea furnizorilor VPN.

învinge cenzura cu OpenVPN pe portul TCP 443

unul dintre marile avantaje ale OpenVPN este că poate fi rulat pe orice port, inclusiv portul TCP 443. Acesta este portul utilizat de HTTPS, protocolul criptat care asigură 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 direcționat în interiorul criptării TLS în același mod în care este utilizat de HTTPS. Acest lucru face mult mai greu de observat folosind tehnici avansate de inspecție profundă a pachetelor. Portul TCP 443 este, prin urmare, portul favorizat pentru evitarea blocurilor VPN.

mulți furnizori VPN oferă posibilitatea de a schimba numărul portului utilizat de OpenVPN folosind software-ul lor personalizat.

chiar dacă al tău 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 la configurația OpenVPN (.ovpn) fișier. Prin urmare, merită să întrebați furnizorul VPN despre acest lucru.

este demn de remarcat faptul că inginerii de rețea displace această tactică ca TCP peste TCP este foarte ineficient. Cu toate acestea, când vine vorba de înfrângerea cenzurii, funcționează adesea.

SSTP utilizează portul TCP 443 în mod implicit.

rezumate

protocoale VPN

  • PPTP este foarte nesigur și trebuie evitat. În timp ce ușurința de configurare și compatibilitatea cross-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. Cu toate acestea, a fost grav compromisă de NSA.
  • 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 susținut de furnizorii VPN datorită acestei limitări. În plus, natura sa proprietară și faptul că este a fost creat de Microsoft înseamnă că eu, unul, nu am încredere în el.
  • IKEv2 este un protocol foarte bun (sigur și rapid). Utilizatorii de telefonie mobilă, în special, pot prefera chiar să se Deschidăvpn datorită capacității sale îmbunătățite de a se reconecta atunci când o conexiune la internet este întreruptă. Pentru utilizatorii Blackberry, este destul de mult singura opțiune disponibilă. Utilizați versiuni open-source acolo unde este posibil.
  • OpenVPN este protocolul VPN recomandat în majoritatea circumstanțelor. Este rapid, fiabil, sigur și open source. Nu are dezavantaje reale, în sine., dar pentru a fi cu adevărat sigur, este important să fie implementat bine. Aceasta înseamnă o criptare puternică, cu un secret perfect înainte.

criptare OpenVPN

când vine vorba de criptare, diavolul este în detaliu. Este obișnuit să vedem că furnizorii de VPN-uri spun că folosesc criptarea AES OpenVPN „ultra-puternică pe 256 de biți”, dar acest lucru nu ne spune, în realitate, foarte multe. AES-256 este într-adevăr un cifru puternic, dar dacă alte aspecte ale suitei de criptare utilizate sunt slabe, atunci datele dvs. nu vor fi sigure.

  • Cipher – aceasta protejează datele reale. AES – 256 este acum standardul industriei și este recomandat.
  • strângere de mână – aceasta vă asigură conexiunea la serverul VPN. RSA – 2048+ sau ECDH-384 + sunt sigure. Important RSA-1024 și Diffie-Hellman strângeri de mână nu sunt.
  • autentificare Hash-creează o amprentă unică, care este utilizată pentru a valida datele și certificatele 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 Forward Secret (PFS) – acest lucru asigură crearea de noi chei de criptare pentru fiecare sesiune. OpenVPN nu ar trebui să fie 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 printr-o strângere de mână DH sau ECDH.
  • criptarea este la fel de sigură ca punctul său 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 de biți mai mari pentru cifruri și chei este aproape întotdeauna mai sigură, dar acest lucru are un cost în viteză.

OpenVPN va negocia cifrurile între client și server după bunul plac. Cu excepția cazului în care sunt definiți parametri foarte specifici, OpenVPN poate fi implicit la Setări slabe. Cel puțin, OpenVPN va fi implicit la cifrul Blowfish-128, strângerea de mână RSA-1024 fără PFS și autentificarea hash HMAC SHA-1.

concluzie

sperăm că acum aveți o mai bună înțelegere a ceea ce face o conexiune VPN sigură. Cu toate acestea, când vine vorba de configurarea corectă a unui VPN, criptarea este doar jumătate din poveste. Cealaltă jumătate se asigură că niciun trafic nu intră sau părăsește computerul în afara conexiunii VPN.

pentru a afla mai multe despre acest lucru, consultați ghidul nostru complet pentru scurgerile IP.

Lasă un răspuns

Adresa ta de email nu va fi publicată.