我们可以限制安全通道协议 (SCP) 02 通信中的“安全级别”吗?
Posted
技术标签:
【中文标题】我们可以限制安全通道协议 (SCP) 02 通信中的“安全级别”吗?【英文标题】:Can we limit 'Security Level' in Secure Channel Protocol (SCP) 02 communication? 【发布时间】:2019-03-27 07:08:24 【问题描述】:我有一种情况,我想在卡上加载和安装一个小程序。 SCP_02 将用于通过 ISD 或 CM 执行身份验证。但我希望 SCP_02 身份验证仅在最大安全性的情况下执行,即 C-MAC 和加密。 ISD(或任何额外的 SSD,如果需要)不应允许任何其他安全级别。
有可能实现吗?
external-authenticate (Ex-Auth) 命令的预期结果:
普通的前身份验证:8482000010f7d23150e635fd93d4e5ef76368f3d68
预期回复:6986
C-MAC Ex-Auth:8482010010f7d23150e635fd93d4e5ef76368f3d68
预期回复:6986
Enc + C-MAC Ex-Auth:8482030010f7d23150e635fd93d4e5ef76368f3d68
预期响应:9000
(认证成功)
【问题讨论】:
请注意,您应该使用数据加密密钥 (DEK)(或者是 KEK 的密钥加密密钥 - 我忘了)来额外保护通过通道发送的敏感信息。 @MaartenBodewes 我不明白你的意思。你能提供更多细节吗?如果我使用额外的加密,ISD 怎么知道? 他指的是用于 PUTKEY 命令的 DEK。如果您将新的敏感材料传输到卡上,您可以使用另一个密钥进行加密,而不是消息加密密钥。只需查看 PUTKEY 的工作原理并确定此概念对您是否重要 @maaren 感谢您的帮助,但不是我现在期待的解毒剂。 【参考方案1】:全球平台规范中没有符合您需求的机制。 我看到的两种可能性是:
使用卡专有设置和约定 当我看到您与小程序个性化相关的其他问题时,您可以在小程序中执行以下操作:-
选择要个性化的小程序
直接对小程序执行init-update和ext-auth,并使用
SecureChannel.processSecurity()
将身份验证过程重定向到安全域
用SecureChannel.getSecurityLevel()
检查安全级别
【讨论】:
感谢您的回答。您能否提供有关第一个建议的更多信息?如何在卡上注入专有设置?仅供参考>我正在使用第三方卡加载小程序。 第一个答案意味着:阅读你的卡供应商的手册,看看他是否提供了额外的设置以上是关于我们可以限制安全通道协议 (SCP) 02 通信中的“安全级别”吗?的主要内容,如果未能解决你的问题,请参考以下文章