NFC*_*guy 13
ISO 14443标准定义了用于卡和读卡器之间通信的物理RF传输协议(例如,参见http://www.openpcd.org/ISO14443以获得快速概述).它标准化了诸如奇偶校验位,CRC算法,帧大小,确认机制等的使用.基本上定义了两种不同类型的通信:类型A和类型B.其原因主要是历史:有不同类型的在定义标准之前市场上的产品,其或多或少对应于ISO 14443的第3部分中的A型和B型.
标准的第4部分基本上定义了一个通信层,在该通信层之上可以进行通用类型的通信.这通常是ISO 7816-4,虽然有非接触式卡(例如MIFARE DESFire和MIFARE Plus)(也)使用他们自己的本机命令结构而不是这个.
ISO 7816是一系列接触式智能卡标准.第4部分标准化了命令响应格式和许多命令:APDU.这产生了这样的情况:从软件的角度来看,与接触式智能卡读卡器和非接触式智能卡读卡器进行通信之间没有真正的区别.在这两种情况下,软件都可以使用APDU与智能卡进行通信.如此多的实现智能卡读卡器支持的软件库使用APDU作为卡的基本通信单元.
这是非常方便的,除了一些流行的非接触式卡如MIFARE Classic不理解APDU(因为它们甚至不支持ISO 14443-4).因此,非接触式读卡器制造商已经创建了一种"虚拟"APDU格式(使用APDU中的专有类字节)来解决这个问题.读卡器固件(或PC上的驱动程序)拦截C-APDU并将它们转换为正确的MIFARE Classic命令,并将卡响应转换为R-APDU.通过这种方式,软件开发人员可以使用他们喜欢的智能卡通信库,并仍然可以与MIFARE Classic卡进行通信.
MIFARE DESFire卡提供了类似的机制,但实际上卡本身管理APDU从其本机命令集的转换.这可能是因为该卡使用ISO 14443-4通信.
可以在http://open-nfc.org/documents/PRE_NFC_0804-250%20NFC%20Standards.pdf上找到一个很好的信息图,显示许多非接触式智能卡和NFC标准和规范.
有关更多智能卡标准的概述,请参阅http://www.smartcardbasics.com/smart-card-standards.html.这个问题也可能提供相关信息.
实际上14443-3对应于7816-3,因为我们在这里讨论协议问题。Mifare 卡(作为简单的存储卡)不理解 APDU。为了通过 PCSC 解决这些问题,读卡器驱动程序提供了 APDU(未标准化,因此对于不同的读卡器品牌可能有所不同)。这些不会传递给卡,而是由读卡器或其驱动程序选择和解释。还有一系列智能卡,可以使用 T-CL 协议了解基于 14443 的真实 APDU,例如符合 ICAO 要求的旅行证件。
| 归档时间: |
|
| 查看次数: |
5876 次 |
| 最近记录: |