【发布时间】:2016-02-19 10:22:07
【问题描述】:
我只是在阅读 ISO/IEC 7816 第 4 部分标准。不幸的是,对我来说有一些模糊的地方,我希望我能在这里得到答案。
第一个模糊点是关于数据对象。定义数据对象制作Simple-TLV或Ber-TLV类别,并对这些类别进行一些描述。但是数据对象本身是什么?是我们存储在卡上的数据吗?如果是这样,据我所知,我们将数据存储在小程序的不同字段中,我们不会为它们考虑任何BER-TLV 或Simple-TLV 类别!它们只是一系列十六进制数字。
第二个模糊点是关于结构选择部分。定义我们可以有以下五种不同的方式:
- 在重置后隐式。
- 通过 DF 名称选择明确
- 通过文件标识符选择显式
- 按路径选择显式
- 通过短 EF 标识符选择显式
模糊的一点是,据我所知,我可以在卡上选择的唯一内容是小程序,没有别的。对于小程序,我可以选择默认设置(这可以是上述选项的第一种方式,即隐式选择)或通过向带有 Applet AID 的卡发送 SELECT APDU 命令来选择它(上述任何方式均未提及)。
那么这些结构选择方法是什么?
第三个模糊点是EF结构。定义EF-s可以有以下五种结构:
- 透明结构
- 具有固定大小记录的线性结构
- 具有可变大小记录的线性结构
- 具有固定大小记录的循环结构(箭头引用最近写入的记录)
- TLV 结构
问题又来了,这些结构是干什么用的?这些是数据在内存中存储的方式吗?如果是这样,为什么它们是在标准中定义的,而它们是关于卡的内部行为?程序员需要了解它们吗?他/她可以检测/更改他/她卡中使用的 EF 结构吗?
最后,是否所有符合 ISO 7816-4 的卡都支持上述所有项目(因为我在 ISO 7816-4 中找不到任何提及它们是可选的或其他内容的内容)?
是否所有符合 ISO 7816-4 的卡都需要支持这部分标准中定义的 APDU 命令?
【问题讨论】: