全球平台卡规范中 DAP 验证/强制 DAP 验证的用例是什么?

问题描述 投票:0回答:2

我看到 Global Platform 中的安全域可以进行 DAP 验证或(强制 DAP 验证)。 我想知道为什么我们要有这样的特权?

通常每个 APDU 的 MAC 可以验证加载块的完整性。那么DAP验证有什么用呢?

据我所知,每个 SD 都有 3 个密钥与应用程序提供商共享:ENC、MAC、KEK。

那么,为什么我们为具有 DAP 验证权限的安全域多了一个 DAP 密钥?这个密钥是否也由发卡机构与应用程序提供商共享,或者 DAP 的场景不同?

smartcard javacard apdu globalplatform
2个回答
2
投票

MAC 只是验证下载过程中的数据没有被篡改。安全域的所有者,即应用程序提供者,可以使用 MAC 和 ENC 密钥加载任何内容。

现在应用程序提供者可以要求他们希望确保应用程序二进制文件在加载之前没有以某种方式被操纵。想想一个支付应用程序或签名应用程序,它们可能是故意或被攻击者操纵的,例如像管理员这样的内部攻击者。作为应用程序提供商,您希望确保他们不是这种情况。

应用程序提供商在验证过程后签署应用程序,以防止之后的任何操纵,例如使用私钥(也可以使用对称密钥)。具有 DAP 验证权限的应用程序提供商安全域正在使用公钥副本来检查 DAP 签名并在必要时拒绝加载过程。

强制 DAP 特权类似,但现在作为安全域安装的实体正在对要在任何安全域中加载的所有应用程序执行 DAP 检查,即对于来自该实体的所有应用程序 DAP 数据都是必需的。一个特殊安全域的 DAP 权限只检查它自己的安全域的内容。

密钥不与发卡机构共享。如果发卡行进行安装,则应轮换。在用于 DAP 验证的公钥的情况下,这显然是不需要的。


0
投票

@VSB 并不是因为您拥有 SCP 密钥,您有权加载和安装应用程序。使用 DAP 密钥,您可以确定有权加载和安装的人只在您可以接受的安全域中加载应用程序,因为您之前已经使用 DAP 密钥签署了应用程序

© www.soinside.com 2019 - 2024. All rights reserved.