*

 

Hoe men een OV-chip bijna kraakt

Van onze verslaggever Michael Persson − 12/01/08, 06:00

Ze hebben in elk geval alle alarmbellen laten rinkelen, de twee Duitsers die de chip van de OV-chipkaart hebben aangevallen....

  • \N

Maar is de kaart daadwerkelijk gekraakt? Ofwel: is de informatie op de chip te manipuleren? Ofwel: kan een beetje computerkraker zijn OV-chipkaart, de digitale portemonnee voor het openbaar vervoer, straks onbeperkt opladen zonder te betalen?

Zover is het nog niet. Hoewel promovendus Karsten Nohl van de universiteit van Virginia en zijn lang- en roodharige kompaan Henryk Plötz in hun presentatie op het jaarlijkse congres van de Chaos Computer Club meermaals suggereerden dat ze de code op de chip volledig hebben gebroken, hebben ze daarvan nog geen bewijs geleverd. Voor Paul de Bot van NXP reden om de aanval te relativeren: ‘Ze zijn zeker niet bij de kern van de chip gekomen’, zegt hij.

Geheimtaal
De kern van de chip is de formule waarmee de informatie op de kaart in geheimtaal wordt omgezet. In het geval van Mifare is dat algoritme bedacht door Philips, dat de chip in de jaren negentig heeft ontwikkeld. Inmiddels circuleren er naar schatting 2 miljard van deze RFID’s, die via radiogolven kunnen communiceren met hun uitleesapparaten.

Daardoor lijken ze heel geschikt voor het openbaar vervoer, omdat passagiers gewoon kunnen doorlopen terwijl de informatie op hun pas via poortjes wordt uitgelezen.

Klassieke hacker
Enter Nohl en Plötz. Nohl is de organisator, die vlot babbelt, Plötz de klassieke hacker, die met jargon doorspekte grappen debiteert waar zelfs collega-hackers niet om kunnen lachen. De twee hebben zitten priegelen op de vierkante millimeter. Ze etsten de Mifare Classic, een plaatje van een millimeter bij een millimeter, laag voor laag weg om zo de verschillende onderdelen van de elektronische schakeling aan het licht te brengen.

Vervolgens richtten ze zich vooral op de onderste laag met de bouwstenen van de elektronica – minuscule transistors, condensatoren, weerstanden – die samen de logica van de chip bepalen. In de vier lagen daarboven bleken vooral verbindingen tussen die elementen te worden gelegd.

eBay
De hackers legden de onderste laag onder een microscoop, voor zo’n duizend euro aangeschaft via eBay, die de details vijfhonderd maal vergrootte. Met een zelfgeschreven beeldherkenningsprogrammaatje brachten ze vervolgens de schakeling in kaart.

De tienduizend bouwstenen bleken terug te brengen tot zeventig verschillende elementen, bestaande uit logische ‘poorten’ die de nullen en enen op de chip manipuleren. Nohl en Plötz concentreerden zich op de onderdelen die met cryptografische beveiliging te maken lijken te hebben.

XOR
Om informatie te versleutelen wordt namelijk vaak de XOR-functie gebruikt. Deze poort combineert een reeks nullen en enen (bijvoorbeeld het woord dat gecodeerd moet worden) met een andere reeks nullen en enen (de versleutelcode), wat een nieuwe reeks nullen en enen oplevert. Om precies te zijn: een XOR-poort, of exclusive OR, levert een 1 op als precies één van de twee invoerbits ook een 1 is. Het bijzondere van XOR is dat het resultaat ondubbelzinnig te herleiden is tot het oorspronkelijke woord, als de versleutelcode bekend is. Ondubbelzinnigheid is cruciaal bij versleutelen van informatie.

Daarna keek Nohl hoe de bouwstenen met elkaar in verbinding stonden, en reconstrueerde via deze reverse engineering het cryptografische schema op de chip. Uit dat schema blijkt onder meer dat de chip een zelfgegenereerd willekeurig getal uitwisselt met de apparatuur die de chip moet lezen.

Dat willekeurige getal, een essentieel onderdeel van crypotografische beveiliging, bleek echter helemaal niet willekeurig. Het tijdstip van het contact wordt steeds gebruikt als uitgangspunt.

Cijferstroom
Maar daarmee is de chip nog niet gekraakt. Wat cryptografische apparaten uiteindelijk produceren is een cijferstroom, de key stream, waarmee de informatie op de chip (naam, reisgegevens, tegoed) wordt verhaspeld. Dat geldt voor de Mifare-chip op de OV-chipkaart net zo goed als voor de Duitse Enigma-machine in de Tweede Wereldoorlog. Simpel voorbeeld: met een sleutel 3, 14, 9, 5, 11 verandert het woord TREIN in WFNNY (de getallen geven het aantal plaatsen aan dat letters opschuiven).

Die sleutel is voor elke communicatie-sessie weer anders. De reeks komt in de Mifare in de vorm van nullen en enen uit een getallenfabriek, een zogeheten Linear Feedback Shift Register. De grondstof voor deze fabriek is niet alleen het willekeurige getal dat de Duitse hackers hebben doorzien, maar ook een geheime basissleutel die in de chip zit ingebakken. Die kennen de hackers nog niet. Evenmin hebben ze het algoritme van de getallenfabriek gereconstrueerd uit de foto’s van de chip.

Nog niet, maar het is een kwestie van tijd voor de hele chip is gekraakt, zegt Melanie Rieback van de Vrije Universiteit in Amsterdam, die twee jaar geleden zelf een RFID kraakte om aan te tonen dat de uitleesapparatuur met een virus kan worden geïnfecteerd.

Brute kracht
Zij wijst erop dat de sleutel van de Mifare bestaat uit slechts 48 bits. Deze 48 nullen en enen geven weliswaar 280 biljoen mogelijkheden, maar dat is niet meer genoeg. ‘De sleutel is met brute force te kraken’, zegt zij. ‘Als je er vaak genoeg iets in stopt en kijkt wat eruit komt kun je de patronen herkennen.’

Steden als Madrid en Sydney gebruiken daarom voor hun metro een nieuwe versie van de Mifare, met een sleutel van 192 bits. Dat helpt, zegt Bart Jacobs, hoogleraar computerveiligheid in Nijmegen en Eindhoven. ‘Het zijn uiteindelijk economische en politieke afwegingen geweest die ertoe hebben geleid dat wij het weer zo goedkoop mogelijk proberen te doen.’

mailIcon print |