Одна из наименее изученных областей EMV лежит на начальных этапах взаимодействия терминала с картой. При включении карты в памяти сохраняется сообщение с данными. Формат этого сообщения соответствует ISO / IEC 7816 и может быть получен с помощью устройства чтения карт (sReaderState.cbAtr). Сообщение ATR содержит информацию о предлагаемых параметрах связи карты, производителе или эмитенте карты, вариантах выбора приложения, коде страны и многом другом. Функциональность ATR полностью задокументирована в ISO / IEC 7816 и многих других документах, однако в этих документах основное внимание уделяется смарт-картам в целом, а не платежным картам. Поэтому цель этой статьи - объяснить ATR применительно к технологии EMV / NFC.
В этой статье мы рассмотрим элементы данных ATR (DE), но сосредоточим внимание на важности DE в платежной транзакции. Поля ATR покрыты:
НАЧАЛЬНЫЙ БАЙТ (TS)
Начальный байт TS представляет собой обязательный битовый шаблон синхронизации передачи данных. Значения ATR для этого байта должны быть 0x3F или 0x3B. Обработкой этого значения обычно занимается драйвер картридера. Также рекомендуется проверить это значение в качестве начальной проверки работоспособности подключенной карты.
БАЙТ ФОРМАТА (TO)
Байт формата - это еще одно обязательное поле, обеспечивающее битовую карту, из которой подразумеваются оставшиеся поля ATR. Первые (наиболее значимые) 4 бита указывают на наличие символов TA 1, TB 1, TC 1 и TD 1. Наименее значимые биты относятся к размеру исторических данных в байтах, что позволяет добавить к сообщению дополнительные 0–16 байтов исторических данных.
БАЙТЫ ИНТЕРФЕЙСА (TA I, TB I, TC I, TD I)
Эти условные байты называются байтами глобального интерфейса и определяют операционные возможности карты. Вкратце эти поля относятся к:
ИСТОРИЧЕСКИЕ БАЙТЫ
Исторические байты обычно содержат информацию об эмитенте карты, типе карты или версии операционной системы, и здесь все усложняется. Эти байты могут быть размещены в собственном формате производителя / эмитента карты или могут быть отформатированы в «компактном TLV». Маловероятно, что TLV EMV, компактный TLV использует 4 старших бита для обозначения тега и 4 младших бита для длины данных. Однако первый байт исторических данных, закодированных в компактном TLV, всегда должен читать 0x00 или 0x80.
Некоторые известные компактные теги TLV:
Тег 0x1h : код страны в (ISO 3166-1)
Пример: 0x12 0x00 0x36 -> Австралия
Тег 0x2h : идентификационный номер эмитента ( ISO 7812-1)
Пример: TBA
Тег 0x3h : Байт служебных данных карты
Когда бит установлен в 1 в байте данных службы карты, можно использовать эту службу.
Пример: 0x31 0xC0 ->
Тег 0x4h : данные начального доступа
Пример: TBA
Тег 0x5h : данные эмитента карты
Пример: TBA
Тег 0x6h : предварительная выдача данных
Пример: 0x64 0x 19 0x 16 0x 01 0x 02
Тег 0x7h : Возможности карты
Когда бит установлен в 1, карта имеет указанный режим выбора возможностей:
Пример: 0x71 0xD6 ->
Тег 0x8h : индикатор состояния
Пример: TBA
Тег 0xEh : идентификатор приложения
Пример: TBA
РЕЗЮМЕ
Как показано выше, хорошее понимание ATR - очень важная часть функциональности EMV. В частности, исторические данные ATR могут предоставить платежному устройству несколько важных подсказок для обработки карты (варианты выбора и способ получения вариантов обслуживания карты). Пожалуйста, дайте нам знать, если вы можете поделиться своими знаниями с этой статьей - наша команда экспертов по EMV готова обновлять информацию, поскольку мы пытаемся создать в сообществе хранилище опыта в области EMV.
Дополнительную информацию по этой теме можно найти в нашем документе базы знаний: Полный список известных ATR .
В этой статье мы рассмотрим элементы данных ATR (DE), но сосредоточим внимание на важности DE в платежной транзакции. Поля ATR покрыты:
- Начальный байт (TS)
- Байт формата (TO)
- Байты интерфейса (TA i , TB i , TC i , TD i)
- Исторические байты (T1, T2. TK)
- Контрольный байт (TCK)
НАЧАЛЬНЫЙ БАЙТ (TS)
Начальный байт TS представляет собой обязательный битовый шаблон синхронизации передачи данных. Значения ATR для этого байта должны быть 0x3F или 0x3B. Обработкой этого значения обычно занимается драйвер картридера. Также рекомендуется проверить это значение в качестве начальной проверки работоспособности подключенной карты.
БАЙТ ФОРМАТА (TO)
Байт формата - это еще одно обязательное поле, обеспечивающее битовую карту, из которой подразумеваются оставшиеся поля ATR. Первые (наиболее значимые) 4 бита указывают на наличие символов TA 1, TB 1, TC 1 и TD 1. Наименее значимые биты относятся к размеру исторических данных в байтах, что позволяет добавить к сообщению дополнительные 0–16 байтов исторических данных.
БАЙТЫ ИНТЕРФЕЙСА (TA I, TB I, TC I, TD I)
Эти условные байты называются байтами глобального интерфейса и определяют операционные возможности карты. Вкратце эти поля относятся к:
- TA 1 - коэффициент настройки тактовой частоты чипа карты и битрейта
- TB 1 - программирование напряжения и тока EEPROM
- TC 1 - дополнительное защитное время, которое будет использоваться между последовательными байтами
- TD 1 - указывает наличие суббайтов и тип протокола. Здесь только два значимых значения для типа протокола: T = 0 или T = 1, все остальные в настоящее время зарезервированы для будущего использования (RFU).
ИСТОРИЧЕСКИЕ БАЙТЫ
Исторические байты обычно содержат информацию об эмитенте карты, типе карты или версии операционной системы, и здесь все усложняется. Эти байты могут быть размещены в собственном формате производителя / эмитента карты или могут быть отформатированы в «компактном TLV». Маловероятно, что TLV EMV, компактный TLV использует 4 старших бита для обозначения тега и 4 младших бита для длины данных. Однако первый байт исторических данных, закодированных в компактном TLV, всегда должен читать 0x00 или 0x80.
Некоторые известные компактные теги TLV:
Тег 0x1h : код страны в (ISO 3166-1)
Пример: 0x12 0x00 0x36 -> Австралия
Тег 0x2h : идентификационный номер эмитента ( ISO 7812-1)
Пример: TBA
Тег 0x3h : Байт служебных данных карты
Когда бит установлен в 1 в байте данных службы карты, можно использовать эту службу.
Немного | Описание |
---|---|
8 | Выбор приложения: по полному названию DF |
7 | Выбор приложения: по частичному имени DF |
6 | Объекты данных BER-TLV, доступные в EF.DIR |
5 | Объекты данных BER-TLV, доступные в EF.ATR |
4 | Сервисы доступа к EF.DIR и EF.ATR: командой READ BINARY. |
3 | Сервисы доступа к EF.DIR и EF.ATR: командой GET DATA |
2 | Сервисы доступа к EF.DIR и EF.ATR: командой GET RECORD (s) |
1 | Сервисы доступа EF.DIR и EF.ATR: РФС |
Пример: 0x31 0xC0 ->
- Выбор приложения: по полному названию DF
- Выбор приложения: по частичному имени DF
- Сервисы доступа к EF.DIR и EF.ATR: командой GET RECORD (s)
Тег 0x4h : данные начального доступа
Пример: TBA
Тег 0x5h : данные эмитента карты
Пример: TBA
Тег 0x6h : предварительная выдача данных
Пример: 0x64 0x 19 0x 16 0x 01 0x 02
Тег 0x7h : Возможности карты
Когда бит установлен в 1, карта имеет указанный режим выбора возможностей:
Немного | Описание |
---|---|
8 | Выбор радиопеленгатора по полному имени радиопеленгатора |
7 | Выбор радиопеленгатора по частичному имени радиопеленгатора |
6 | Выбор радиопеленгатора по пути |
5 | Выбор DF по идентификатору файла |
4 | Неявный выбор DF |
3 | Поддерживается короткий идентификатор EF |
2 | Поддерживаемый номер записи |
1 | Идентификатор записи поддерживается |
Пример: 0x71 0xD6 ->
- Поддерживаемый номер записи
- Поддерживается короткий идентификатор EF
- Выбор DF по идентификатору файла
- Выбор радиопеленгатора по частичному имени радиопеленгатора
- Выбор радиопеленгатора по полному имени радиопеленгатора
Тег 0x8h : индикатор состояния
Пример: TBA
Тег 0xEh : идентификатор приложения
Пример: TBA
РЕЗЮМЕ
Как показано выше, хорошее понимание ATR - очень важная часть функциональности EMV. В частности, исторические данные ATR могут предоставить платежному устройству несколько важных подсказок для обработки карты (варианты выбора и способ получения вариантов обслуживания карты). Пожалуйста, дайте нам знать, если вы можете поделиться своими знаниями с этой статьей - наша команда экспертов по EMV готова обновлять информацию, поскольку мы пытаемся создать в сообществе хранилище опыта в области EMV.
Дополнительную информацию по этой теме можно найти в нашем документе базы знаний: Полный список известных ATR .