Mifare Plus and iOS 13

I want to detect Mifare Plus card. But whenever I get the Scan View, nothing happens. Nor the error callback or the success block get called.

Everything is ok with Mifare Ultralight cards.

Is there a way to read this cards?


Card dump:- -- -- -- -- -- -- -- [45] ??? -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- [46] ??? -- -- -- -- -- -- -- --


** TagInfo scan (version 4.23) 2019-08-08 13:05:13 ** Report Type: External

-- IC INFO ------------------------------

IC manufacturer: NXP Semiconductors

IC type: MIFARE Plus X (MF1PLUS60)

-- NDEF ------------------------------

No NDEF data storage present: Maximum NDEF storage size after format: 716 bytes

-- EXTRA ------------------------------

Memory size: 2 kB

32 sectors, with 4 blocks per sector

128 blocks, with 16 bytes per blockSecurity Level detected: Security Level 1

ATS historical bytes details: NXP IC information coding Chip type: MIFARE Plus Memory size: Unspecified Chip version: Released Chip

generation: Unspecified Virtual Card Selection capability: * VCS, VCSL and SVC supported * All Security Levels supported

-- FULL SCAN ------------------------------

Technologies supported: MIFARE Classic compatible ISO/IEC 14443-3 (Type A) compatible ISO/IEC 14443-2 (Type A) compatible

Android technology information: Tag description:

TAG: Tech [android.nfc.tech.NfcA, android.nfc.tech.MifareClassic, android.nfc.tech.NdefFormatable]

Maximum transceive length: 253 bytes

Default maximum transceive time-out: 618 msDetailed protocol information: ID: 04:6D:19:8A:CE:49:80 ATQA: 0x4400 SAK: 0x08 ATS: 0x0C75778002C1052F2F01BCD600000816

Max. accepted frame size: 64 bytes (FSCI: 5)

Supported receive rates:106, 212, 424, 848 kbit/s (DR: 1, 2, 4, 8)

Supported send rates:106, 212, 424, 848 kbit/s (DS: 1, 2, 4, 8)

Different send and receive rates supported

SFGT: 302.0 us (SFGI: 0)

FWT: 77.33 ms (FWI: 8)

NAD not supported

CID supported

Historical bytes: 0xC1052F2F01BCD6 |..//...|Memory content: Sector 0 (0x00) [00] r-- 04 6D 19 8A CE 49 80 08 44 00 12 01 11 00 08 16 |.m...I..D.......| [01] rW- 00 00 00 00 00 00 00

00 00 00 00 00 00 00 00 00 |................| [02] rwi 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| [03] WXW A0:A1:A2:A3:A4:A5 7C:37:88 00 XX:XX:XX:XX:XX:XX MAD access key (unknown key)

.....

r/R=read, w/W=write, i/I=increment, d=decr/transfer/restore, x=r+w, X=R+W data block: r/w/i/d:key A|B, R/W/I:key B only, I/i implies d, *=value block trailer (order: key A, AC, key B): r/w:key A, W:key B, R:key A|B, (r)=readable key AC: W implies R+r, R implies r

Replies

How do you get the dump ?

Could you get the dump for Mifare Ultralight and compare ?

Did you ask NXP if there is something special in Mifare Plus that could explain ?

In particular, here it says:

No NDEF data storage present:

Is it the same on Ultralight ?


I read this

h ttps://atadistance.net/2018/11/07/ios-12-apple-pay-wallet-pulled-a-mifare-on-us-and-nobody-noticed/

It is not clear if Apple NFC supports all Mifare variations


https://stackoverflow.com/questions/44429828/it-is-possible-to-read-protected-nfc-tags-in-ios

They note that:


Core NFC only works with NFC tag that are NDEF formatted. Thus, you can only interact with NFC tags that adhere to the NDEF (NFC Data Exchange Format) hardware abstraction layer specified by the NFC Forum. Specifically, with NFC Forum tag types 1 to 5.


Core NFC overview page:


Reading NFC NDEF tags is supported on iPhone 7 and iPhone 7 Plus.


Using Core NFC, you can read Near Field Communication (NFC) tags of types 1 through 5 that contain data in the NFC Data Exchange Format (NDEF).

Contactless smartcards (like electronic passports, payment cards, etc.) and even additional protection features of NFC tags (like NTAG password protection, MIFARE DESFire or Ultralight authentication, etc.) cannot be accessed using the iOS 11 NFC API.

I'm trying to use new SDK with iOS 13.

Use Android 9 with TagInfo by NXP app (4.23 version) for card dump.

Ultralight card has no NDEF.

We can read not only NDEF cards (https://developer.apple.com/documentation/corenfc/nfctagreadersession)


Mifare Ultralight Card dump:


** TagInfo scan (version 4.23) 2019-08-08 13:09:46 **

Report Type: External-- IC INFO ------------------------------# IC manufacturer:

NXP Semiconductors# IC type:

MIFARE Ultralight EV1 (MF0UL11)-- NDEF ------------------------------# No NDEF data storage populated:-- EXTRA ------------------------------# Memory size:

48 bytes user memory

* 12 pages, with 4 bytes per page# IC detailed information:

Full product name: MF0UL1141DUF

Capacitance: 17 pF# Version information:

Vendor ID: NXP

Type: MIFARE Ultralight

Subtype: 17 pF, MUG UID

Major version: EV1

Minor version: V0

Storage size: 48 bytes

Protocol: ISO/IEC 14443-3# Configuration information:

AFC counter values:

* Counter #0: 0

* Counter #1: 0

* Counter #2: 0

No limit on wrong password attempts

Strong load modulation disabled# Originality check:

Signature verified with NXP public key# Virtual Card Type Identifier:

[not accessible]-- FULL SCAN ------------------------------# Technologies supported:

ISO/IEC 14443-3 (Type A) compatible

ISO/IEC 14443-2 (Type A) compatible# Android technology information:

Tag description:

* TAG: Tech [android.nfc.tech.NfcA, android.nfc.tech.MifareUltralight, android.nfc.tech.NdefFormatable]

* Maximum transceive length: 253 bytes

* Default maximum transceive time-out: 618 ms# Detailed protocol information:

ID: 04:7C:D2:6A:0A:61:80

ATQA: 0x4400

SAK: 0x00# Memory content:

[00] * 04:7C:D2 22 (UID0-UID2, BCC0)

[01] * 6A:0A:61:80 (UID3-UID6)

[02] x 81 48 70 08 (BCC1, INT, LOCK0-LOCK1)

[03] . 00:00:00:00 (OTP0-OTP3)

[04] x 45 DA 30 06 |E.0.|

[05] x 6F 65 1A 00 |oe..|

[06] x 46 C0 12 20 |F.. |

[07] . 00 6E 00 01 |.n..|

[08] . 01 02 F9 40 |...@|

[09] . 00 00 00 00 |....|

[0A] . DF DF A2 E1 |....|

[0B] x 46 C0 12 20 |F.. |

[0C] . 00 6E 00 01 |.n..|

[0D] . 01 02 F9 40 |...@|

[0E] . 00 00 00 00 |....|

[0F] . DF DF A2 E1 |....|

[10] 00 00 00 FF (AUTH0)

[11] 00 05 -- -- (ACCESS, VCTID)

[12] +P FF FF FF FF (PWD0-PWD3)

[13] +P 00 00 -- -- (PACK0-PACK1) *:locked & blocked, x:locked,

+:blocked, .:un(b)locked, ?:unknown

r:readable (write-protected),

p:password protected, -:write-only

P:password protected write-only--------------------------------------

MIFARE Ultralight can be formatted as NFC Forum Type 2 Tag.

But MIFARE Plus can't be formatted as NFC Forum Type Tags.

So it is not possible to use NFCNDEFReader API for MIFARE Plus.


You can use only NFCTagReader API for MIFARE Plus.

We actually try to use NFCTagReader API and it doesn't work for Mifare Plus

Hi! Which way you read Ultralight card? Is it an Apple sample or your own sourcecode thst uses Core NFC? Could you please share it?

Hello all. This is kind of an old thread but we are having trouble reading mifare plus tags on an iphone 11. An iphone 8 can detect the tag but an iphone 11 or 11 pro can't and we tried with multiple devices. Does anybody know anything about this. Thank you in advance.
It is kind of an old thread (-: Unfortunately it’s also tagged incorrectly (the tag was inherited from old DevForums which didn’t have an Core NFC topic area). I recommend you start a new thread with the Core NFC tag to see if you can attract the attention of folks familiar with that API.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@apple.com"