Answer to Select

from Wikipedia, the free encyclopedia

Answer to Select , ATS for short , is part of the activation sequence for chip cards that communicate contactlessly in accordance with the ISO / IEC 14443 standard . The ATS is the answer to the Request To Answer To Select, or RATS for short, and is only used for the type A contactless communication protocol. Like the ATR in contact-based communication of chip cards, the ATS is a series of parameters with which the chip card tells the chip card reader how it can communicate with it without contact.

content

The content of the ATS is specified in the chip card specifications ISO / IEC 14443 and depends on the capabilities of the chip hardware ( UART ) and the protocol implementation of the chip card operating system . In the ATS, among other things, the supported bit rates for the terminal and chip card, the frame size for further communication and the waiting and protection times for communication frames are specified.

structure

The ATS is a series of bytes. Of these, the length byte TL and 2 checksum bytes are mandatory. All other bytes are optional, i.e. H. the shortest ATS consists of 3 bytes.

TL T0 TA1 TB1 TC1 Historical characters CRC1 CRC2

The following data types can be distinguished in the ATS:

Data element Designation meaning
TL Length byte Length of the ATS including the TL byte itself without the two checksum bytes.
T0 Format byte This byte contains the maximum supported frame size FSCI (Frame Size for Proximity Card Integer) and indicates the presence of the interface bytes TA1, TB1 and TC1 in the ATS.
TA1, TB1, TC1 Interface bytes These bytes indicate communication parameters.
T1, T2 ... Historical bytes The historical bytes are a chain of a maximum of 15 bytes, the content of which is not defined.
CRC1 and CRC2 Check bytes Check sum over all ATS bytes starting from byte TL.

The length byte TL

This byte specifies the length of the ATS including the TL byte itself. The two checksum bytes are not counted towards the length of the ATS.

The format byte T0

The byte format contains two pieces of information:

  1. Specification via the following interface characters TA1, TB1 and in bits 5 to 7.
  2. The FSCI , which encodes the maximum frame size FSC (Frame Size for Proximity Card) that the card can process. The default frame size is 32 bytes, i.e. H. if T0 is not included in the ATS, the terminal assumes FSCI = 2.
bit meaning
b8 Always 0, reserved for future use.
b7 Indicates the transfer of the TC1 byte (1 = TC1 available, 0 = TC1 not available)
b6 Indicates the transfer of the TB1 byte (1 = TB1 available, 0 = TB1 not available)
b5 Indicates the transfer of the TA1 byte (1 = TA1 available, 0 = TA1 not available)
b4 FSCI (0 to 8)
b3
b2
b1

The following table shows the frame size for the respective FSCI:

FSCI 0 1 2 3 4th 5 6th 7th 8th 9 to 15
FSC 16 24 32 40 48 64 96 128 256 For future use

The interface byte TA1

The interface byte TA1 contains the following information:

  1. Bit b8 indicates the support of different divisors for data transfer from card to terminal and terminal to card.
  2. Bits b7 to b5 support the divisors 2, 4 and 8 when sending data from the card to the terminal.
  3. b4 is always 0 and reserved for later use.
  4. Bits b3 to b0 show the support of divisors 2, 4 and 8 when sending data from the terminal to the card.
bit meaning
b8 Shows whether different divisors D are supported for the two communication directions (0 = different divisors supported, 1 = different divisors not supported)
b7 Support divisor 8 for communication from card to terminal (1 = divisor 8 is supported, 0 = divisor 8 is not supported)
b6 Support divisor 4 for communication from card to terminal (1 = divisor 4 is supported, 0 = divisor 4 is not supported)
b5 Support divisor 2 for communication from card to terminal (1 = divisor 2 is supported, 0 = divisor 2 is not supported)
b4 Always 0, reserved for future use.
b3 Support divisor 8 for communication from terminal to card (1 = divisor 8 is supported, 0 = divisor 8 is not supported)
b2 Support divisor 4 for communication from terminal to card (1 = divisor 4 is supported, 0 = divisor 4 is not supported)
b1 Support divisor 2 for communication from terminal to card (1 = divisor 2 is supported, 0 = divisor 2 is not supported)

The interface byte TB1

The upper nibble of TB1 contains the frame waiting time and the lower nibble contains the start frame protection time.

The interface byte TC1

Bit b1 in TC1 indicates the support of the field NAD (Node Address), bit b2 the support of the field CID (Card Identifier).

The historical characters

The content of the historical characters is not defined. They are used for various information, for example the version of the operating system. The character coding ASCII is often used for this.