Klopt het dat IKEv1 Aggressive Mode minder veilig is dan ... - KH1591

Veelgestelde vragen

Klopt het dat IKEv1 Aggressive Mode minder veilig is dan IKEv1 Main Mode?
 

Enkele jaren geleden publiceerde een team van beveiligingsexperts een paper waarin ze een aanval beschrijven die een IKEv1 Aggressive Mode verbinding met Pre-Shared Key kan verbreken, en die niet op dezelfde manier zou kunnen worden toegepast op een IKEv1 Main Mode verbinding met Pre-Shared Key, wat leidde tot de onjuiste aanname dat Aggressive Mode inherent veel onveiliger is dan Main Mode. Als je echter naar de feiten kijkt vanuit een neutraal oogpunt, komt deze bewering niet overeen met de werkelijkheid. Wat de meeste mensen niet weten, is dat een deel van deze aanval bestond uit het raden van de Pre-Shared Key (PSK) met behulp van een brute force aanval en dat zo'n aanval alleen succesvol kan zijn als de PSK te onveilig gekozen is. Een PSK is ook slechts een wachtwoord en, zoals bij elk wachtwoord, leiden zwakke wachtwoorden tot slechte beveiliging. Zolang de PSK minimaal 14 tekens lang is (hoe langer hoe beter), bestaat uit kleine letters, hoofdletters en cijfers, en volledig willekeurig gegenereerd is (zodat je hem niet gemakkelijk kunt raden), en zolang in fase 1 minstens SHA1 als hash geselecteerd is (of beter, we raden SHA-256 aan indien mogelijk), is er absoluut geen reden om aan te nemen dat een Aggressive Mode PSK verbinding inherent minder veilig is dan een Main Mode PSK verbinding. Als je nog veiliger wilt zijn, kies dan gewoon een op certificaten gebaseerde authenticatie indien mogelijk, want dan is deze aanval helemaal niet uitvoerbaar.

Technische achtergrond:

De Pre-Shared Key (PSK) is geen wachtwoord dat wordt gebruikt voor het versleutelen van gegevens, het dient uitsluitend ter authenticatie, ongeveer zoals wanneer een gebruiker zich aanmeldt op een website met een gebruikersnaam en wachtwoord. Tijdens fase 1 moeten beide partijen elkaar bewijzen dat ze de PSK kennen. Dit kan natuurlijk niet door simpelweg de PSK naar de andere kant te sturen, want zelfs als de andere kant hem nog niet kende, kent hij hem nu wel. In plaats daarvan moeten beide partijen een getal berekenen (een hashwaarde), waarvoor enerzijds gegevens worden gebruikt die beide partijen al hebben uitgewisseld (en die bij elke verbindingsopbouw anders zijn om ervoor te zorgen dat de hashwaarde ook elke keer anders is) en anderzijds de PSK. Alleen deze hashwaarde wordt naar de andere kant gestuurd, die dan precies dezelfde berekeningen moet uitvoeren. Als het resultaat hetzelfde is, moet de andere partij ook dezelfde PSK hebben gebruikt, dus kent hij hem. Hetzelfde spel herhaalt zich dan nog een keer in de andere richting, waarbij de berekening hier licht afwijkt om te garanderen dat de twee hashwaarden altijd verschillend zijn, want hetzelfde terugsturen zou natuurlijk niets bewijzen.

Het verschil tussen Main Mode en Aggressive Mode is simpelweg dat in Main Mode de hashwaarde versleuteld wordt verzonden, omdat het sleuteluitwisselingsproces (DH Exchange) dat tot een veilige sessiesleutel aan beide zijden leidt, op dat moment al volledig voltooid is en zodra beide partijen een sessiesleutel hebben, worden alle pakketten alleen nog maar versleuteld verzonden. Met Aggressive Mode wordt de hashwaarde onversleuteld verzonden, omdat het sleuteluitwisselingsproces op dat moment nog niet afgerond is. Door een Aggressive Mode verbinding te bespioneren, kan een aanvaller zowel de hashwaarde als alle gegevens die nodig zijn om deze waarde te berekenen verkrijgen, met uitzondering van de daadwerkelijke PSK. Dat alleen betekent echter nog niet dat de verbinding verbroken is, hij heeft slechts voldoende informatie om op zoek te gaan naar de PSK, bijvoorbeeld door een zogenaamde "brute force aanval" (eenvoudig alle mogelijke combinaties proberen) of een woordenboeka anval (veel gekozen wachtwoorden proberen die je kunt achterhalen via datalekken van andere online diensten). Alleen als de PSK te zwak is om deze aanvallen te weerstaan, kan men zo uiteindelijk de verbinding verbreken. Daarom is een goede, voldoende veilige PSK essentieel voor de veiligheid van een PSK VPN verbinding.

Echter, dezelfde aanval is ook mogelijk op een Main Mode verbinding, het vereist alleen wat meer inspanning. In het geval van Main Mode is het niet genoeg om gewoon het verkeer te kunnen afluisteren, in plaats daarvan is een zogenaamde Man-in-the-Middle (MitM) aanval noodzakelijk, dat wil zeggen dat een aanvaller het verkeer moet kunnen onderscheppen en manipuleren. Via een MitM aanval kan een aanvaller de versleuteling omzeilen, wat niet voldoende is om toegang te krijgen tot de VPN, want daarvoor is nog steeds de PSK nodig, want zonder die kan fase 1 niet succesvol worden afgerond, maar ook dan zou een aanvaller de hashwaarde en alle gegevens die nodig zijn voor de berekening hebben en op dezelfde manier kunnen proberen de PSK te raden. En als een aanvaller al in staat is om al het verkeer te bespioneren (wat een vereiste is voor elk aanvals scenario), dan is het zeer waarschijnlijk dat hij ook een MitM aanval kan uitvoeren en dan biedt Main Mode geen extra bescherming meer.

Een PSK van 11 willekeurige alfanumerieke tekens heeft een entropie van ongeveer 64 bits, dat zijn 2^64 mogelijke waarden. Moderne high-end grafische kaarten (vanaf 2016) kunnen in de orde van grootte van 1 miljard SHA-265 hashes per seconde berekenen. Gemiddeld moet men 50% van alle mogelijkheden proberen om een match te vinden en dat zou 292 jaar duren. Als een aanvaller echter 100 van dergelijke grafische kaarten tot zijn beschikking heeft, duurt de aanval "slechts" ongeveer 3 jaar. Maar zelfs bij 14 tekens ligt de entropie rond de 80 bits en hier zou een enkele grafische kaart er al 19.154.798 jaar over doen. Zelfs 10.000 grafische kaarten zouden de tijd niet voldoende verkorten. En men mag nooit de kosten van zo'n aanval buiten beschouwing laten. Minder de aanschafkosten van de grafische kaarten, het gaat eerder om hun stroomverbruik als al deze grafische kaarten 24 uur per dag op maximaal vermogen werken en dat gedurende jaren, decennia of zelfs eeuwen. Dat loopt snel in de miljarden euro's aan stroomkosten op om uiteindelijk slechts één PSK verbinding ter wereld te verbreken. Bovendien moet een aanvaller telkens opnieuw beginnen als de PSK verandert. Als de PSK dus slechts eens per jaar wordt gewijzigd, heeft een aanvaller maximaal 1 jaar om deze te vinden; dat zou al ambitieus zijn, zelfs met een zwakke PSK.

.