|
1
1
为什么有不同的操作模式? NFC背后的最初想法是将现有标准(特别是ISO/IEC 14443非接触式智能卡技术和FeliCa/JIS X 6319-4)结合到一个系统中,该系统既可以与现有的应答器/智能卡/标签通信,也可以与现有读取器基础设施通信,并且可以用于与专用NFC设备轻松通信。 因此,初始NFC标准(ISO/IEC 18092)基于那些现有协议定义了对等通信模式。除了向后兼容,NFC标准允许两个NFC设备(自动)握手两个NFC设备之间的连接。这在读卡器+卡设置中是不可能的:两个读卡器和两张卡都不能相互通信,因此必须在读卡/卡场景中预定义角色。 因此,最初,读写器模式仅用于访问NFC标签(无源数据存储设备)和可能的非接触式智能卡。卡仿真模式(基于HCE或SE)旨在与现有ISO/IEC 14443(或FeliCa)基础设施(例如,在向NFC演进之前已安装的读取器)进行交互。对等模式专门用于NFC设备之间的通信。 为什么现在所有模式都可以用于几乎任何场景? 我 猜测 这一发展的驱动因素之一是Android上的对等模式缺乏API支持。在Android上,对等模式只能通过Android Beam访问,因此不能真正用于双向通信。另一个因素 可以 对等模式协议栈比读写器模式(NFC-DEP+LLCP(+SNEP)+应用协议对ISO-DEP+应用协议)更复杂。 所以 选项1 主要是因为它(在Android 4.4之前)是通过NFC实现双向通信的唯一选项。自Android 4.4以来 选项3 可以用于构建类似的场景。 是 选项3 比其他选项更安全? 不,一点也不。在所有三种情况下,安全性都必须由应用程序层处理。底层通信协议不采用任何加密/完整性保护等。机制。 原因 选项3 移动支付的首选是向后兼容方面:使用HCE,您可以实现与现有的非接触式智能卡读取器交互的应用程序(例如,在EMV支付系统中使用它们)。 |