Vanliga frågor och svar
För några år sedan publicerade ett team av säkerhetsexperter en artikel som beskriver en attack som kan bryta en IKEv1 Aggressive Mode Pre-Shared Key-anslutning med hjälp av en attack som dock inte skulle vara lika möjlig med en IKEv1 Main Mode Pre-Shared Key-anslutning, vilket ledde till det felaktiga antagandet att Aggressive Mode i grunden är osäkert. Detta påstående stöds dock inte av objektiva fakta. Vad de flesta människor inte vet är att en del av denna attack var förmågan att gissa Pre-Shared Key (PSK) med hjälp av en brute force-attack, och en sådan brute force-attack kan bara lyckas om PSK:n är svag. En PSK är också bara ett lösenord och som med alla lösenord gäller det att välja ett svagt lösenord alltid leder till dålig säkerhet. Så länge din PSK är minst 14 tecken lång (ju längre desto bättre), består av små bokstäver, stora bokstäver och siffror och slumpmässigt genererats så att den inte kan gissas på något sätt, och så länge din fas 1 hash-algoritm är minst SHA1 (eller bättre, vi rekommenderar SHA-256 om möjligt), finns det absolut ingen anledning att betrakta IKEv1 Aggressive Mode med Pre-Shared Key som mindre säker än IKEv1 Main Mode med Pre-Shared Key. Om du vill vara ännu säkrare bör du byta till certifikatbaserad autentisering istället för PSK om möjligt, eftersom attacken då inte är möjlig alls.
Teknisk bakgrund:
Pre-Shared Key (PSK) är inte ett lösenord som används för att kryptera data, det används uteslutande för autentisering, ungefär som när du loggar in på en webbplats med ett användarnamn och ett lösenord. Under fas 1 måste båda sidor bevisa för varandra att de känner till PSK:n. Detta kan inte göras genom att bara skicka den till den andra sidan, eftersom om den andra sidan inte känt till den tidigare kommer den att känna till den efter mottagandet. Istället beräknar båda sidor ett tal (ett hashvärde) utifrån data som de hittills har utbytt (data som kommer att vara olika varje gång du startar en ny anslutning, vilket säkerställer att det beräknade värdet också är det), och PSK:n. Endast detta digest skickas till den andra sidan. Den andra sidan kan nu verifiera digester genom att utföra samma beräkningar och jämföra resultatet med det mottagna digester. Om båda är lika måste avsändaren ha använt samma PSK i beräkningen, vilket bevisar kunskap om PSK:n. Sedan beräknar mottagaren också ett sådant digest med hjälp av en något annorlunda formel än tidigare, vilket leder till ett helt annat resultat, och skickar det tillbaka som svar för att också bevisa sin kunskap.
Skillnaden mellan Main Mode och Aggressive Mode är helt enkelt att i Main Mode utbyts digester krypterat eftersom nyckelutbytesproceduren (DH Exchange) som leder till en säker sessionsnyckel på båda sidor redan har slutförts vid den tidpunkten, medan den i Aggressive Mode utbyts okrypterat som en del av nyckelutväxlingen som kommer att leda till en sessionsnyckel. Genom att spionera på etableringen av en Aggressive Mode-anslutning kunde angriparna få digester samt alla värden som krävs för att beräkna detta digest, förutom själva PSK:n. Observera dock att detta i sig inte innebär att anslutningen redan är bruten, det betyder bara att angriparna nu har tillräckligt med data för att börja gissa PSK:n med hjälp av en brute force- eller dictionary attack. Endast om PSK:n är för svag för att motstå dessa attacker och angriparna kan korrekt gissa den kommer anslutningen att brytas. Därför är en bra, säker PSK väsentlig.
Samma attack är faktiskt också möjlig med en Main Mode PSK-anslutning, det kräver bara lite mer arbete. För en Main Mode-anslutning räcker det inte att bara spionera på trafiken, angriparna måste utföra en så kallad Man-in-the-Middle (MitM)-attack, vilket gör att de kan fånga och manipulera all utbytt trafik. Genom att utföra en MitM-attack kan angripare bryta nyckelutväxlingen och därmed kunna dekryptera alla utbytta paket. Detta kommer inte att göra det möjligt att bryta sig in i din VPN, de måste fortfarande känna till PSK:n för det, annars kan de inte autentisera sig korrekt till den andra sidan, och då kommer fas 1 aldrig att slutföras, men på så sätt kan de få all information som krävs för att börja gissa på PSK:n, precis som i fallet med en Aggressive Mode-anslutning. Och om en angripare redan kan spionera på din VPN-trafik (vilket är ett krav för att attackera Aggressive Mode) är det mycket troligt att angriparen också kan utföra en MitM-attack, och i så fall kommer Main Mode inte att ge dig något ytterligare skydd.
En PSK på 11 slumpmässiga alfanumeriska tecken har en entropi på cirka 64 bitar, det är 2^64 möjliga värden. Moderna high-end grafikkort (från och med 2015) kan beräkna i storleksordningen 1 miljard SHA-256 hashes per sekund. I genomsnitt måste man prova 50 % av alla möjliga värden för att hitta en matchning, vilket skulle vara cirka 292 år. Men om angriparna har en rad på 100 sådana grafikkort skulle attacken "bara" ta runt 3 år. Om PSK:n är 14 tecken lång är entropin cirka 80 bitar och du är redan uppe på 19 154 798 år. Även att ha 10 000 grafikkort skulle hjälpa mycket. Man måste också beakta kostnaderna för en sådan attack, som inte så mycket är priset för att köpa alla dessa grafikkort, utan snarare deras strömförbrukning när alla dessa grafikkort körs med maximal effekt dygnet runt och det i åratal, årtionden eller till och med århundraden. Strömkostnaderna skulle vara miljarder dollar, och allt detta bara för att bryta en enda PSK-anslutning i hela världen. Dessutom måste angriparen starta om från början varje gång du ändrar PSK:n, så om du byter PSK regelbundet, låt oss säga en gång om året, har en angripare högst ett år på sig att hitta den; det är mycket ambitiöst, även för en svag PSK.