我们可以限制安全通道协议(SCP)02通信中的“安全级别”吗?

时间:2019-03-27 07:08:24

标签: security smartcard javacard globalplatform

我遇到要在卡上加载和安装小程序的情况。 SCP_02将用于通过ISD或CM执行身份验证。但是我希望仅以最大的安全性(即C-MAC和加密)执行SCP_02身份验证。 ISD(或在需要时,任何其他SSD)都不允许其他安全级别。

有可能实现这一目标吗?


使用外部验证(Ex-Auth)命令的预期结果:

普通身份验证:8482000010f7d23150e635fd93d4e5ef76368f3d68
预期的响应:6986

C-MAC Ex-Auth:8482010010f7d23150e635fd93d4e5ef76368f3d68
预期的响应:6986

Enc + C-MAC认证:8482030010f7d23150e635fd93d4e5ef76368f3d68
预期响应:9000(身份验证成功)

1 个答案:

答案 0 :(得分:4)

Global Platform规范中没有符合您需求的机制。 我看到的两个可能性是:

  • 使用卡的专有设置和约定
  • 当我看到您的其他与applet个性化有关的问题时,您可以在applet中执行以下操作:
    1. 选择要个性化的小程序
    2. 直接对小程序执行init-update和ext-auth,并使用SecureChannel.processSecurity()将身份验证过程重定向到安全域
    3. 使用SecureChannel.getSecurityLevel()
    4. 检查安全级别