2

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

我已经读过我应该更改默认键集。我尝试了 GPShell,但我无法更改密钥!

我尝试了 jcManager,但它无法识别我的读者(acs 和 REINESCT)!

我怎样才能完成我的卡以交付用户。谁能告诉我确保我的卡安全的最终步骤?

谢谢

4

2 回答 2

6

更改身份验证密钥:

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

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

gp -lock <PutTheNewKeyHere>

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

gp -key <TheAboveNewKey> -unlock

此处描述的更多命令。

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

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

例子:

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

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

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

P1 = 80: 对于 ISD

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

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

GP -install <PathToYourCapFile> -default

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


您还可以更改卡的 ATR,以使其难以通过 ATR 识别您的卡类型。要更改 ATR,您可以使用Global Platform APISetATRHistBytes()中的方法。

于 2016-01-20T04:32:55.057 回答
3

无法更改颁发者安全域密钥。除此之外,全球平台规范中描述了多种安全准则来保护您的卡。意味着一些:

  • 加载 FileData 块哈希/签名(确保您在卡上加载了您实际想要的内容)
  • 将卡的生命周期更改为安全
  • 更改小程序的生命周期或以任何其他方式完成您的个性化过程
  • 更改卡管理器密钥或您的 ISD 或其他 SD
  • 禁用 GP Load/Delete 命令(专有)
  • 禁用卡管理器(专有)的选择

更改 Card Manager 密钥是最重要和最标准的一项。可以使用多样化。尝试其他工具,例如GP Pro,或再次检查您的所有操作。

于 2016-01-19T15:34:38.873 回答