Navidezno zasebno omrežje (VPN) šifrira vse podatke med potovanjem med računalnikom in strežnikom VPN. V tem Popolnem priročniku za šifriranje VPN podrobno pogledamo, kaj je šifriranje in kako se uporablja v VPN povezavah..


Morda je najpomembneje, da bomo razložili niz šifrirnih pogojev, ki jih uporabljajo storitve VPN. Upamo, da boste po branju tega dokumenta bolje razumeli to zapleteno temo in boste lažje ocenili trditve o varnosti, ki jih navajajo ponudniki VPN.

Uvodnice

Če niste prepričani, kaj je VPN in kaj lahko stori za vas, si oglejte naše VPN-je za Vodnik za začetnike.

Naš cilj je predstaviti ključne značilnosti šifriranja VPN na čim preprostejši način. Čeprav se ne moremo umakniti, od dejstva, da je šifriranje zapletena tema.

Če celo izraz šifriranje povzroči, da se vaše oči začnejo zastekliti, vendar še vedno želite vedeti, na kaj morate biti pozorni v dobri storitvi VPN, lahko skočite naravnost na povzetke.

Kaj je šifriranje?

Začnite na začetku," je rekel kralj zelo hudo, "in nadaljuj, dokler ne prideš do konca: potem nehaj. "

Lewis Carroll, Alica v čudežni deželi

Najenostavnejša analogija je, da je šifriranje ključavnica. Če imate pravilen ključ, je ključavnico enostavno odpreti. Če nekdo nima pravilnega ključa, vendar želi dostopati do vsebine močnega polja (to je vaših podatkov), zaščitenega s to ključavnico, lahko poskusi prekiniti ključavnico.

Tako kot je ključavnica, ki pritrjuje bančni trezor, močnejša od blokade, ki pritrdi kovček, je nekatera šifriranje močnejša od druge šifriranja.

Osnove

Ste v otroštvu igrali igro, v kateri ste ustvarili "skrivno sporočilo", tako da ste eno črko sporočila zamenjali z drugo? Nadomestitev je bila izvedena po formuli, ki ste jo izbrali vi.

Mogoče ste na primer vsako črko izvirnega sporočila nadomestili z enimi tremi črkami za njim. Če bi kdo vedel, kakšna je ta formula, ali bi jo znal izoblikovati, bi lahko prebral vaše "tajno sporočilo."

V kriptografskem žargonu ste sporočilo (podatke) šifrirali po zelo preprostem matematičnem algoritmu. Kriptografi omenjajo ta algoritem kot "šifro." Če ga želite dešifrirati, potrebujete ključ. To je spremenljiv parameter, ki določa končni izhod šifre. Brez tega parametra šifrir ni mogoče dešifrirati.

Če nekdo želi prebrati šifrirano sporočilo, vendar nima ključa, mora poskusiti šifrirati. Ko šifriranje uporablja preprost šifro za nadomeščanje črk, je zlahka pokvarjeno. Šifriranje pa je mogoče narediti bolj varno, če matematični algoritem (šifro) naredimo bolj zapleten.

Vsako tretjo črko sporočila lahko na primer zamenjate s številko, ki ustreza črki.

Dolžina ključa za šifriranje

Sodobni računalniški šifri so zelo zapleteni algoritmi. Tudi s pomočjo superračunalnikov jih je zelo težko razbiti, če ne celo nemogoče za vse praktične namene. Najbolj surov način merjenja jakosti šifre je kompleksnost algoritma, ki se uporablja za njegovo izdelavo.

Bolj zapleten je algoritem, težje je šifro razbiti z napadom brutalne sile. Ta zelo primitivni napad oblike je znan tudi kot izčrpno iskanje ključev. V bistvu vključuje preizkus vseh možnih kombinacij številk, dokler ne najdemo pravilne tipke.

Računalniki izvajajo vse izračune z uporabo binarnih števil: nič in ena. Kompleksnost šifre je odvisna od njene velikosti ključev v bitnih - surovega števila enot in ničel, potrebnih za izražanje njegovega algoritma, kjer je vsaka nič ali ena predstavljena z enim bitom.

To je znano kot ključna dolžina in predstavlja tudi praktično izvedljivost uspešnega izvajanja napadov na silo na katero koli šifro.

Število možnih kombinacij (in s tem težave pri izsiljevanju) se povečuje eksponentno glede na velikost ključa. Uporaba šifre AES (glej spodaj):

Kombinacije ključnih velikosti

Da bi to postavili v perspektivo:

  • Leta 2011 je bil najhitrejši superračunalnik Fujitsu K. Ta je bil zmožen najvišje hitrosti Rmax 10,51 petaflopov. Na podlagi te številke bi bilo potrebno Fujitsu K 1,02 x 10 ^ 18 - približno milijardo milijard (en kvintilion) let, da bi s silo zlomil 128-bitni AES (Advanced Encryption Standard) ključ. To je starejše od starosti vesolja (13,75 milijarde let).
  • Najmočnejši superračunalnik na svetu (2017) je Sunway TaihuLight na Kitajskem. Ta zver je sposobna najvišje hitrosti 93,02 petaflopov. To pomeni, da bi najmočnejšemu računalniku na svetu še vedno potrebovalo približno 885 kvadratnih milijard let, da bi silovito prisilil 128-bitni AES.
  • Število operacij, potrebnih za brutanje 256-bitne šifre, je 3,31 x 10 ^ 56. To je približno enako številu atomov v vesolju!

Računalniške šifre

Medtem ko se dolžina ključa šifriranja nanaša na količino vključenih neobdelanih števil, so šifre matematika - dejanske formule ali algoritmi - uporabljena za izvedbo šifriranja. Kot smo pravkar videli, je moderno računalniško šifriranje s silovitim pritiskom divje nepraktično.

Slabosti (včasih namerne) v teh šifrirnih algoritmih lahko privedejo do kršenja šifriranja. To je zato, ker lahko izhod (slabo zasnovanega) šifrira še vedno razkrije neko strukturo iz prvotnih informacij pred šifriranjem. To ustvari zmanjšan nabor možnih kombinacij, ki jih želite poskusiti, kar dejansko zmanjšuje efektivno dolžino tipke.

Šifra Blowfish je na primer izpostavljena napadu, ki v teoriji verjetnosti izkorišča matematiko, ki stoji za rojstnodnevnim problemom. Preučevanje šibkosti kriptografskih algoritmov je znano kot kriptoanaliza.

Daljše dolžine ključev kompenzirajo takšne pomanjkljivosti, saj močno povečajo število možnih rezultatov.

Namesto da bi napadel šifro, lahko nasprotnik napade ključ sam. To lahko vpliva na določeno spletno mesto ali določen programski izdelek. Toda varnost šifrirnega algoritma je še vedno nedotaknjena in prelom ne vpliva na druge sisteme, ki uporabljajo isti algoritem, vendar imajo varno generiranje tipk..

Šifra ključa Dolžina

Kako močna je šifra, je odvisno od matematike samega šifrira in njegove dolžine ključa, izražene v bitih. Zaradi tega so šifre običajno opisane skupaj z uporabljeno dolžino ključa.

Torej AES-256 (AES-ov šifer s 256-bitno dolžino ključa) običajno velja za močnejšega kot AES-128. Upoštevajte, da pravim, ker se tukaj ukvarjamo z zelo zapleteno matematiko (glejte moje opombe o AES kasneje).

Opomba Icon2 01 150X150

Pomembno je upoštevati, da dolžina ključa samo ni dober pokazatelj moči šifre. Pomembna je kombinacija dolžine ključa in šifre. Šifre, ki se uporabljajo za asimetrično šifriranje, na primer uporabljajo veliko daljše velikosti ključev kot tiste, ki se uporabljajo za simetrično šifriranje, da se zagotovi enakovredna zaščita.

Primerjava velikosti ključev

Ta tabela je nekoliko zastarela, saj ne upošteva novejših napadov, ki so jih odkrili na RSA. Omeniti velja tudi, da sta eliptična krivulja in Diffie-Hellmanova različica RSA veliko močnejša od tradicionalnih. Toda upajmo, da dobite idejo.

Opomba Icon2 01 150X150

Treba je opozoriti, da večja kot je dolžina ključa, več računa, zato večja procesorska moč. To vpliva na hitrost, s katero je mogoče podatke šifrirati in dešifrirati. Ponudniki VPN in podobni se morajo zato odločiti, kako najbolje uravnotežiti varnost in praktično uporabnost pri izbiri šifrirnih shem.

O glavnih šifrih, ki jih uporabljajo različni protokoli VPN, razpravljamo nekoliko kasneje, vendar sta najpogostejši šifri, na katere boste verjetno naleteli, Blowfish in AES. Poleg tega se RSA uporablja za šifriranje in dešifriranje ključev šifre, SHA-1 ali SHA-2 pa se uporablja kot hash funkcija za preverjanje pristnosti podatkov.

Asimetrično šifriranjeAsimmestrična enkripcija

Popolna tajnost za naprej

Popolna tajnost naprej (PFS) se imenuje tudi uporaba efemernih šifrirnih ključev ali samo posredovanje tajnosti naprej (FS), ki jih neprijetno uporabljajo z besedo "popoln."

Večina sodobne varne spletne komunikacije se opira na SSL / TLS. Uporabljajo ga spletna mesta HTTPS in protokol OpenVPN. TLS (Transport Layer Security) je asimetrični protokol šifriranja. Uporaba asimetrične šifre pomeni, da se podatki zavarujejo z javnim ključem, ki je na voljo vsem. Lahko pa ga dešifrira samo predviden prejemnik, ki ima pravilen zasebni ključ.

Ta zasebni ključ mora biti skriven. Če ga nasprotnik ukrade ali pokvari, potem lahko ta nasprotnik zlahka prestreže in prebere vsa sporočila, ki jih zavaruje..

Na žalost je za strežnike ali celo celotna podjetja običajno le en zasebni šifrirni ključ za zaščito vseh komunikacij. Zakaj? Ker je enostavno Če pa je ta ključ ogrožen, lahko napadalec dostopa do vseh komunikacijskih šifriranih podatkov.

Ta zasebni šifrirni ključ zato postane "glavni ključ", s katerim lahko odklenete vse komunikacije s strežnikom ali podjetjem. Znano je, da je NSA izkoristila to pomanjkljivost, da bi zbrala ogromno sklopov domnevno varnih podatkov.

Rešitev je Perfect Forward Secrecy. To je sistem, v katerem se za vsako sejo ustvari nov in edinstven zasebni šifrirni ključ. To je preprosta ideja, tudi če je izmenjava matematike Diffie-Hellman zapletena. Pomeni, da ima vsaka seja TLS svoj nabor ključev. Od tod tudi izraz „efemerni ključi“ - enkrat se uporabijo in nato izginejo.

Zato ni nobenega glavnega ključa, ki bi ga bilo mogoče izkoristiti. Tudi če je seja ogrožena, je le ta seja ogrožena - niso vse druge seje, ki jih ima kdo s tem strežnikom ali podjetjem!

Čeprav je občasno, je mogoče celo osvežiti tipke PFS znotraj seje (na primer vsako uro). To še dodatno omeji količino podatkov, ki jih lahko prestreže nasprotnik, tudi če je zasebni ključ ogrožen.

Ko sem pred nekaj leti napisal ta članek na to temo, je bila uporaba Perfect Forward Secrecy za HTTPS spletna mesta in OpenVPN povezave strašno redka. Na srečo se je to stanje nekoliko spremenilo. Čeprav nikakor ni univerzalen, se uporaba efemernih tipk od poznega močno poveča.

Šifriranje protokolov VPN

VPN protokol je niz navodil (mehanizma), ki se uporabljajo za pogajanja o varni šifrirani povezavi med dvema računalnikoma. Več takšnih protokolov VPN običajno podpirajo komercialne storitve VPN. Najpomembnejši med njimi so PPTP, L2TP / IPSec, OpenVPN, SSTP in IKEv2.

Vsako od teh si ogledam spodaj, vendar je OpenVPN zdaj industrijski standardni protokol VPN, ki ga uporabljajo komercialne storitve VPN - z dobrim razlogom. Je zelo varen in ga lahko uporabljate na skoraj vseh napravah, ki podpirajo VPN. Zato bom porabil dodatno digitalno črnilo, kjer bomo podrobno razpravljali o OpenVPN.

PPTP

PREDNOSTI

  • Stranka je vgrajena na skoraj vse platforme
  • Zelo enostavno za nastavitev

SLABOSTI

  • Zelo negotov
  • Definitivno ogroža NSA
  • Preprosto blokiran

Kaj je PPTP?

To je samo protokol VPN in se zaradi varnosti zanaša na različne metode overjanja. Med komercialnimi ponudniki VPN je to skoraj vedno MS-CHAP v2. Šifrirni protokol (podobno kot standardni šifrant), ki ga uporablja PPTP, je Microsoftovo šifriranje od točke do točke (MPPE).

Point-to-point Tunneling Protocol (PPTP) je razvil konzorcij, ki ga je ustanovil Microsoft za ustvarjanje VPN prek omrežij za klicanje. Kot tak je PPTP že dolgo standarden protokol za korporativna omrežja VPN.

PPTP je standardno na voljo na skoraj vsaki platformi in napravi, ki podpira VPN. Nastavitev je enostavno, brez potrebe po namestitvi dodatne programske opreme. To zagotavlja, da PPTP ostaja priljubljena izbira tako za poslovne VPN kot za komercialne storitve VPN.

Prednost ima tudi to, da za izvedbo zahteva nizke računske režijske stroške ... zato je hitro!

Na žalost PPTP ni varen. Nasploh. Čeprav zdaj običajno najdemo le 128-bitne šifrirne ključe, so se v letih, odkar je bil leta 1999 prvič povezan z operacijskim sistemom Windows 95 OSR2, pojavile številne varnostne ranljivosti.

Najresnejša med njimi je možnost neinkapsulirane avtentikacije MS-CHAP v2. S tem izkoriščanjem je PPTP v dveh dneh zlomljen. Microsoft je napako popravil, sam pa je izdal priporočilo, da namesto tega uporabite L2TP / IPsec ali SSTP.

Ne bi smelo biti presenetljivo, da NSA skoraj zagotovo dešifrira komunikacije, šifrirane s PPTP, kot standard. Še bolj zaskrbljujoče je, da je NSA zbrala ogromno starejših podatkov, ki so bili šifrirani nazaj, ko je bil PPTP ocenjen kot varen. Skoraj zagotovo lahko tudi dešifrira te zapuščene podatke.

Za PPTP potrebujeta vrata TCP 1723 in protokol GRE. Požarni zid GRE je enostaven, kar omogoča enostavno blokiranje povezav PPTP.

L2TP / IPsec

  • Običajno velja za varno (vendar glej slabosti)
  • Enostavna nastavitev
  • Na voljo na vseh sodobnih platformah
  • Hitreje kot OpenVPN (morda)
  • NSA lahko ogrozi (nedokazano)
  • Verjetno je namerno oslabljen zaradi NSA (nedokazano)
  • Lahko se bori z omejenimi požarnimi zidovi
  • Pogosto se izvaja slabo

Kaj sta L2TP in IPsec?

Protokol tuneliranja nivoja 2 (L2TP) je vgrajen v skoraj vse sodobne operacijske sisteme in naprave, ki podpirajo VPN. Zato je enako enostavno in hitro nastaviti kot PPTP.

L2TP sam ne zagotavlja šifriranja ali zaupnosti prometa, ki poteka skozi njega, zato se ponavadi izvaja s paketom za preverjanje pristnosti IPsec (L2TP / IPsec). Tudi če se ponudnik sklicuje le na L2TP ali IPsec (kot nekateri), to skoraj zagotovo pomeni L2TP / IPSec.

L2TP / IPsec lahko uporablja bodisi 3DES bodisi AES šifre. 3DES je ranljiv za trke napadov Meet-in-the-mid in Sweet32, zato v praksi verjetno ne boste naleteli na te dni.

Težave lahko nastanejo, ker protokol L2TP / IPSec uporablja le omejeno število vrat. To lahko povzroči zaplete pri uporabi NAT požarnih zidov. Zaradi odvisnosti od fiksnih vrat je protokol tudi dokaj enostavno blokirati.

L2TP / IPsec dvakrat enkapsulira podatke, kar upočasni stvari. To izravna dejstvo, da v jedru pride do šifriranja / dešifriranja, L2TP / IPsec pa omogoča večrezanje. OpenVPN ne. Rezultat tega je, da je L2TP / IPsec teoretično hitrejši kot OpenVPN.

L2TP / IPsec, ki uporablja šifro AES, nima večjih znanih ranljivosti in če je pravilno izveden, je še vedno lahko varen. Razkritja Edwarda Snowdena pa so močno namignila na standard, ki ga ogroža NSA.

John Gilmore je varnostni specialist in ustanovni član Fundacije Electronic Frontier. Pojasnjuje, verjetno je IPSec v fazi načrtovanja namerno oslabel.

Precej večja težava je, da številne storitve VPN slabo izvajajo L2TP / IPsec. Konkretno uporabljajo ključe, ki so v skupni rabi (PSK), ki jih je mogoče brezplačno prenesti s svojih spletnih strani.

Ti PSK-ji se uporabljajo samo za preverjanje pristnosti povezave, zato tudi če so ogroženi, ostanejo podatki varno šifrirani s pomočjo AES. Napadalec pa lahko z vnaprej souporabljenim ključem za lažno predstavitev strežnika VPN. Nato bi lahko prisluškoval šifriranemu prometu ali celo vnesel zlonamerne podatke v povezavo.

Opomba Icon2 01 150X150

Povzetek

Kljub nekaterim pretežno teoretičnim vprašanjem se na splošno šteje, da je L2TP / IPsec varen, če se ne uporabljajo odkrito objavljeni ključi, ki so vnaprej deljeni. Njegova vgrajena združljivost z veliko številnimi napravami je lahko zelo dobra izbira.

PREDNOSTI

  • Zelo varno
  • Popolnoma integriran v sistem Windows
  • Microsoftova podpora
  • Lahko zaobide večino požarnih zidov

SLABOSTI

  • Lastniški standard v lasti Microsofta

Kaj je SSTP?

SSTP je vrsta šifriranja, ki uporablja SSL 3.0 in ponuja podobne prednosti kot OpenVPN. To vključuje možnost uporabe vrat TCP 443 za izogibanje cenzuri. Tesna integracija z Windows lahko olajša uporabo in bolj stabilno kot OpenVPN na tej platformi.

Za razliko od OpenVPN pa je SSTP lastniški Microsoft. To pomeni, da koda ni odprta za javni nadzor. Microsoftova zgodovina sodelovanja z NSA in ugibanja o možnih zaledjih, vgrajenih v operacijski sistem Windows, ne vzbujajo zaupanja v standard.

Microsoft je v sistemu Windows Vista SP1 uvedel protokol za varno namestitev vtičnic (SSTP). Čeprav je zdaj na voljo za Linux in celo Mac OS X, je še vedno predvsem platforma samo za Windows.

Drugo vprašanje je, da je SSL v3.0 ranljiv za tako imenovani napad POODLE in ga zato odsvetujemo. Ali to vprašanje vpliva tudi na SSTP, ni jasno, vendar spet težko vzbuja zaupanje.

Opomba Icon2 01 150X150

Povzetek

Na papirju SSTP ponuja številne prednosti OpenVPN. Vendar pa je lastniški Microsoftov standard slabo spodkopava njegovo verodostojnost.

IKEv2

PREDNOSTI

  • Hitro
  • Stabilen - zlasti pri preklopu omrežja ali ponovnem povezovanju po izgubljeni internetni povezavi
  • Varno (če se uporablja AES)
  • Enostavna nastavitev (vsaj na koncu uporabnika!)
  • Protokol je podprt v napravah Blackberry

SLABOSTI

  • Ni podprto na mnogih platformah
  • Uvajanje IKEv2 na strežniškem koncu je težavno, kar lahko povzroči nastanek težav
  • Zaupajte samo izvedbam odprtega koda

Kaj je IKEv2?

Različica 2 za internetno izmenjavo ključev (IKEv2) sta skupaj razvila Microsoft in Cisco. Izvirno ga podpirajo naprave Windows 7+, Blackberry in iOS. Zato veliko iOS VPN storitev uporablja IKEv2 namesto OpenVPN.

Neodvisno razvite združljive različice IKEv2 so bile razvite za Linux in druge operacijske sisteme. Mnoge od teh ponovitev so odprte kode. Kot vedno tudi predlagam, da bodite pozorni na vse, kar je razvil Microsoft. Odprtokodne različice IKEv2 pa ne bi smele imeti težav.

IKEv2 je del nabora protokolov IPsec. Zagotavlja promet varen z izročitvijo atributa SA (Varnostnega združenja) znotraj IPsec in na več načinov izboljšuje IKEv1. IKEv2 se zato včasih imenuje IKEv2 / IPsec. Po drugi strani se IKEv1 pogosto imenuje samo IPsec.

IKEv2, ki ga je Microsoft poimenoval VPN Connect, je še posebej dober za samodejno ponovno vzpostavitev VPN povezave, ko uporabniki začasno izgubijo internetne povezave. Na primer pri vstopu ali izstopu iz železniškega predora.

Zaradi podpore protokolu Mobility and Multihoming (MOBIKE) je IKEv2 tudi zelo odporen na spreminjanje omrežij. Tako je IKEv2 odlična izbira za uporabnike mobilnih telefonov, ki redno preklapljajo med domačo WiFi in mobilno povezavo ali se redno gibljejo med žariščnimi točkami.

IKEv2 ni tako pogost kot L2TP / IPSec, saj je podprt na številnih manjših platformah (čeprav se to stanje hitro spreminja). Vendar pa velja, da je vsaj tako dober kot, če ne boljši, L2TP / IPsec glede varnosti, učinkovitosti (hitrosti), stabilnosti in sposobnosti vzpostavitve (in ponovne vzpostavitve) povezave.

OpenVPN

PREDNOSTI

  • Zelo varno (če se uporablja PFS)
  • Zelo nastavljiv
  • Odprtokodno
  • Lahko obide požarne zidove
  • Potrebuje programsko opremo drugih proizvajalcev

Kaj je OpenVPN?

OpenVPN je odprtokodna tehnologija, ki uporablja knjižnico OpenSSL in protokole TLS, skupaj z amalgamom drugih tehnologij, da zagotovi močno in zanesljivo rešitev VPN. Zdaj je to standard industrijskega protokola VPN, ki ga uporabljajo komercialne storitve VPN - z dobrim razlogom.

Ena glavnih prednosti OpenVPN je, da je zelo konfiguriran. Izvirno ga ne podpira platforma, na večini platform pa je na voljo prek programske opreme drugih proizvajalcev. Odjemalci in aplikacije po meri OpenVPN so pogosto na voljo pri posameznih ponudnikih VPN, vendar je osnovna odprtokodna koda razvita s projektom OpenVPN.

Številni razvijalci in sodelavci projekta OpenVPN delajo tudi za OpenVPN Technologies Inc., ki nadzira projekt.

OpenVPN najbolje deluje na vratih UDP, vendar ga je mogoče nastaviti za izvajanje na katerem koli pristanišču (glejte opombe pozneje). To vključuje vrata TCP 443, ki jih uporablja običajni HTTPS promet. Če uporabljate OpenVPN prek TCP vrat 443, je težko navesti povezave VPN, razen varnih povezav, ki jih uporabljajo banke, e-poštne storitve in spletni prodajalci. Zaradi tega je OpenVPN zelo težko blokirati.

Druga prednost OpenVPN je, da knjižnica OpenSSL, ki se uporablja za šifriranje, podpira številne šifre. V praksi pa komercialne storitve VPN običajno uporabljajo samo Blowfish in AES. O teh razpravljam v nadaljevanju.

Glede na podatke, pridobljene od Edwarda Snowdena, se zdi, da dokler velja Perfect Forward Secrecy, pa NSA ne bo ogrozila ali oslabila..

Nedavna revizija OpenVPN v množici ljudi je zdaj končana, prav tako pa še ena, ki jo financira zasebni dostop do interneta. Niso odkrili resnih ranljivosti, ki bi vplivale na zasebnost uporabnikov. Odkritih je bilo nekaj ranljivosti, zaradi katerih so bili strežniki OpenVPN potencialno odprti za napad za zavračanje storitve (DoS), vendar so te zakrpane v OpenVPN 2.4.2.

OpenVPN običajno velja za najbolj varen protokol VPN, ki je na voljo in je široko podprt v celotni panogi VPN. Zato bom spodaj podrobno razpravljal o šifriranju OpenVPN.

Šifriranje OpenVPN

Šifriranje OpenVPN obsega dva dela - šifriranje podatkovnih kanalov in šifriranje nadzornih kanalov. Šifriranje podatkovnih kanalov se uporablja za zaščito vaših podatkov. Šifriranje nadzornega kanala zagotavlja povezavo med računalnikom in strežnikom VPN.

Vsaka obramba je le močna kot njena najšibkejša točka, zato je žal, da nekateri ponudniki VPN na enem kanalu uporabljajo veliko močnejše šifriranje kot drugi (ponavadi močnejši na nadzornem kanalu).

Ni redko, da na primer storitev VPN oglašujejo, kot da uporablja šifro AES-256 s šifriranjem stiskanja RSA-4096 in overjanjem hash-ov SHA-512. To se sliši zelo impresivno, dokler ne ugotovite, da se nanaša samo na šifriranje nadzornih kanalov in ne na podatkovni kanal, ki je šifriran s samo Blowfish-128 s SHA1 hash pristnostjo. To se naredi samo zaradi tržnih razlogov.

Če se na podatkovnih in nadzornih kanalih uporablja drugačno šifriranje, se resnična moč povezave OpenVPN meri s šibkejšim šifriranim paketom.

Za največjo varnost morata biti šifriranje podatkov in nadzornih kanalov čim močnejše. Vendar pa močnejša kot je šifriranje uporabljeno, počasnejša bo povezava, zato nekateri ponudniki brskajo po šifriranju podatkovnih kanalov..

Šifriranje nadzornih kanalov imenujemo tudi TLS šifriranje, ker je TLS tehnologija, ki se uporablja za varno pogajanje o povezavi med računalnikom in strežnikom VPN. To je ista tehnologija, ki jo vaš brskalnik uporablja za varno pogajanje o povezavi s spletnim mestom, šifrirano s HTTPS.

  • Šifriranje nadzornih kanalov je sestavljeno iz šifre, šifriranja s stiskanjem roke in preverjanja pristnosti hash-a.
  • Šifriranje podatkovnih kanalov je sestavljeno iz šifrirne in hash pristnosti.

Ponudniki VPN pogosto uporabljajo isto stopnjo šifriranja tako za nadzorne kot za podatkovne kanale. V naših preglednicah in tabelah "semaforja" jih navajamo le ločeno, če se za vsak kanal uporabljajo različne vrednosti.

Če navedemo, da ponudnik uporablja šifro AES-256, to pomeni, da se šifra AES-256 uporablja tako za nadzorni kot za podatkovni kanal. *

(* Vsaj tako bi moralo biti. Nekateri zastareli pregledi ne ustrezajo našim trenutnim smernicam, vendar jih je treba pravočasno postopno opustiti).

Šifre

OpenVPN lahko uporablja številne šifre s simetričnim ključem, da zaščiti podatke tako na nadzornih kot na podatkovnih kanalih. V praksi edini, ki jih uporabljajo komercialni ponudniki VPN, so Blowfish, AES in (zelo redko) Camellia.

Blowfish

Blowfish-128 je privzeti šifrant, ki ga uporablja OpenVPN. Teoretične velikosti se lahko v teoriji gibljejo od 32 do 448 bitov, vendar je Blowfish-128 edina različica, ki jo verjetno srečate v naravi.

Blowfish pogosto velja za dovolj varnega za priložnostne namene, vendar pozna slabosti. Ustvaril jo je priznani kriptograf Bruce Schneier, ki je leta 2007 dejal: "Na tem mestu pa sem presenečen, da se še vedno uporablja."

Po našem mnenju je uporaba Blowfish-128 sprejemljiva kot druga obrambna linija na podatkovnem kanalu OpenVPN. Vendar pa se pri uporabi na nadzornem kanalu ne sme šteti za varno.

AES

AES je postal šifriran simetrični ključ v celotni industriji VPN. AES ima certifikat NIST in skoraj na splošno velja za zelo varnega. Ameriška vlada AES-256 uporablja za zaščito "varnih" podatkov.

Dejstvo, da ima velikost 128-bitnih blokov namesto 64-bitne velikosti bloka Blowfish, pomeni tudi, da lahko z večjimi datotekami (več kot 4 GB) zmore bolje kot Blowfish. Poleg tega je nabor navodil AES koristil vgrajen strojni pospešek na večini platform.

AES je običajno na voljo v 128-bitnih in 256-bitnih velikostih tipk (obstaja tudi 192-bitni AES). AES-128 ostaja varen, kolikor kdo ve. Glede na to, kar zdaj vemo o obsegu napada NSA na šifrirne standarde, pa se večina strokovnjakov strinja, da AES-256 zagotavlja večjo varnostno mejo.

Da bi zagotovili, da nihče nikoli ne bo obravnaval te teme prelahko, pa je o tem nekaj razprav. AES-128 ima močnejši ključni razpored kot AES-256, zaradi česar nekateri zelo ugledni strokovnjaki trdijo, da je AES-128 pravzaprav močnejši od AES-256.

Splošno soglasje pa je, da je AES-256 močnejši.

Camellia

Camellia je sodobna varna šifra in je vsaj tako varna in hitra kot AES. Na voljo je v ključnih velikostih 128, 192 in 256 bitov. Zaradi certifikacije NIST in njegove uporabe s strani vlade ZDA pa se AES skoraj vedno uporablja namesto Camellia.

Kot sem razložil spodaj, obstajajo razlogi, da šifram s certifikatom NIST ne zaupate. Dejstvo, da je Camellia šifra, ki ni NIST, je glavni razlog, da jo izberemo nad AES. Vendar je ta možnost na voljo le redko.

Omeniti velja tudi, da Camellia ni skoraj tako dobro preizkušena na šibkost kot AES.

Ročno stiskanje

Za varno pogajanje o povezavi med vašo napravo in strežnikom VPN OpenVPN uporablja stisk roke TLS. To omogoča odjemalcu OpenVPN in strežniku VPN, da vzpostavi skrivne ključe, s katerimi komunicira.

Za zaščito tega stiskanja TLS običajno uporablja RSP kriptosistem z javnim ključem. To je algoritem za šifriranje in digitalni podpis, ki se uporablja za identifikacijo potrdil TLS / SSL. Lahko pa namesto tega uporablja tudi izmenjavo ključev Diffie-Hellman ali ECDH.

RSA

RSA je asimetrični sistem šifriranja - za šifriranje podatkov se uporablja javni ključ, za dešifriranje pa se uporablja drug zasebni ključ. Podlaga za varnost na internetu je bila zadnjih 20 let.

Zdaj je že dobro ugotovljeno, da RSA z dolžino ključa 1024 bitov (RSA-1024) ali manj ni varna in je skoraj zagotovo počila NSA. Posledično je prišlo do usklajenega ukrepanja med internetnimi podjetji za prehod iz RSA-1024.

Na žalost še vedno najdemo, da nekatere storitve VPN še naprej uporabljajo RSA-1024 za zaščito stiskanja rok. To ni dobro.

RSA-2048 in novejši se še vedno štejejo za varne. RSA ne zagotavlja popolne tajnosti za naprej (PFS). To pa je mogoče izvesti z vključitvijo izmenjave ključev Diffie-Hellman (DH) ali eliptične krivulje Diffie-Hellman (ECDH) v svoj šifrant.

V tem primeru moč ključa DH ali ECDH ni pomembna, saj se uporablja le za zagotavljanje popolne tajnosti naprej. Povezava je zavarovana s pomočjo RSA.

Ker lahko povzroči zmedo, bom tudi opozoril, da kriptosistem RSA nima nobene zveze s sramotnim ameriškim tehničnim podjetjem RSA Security LLC. To podjetje je namerno oslabilo svoje vodilne izdelke za šifriranje BSAFE, potem ko je NSA podkupovalo 10 milijonov dolarjev.

Diffie-Hellman in ECDH

Nadomestna (konkurenčna) šifriranje stiskanja rok, ki jo OpenVPN včasih uporablja, je izmenjava kriptografskih ključev Diffie-Hellman (DH). Običajno ima ključ dolžino 2048-bitnih ali 4096-bitnih. Upoštevajte, da se je treba izogibati ničesar manj kot DH-2048 zaradi dovzetnosti za napad na lojo.

Glavna prednost stiskanja Diffie-Hellmana pred RSA je, da izvorno zagotavlja Perfect Forward Secrecy. Kot smo že omenili, preprosto dodajanje izmenjave ključev DH v stisk RSA doseže podoben cilj.

Diffie-Hellman je sprožil veliko polemike glede njegove ponovne uporabe omejenega niza pravih številk. Zaradi tega je ranljiv močan nasprotnik, kot je NSA. Diffie-Hellman sam po sebi ne zagotavlja varnega šifriranja s stiskanjem roke. Vendar je v redu, če se uporablja kot del šifrantov RSA.

Eliptična krivulja Diffie-Hellman (ECDH) je novejša oblika kriptografije, ki ni ranljiva za ta napad. To je zato, ker za šifriranje povezav uporablja lastnosti določene vrste algebrske krivulje namesto velikih pravih števil.

ECDH se lahko uporablja kot del stiskanja RSA za zagotavljanje popolne tajnosti za naprej ali pa lahko stiske stisne sam šifrirano (s podpisom ECDSA). To zagotavlja tudi PFS.

Dolžina ključa ECDH se začne pri 384-bitnih. To velja za varno, vendar ko ga uporabljate sami za zavarovanje stiskanja TLS, dlje, tem bolje (kar zadeva varnost, vseeno).

SHA Hash overjanje

Temu se reče tudi overjanje podatkov ali koda za preverjanje pristnosti sporočila (HMAC).

Algoritem varnega hašiša (SHA) je kriptografska hash funkcija, ki se med drugim uporablja za preverjanje pristnosti podatkov in povezav SSL / TLS. To vključuje povezave OpenVPN.

Ustvari edinstven prstni odtis veljavnega potrdila TLS, ki ga lahko potrdi kateri koli odjemalec OpenVPN. Tudi najtanjša sprememba je zaznavna. Če je potrdilo poseženo, bo to takoj zaznano in povezava zavrnjena.

To je pomembno pri preprečevanju napada Man-in-the-sredini (MitM), kjer nasprotnik poskuša preusmeriti vašo povezavo OpenVPN na enega od svojih strežnikov namesto na ponudnika VPN. To bi lahko storili na primer s krampanjem vašega usmerjevalnika.

Če nasprotnik lahko zlomi hash originalnega potrdila TLS ponudnika, lahko razveljavi heš in ustvari ponarejeno potrdilo. Vaša programska oprema Open VPN bo nato povezavo potrdila kot pristno.

Ali je SHA varen?

Če se uporablja za zaščito spletnih mest HTTPS, je SHA-1 pokvarjen. To se pozna že nekaj časa. Spletna mesta SHA-1 je še vedno mogoče najti, vendar jih postopno opuščamo. Večina brskalnikov bo zdaj opozorila, ko se poskušate povezati na spletno mesto, zavarovano s SHA-1.

Namesto tega se priporočajo hash funkcije SHA-2 in SHA-3 in so varne. SHA-2 vključuje SHA-256, SHA-384 in SHA-512. Vendar…

OpenVPN uporablja samo SHA za HMAC. Menim, da ni koristno preučevati preveč podrobnosti, toda preverjanje pristnosti hash-jev SHA je del algoritma HMAC. Napadati HMAC, vgrajen s SHA-1, je veliko težje kot samo napasti funkcijo hash-a SHA-1.

Z drugimi besedami, HMAC SHA-1, ki ga uporablja OpenVPN, velja za varnega in za to obstaja matematični dokaz. Seveda sta HMAC SHA-2 in HMAC SHA-3 še bolj varna! Dejansko nedavna revizija OpenVPN priznava, da je HMAC SHA-1 varen, vendar priporoča namesto tega prehod na HMAC SHA-2 ali HMAC SHA-3.

Opombe

NIST

AES, RSA, SHA-1 in SHA-2 so vsi razvili in / ali potrdili Nacionalni inštitut za standarde in tehnologijo ZDA (NIST). To je organ, ki po lastnem priznanju tesno sodeluje z NSA pri razvoju svojih šifre.

Glede na to, kar zdaj vemo o sistematičnih prizadevanjih NSA za oslabitev ali vgradnjo zaledja v mednarodne standarde šifriranja, obstaja vsak razlog za dvom v integriteto algoritmov NIST.

NIST seveda odločno zavrača takšne navedbe:

"NIST ne bi namerno oslabil kriptografskega standarda."

Povabila je tudi sodelovanje javnosti v številnih prihajajočih predlaganih standardih šifriranja, s ciljem krepitve zaupanja javnosti.

New York Times pa je NSA obtožil izogibanja standardom šifriranja, ki jih je odobril NIST, bodisi z uvedbo neodločljivih zalednih površin bodisi s spodkopavanjem postopka javnega razvoja, da bi oslabil algoritme.

To nezaupanje se je še okrepilo, ko je RSA Security (delitev EMC) strankam zasebno rekla, naj prenehajo uporabljati algoritem šifriranja, ki naj bi vseboval napako, ki jo je izdelal NSA. Ta algoritem je potrdil tudi NIST.

Dual_EC_DRBG (Dual Elliptic Curve Deterministic Random Bit Generator) je standard šifriranja, ki ga je izdelal NIST. Že leta je znano, da je negotov.

Leta 2006 je Tehnološka univerza Eindhoven na Nizozemskem ugotovila, da je bil napad nanjo dovolj preprost, da se je začel na "navadnem računalniku." Microsoftovi inženirji so v algoritmu označili tudi osumljenca za nazaj.

Kljub tem pomislekom, kjer vodi NIST, industrija sledi. Microsoft, Cisco, Symantec in RSA vsebujejo algoritem v kriptografskih knjižnicah svojega izdelka. To je v veliki meri zato, ker je skladnost s standardi NIST predpogoj za pridobitev pogodb vlade ZDA.

Kriptografski standardi s certifikatom NIST so po vsem svetu vseprisotni na vseh področjih industrije in poslovanja, ki temeljijo na zasebnosti. Zaradi tega je celotna situacija precej hladna.

Morda ravno zato, ker se toliko opira na te standarde, se strokovnjaki za kriptografijo niso bili pripravljeni soočiti s težavo.

AES-CBC v primerjavi z AES-GCM

Do nedavnega je bil AES-CBC (Cipher Block Chaining) edini AES-ov šifer, ki ste ga verjetno srečali v svetu VPN. To se nanaša na način blokirne šifre, zapleteno temo, ki je tukaj resnično ni vredno zajemati. Čeprav ima CBC teoretično nekaj ranljivosti, je splošno soglasje, da je CBC varen. CBC je res priporočljiv v priročniku OpenVPN.

OpenVPN zdaj podpira tudi AES-GCM (Galios / Counter Mode).

  • GCM zagotavlja avtentikacijo in odpravlja potrebo po HHAC SHA funkciji.
  • Je tudi nekoliko hitrejši od CBC-ja, ker uporablja strojno pospeševanje (z navojem v več procesorskih jeder).

AES-CBC ostaja najpogostejši način v splošni uporabi, zdaj pa se že srečujemo z AES-GCM "v divjini." Glede na prednosti GCM se bo ta trend verjetno le nadaljeval. S kriptografske perspektive so tho9ugh, tako AES-CBC kot tudi AES-GCM, zelo varni.

OpenVPN UDP v primerjavi z OpenVPN TCP

OpenVPN lahko deluje preko TCP (protokola nadzora prenosa) ali UDP (User Datagram Protocol).

  • TCP = zanesljiv. Kadar koli računalnik pošlje omrežni paket s pomočjo TCP, čaka na potrditev, da je paket prispel, preden pošlje naslednji paket. Če potrditve ni prejeto, bo paket ponovno poslal. To je znano kot odpravljanje napak. Vseh podatkov je "zajamčena dobava", vendar lahko to poteka precej počasi.
  • UDP = hiter. Z uporabo UDP se tak popravek napak ne izvede. Paketi so preprosto poslani in prejeti brez potrditev ali ponovnih poskusov. Zaradi tega je UDP veliko hitrejši kot TCP, vendar manj zanesljiv.

Če imate možnost izbire, predlagam uporabo hitrejšega protokola UDP, razen če imate težave s povezavo. To je privzeta strategija, ki jo je sprejela večina ponudnikov VPN.

Poraz cenzure z OpenVPN na TCP vrata 443

Ena od velikih prednosti OpenVPN je, da ga je mogoče zagnati prek katerega koli pristanišča, vključno s TCP vrata 443. To je vrata, ki jih uporablja HTTPS, šifrirani protokol, ki varuje vsa varna spletna mesta.

Brez HTTPS ne bi bila mogoča nobena oblika spletnega poslovanja, kot je nakupovanje ali bančništvo. Zato je zelo redko, da se ta vrata blokirajo.

Kot bonus lahko promet VPN na TCP vrata 443 preusmerite znotraj šifriranja TLS na enak način, kot ga uporablja HTTPS. Zaradi tega je veliko težje opaziti uporabo naprednih tehnik globinskega pregledovanja paketov. TCP vrata 443 so torej najljubša vrata za izmikanje blokov VPN.

Številni ponudniki VPN ponujajo možnost spreminjanja številke vrat, ki jih uporablja OpenVPN, s pomočjo svoje programske opreme po meri.

Tudi če vašega ne, mnogi ponudniki VPN dejansko podpirajo OpenVPN s pomočjo vrat TCP 443 na ravni strežnika. Nanjo lahko preklopite s preprostim urejanjem vaše datoteke .vpn s konfiguracijo OpenVPN. Zato je vredno o tem povprašati svojega ponudnika VPN.

Omeniti velja, da omrežni inženirji ne marajo takšne taktike, saj je TCP nad TCP zelo neučinkovit. Ko pa gre za premagovanje cenzure, pa pogosto deluje.

SSTP privzeto uporablja vrata TCP 443.

Povzetki

VPN protokoli

  • PPTP je zelo negotov in se mu je treba izogibati. L2TP / IPsec ima enake prednosti, čeprav je enostavna nastavitev in združljivost na več platformah privlačna, zato je veliko bolj varen.
  • L2TP / IPsec je dobra VPN rešitev za nekritično uporabo. To še posebej velja za starejše naprave, ki ne podpirajo OpenVPN. Vendar pa je NSA močno ogrozila.
  • SSTP ponuja večino prednosti OpenVPN, v prvi vrsti pa je le protokol Windows. To sicer pomeni, da je bolje integriran v OS, vendar ga ponudniki VPN zaradi te omejitve slabo podpirajo. Poleg tega njegova lastniška narava in dejstvo, ki ga je ustvaril Microsoft, pomenita, da mu zaenkrat ne zaupam.
  • IKEv2 je zelo dober (varen in hiter) protokol. Zlasti uporabniki mobilne telefonije ga morda celo raje uporabljajo kot OpenVPN zaradi izboljšane zmožnosti ponovnega povezovanja, ko je prekinjena internetna povezava. Za uporabnike Blackberryja je skorajda edina možnost, ki je na voljo. Če je mogoče, uporabite odprtokodne različice.
  • OpenVPN je priporočeni protokol VPN v večini okoliščin. Je hiter, zanesljiv, varen in odprtokoden. Sama po sebi nima pravih pomanjkljivosti, toda za resnično varno je pomembno, da se dobro izvaja. To pomeni močno šifriranje s Perfect Forward Secrecy.

Šifriranje OpenVPN

Ko gre za šifriranje, je hudič v detajlih. Običajno je videti, da ponudniki VPN pravijo, da uporabljajo "izjemno močno 256-bitno" AES OpenVPN šifriranje, vendar nam to v resnici ne pove veliko. AES-256 je res močan šifrant, toda če so drugi vidiki šifrirnega paketa šibki, vaši podatki ne bodo varni.

  • Šifra - to ščiti vaše dejanske podatke. AES-256 je zdaj industrijski standard in ga priporočajo.
  • Rokovanje - s tem je zagotovljena vaša povezava s strežnikom VPN. RSA-2048 + ali ECDH-384 + sta varna. Pomembno sta stiskanja RSA-1024 in Diffie-Hellman ne.
  • Hash overjanje - ustvari edinstven prstni odtis, ki se uporablja za preverjanje podatkov in potrdil TLS (torej za preverjanje, ali je strežnik, na katerega se povezujete, res tisti, na katerega mislite, da se povezujete). HMAC SHA-1 je popolnoma v redu, vendar so HMAC SHA-2 (SHA-256, SHA-384 in SHA-512) in HMAC SHA-3 še bolj varni! Upoštevajte, da preverjanje pristnosti hash-a ni potrebno, če uporabite šifro AES-GCM.
  • Popolna tajnost za naprej (PFS) - to zagotavlja, da se za vsako sejo ustvarijo novi šifrirni ključi. OpenVPN ne bi smel veljati za varnega, razen če je uveden PFS. To je mogoče storiti bodisi z vključitvijo izmenjave ključev Diffie-Hellman ali ECDH v stisk roke RSA, bodisi s stiskanjem DH ali ECDH.
  • Šifriranje je le tako varno kot njegova najšibkejša točka. To pomeni, da morajo biti nastavitve šifriranja močne tako na podatkovnih kot tudi na nadzornih kanalih.
  • Uporaba večjih dolžin bitov za šifre in tipke je skoraj vedno bolj varna, vendar se to hitro poveča.

OpenVPN se bo po želji pogajal o šifrah med odjemalcem in strežnikom. Če niso določeni zelo specifični parametri, lahko OpenVPN privzeto nastavi šibke nastavitve. Vsaj OpenVPN privzeto nastavi šifro Blowfish-128, stisk roke RSA-1024 brez PFS in HMAC SHA-1 hash pristnosti.

Zaključek

Upajmo, da boste zdaj bolje razumeli, kaj pomeni varna povezava VPN. Ko gre za pravilno konfiguriranje VPN-ja, pa je šifriranje le polovica zgodbe. Druga polovica zagotavlja, da promet ne vstopi v računalnik ali ga ne zapusti zunaj povezave VPN.

Če želite izvedeti več o tem, si oglejte naš celotni vodnik za puščanje IP.

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