Non-volatile memory Configuration Contactless CCID ATR rules
September 20, 2024 at 2:48 AMContactless ATR rules
Address : 0234
(bank 2, register 34
)
Size : 1 byte
Default : 00
Description
Contactless cards don’t have an ATR. PC/SC specifies how a pseudo-ATR shall be constructed by the reader, with a few options.
Content
Bit | Role | Values |
---|---|---|
7 | RFU | |
6 | RFU | |
5 | RFU | |
4 | RFU | |
3 | RFU | |
2 | RFU | |
1 | Use Innovatron T=0 ATR | 0 : Obey to PC/SC rule and construct a T=1 ATR, even for Innovatron Contactless cards1 : For Innovatron Contactless cards, use the T=0 ATR supplied by the card |
0 | Control which values for NN are used in the ATR | 0 : Use all NN entries defined by SpringCard to cover all Contactless memory cards1 : Use only NN entries specified by PC/SC workgroup, return NN=0000 for non-PC/SC cards |
Remarks
Bit 1: Use Innovatron T=0 ATR
Using this option is known to break the compatibility with some implementations of the PC/SC stack (the card has a T=0 ATR but uses T=1 Case 4 APDUs, which is considered as a protocol violation by the stack).
Bit 0: Control which values for NN are used in the ATR
The PC/SC workgroup maintains a list of Contactless memory cards, and defines a NN value for every registered card technology.
Unfortunately, this list is not updated frequently and not exhaustive.
The reader shall theoritically return NN=0000
for all the cards that are not in list, but, to help application developers discriminate among card technologies, SpringCard readers have a more complete list (non-PC/SC values being above F000
).