OpenVPN vs IKEv2 vs PPTP vs L2TP/IPSec vs SSTP – Ultimate Guide to VPN Encryption

ett virtuellt privat nätverk (VPN) krypterar all data när den reser mellan din dator och en VPN-server. I den här kompletta VPN-Krypteringsguiden tar vi en detaljerad titt på vad kryptering är och hur den används i VPN-anslutningar.

kanske viktigast av allt kommer vi att förklara utbudet av krypteringstermer som används av VPN-tjänster. Det är vårt hopp att du, efter att ha läst igenom den här guiden, kommer att få en större förståelse för detta komplexa ämne och att du bättre kan bedöma säkerhetsanspråk från VPN-leverantörer.

förberedelser

om du är osäker på vad en VPN är och vad man kan göra för dig, kolla in våra VPN för Nybörjarguide.

vårt mål är att presentera de viktigaste funktionerna i VPN-kryptering i så enkla termer som möjligt. Även om det inte går att komma undan, från det faktum att kryptering är ett komplext ämne.

om även termen kryptering får dina ögon att börja glasera, men du vill fortfarande veta vad du ska se upp för i en bra VPN-tjänst, kan du hoppa direkt till sammanfattningar med hjälp av innehållsförteckningen.

Vad Är Kryptering?

”börja från början,” sade kungen mycket allvarligt, ” och fortsätt tills du kommer till slutet: sluta sedan.”

Lewis Carroll, Alice i Underlandet

den enklaste analogin är att kryptering är ett lås. Om du har rätt nyckel är låset lätt att öppna. Om någon inte har rätt nyckel men vill komma åt innehållet i en starkbox (det vill säga dina data) skyddad av det låset, kan de försöka bryta låset.

på samma sätt som låset som säkrar ett bankvalv är starkare än det som säkrar en resväska, är viss kryptering starkare än annan kryptering.

om du vill ha en VPN med den starkaste krypteringen, kolla in vår säkraste VPN-lista för mer information.

grunderna

när du var liten spelade du någonsin spelet där du skapade ett ”hemligt meddelande” Genom att ersätta en bokstav i meddelandet med en annan? Substitutionen gjordes enligt en formel som valts av dig.

du kan till exempel ha ersatt varje bokstav i det ursprungliga meddelandet med en tre bokstäver bakom det i alfabetet. Om någon annan visste vad denna formel var, eller kunde lösa det, då skulle de kunna läsa ditt ”hemliga meddelande.”

i kryptografijargong var det du gjorde att ”kryptera” meddelandet (data) enligt en mycket enkel matematisk algoritm. Kryptografer hänvisar till denna formel som en ”chiffer.”För att dekryptera det behöver du nyckeln. Detta är en variabel parameter som bestämmer den slutliga utsignalen från chifferet. Utan denna parameter är det omöjligt att dekryptera chifferet.

om någon vill läsa ett krypterat meddelande men inte har nyckeln, måste de försöka ”knäcka” chifferet. När krypteringen använder en enkel bokstav substitution chiffer, sprickbildning det är lätt. Krypteringen kan dock göras säkrare genom att göra den matematiska algoritmen (chifferet) mer komplex.

du kan till exempel ersätta varje tredje bokstav i meddelandet med ett nummer som motsvarar bokstaven.

Krypteringsnyckellängd

moderna datorchiffer är mycket komplexa algoritmer. Även med hjälp av superdatorer är dessa mycket svåra att knäcka, om inte omöjliga för alla praktiska ändamål. Det grovaste sättet att mäta styrkan hos en chiffer är av komplexiteten hos algoritmen som används för att skapa den.

ju mer komplex algoritmen är, desto svårare är chifferet att knäcka med det vi kallar en brute force attack.

en brute force attack om en mycket primitiv form av attack är (även känd som en uttömmande nyckelsökning), innebär det i princip att man försöker varje kombination av siffror som är möjliga tills rätt nyckel hittas.

datorer utför alla beräkningar med binära tal: nollor och sådana. Komplexiteten hos en chiffer beror på dess nyckelstorlek i bitar – det råa antalet sådana och nollor som är nödvändiga för att uttrycka sin algoritm, där varje noll eller en representeras av en enda bit.

detta är känt som nyckellängden och representerar också den praktiska möjligheten att framgångsrikt utföra en brute force-attack på en viss chiffer.

antalet möjliga kombinationer (och därmed svårigheten att brute force dem) ökar exponentiellt med nyckelstorlek. Använda AES-chifferet (se senare):

 nyckelstorlek Cominations

för att sätta detta i perspektiv:

  • under 2011 var den snabbaste superdatorn i ordet Fujitsu K. Detta kunde ha en Rmax-topphastighet på 10, 51 petaflops. Baserat på denna siffra skulle det ta Fujitsu K 1.02 x 10^18 – cirka en miljard miljarder (en quintillion) – år att knäcka en 128-bitars AES-nyckel (Advanced Encryption Standard) med våld. Detta är äldre än universums ålder (13,75 miljarder år).
  • den mest kraftfulla superdatorn i världen nu (2017) är Sunway TaihuLight i Kina. Detta djur har en topphastighet på 93,02 petaflops. Det betyder att den mest kraftfulla datorn i världen fortfarande skulle ta cirka 885 quadrillion år för att brute force en 128-bitars AES-nyckel.
  • antalet operationer som krävs för att brute force en 256-bitars chiffer är 3,31 x 10^56. Detta är ungefär lika med antalet atomer i universum!

Datorchiffer

medan krypteringsnyckellängd avser mängden rånummer som är inblandade, är cifrar matematiken – de faktiska formlerna eller algoritmerna – som används för att utföra krypteringen. Som vi just har sett är brute att tvinga moderna datorchiffer väldigt opraktiskt.

det är svagheter (ibland avsiktliga) i dessa chifferalgoritmer som kan leda till att kryptering bryts. Detta beror på att utsignalen från den (dåligt utformade) chifferet fortfarande kan avslöja någon struktur från den ursprungliga informationen före kryptering. Detta skapar en reducerad uppsättning möjliga kombinationer att prova, vilket i själva verket minskar den effektiva nyckellängden.

Blowfish-chifferet är till exempel sårbart för en attack som utnyttjar matematiken bakom födelsedagsproblemet i sannolikhetsteori. Studien av svagheter i kryptografiska algoritmer kallas kryptoanalys.

längre nyckellängder kompenserar för sådana svagheter, eftersom de kraftigt ökar antalet möjliga resultat.

istället för att attackera själva chifferet kan en motståndare attackera själva nyckeln. Detta kan påverka en viss webbplats eller viss mjukvaruprodukt. Men säkerheten för chifferalgoritmen är fortfarande intakt, och andra system som använder samma algoritm men har en säker generering av nycklar påverkas inte av pausen.

Chiffernyckellängd

hur stark en chiffer är beror på både matematiken i själva chifferet, plus dess nyckellängd som uttryckt i bitar. Av denna anledning beskrivs cifrar vanligtvis tillsammans med den använda nyckellängden.

så AES-256 (AES-chifferet med en 256-bitars nyckellängd) anses vanligtvis vara starkare än AES-128. Observera att jag brukar säga för att vi har att göra med mycket komplex matematik här (Se mina anteckningar om AES senare).

notera Icon2 01 150x150

det är viktigt att notera att nyckellängden ensam inte är en bra indikator på en chifferstyrka. Det är kombinationen av nyckellängd och chiffer som betyder något. Cifrar som används för asymmetrisk kryptering använder till exempel mycket längre nyckelstorlekar än de som används för symmetrisk kryptering för att ge motsvarande skydd.

Nyckelstorleksjämförelse

denna tabell är lite föråldrad, eftersom den inte tar hänsyn till nyare attacker som har upptäckts på RSA. Det är också värt att notera att elliptisk kurva och Diffie-Hellman varianter av RSA är mycket starkare än traditionella. Men förhoppningsvis får du tanken.

 notera Icon2 01 150x150

en sak att notera är att ju högre nyckellängd, desto mer beräkning involverad, så desto mer processorkraft behövs. Detta påverkar hastigheten med vilken data kan krypteras och dekrypteras. VPN-leverantörer och liknande måste därför bestämma hur man bäst ska balansera säkerhet kontra praktisk användbarhet när man väljer krypteringssystem. Det finns några VPN-leverantörer som har lyckats hitta denna fina balans bra. För mer information, kolla in vår snabba VPN-guide.

vi diskuterar de viktigaste chiffer som används av olika VPN-protokoll lite senare, men de vanligaste chiffer som du sannolikt kommer att stöta på är Blowfish och AES. Utöver detta används RSA för att kryptera och dekryptera en chiffernycklar, och SHA-1 eller SHA-2 används som hashfunktion för att autentisera data.

asymmetrisk krypteringAsymmestric encryption

Perfect Forward Secrecy

Perfect Forward Secrecy (PFS) kallas också för att använda efemära krypteringsnycklar, eller bara Forward Secrecy (FS) av dem som är obekväma med att använda ordet ”perfect.”

de flesta moderna säker online-kommunikation bygger på SSL/TLS. Det används av HTTPS-webbplatser och OpenVPN-protokollet. TLS (Transport Layer Security) är ett asymmetriskt krypteringsprotokoll. Att använda en asymmetrisk chiffer innebär att data säkras med en offentlig nyckel, som görs tillgänglig för alla. Det kan dock bara dekrypteras av en avsedd mottagare som har rätt privat nyckel.

denna privata nyckel måste hållas hemlig. Om den blir stulen eller knäckt av en motståndare, kan den motståndaren enkelt fånga upp och läsa all kommunikation som säkras av den.

tyvärr är det vanligt att servrar eller till och med hela företag använder bara en privat krypteringsnyckel för att säkra all kommunikation. Varför? Eftersom det är lätt. Men om den nyckeln äventyras kan en angripare komma åt all kommunikation krypterad med den.

denna privata krypteringsnyckel blir därför en ”huvudnyckel” som kan användas för att låsa upp all kommunikation med en server eller ett företag. NSA är känt för att ha utnyttjat denna svaghet för att samla stora mängder av förmodligen säkra data.

lösningen är perfekt framåt Sekretess. Detta är ett system där en ny och unik privat krypteringsnyckel genereras för varje session. Det är en enkel ide, även om Diffie-Hellman exchange maths är komplex. Det betyder att varje TLS-session har sin egen uppsättning nycklar. Därför termen” efemära nycklar ” – de används en gång och försvinner sedan.

det finns därför ingen ”huvudnyckel” som kan utnyttjas. Även om en session äventyras är det bara den sessionen som äventyras – inte alla andra sessioner som någon har med den servern eller företaget!

även om det är ovanligt är det till och med möjligt att uppdatera PFS-nycklar inom en session (till exempel varje timme). Detta begränsar ytterligare mängden data som kan avlyssnas av en motståndare, även om en privat nyckel äventyras.

när jag skrev den här artikeln om ämnet för några år sedan var användningen av Perfect Forward-sekretess för både HTTPS-webbplatser och OpenVPN-anslutningar väldigt sällsynt. Lyckligtvis har denna situation förändrats något. Även om det inte alls är universellt har användningen av flyktiga nycklar ökat kraftigt sent.

VPN-krypteringsprotokoll

ett VPN-protokoll är den uppsättning instruktioner (mekanism) som används för att förhandla om en säker krypterad anslutning mellan två datorer. Ett antal sådana VPN-protokoll stöds vanligtvis av kommersiella VPN-tjänster. De mest anmärkningsvärda av dessa är PPTP, L2TP/IPSec, OpenVPN, SSTP och IKEv2.

jag tittar på var och en av dessa nedan, men OpenVPN är nu branschstandard VPN – protokoll som används av kommersiella VPN-tjänster-av goda skäl. Det är mycket säkert och kan användas på nästan alla VPN-kompatibla enheter. Jag kommer därför att spendera ytterligare digitalt bläck på att diskutera OpenVPN i detalj.

PPTP

fördelar

  • klient inbyggd i nästan alla plattformar
  • mycket lätt att ställa in

nackdelar

  • mycket osäker
  • definitivt komprometterad av den nsa
  • lätt blockerad

vad är PPTP?

det är bara ett VPN-protokoll och förlitar sig på olika autentiseringsmetoder för att ge säkerhet. Bland kommersiella VPN-leverantörer är detta nästan alltid MS-CHAP v2. Krypteringsprotokollet (liknar en standardkodning) som används av PPTP är Microsoft Point-to-Point Encryption (MPPE).

Point-to-Point Tunneling Protocol (PPTP) utvecklades av ett konsortium grundat av Microsoft för att skapa VPN över uppringda nätverk. Som sådan har PPTP länge varit standardprotokollet för företags VPN-nätverk.

PPTP finns som standard på nästan alla VPN-kapabla plattformar och enheter. Det är enkelt att installera, utan att behöva installera ytterligare programvara. Detta säkerställer att PPTP förblir ett populärt val både för affärs VPN och kommersiella VPN-tjänster.

det har också fördelen att det krävs en låg beräkningskostnad för att implementera… så det är snabbt!

tyvärr är PPTP inte säkert. Alls. Även om det nu vanligtvis bara hittades med 128-bitars krypteringsnycklar, under åren sedan det först buntades med Windows 95 OSR2 tillbaka 1999, har ett antal säkerhetsproblem kommit fram.

den allvarligaste av dessa är möjligheten att un-inkapslad MS-CHAP v2 autentisering. Med hjälp av detta utnyttjande har PPTP knäckts inom två dagar. Microsoft har patchat felet, men har själv utfärdat en rekommendation att använda L2TP/IPsec eller SSTP istället.

det borde inte bli någon överraskning att NSA nästan säkert dekrypterar PPTP-krypterad kommunikation som standard. Ännu mer oroande är att NSA samlade stora mängder äldre data som krypterades tillbaka när PPTP ansågs säker. Det kan nästan säkert dekryptera Denna äldre data också.

PPTP kräver både TCP-port 1723 och GRE-protokollet. Det är lätt att brandvägg GRE, vilket gör det enkelt att blockera PPTP-anslutningar.

L2TP / IPsec

fördelar

  • brukar anses säkra
  • lätt att installera
  • finns på alla moderna plattformar
  • snabbare än OpenVPN (kanske)

nackdelar

  • kan äventyras av NSA (obevisad)
  • sannolikt medvetet försvagad av NSA (obevisad)
  • kan kämpa med restriktiva brandväggar
  • ofta implementerad dåligt

Vad är L2TP och IPsec?

Layer 2 Tunneling Protocol (L2TP) är inbyggt i nästan alla moderna operativsystem och VPN-kompatibla enheter. Det är därför lika enkelt och snabbt att installera som PPTP.

på egen hand tillhandahåller L2TP ingen kryptering eller konfidentialitet för trafik som passerar genom den, så den implementeras vanligtvis med IPsec authentication suite (L2TP/IPsec). Även om en leverantör endast hänvisar till antingen L2TP eller IPsec (som vissa gör), betyder det nästan säkert faktiskt L2TP/IPSec.

L2TP/IPsec kan använda antingen 3DES eller AES-chiffer. 3DES är sårbart för Meet-in-the-middle och Sweet32 kollisionsattacker, så i praktiken är det osannolikt att du stöter på det idag.

problem kan uppstå eftersom L2TP/IPSec-protokollet endast använder ett begränsat antal portar. Detta kan orsaka komplikationer när de används bakom NAT-brandväggar. Detta beroende av fasta portar gör också protokollet ganska enkelt att blockera.

L2TP/IPsec inkapslar data två gånger, vilket saktar ner saker. Detta kompenseras av det faktum att kryptering/dekryptering sker i kärnan och L2TP/IPsec tillåter multi-threading. OpenVPN gör det inte. Resultatet är att L2TP / IPsec är teoretiskt snabbare än OpenVPN.

L2TP/IPsec som använder AES-chifferet har inga större kända sårbarheter, och om det är korrekt implementerat kan det fortfarande vara säkert. Edward Snowdens avslöjanden har dock starkt antytt att standarden äventyras av NSA.

John Gilmore är en säkerhetsspecialist och grundare av Electronic Frontier Foundation. Han förklarar att det är troligt att IPSec medvetet försvagades under sin designfas.

ett förmodligen mycket större problem är att många VPN-tjänster implementerar L2TP/IPsec dåligt. Specifikt använder de fördelade nycklar (PSK) som kan laddas ner fritt från deras webbplatser.

dessa PSK: er används endast för att autentisera anslutningen, så även om de äventyras förblir data säkert krypterade med AES. En angripare kan dock använda den fördelade nyckeln för att efterlikna en VPN-server. Det kan sedan avlyssna krypterad trafik eller till och med injicera skadlig data i anslutningen.

Obs Icon2 01 150x150

sammanfattning

trots vissa i stort sett teoretiska problem anses L2TP/IPsec allmänt vara säkert om Öppet publicerade fördelade nycklar inte används. Dess inbyggda kompatibilitet med många enheter kan göra det till ett mycket bra val.

SSTP

fördelar

  • mycket säker
  • helt integrerad i Windows
  • Microsoft support
  • kan kringgå de flesta brandväggar

nackdelar

  • proprietär standard som ägs av Microsoft

vad är SSTP?

SSTP är en typ av kryptering som använder SSL 3.0 och erbjuder liknande fördelar med OpenVPN. Detta inkluderar möjligheten att använda TCP-port 443 för att undvika censur. Tät integration med Windows kan göra det enklare att använda och stabilare än OpenVPN på den plattformen.

till skillnad från OpenVPN är SSTP dock en egen standard som ägs av Microsoft. Detta innebär att koden inte är öppen för offentlig granskning. Microsofts historia att samarbeta med NSA och spekulationer om möjliga bakdörrar inbyggda i Windows-operativsystemet, inspirerar inte förtroendet för standarden.

Secure Socket Tunneling Protocol (SSTP) introducerades av Microsoft i Windows Vista SP1. Även om det nu är tillgängligt för Linux VPN, och till och med Mac OS X, är det fortfarande främst en Windows-plattform.

ett annat problem är att SSL v3.0 är sårbart för det som kallas POODLE attack, och rekommenderas därför inte. Huruvida denna fråga också påverkar SSTP är oklart, men återigen inspirerar knappast förtroendet.

notera Icon2 01 150x150

sammanfattning

på papper, SSTP erbjuder många av fördelarna med OpenVPN. Att vara en proprietär Microsoft-standard undergräver dock sin trovärdighet.

IKEv2

fördelar

  • snabb
  • stabil-speciellt när du byter nätverk eller återansluter efter en förlorad internetanslutning
  • säker (om AES används)
  • lätt att installera (åtminstone i användaränden!)
  • protokollet stöds på Blackberry-enheter

nackdelar

  • stöds inte på många plattformar
  • att implementera IKEv2 i serveränden är knepigt, vilket är något som potentiellt kan leda till problem som utvecklas
  • lita bara på Open source-implementeringar

vad är IKEv2?

Internet Key Exchange version 2 (IKEv2) utvecklades gemensamt av Microsoft och Cisco. Det stöds naturligt av Windows 7+, Blackberry och iOS-enheter. Det är därför många iOS VPN-tjänster använder IKEv2 istället för OpenVPN.

oberoende utvecklade kompatibla versioner av IKEv2 har utvecklats för Linux och andra operativsystem. Många av dessa iterationer är öppen källkod. Som alltid föreslår jag att jag är försiktig med allt som utvecklats av Microsoft. Open source-versioner av IKEv2 borde dock inte ha några problem.

IKEv2 är en del av IPsec-protokollsviten. Det säkerställer att trafiken är säker genom att lämna sa (Security Association) attribut inom IPsec och förbättrar IKEv1 på många sätt. IKEv2 kallas alltså ibland IKEv2 / IPsec. IKEv1, å andra sidan, kallas ofta helt enkelt IPsec.

IKEv2 kallas VPN Connect av Microsoft och är särskilt bra på att automatiskt återupprätta en VPN-anslutning när användare tillfälligt tappar sina Internetanslutningar. Till exempel när du går in eller lämnar en tågtunnel.

på grund av sitt stöd för Mobility and Multihoming (MOBIKE) – protokollet är IKEv2 också mycket motståndskraftig mot förändrade nätverk. Detta gör IKEv2 till ett utmärkt val för mobiltelefonanvändare som regelbundet växlar mellan WiFi-hem och mobila anslutningar, eller som regelbundet flyttar mellan hotspots.

IKEv2 är inte lika vanligt som L2TP/IPSec som det stöds på många färre plattformar (även om denna situation förändras snabbt). Det anses dock vara minst lika bra som, om inte överlägsen, L2TP/IPsec när det gäller säkerhet, prestanda (hastighet), stabilitet och förmågan att upprätta (och återupprätta) en anslutning.

OpenVPN

fördelar

  • mycket säker (om PFS används)
  • mycket konfigurerbar
  • öppen källkod
  • kan kringgå brandväggar
  • behöver programvara från tredje part

Vad är OpenVPN?

OpenVPN är en öppen källkodsteknik som använder OpenSSL-biblioteket och TLS-protokollen, tillsammans med en sammanslagning av andra tekniker, för att ge en stark och pålitlig VPN-lösning. Det är nu branschstandard VPN-protokoll som används av kommersiella VPN-tjänster-av goda skäl.

en av OpenVPN: s stora styrkor är att den är mycket konfigurerbar. Det stöds naturligt av ingen plattform, men är tillgängligt på de flesta plattformar via programvara från tredje part. Anpassade OpenVPN-klienter och appar är ofta tillgängliga från enskilda VPN-leverantörer, men kärnan med öppen källkod är utvecklad av OpenVPN-projektet.

många utvecklare och bidragsgivare till OpenVPN-projektet arbetar också för OpenVPN Technologies Inc., som övervakar projektet.

OpenVPN körs bäst på en UDP-port, men den kan ställas in för att köras på vilken port som helst (se anteckningar senare). Detta inkluderar TCP-port 443, som används av vanlig HTTPS-trafik. Att köra OpenVPN över TCP-port 443 gör det svårt att säga VPN-anslutningar förutom den typ av säkra anslutningar som används av banker, e-posttjänster och onlinehandlare. Detta gör OpenVPN mycket svårt att blockera.

en annan fördel med OpenVPN är att OpenSSL-biblioteket som används för att tillhandahålla kryptering stöder ett antal chiffer. I praktiken används dock endast Blowfish och AES vanligtvis av kommersiella VPN-tjänster. Jag diskuterar dessa nedan.

mot bakgrund av information som erhållits från Edward Snowden verkar det som om så länge Perfect Forward-Sekretess används, har OpenVPN inte äventyrats eller försvagats av NSA.

en nyligen crowdsourced granskning av OpenVPN är nu klar, liksom en annan som finansieras av Privat Internetåtkomst. Inga allvarliga sårbarheter som påverkar användarnas integritet upptäcktes. Ett par sårbarheter upptäcktes som gjorde OpenVPN-servrar potentiellt öppna för en DoS-attack (Denial of Service), men dessa har korrigerats i OpenVPN 2.4.2.

OpenVPN anses vanligtvis som det säkraste VPN-protokollet som finns tillgängligt och stöds allmänt i VPN-industrin. Jag kommer därför att diskutera OpenVPN-kryptering i detalj nedan.

OpenVPN – kryptering

OpenVPN-kryptering består av två delar-datakanalkryptering och kontrollkanalkryptering. Datakanalkryptering används för att säkra dina data. Kontrollkanalkryptering säkrar anslutningen mellan din dator och VPN-servern.

varje försvar är bara lika starkt som sin svagaste punkt, så det är olyckligt att vissa VPN-leverantörer använder en mycket starkare kryptering på en kanal än den andra (vanligtvis starkare på kontrollkanalen).

det är inte ovanligt att till exempel se en VPN-tjänst som annonseras som en AES-256-chiffer med RSA-4096 handskakningskryptering och SHA-512 hash-autentisering. Detta låter väldigt imponerande tills du inser att det bara hänvisar till kontrollkanalkryptering och inte datakanalen, som är krypterad med enbart Blowfish-128 med SHA1 hash-autentisering. Detta görs endast av marknadsföringsskäl.

om olika kryptering används på data-och kontrollkanalerna, mäts den verkliga styrkan i OpenVPN-anslutningen av den svagare krypteringssviten som används.

för maximal säkerhet bör både data-och kontrollkanalkryptering vara så stark som möjligt. Ju starkare krypteringen används, desto LÅNGSAMMARE blir anslutningen, varför vissa leverantörer scrimp på datakanalkryptering.

Kontrollkanalkryptering kallas också TLS-kryptering eftersom TLS är den teknik som används för att säkert förhandla om anslutningen mellan din dator och VPN-servern. Detta är samma teknik som används av din webbläsare för att säkert förhandla om en anslutning till en HTTPS-krypterad webbplats.

  • Kontrollkanalkryptering består av en chiffer, handskakningskryptering och hash-autentisering.
  • datakanalkryptering består av en chiffer och hash-autentisering.

VPN-leverantörer använder ofta samma krypteringsnivå för både kontroll-och datakanaler. I våra recensioner och ”trafikljus” – tabeller listar vi dem bara separat om olika värden används för varje kanal.

om vi anger att en leverantör använder en AES-256-chiffer betyder det att en AES-256-chiffer används för både kontroll-och datakanaler.*

(*detta borde vara fallet, åtminstone. Vissa äldre recensioner uppfyller inte våra nuvarande riktlinjer, men dessa bör fasas ut i tid).

chiffer

OpenVPN kan använda ett antal symmetriska nyckelchiffer för att säkra data på både kontroll-och datakanaler. I praktiken är de enda som används av kommersiella VPN-leverantörer Blowfish, AES och (mycket sällan) Camellia.

Blowfish

Blowfish-128 är standardkodning som används av OpenVPN. Nyckelstorlekar kan i teorin sträcka sig från 32 bitar till 448 bitar, men Blowfish-128 är den enda versionen du sannolikt kommer att stöta på i naturen.

Blowfish anses ofta vara tillräckligt säkert för tillfälliga ändamål, men har kända svagheter. Det skapades av den kända kryptografen Bruce Schneier, som 2007 sa: ”vid denna tidpunkt är jag dock förvånad över att den fortfarande används.”

enligt vår uppfattning är användningen av Blowfish-128 acceptabel som en andra försvarslinje på OpenVPN-datakanalen. Det bör dock inte anses vara säkert när det används på kontrollkanalen.

AES

AES har blivit VPN branschövergripande ”guldstandard” symmetrisk nyckel chiffer. AES är NIST-certifierad och anses nästan allmänt vara mycket säker. AES – 256 används av den amerikanska regeringen för att skydda ”säkra” data.

det faktum att den har en 128-bitars blockstorlek snarare än Blowfishs 64-bitars blockstorlek innebär också att den kan hantera större filer (över 4 GB) bättre än Blowfish. Utöver detta drar AES-instruktionsuppsättningen nytta av inbyggd hårdvaruacceleration på de flesta plattformar.

AES finns vanligtvis i 128-bitars och 256-bitars nyckelstorlekar (192-bitars AES finns också). AES – 128 förblir säker så långt som någon är medveten. Med tanke på vad vi nu vet om omfattningen av NSA: s angrepp på krypteringsstandarder är de flesta experter dock överens om att AES-256 ger en högre säkerhetsmarginal.

bara för att säkerställa att ingen någonsin finner detta ämne för lätt, men det finns en viss debatt om denna fråga. AES-128 har ett starkare nyckelschema än AES-256, vilket får några mycket framstående experter att hävda att AES-128 faktiskt är starkare än AES-256.

det allmänna samförståndet är dock att AES-256 är starkare.

Camellia

Camellia är en modern säker chiffer och är minst lika säker och snabb som AES. Den finns i nyckelstorlekar på 128, 192 och 256 bitar. Tack vare NIST-certifiering och dess användning av den amerikanska regeringen används emellertid AES nästan alltid istället för Kamelia.

men som jag diskuterar nedan finns det skäl att inte lita på NIST-certifierade cifrar. Det faktum att Camellia är en icke-NIST-chiffer är den främsta anledningen att välja den över AES. Det här alternativet är dock bara sällan tillgängligt.

det är också värt att notera att Camellia inte är nästan lika vältestad för svaghet som AES.

Handskakningskryptering

för att säkert förhandla om en anslutning mellan din enhet och en VPN-server använder OpenVPN ett TLS-handslag. Detta gör det möjligt för OpenVPN-klienten och VPN-servern att fastställa de hemliga nycklarna som de kommunicerar med.

för att skydda detta handslag använder TLS vanligtvis RSA public key cryptosystem. Detta är en krypterings-och digital signaturalgoritm som används för att identifiera TLS/SSL-certifikat. Det kan dock också använda en Diffie-Hellman eller ECDH nyckelutbyte istället.

RSA

RSA är ett asymmetriskt krypteringssystem – en offentlig nyckel används för att kryptera data, men en annan privat nyckel används för att dekryptera den. Det har varit grunden för säkerheten på internet under de senaste 20 åren eller så.

det är nu väletablerat att RSA med en nyckellängd på 1024 bitar (RSA-1024) eller mindre inte är säker och nästan säkert har knäckts av NSA. Det har följaktligen skett ett samordnat drag bland Internetföretag att migrera bort från RSA-1024.

tyvärr fortsätter vi fortfarande att hitta vissa VPN-tjänster att använda RSA-1024 för att skydda handskakningar. Det här är inte bra.

RSA-2048 och högre anses fortfarande vara säkert. På egen hand ger RSA inte Perfect Forward Secrecy (PFS). Detta kan dock implementeras genom att inkludera en Diffie-Hellman (DH) eller elliptisk kurva Diffie-Hellman (ECDH) nyckelutbyte i sin chiffersvit.

i detta fall spelar styrkan hos DH-eller ECDH-nyckeln ingen roll eftersom den bara används för att ge perfekt Framåtsekretess. Anslutningen är säkrad med RSA.

eftersom det kan orsaka förvirring, noterar jag också att RSA-kryptosystemet inte har något att göra med det disgraced amerikanska teknikföretaget RSA Security LLC. Detta företag försvagade medvetet sina flaggskepp BSAFE-krypteringsprodukter efter att ha mutats 10 miljoner dollar av NSA.

Diffie-Hellman och ECDH

en alternativ (rival) handskakningskryptering som ibland används av OpenVPN är Diffie-Hellman (DH) kryptografisk nyckelutbyte. Detta har vanligtvis en nyckellängd på 2048 bitar eller 4096 bitar. Observera att något mindre än DH-2048 bör undvikas på grund av mottaglighet för logjam-attacken.

den största fördelen med en Diffie-Hellman handskakning över RSA är att det naturligt ger perfekt framåt Sekretess. Som redan nämnts uppnår emellertid helt enkelt att lägga till en DH-nyckelutbyte till ett RSA-handslag ett liknande slut.

Diffie-Hellman har orsakat stor kontrovers över dess återanvändning av en begränsad uppsättning primtal. Detta gör det sårbart för att bli knäckt av en kraftfull motståndare, som NSA. Diffie-Hellman på egen hand gör därför inte säker handskakningskryptering. Det är bra, men när den används som en del av en RSA chiffer svit.

elliptisk kurva Diffie-Hellman (ECDH) är en nyare form av kryptografi som inte är sårbar för denna attack. Detta beror på att det använder egenskaperna för en viss typ av algebraisk kurva istället för stora primtal för att kryptera anslutningar.

ECDH kan användas som en del av ett RSA-handslag för att ge perfekt Framåtsekretess, eller kan säkert kryptera ett handslag på egen hand (med en ECDSA-signatur). Detta ger också PFS.

ECDH-nyckellängden börjar vid 384-bitar. Detta anses vara säkert, men när det används på egen hand för att säkra en TLS-handskakning, ju längre desto bättre (när det gäller säkerhet, ändå).

SHA Hash-autentisering

detta kallas också data authentication eller hash message authentication code (HMAC).

Secure Hash Algorithm (SHA) är en kryptografisk hashfunktion som används (bland annat) för att autentisera data och SSL/TLS-anslutningar. Detta inkluderar OpenVPN-anslutningar.

det skapar ett unikt fingeravtryck av ett giltigt TLS-certifikat, som kan valideras av alla OpenVPN-klienter. Även den minsta förändringen är detekterbar. Om certifikatet manipuleras kommer detta omedelbart att upptäckas och anslutningen vägras.

detta är viktigt för att förhindra en MITM-attack (man-in-the-middle), där en motståndare försöker avleda din OpenVPN-anslutning till en av sina egna servrar istället för din VPN-leverantör. Det kan till exempel göra detta genom att hacka din router.

om en motståndare kan knäcka hash för din leverantörs äkta TLS-certifikat kan det vända hash för att skapa ett förfalskat certifikat. Din öppna VPN-programvara skulle då autentisera anslutningen som äkta.

är SHA säkert?

när det används för att skydda HTTPS-webbplatser är SHA-1 bruten. Detta har varit känt under en tid. SHA-1-webbplatser kan fortfarande hittas, men fasas ut. De flesta webbläsare kommer nu att utfärda en varning när du försöker ansluta till en webbplats som är säkrad med SHA-1.

SHA-2 och SHA-3 hashfunktioner rekommenderas nu istället och är säkra. SHA-2 inkluderar SHA-256, SHA-384 och SHA-512. Men …

OpenVPN använder bara SHA för HMAC. Jag tycker inte att det är bra att gå in för mycket detaljer här, men SHA hash-autentisering är en del av HMAC-algoritmen. Att attackera HMAC inbäddad med SHA-1 är mycket svårare än att bara attackera SHA-1-hashfunktionen själv.

med andra ord, HMAC SHA-1 som används av OpenVPN anses vara säker och det finns matematiska bevis på detta. Naturligtvis är HMAC SHA-2 och HMAC SHA-3 ännu säkrare! Faktum är att den senaste OpenVPN-granskningen erkänner att HMAC SHA-1 är säker, men rekommenderar att man övergår till HMAC SHA-2 eller HMAC SHA-3 istället.

anteckningar

NIST

AES, RSA, SHA-1 och SHA-2 utvecklades och/eller certifierades av USA: s nationella institut för standarder och teknik (NIST). Detta är en kropp som genom egen upptagning arbetar nära med NSA i utvecklingen av sina cifrar.

med tanke på vad vi nu vet om NSA: s systematiska ansträngningar för att försvaga eller bygga bakdörrar till internationella krypteringsstandarder, finns det all anledning att ifrågasätta integriteten hos NIST-algoritmer.

NIST avvisar naturligtvis starkt sådana anklagelser:

”NIST skulle inte medvetet försvaga en kryptografisk standard.”

det har också bjudit in allmänhetens deltagande i ett antal kommande föreslagna krypteringsstandarder, i ett drag som syftar till att stärka allmänhetens förtroende.

New York Times anklagade emellertid NSA för att kringgå NIST-godkända krypteringsstandarder genom att antingen införa odetekterbara bakdörrar eller undergräva den offentliga utvecklingsprocessen för att försvaga algoritmerna.

denna misstro förstärktes ytterligare när RSA Security (en division av EMC) privat berättade för kunderna att sluta använda en krypteringsalgoritm som enligt uppgift innehåller en fel konstruerad av NSA. Denna algoritm hade också godkänts av NIST.

dessutom är Dual_EC_DRBG (Dual Elliptic Curve deterministic Random Bit Generator) en krypteringsstandard konstruerad av NIST. Det har varit känt att det är osäkert i flera år.

under 2006 Eindhoven University of Technology i Nederländerna noterade att en attack mot det var lätt att starta på ”en vanlig dator.”Microsofts ingenjörer flaggade också upp en misstänkt bakdörr i algoritmen.

trots dessa bekymmer, där NIST leder, följer branschen. Microsoft, Cisco, Symantec och RSA inkluderar alla algoritmen i produktens kryptografiska bibliotek. Detta beror till stor del på att överensstämmelse med NIST-standarder är en förutsättning för att få amerikanska regeringskontrakt.

NIST-certifierade kryptografiska standarder är ganska allestädes närvarande över hela världen, inom alla branscher och företag som är beroende av integritet. Detta gör hela situationen ganska kylig.

kanske just för att så mycket förlitar sig på dessa standarder har kryptografiexperter varit ovilliga att möta problemet.

AES-CBC vs AES-GCM

tills nyligen var den enda AES-chiffer som du sannolikt skulle stöta på i VPN-världen AES-CBC (Cipher Block Chaining). Detta hänvisar till block cipher-läget, ett komplext ämne som inte är värt att gå in här. Även om CBC teoretiskt kan ha vissa sårbarheter är det allmänna samförståndet att CBC är säkert. CBC rekommenderas verkligen i OpenVPN-manualen.

OpenVPN stöder nu också AES-GCM (Galios/Counter-läge).

  • GCM tillhandahåller autentisering, vilket tar bort behovet av en HMAC SHA hashing-funktion.
  • det är också något snabbare än CBC eftersom det använder hårdvaruacceleration (genom att tråda till flera processorkärnor).

AES-CBC är fortfarande det vanligaste läget i allmänhet, men vi börjar nu stöta på AES-GCM ”i naturen.”Med tanke på fördelarna med GCM kommer denna trend troligen bara att fortsätta. Ur ett kryptografiskt perspektiv är tho9ugh, både AES-CBC och AES-GCM mycket säkra.

OpenVPN UDP vs. OpenVPN TCP

OpenVPN kan köras över TCP (Transmission Control Protocol) eller UDP (User Datagram Protocol).

  • TCP = pålitlig. När en dator skickar ett nätverkspaket med TCP väntar den på bekräftelse på att paketet har anlänt innan nästa paket skickas. Om ingen bekräftelse tas emot skickas paketet igen. Detta kallas felkorrigering. Det finns ”garanterad leverans” av all data, men det kan vara ganska långsamt.
  • UDP = snabb. Med UDP utförs ingen sådan felkorrigering. Paket skickas enkelt och tas emot utan bekräftelser eller försök. Detta gör UDP mycket snabbare än TCP, men mindre tillförlitlig.

om du får valet föreslår jag att du använder det snabbare UDP-protokollet om du inte får anslutningsproblem. Detta är standardstrategin som antagits av de flesta VPN-leverantörer.

besegra censur med OpenVPN på TCP-Port 443

en av de stora fördelarna med OpenVPN är att den kan köras över vilken port som helst, inklusive TCP-port 443. Detta är porten som används av HTTPS, det krypterade protokollet som säkrar alla säkra webbplatser.

utan HTTPS skulle ingen form av onlinehandel, som shopping eller bank, vara möjlig. Det är därför mycket sällsynt att denna port blockeras.

som en bonus kan VPN-trafik på TCP-port 443 dirigeras inuti TLS-krypteringen på samma sätt som används av HTTPS. Detta gör det mycket svårare att upptäcka med hjälp av avancerade djupa Paketinspektionstekniker. TCP-port 443 är därför den gynnade porten för att undvika VPN-block.

många VPN-leverantörer erbjuder möjligheten att ändra portnumret som används av OpenVPN med hjälp av deras anpassade programvara.

även om din inte gör det, stöder många VPN-leverantörer faktiskt OpenVPN med TCP-port 443 på servernivå. Du kan byta till det med en enkel redigering till din OpenVPN-konfiguration (.ovpn) fil. Det är därför värt att fråga din VPN-leverantör om detta.

det är värt att notera att nätverksingenjörer ogillar denna taktik eftersom TCP över TCP är mycket ineffektivt. När det gäller att besegra censur fungerar det dock ofta.

SSTP använder TCP-port 443 som standard.

sammanfattningar

VPN-protokoll

  • PPTP är mycket osäkert och bör undvikas. Medan dess enkla installation och plattformskompatibilitet är attraktiva, har L2TP/IPsec samma fördelar och är mycket säkrare.
  • L2TP / IPsec är en bra VPN-lösning för icke-kritisk användning. Detta gäller särskilt på äldre enheter som inte stöder OpenVPN. Det har dock allvarligt äventyrats av NSA.
  • SSTP erbjuder de flesta fördelarna med OpenVPN, men är främst bara ett Windows-protokoll. Detta betyder att det är bättre integrerat i operativsystemet, men det stöds dåligt av VPN-leverantörer tack vare denna begränsning. Utöver detta betyder dess proprietära natur och det faktum att det skapades av Microsoft att jag för en inte litar på det.
  • IKEv2 är ett mycket bra (säkert och snabbt) protokoll. Särskilt mobila användare kan till och med föredra att OpenVPN på grund av dess förbättrade förmåga att återansluta när en Internetanslutning avbryts. För Blackberry-användare är det ganska mycket det enda tillgängliga alternativet. Använd Open source-versioner där det är möjligt.
  • OpenVPN är det rekommenderade VPN-protokollet under de flesta omständigheter. Det är snabbt, pålitligt, säkert och öppen källkod. Det har inga riktiga nackdelar, i sig., men för att vara riktigt säker är det viktigt att det genomförs väl. Detta innebär stark kryptering med perfekt framåt Sekretess.

OpenVPN-kryptering

när det gäller kryptering är djävulen i detalj. Det är vanligt att VPN-leverantörer säger att de använder ”ultrastark 256-bitars” AES OpenVPN-kryptering, men det säger inte i verkligheten mycket. AES-256 är verkligen en stark chiffer, men om andra aspekter av krypteringssviten som används är svaga, kommer dina data inte att vara säkra.

  • chiffer – detta skyddar dina faktiska data. AES – 256 är nu branschstandard och rekommenderas.
  • Handshake-detta säkrar din anslutning till VPN-servern. RSA-2048 + eller ECDH-384 + är säkra. Viktigt RSA-1024 och Diffie-Hellman handskakningar är inte.
  • Hash – autentisering-skapar ett unikt fingeravtryck som används för att validera data och TLS-certifikat (det vill säga för att kontrollera att servern du ansluter till verkligen är den du tror att du ansluter till). HMAC SHA-1 är helt bra, men HMAC SHA-2 (SHA-256, SHA-384 och SHA-512) och HMAC SHA-3 är ännu säkrare! Observera att hashautentisering inte krävs om AES-GCM-chifferet används.
  • Perfect Forward Secrecy (PFS) – detta säkerställer att nya krypteringsnycklar skapas för varje session. OpenVPN bör inte betraktas som säkert om inte PFS implementeras. Detta kan göras antingen genom att inkludera en Diffie-Hellman eller ECDH nyckelutbyte i en RSA handskakning, eller en DH eller ECDH handskakning.
  • kryptering är bara så säker som sin svagaste punkt. Detta innebär att krypteringsinställningarna ska vara starka på både data-och kontrollkanalerna.
  • att använda högre bitlängder för cifrar och nycklar är nästan alltid säkrare, men det kostar en hastighet.

OpenVPN kommer att förhandla chiffer mellan klient och server efter behag. Om inte mycket specifika parametrar definieras kan OpenVPN vara standard för svaga inställningar. Som ett minimum kommer OpenVPN som standard att Blowfish-128 chiffer, RSA-1024 handskakning utan PFS och HMAC SHA-1 hash-autentisering.

slutsats

förhoppningsvis har du nu en bättre förståelse för vad som gör en säker VPN-anslutning. När det gäller att konfigurera en VPN korrekt är kryptering dock bara hälften av historien. Den andra hälften är att se till att ingen trafik kommer in eller lämnar din dator utanför VPN-anslutningen.

för att lära dig mer om detta, kolla in vår kompletta Guide till IP-läckor.

Lämna ett svar

Din e-postadress kommer inte publiceras.