![](/img/trans.png)
[英]How does “Visa2” key diversification works in Gemalto cards and in GPP tool?
[英]Visa2 Key Diversification and JCOP Tools
我有一堆Java卡,供应商声称SCP为01,密钥多样化算法为Visa2。 在过去两天的大部分时间里,我一直在尝试使用JCOP工具向他们进行身份验证,但无济于事。
据我了解,选择AID后, init-update
命令的响应为KEYDATA,该数据应用于使用KMC生成ENC,DEC和MAC密钥。 但是有趣的是,尽管我响应init-update
得到了SW12 = 0x9000
和28字节的数据,但SW12 = 0x9000
工具说:
jcshell:错误代码:-5(认证失败)
jcshell:错误的APDU响应
我的问题是,JCOP工具是否内置了对Visa2密钥多样化算法的支持? 如果不是,使用Visa2算法生成ENC,DEC和MAC密钥的正确事件顺序是什么?
JCOP工具返回错误,因为在检查了init-update
响应之后,卡返回的卡密码未通过检查-卡用于生成此密码的密钥不是JCOP工具所期望的。
我不知道JCOP Tools是否支持Visa2多样化,但是您可以使用以下解决方法:
GPShell( http://sourceforge.net/p/globalplatform/wiki/GPShell/ )实现了Visa2算法。 它是开源的,因此您可以在其源代码中看到整个算法序列,也可以使用它来验证自己的结果。 或者只是使用它来处理您的卡片...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.