Pieter Edelman
4 January 2008

Tijdens het Chaos Communication Congress heeft Karsten Nohl van de universiteit van Virginia samen met hackers Starbug en Henryk Plötz aangetoond hoe de geheime cryptografie van Mifare Classic in elkaar steekt. Dit is een van NXP‘s RFID-gebaseerde Mifare-technologieën voor contactloze identificatie. Ze vindt onder meer toepassing in kaartjes voor evenementen, openbaar vervoer, toegangsbeveiliging van gebouwen en tolheffing.

Volgens de onderzoekers is het met hun kennis mogelijk om de sleutel van een kaart binnen exponentiële tijd in handen te krijgen. Dat maakt de technologie ongeschikt voor transacties waarbij grote bedragen of belangen gemoeid zijn. Voor kwaadwillenden is het dan rendabel om apparatuur aan te schaffen die de beveiliging binnen korte tijd breekt. Volgens de onderzoekers is de technologie daarom alleen geschikt voor kleine betalingen en privacybeveiliging. Ze vermoeden zelfs dat het mogelijk is om het systeem binnen subexponentiële tijd te kraken.

Nohl zei op het congres dat makers van RFID-labels voor een voortdurend dilemma staan. Goede cryptografie kost geld en verbruikt relatief veel energie. Een RFID-label moet juist goedkoop zijn en weinig energie gebruiken. Daarom moeten ze een vereenvoudigd schema gebruiken dat toch goed presteert. Hij ziet eigenlijk geen geschikt cryptogafieschema‘s voor deze toepassing. ’Maar dat moet wel opgelost worden voordat we het grootschalig gaan inzetten en wachtwoorden, pingetallen en biometrische toepassingen vervangen.‘

NFC20Hanau web
Volgens hackers Karsten Nohl, Henryk Plötz en Starbug is de Mifare Classic-NFC-technologie alleen geschikt voor kleine betalingen, zoals openbaar-vervoerkaartjes. Voor gebouwbeveiliging zou de technologie te onveilig zijn.

De Mifare Classic-technologie van NXP gebruikt een bedrijfseigen geheime cryptografiemethode. Om te achterhalen hoe deze werkt, pakten de hackers het probleem op twee fronten aan. Eerst richtten ze zich op het fysieke circuit. Dat deden ze door de chip in plakjes te zagen en deze met een lichtmicroscoop te fotograferen. In Matlab schreven ze beeldherkenningssoftware om de verschillende componenten te analyseren. In totaal bevat het RFID-chipje rond de tienduizend logische blokken, waarvan ongeveer zeventig uniek. Dat aantal was te groot om te behapstukken, dus richtten de onderzoekers zich op de ongeveer 15 procent waarvan ze dachten dat het iets met cryptografie te maken had; lange reeksen flipflops, die op registers duiden en Xor-poorten, die weinig in control logic te vinden zijn. Met de foto‘s van deze componenten reproduceerden ze vervolgens handmatig het bijbehorende schema. ’Een pijnlijk proces, met veel fouten‘, zei Nohl. ’Als we nog eens een chip gaan analyseren zullen we dat meer automatiseren.‘

Vervolgens richtten ze zich op de communicatie tussen de kaart en de lezer. Daarvoor gebruikten ze de OpenPCD-RFID-lezer. Die heeft publiek beschikbare hardwarespecificaties en software en is gebaseerd op een NFC-chip van NXP. Door het gebruik van een microcontroller zijn de parameters van zenden en ontvangen te manipuleren.

De onderzoekers vonden enkele zwaktes in het cryptografieschema. Zo bleek de random number generator (RNG) zeer zwak. De nummers zijn slechts 16 bit en bovendien gebruikt hij de uitleestijd als seed. Met de OpenPCD is de uitleestijd te reguleren en daarmee de mate van willekeur in het systeem. ’Cryptografisch gezien is dat een ernstige tekortkoming‘, hield Nohl zijn publiek voor, alhoewel hij toegaf dat dit niet voor alle toepassingen een probleem oplevert. Opmerkelijk is dat niet alleen het label een zwakke RNG aan boord heeft maar ook de lezer, die niet hoeft te beknibbelen op computerkracht.

Verder zitten er geen niet-lineariteiten in de cryptografische loop. Daarom is vanuit elke toestand terug te rekenen naar de voorgaande waarden. Een hacker kan in principe de sleutels achterhalen als hij beschikking heeft over een willekeurige toestand van het systeem.

Doordat het versleutelalgoritme in het RFID-label moet passen, is deze noodgedwongen klein. Dat maakt het makkelijk om met een brute force attack de sleutel te achterhalen. Volgens Nohl kan hardware van 100 dollar in maximaal een week de beveiliging breken. Een apparaat dat dit binnen afzienbare tijd kan, is volgens hem al snel rendabel bij het stelen van duurdere objecten.

De onderzoekers hebben expres nog niet alle details naar buiten gebracht, maar zullen dit later dit jaar doen. ’Als je op Mifare vertrouwt voor je beveiliging, kun je maar beter beginnen met migreren‘, waarschuwde Nohl. Hij haalde fel uit naar dit soort bedrijfseigen schema‘s die vertrouwen op ’obscurity for security‘. Volgens hem biedt dit slechts tijdelijk bescherming. Is het schema eenmaal gekraakt, dan zijn de fouten bekend. En de apparatuur die de onderzoekers gebruikten voor hun analyse kan iedereen voor een paar duizend euro kopen. NXP heeft ook Mifare-producten op de markt gebaseerd op Triple Des. Bij een dergelijk peer-reviewed ontwerp komen de fouten al aan het licht voordat het product op de markt komt. Een aantal zwakke plekken in het schema in het Mifare Classic-schema is volgens Nohl eenvoudig op te lossen. Het vervangen van een flipflop door een ander type zou de RNG bijvoorbeeld al sterk verbeteren.