Ziezo, alles op WPA-gebied nog eens grondig bestudeerd voor zover dat binnen mijn bereik ligt.
T.S. vroeg of WPA2 veilig is. Dit is mijn herziene antwoord/beoordeling:
-
Als veiligheid bij jou bijzonder hoog in het vaandel staat, gebruik dan liever geen WiFi,
of in ieder geval niet voor hele kritische zaken.
Ben je genoodzaakt om toch WiFi te gebruiken, zorg dan voor stevige versleuteling van je verbindingen
(https; hierbij is nog wel te zien welke websites je hebt bezocht, maar geen inhoudelijke zaken),
of gebruik een betrouwbare VPN-verbinding. Overtuig jezelf ervan dat iemand die eventueel
toch nog met een geslaagde aanval binnendringt niets bijzonders kan stelen of doen op je lokale netwerk.
Stevige encryptie van belangrijke bestanden is ook hier het sleutelwoord, en houd recente off-line
backups achter de hand.
-
Als je bereid bent om een klein beetje veiligheid in te leveren voor gemak, is WPA2 nog best bruikbaar.
Indien u alles goed instelt, gaat het in de praktijk bijna nooit heel ernstig fout, ook al zitten
er enkele zwakheden in WPA2. Uit de volgende kritische uitlating van iemand die graag iets aan
WPA2-AES verbeterd wil zien, kun je wel opmaken waar de grootste pijnpunten van WPA2-AES zitten:
https://supportforums.cisco.com/discussion/12388581/why-wpa2-still-being-used Verdere adviezen:- Wijzig altijd de fabriekswaarde van de SSID (=salt op grond waarvan van te voren berekeningen ("rainbow tables") kunnen worden gemaakt)
- Houd WiFi wachtwoord en het AP of router beheerderswachtwoord geheim.
- Schaf voor gasten die op internet willen voor alle zekerheid liefst een apart routertje aan.
Sommige routers hebben een gastnetwerk, maar een eventuele firmwarefout kan soms veel ellende veroorzaken.
- Om uitbaten van de "Hole 196 -attack" te voorkomen, dient
"AP isolation" aan te staan.
(ook wel genoemd "API" of "client isolation")
Zie ook
https://www.security.nl/posting/29135/WPA2-lek+laat+hackers+WiFi-verkeer+afluisteren- Let op adviezen uit de thread opgezet door Kraaij:
https://www.security.nl/posting/409296/Tips+voor+het+beveiligen+van+je+thuisnetwerk_+WiFi+netwerkDan nog iets over wachtwoorden.Een stukje van de WiFi-communicatie (4-way handshake) kan worden afgeluisterd en vervolgens
offline met brute force worden gekraakt, waarbij meestal zogenaamde "dictionaries" worden ingezet:
gigantische bestanden met veelvoorkomende en waarschijnlijke wachtwoorden en waarschijnlijke afgeleiden ervan.
Een dienst op internet doet dit momenteel met 250.000 wachtwoorden per seconde.
En voor $599 is forensische software te krijgen voor een systeem met 32 processoren en 8 grafische kaarten.
Geschatte kraaksnelheid van één zo'n systeem: 2 miljoen wachtwoorden per seconde!
(het kan nog sneller bij meerdere systemen parallel als iemand het nut ervan inziet en er voor wil betalen)
Weet echter wel dat het in Nederland verboden is om jezelf ongeauthoriseerd toegang te verschaffen op een draadloos netwerk van een ander, in geval het voldoende duidelijk is dat het een prive netwerk is. En dat is zelfs al voldoende duidelijk bij een onbeveiligd draadloos netwerk waarvan de SSID al duidelijk maakt dat het niet de bedoeling is dat ongeauthoriseerden er verbinding mee maken.
Maar toch. Laten we eens kijken wat een bevoegde overheidsdienst of een onbevoegde wetsovertreder die naar een boete of gevangenisstraf solliciteert zou kunnen uitrichten met 2 miljoen wachtwoorden per seconde.
Wat zou 2 miljoen wachtwoorden per seconde nu wiskundig betekenen bij wachtwoorden van verschillende lengtes
(zonder gebruik van rainbow tables, dictionaries) in geval 95 verschillende ASCII tekens ter beschikking staan:
Ieder mogelijk wachtwoord van 5 tekens (ruim 7,7 miljard stuks) wordt gekraakt binnen 65 minuten
Ieder mogelijk wachtwoord van 6 tekens (ruim 735 miljard stuks) wordt gekraakt binnen 4 dagen en 9 uren
Ieder mogelijk wachtwoord van 7 tekens (ruim 69,8 biljoen stuks) wordt gekraakt binnen 404 dagen en ruim 3 uren
Ieder mogelijk wachtwoord van 8 tekens (ruim 6,6 biljard stuks) wordt gekraakt binnen ruim 105 jaar.
Je hebt een kans van 1 op duizend dat je bij een wachtwoord van 9 tekens binnen 10 jaar bent gekraakt.
Je hebt een kans van 1 op mil
joen dat je bij een wachtwoord van 10 tekens binnen ca. 347 dagen bent gekraakt.
Je hebt een kans van 1 op mil
jard dat je bij een wachtwoord van 11 tekens binnen ca. 33 dagen bent gekraakt.
Je hebt een kans van 1 op mil
jard dat je bij een wachtwoord van 12 tekens binnen ca. 8 jaar en 205 dagen bent gekraakt.
Je hebt een kans van 1 op
biljoen dat je bij een wachtwoord van 13 tekens binnen ca. 297 dagen bent gekraakt.
Als je dit in ogenschouw neemt, kan je 8 of 9
willekeurige tekens al overwegen als je de passphrase regelmatig veranderd, en begint het vanaf 10
willekeurig gekozen karakters al flink veilig te worden.
Ook al, omdat het voorlopig waarschijnlijk zelden of nooit zal voorkomen dat zomaar iemand je wachtwoord met 2 miljoen pogingen-per-seconde brute force zal kraken, tenzij je wat dit betreft een bijzonder interessant object voor anderen bent.
En omdat de buit in de meeste gevallen waardeloos is.
Als je ook nog bijv. elke 3 maanden en vlak voor elk kritisch WiFi gebruik even het wachtwoord verandert,
dan maak je de kans wel bijzonder klein dat je het slachtoffer van een WiFi -indringer wordt.
Je moet er alleen wel op letten dat je
niet te gemakkelijke wachtwoorden gebruikt die gemakkelijk in een dictionary
of een rainbowtable kunnen voorkomen. Wees dus creatief, en kies liever een wacht
onzin dan een wachtzin.
Ik bedoel: alle normale woorden en namen evt met wat gebruikelijke toevoegingen en overgenomen wachtwoorden
staan hoogst waarschijnlijk in zo'n dictionary, en dan ben je binnen 2 uur gekraakt. Soms binnen minuten.
Het maakt in dat geval weinig uit of je meer dan 10 karakters in je wachtwoord hebt gebruikt.
Dan nog even iets over lange WiFi-wachtwoorden.Wat we gemakkelijk kunnen vergeten, is dat de "inwendige Mastersleutel" (de PSK, Pre Shared Key)
die wordt afgeleid van SSID en ingevoerde password/passphrase
altijd 256 bit is.
Alle andere benodigde keys worden daar weer van afgeleid.
Het is voor zover ik kan bekijken zelfs zo, dat die 256 -bits worden afgeleid van een 160 bit SHA1 hash,
door middel van een verlengingstruukje dat doet denken aan de oude afgekeurde "Export Ciphers".
Export Ciphers kunnen bijvoorbeeld een 128 bit encryptiesleutel leveren, maar zijn afgeleid
van een kortere sleutel van bijvoorbeeld 40 bit. De fundamentele encryptiesterkte is daarom slechts 40 bit,
en niet de verwachte 128 bit.
Idem voor PSK. PSK is wel 256 bit groot, maar is zo te zien afgeleid van een 160 bit hash.
Daarom is de fundamentele sterkte van de PSK waarschijnlijk niet groter dan
160 bit.
Er zijn in dat geval dus maximaal 2^160 verschillende waarden van PSK mogelijk.
Het is daarom zo goed als zeker dat een wachtwoord van meer dan 160 bit
(met 1 ASCII karakter per byte, dus 20 karakters) geen zin heeft.
Doe je dat wel, dan groeit het risico op een zgn. "password-collision".
Dit houdt in dat er dan stiekem een extra, veel korter wachtwoord aanwezig kan zijn,
dat misschien nog binnen "straightforward" brute-force mogelijkheden ligt!
Nu zal dit waarschijnlijk lang niet in alle gevallen gebeuren, maar het kán wel.
Het is daarom misschien maar beter om te proberen dit helemaal te voorkomen.
Dat kun je hoogst waarschijnlijk doen door je SSID kort te houden (3 tot max. 6 karakters)
en een wachtwoord te kiezen van 10 tot max. 13 volstrekt willekeurige karakters
die je willekeurig hebt gekozen van je toetsenbord, dus niet gebaseerd op een woord of naam.
Anders gezegd: originele wacht"onzin" is met het oog op brute force dictionaries beter dan een wacht
zin.
Zorg er daarbij ook voor dat SSID-lengte + wachtwoord-lengte niet groter is dan 16 karakters!
Er blijven dan nog 32 bits (4 bytes) over voor een IV, die mogelijk ook nog meedoet.
In totaal overschrijdt je dan die 20 bytes (160 bits) dus niet.
Zo blijft de kans op een geslaagde brute-force attack toch nog altijd zeer klein,
en is een "wachtwoord collision" met een kwetsbaar korter wachtwoord vrijwel uitgesloten.
Het is maar een adviesje voor een optimale WiFi beveiliging zoals ik het zie.
Take it or leave it. ;-)
Goeroehoedjes