- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ISO 14443-3 和 ISO 7816-4 APDU 之间有什么区别?我问这个是因为似乎有些卡使用前者与读卡器通信,有些卡使用后者。我对此感到困惑,想对此有一个很好的了解。例如,我认为 Mifare Classic 使用 ISO 14443-3。但让我困惑的是当我编写与 Mifare classic 通信的应用程序时,我向它发送 APDU。
最佳答案
ISO 14443 标准定义了卡和读卡器之间通信的物理 RF 传输协议(protocol)(请参阅 http://www.openpcd.org/ISO14443 以获取快速概述)。它对奇偶校验位的使用、CRC 算法、帧大小、确认机制等进行了标准化。本质上定义了 2 种不同类型的通信:A 类和 B 类。其原因很大程度上是历史性的:存在不同类型的通信。标准定义之前市场上的产品,或多或少对应于 ISO 14443 第 3 部分中的 A 型和 B 型。
该标准的第 4 部分本质上定义了一个通信层,在该通信层之上,通用类型的通信成为可能。这通常是 ISO 7816-4,尽管有一些非接触式卡(例如 MIFARE DESFire 和 MIFARE Plus)也使用自己的 native 命令结构来代替它。
ISO 7816 是接触式智能卡标准的集合。 Part 4标准化命令响应格式和许多命令:APDU。这就造成了这样一种情况:从软件的角度来看,与接触式智能卡读卡器和非接触式智能卡读卡器的通信之间没有真正的区别。在这两种情况下,软件都可以使用 APDU 与智能卡进行通信。许多实现智能卡读卡器的软件库都支持使用 APDU 作为与卡的基本通信单元。
这非常方便,除了一些流行的非接触式卡(例如 MIFARE Classic)不理解 APDU(因为它们甚至不支持 ISO 14443-4)。因此,非接触式读卡器制造商创建了一种“虚拟”APDU 格式(使用 APDU 中的专有类字节)来解决此问题。读卡器固件(或 PC 上的驱动程序)拦截 C-APDU 并将其转换为正确的 MIFARE Classic 命令,并将卡响应转换为 R-APDU。通过这种方式,软件开发人员可以使用他们首选的智能卡通信库,同时仍然与 MIFARE Classic 卡进行通信。
MIFARE DESFire 卡提供了类似的机制,但实际上是卡本身管理 APDU 与其 native 命令集之间的转换。这是可能的,因为该卡使用 ISO 14443-4 通信。
可以在 http://open-nfc.org/documents/PRE_NFC_0804-250%20NFC%20Standards.pdf 找到一个很好的信息图,显示了许多非接触式智能卡和 NFC 标准及彼此相关的规范。
有关更多智能卡标准的概述,请参见http://www.smartcardbasics.com/smart-card-standards.html 。 This question也可提供相关信息。
关于smartcard - 智能卡通信标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19153173/
我是一名优秀的程序员,十分优秀!