智能卡基本安全问题

时间:2017-09-11 08:47:10

标签: security

我有一些与智能卡有关的基本含糊之处,所以我希望有人可以回答这些问题:

在个性化阶段,智能卡是否有任何用于登记或身份验证的密钥(不是说PIN)? 如果有的话,它只是一个用于所有目的的密钥(身份验证,登记)还是有更多的密钥(假设单个应用卡)? 为了实现身份验证(在卡和终端之间),终端如何学习卡的登记密钥(我知道,对于要进行的身份验证,双方应该具有相同的密钥)。 我是ISO7816的第3和第4部分,但没有找到有关此事的详细信息。

由于

1 个答案:

答案 0 :(得分:0)

免责声明:由于我没有接受适当的培训课程,我的工作经历故事,我的措辞似乎很奇怪

让我们说java卡是一台具有一点处理能力和内存的小型计算机 它确实安装了os(例如java card vm)

你需要有正确的密钥来安装应用程序(applet)(应该与卡制造商的sdk一起提供)

它可能安装了一些可用的applet,大多数例如内存存储(你可以放数据,获取数据) 如果像applet那样存储安全数据,你可能需要自己编写一个。 并且该认证在应用层上,当然在ISO7816-4中没有提及。

  

智能卡是否有任何密钥......

它在操作系统级别,您需要一个篡改applet内部(intstall / delete),比应用程序级别更多,并且可能与applet供应商有很大不同

  

......终端如何学习卡片铭文密钥......

要么手持对称密钥(在终端代码和applet代码中) 然后,一旦双方第一次接触,请生成新密钥并替换它等等等等等。

或者您可以在安装applet时将不同的生成密钥与applet文件一起放入(至少金雅拓可以) 然后使用pinpad或其他方法在终端上输入该键