Wireless security anno 2006 * Waarom wil je wireless beveiligen? - ongeautoriseerde toegang - afluisteren * Maar als ik het niet wil beveiligen? - aansprakelijkheid * WEP WEP is dood! WEP = Wired Equivalent Privacy WEP is vastgelegd als onderdeel van de 802.11 standaard op 12 Juni 1999 WEP gebruikt RC4 stream cipher voor encryptie en crc32 voor integrity check WEP kent 40 bits (5*8) en 104 bits (13*8) sleutels, ook wel geadverteerd als 64 en 128 bits WEP. Aan de 40 en 104 bits wordt een 24 bits IV (initialization vector) toegevoegd, vandaar de namen 64 en 128 bits WEP. WEP als beveiliging heeft ook als nadeel dat er 1 sleutel is die door alle gebruikers gedeeld moet worden (en niet verder verteld..), en dat verkeer wederzijds is af te luisteren. Eerste publicatie over onveiligheden: In Augustus 2001 werd een paper gepubliceerd door Scott Fluhrer, Itzik Mantin, en Adi Shamir: ""Weaknesses in the Key Scheduling Algorithm of RC4" Hierna was WEP dus in theorie te kraken. Kort daarna kwamen de eerste tools uit die de WEP key kraakten aan de hand van genoeg dataverkeer (kon uren of dagen duren op een rustig netwerk). Later kwamen er ook actieve aanvallen, waarbij data weer geinjecteerd word in het netwerk om cryptografische fouten te forceren. De tijd om WEP sleutels te kraken is teruggebracht tot 5 minuten in een demonstratie door de FBI in 2005 (met vrij verkrijgbare software). * Demonstratie WEP kraken? Nee. - meer hardware nodig - voegt weinig toe * WEP is nog altijd beter dan niets * Nieuwe wireless security: WPA / WPA2 WPA Enterprise (radius, username/password per gebruiker) WPA Private (PreSharedKey) WPA = Wi-Fi Protected Access 802.11i is de officiele standaard, maar WPA is de implementatie van de WiFi-alliance die uitkwam in afwachting van het definitief vaststellen van 802.11i WPA is origineel ontworpen voor 802.1X username/password en gebruikt dan EAP (Extensible Authentication Protocol) om uit te wisselen hoe een client z'n user/pass secure mag doorsturen naar het AP. WPA gebruikt RC4 stream cipher met 128bit key en 48bit IV (die kennen we dus van WEP). Maar, middels TKIP (Temporal Key Integrity Protocol) wordt regelmatig de 128 bit key ververst, en de grotere (48 bit vs 24 bit) IV ruimte verkleint (sterk) de kans op aanvallen zoals bij WEP. Ook wordt een aparte key gebruikt voor verkeer per client (en 1 voor broadcast) zodat clients elkaars verkeer niet kunnen afluisteren. Stel wel in dat TKIP regelmatig de sleutels ververst, anders komt weer een lek zoals met WEP. De controle of data zonder fouten doorkomt is met een "message integrity code" (bijnaam 'Michael') die beter controleert dan crc32. In thuisnetwerken is een aparte server voor username/password checking meestal niet interresant, daarom is WPA Private met PreSharedKey (letterlijk: vooraf gedeelde sleutel, die je dus via een andere weg van accesspoint naar client moet transporteren). PreSharedKey brengt wat zwakheden met zich mee als mensen een slechte sleutel kiezen. Er zijn al programma's die WPAPSK proberen te kraken met behulp van een heel woordenboek. De beste aanpak is dus een volslagen willekeurige verzameling letters te gebruiken, zoals de uitvoer van pwgen -c -n 62 1 Been1riefohneuziengafahsodoyaexeegatuiyangiemeiteiyookasinejoh WPA2 is een volledige implementatie van 802.11i met naast TKIP+Michael ook CCMP (Counter Mode with Cipher Block Chaining Message Authentication Code Protocol) wat betere versleuteling geeft dan TKIP voor keymanagement met rc4 stream cipher en betere foutcontrole dan Michael. Onder WPA/WPA2 enterprise (met username/password dus) is er een keuze aan protocollen om logins door te geven: * EAP-TLS (ook al in WPA) * EAP-TTLS/MSCHAPv2 * PEAPv0/EAP-MSCHAPv2 * PEAPv1/EAP-GTC * EAP-SIM Urls: WEP: http://en.wikipedia.org/wiki/Wired_Equivalent_Privacy Weaknesses in the Key Scheduling Algorithm of RC4: http://www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf The Feds can own your WLAN too: http://www.tomsnetworking.com/2005/03/31/the_feds_can_own_your_wlan_too/ WPA/WPA2: http://en.wikipedia.org/wiki/Wi-Fi_Protected_Access CCMP: http://en.wikipedia.org/wiki/CCMP