Why it's not possible to port this app to iOS #1

Open
opened 2026-06-06 18:50:46 +02:00 by hloth · 0 comments
Owner

Core NFC framework only supports ISO 7816-4 APDUs and NDEF messages. Mifare Classic uses NFC-A (ISO 14443-A) at the RF level but its memory access protocol is proprietary to NXP and isn't ISO 7816-4. iOS has no API to access raw ISO 14443-A transceiver commands, so it's not possible to send READ or WRITE commands.
Every sector on a Mifare Classic card is protected by NXP's proprietary CRYPTO1 stream cipher. To read a sector, we must complete a three pass authentication exchange using crypto1. There is no cipher or anti-collision API needed to initiate it, so iOS can't authenticate with the card or retrieve plaintext sector data.
iOS restricts NFC to high-level tag types from NFCTagReaderSession API. iPhone's NFC chip can physically communicate at 13.56 MHz, but Core NFC restricts access to whitelist that doesn't include Mifare Classic.

Core NFC framework only supports ISO 7816-4 APDUs and NDEF messages. Mifare Classic uses NFC-A (ISO 14443-A) at the RF level but its memory access protocol is proprietary to NXP and isn't ISO 7816-4. iOS has no API to access raw ISO 14443-A transceiver commands, so it's not possible to send READ or WRITE commands. Every sector on a Mifare Classic card is protected by NXP's proprietary [CRYPTO1](https://en.wikipedia.org/wiki/Crypto-1) stream cipher. To read a sector, we must complete a three pass authentication exchange using crypto1. There is no cipher or anti-collision API needed to initiate it, so iOS can't authenticate with the card or retrieve plaintext sector data. iOS restricts NFC to high-level tag types from NFCTagReaderSession API. iPhone's NFC chip can physically communicate at 13.56 MHz, but Core NFC restricts access to whitelist that doesn't include Mifare Classic.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hloth/zgz-avanza-card-android#1
No description provided.