Платежное приложение - EMV - PullRequest
       86

Платежное приложение - EMV

0 голосов
/ 13 сентября 2018

Я разрабатываю платежное приложение для Android. Я прочитал все четыре книги EMV (версия 4.3), которые я использовал для реализации протокола для связи с терминалом. Я также купил комплект симулятора терминала от Mastercard для тестирования моего приложения.

С помощью этого симулятора я могу читать данные с моей реальной физической дебетовой карты, чтобы получать информацию, такую ​​как сертификат открытого ключа эмитента и т. Д. Я помещаю эту информацию в свое приложение, чтобы "симулировать" карту. Но есть некоторые данные, которые я не получаю через симулятор терминала, например, мастер-ключ эмитента для генерации криптограммы приложения.

Итак, мой вопрос: есть ли возможность получить недостающие данные? Может быть, он доступен онлайн? Или я должен сотрудничать с банком-эмитентом? Извините за этот общий вопрос, но я действительно ценю каждый совет, который у вас есть для меня! Спасибо!

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018
But there is some data I don't receive through the terminal simulator like the Issuer Master Key for generating the Application Cryptogram.

вы можете читать только некоторые данные с карты, такие как записи, персонализированные в AFL, конфиденциальная информация, такая как ключ криптограммы, никогда не может считываться с карты.

Real Process is like:-

1 - Карта генерирует криптограмму, используя свой ключ AC, и отправляет криптограмму в HOST для проверки,

2 - Хост вычисляет криптограмму с ее ключом, и она будет успешной, если обасовпадение криптограмм.

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

надеюсь, это поможет.

0 голосов
/ 25 сентября 2018

Основные ключи эмитента генерируются и хранятся в главном HSM эмитента.Каждая выпущенная карта загружается с производными ключами от мастер-ключей эмитента.Поэтому каждая карта имеет свои собственные производные ключи.Поскольку ключи используются для вычисления прикладной криптограммы, и AC должен быть доверенным, ключи НИКОГДА не могут быть прочитаны (если это возможно, безопасность EMV нарушена).По этой причине Эмитент НЕ будет делиться мастер-ключами Эмитента с кем-либо, а будет храниться только в HSM!

0 голосов
/ 14 сентября 2018

Могу ли я сказать, что вы пытаетесь создать NFC-кошелек на Android и пытаетесь протестировать его на симуляторе от MasterCard?

Не все можно вынуть из карты, иначе все начали бы клонировать, и рынок был бы заполнен поддельными картами:)

Безопасность транзакции EMV защищена криптограммой. Каждая транзакция несет свою криптограмму с использованием ключа. Отметьте это и это .

Но, будь то кошелек с защищенным элементом или HCE, мастер-ключ эмитента не загружается напрямую в кошелек. В случае защищенного элемента доверенный сервер подключается к кошельку и совместно использует ключ карты, полученный из мастер-ключа эмитента, и во время транзакции ключ сеанса генерируется из ключа карты, с помощью которого будет генерироваться криптограмма. Когда это HSE, вы в основном будете хранить только сеансовые ключи, поскольку он не так безопасен, как SE. Вы можете хранить пару ключей сеанса, каждый из которых используется один раз, или один ключ сеанса, который можно использовать несколько раз, - все в зависимости от вашей реализации.

...