Link to this headingISO 14443 Protocol
- Opperates at 13.56 MHz ± 7 kHz
- Data Rate: 106, 212, 424, 848 kbit/s
- Modulation: ASK (Amplitude Shift Keying) by modulating the impedance
- Readers have timeouts in between commands
Link to this headingCommands
Common Commands:
REQA: 26h //
WUPA: 52h //
SELECT: 93h 20h //
HLTA: 50h 00h //
Mifare Classic Commands:
AUTH_A: 60h [block]
AUTH_B: 61h [block]
READ: 30h [block]
WRITE: A0h [block] [16 bytes]
ISO 14443-4 Commands:
RATS: E0h [FSDI:CID]
APDU: [CLA INS P1 P2 Lc Data Le]
Link to this headingISO 14443-A
- Uses OOK with Modified Miller coding
- odd parity per byte
- Message Contains a [Start bit + data + parity + end bit] at 106 kbps
- Used by Mifare Classic, Mifare DESFire, NTAG
Frame:
packet
+1: "Start"
+64: "Data Bits (8n)"
+8: "Parity (n)"
+1: "End"
Link to this headingUnique Commands
REQA
WUPA
SELECT
ANTICOLLISION
Link to this headingReading the UID
sequenceDiagram
Reader->>Card: REQA (26h)
Card->>Reader: ATQA (2 bytes)
Reader->>Card: SEL (93h 20h)
Card->>Reader: UID + BCC (5 bytes)
Reader->>Card: SEL + UID + BCC (93h 70h)
Card->>Reader: SAK (1 byte)
Link to this headingType B (ISO 14443-3B)
- Uses ASK with NRZ coding
- CRC-16 for frame integrity
- Instead of reducing the signal to zero it just reduces it slightly
- Message Contains a [Start + data + CRC + end]
- Used with Calypso, some government IDs
Frame:
packet
+1: "Start"
+64: "Data Bytes (n)"
+16: "CRC-16"
+1: "End"
Link to this headingReading the UID
sequenceDiagram
Reader->>Card: REQB (05h 00h 08h 39h 73h)
Note right of Card: ATQB (12 bytes)<br/>PUPI: 4 bytes<br/>App Data: 4 bytes<br/>Protocol: 3 bytes<br/>CRC: 2 bytes
Card->>Reader: ATQB (12 bytes)
Reader->>Card: ATTRIB
Card->>Reader: Confirmation