СМАРТ-КАРТЫ - ОТВЕТ НА СБРОС (ATR)

Jollier

Professional
Messages
1,128
Reputation
6
Reaction score
1,084
Points
113
Одна из наименее изученных областей EMV лежит на начальных этапах взаимодействия терминала с картой. При включении карты в памяти сохраняется сообщение с данными. Формат этого сообщения соответствует ISO / IEC 7816 и может быть получен с помощью устройства чтения карт (sReaderState.cbAtr). Сообщение ATR содержит информацию о предлагаемых параметрах связи карты, производителе или эмитенте карты, вариантах выбора приложения, коде страны и многом другом. Функциональность ATR полностью задокументирована в ISO / IEC 7816 и многих других документах, однако в этих документах основное внимание уделяется смарт-картам в целом, а не платежным картам. Поэтому цель этой статьи - объяснить ATR применительно к технологии EMV / NFC.

В этой статье мы рассмотрим элементы данных 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).
Последующие поля TA i + 1 , TBi + 1, TCi + 1 и TDi + 1 выходят за рамки этой статьи.

ИСТОРИЧЕСКИЕ БАЙТЫ
Исторические байты обычно содержат информацию об эмитенте карты, типе карты или версии операционной системы, и здесь все усложняется. Эти байты могут быть размещены в собственном формате производителя / эмитента карты или могут быть отформатированы в «компактном 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 .
 

ded1812

Member
Messages
1
Reputation
0
Reaction score
0
Points
1
Подскажите, если известен ATR смарт-карты, как с этой картой можно взаимодействовать? Снять копию или прочитать данные памяти устройства (чипа)?
Карта не банковская. От мед оборудования. На условном балансе карты количество запусков мед оборудования.
Есть ли на форуме, к кому можно обратиться с этим вопросом за услугой?
Прилагаю результат парсинга атр карты.
 

Attachments

  • atr parsing.png
    atr parsing.png
    226.4 KB · Views: 21
Top