我有一些与智能卡有关的基本含糊之处,所以我希望有人可以回答这些问题:
在个性化阶段,智能卡是否有任何用于登记或身份验证的密钥(不是说PIN)? 如果有的话,它只是一个用于所有目的的密钥(身份验证,登记)还是有更多的密钥(假设单个应用卡)? 为了实现身份验证(在卡和终端之间),终端如何学习卡的登记密钥(我知道,对于要进行的身份验证,双方应该具有相同的密钥)。 我是ISO7816的第3和第4部分,但没有找到有关此事的详细信息。
由于
答案 0 :(得分:0)
免责声明:由于我没有接受适当的培训课程,我的工作经历故事,我的措辞似乎很奇怪
让我们说java卡是一台具有一点处理能力和内存的小型计算机 它确实安装了os(例如java card vm)
你需要有正确的密钥来安装应用程序(applet)(应该与卡制造商的sdk一起提供)
它可能安装了一些可用的applet,大多数例如内存存储(你可以放数据,获取数据) 如果像applet那样存储安全数据,你可能需要自己编写一个。 并且该认证在应用层上,当然在ISO7816-4中没有提及。
智能卡是否有任何密钥......
它在操作系统级别,您需要一个篡改applet内部(intstall / delete),比应用程序级别更多,并且可能与applet供应商有很大不同
......终端如何学习卡片铭文密钥......
要么手持对称密钥(在终端代码和applet代码中) 然后,一旦双方第一次接触,请生成新密钥并替换它等等等等等。
或者您可以在安装applet时将不同的生成密钥与applet文件一起放入(至少金雅拓可以) 然后使用pinpad或其他方法在终端上输入该键