提问者:小点点

手动生成交流密码


我正在尝试手动生成AC,我有一个生成AC的工具,但我想自己生成它,以了解相同的算法。

我的计算对Discover卡没问题,但对MasterCard无效。根据我的理解,用于生成AC的数据取决于我们用Gen AC命令AIP ATC提供给卡的标签8C - CDOL1。

AIP和ATC-由ICC内部访问。

用于生成 AC 的数据是:-

data part of Gen AC command + value of tag 82 + value of tag 9f36 + 80 + optional 00 to make it multiple of 8.

这是我的逻辑,可能是我使用了错误的数据来计算交流电,这就是为什么从我的测试工具中获得不同的结果。

终端提供的数据< br >金额,授权- 000000000201
金额,其他- 000000000000
终端国家代码- 0826 -英国< br >终端验证结果00 00 00 00 < br >交易货币代码- 0826 -英镑< br >交易日期- 15 04 28
交易类型- 00 -商品和服务< br >不可预测的数字- 30 90 1B 6A
终端由商家操作< br >数据认证码- 00 00
ICC动态编号- 1E AB C1 26 F8 54 99 76
CVM结果- 00 00 00

Gen AC使用CDOL1 80 AE 40 00 2B 000000000 2010000000000000826000000000008261504280030901B6A2300001EABC126F85499760000此命令返回9F26。用于计算的数据为:-

000000000201000000000000826000000000008261504280030901B6A2300001EABC126F85499760000003800000180 [数据是8的倍数]

其中3800是AIP 0001是ATC,80是填充[填充方法2 EMV]这是我的逻辑,是否有人告诉我,我应该更专注于生成与工具生成相同的AC。


共1个答案

匿名用户

万事达卡应用密码(AC)生成比其他卡方案更复杂。

>

  • 卡可以使用不同的ICC会话密钥派生(SKD)方法:

      < li >万事达卡专有SKD,其中涉及应用交易计数器(ATC)和不可预测数字(UN); < li>EMV2000方法,仅涉及ATC -参见EMV 4.0,第2册; < li>EMV公共会话密钥(CSK)方法,仅涉及ATC -参见EMV第2册第4.2节;

    数据对象(DO)可以具有不同的附加或修改值集:

    • 卡验证结果(CVR)可以是6或4个字节。
    • 可以包括来自发行人应用程序数据(IAD)的离线计数器。
    • 可以包括最后在线ATC值。

    使用的方法和数据变体可以通过密码版本号 (CVN) 和应用程序控制位来检测。CVN是IAD标签0x9F10的子字段。

    详细信息为万事达卡会员的专有信息。

    要深入了解它,请查看“M/Chip卡应用加密算法”和M/Chip卡应用参考资料。