Какова цель счетчика транзакций приложения, хранящегося в чипе EMV для генерации ARQC?

В Книге EMV 2: безопасность и управление ключами на стр. 151 говорится что

«Счетчик приводит к уникальности криптограмм (ARQC) и предоставляет значения отслеживания для служб проверки хоста, позволяя идентифицировать воспроизведенные транзакции и клонированные карты».

Если эмитент полагается на эквайера для ARQC (терминал отправляет одноразовый номер для сеанса UN), то какова цель ATC и что означает «разрешение повторной транзакции»? Кто переигрывает ARQC?


person user1887464    schedule 02.04.2016    source источник
comment
UN (непредсказуемый номер) — это одноразовый номер, отправляемый терминалом на чип EMV с целью генерации ARQC, который отправляется эмитенту для авторизации. Эмитент проверяет, превышает ли ATC, содержащийся в ARQC, значение ATC, хранящееся в базе данных эмитента для данного номера карты.   -  person user1887464    schedule 02.04.2016
comment
Как насчет воспроизведения транзакции возврата (с использованием того же самого терминала Unpredictable Number)? Как эмитент обнаружит это? Клонирование карт также можно обнаружить, проверив ATC.   -  person vlp    schedule 02.04.2016
comment
UN предоставляется терминалом на карту, чтобы можно было гарантировать, что две транзакции на одну и ту же сумму не будут производить один и тот же AQRC или TC (для авторизованных транзакций в автономном режиме). Помните, что спецификация EMV не определяет содержание TDOL, CDOL1 или CDOL2. Спецификации EMV просто устанавливают структуру, которая позволяет платежной системе реализовать обработку транзакций в соответствии со своими требованиями финансовой безопасности. Но ту же технологию EMV можно использовать и для других целей. Вот почему существуют отдельные процессы сертификации VISA, MC, AMEX, JCB и DC.   -  person Serge    schedule 12.05.2016
comment
Транзакция @vlp Refund — это совершенно отдельная транзакция, которая обрабатывается точно так же, как обычная обычная покупка, но имеет другой тип транзакции, поэтому имеет собственное значение ATC. Вы, вероятно, имели в виду обратку. Отмена — это не транзакция, а инструкция по аннулированию первоначальной транзакции, вызванная техническими средствами, такими как отказ торгового автомата избавиться от товара, изъятие карты из считывателя до того, как PoS окончательно завершил GenerateAC и т. д. Предполагается, что владелец карты не имеет доступа к средствам подключения PoS (см. мой ответ).   -  person Serge    schedule 12.05.2016
comment
@vlp Тем не менее, Refund tx вообще не требует аутентификации с помощью чип-карты, и он может быть отправлен в сеть только с включенной суммой PAN, поскольку это решение продавца вернуть средства клиенту. Если продавец хочет защитить себя от неподобающего поведения сотрудников, он может запросить у Эквайера принимать только возврат средств с проверкой подлинности с помощью чипа или настроить PoS-устройство так, чтобы разрешать возврат средств только с проверкой подлинности с помощью чипа. Это вопрос установленных на местах процедур.   -  person Serge    schedule 12.05.2016
comment
@Serge На самом деле спецификации EMV рекомендуют минимальный набор элементов данных для генерации переменного тока (см. Книгу 2, раздел 8.1.1, таблицу 26), что означает, что эти элементы должны присутствовать (и присутствуют) в CDOL. Две транзакции на одну и ту же сумму имеют разные криптограммы в первую очередь из-за разных ATC (и, следовательно, разных ключей при разумной схеме оплаты).   -  person vlp    schedule 12.05.2016
comment
@vlp да, вы чертовски правы: он рекомендует, но не обязывает.   -  person Serge    schedule 12.05.2016
comment
@Sarge Я бы назвал UN одноразовым номером, дающим терминалу уверенность в том, что карта является подлинной (в сочетании с DDA / CDA) - затем терминал может принимать автономные транзакции (я бы не позволил ни одному терминалу принимать автономные транзакции от карта, подтвержденная только SDA). Точно так же ATC — это одноразовый номер, обеспечивающий эмитенту уверенность в том, что транзакция не была воспроизведена.   -  person vlp    schedule 12.05.2016
comment
@vlp смотрите на спецификацию EMV как на фреймворк, который позволяет создавать много забавных вещей, а обработка платежных транзакций с правильно реализованными мерами безопасности — это лишь одно из возможных приспособлений.   -  person Serge    schedule 12.05.2016
comment
@Sarge Я использовал транзакцию возврата в качестве примера самого простого / безопасного неправильного использования, то есть многократного повторения одного и того же возврата на анонимную карту. Я не имел в виду переворот (вы правы, для этого обычно не требуется наличия карты). Я полностью согласен с тем, что спецификации EMV обеспечивают основу. Удачи!   -  person vlp    schedule 12.05.2016


Ответы (4)


Использование непредсказуемого числа (UN), генерируемого терминалом, позволяет терминалу контролировать актуальность криптограммы, которую должна генерировать карта. Таким образом, для тех же данных транзакции (санкционированная сумма, дата/время транзакции и т. д. или что-то еще в CDOL1) карта должна генерировать новую (и другую) подпись («криптограмму»). Таким образом, ООН — это вызов, который терминал отправляет на карту. Карта, в свою очередь, должна подписать этот вызов (вместе с данными транзакции), чтобы доказать, что она получила этот конкретный вызов.

Проблема заключается в том, что, используя UN, терминал (и хост-эмитент карты, который позже проверяет транзакцию) может быть уверен только в том, что карта подписала этот конкретный вызов + данные транзакции упакованы один раз за время ее существования. Нельзя быть уверенным, что эта подпись была создана во время определенного взаимодействия между картой и терминалом. Та же транзакция могла быть перехвачена подслушивающим злоумышленником при более раннем взаимодействии между терминалом и картой, или активный злоумышленник мог запросить у карты эти конкретные входные данные (UN + данные транзакции) в более раннее время.

Например, злоумышленник, имеющий доступ к подлинной карте, может предварительно сгенерировать подписи транзакций для всех возможных значений UN и определенного набора данных транзакции (точно такого же набора, который позже ожидает злоумышленник при оплате в подлинном терминале). Затем злоумышленник получает набор предварительно воспроизведенных данных:

UN   Transaction data  Cryptogram
  0  XXXXXXXXXXXXXXXX  AAAAAAAAAA
  1  XXXXXXXXXXXXXXXX  BBBBBBBBBB
  3  XXXXXXXXXXXXXXXX  CCCCCCCCCC
  4  XXXXXXXXXXXXXXXX  DDDDDDDDDD
...        ...            ...

Оснащенный некоторым аппаратным эмулятором карты, который может отправлять заданные криптограммы после получения UN и ожидаемых данных транзакции, злоумышленник может перейти к подлинному терминалу у продавца и оплатить с помощью аппаратного эмулятора.

Чтобы преодолеть этот возможный сценарий атаки, используется дополнительный монотонно увеличивающийся счетчик транзакций (ATC), которым управляет карта. Это также дает карте контроль над свежестью сгенерированных криптограмм. Таким образом, карта гарантирует, что каждая сгенерированная ею подпись/криптограмма отличается от всех сгенерированных ранее подписей. Это справедливо даже для двух транзакций с одинаковыми данными UN и транзакций.

ATC  UN   Transaction data  Cryptogram
  0    Z  XXXXXXXXXXXXXXXX  GGGGGGGGGG
  1    Z  XXXXXXXXXXXXXXXX  HHHHHHHHHH
  3    Z  XXXXXXXXXXXXXXXX  IIIIIIIIII
...  ...   ...            ...

Чтобы предотвратить повторное использование старых транзакций, хост-эмитент карты может отклонить транзакции со значением ATC ниже, чем самое высокое значение ATC, которое он наблюдал в транзакции.

person Michael Roland    schedule 13.04.2016
comment
Обычно допускается некоторое окно для перекрытия значений ATC, особенно если карта поддерживает автономную авторизацию: законная офлайн-транзакция может достичь эмитента после какой-либо законной авторизованной онлайн-транзакции. В любом случае это задача модуля управления рисками, чтобы решить, должна ли транзакция быть отклонена/отклонена. - person Serge; 12.05.2016
comment
пожалуйста, прочитайте после некоторых законных как после последующих законных в моем комментарии выше - person Serge; 12.05.2016
comment
@Майкл Роланд, действительно ли значение ATC 0? Согласно спецификации EMV, ATC указывает количество транзакций, поэтому является ли 0 действительным ATC? - person mystery; 15.07.2021

Еще один сценарий воспроизведения транзакции в дополнение к ответу @Michael Roland.

В большинстве случаев Point-of-Sale не контролируется/визуально не контролируется 24/7 со стороны Acquirer. Злоумышленник или какой-либо посредник (скажем, персонал телекоммуникационной компании) может записать трафик и попытаться воспроизвести (повторно отправить по сети) транзакцию, которая использовала нецифровой CVM, т. е. подпись, визуальную проверку удостоверения личности и т. д. .

Существует множество различных протоколов обмена POS-to-AcquirerHostSystem. Некоторые из них имеют необязательную аутентификацию сообщений, некоторые из них имеют обязательную проверку MAC-адреса, некоторые протоколы вообще не обеспечивают защиту сообщений.

В любом случае, эта последняя миля находится вне поля зрения эмитента и контроля. ATC устраняет эту проблему: никакие две действительные транзакции с одним и тем же ATC не могут быть отправлены эмитенту, поскольку карта обеспечивает уникальность значения ATC.

person Serge    schedule 11.05.2016

Во время расчета arqc значение Atc используется в качестве входных данных для алгоритма. Atc используется в качестве начального значения и заставляет постоянно генерировать разные криптограммы. Таким образом, когда счетчик увеличивается и сгенерированы разные криптограммы, старые значения arqc не могут использоваться для новой транзакции. Это предотвращает повторные атаки (использование старых значений).

person Ahmet Arslan    schedule 02.04.2016
comment
Но если терминал уже заботится о свежести другой криптограммы, отправляя одноразовый номер для включения в генерацию ARQC, в чем цель ATC. - person user1887464; 02.04.2016

ATC также используется для получения производного ключа от MDK. Именно с помощью этого производного ключа генерируется ARPC.

person Adarsh Nanu    schedule 02.04.2016