javacard 的最终安全步骤

MJa*_*Jay 2 security javacard globalplatform

我已经编写了我的小程序并安装在我的卡上。我应该怎么做才能防止在我的 java 卡上进一步修改或安装小程序?

我已经读到我应该更改默认密钥集。我试过 GPSShell 但我无法更改密钥!

我试过 jcManager 但它无法识别我的读者(acs 和 REINERSCT)!

我如何完成我的卡以交付用户。任何人都可以告诉我使我的卡安全的最终确定步骤吗?

谢谢

Abr*_*ham 6

更改身份验证密钥:

GPSShellJCManager是不再受支持的非常老的工具。尝试使用较新的工具,例如GlobalPlatformPro [其可执行文件下载链接]

使用 GPPro 更改默认身份验证密钥的命令:

gp -lock <PutTheNewKeyHere>
Run Code Online (Sandbox Code Playgroud)

并反转上述操作(将新键更改为默认值):

gp -key <TheAboveNewKey> -unlock
Run Code Online (Sandbox Code Playgroud)

此处描述更多命令。

更改小程序和安全域的生命周期:

要更改卡的生命周期,您可以使用SET STATUS APDU 命令:

例子:

_OP_READY_初始化80 F0 P1 07 |Lc| AID

初始化安全80 F0 P1 0F |Lc| AID

P1 = 40 : 对于应用程序(包括 SSD)

P1 = 80 : 对于 ISD

使您的小程序成为默认选择的小程序:

要将小程序安装为 DEFAULT SELECTED 小程序,请-default在 GPPro 中使用带有安装命令的选项:

GP -install <PathToYourCapFile> -default

(如果您更改了卡管理器身份验证密钥,您也需要-key命令中的选项)。


您还可以更改卡的 ATR,使其难以通过 ATR 识别您的卡类型。要更改 ATR,您可以使用全局平台API 中的SetATRHistBytes()方法。