1

我无法理解 GlobalPlatform Card 规范的高级安全架构,特别是发卡机构和发卡机构安全域的功能。

发卡机构能否真正访问已安装应用程序的私人数据,或者这是不可能的事情?

换句话说,拥有发卡机构密钥是否相当于在卡上拥有完整的系统权限,还是仅限于安装新的和删除已安装的应用程序、创建安全通道、禁用卡等?

4

1 回答 1

2

(这是一个相当复杂的问题,下面的“答案”只是我在 java 卡上下文中的个人意见——没有 MULTOS)

ISD 密钥(发卡机构密钥)保护对 ISD 服务的访问。没有允许读取已安装小程序(应用程序)的任何私有数据的服务,因此简单的答案是“否”。

不幸的是,安装任何小程序的能力为进一步的攻击打开了大门(例如在非特权用户帐户下执行代码会增加任何“标准”计算系统的攻击面)。

已经发布了几次使用恶意小程序的攻击,并且可能还会有更多攻击,因此负责任的答案是“涉及一些风险”。

一些额外的随机注释:

  • ISD 密钥允许访问全局 PIN

  • (AFAIK)任何小程序都可以随意访问其他小程序的静态方法/字段。应用程序防火墙不保护它们

  • Shareable在最简单的情况下,ISD 密钥允许在 APDU 和级别上模拟其他小程序(当没有小程序身份验证时)

  • [假设 SCP(01/02/03)]:如果攻击者拥有 ISD 密钥并且能够获得受此密钥保护的任何通信的 APDU 日志(即使使用机密安全消息传递模式),那么他就能够解密这种通信(例如,拥有卡个性化 APDU 日志 + 安全密钥 = 拥有在个性化期间发送到卡的所有秘密)。可能会使用一些非常不切实际的预防措施(例如,在卡上生成的 RSA 公钥下加载秘密)

于 2015-12-09T23:53:54.067 回答