Использование непредсказуемого числа (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
PAN
, поскольку это решение продавца вернуть средства клиенту. Если продавец хочет защитить себя от неподобающего поведения сотрудников, он может запросить у Эквайера принимать только возврат средств с проверкой подлинности с помощью чипа или настроить PoS-устройство так, чтобы разрешать возврат средств только с проверкой подлинности с помощью чипа. Это вопрос установленных на местах процедур. - person Serge   schedule 12.05.2016