Varför fungerar inte alla telefoner med NFC?


Det är en ganska lång och lite typisk histora när det gäller teknik, standarder och motstridiga intressen. Men först lite bakgrundsfakta.

Vad är NFC

NFC är kontaktlös kommunikation, lite som WiFi eller Bluetooth. Men det unika är att en av de två kommunicerande komponenterna är helt passiv (den passiva komponenten är kortet/taggen). Denna komponent drivs av ett magnetfält som alstras av läsaren, en liten krets startar upp när kraften från magnetfältet blir tillräckligt stor och data kan läsas och skrivas från/till kortet. Magnetfältets styrka avtar snabbt med avståndet, så kortet behöver vara några centimeter (6-7 cm) från läsaren.

Inblandad teknik

De resebolag vars kort stöds av ResSaldo använder sig av kort av en typ som heter Mifare Classic (eller av nyare kort i kompabilitetsläge). Dessa kort konstruerades cirka 1994 av ett företag som heter NXP. Detta var i NFC-teknikens barndom, till och med innan NFC-standarden var spikad. Andra företag var drivande när NFC-standarden skulle bestämmas, och det bar sig inte bättre än att Mifare Classic-korten hamnade utanför den vanligaste NFC-standarden (B?)

Mifare Classic blev en succe, och idag finns det ca 5 *miljarder* Mifare Classic kretsar och 50 miljoner läsare på marknaden. Men eftersom de inte riktigt ligger inom standarden kan man konstruera en standard-läsare som inte klarar av att läsa Mifare Classic.

NXP mot världen

I och med att Mifare Classic blev en de-facto standard bland NFC-kort var det inget större problem att de inte riktigt följde standard. Men 2008 upptäckte man ett säkerhetshål i Mifare Classic-korten.(För övrigt är det detta säkerhetshål som gjort det möjligt att skapa appen, då det är på detta sätt som resebolagens nycklar har extraherats från korten.) Detta gjorde att nyare varianter av Mifare (DESFire, UltraLight, Plus, mfl.) blev vanligare och det började dyka upp en marknad även för läsar-kretsar som följer standarden (och inte klarar av att läsa Mifare Classic).

På mobilmarknaden idag finns det i princip två tillverkare av NFC-kretsar: NXP och Broadcom. Kretsarna från NXP kan läsa Mifare Classic och de från Broadcom klarar inte av att läsa Mifare Classic. Så huruvida ResSaldo kan köras på en telefon beror på vem som har designat NFC-kretsen.

Varför använder inte alla NXP:s krets?

NXP:s krets är ju uppenbart bättre, borde inte alla använda den? Man kan tycka det, särskilt om man vill köra ResSaldo :-) Men det är andra faktorer som spelar in, pris, energieffektivitet, integration, drivrutiner, etc. Faktum är att trots de 5 miljarder kretsar som finns på marknaden så är inte Mifare Classic-kortläsning en prioriterad egenskap när mobiltillverkarna designar sina modeller. De verkar fokusera på betalningslösningar och NFC-beam (dataöverföring mellan telefoner)!


OBS: Jag är inte expert på hårdvara, och ovanstående är mina egna slutsatser från lite internet-efterforskning.