0

我已阅读 ISO7816、3GPP 和 EMV 数据表,但我不明白如何识别通信是 GSM 还是 EMV 或其他任何东西。

问题是命令是不同的beetwin每个协议,但有时具有相同的INS(GSM FETCH:INS = 12和基本的ISO7816 PERFORM TRANSACTION OPERATION:INS = 12)。

我需要知道以前的命令,如 SELECT 或 READ BINARY,如果通信是在 GSM 或 EMV 或其他东西中建立的。

是否可以 ?CLA与此有关吗?

ETSI 102 221 说 FETCH:CLA = 80;INS = 12 ; ISO7816-7 说 FETCH : INS = 10 ; P2 = 8A;

我真的很困惑,我真的不明白。

谢谢您的帮助。

蒂姆

4

2 回答 2

3

您可以将 CLA 字节的第一个(高位)位视为 INS 字节的一部分。原因是这是专有位,这意味着 APDU 的其余部分只兼容 ISO 7816 的格式,而不是由它定义的。

显然,尝试找到其他方法比对 APDU 通信进行指纹识别更好,尽管我必须承认我在您指出的 ETSI 标准中找不到太多关于协议识别的内容。有许多不同的智能卡协议,而 ISO 7816-4 只是一个(设计非常糟糕的)总括协议。

如果幸运的话,您将在 ISO 7816-15 中获得更多信息,但大多数时候只有 ID 卡符合该特定部分。

于 2012-11-06T22:40:36.527 回答
0

@owlstead - PKCS#15(或 7816-15)并不能真正帮助破译传入的 APDU-s,实际上它不描述 APDU-s,而是描述数据对象关系。

但从实际的角度来看 - 您很可能会为 EMV 和 GSM 提供两种不同的应用程序(因此是入口点)。

基本命令是相同的,但它们的含义各不相同(想想 HTTP 之上的 REST 应用程序......)

于 2012-11-20T17:07:31.057 回答