Kraak van GSM-encryptie raakt in zicht
- 05 januari 2010
“Binnenkort zijn alle mobiele telefoongesprekken afluisterbaar”, afgaande op de presentatie (video/slides, PDF) van Karsten Nohl en Chris Paget eind 2009 op het jaarlijkse CCC security-congres in Berlijn. Die claim is echter maar deels waar. Vijf vragen over de GSM-aanval.
Dit is een bijdrage van Fabian van den Broek, die op dit moment voor zijn scriptie bij de Universiteit van Nijmegen onderzoek doet naar de encryptie van GSM-verkeer.
Hoe werkt de aanval? De aanval die op het congres werd gepresenteerd komt neer op het domweg proberen van alle mogelijke sleutels. Mobiele telefoongesprekken worden op dit moment versleuteld met een 64 bits sessiesleutel. Een mobieltje stuurt tijdens een telefoongesprek versleutelde pakketjes naar de GSM zendmast. Een derde die de pakketjes opvangt, kan deze dus niet lezen zonder sleutel.
Sommige van deze pakketjes worden echter standaard gestuurd bij ieder telefoongesprek. Daarvan is de inhoud, voor versleuteling, dus al bekend. Stel nou dat je alle mogelijke sleutels zou opschrijven in een groot codeboek en daar de bijbehorende versleuteling van die bekende pakketjes achter zet. Als je dan een van deze versleutelde pakketjes ontvangt, dan kun je simpelweg de bijbehorende gebruikte sleutel opzoeken. Daarmee kan je vervolgens ook de pakketjes waarvan de inhoud nog niet bekend is ontsleutelen.
Het opslaan van het gehele codeboek is echter ondoenlijk en daarom gebruikt men bij deze aanval een zogenaamde rainbow tabel, om zo veel mogelijk sleutels op te slaan. Zo’n rainbow tabel slaat op een slimme manier steeds maar een paar sleutels op, aan de hand waarvan vervolgens een groot aantal andere sleutels kan worden berekend. Je hebt dan uiteindelijk een veel kleinere tabel waar je met grote kans de gezochte sleutel in kunt vinden.
Het maken van zo’n tabel kost echter veel tijd. In 2007 waren David Hulton en Steve Muller van plan dezelfde tabellen uit te rekenen. Met zeer veel rekenkracht zou dit na acht maanden klaar zijn. Na zeven maanden hielden zij er echter plotseling mee op. Nohl riep daarop, op de HAR bijeenkomst in Nederland in augustus van 2009, de beveiligingsgemeenschap op om gezamelijk deze tabellen uit te rekenen. Nu is deze tabel dus af. De tabellen zijn te downloaden [http://reflextor.com/torrents/] via torrents. Het is wel een grote kluif: ongeveer 2 Tb (met een 10 mbit/s verbinding duurt dit ongeveer 20 dagen).
Wat betekent dit voor mijn telefoongesprekken? Dit betekent niet dat vanaf vandaag iedereen direct GSM gesprekken kan gaan afluisteren. Tijdens een telefoongesprek verspringt de verbinding tussen de mobiele telefoon en de zendmast continu op en neer tussen de beschikbare frequenties. Dit maakt het zeer lastig om een enkel gesprek op te vangen. Een methode om het gesprek toch te achterhalen is om dan het gehele radiospectrum (en dus verschillende gesprekken tegelijkertijd) van een GSM zendmast op te vangen en daar later het gewenste gesprek uit te filteren. Door de grote hoeveelheid data die je daarvoor vanuit je ontvanger naar je computer moet zien te sturen, is dit voorlopig nog lastig: de hardware die zoveel data kan verwerken is duur. Ook de software moet nog verder worden ontwikkeld: de open source software is al een tijd in ontwikkeling, maar vooralsnog in een laag tempo en de functionaliteit is nog niet optimaal.
Wanneer kunnen mijn telefoongesprekken dan afgeluisterd worden? Ook na deze presentatie is dus het daadwerkelijk afluisteren van GSM-gesprekken nog niet aan de orde. Daarvoor ontbreken nog te veel essentiele onderdelen, zoals het integraal kunnen opvangen van een gesprek. Maar hoewel er nog veel werk verzet moet worden, voordat alle GSM-gesprekken afluisterbaar zijn, is het toch slechts een kwestie van tijd: over enkele maanden zou het al zo ver kunnen zijn. Uit reacties [http://www.gsmworld.com/newsroom/press-releases/2009/4490.htm] van de GSM Assocation (GSMA) lijkt deze dreiging overigens ten onrechte niet erg serieus te worden genomen. Al in 1999 is de versleuteling van GSM theoretisch zwak bewezen.
Er bestaat trouwens nu al een andere manier om telefoongesprekken af te luisteren. Iedereen kan met de juiste apparatuur zich voordoen als een GSM zendmast en dan onbeveiligd met je telefoon communiceren. Dit is overigens wettelijk niet toegestaan. Een mobieltje zou je in principe moeten waarschuwen tegen ongeauthoriseerde zendmasten, door een symbooltje van een open slotje in je beeldscherm te tonen. Uit de presentatie van Nohl en Paget bleek echter dat veel providers deze waarschuwing via de SIM kaart uitzetten. Providers, maar ook de GSMA en producenten van GSM apparatuur, zijn veel te afwachtend geweest in het oog van de afbrokkelende GSM-beveiliging.
Wat zijn daarvan de gevolgen? Het is moeilijk te overzien wat de gevolgen zullen zijn. Het is voorstelbaar dat bedrijfsspionage door het afluisteren van mobiele telefoongesprekken zal toenemen. Het zal voor sommigen interessant worden om met de afluisterapparatuur in de achterbak bij grote commerciele banken gesprekken af te luisteren, en van de verzamelde voorkennis gebruik te maken op de beurs. Ook is het interessant om de telefoongesprekken op het Binnenhof af te luisteren en tegen politieke tegenstanders in te zetten. De mogelijkheden zijn legio.
En wat kunnen we doen om te voorkomen dat alle telefoongesprekken afluisterbaar zijn? Als de hierboven geschetste praktische problemen zijn opgelost, dan is tegen illegaal afluisteren van GSM gesprekken niet veel meer te doen. De meeste oplossingen vergen fysieke aanpassing van alle mobiele telefoons en / of alle GSM zendpalen: dat is een immense en heel dure operatie. De makkelijkste methode lijkt om over te stappen naar een nieuwer versleutelingsalgoritme (A5/3) dat al door de meeste mobiele telefoons wordt ondersteund. Ook dat is echter een vrij kostbare aanpassing, omdat veel providers hun zendmasten – die geen A5/3 ondersteunen – moeten vervangen. En daarbij komt dat Donkelmann en Shamir recent een aanval op een verleutelingstechniek die de basis was voor A5/3 publiceerden, dus het is de vraag hoe veilig deze techniek is.
Als je er echt zeker van wil zijn dat je telefoongesprekken niet afluisterbaar zijn, dan zal je telefoons moeten gebruiken die softwarematig de gesprekken tussen de ene en de andere mobiel versleutelen, door middel van de uitwisseling van sleutels.