2

尝试使用以下命令列出智能卡的内容时

gp -l

得到以下异常:

pro.javacard.gp.GPException: STRICT WARNING: Unfused JCOP detected
at pro.javacard.gp.GlobalPlatform.printStrictWarning(GlobalPlatform.java:184)
at pro.javacard.gp.GlobalPlatform.select(GlobalPlatform.java:213)
at pro.javacard.gp.GPTool.main(GPTool.java:334)

搜索时,我知道那张卡不是预先个性化的。我的问题是什么是智能卡预个性化?谁来做这种预预音化?是供应商吗?

4

4 回答 4

5

JCOP 卡的预个性化包括向名为Root Applet的小程序发送一组命令。

制造商安装了这个特殊的小程序来为卡提供商提供一些特殊的访问权限(Bodewes 先生在他的回答中提到了这些访问权限)。

根 Applet AID 命名为传输密钥,并安全地传输给卡的提供商或任何从 NXP 请求未融合卡的人。(此 AID 特定于每张卡或提供商要求的一组卡)

该小程序支持的命令包括一些用于 EEPROM 限制区域的 READ 和 WRITE 命令。

预个性化的最后一步和强制步骤是将名为FUSE命令的命令发送到 ROOT Applet。此命令使 Root Applet 永远禁用。

在预个性化之前,卡上没有可供选择的安全域,并且 Root Applet 是卡上唯一的活动实体,但是在预个性化之后,您可以访问安全域并且不再访问 Root Applet。

我认为这些信息是机密的,所以不要发布它们!:)

于 2016-02-12T16:43:35.207 回答
3

Java Card 的预个性化主要包括在操作系统中设置参数。您应该考虑诸如 ATR 之类的事情,还应该考虑全局平台密钥集、内存配置等。在“融合”卡后,这些设置将无法再更改。

预个性化不是标准化的。这意味着您必须联系卡制造商了解详细信息。在这种情况下,这意味着恩智浦半导体。

融合意味着预个性化阶段已完成,无法再更改设置。它指向熔断电阻以禁用特定的芯片功能。在当前的芯片/操作设计中,它很可能是一个后勤过程。

在现场使用时,芯片通常应该被熔断。通常,预个性化在演示卡制造商或卡或嵌体制造商的安全场所进行。

通常,您应该对卡进行身份验证以执行预个性化。因此,拥有一张未融合的卡可能不会赋予您特殊的权力。


请注意,如果您看这个词,预个性化可能涉及个性化之前的任何内容。所以这可能包括例如小程序加载。从这个意义上说,最好考虑使用 fuse 命令来结束初始化阶段。由于对此没有权威,您会听到芯片制造过程中不同阶段的不同名称。

于 2016-02-12T13:48:42.523 回答
0

大多数智能卡应用程序要求在卡个性化并提供给特定持卡人之前,在每个芯片上安装某些程序和/或数据文件。卡上软件或文件的一般准备是通过称为预个性化的操作完成的。

所以它是由供应商或持卡人完成的。

于 2016-02-12T06:24:09.353 回答
0

预个性化就像是针对特定需求对智能卡进行的配置。预个性化可以有以下步骤: 1) 更改 ATR 的历史字节。2) 安全域和/或应用程序的安装。3) 全球平台安全通道密钥的存储。4) 安全域的个性化。... ETC...

为什么我们需要个性化?

我们制作了一个通用的智能卡操作系统,以便可以根据需要对其进行配置。像 Visa、Master Card 等的配置...

因此,在芯片上加载智能卡操作系统后,我们需要根据所需功能对卡进行个性化设置。

谁来做这种预预音化?

这取决于卡制造商或供应商可以根据要求进行配置。

于 2016-02-12T16:08:46.747 回答