Smart card ATR parsing

Enter an ATR (Answer To Reset) and I will parse it for you.

Results

Parsing ATR:

3B DF 96 FF 91 01 31 FE 46 80 31 90 52 41 02 64 05 02 00 AC 73 D6 22 C0 17
TS = 0x3BDirect Convention
T0 = 0xDFY(1): b1101, K: 15 (historical bytes)
TA(1) = 0x96Fi=512, Di=32, 16 cycles/ETU (250000 bits/s at 4.00 MHz, 312500 bits/s for fMax=5 MHz)
TC(1) = 0xFFExtra guard time: 255 (special value)
TD(1) = 0x91Y(i+1) = b1001, Protocol T=1
----
TA(2) = 0x01Protocol to be used in spec mode: T=1 - Capable to change - defined by interface bytes
TD(2) = 0x31Y(i+1) = b0011, Protocol T=1
----
TA(3) = 0xFEIFSC: 254
TB(3) = 0x46Block Waiting Integer: 4 - Character Waiting Integer: 6
----
Historical bytes80 31 90 52 41 02 64 05 02 00 AC 73 D6 22 C0
Category indicator byte: 0x80 (compact TLV data object)
Tag: 3, Len: 1 (card service data byte)
Card service data byte: 144
- Application selection: by full DF name
- BER-TLV data objects available in EF.ATR
- EF.DIR and EF.ATR access services: by GET RECORD(s) command
- Card with MF
Tag: 5, Len: 2 (card issuer's data)
Card issuer data: 41 02 "A."
Tag: 6, Len: 4 (pre-issuing data)
Data: 05 02 00 AC "...."
Tag: 7, Len: 3 (card capabilities)
Selection methods: 214
- Record number supported
- Short EF identifier supported
- DF selection by file identifier
- DF selection by partial DF name
- DF selection by full DF name
Data coding byte: 34
- Behaviour of write functions: proprietary
- Value 'FF' for the first byte of BER-TLV tag fields: invalid
- Data unit in quartets: 2
Command chaining, length fields and logical channels: 192
- Command chaining
- Extended Lc and Le fields
- Logical channel number assignment: No logical channel
- Maximum number of logical channels: 1
TCK = 0x17correct checksum

Possibly identified card:

3B DF 96 FF 91 01 31 FE 46 80 31 90 52 41 02 64 05 02 00 AC 73 D6 22 C0 17

Acos-ID (AUSTRIACARD’s Operating System) (Other)

https://www.austriacard.com/digital-security/solutions/card-solutions/acos-id/

Canonical URL JSON output

Again

Submit another ATR


See also

The parsing code is part of pyscard and is available at parseATR.py.

The list of known ATR is also available online at smartcard_list.txt.

My blog contains a serie of artickes about ATR bytes.