NFC Host Card Emulation mode gets rid of the local Secure Element (SE), and facilitates payment by leveraging an SE stored on cloud, with the cooperation of several participating parties, e.g. merchant, service, providers, card issuers etc. Typically, this is how Apply Pay (probably it still uses a local SE), Google Pay and Samsung Pay work.
However, there exist apps, e.g. Cards - Mobile Wallet, MyCard - NFC Payment, Contactless Credit Card Reader which claim to be able to store the card information locally in the phone, and enable payment in shops with contact-less card readers using one's mobile phone. I have tried using Cards
. It reads the card information (the credit card number and expiry date) over NFC, and shows this:
The credit card (card_A
) is of a US bank, and I am pretty sure it doesn't support contact-less payment. I have another debit card (card_B
) from some other bank in some other country which does support contact-less payment. However, I don't have any means to test if this app works with card_B
.
My questions are the following:
- The debit/credit cards which support contact-less payment (like the ones similar to
card_B
), what payment standard do they abide by? FYI, bothcard_A
andcard_N
have EMB chips on them, but one support contact-less payment, the other one doesn't. - Can I consider payment solution, e.g. Apply Pay, Google Pay and Samsung Pay workarounds to enable contact-less payments on cards which do not support contact-less payment natively?
- If the Android apps I linked above work successfully, do they still use NFC Host Card Emulation mode?
- Lastly, EMV cards have a secret key stored secretly on the card. I was surprised to see the
Cards
app to read and store the card information without any additional authorization from the bank or the merchant, and then just claiming to be able to make contact-less payment? In Google Pay, they use tokenization and a secret key is stored on device which gets replenished time to time. How come these category of contact-less cards do not play any key based challenge-response protocol to make the payment happen?