Ниже перечислены задачи, решаемые приложением МПК для повышения безопасности операций по пластиковым картам.
Важнейшая базовая задача, решаемая приложением карты с помощью криптографических методов, состоит в обеспечении надежной аутентификации приложения карты (чаще говорят, и мы будем поддерживать эту терминологию, аутентификации карты, хотя правильнее говорить об аутентификации приложения карты). Под аутентификацией карты в данном случае понимается процесс доказательства того факта, что данная карта (приложение) была эмитирована банком, авторизованным на это соответствующей платежной системой. Успешность аутентификации карты означает, что был доказан факт эмиссии рассматриваемой карты некоторым банком X, являющимся участником платежной системы Y, которая разрешила банку X эмиссию карт платежной системы Y. Надежность доказательства факта эмиссии конкретной карты авторизованным эмитентом зависит от метода аутентификации карты.
Методы аутентификации карты делятся на офлайновые и онлайновые. Последняя версия стандарта EMV (v. 4.2) различает три метода офлайновой аутентификации карты:
- SDA (Static Data Authentication);
- DDA (Dynamic Data Authentication);
- CDA (Combined Dynamic Data Authentication/AC Generation).
Метод SDA обеспечивает целостность критичных для приложения карты статических данных, а также невозможность создания карты с "белого листа". В процессе статической аутентификации карта передает терминалу для проверки объект данных Signed Static Application Data, представляющий собой подпись критичных статических данных приложения, выполненную на ключе эмитента карты. По своей сути метод SDA является чиповым аналогом величин CVV/CVC, используемых для обеспечения целостности хранимых на магнитной полосе карты значений номера карты, кода ее обслуживания и срока действия.
Методы динамической аутентификации карты (DDA и CDA) состоят в проверке терминалом вычисленной картой подписи данных, предоставляемых карте терминалом (с обязательным использованием случайного числа, сгенерированного терминалом) в соответствии со списком DDOL, хранящимся на карте. В этом случае успешный результат аутентификации карты гарантирует на уровне криптостойкости алгоритма RSA факт того, что карта содержит чип, персонализированный эмитентом, авторизованным платежной системой на выпуск карт этой системы. Для реализации динамических методов аутентификации карты требуется поддержка микросхемой карты алгоритма RSA, что, в свою очередь требует наличия в микросхеме специального криптографического сопроцессора и потому увеличивает стоимость карты.
Метод CDA помимо динамической аутентификации карты дополнительно обеспечивает целостность наиболее критичных данных информационного обмена карты с терминалом (CID, реквизитов транзакции и терминала). Это достигается совмещением процедуры аутентификации карты с обработкой команды GENERATE AC, при выполнении которой между картой и терминалом происходит обмен наиболее важными для принятия решения по способу завершения транзакции данными. В итоге карта подписывает набор данных, включающий значение хеш-функции от данных, циркулирующих между картой и терминалом в ходе обработки команд GET PROCESSING OPTIONS и GENERATE AC.
Еще одно преимущество метода CDA - сокращение времени обработки операции (в среднем на несколько десятков миллисекунд) по сравнению со случаем использования для обработки той же операции карты, поддерживающей метод DDA. Это сокращение времени в случае использования метода CDA связано с отсутствием в процессе обработки транзакции отдельной команды INTERNAL AUTHENTICATE, применяемой при аутентификации приложения карты в методе DDA.
Большинство первых микропроцессорных карт поддерживали только метод статической аутентификации SDA. Это объяснялось значительно более высокими ценами на карты с динамической аутентификацией. Однако со временем разница в стоимости карт с динамической и статической аутентификацией значительно снизилась, и международные платежные системы вместе с банками стали проводить курс на постепенное замещение SDA-карт картами с динамической аутентификацией. Так, начиная с 1 января 2011 г. новые карты, эмитируемые банками в регионах MasterCard Europe и VISA Europe, должны поддерживать метод DDA (во Франции это решение действует с 1 января 2007 г.). При этом новые карты не должны поддерживать метод SDA. Более того, VISA Europe запрещает эмитентам своего региона использование метода SDA начиная с 1 января 2015 г.
В США, недавно приступивших к миграции на чип, аналогичное решение принято с самого начала внедрения технологии микропроцессорных карт: все карты, поддерживающие офлайновую аутентификацию, должны поддерживать DDA/CDA.
По данным платежных систем на III квартал 2012 г., в мире:
- примерно 51,2% карт поддерживают только методы динамической аутентификации (DDA/CDA), и доля таких карт быстро растет (примерно на 8,5% в сравнении с данными на тот же период 2011 г.);
- примерно 37,5% карт поддерживают только метод статической аутентификации (доля таких карт падает примерно с той же скоростью, с какой растет доля карт с динамической аутентификацией);
- 7,9% карт поддерживают методы статической и динамической аутентификации (доля таких карт падает со скоростью примерно 2,5% в сравнении с данными на тот же период 2011 г.);
- 3,3% карт поддерживают только метод онлайновой аутентификации и не поддерживают методы офлайновой аутентификации (доля таких карт медленно растет, со скоростью примерно 1% в сравнении с данными на тот же период 2011 г.).
Не используется офлайновая аутентификация и в операциях аутентификации держателя карты в программах CAP/DPA. По правилам VISA и MasterCard офлайновая аутентификация может не использоваться во всех операциях, выполняемых из терминалов, обрабатывающих транзакции только в онлайновом режиме (online only-терминалы).
На момент написания этой книги (конец 2012 г.) по правилам VISA и MasterCard все чиповые терминалы, способные работать в офлайновом режиме, должны поддерживать методы офлайновой аутентификации карты SDA и DDA (в Европе это правило действует с 1 января 2005 г.).
С 1 января 2011 г. в MasterCard все новые гибридные терминалы, способные работать в офлайновом режиме (offline-capable-терминалы), независимо от места их установки должны поддерживать метод CDA. Таким образом, с этого времени все новые offline-capable-терминалы MasterCard поддерживают все три способа офлайновой аутентификации карты. Пока об аналогичном решении VISA ничего не известно.
По данным MasterCard, сегодня в Европе более 70% всех POS-терминалов поддерживают CDA. В Канаде, Юго-Восточной Азии и Латинской Америке количество таких терминалов приближается к 100%. Главной проблемой с внедрением CDA является отсутствие всех ключей системы на некоторых "недисциплинированных" терминалах. Обслуживающие банки (торговые точки) не внедряют на терминалах в установленные для этого системой сроки открытые ключи платежной системы. С использованием этих ключей проверяются сертификаты открытых ключей эмитентов, а потому при отсутствии ключа системы на терминале, с использованием которого изготовлен сертификат ключа эмитента, проваливается офлайновая аутентификация карты. В случае CDA это приводит к отклонению транзакции, поскольку обработать операцию в онлайновом режиме невозможно: криптограмму транзакции невозможно извлечь из подписанных картой данных.
Чтобы облегчить ситуацию с проблемой отсутствия ключей системы на терминале при использовании метода CDA, в версии EMV 4.2 было изменено поведение терминала. Терминал, удовлетворяющий версии 4.2, должен попытаться восстановить ключ карты до отправки ей команды GENERATE AC. Если терминал понимает, что необходимый для восстановления ключ системы у него отсутствует, он не использует CDA (при этом в TVR соответствующий бит указывает на то, что офлайновая аутентификация приложения не выполнялась), а запрашивает криптограмму ARQC.
Но даже если терминал имеет программное обеспечение, не соответствующее версии EMV 4.2, рекомендуется использовать на терминале новые значения TAC (Terminal Action Code). А именно, если бит 3 байта 1 объекта TVR равен 1 (CDA Failed), то рекомендуется транзакцию отправлять на онлайновую авторизацию эмитенту без криптограммы ARQC (т.е. соответствующий бит в TAC-Decline = 0, в TAC-Online = 1 и TAC-Default = 1 вместо принятой ранее тройки (1, 0, 0)).
Доля "недисциплинированных" терминалов существенно зависит от страны, обслуживающего банка, торгового предприятия. В среднем по Европе их количество не превышает 0,4% всего парка терминалов, и эта цифра неукоснительно уменьшается от года к году.
Решение MasterCard об обязательной поддержке метода CDA вводимыми в эксплуатацию offline-capable-терминалами означает, что CDA-карты этой системы через некоторое время, необходимое для адаптации метода CDA на терминалах MasterCard, могут не поддерживать метод DDA. Сегодня такая поддержка обязательна, так как не все терминалы поддерживают CDA.
Поскольку аутентификация карты является важным элементом принятия эмитентом решения по результату авторизации транзакции, желательно, чтобы эмитент имел возможность проверки факта выполнения терминалом аутентификации карты. Это требуется для того, чтобы избежать обмана со стороны недобросовестного торгового предприятия или обслуживающего банка, утверждающих, что офлайновая аутентификация карты была выполнена, хотя это утверждение действительности не соответствует. Причиной обмана может быть экономия средств торгового предприятия или обслуживающего банка на поддержку функции аутентификации карты на POS-терминале. Механизм проверки факта выполнения терминалом аутентификации карты в стандарте EMV существует (Data Authentication Code для случая статической аутентификации и ICC Dynamic Number для случая динамической аутентификации карты).
Очевидно, МПК является микрокомпьютером, способным обрабатывать входные данные, полученные от терминала и (или) эмитента карты. Обработка данных сводится к выполнению ряда проверок, по результатам которых карта принимает решение о результате обработки транзакции. Иногда карта просто "озвучивает" решение, полученное от эмитента. В некоторых случаях карта самостоятельно принимает решение на основе процедур управления рисками, параметры которых определены эмитентом с помощью соответствующей конфигурации приложения карты на этапе ее персонализации.
Примерами выполняемых картой проверок являются проверка картой PIN-кода держателя карты, проверки, связанные с управлением рисками (Card Risk Management), аутентификация эмитента карты, проверки, подтверждающие целостность полученной от эмитента информации.
В случае офлайновой транзакции эмитент полностью делегирует карте функцию принятия решения по результату выполнения операции. Очевидно, что только решениям карты, подлинность которой доказана, можно доверять. В связи с этим так важна надежная аутентификация приложения карты.
Аутентификация карты осуществляется терминалом и (или) эмитентом карты. В офлайновых операциях аутентификация карты осуществляется только терминалом. В случае онлайновой транзакции аутентификация карты может осуществляться и терминалом, и эмитентом.
Очевидно, аутентификация карты является эффективным средством борьбы с поддельными картами (Counterfeit). Именно поэтому платежные системы ввели сдвиг ответственности Chip Liability Shift, формулируемый следующим образом. Если мошенничество вида "поддельная карта" случилось по карте МПК в терминале, поддерживающем только карты с магнитной полосой, то ответственность за мошенничество несет обслуживающий терминал банк.
Сдвиг ответственности Chip Liability Shift при своем появлении имел внутрирегиональный характер (действовал в случае, когда обслуживающий банк и эмитент карты являлись резидентами одного региона платежной системы). Однако движение в сторону глобализации сдвига ответственности в крупнейших платежных системах привело к тому, что на сегодняшний день он стал в значительной степени межрегиональным, а с 1 октября 2015 г. (дата начала сдвига ответственности в США для всех торговых точек, за исключением заправочных станций) сдвиг ответственности станет почти интернациональным (его применение не будет зависеть от месторасположения эмитента и обслуживающего банка).
В процессе выполнения онлайновой транзакции МПК взаимодействует со своим эмитентом. Эмитент сообщает карте свое окончательное решение по авторизации операции (отклонить или одобрить операцию). Кроме того, эмитент может направить карте команды, с помощью которых будут модифицированы отдельные данные приложения карты либо будет заблокировано приложение карты или даже вся карта. Команды эмитента, модифицирующие данные карты, очевидно, используются не только во время выполнения транзакции, но и на этапе персонализации карты.
Для того чтобы повысить доверие к решениям эмитента (избежать подлога решения эмитента третьей стороной), требуется предусмотреть выполнение картой аутентификации ее эмитента. Аутентификация эмитента обеспечивается проверкой картой специального элемента данных (ARPC), получаемого картой из авторизационного ответа эмитента, а также проверкой картой величин Message Authentication Code (MAC), содержащихся в командах, поступающих на карту от эмитента.
МПК гарантирует эмитенту невозможность держателю его карты отказаться от результата выполненной операции (non-repudiation). Это обеспечивается тем, что по каждой операции эмитент получает в свое распоряжение специальную прикладную криптограмму, представляющую собой подпись наиболее критичных данных транзакции, сделанную с использованием ключа карты. Соответствие прикладной криптограммы данным транзакции и ключу карты подтверждает факт ее выполнения с использованием карты эмитента.
В версии EMV 4.2 криптограмма формируется с применением симметричного шифрования, поэтому невозможность отказа от операции базируется на доверии к эмитенту карты: МПС в своих правилах полностью полагаются на безупречность поведения банка в отношении своего клиента. Однако сегодня ассоциация EMVCo приступила к разработке принципиально новой версии стандарта EMV Next Generation, в которой криптограмма будет формироваться с использованием алгоритма асимметричного шифрования и, таким образом, может быть проверена третьей стороной, располагающей сертификатами открытых ключей эмитента и платежной системой.
МПК позволяет обеспечить проверку целостности обмена данными между картой и эмитентом, а также между картой и терминалом. Целостность информационного обмена между эмитентом приложения и приложением карты обеспечивается за счет использования:
- величины MAC, содержащейся в командах, направляемых эмитентом карте;
- криптограммы ARQC, представляющей собой подпись транзакционных данных, сделанную приложением карты и направляемую терминалом эмитенту.
Для обеспечения целостности данных, читаемых терминалом в начале обработки транзакции, используется метод статической аутентификации данных приложения SDA за счет использования величины MAC, содержащейся в командах, направляемых эмитентом карте. Целостность обмена данными между картой и терминалом обеспечивается с помощью процедуры комбинированной генерации прикладной криптограммы и динамической аутентификации карты (Combined Dynamic Data Authentication/Application Cryptogram Generation). Благодаря этой процедуре появляется возможность электронным образом подписывать наиболее критичные данные информационного обмена карты с терминалом.
МПК позволяет обеспечить конфиденциальность данных в информационном обмене между картой и эмитентом, между картой и терминалом. Конфиденциальность данных, циркулирующих между картой и эмитентом, обеспечивается шифрованием секретных данных, содержащихся в командах эмитента, с помощью симметричного алгоритма шифрования (3DES). Конфиденциальность значения PIN-кода при его проверке картой в режиме offline обеспечивается с помощью асимметричного алгоритма шифрования (RSA).
МПК предоставляет эмитенту механизмы надежной верификации (аутентификации) держателя карты. Здесь в первую очередь следует упомянуть о постоянно расширяющемся использовании чиповых карт для верификации держателя карты с помощью офлайновой проверки картой PIN-кода ее держателя.
Кроме того, с помощью МПК и специального ридера PCR (Personal Card Reader) реализуется двухфакторная аутентификация держателя карты, используемая в операциях CNP (Card Not Present). Карта в ответ на правильное значение PIN-кода, введенное держателем карты с помощью PCR, генерирует с использованием секретных данных карты одноразовый пароль, который отображается на экране ридера и используется держателем карты для его аутентификации в операциях повышенного риска.
МПК может предоставить эмитенту механизмы противодействия попыткам мошенников подобрать ключи приложения. Например, в M/Chip4 используются следующие счетчики и соответствующие им лимиты (верхние ограничения):
- счетчик SMI session key counter - количество неверных проверок приложением M/Chip4 величины MAC, содержащейся в командах эмитента приложения;
- AC session key counter - количество случаев вывода сессионного ключа приложения, используемого для генерации криптограммы, с момента последней успешной проверки ARPC;
- Bad cryptogram counter - количество случаев, когда расшифрованное значение PIN-блока при выполнении процедуры верификации держателя карты по технологии PIN Offline оказывалось некорректным (не соответствует формату ISO 2).
- физическую защиту данных, хранимых на карте (tamper resistant & responsive device);
- достоверную аутентификацию приложения карты терминалом и (или) эмитентом приложения;
- достоверную аутентификацию приложением своего эмитента приложения;
- надежную верификацию держателя карты с помощью проверки PIN-кода в онлайновом или офлайновом режиме;
- подтверждение факта выполнения транзакции по карте (невозможность для держателя карты отказаться от операции);
- конфиденциальность и целостность чувствительных данных в диалогах "эмитент - карта" и "терминал - карта";
- возможность для эмитента приложения изменять параметры приложения после выдачи карты держателю карты (например, заблокировать приложение карты, изменить параметры управления рисками и т.п.) с обеспечением целостности данных команд эмитента;
- достоверную двухфакторную аутентификацию держателя карты в операциях повышенного риска;
- подтверждение для эмитента приложения факта выполнения терминалом офлайновой аутентификации приложения карты;
- контроль приложением попыток компрометации своих ключей мошенниками.
В работе группой специалистов Кембриджского университета (Великобритания) рассматривается атака, цель которой - использование украденной (потерянной) микропроцессорной карты с EMV-приложением, CVM List которого требует PIN Offline, притом что значение PIN-кода мошенникам неизвестно. Для реализации атаки мошенники устанавливают между картой и POS-терминалом специальное устройство wedge-device, которое перехватывает команду терминала VERIFY, не передавая ее карте, а вместо этого возвращает терминалу ответ PIN OK. В результате приложение карты считает, что использовался отличный от PIN Offline метод верификации держателя карты (биты 1, 2, 3 байта 1 CVR равны 0, а бит 6 байта 4 равен 1). В то же время терминал считает, что верификация держателя карты по методу PIN Offline выполнена успешно, и этот факт отражается им в объекте данных CVM Results, хранящемся на терминале. Как следствие, мошенники могут надеяться на успешное выполнение транзакций в POS-терминалах (не в банкоматах, где используется метод PIN Online) без знания значения PIN-кода.
Объясним механизмы безопасности, реализованные в приложении M/Chip4, с помощью которых можно предотвратить описанную выше атаку.
Рассмотрим сначала случай, когда авторизация операции происходит в онлайновом режиме. Приложение M/Chip4 сверяет значение CVM Results с данными бита 6 байта 4 Offline PIN Verification Not Performed, и если соответствие отсутствует, то устанавливает бит 1 байта 4 Terminal Erroneously Considers Offline PIN OK, равный 1. Если в объекте CIAC-Denial бит 1 байта 1 установлен равным 1, то в этом случае транзакция будет отклонена. Чтобы избежать такого результата, устройство wedge-device меняет данные CVM Results, передаваемые приложению M/Chip4 в команде GENERATE AC (объект данных CVM Results входит в список CDOL1) таким образом, чтобы они соответствовали данным CVR и приложение карты ничего не узнало.
Далее приложение карты отправит эмитенту криптограмму, которая соответствует CVR, где PIN Offline не производился. Если wedge-device попытается поменять значение CVR приложения карты, чтобы указать, что PIN Offline OK, то эмитент приложения это обнаружит при проверке криптограммы транзакции.
Таким образом, в онлайновых операциях нужно всего лишь, чтобы обслуживающий банк отправлял эмитенту среди прочих данных объект CVM Results. В интересах эмитента приложения обязательно проверять соответствие CVM Results данным CVR.
Рассмотрим теперь офлайновую транзакцию. В этом случае вновь упор делается на проверку картой соответствия между CVM Results и CVR, а также использование механизма CIAC-Denial (нужно бит Terminal Erroneously Considers Offline PIN OK установить равным 1). Чтобы предотвратить попытку подделки CVM Results устройством wedge-device, достаточно применить механизм комбинированной аутентификации приложения CDA.
Таким образом, для предотвращения описанной ранее атаки нужно, чтобы эмитенты приложений проверяли соответствие CVM Results данным CVR в авторизационных запросах, обслуживающие банки отправляли эмитентам объект CVM Results, терминалы и приложения карты поддерживали метод CDA.
В публикации компании Inversepath рассказывается об атаках, направленных на кражу PIN-кода. Суть этих атак состоит в изменении CVM List. Такие изменения приводят к тому, что проверка подписи статических данных карты проваливается (CVM List, как правило, входит в список подписываемых статических данных), но это не является причиной для отклонения транзакции, а ведет к ее обслуживанию в онлайновом режиме. При этом до отправки авторизационного запроса эмитенту держатель карты верифицируется по методу plaintext PIN Offline, рассматриваемому как приоритетный метод в искаженном CVM List. Таким способом, с использованием устройства wedge-device, устанавливаемого на терминале, можно украсть значение PIN-кода.
Такой метод кражи PIN-кода является весьма сложным и оригинальным. Кроме того, он не дает мошенникам всех данных, необходимых для клонирования карты по магнитной полосе. Мошенники имеют в распоряжении только значение Chip CVC/iCVV, отличающееся от CVC/CVV на магнитной полосе.
Сегодня можно твердо говорить о том, что стандарт EMV доказал свою надежность и обеспечивает высокий уровень безопасности операций по пластиковым картам. Кроме того, стандарт EMV развивается, и его держатель, компания EMVCo, собирается выпустить новую версию стандарта EMV Next Generation, начало внедрения которого планируется на 2025 г. В новой версии стандарта значительное внимание будет уделено повышению эффективности используемых механизмов транзакционной безопасности. В частности, предполагается применение более быстрых в сравнении с RSA асимметричных алгоритмов шифрования, основанных на математике эллиптических кривых. Благодаря этому станет возможным организовывать защищенные соединения между приложениями карты и терминала, использовать криптограмму операции, формируемую на основе асимметричного алгоритма шифрования (это даст возможность проверки криптограммы третьей стороной) и многое другое.