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

Ebr*_*Him 7 smartcard javacard globalplatform

您可能知道,Gloabal Platform Card Specification定义了一个名为Get Data的命令,用于从智能卡中检索一些信息.

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

D:\3-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
Run Code Online (Sandbox Code Playgroud)

如上所示,该工具已提取Card Info,Card DataKey Info使用以下APDU命令从卡中提取:

  • 卡信息: 80 CA 9F 7F
  • 卡数据: 80 CA 00 66
  • 关键信息: 80 CA 00 E0

问题:

  1. 标签E0全球平台卡规范66中提到,但标签没有!规格在哪里?9F 7F

  2. 正如全球平台规范中所提到的,Card Data(标签66)的格式在ISO/IEC 7816第6部分中定义.但在本文档中只有一个表格如下:

在此输入图像描述

如您所见,此表的内容与我在GPP工具输出中看到的输出完全不同.我如何解释输出(Get Data APDU命令响应)?

vlp*_*vlp 5

(在全球平台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中未定义的数据对象的串联”(请参见表6)。

    • Global Platform将标签“ 66”(卡数据)中标签“ 73”的内容定义为“卡识别数据”(请参见7.4.1.3节,附录H.2和表H-1)。此定义符合ISO 7816。

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

    • 在“ Visa集成电路卡/卡规范”中定义,该视图不是公开的(但可以使用google找到)。Open Platform 2.0.1(GP的前身)定义了应使用GET DATA命令可检索CPLC -但它不会告诉特定标签。

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