4.1.2 List Readers ..................................... ................................................................................................15
4.2.1 CPU Cards.......................................................................................................................................17
6.6STATUS WORD ......................................................................................................................................37
7 APDU SAMPLES TO ACCESS CARDS............ .......................................................... ............................38
7.1HOW TO ACCESS MIFARE CLASSIC CARDS? ........................................................................................38
7.2HOW TO ACCESS MIFAREUL CARDS? ............................ ....................................................................39
7.3HOW TO ACCESS DESFIRE CARDS? .....................................................................................................40
7.3.1 DESFIRE EV1 Specific commands:...................................... ............................ ............................ ..43
7.4HOW TO ACCESS ISO15693 CARDS? ............................. ........................................................................44
7.5HOW TO ACCESS CRYPTO RF CARDS?.................................................. .................................................45
7.6HOW TO ACCESS ICODE-SLI CARDS?..................................................................................................46
APPENDIX A TERMS AND ABBREVIATIONS.....................................................................................47
APPENDIX B REFERENCES........................................ .............................................................................48
The Multi-IS O HF USB Reader /Writer i s a Desktop co ntactles s smart card/ tag reader an d writer
for accessing MIFARE, ISO14443-4 TypeA, ISO14443-4 TypeB, Mifare DESFire, Mifare DESFire EV1,
NFC tags and ISO 15693 tags. This document is intended for application developers who want to
access contactless cards using the Multi-ISO HF USB Reader/Writer.
Following sections explain how to install drivers for the Multi-ISO HF USB Reader/Writer in
Windows operating system (illustrations are taken from Windows XP, same being applicable for other
Windows versions).
1.1 Driver Installation
Drivers are necessary to access Multi-ISO HF USB Reader/Writer. The following steps illustrate
the installation procedure.
1. Plug in the reader in USB port
2. “Found New Hardware Wizard” will appear. Select “No, not this time” and c lick “Next” to
continue driver installation.
3. In the next appearing dialog box, select “Install from a list or specific location (Advanced)”
and click on “ Next”
4. In next dialog box select “Search for the best driver in these locations” and “Search removable media (floppy, CD-ROM…)” sub option. Insert the installation CD that is given
along with the reader kit and click “Next”.
5. Wait until the driver installation is completed by the operating system and the installation
success dialog is displayed as shown below. Click “Finish”. Now the drivers are installed
successfully.
Device will not function properly if wrong driver is installed or if there is a version incompatibility
between the firmware and driver. In these cases, the installed driver must be uninstalled and proper
driver must be installed as explained below
Un-installation procedure is as follows.
1. Open the device manager -> Smart card readers and select “Multi-ISO HF Reader – USB”
2. Right click on “Multi-ISO HF Reader – USB” and select “Uninstall”
3. In the following dialog click “OK”.
4. The device will now disappear from the device manager
5. Un-plug and re-plug the device
6. System will prompt for drivers. Install the drivers as described in the driver installation
procedure section 1.1.
Version of the driver and firmware plays an important role in the proper working of the device.
Device may malfunction if incompatible drivers are installed for particular version of firmware. The
compatibility of the driver and firmware can be found in the “Document history” section of this
document.
2.1 Driver Version Detection
Driver version detectio n is described in the foll owing proce dure.
1. Right click on the “My Computer” icon and click on “Manage”
2. In following dialog, select “Device Manager” under “System Tools” menu in the left pane.
3. Double click on “Smart card readers ” in the right pane. Right click on “Multi-ISO HF Reader
4. In the dialog box which appears, select the “Driver” tab, driver version can be found in the tab
window. For example, the driver version will appear as
CardRdrSuite is a test application that is provided along with Multi-ISO HF USB Reader/Writer
for customer use. CardRdrSuite consists of several sub-applications covering the following functions
3.1 Firmware Download
Reader firmware can be downloaded into the reader/writer using this sub-application. Salient
features are
• Auto reader detection
• User friendly GUI
• Provision to view device’s current firmware version and the version of the firmware to be
downloaded
The application operates in two modes
• DFU class mode
o Disaster recovery mode to recover reader if the reader is plugged out
accidentally during firmware download
o Individual DFU driver to handle this mode
• Proprietary mode
o Firmware download support without using the DFU driver
Refer to section “Firmware Download” of Card Reader Suite help file for detailed description.
Help file can be launched using the “Help” button in the main window of the Card Reader Suite
application.
3.2 Pcsc Diagnostics
Any Card APDU or Pseudo APD U can be issued and tested using this sub -application.
Salient features are
• APDU execution from script file (.APDU)
• Easy to edit script files
• Error status logging in a file
• Working sample scripts for each card type supported
Refer to section “Pcsc Diagnostics” of the Card Reader Suite help file for detailed description
All configurable parameters of the reader can be modified using these sub-applications. These
applications will configure the firmware binary file only.
Configure Binary
• Configures
o USB Chapter 09 parameters
o Firmware Version parameters
o Hardware Version parameters
o Other firmware configurations
• Provides option to make the parameters non-modifiable after config uring
Refer to section “Configure binary” of Card Reader Suite help file for detailed description
Edit Binary
• Configures
o RF parameters
o Mifare keys stored in the non-volatile memory of the reader
o DESFire keys stored in the non-volatile memory of the reader
• Provides option to make the parameters non-modifiable after config uring
Refer to section “Edit Binary” of Card Reader Suite help file for detailed description
“Multi-ISO HF USB Reader/Writer” can be accessed using the standard PCSC architecture for
communicating with cards. This makes card access easy, as it uses the same communication
procedure for all the cards.
The Microsoft Developer Network (MSDN) library gives valuable information and a detailed
description of all SCard APIs for communicating with the reader, through the Windows PCSC
framework (WINSCARD APIs – Refer [R4]).
4.1 How to Access Contactless Cards via PCSC?
Contactless cards can be easily accessed through PCSC using standard WINSCARD smart
card API’s for card access. The following steps provide guidelines for using the PCSC compliant
WINSCARD API’s to access cards using the Multi-ISO HF USB Reader/Writer.
4.1.1 Establish Context
This is the first step. This API will initialize all other PCSC APIs and allocate all resources
necessary for a smart card session. The SCardEstablishContext function establishes the resource
manager context (the scope) within which database operations is performed.
LONG SCardEstablishContext ( IN DWORD dwScope,
IN LPCVOID pvReserved1,
IN LPCVOID pvReserved2,
OUT LPSCARDCONTEXT phContext);
4.1.2 List Readers
The next step is to get a list of all PCSC readers connected to the system using the
SCardListReaders function. Look for “Multi-ISO HF Reader – USB - 0000000000000001 0”, in the list
returned. If multiple Multi-ISO HF USB Reader/Writers are connected to your system, they will be
enumerated with different serial numbers.
Example: “Arygon Multi-ISO 0000000000000001 0”, “Arygon Multi-ISO 0000000000000002 0”, could
be the list returned when the following function is executed.
LONG SCardListReaders (IN SCARDCONTEXT *phContext,
IN LPCTSTR mszGroups,
OUT LPTSTR mszReaders,
IN OUT LPDWORD pcchReaders);
Note: The OUT parameter phContext of SCardEstablishContext is used as in parameter for this API.
Next step is to connect to the card via the reader/writer. The SCardConnect API establishes a
connection (using a speci fic resource man ager context ) between the cal ling applicat ion and a smart
card contained by the specific reader. If no card exists in the specified reader, an error is returned.
LONG SCardConnect ( IN SCARDCONTEXT *phContext,
IN LPCTSTR szReader,
IN DWORD dwShareMode,
IN DWORD dwPreferredProtocols,
OUT LPSCARDHANDLE phCard,
OUT LPDWORD pdwActiveProtocol);
Note: The OUT parameter phContext of SCardEstablishContext is used as in parameter for this API.
4.1.4 Data and Command transfer with Card
Command and data that are transferred to the card are called as APDUs (application protocol
data unit) in smart card terminology. The SCardTransmit function sends a service request to the smart
card, and expects data back from the card.
LONG SCardTransmit ( IN SCARDHANDLE *phCard,
IN LPCSCARD_I0_REQUEST pioSendPci,
IN LPCBYTE pbSendBuffer,
IN DWORD cbSendLength,
IN OUT LPSCARD_IO_REQUEST pioRecv Pci,
OUT LPBYTE pbRecvBuffer,
IN OUT LPDWORD pcbRecvLength);
Note: The OUT parameter phCard of SCardConnect is used as in parameter for this API.
4.1.5 Disconnect
It is not mandatory to disconnect the card after the completion of all transactions, but it is
recommended. The SCardDisconnect function terminates a connection previously opened between
the calling application and a smart card in the target reader.
LONG SCardDisconnect (IN SCARDHANDLE *phCard,
IN DWORD dwDisposition);
Note: The OUT parameter phCard of SCardConnect is used as in parameter for this API.
4.1.6 Release
This step ensures that all system resources are being released. The SCardReleaseContext
function closes an established resource manager context, freeing any resources allocated under that
context.
LONG SCardReleaseContext (IN SCARDCONTEXT *phContext);
Note: The OUT parameter phContext of SCardEstablishContext is used as in parameter for this API.
To make contactless cards available within the PCSC framework, the Multi-ISO HF USB
Reader/Writer generates a PCSC compliant ATR according to PCSC v2.01.09 “Interoperability
Specification for ICCs and Personal Computer Systems” (reference [R2])
4.2.1 CPU Cards
The ATR of Contactless processor cards are composed as described in PCSC v2.01.09,
Part3: Requirements for PC connected Interface Devices, 3.1.3.2.3.1, Table 3.5
4.2.2 Storage Cards
The ATR of storage cards (i.e. cards without CPU) are composed as described in PCSC
v2.01.09, Part3: Requirements for PC connected Interface Devices, 3.1.3.2.3.2, Table 3.6. In order to
allow the HOST application to identify a storage card type properly, its standard and card name is
mapped according to the Part3: Supplement Document of PCSC v2.01.04
Note:
The registered Application Provider Identifier (RID) returned by the Multi-ISO HF USB
Reader/Writer for storage cards (cards without CPU) is A0 00 00 03 06, which is the RID of the PCSC
workgroup
In some specific situations, PC/SC specifications are not enough to cover the whole functional
field. This happens typically
• When working with memory cards or even microprocessor based cards not following the ISO
7816-4 standard (APDU formalism)
• When needing to perform actions on to the reader/writer itself, and not onto the card (Like
modifying the RF parameters of the reader/writer)
In order to cover the above two cases, proprietary 7816 wrappers are supported. These are called
Pseudo APDUs. Refer to [R7] in order to understand the basic structure of APDU
Reader commands are covered under this section. While Pseudo APDU for accessing ISO 7816-
4 non-compliant cards are covered in Section 6
Mifare cards and I SO 156 93 ca rds use pro pri etar y 781 6 AP DU struc tur es. DESF ire c ards u se t he
7816 wrapper as described in the DESFire specifications [R3] & [R11]
All command and response bytes are sent and received as hexadecimal values respectively
Note:
In the pseudo APDUs described in this section, specifying a value of 00 in the Le field indicates
maximum no of available response bytes from the card, as described in reference [R7]
5.1 Reader Control Commands
The Reader/Writer control commands are used to modify the reader/writer parameters in order
to fine tune the reader/writer’s performance or to suit the end applications requirements. It follows
standard ISO 7816-4 (as per reference [R7]) command/ response format
The Reader/Writer control commands have the following general APDU format
Command Format:
CLA INS P1 P2 Lc Data Le
FF 00 00 00 No of bytes in
Data field
Response Format:
Data Status Word
Reader/Writer Control Response SW1 SW2
For possible values and description of status word refer Table 6.1
The following are the Reader/Writer control commands:
5.1.1 Get Static RF Parameters
Get Static RF Parameters command is used to get the RF parameters from the non-volatile
• The command fails if the reader/writer configuration is invalid
• The command fails if any of the command byte is invalid
5.1.2 Set Static RF Parameters
Set Static RF Parameters command is used to modify the RF parameters in the non-volatile
area of the reader/writer. The reader/writer uses these parameters from the next power ON
Command Data:
CLA INS P1 P2 Lc Data Le
FF 00 00 00 83 02 0003 RF Pa rameters as in the Structure shown in Table
4.1 (128 bytes)
Response Data:
Data Status Word
- 9000
Note:
• In the above command data, modifying the parameter value 0300 might cause the
reader/writer to malfunction
• The command fails if the reader/writer configuration is invalid
• The command fails if any of the command byte is invalid
• The command fails if the length mentioned in the RF parameters structure is not equal to
0x0080
• Modifying the Flag value to anything other than 0x01, might make the reader/writer un-usable
-
5.1.3 Get Dynamic RF Parameters
Get Dynamic RF Parameters command is used to get the RF parameters from the volatile
area of the reader/writer (current in use parameters)
Command Data:
CLA INS P1 P2 Lc Data Le
FF 00 00 00 01 03 - 00
Response Data:
Data Status Word
RF Parameters as in the Structure
shown in Table 4.1 (128 by tes)
9000
5.1.4 Set Dynamic RF Parameters
Set Dynamic RF Parameters command is used to modify the RF parameters in the volatile
area of the reader/writer (temporarily for this session). Immediately following this control command,
the reader/writer restarts its entire activity on the RF interface with the new parameters
Command Data:
CLA INS P1 P2 Lc Data Le
FF 00 00 00 81 04 RF Parameters as in the Structure
Shown in Table 4.1 (128 bytes)
Response Data:
Data Status Word
- 9000
Note:
• The command fails if the length mentioned in the RF parameters structure is not equal to
0x0080
• The Parameters starting with ‘A’ or ‘B’ refer to the respective ISO 14443 card types
• The number following the alphabet indicates the baud rate at which the card should be
operating
• The actual RF parameter follows the ‘-’. This parameter will take effect for that type of card
operating at that baud rate
Example: - A106 – CWCONDUCTANCE indicates the CWCONDUCTANCE parameter of ISO 14443
TypeA cards operating at 106 Kbps
Parameter Description
RF Control Parameter:
“CWCONDUCTANCE” parameter controls the strength of RF field when there is no
modulation. Its value can vary from 0x00 to 0x3F. The chosen value would get directly programmed
into the (Address 0x12) RFID reader silicon. For more details refer to the respective datasheet of
RFID reader silicon (reference [R12]).
“RXTHRESHOLD” parameter controls the receiver input threshold levels. The specified value
would get dir ectly program med into the (Add ress 0x1 C) RFID reader silicon. For more details refer to
the respective datasheet of RFID reader silicon (reference [R12]).
“RXCONTROL1” parameter controls the receiver input stage gain levels and the low pass
filters. The specified value would get directly programmed into the (Address 0x19) RFID reader silicon.
For more details refer to the respective datasheet of RFID reader silicon (reference [R12]).
“MODCONDUCTANCE” parameter controls the strength of RF field when there is 10%
modulation for Type-B data transmission. Its value can vary from 0x00 to 0x3F. The chosen value
would get directly programmed into the (Address 0x13) RFID reader silicon. For more details refer to
the respective datasheet of RFID reader silicon (reference [R12]).
“TYPEBFRAMING” parameter controls the framing headers SOF & EOF of type B
transmission frames. The specified value would get directly programmed into the (Address 0x17)
RFID reader silicon. For more details refer to the respective datasheet of RFID reader silicon
(reference [R12]).
“TESTANASELECT” parameter controls the analog debug output pin AUX. The specified
value would get directly programmed into the (Address 0x3A) RFID reader silicon. For more details
refer to the respective datasheet of RFID reader silicon (reference [R12]).
“TESTDIGISELECT” parameter controls the digital debug output pin MFOUT. The specified
value would get directly programmed into the (Address 0x3D) RFID reader silicon. For more details
refer to the respective datasheet of RFID reader silicon (reference [R12]).
RF Reset Width in milliseconds:
This parameter defines the width of RF Reset (no RF Power) during the polling sequence.
The value entered is in decimal, from 0 to 65535. The RF reset would have a width of this much
amount of time in milliseconds.
Card de-bounce delay in milliseconds:
This parameter defines the time in milliseconds for which the card arrival is polled and
reconfirmed by repeated RNAK polling, before notifying the arrival of a new card into the RF field, to
the host. The value entered is in decimal, from 0 to 65535.
All Timeout values Multiplication scale & All Timeout values Division scale:
These two parameters are used to scale the Timeout values used by the Wait functions. The
scaling is done using the following formula:
TIMEOUT =
All constant Delay Multiplication scale & All constant Delay Division scale:
These two para meters are used t o scale t he const ant Del ays used i n the Wait funct ions. T he
scaling is done using the following formula:
CONSTDELAY =
All Loop counts Multiplication scale & All Loop counts Division scale:
Under ISO 14443 Part 3 & Part 4, on occurrence of any communication errors like CRC,
Framing, Parity and Timeout, the command will be re-tried by the reader/writer. The Retry count value
is scaled using these two parameters, as per the following formula:
RETRYCOUNT =
Type-A Max baud limit & Type-B Max baud limit:
This parameter is used to limit the maximum baud rate at which the reader/writer can operate
with the respective ISO 14443 card types
Card Polling Scheme:
This parameter enables the user to select the card types he wants the reader/writer to detect.
The Card type s disabled he re will not be detected
b7 b6 b5 b4 b3 b2 b1b0 Polling Scheme
0 0 0 0 0 0 0 0 No Polling
X X X X X X X 1 Poll for 14443 TypeA cards
X X X X X X 1 X Poll for 14443 TypeB cards
X X X 1 X X X X Poll for ISO 15693 cards
1 X X X X X X X Stay in Polling
The Multi-ISO HF USB Reader/Write r provides provision to store card keys in its non-volatile
memory. The reader can be customized to store card keys. An authenticated user can later refer to
them during card communication using key numbers. This section describes the commands used to
achieve this functionality in detail
5.2.1 Reader Authentication
The Reader Authenticate command is used to authenticate with the reader/writer. The PIN
specified in the command is verified with the PIN stored in the reader/writer
Only after a successful Reader Authenticate, the user can use the Load Keys command to
store card specific keys or modify the Reader PIN in the non-volatile area of the reader/writer
This command is used to ensure that a malicious user does not gain access to modify the
Card keys or Reader PIN stored in the reader/writer.
Command Format:
CLA INS P1 P2 Lc Data Le
FF 00 00 00 09 09 Reader PIN
(8 bytes)
Response Format:
Data Status Word
- SW1 SW2
For possible values and description of status word refer Table 6.1
Note:
The Authentication state will be cleared immediately after the first Load Keys command
following the Reader Authenticate command, irrespective of whether the Load Keys command was
successful or not. The user will have to authenticate with the reader/writer before issuing each Load
Keys command
The Load Keys command is used to store Mifare keys, DESFire keys and Reader PIN in the
non-volatile area of the reader/writer.
The user must use Reader Authenticate command (described in section 5.1) to authenticate
with the reader/writer before using this command
The reader/writer has provision to store 1 Reader PIN (8 bytes), 80 Mifare Keys along with
Key type and 8 DE SFire TDES key s ( 1 P I C C M as ter key and 7 App l i c at i o n k e ys) along wit h AI D , P C D
Key number and PICC Key number.
When a card spec ific Authen ticate APDU is received from the host , the appropr iate keys are
fetched from the non-volatile memory pf the reader and used for authentication
This command does not require the presence of a card over the reader; however it may also do so.
Command Format:
CLA INS P1 P2 Lc Data Le
FF 00 00 00 No of bytes in
Data field
Response Format:
Data Status Word
- SW1 SW2
For possible values and description of status word refer Table 6.1
Note:
The user must make sure that he uses the Load Keys command to store the appropriate keys
(Mifare or DESFire) in the reader/writer before trying to issue an Authenticate APDU to the respective
card
07 Key Data
-
5.2.2.1 Load Reader Authentication PIN in to Reader
The Following is the Load Keys command format to change the reader PIN. The Reader PIN
can be any 8 byte numeric value
Mifare cards and ISO 15693 cards use proprietary 7816 APDU structures. DESFire cards use
the 7816 wrapper as described in the DESFire specifications [R3] & [R11]
All command and response bytes are sent and received as hexadecimal values respectively
Note:
In the pseudo APDUs described in this section, specifying a value of 00 in the Le field indicates
maximum no of available response bytes from the card, as described in reference [R7]
6.1 Mifare Cards
Pseudo APDUs supported for Mifare cards are explained in this section
6.1.1 Authenticate
This APDU performs three pass authentication with the card for the Block No. specified in the
data field. It uses the Key of the Key no specified
Command APDU:
CLA INS P1 P2 Lc Data Le
FF 86 00 00 05 See Table below (5 bytes) -
Data:
Byte 1 Byte 2 Byte 3 Byte 4 Byte 5
01 Block No (MSB) Block No (LSB) 00 Key No.
Where,
Block No - Block number of the Mifare card which is to be authenticated
Key No - Key number specified in the RDRLoadKeys command to store the corresponding
Authentication key in the non-volatile area of the reader/writer
Response:
Data Status Word
- SW1 SW2
For possible values and description of status word refer Table 6.1
This APDU decrements the data in a Value block, using the 4 byte value specified
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 06 C0 Mifare Block
No
Response:
Data Status Word
- SW1 SW2
For possible values and description of status word refer Table 6.1
Note:
The Pseudo APDUs for Authenticate, Write Binary and Read Binary described in this section
are as defined in the PCSC v2.01.09, Part3: Requirements for PC connected Inte rface Devices, under
section 3.2.2.1
4 bytes of value to be subtracted from
the block value
This APDU retrieves the block security status of each of the requested no of blocks, starting from the
block no specified
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 No of bytes in
Data field
Response:
Data Status Word
Get multiple block security status response as described in
reference [R1]
For possible values and description of status word refer Table 6.1
Note:
In all the above 15693 card commands, the optional Flags byte and optional UID field must be
omitted. In all the above 15693 card responses, Flags byte will be omitted and Error Code (if any)
will be sent as SW2
Get multiple block security status command as
described in reference [R1]
Pseudo APDUs supported for Atmel CryptoRF cards are explained in this section
6.3.1 Set User Zone
This APDU selects the specified user Zone. All further user zone operations will be done in
the selected user zone. The command is also used to enable anti-tearing mode, following which all
writes to this user zone will use anti-tearing
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 No of bytes in
Data field
Response:
Data Status Word
Set User Zone response as per reference [R10] SW1 SW2
For possible values and description of status word refer Table 6.1
6.3.2 Read User Zone
This APDU reads data from the currently selected user zone
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 No of bytes in
Data field
Response:
Data Status Word
Read User Zone response as per reference [R10] SW1 SW2
For possible values and description of status word refer Table 6.1
6.3.3 Write User Zone
This APDU writes data to the currently selected user zone. In anti-tearing mode the maximum
no of bytes that can be written is 8 bytes
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 No of bytes in
Data field
Response:
Data Status Word
Write User Zone response as per reference [R10] SW1 SW2
For possible values and description of status word refer Table 6.1
This APDU reads system data from the configuration memory of the card. Depending on the
value of the PARAM byte (part of the command), this command may read data from the configuration
zone, the fuses or a checksum
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 No of bytes in
Data field
Response:
Data Status Word
Read System Zone response as per reference [R10] SW1 SW2
For possible values and description of status word refer Table 6.1
Read System Zone Command
as per reference [R10]
Expected no of bytes from
card
6.3.5 Write System Zone
This APDU writes data to the configuration memory. Depending on the value of the PARAM
byte (part of the command), this command may write data to the configuration zone or program fuses.
The anti-tearing mode can also be enabled using the PARAM byte. The maximum number of bytes
that can be written in anti-tearing mode is 8 bytes
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 No of bytes in
Data field
Response:
Data Status Word
Write System Zone response as per reference [R10] SW1 SW2
For possible values and description of status word refer Table 6.1
Write Syst em Zone Command as
per reference [R10]
-
6.3.6 Check Password
This APDU is use d to send the password f or validation agains t the password select ed with
the password index byte (part of the command). This command is used to gain access, to read or
write in user zones that require password validation
Command APDU:
CLA INS P1 P2 Lc Data Le
FF FC 00 00 No of bytes in
Data field
Response:
Data Status Word
Check Password response as per reference [R10] SW1 SW2
For possible values and description of status word refer Table 6.1Note:
In all the above CryptoRF card commands, the CID field (higher nibble of the command byte),
must be set to 0. In all the above CryptoRF card responses, the Command byte and ACK/NACK byte
will be omitted. Status byte will be sent as SW2
For DESFire cards, the Multi-ISO HF USB Reader/Writer supports the 7816-4 APDU wrapper
as describe d in the DESFire specification (as per reference [R3]).
6.5 Generic APDUs
This section describes the generic Pseudo APDUs used with all supported cards
6.5.1 Get UID
This APDU retrieves the card Unique ID (UID). Length of the UID varies depending on the card
Command APDU:
CLA INS P1 P2 Lc Data Le
FF CA 00 00 - - 00
Response:
Data Status Word
UID of the Card SW1 SW2
For possible values and description of status word refer Table 6.1
6.5.2 Traverse
This APDU is used to send the “Raw Card Command“ in the data field to the card without any
command specific processing by the reader/writer and returns the response data f rom the Card. The
reader/writer only takes care of the protocol specific processing (CRC, Prologue field etc ...)
The reader/writer uses the Frame type specified in the P2 parameter field and the Frame
waiting time specified in the P1 parameter field, while sending the command and receiving the
response, respectively
The response from the card is returned as such without any processing. Reception of any
response from the card is considered as success irrespective of the content of the response
Data Status Word
Response from Card SW1 SW2
For possible values and description of status word refer Table 6.1
90 00 Command Successful
63 00 Reason for error unknown
69 83 Authentication is required to access the block in the card
69 82 Block’s security status prevents access
69 88 Wrong key no. was specified to authenticate with the block
67 00 Length parameter in the APDU is wrong
68 00 Class byte in the APDU is wrong
6B 00 Invalid parameter in the APDU
6A 81 Command is not supported
6C XX Wrong Le field. Actual Le is mentioned in place of XX
6F 00 No Precise diagnos is
6D 00 Instruction code not supported or invalid
Command:90 3D 00 00 87 01 00 01 00 80 00 00 AA AA BB BB CC CC DD DD AA AA BB BB CC
CC DD DD AA AA BB BB CC CC DD DD AA AA B BB BC CC CD DD DA AA AB BB B CC CC DD
DD AA AA BB BB CC CC DD DD AA AA BB BB CC CC DD DD AA AA BB BB CC CC DD DD AA AA
BB BB CC CC DD DD AA AA BB BB CC CC DD DD AA AA BB BB CC CC DD DD AA AA BB BB CC
CC DD DD AA AA BB BB CC CC DD DD AA AA BB BB CC CC DD DD AA AA BB BB CC CC DD DD
AA AA BB BB CC CC DD DD 00
Response:91 00
Read Data (File No. : 01)
Command:90 BD 00 00 07 01 00 00 00 F4 01 00 00
Response:xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx x x xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx 91 00
Get Value (File No. : 02)
Command:90 6C 00 00 01 02 00
Response:xx xx xx xx 91 00
USB Universal Serial Bus
ATR A nswer to Reset
APDU Application Protocol Data Unit
UID Unique Identifier
AFI Application Family Identifier
DSFID Data Storage Format Identifier
ISO International Standard Organization
DES Data Encryption Standard
NFC Near Field Communication
GUI Graphical User Interface
AES Advanced Encryption Standard
CID Card ID Number
FWT Frame Waiting Time
cards – Vicinity card(s)
[R2] Interoperability Specification for ICCs and Personal Computer Systems Part 3
[R3] NXP Mifare® DESFire Datasheet (M075031.pdf)
[R4] Microsoft’s PCSC reference documentation is included in most Visual Studio help s ystem and
available online at http://msdn.microsoft.com. Enter “WinSCard” or “SCardTransmit” keywords
in the search box.
[R5] PCSC workgroup: http://www.pcscworkgroup.com
[R6] ISO/IEC 7816-3 Third Edition 2006-11-01
[R7] ISO/IEC 7816-4 Second Edition 2005-01-15
[R8] ISO/IEC 14443-4 First Edition 2001-02-01
[R9] ISO/IEC 14443-4 Amendment-1 2006-03-15
[R10] Atmel CryptoRF Specification (AT88SCXXXXCRF) Rev 2.0 2007-04-13
[R11] NXP Mifare® DESFire EV1 Functional Specification (MF3ICD81)
[R12] Philips CL RC632 Multiple Protocol Contactless Reader IC Datasheet Rev 3.0 May 2003
Version: 1.6 Page 48 of 48
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.