我们可以限制安全通道协议 (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 通信中的“安全级别”吗?的主要内容,如果未能解决你的问题,请参考以下文章

国内物联网平台初探 ——阿里云物联网套件

79.scp命令

文件传输协议FTPSFTP和SCP

TLS协议的TLS握手协议

Linux命令之远程拷贝文件scp

用户验证方案