Onderzoek: Het hacken van de OV-chipkaart

In de krant lees je tegenwoordig steeds vaker zorgwekkende koppen over de OV-chipkaart, koppen als ”Onderzoekers kraken versleuteling OV-chipkaart” of ‘’OV-chipkaart gekraakt door Radboud Universiteit’’ zijn we allemaal wel eens tegengekomen. In dit deelhoofdstuk gaan wij daarom proberen antwoord te geven op de vraag, ‘’Is het zorgwekkend dat de OV-chipkaart nu al gekraakt is?” en daarom ook “Hoe is het gesteld met de beveiliging van de OV-chipkaart?” . Mijn bevindingen van deze deelvraag zijn deels gebaseerd op de persverklaring van de Radboud Universiteit en de publicatie van de twee zelfstandig opererende onderzoekers, Karsten Nohl en Henryk Plötz .

Zoals al eerder gezegd is de OV-chipkaart uitgerust met een MIFARE-chip en hier kan een kleine hoeveelheid data op worden opgeslagen. Ook is hij uitgerust met een beveiligingsmodule.

De MIFARE standard kaart in doorsnede.

MIFARE produceert de volgende kaarten:

  • MIFARE Standard (of Classic)-kaarten hebben het ISO-14443-4 protocol met een beveiliging; MIFARE UltraLight-kaarten gebruiken hetzelfde protocol, echter zonder een beveiligingsgedeelte.
  • MIFARE ProX en SmartMX zijn merknamen van NXP Semiconductors voor chipkaarten die voldoen aan het ISO 14443-4-protocol.

Voor de OV-chipkaart is gekozen voor de Standard (ofwel Classic) kaart. Dit vanwege de relatief lage kosten en het feit dat deze door veel andere landen ook al gebruikt wordt in het openbaar vervoer, zoals in Londen waar het al 3 jaar gebruikt wordt.

Zoals te lezen valt, maakt de Mifare standard card gebruik van het ISO-14443 protocol. Dit staat ook bekend is als RFID (Radio Frequency Identification), vrij vertaald: identificatie door middel van radiogolven. Deze technologie staat het toe om van een afstand informatie op te slaan en te lezen van zogenaamde tags die op of in objecten of levende wezens zitten. Ze hebben geen eigen batterij omdat daar simpelweg geen ruimte voor is. Daarnaast kan een batterij op den duur leegraken. Om de chip zijn werk te laten doen wordt de RFID-chip gevoed met een inductieve stroom. Deze stroom wordt bij de OV-chipkaart verkregen van het OV-poortje. Die tag zit bij ons dus in de Mifare standard card en wordt ook wel de Mifare-chip genoemd. RFID wordt niet alleen bij het openbaarvervoerssysteem gebruikt al, denk bijvoorbeeld ook aan de toegangspoortjes waar je doorheen gaat als je een voetbalwedstrijd in de Amsterdam ArenA bezoekt! Maar ook wordt het toegepast om diefstal tegen te gaan.

De Mifare Classic is ongeveer 1 bij 1 millimeter groot is en wordt veel gebruikt (volgens NXP zijn er 500 miljoen chips in omloop) voor contactloze gegevensoverdracht in openbaar vervoersystemen. Hij is midden jaren 90 ontwikkeld. Het is een geheugenkaart met enige bescherming. De kaart bevat een kleine opslagruimte en om deze opslagruimte te beveiligen bevat de chip cryptografische mogelijkheden. Deze moeten ervoor zorgen dat het saldo veilig op de chip staat en niet door een willekeurige persoon kan worden af- of bijgeschreven.

De cryptografische mogelijkheden zijn direct in de hardware vastgelegd. Het hierbij gebruikte algoritme heet CRYPTO1 en is bedrijfsgeheim van NXP. Cryptografie is een soort geheimschrift in een aantal bits. En als de juiste versleuteling bekend is, dan kunnen alle gegevens gelezen en geschreven worden. Een veilig cryptografisch algoritme ontwerpen is gespecialiseerd werk. Als een ontwikkelaar kiest voor een eigen algoritme en hij omwille van verhulling niet een bestaand algoritme wil gebruiken, is het vaak zo dat dit eigen algoritme fouten bevat. Verder in deze tekst leest u waarom men een niet bestaand algoritme wilde gebruiken.

Voor het achterhalen van het Crypto-1-Algorithme hebben de  twee zelfstandig opererende onderzoekers Karsten Nohl en Henryk Plötz stukje bij beetje de chip uit elkaar gehaald, alle vijf de lagen. Van elke laag werden via een optische microscoop met 500x vergroting foto’s gemaakt die vervolgens geanalyseerd werden. De twee onderzoekers vonden ongeveer 10.000 onderdelen, met ongeveer 70 verschillende functies.

Door de verbindingen tussen onderdelen te analyseren bouwden ze een schema op van de onderdelen van de cryptografische motor op de Mifare chip. Deze bleek ongeveer tien procent van het chipoppervlak te beslaan. Er viel een aantal zaken op. Ten eerste bleek de sleutelgrootte die gebruikt werd slechts 48 bit groot. Ten tweede bleek dat voor de beveiliging elke 0.7 seconde dezelfde volgorde van willekeurige getallen gegenereerd wordt door de beveiligingsmodule. Dit laatste is een grote ontwerpfout van de chip. Men kan via een zogenaamde brute force methode alle mogelijkheden doorrekenen om die geheime sleutel te achterhalen. Dit hebben deze onderzoekers dan ook gedaan en zo hebben ze 32 van de 48 bits weten te achterhalen.

Dit is allemaal gepubliceerd door deze twee onderzoekers tijdens een congres over Mifare in 2007 ( ‘’ 24th Chaos Communication Congress’’).

Dit is echter niet de grootste fout geweest van NXP. Het grootste probleem is dat de ontwerpers gewerkt hebben volgens het principe “security through obscurity”, dat beoogt beveiligingsrisico’s te beperken door de werking van beveiligingsmaatregelen geheim te houden. Het is immers niet mogelijk om de beveiliging van een systeem te doorbreken als je niet weet hoe het systeem in elkaar zit. Zo schermden ze patenten af en waren er diverse bedrijfsgeheimen, ze dachten hiermee al wel genoeg beveiliging voor de kaart te hebben, maar zo langzamerhand is wel duidelijk geworden dat dit juist ten koste is gegaan van de beveiliging. Ook moest er door NXP een bepaalde afweging worden gemaakt. Hierboven viel te lezen dat de mifare chip gebruikmaakt van een inductieve stroom. Door deze kleine hoeveelheid stroom kan de chip net lang genoeg functioneren om de check op de sleutels uit te voeren en eventueel het saldo mee te delen of aan te passen. Als men de chip beter had willen beveiligen, met sterkere cryptografie, dan was er ook meer stroom nodig geweest. Dit zou weer als gevolg hebben dat het langer zou duren voordat de data van de chip uitgelezen kunnen worden. NXP moest dus een afweging maken tussen, voldoende beveiliging en een beveiliging die niet veel energie kost.

Zelf de OV-chipkaart kraken?

Het is nu zelfs zo dat iedereen, mits hij/zij de benodigde apparatuur in bezit heeft, de OV-chipkaart kan kraken:

Benodigdheden hiervoor zijn:

-          NFC reader á 80 euro

-          Lege mifare classic kaart á 1 euro

-          Het gratis programma crapto1gui

-          Programma libfnc

-          Een anonieme OV-chipkaart met een reissaldo erop

Met deze materialen kan iedereen de kaart kraken. Wij citeren hiervoor Flavio Garcia, een student aan de Radboud Universiteit en een van de krakers van de kaart:

‘Je hoeft de data niet te begrijpen, je hoeft het alleen te kopiëren. Vervolgens reis je met de kaart door Nederland en als ‘ie uiteindelijk leeg is, zet je thuis de gekopieerde data weer op de kaart. Op die manier herstel je de kaart, en kun je er opnieuw gebruik van maken. Uiteindelijk zal de NS doorkrijgen dat de kaart meer geld verbruikt dan dat erop is gezet. Maar je kunt er in ieder geval een dag extra mee reizen, waardoor hij twee keer meer waard is dan dat je eraan hebt uitgegeven.’

Het enige wat je hoeft te doen is de data van de anonieme OV-chipkaart te lezen en met behulp van het programma crapto1gui de beveiliging te kraken, zo kun je ook daadwerkelijk bij die informatie. Daarna kopieer je deze informatie en schrijf je het, weer met behulp van de NFC reader en het programma libfnc, op de lege kaart. Zo heb je een kopie van je anonieme chipkaart en kun je gratis een aantal reizen maken.

Creatieve reismethode

Ook is er een reismethode bedacht waarmee je goedkoper retour kunt reizen, wie twee anonieme OV-chipkaarten heeft, kan het betaalsysteem misleiden. Hieronder een afbeelding van hoe dit in zijn werk gaat.

(bron:nrc.nl)

Wat wil de TLS aan al deze ‘’hacks’’ gaan doen?

Dit hebben we gevraagd in ons interview met mevrouw Winkenius van de NS
Ondanks alle ophef die de hacks veroorzaakten, is aan de beveiliging van de chip tot nu toe nog niets veranderd. Een optie zou bijvoorbeeld zijn, het gebruik van een blacklist (een zogeheten zwarte lijst). Alle kaarten worden tijdens het gebruik door een computer genoteerd. Blijkt dat er twee kaarten met hetzelfde nummer in omloop zijn, dan worden beide kaarten geblokkeerd.

Deze optie hebben wij dan ook voorgelegd aan mevrouw Winkenius van de NS met wie wij het interview hebben gehouden:

-          Hebben jullie naast de beveiliging van de Mifare chip zelf (gemaakt door NXP), nog een andere beveiliging?

Naast de beveiliging die de chip zelf biedt, heeft TLS (waar alle transactiegegevens binnenkomen) diverse beveiligingssystemen in de backoffice. Zo filtert dit systeem automatisch afwijkende transacties (bijvoorbeeld dubbele kaart#, €0 transacties e.d.) uit het systeem. Deze kaarten worden direct geblacklist, waardoor er niet meer mee gereisd kan worden.

-          Zijn jullie van plan de beveiling aan te passen?( waarom wel/niet)

Op dit moment is er geen aanleiding om de beveiliging aan te passen.

-          Zouden jullie eventueel andere beveiling nemen, waarom wel/ waarom niet

Security is een continu proces. Wat vandaag goed genoeg is, is morgen achterhaald. Onze security officers zijn hier dagelijks mee bezig. Op termijn zal ook een nieuwe versie van de Mifare chip wellicht aan de orde zijn. Mogelijk ook een ander alternatief. Dat wordt onderzocht. Voorlopig voldoet de huidige Mifare in combinatie met de andere beveiligingsmaatregelen.

Conclusie

Al deze negatieve berichten over het beveiligingstechnische aspect van de chipkaart gelezen hebbend, is de kans groot dat je denkt dat het heel slecht gaat met ons nieuwe algemene vervoersbewijs. Maar het is ook nu al met het papieren kaartje dat mensen gratis een trein nemen, je kunt nu zelfs de trein in zonder ook maar enig vervoersbewijs. Dus je kunt dit nieuwe vervoersbewijs ook als een verbetering zien, mensen kunnen immers niet meer de trein in zonder een, al dan niet gekopieerde, chipkaart voor het toegangspoortje te houden. Ook is het project pas net ingevoerd en zoals zo vaak bij projecten die in hun kinderschoenen staan, zijn er dan kleine foutjes te bespeuren. Ook werd ons verteld dat er op termijn wellicht een nieuwere versie van de Mifare chip aan de orde is, of andere alternatieven om de beveiliging van het systeem up-to-date te houden. Dus wij denken te kunnen concluderen dat het met de beveiliging van ons OV-chipkaart systeem wel goed zal gaan komen.