- Computers & electronics
- Data storage
- Data storage devices
- NXP
- Contactless Smart Card
- User manual
- 17 Pages
NXP Contactless Smart Card, MIFARE Mini, 1K, 4K, Ultralight, Ultralight C, Plus, Plus, Plus, DESFire, JCOP, eMRTD Application note
Below you will find brief information for MIFARE Mini, MIFARE 1K, MIFARE 4K, MIFARE Ultralight, MIFARE Ultralight C, MIFARE Plus, MIFARE DESFire, JCOP, eMRTD. This document explores the selection process that is key to establishing communication between electronic devices and contactless smart cards.
advertisement
Assistant Bot
Need help? Our chatbot has already read the manual and is ready to assist you. Feel free to ask any questions about the device, but providing details will make the conversation more productive.
▼
Scroll to page 2
of
17
AN10834 MIFARE ISO/IEC 14443 PICC Selection Rev. 3.0 — 26 June 2009 130830 Application note PUBLIC Document information Info Content Keywords Activate Card, MIFARE, Select Card Abstract This Application Note shows the elementary communication for selecting a Contactless Smart Card according to the ISO/IEC 14443, and how to use this communication to guarantee proper functionality in different applications. AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection Revision history Rev Date Description 3.0 20090626 Third version. Correction of wording. 2.0 20090518 Second version (supersedes AN130810 MIFARE ISO/IEC 14443 PICC Selection, Rev. 1.0, 17 October 2006) Contact information For additional information, please visit: http://www.nxp.com For sales office addresses, please send an email to: [email protected] AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 2 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 1. Introduction A smart card has to be properly selected, before data can be exchanged between a reader (system) and the card. This card selection process (card activation) is described in the ISO14443-3 for contactless proximity systems. The dramatic increase in contactless applications has made the correct selection of one single contactless card out of a possible number of cards in the reader field become more and more important. This was foreseen when the ISO standard was developed and therefore the standard describes in detail how the applications need to process them. 1.1 How to use this document The card selection process can be divided into 2 parts: at first the communication layer describes how to select a single PICC (whatever type of card or application). This is important because the ISO standard, which specifies the contactless smartcard communication, only describes this communication layer, independent of the application. More and more different types of cards and applications can be found in the field, which all use the ISO/IEC 14443. The second step, after a single card has been selected, is to select the correct application, to handle multiple applications (or cards), or to properly ignore foreign applications (or cards). Section 2 of this document describes how the ISO/IEC 14443 process to select a single card. The anti-collision procedure is mandatory for both type A and type B cards. In addition to the card activation procedure the system itself has to ensure that the PCD can select the correct application, either with more than one application on one single card, or with different applications on different cards. In many systems it is recommended to let the system select the correct application, but not the user, which guarantees a fast and secure transaction. This is shown in section 3. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 3 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 2. Card activation according to the ISO/IEC14443 The ISO/IEC 14443-3 describes how to select (“activate”) a single card. This card activation procedure is generally independent of the number of cards in the field, and of the number of applications: • This procedure guarantees that a single card is properly selected, independent on the number of cards available in the field during the card activation. • This procedure guarantees that a single card is properly selected, independent on the number of cards moved into the field during the whole card activation or card transaction. • This procedure guarantees that a single card keeps being properly selected, independent on the number of cards moved into the field during the whole card activation or card transaction. Note: For convenience reasons in many contactless systems the cards are continuously moved into the field and then removed from the field. So in such systems it usually cannot be guaranteed, that a transaction will be completed. This is not at all related to the card activation procedure or the use of multiple cards in a single reader field. Some additional measures have to be taken into account to guarantee the proper function during the whole card transaction: Either a card slot has to be used similarly to the contact card reader slots, or the application (either on the card or in the system) has to offer a recovery procedure (tear protection or back-up management) for those cases, where the transaction can be interrupted. 2.1 Polling for cards The ISO/IEC 14443 specifies that cards following the ISO/IEC 14443A shall not interfere cards following the ISO/IEC 14443B, and vice versa. In any case the card activation procedure starts with a Request command (REQA or REQB), which is used only to check whether there is at least one card in the reader field. The REQA or REQB has to be send after the carrier is switched on, waiting 5ms at minimum before starting the transmission. This procedure is shown in Fig 1. Note: The minimum required time between a REQA and REQB or REQB and REQA is 5ms acc. to [8]. Note: For NFC devices there has to be another block between “Card Polling” and “Switch on RF”, because NFC devices need to check whether there is already a field available or not. If an external field is detected the reader is not allowed to switch on its own RF field. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 4 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection (1) “Activate Card”: Card Activation as described in section 2.2. (2) After the transaction the PCD is required to perform a Halt or Deselect. Fig 1. Card Polling In some applications it might be required to reset the RF regularly, in some others the carrier is switched on only for a short time anyway. In all cases every communication starts with a REQA (or REQB). If an ATQA (or ATQB) is received, the “Activate Card” procedure as described in section 2.2 selects the detected card. If no ATQA (or ATQB) is received, the REQB (or REQA) is used. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 5 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection If the system requires only one card with the relevant application to be allowed in the field, the PCD has to select all relevant cards, and then deselect the ones with foreign applications. The remaining cards with correct applications have to be checked: if more than one of such cards are presented, the PCD has to refuse the transaction. This is not part of the communication layer and is described in section 3. 2.2 Activate Card The Card activation selects a single card, after an ATQA or ATQB has been received. 2.2.1 Anti-collision procedure acc. ISO/IEC14443A The anti-collision procedure is mandatory for ISO/IEC 14443A compliant PICCs. All the NXP MIFARE products support the anti-collision according to ISO/IEC14443 A. The “Activate Card” includes the anti-collision and Card selection of a single card (for both type A or type B). For ISO/IEC 14443-4 compliant PICCs (like MIFARE DESFire, cards for contactless payment, electronic passports, etc.) the Activate Card includes the proper setup of the transmission protocol as shown in Fig 2. (1) This “Card Activation” requires a proper REQA/ATQA before the Anti-collision Loop. (2) The bit numbering of the ISO/IEC 14443 starts with LSB = bit1! Fig 2. ISO/IEC 14443-4 compliant Card Activation (like MIFARE Plus, MIFARE DESFire or JCOP) AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 6 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection According to the SAK coding the MIFARE cards like MIFARE Mini, MIFARE 1K, MIFARE 4K, MIFARE Ultralight or Ultralight C (and MIFARE Plus in Security Level 1 or 2) can be clearly separated and selected as shown in Fig 3. MIFARE 1K, 4K or UL Card Activation Anticollision Loop SAK bit 2 = 1? Yes RFU No SAK bit 4 = 1? Yes MIFARE Mini card selected No SAK bit 5 = 1? Yes No SAK bit 5 = 1? SAK bit 6 = 1? No Yes No MIFARE 1K card selected MIFARE 4K card selected MIFARE UL card selected SAK bit 1 = 1? No Yes SAK bit 1 = 1? Yes Yes RATS + PSS, if required No ISO/IEC14443-4 card selected MIFARE Plus 2K card SL2 selected MIFARE Plus 4K card SL2 selected (1) This “Card Activation” requires a proper REQA/ATQA before the anti-collision Loop. (2) The bit numbering of the ISO/IEC 14443 starts with LSB = bit1! (3) The MIFARE Plus in Security Level 3 fully supports the ISO/IEC 14443-4. (4) SAK bit 2 is reserved for future use, i.e. bit 2 = 1 might give a different meaning to all other SAK bits. Fig 3. MIFARE Mini, 1K, 4K, UL or ULC or MIFARE Plus Card Activation Note: It is not recommended to use the ATQA to determine card parameters due to possible collisions. Note: The MIFARE Ultralight C uses the same ATQA and SAK as the MIFARE Ultralight. Note: The MIFARE Plus in the SL3 uses the ATS or the card capabilities to distinguish between different card types. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 7 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 2.2.2 Anti-collision procedure acc. ISO/IEC14443B For coding the REQB command (and all other ISO/IEC 14443 B commands) the “Mf500PiccExchangeBlock” (refer to [10]) together with the MF RC531 or CL RC632 can be used, if • all the relevant reader IC registers are set correctly for ISO/IEC 14443 B communication (refer to [6] or [7]), and • the CRC is coded correctly. The CRC Enable / Disable functionality of “Mf500PiccExchangeBlock “ of the original Basic Function Library ([10]) overwrites the ISO/IEC 14443 B settings in the ChannelRedundancy register. Instead of overwriting the complete 8 bit of the register, only the RxCRCEn and TxCRCEn should be masked and set or reset, without changing the rest of that register. If an ATQB is received with communication errors, the anti-collision procedure according to [8] has to solve the collisions, and select one single card. The Card Activation uses ATQB and the ATTRIB command including answer to establish the protocol layer of the ISO/ IEC 14443 for an ISO/IEC 14443 B compliant card. Note: For more details and IP related issues regarding Type B check [8]. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 8 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 3. Selecting the correct application Due to the fact, that in a standard system there can be more than one PICC in the active PCD field, the system has to select the right one – and has to deselect all the other ones. In any case the system has to be able to separate cards with foreign applications from card with the own application – and properly exclude the “foreign card” from the own selection process. The system has to be able to exclude cards containing foreign applications especially in those cases, where the system requires the operation being limited to “one single card”. Note: This selection process is related to the application, but not to the communication! The principle of this selection is always the same: every card in the field is selected and queried to check if it contains the relevant application or not. If more than one card in the field contains the relevant application, the system either has to prioritize the cards or refuse the transaction. If only one card contains the relevant application, the system has to perform the transaction – independent of the number of cards in the field. The following sections describe how to properly select the relevant application, if only one type of cards is used in the system (e.g. MIFARE Standard only). However, the process can of course be extended to operate applications using different type of cards, too. 3.1 Selecting a MIFARE standard application In many cases the system needs to select one MIFARE standard card (like MIFARE 1K or MIFARE 4K or MIFARE Ultralight). In all those cases the PCD does not use the transmission protocol, but just selects the card according to ISO/IEC 14443-3. Afterwards the application runs the application related commands (like the Authentication for the MIFARE 1K or MIFARE 4K or Read for the MIFARE Ultralight). The process for selecting a MIFARE 1K or 4K as shown in Fig 4 (without MAD) or Fig 5 (using MAD) uses the Activate Card without activating the transmission protocol. Every ISO/IEC14443-4 compliant card is selected and properly halted in this process. A dual interface card providing both a MIFARE Emulation as well as an ISO/IEC14443-4 protocol layer is automatically correctly activated as a MIFARE standard card here. This process returns an error if more then one MIFARE standard card with the relevant application is in the field. “Reactivate Card” uses the WUPA, and the Select command. Note: The same process as shown in Fig 4 can be used for the MIFARE Ultralight, if a Read command instead of the Authentication is used. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 9 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection (1) “Card Activation” is shown in section 2 (incl. the REQA). Fig 4. Selecting one single MIFARE Mini, 1K or 4K application without MAD AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 10 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection MIFARE Standard application Card polling Yes N=0? N=0 No card Card Activation Card Selected Read & Check MAD Fail Reactivate Card Halt AID existing N=N+1 Card Selected No N = 1? Yes Halt No Card Activation No card in the field Reactivate Card Run Application Error message! -> more than 1 card! (1) “Card Activation” is shown in section 2 (incl. the REQA). Fig 5. Selecting one single MIFARE Mini, 1K or 4K application with MAD AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 11 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 3.2 Selecting an ISO14443-4 compliant application In many applications using ISO/IEC 14443-4 compliant cards the proper selection of one card out of a number of cards is required. Even if the transaction requires more than one card to be addressed, usually every system uses a transaction flow which addresses cards sequentially. So every card should be activated (and deactivated) separately, even though the ISO/IEC 14443 protocol activation allows the use of CIDs and several cards in parallel. Note: For better communication stability it is recommended to only activate and select the card that is being used in the current transaction, if not otherwise required. Fig 6 shows the selection of an application on a DESFire card as an example. Every other card that does not contain the relevant application is ignored from the system (i.e. properly deselected). If more than one DESFire card with such a relevant application is presented to the reader, the systems refuses the transaction. “Reactivate Card” uses the WUPA, and the Select command. The same principle can be used to select other applications on other type of cards, e.g. a ticketing application on a MIFARE Plus SL3 card, a payment application on a JCOP card or a electronic passport application on an eMRTD. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 12 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection (1) “Card Activation” is shown in section 2 (incl. the REQA). (2) The same principle applies for MIFARE Plus SL3 and other ISO/IEC 14443-4 compliant cards. Fig 6. Selecting one single MIFARE DESFire card AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 13 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 3.3 Using multiple cards during one transaction In some cases the system might require to handle two ore more cards in parallel during the same transaction. In such a case the system can use the CID of the protocol to activate and address each card during one transaction. The selection process is the same as shown in Fig 6, and can be processed as many times as cards are in the field, using different CIDs to select each card. 4. Terms and Abbreviations Table 1. Abbreviations Acronym Description application here: the application on the card ATQA Answer To reQuest type A (refer to [8]) ATQB Answer To reQuest type B (refer to [8]) ATTRIB PICC Selection command ISO/IEC 14443 B (refer to [8]) card here: PICC acc. to the ISO/IEC 14443 (contactless proximity smart card) CID Card IDentifier (refer to [8]) eMRTD electronic Machine Readable Travel Document (“ICAO compliant ePassport”) ICAO International Civil Aviation Organization MAD MIFARE Multi Application Directory (refer to [12]) NFC Near Field Communication PCD Proximity Coupling Device (“Reader”) PPS Protocol Parameter Selection (refer to [8]) RATS Request for Answer To Select (refer to [8]) reader here: PCD acc. to the ISO/IEC 14443 (refer to [8]) SL MIFARE Plus Security Level (0, 1, 2, or 3) SAK Select AcKnowledge (refer to [8]) system here: the system application AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 14 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 5. References [1] MIFARE (14443A) 13,56 MHz RFID Proximity Antennas; Application Note [2] ISO/IEC 14443 higher bit rates with MICORE; Application Note [3] Data Sheet; SL RC400 I Code Reader IC [4] MIFARE MF RC500; Highly Integrated ISO 14443A Reader IC [5] MIFARE MF RC 530 ISO14443A reader IC [6] MIFARE MF RC531; ISO 14443 Reader IC [7] MIFARE and I Code CL RC632 Multiple protocol contactless reader IC [8] ISO/IEC14443 Identification cards - Contactless integrated circuit(s) cards Proximity cards [9] ISO10373-6 Identification cards — Test methods part 6: Proximity cards [10] Sample Source Code, Basic Function Library MF RC5xx [11] MIFARE Interface Platform Type Identification Procedure [12] MIFARE Application Directory MAD AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 15 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 6. Legal information 6.1 Definitions Draft — The document is a draft version only. The content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included herein and shall have no liability for the consequences of use of such information. Export control — This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from national authorities. 6.3 Licenses ICs with DPA Countermeasures functionality NXP ICs containing functionality implementing countermeasures to Differential Power Analysis and Simple Power Analysis are produced and sold under applicable license from Cryptography Research, Inc. 6.2 Disclaimers General — Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. Right to make changes — NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof. Suitability for use — NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in medical, military, aircraft, space or life support equipment, nor in applications where failure or malfunction of a NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors accepts no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is for the customer’s own risk. 6.4 Trademarks Notice: All referenced brands, product names, service names and trademarks are property of their respective owners. MIFARE — is a trademark of NXP B.V. MIFARE Plus — is a trademark of NXP B.V. MIFARE Ultralight — is a trademark of NXP B.V. DESFire — is a trademark of NXP B.V. Applications — Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. AN10834_30 Application note © NXP B.V. 2009. All rights reserved. Rev. 3.0 — 26 June 2009 16 of 17 AN10834 NXP Semiconductors MIFARE ISO/IEC 14443 PICC Selection 7. Contents 1. 1.1 2. 2.1 2.2 2.2.1 2.2.2 3. 3.1 3.2 3.3 4. 5. 6. 6.1 6.2 6.3 6.4 7. Introduction .........................................................3 How to use this document ..................................3 Card activation according to the ISO/IEC14443 4 Polling for cards .................................................4 Activate Card......................................................6 Anti-collision procedure acc. ISO/IEC14443A ....6 Anti-collision procedure acc. ISO/IEC14443B ....8 Selecting the correct application .......................9 Selecting a MIFARE standard application ..........9 Selecting an ISO14443-4 compliant application ........................................................12 Using multiple cards during one transaction.....14 Terms and Abbreviations .................................14 References .........................................................15 Legal information ..............................................16 Definitions ........................................................16 Disclaimers.......................................................16 Licenses ...........................................................16 Trademarks ......................................................16 Contents.............................................................17 Please be aware that important notices concerning this document and the product(s) described herein, have been included in the section 'Legal information'. © NXP B.V. 2009. All rights reserved. For more information, please visit: http://www.nxp.com For sales office addresses, email to: [email protected] Date of release: 26 June 2009 Document identifier: AN10834_30
advertisement
Key Features
- Card selection
- Anti-collision procedure
- ISO/IEC 14443-4 compliant card activation
- MIFARE standard application selection
- MIFARE DESFire card selection
- Using multiple cards
Frequently Answers and Questions
How do I select a single card from multiple cards in the field?
The ISO/IEC 14443-3 standard describes the card activation procedure, which involves polling for cards, sending a Request command (REQA or REQB) and performing an anti-collision process to identify and select a specific card.
What is the role of the anti-collision procedure?
The anti-collision procedure, mandatory for ISO/IEC 14443A compliant cards, ensures that only one card is selected, even if multiple cards are present in the reader field. It involves sending specific commands and analyzing the responses to resolve any collisions.
How do I select the correct application on a card?
After a card is activated, you need to select the correct application. This involves sending a Select command and checking the response to ensure it matches the desired application. The system must also handle the scenario where multiple cards with the relevant application are present.
Can I use multiple cards during a single transaction?
Yes, you can use multiple cards concurrently during a transaction by using the CID (Card Identifier) in the protocol. Each card is activated separately and addressed using a different CID.
What types of cards are supported by the ISO/IEC 14443 standard?
The ISO/IEC 14443 standard supports both Type A and Type B cards. Type A cards are commonly used for MIFARE products, while Type B cards are used in other contactless applications.