获取数据 APDU 命令不同的标签和响应格式

Get Data APDU command different tags and response format

如您所知,Gloabal Platform Card Specification 定义了一个名为 Get Data 的命令来从智能卡中检索一些信息。

GlobalPlatformPro 是与智能卡通信的流行工具之一。当我使用此工具列出 卡上已安装的小程序时,我得到以下输出:

D:-TestTools\SmartCard>GP -list -d -v -i
//Useless Info Censored
ATR: 3B6800000073C84012009000
//Select APDU Command
A>> T=0 (4+0000) 00A40400 00
A<< (0018+2) (48ms) 6F108408A000000003000000A5049F6501FF 9000

***** Card info:
A>> T=0 (4+0000) 80CA9F7F 00
A<< (0045+2) (65ms) 9F7F2A4250010C425102902610116000099A5A0AF9425211694253117E00000000000000000000000000000000 9000
Card CPLC:
ICFabricator: 4250
ICType: 010C
OperatingSystemID: 4251
OperatingSystemReleaseDate: 0290
OperatingSystemReleaseLevel: 2610
ICFabricationDate: 1160
ICSerialNumber: 00099A5A
ICBatchIdentifier: 0AF9
ICModuleFabricator: 4252
ICModulePackagingDate: 1169
ICCManufacturer: 4253
ICEmbeddingDate: 117E
ICPrePersonalizer: 0000
ICPrePersonalizationEquipmentDate: 0000
ICPrePersonalizationEquipmentID: 00000000
ICPersonalizer: 0000
ICPersonalizationDate: 0000
ICPersonalizationEquipmentID: 00000000

***** CARD DATA
A>> T=0 (4+0000) 80CA0066 00
A<< (0078+2) (95ms) 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B040215650B0609
2B8510864864020103660C060A2B060104012A026E0102 9000
GlobalPlatform card
Version: 2.1.1
TAG3: 1.2.840.114283.3
SCP version: SCP_02_15
TAG5: 1.3.656.840.100.2.1.3
TAG6: 1.3.6.1.4.1.42.2.110.1.2

***** KEY INFO
A>> T=0 (4+0000) 80CA00E0 00
A<< (0020+2) (47ms) E012C00401018010C00402018010C00403018010 9000
VER:1 ID:1 TYPE:DES3 LEN:16
VER:1 ID:2 TYPE:DES3 LEN:16
VER:1 ID:3 TYPE:DES3 LEN:16

//Useless Info Censored

正如您在上面看到的,该工具使用以下 APDU 命令从卡中提取了 Card InfoCard DataKey Info

问题:

  1. 标签 E066 全球平台卡规范 中提到,但标签 9F 7F 不吨!规范在哪里?

  2. Global Platform Specification中提到,Card Data(Tag 66)的格式定义在ISO/IEC7816第 6 部分。但是在这个文档中只有一个table如下:

正如你在上面看到的,这个table的内容和我在GPP工具输出中看到的结果真的不一样。我如何解释输出(获取数据 APDU 命令响应)?

(在全球平台 2.2.1 和 ISO/IEC 7816-6:2004 的上下文中)

  • 标签'E0'(关键信息模板):

    • 在全球平台中定义(参见第 11.3.3.1 节和表 11-27 和 11-28)。
  • 标签'66'(名片数据):

    • 在 ISO 7816-6 中定义 -- 它可能包含名为 "Discretionary Data Objects" 的标记“73”,描述为“未在 ISO/IEC 7816"(参见 Table 6)。

    • 全球平台将标签'66'(卡片数据)中的标签'73'的内容定义为"Card Recognition Data"(参见第7.4.1.3节,附录H.2和Table H-1).此定义符合 ISO 7816。

  • 标签'9F7F'(CPLC/卡片生产生命周期数据):

    • 在 "Visa Integrated Circuit Card / Card Specification" 中定义,它不是 public(但可以使用 google 找到)。开放平台 2.0.1(GP 的前身)定义 CPLC 应该可以使用 GET DATA 命令检索——但它没有告诉特定的标签。

希望这是有道理的...祝你好运!