MIFARE INDEX Inleiding Betaalsystemen Toegangscontrole Kaarten Sectoren Blokken Beveiliging Hacking Maatregelen
Inleiding Dit document bevat 8 bladzijden over de ontwikkeling, eigenschappen, toepassing, verschillende typen kaarten, techniek en beveiliging van de Mifare technologie. Door dalende prijzen en de vele mogelijkheden van de Mifare kaart begint deze heel snel de standaard kaart te worden voor toepassing in toegangscontrolesystemen. De kaart kan namelijk niet alleen voor toegangscontrole gebruikt worden, maar ook voor betaalsystemen. Gebruikt je de kaart alleen voor toegangscontrole, dan ben je met deze kaart voorbereid op toekomstige mogelijkheden en wensen. Maar met zoveel mogelijkheden zijn er wel zaken waar rekening meegehouden moet worden. Dit document geeft u inzicht in de mogelijkheden en beperkingen van Mifare kaarten. De naam Mifare staat voor Mikron Fare Collection. De Mifare proximity kaart en Mifare kaartlezer/schrijver zijn ontwikkeld in voor betalingstransacties in het openbaar vervoer. Dit zou ook met een chipkaart kunnen, maar proximity kaarten zijn sneller en makkelijker in het gebruik en er is bijna geen onderhoud nodig op de kaartlezers. De Mifare technology is in 1994 ontwikkeld door Mikron en in 1996 overgenomen door Philips. Ze maken zelf geen kaarten of kaartlezers, maar ze maken en verkopen de chips voor de kaarten en de lezers en verkopen die op de vrije markt. De chip voor de lezer is niet nodig als alleen het kaartnummer gelezen wordt, maar is wel nodig om de gegevens te lezen die opgeslagen zijn in de kaart. De chips worden ook onder licentie gemaakt door Infineon.
Mifare
1
www.electro-fiction.nl
Voor Mifare en standaard Proximity kaarten geldt: - Beiden zijn passieve kaarten (geen batterij) - Beiden hebben een chip en antenne spiraal - Leverbaar in (ISO)kaart en keytags - De chip wordt gevoed door RF-energie - RF-energie zend en ontvangt gegevens Verschillen zijn er ook. Mifare proximity - Bereik = 2,5cm – 10cm - Frequentie = 13,56MHz - Gegevens opslag = 1000 (of 4000) bytes - Aantal toepassingen = 16 - Open standaard Standaard proximity - Bereik = 7,5cm – 75cm - Frequentie = 125kHz - Gegevens opslag = 85 bits - Aantal toepassingen = 1 Alternatieve kaarten worden gemaakt door Motorola, SGS, Sony en Legic.
Betaalsystemen De -
Mifare proximity kaarten kunnen gebruikt worden voor: Openbaar vervoer Tolwegen Vliegtuigkaarten Spaarsystemen Pretparken Betaalsystemen
Mifare kaarten zijn voorzien van beveiligingen, zoals encrypted RF transmissie, wederzijdse verificatie en beveiligingssleutels. De meeste banken vinden deze beveiliging echter niet voldoende voor bankkaarten of creditkaarten. Ook de nieuwe OV-kaart voor Nederland is gebaseerd op Mifare technologie.
Toegangscontrole Door de korte leesafstand is de Mifare kaart niet ideaal voor toegangscontrole. Desondanks wordt de Mifare kaart steeds meer toegepast voor toegangscontrolesystemen, omdat de kaart voor meerdere toepassingen geschikt is. Zo -
Mifare
kan de kaart gebruikt worden voor: Toegangscontrole ID kaart Bibliotheekkaart Restaurant betaalkaart Gebruik computer, telefoon, kopieerapparaat enz. Opslag biometrische gegevens voor biometrische scanners
2
www.electro-fiction.nl
Sommige klanten hebben al een Mifare kaart in gebruik voor andere toepassingen en willen die ook voor toegangscontrole gebruiken. In dat geval worden de gegevens van de toegangscontrolekaartlezer in een ongebruikte sector geprogrammeerd. Als alternatief kan een (gedeelte) van het 32-bit willekeurige kaartnummer (CSN) gelezen worden. Dit wordt omgezet naar het (Wiegand) formaat wat door de controller van het toegangscontrolesysteem wordt gebruikt. Omgekeerd is het ook mogelijk dat een Mifare kaart wordt gebruikt, omdat men op de toekomst voorbereid wil zijn. Daarnaast zijn de Mifare kaarten, door het vele gebruik, zo goedkoop dat de prijs ook geen belemmering meer hoeft te zijn.
Kaarten De Mifare kaart is er in (ISO)kaart of keytag uitvoering. De kaart kan met verschillende technieken gecombineerd worden. Zo kan een Dual kaart voorzien zijn van een 125kHz en 13,56MHz chip en antennes. Alle Mifare producten zijn compatibel met elkaar. In deze familie zijn twee typen chips met name interessant: de Mifare (Classic) Standard (1k) en de Mifare Pro-X (Smart card interface, DES, 8051uP). Andere typen zijn Light (384bit) en Plus (Smart card interface, shared memory).
CPU type
Mifare Light MF1 L10 nvt
Mifare Standard MF1 S50 nvt
EEPROM Sectors
384 bit 1
1 Kbyte 16
Multifunct. Anticolision Lees afstand
Nee Ja Tot 10 cm 106 Kbd 13,56 MHz Reload, decrease Nee
Baud rate Frequentie Arithmetic capability Crypto coprocessor Contactless interface WD ISO/IEC 14443, type A Contact interface ISO 7816 User programmable OS
Mifare
Mifare Pro
Mifare Pro MF2 D20 80C51, 20k ROM, 256 byte RAM
Ja Ja Tot 10 cm
MF2 D80 80C51, 20k, ROM, 256 byte RAM 8Kbyte OS is bepalend Ja Ja Tot 10 cm
2Kbyte OS is bepalend Ja Ja Tot 10 cm
106 Kbd 13,56 MHz
106 Kbd 13,56 MHz
106 Kbd 13,56 MHz
Increase decrease Nee
OS is bepalend Triple-DES
OS is bepalend Triple-DES
Ja
Ja
Ja
Ja
Nee
Nee
Ja
Ja
Nee
Nee
Ja
Ja
3
www.electro-fiction.nl
Vandaag de dag worden er ruim 200 miljoen Mifare Standard kaarten gebruikt over de hele wereld. Hiermee is de Mifare (Classic) Standard de facto standaard op het gebied van de contactloze chipkaarten. De Mifare kaart heeft ook een unieke 32-bit willekeurig nummer, welke definitief is opgeslagen in elke chip door de fabrikant (Philips of Infineon). Dit noemt men de Card Serial Number (CSN) of Universal Indentifier (UID) en kan gelezen worden door elke Mifare kaartlezer zonder enige kennis van de beveiligingssleutels die de rest van de kaart beveiligen. Er is een 1k (en 4k) geheugen uitvoering van de kaart. De kaarten worden veel toegepast in Europa en Azië, maar wordt ook gebruikt bij toegangscontrole van o.a. de marine van de Verenigde Staten.
Sectoren Mifare kaarten hebben 16 aparte sectoren van 512 bits, welke voor verschillende toepassingen gebruikt kunnen worden. De eerste sector wordt meestal gebruikt als directory voor de rest van de kaart, waardoor er 15 sectoren over blijven voor andere gescheiden toepassingen. Elke sector heeft een unieke sleutel (wachtwoord). De enigste eis is dat elke sector gebruiker de Mifare Applications Directory (MAD) gebruikt en dat de sleutel tot deze directory voor iedere sector gebruiker beschikbaar is. Elke sector heeft twee sleutels (A en B), waardoor twee toegang niveaus tot die sector mogelijk is. De functie van de sleutels kan bestaan uit: - lezen - lezen/schrijven - verminderen - vermeerderen/verminderen Hierdoor kan bijvoorbeeld de toegang tot openbaar vervoer (met sleutel A) alleen een bedrag van de kaart verwijderen en een kaartloket(met sleutel B) een bedrag aan de kaart toevoegen of verwijderen. Elke sector 0 t/m 3 met - Blok 0 = - Blok 1 = - Blok 2 = - Blok 3 =
Mifare
van de Mifare kaart bestaat uit vier 16-byte blokken, daarin: data data data sector trailer
4
www.electro-fiction.nl
Blokken In sector 0 bevat blok 0 de code van de kaart fabrikant en 32-bit kaartnummer, zoals die door de chip fabrikant is geprogrammeerd. Hierin kan geen gebruikers data gezet worden en de aanwezige data kan niet gewijzigd worden. Deze data kunnen gelezen worden, zonder dat er een Mifare sleutel nodig is. In alle andere sectoren kan blok 0 gebruikt worden om data op te slaan. Sector 0, blok 1 en 2 bevatten de Mifare Applications Directory. Blok 0 t/m 2 de sectoren kunnen iedere data bevatten. Afhankelijk van het formaat van de data, kan een blok bestaan uit gegevens of een waarde. Blok 1 en 2 van sector 1 t/m 15 bevatten een identificatie veld. Een applicatie-identifier voor elke sector, deze beschrijft de toepassing van de sector. Toepassing: 88 - Elektronische betaling 30 – Tolwegen 48 – Toegangscontrole 78 – Autoverhuur 00 – niet gebruikt Gebruiker: 03 – Siemens 03 - Brazilië 36 – Diester 01 – Zwitserland 00 – niet gebruikt Blok 3, de sector trailer bevat sleutels (A = 48 bit / B = 48 bit) en toegangsvoorwaarden (32 bit) voor alle vier blokken, inclusief zich zelf. Er is maar een sleutel paar voor een sector, maar er kunnen unieke toegangsvoorwaarden zijn voor de sleutels in elk blok. Een data blok kan bestaan uit 16 bytes gegevens of een 4 bytes waarde. Alleen waarde blokken kunnen verminderd, vermeerderd, overgedragen of hersteld worden. Waarde blokken bestaan uit: - 4 bytes adres informatie - 4 bytes waarde data - 4 bytes aanvulling van de waarde data - 4 bytes waarde data herhaling De waarde wordt 3x opgeslagen in een waarde blok of fout detectie en correctie mogelijk te maken. Een sector kan elke combinatie gegevens en waarde blokken bevatten in de blokken 0 t/m 2.
Mifare
5
www.electro-fiction.nl
Beveiliging Sleutel A heeft de toegangsvoorwaarden voor de blokken 0 t/m 3. Door de twee sleutels per sector heeft de systeemmanager de mogelijkheid structuur aan te brengen in de codering van de kaarten zodat verschillende mensen (met verschillende kaartlezers), verschillende rechten hebben op de data. Toegangsvoorwaarden voor een sector kunnen verschillen per blok. De toegangsvoorwaarde bestaat uit een 3-bit binair nummer (000111), waardoor er acht verschillende manieren zijn om de toegang tot een sleutelpaar per blok mogelijk te maken. Toegangsvoorwaarde voor de sector trailer kan toestaan of weigeren dat een of beide sleutels en/of de toegangstabel gelezen of gewijzigd kan worden. Toegangsvoorwaarden voor de data blokken kan toestaan of weigeren dat de data gelezen, geschreven, verminderd of vermeerderd wordt met gebruik van een of beide sleutels. Mifare sleutels zijn numerieke wachtwoorden die de toegang regelen tot de informatie die op de Mifare kaart is opgeslagen. Een Mifare sleutel bestaat uit een 6 byte (of 48 bit) dataveld, weergegeven met 12 hex karakters van 000000000000 t/m FFFFFFFFFFFF. De Mifare beveiliging bestaat uit: - Mifare communicatie protocol tussen kaart en lezer, waarbij de transmissie van gegevens van kaart naar lezer iedere keer wijzigt. - De Mifare lezers kennen het authentificatie proces waarbij de kaart en sectorlezer elkaar verifiëren. - Een 48bits encryptie op de opgeslagen informatie in de kaart. Omdat de Mifare kaart is ontworpen voor toepassingen op het gebied van elektronische identificatie en elektronisch betalen, is er veel zorg gestoken in de beveiliging. Zo beschikt de Mifare over de zogenaamde ‘three pass authentication’ conform de ISO 9798-2 standaard. Deze authenticatie zorgt samen met onder meer de elektronische sleutels, het geheime Mifare protocol en de (fysieke) architectuur van de chip. Naast de Mifare Standard kaart kan er ook gekozen worden voor een Mifare Pro-X kaart. Dit is een dual interface kaart die de hoge beveiliging van een contact kaart combineert met het gemak van een contactloze kaart. Deze kaart voldoet volledig aan de door de financiële branche gestelde eisen. De Mifare Pro-X ondersteunt zowel 3-DES als de PKI beveiliging en zou daarmee een zeer geschikt platform kunnen zijn voor bijvoorbeeld een Chipknipbeurs.
Mifare
6
www.electro-fiction.nl
Mifare DESFire De Mifare DESFire kaart heeft de mogelijkheid om 28 applicaties en 16 files per applicatie op te slaan. Doordat de geheugenruimte pas bij het schrijven wordt aangemaakt is de kaart volledig flexibel in het gebruik. De -
eigenschappen van de kaart bestaan uit: Volledig ISO14443A 1-4 compatibel 4kb EEPROM Veilig Snel Open 3DES encryptie Flexibel geheugen indeling Mifare gebaseerd
De Mifare DESFire8 kaart is een 8kb variant met AES128 encryptie. De Mifare Plus kaart is een vervanger voor Mifare Classic, die in bestaande infrastructuren gebruikt kan worden met de hogere AES128 beveiliging. Deze kaart is echter niet zo flexibel als de Mifare DESFire8 kaart.
Hacking Sinds begin 2008 staan de (vak)bladen vol met verhalen over de veiligheid van de Classic 4K Mifare-chip. Op internet zijn diverse hack-methoden te vinden en ook de OV-Chipkaart zou niet veilig zijn. Omdat in de toegangscontrole ook veel gebruik wordt gemaakt van de mifare-technologie, hier in het kort enige feiten:
Binnen toegangscontrole zijn de mifaresystemen grofweg verdeeld in twee methoden; • Serienummer lezing • Sector lezing De kaartlezers die de sector lezen zijn iets duurder dan kaartlezers die alleen een serienummer lezen.
Sector-lezing is een relatief veilige methode omdat voor het "openen" van een sector op de mifare-kaart een KEY nodig is. Als de KEY bekend is kan men lezen en schrijven in die betreffende sector. Alleen als zowel de kaartlezer en de kaart dezelfde KEY gebruiken, is het mogelijk om de informatie uit de sector te lezen. Echter is dit nu de methode die is "gekraakt" De hack van Mifare-toegangspassen bestaat uit het afluisteren van versleutelde communicatie door Nijmeegse onderzoekers die een patroon hebben afgeleid waarmee zij de geheime code kunnen ontcijferen. Met deze sleutel kunnen passen gekopieerd worden.
Mifare
7
www.electro-fiction.nl
De Mifare Classic-chip, bekend van de gekraakte OV-chipkaart, zit op miljoenen toegangspassen. Het afluisteren kan op een afstand van enkele meters. Uit die informatie wordt de geheime 48 bits sleutel gedistilleerd. Voorwaarde voor deze kraak is wel dat op elke pas dezelfde sleutel gebruikt wordt. Een pas meldt zich eerst met zijn identificatienummer bij een kaartlezer en stuurt vervolgens een gecodeerde boodschap naar de kaartlezer. Deze gecodeerde boodschap wordt bepaald door de versleuteling. Door meerdere passen af te luisteren kan de versleuteling herleidt worden. Serienummer-lezing lijkt nu een veiliger systeem omdat het serienumer van een Mifare-kaart een uniek nummer is en zich bevindt in sector "0" van de mifare-chip welke sector niet is te beschrijven of te kopiëren op een andere blanco kaart. Dit serienummer is (in de Mifare-classic) 32 Bits lang. LET OP! Slechts een aantal toegangscontrole-systemen op de markt, waaronder CardAccess en Axiom leest het volledige 32 bits serienummer van de kaart. Veel andere systemen lezen slechts een deel van dit serienummer. Conclusie: Serienummer-lezing lijkt een veiliger methode voor toegangscontroletoepassingen mits het volledige nummer wordt gebruikt voor verificatie, eventueel gecombineerd met aanvullende maatregelen.
Maatregelen Het verbreken van beveiligingen bestaat zo lang als er beveiliging bestaat. De mate van beveiliging dient afgestemd te worden op het risico waar de beveiliging voor bestemd is. De hack van de Mifare kaart is niet het grootste risico voor de beveiliging. Risico’s van toegangscontrole bestaan uit: - Uitlenen van passen - Diefstal van passen - Meelopen met pasgebruikers - Sluiten deur blokkeren met een wig - Nooddeuren en achter deuren die open blijven staan Zolang hier niets aan gedaan wordt heeft het ook weinig zin om je zorgen te maken aan over het kopiëren van passen. Voor gebouwen en ruimten met een hoog risico kunnen de volgende maatregelen genomen worden: - Biometrie, zoals vingerafdruklezers - Een combinatie van kaartlezers en pincode of biometrie - Pashouders die de RF informatie afschermen - Visuele controle of pas en gebruiker bij elkaar horen - Gebruik van Mifare DESFire kaarten met triple DES
Mifare
8
www.electro-fiction.nl
De visuele controle kan plaats vinden door een pasfoto van de eigenaar op de pas te drukken, die dan gecontroleerd kan worden door de bewaking. Als de pas zichtbaar gedragen moet worden, kan ook overig personeel de pas controleren. Door de pas een duidelijke kleur te geven wordt ook zichtbaar tot welke ruimten de pas recht geeft. De visuele controle kan ook plaats vinden door de receptie of bewaking door een pasfoto die op een scherm verschijnt als de pas is aangeboden bij een kaartlezer. Dit kan ook door een beeld de persoon met een camera op een monitor naast de pasfoto weer te geven. Pas als de pasfoto en de persoon overeenkomen wordt de deur geopend door de receptie of bewaking. Een veiligere methode is het gebruik van beter beveiligde dus beter encrypte kaarten, waaronder bijv. de Mifare DESFire serie. De laatste nieuwe serie DESFire kaarten maakt o.a. gebruik van AES (Rijndael) encryptie (DESFire8), o.a. toegepast in de Amerikaanse "rijkspas" volgens FIPS201 en PIV-II normen. Meer informatie over deze kaart is te vinden op www.mifare.net
ELECTRO-FICTION Website . Auteur: Wim Klein . Update: 3-4-2008
Mifare
9
www.electro-fiction.nl