5

通用个性化指南描述了以下个性化过程:

  • 重置
  • 属性
  • 选择 AID 进行个性化设置
  • 启动安全通道
  • 多个存储数据命令

安全通道与安全域一起建立,并且保存 DGI 的存储数据命令被转发到 Applet。Applet 具有来自org.globalplatform包的ApplicationPersonalization接口,并继承processData方法以使用 Store-data 命令。

现在的问题是我是否必须实现init-updateexternal-authenticate命令,因为不再选择安全域并且我的小程序不知道这些 INS?JCRE 是否会自动检测这些 GlobalPlatform APDU 并将它们转发到 SecurityDomain?如果不是,为什么 JCRE 不隐藏/过滤这个?

e:我在 2006 年的全球平台网站上找到了一个名为 CPSDemonstrator 的旧示例: http ://www.globalplatform.org/specificationform.asp?fid=6596 除了不推荐使用的 API 调用,这仍然是标准方法吗?

4

1 回答 1

4

不,您不需要自己实现安全通道功能:您可以为此使用安全域。这通常是一个业务决策:您是自己控制该安全域的密钥,还是由可信赖的合作伙伴控制?

假设你这样做。然后,可以建立到安全域的安全通道(选择安全通道的 AID),它已经实现了所有必要的功能。一旦建立,如果您首先向安全域发送 INSTALL[用于个性化] APDU,您可以将 STORE DATA APDU 发送到您的小程序,在命令参数中指示您的小程序的 AID。一步步:

  1. 选择安全域
  2. 建立到 SD 的安全通道:INITIALIZE_UPDATE、EXTERNAL_AUTHENTICATE
  3. 安装 [用于个性化]。在命令的数据字段中,发送您的小程序的 AID
  4. 存储数据 - 它将被转发到您的小程序

在卡内部,安全域将解密这些 STORE DATA APDU 并将它们转发到您的小程序,调用它的processData方法。

如果您想在应用程序“可选择”之前对其进行个性化,则可以使用 INSTALL[用于个性化]。一旦选择了小程序,您就可以设置一个通向小程序 AID 的安全通道。小程序只需实现SecureChannel接口 ( http://www.win.tue.nl/pinpasjc/docs/apis/gp211/org/globalplatform/SecureChannel.html ) 以将身份验证和加密委托给其关联的安全域。

回答你的问题:你不需要在你的小程序中实现安全命令。

于 2014-12-16T08:14:03.073 回答