繁体   English   中英

javacard编程和小程序安装

[英]javacard programming and applet installation

我是javacard编程的新手。在我的javacard应用程序中使用owner pin时,我提到“ javacard framework程序包中的PIN接口不对PIN值比较数据的存储位置做任何假设”。 我想知道以下内容,

  1. 我可以获取所有者密码的确切存储位置吗? 如果我能怎么做? 如何导出我更新的所有者密码?
  2. 我有一个javacard应用程序小程序。 现在我该如何加载并安装到我的javacard中。我知道有可用的工具,并且智能卡本身附带了。 但是我想不使用工具而是仅通过apdu命令进行安装。 有什么程序可以做到这一点? 如果是这样,该怎么做?

关于小程序的安装对于您我有个好消息和坏消息:

Global Platform对安装命令的一般过程进行了标准化,但是仅指您发送给Cardmanager-Applet的那些命令。 但是AFAIK没有Cardmanager-AID的独立于供应商的标准。 此外,您必须先向Cardmanager小程序进行身份验证,然后才能使用它。 在开发人员卡上,这通常是一个简单的密钥,例如404142434445464748494a4b4c4d4e4f (十六进制),例如JCOP卡将其用作第一个DES密钥。

此外,持卡人可以更改此身份验证密钥。 因此,在非开发人员卡上,您无权访问Cardmanager。

  1. 抱歉,您可能由于安全原因而无法检索OwnerPIN。 如果要这样做,则必须自己实现PIN接口,但是在实现方面有大约8个关于侧通道攻击等的陷阱。 如果您无法想到大约​​8次攻击,请不要去那里。 通常,检索PIN作为数据不是您所需要的。

  2. 当然,有一个过程可以做到这一点:创建自己的GlobalPlatform API-但是您可能想看看开源示例,例如gjp

作为一种极端的黑客手段,您可以将PIN存储为密钥对象的值(通常受到良好保护)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM