Ofte stillede spørgsmål
For et par år siden udgav et team af sikkerhedseksperter en artikel, der beskriver et angreb, der kan bryde en IKEv1 Aggressive Mode Pre-Shared Key forbindelse ved hjælp af et angreb, som dog ikke ville være lige så muligt med en IKEv1 Main Mode Pre-Shared Key forbindelse, hvilket førte til den fejlagtige antagelse, at Aggressive Mode i sagens natur er usikker. Denne påstand bakkes dog ikke op af objektive fakta. Hvad de fleste mennesker ikke ved, er at en del af dette angreb var evnen til at gætte Pre-Shared Key (PSK) ved hjælp af et brute force angreb, og sådan et brute force angreb kan kun lykkes, hvis PSK'en er svag. En PSK er også bare en adgangskode, og som med enhver adgangskode fører valg af en svag adgangskode altid til dårlig sikkerhed. Så længe din PSK er mindst 14 tegn lang (jo længere jo bedre), består af små bogstaver, store bogstaver og tal, og er genereret tilfældigt, så det er umuligt at gætte den på nogen måde, og så længe din fase 1 hash algoritme er mindst SHA1 (eller bedre, vi anbefaler SHA-256 hvis muligt), er der absolut ingen grund til at betragte IKEv1 Aggressive Mode med Pre-Shared Key som mindre sikker end IKEv1 Main Mode med Pre-Shared Key. Hvis du vil være endnu mere sikker, skal du skifte til certifikatbaseret godkendelse i stedet for PSK, hvis det er muligt, da angrebet så slet ikke er muligt.
Teknisk baggrund:
Pre-Shared Key (PSK) er ikke en adgangskode, der bruges til at kryptere data, den bruges udelukkende til godkendelse, ligesom når du logger ind på et websted med et brugernavn og en adgangskode. Under fase 1 skal begge sider bevise over for hinanden, at de kender PSK'en. Dette kan ikke gøres ved blot at sende den til den anden side, da hvis den anden side ikke kendte den før, vil den kende den efter modtagelsen. I stedet beregner begge sider et tal (et hash-digests) ud fra data, de hidtil har udvekslet (data, der vil være forskellige hver gang du starter en ny forbindelse, hvilket sikrer, at den beregnede værdi også er det), og PSK'en. Kun dette digest sendes til den anden side. Den anden side kan nu verificere digester ved at udføre de samme beregninger og sammenligne resultatet med det modtagne digest. Hvis begge er ens, skal afsenderen have brugt den samme PSK i beregningen, hvilket beviser kendskab til PSK'en. Derefter beregner modtageren også et sådant digest ved hjælp af en let anden formel end før, hvilket fører til et helt andet resultat, og sender det tilbage som svar for også at bevise sin viden.
Forskellen mellem Main Mode og Aggressive Mode er simpelthen, at i Main Mode udveksles digester krypteret, fordi session key exchange allerede har forhandlet en session encryption key, da digester udveksles, mens den i Aggressive Mode udveksles ukrypteret som en del af nøgleudvekslingen, der vil føre til en sessionsnøgle. Ved at spionere på etableringen af en Aggressive Mode forbindelse var angriberne i stand til at få digester samt alle værdier, der er nødvendige for at beregne dette digest, undtagen selve PSK'en. Bemærk dog, at dette alene ikke betyder, at forbindelsen allerede er brudt, det betyder kun, at angriberne nu har nok data til at begynde at gætte PSK'en ved hjælp af et brute force eller dictionary attack. Kun hvis PSK'en er for svag til at modstå disse angreb og angriberne er i stand til korrekt at gætte den, vil forbindelsen blive brudt. Derfor er en god, sikker PSK essentiel.
Det samme angreb er faktisk også muligt med en Main Mode PSK forbindelse, det kræver bare lidt mere arbejde. For en Main Mode forbindelse er det ikke nok blot at spionere på trafikken, angriberne skal udføre et såkaldt Man-in-the-Middle (MitM) angreb, der giver dem mulighed for at fange og manipulere al udvekslet trafik. Ved at udføre et MitM angreb kan angribere bryde nøgleudvekslingen og dermed være i stand til at dekryptere alle de udvekslede pakker. Dette vil ikke gøre det muligt at bryde ind i din VPN, de skal stadig kende PSK'en for det, ellers kan de ikke autentificere sig korrekt til den anden side, og derefter vil fase 1 aldrig blive fuldført, men på den måde kan de få alle de oplysninger, der er nødvendige for at begynde at gætte på PSK'en, ligesom i tilfældet med en Aggressive Mode forbindelse. Og hvis en angriber allerede er i stand til at spionere på din VPN-trafik (hvilket kræves for at angribe Aggressive Mode), er det meget sandsynligt, at angriberen også er i stand til at udføre et MitM-angreb, og i så fald vil Main Mode ikke give dig nogen yderligere beskyttelse.
En PSK på 11 tilfældige alfanumeriske tegn giver en entropi på ca. 64 bits, det er 2^64 mulige værdier. Moderne high-end grafikkort (fra og med 2015) kan beregne i størrelsesordenen 1 milliard SHA-256 hashes pr. sekund. I gennemsnit skal man prøve 50 % af alle mulige værdier for at finde et match, hvilket ville være omkring 292 år. Men hvis angriberne har en række på 100 sådanne grafikkort, ville det "kun" være omkring 3 år. Hvis PSK'en er 14 tegn lang, er entropien ca. 80 bits, og du er allerede oppe på 19.154.798 år. Selv at have 10.000 grafikkort ville hjælpe meget. Man skal også overveje omkostningerne ved et sådant angreb, som ikke så meget er prisen for at købe alle disse grafikkort, men snarere deres strømforbrug, når alle disse grafikkort kører med maksimal effekt 24 timer i døgnet og det i årevis, årtier eller endda århundreder. Strømomkostningerne vil være milliarder af dollars, og alt sammen for kun at bryde en enkelt PSK-forbindelse i hele verden. Og hver gang du ændrer PSK'en, skal en angriber starte helt forfra, så hvis du ændrer PSK'en regelmæssigt, lad os sige en gang om året, har en angriber højst et år til at finde den; det er meget ambitiøst, selv for en svag PSK.