据我所知,NFC 标签非常简单。它们包含少量数据,从几个字节到几千字节。NFC / RFID 阅读器接收该数据。他们还可以写回一些数据以供以后读取。
我认为 NFC 支付比传统磁卡更安全,传统磁卡的整体安全性基于一个密码。
那么NFC支付是如何实现的呢?我对 Android 设备上的实现特别感兴趣。请仅描述高级算法。
在较低级别上,NFC 使用所谓的 NDEF 协议(NFC 数据交换格式)工作。基本上 NDEF 包括消息->记录->有效负载。应用程序特定信息所在的有效负载。它仅取决于应用程序将在这些有效负载中使用哪种数据/加密。
所以没有标准的支付方式实现。一切都将取决于供应商。例如 Google 和 Visa 的人将如何建立数据交换协议并实施它。
它与普通芯片和密码非常相似,只是您的手机变成了非接触式信用卡。您必须在销售终端上输入密码。
好吧,Android 设备不会充当简单的标签,总是在 PoS 上向阅读器发送相同的数据。它可以在其安全元件芯片中拥有用于对响应进行签名的密钥,从而针对特定购买生成它们,这可以由商家通过检查签名来验证,或者在线商家可以直接查询发卡行,它可以验证这些回复的真实性。