GlobalPlatform卡片规范笔记

GlobalPlatform卡片规范(中文版)

GlobalPlatform卡片规范(英文版)

介绍

GlobalPlatform组织提出了一个跨行业的只能卡全局基础架构以及其实现。目标是为了减少隐藏在快速增长的跨行业、多应用的智能卡背后的障碍,使的发卡商在各种各样的卡片、终端和后台系统前,继续享有选择的自由。GP卡片规范使得发卡方能够创建运行单个应用或者多应用的IC卡系统来满足其不断演进的商业需求。发卡方既可以选择适和当前情况的卡片技术,也可以在将来需要的时候,迁移到另一种卡片技术,而不用对其基础构架做出重大的修改。




系统架构



GlobalPlatform架构赋予了发卡方强有力的手段以最大的灵活性去跟他们的业务合作伙伴共享对卡片的控制。虽然卡片的最终控制权是由发卡方掌握的,但通过GlobalPlatform,这些业务合作伙伴能够以某种恰当的方式来管理自己运行在卡片上的应用。


卡片体系结构

GlobalPlatform卡片家狗由一系列的组件构成,为卡上的应用和卡外管理系统之间提供了一套独立于硬件和厂商的接口。下面的图例展现了卡片架构的各个组件,该卡片上运行着若干来自发卡方的应用,若干来自应用提供方的应用,以及若干提供全局服务(如CVM服务)给其他应用的应用。




所有的这些应用必须在一个安全的运行时环境中实现,GlobalPlatform并不强制规定运行时环境的实现技术。卡片管理器作为GlobalPlatform架构中的首要组件起到了GlobalPlatform卡片中心管理者的作用,特定的密钥和安全管理应用被称作安全域,负责确保发卡方和其他安全域提供者之间的密钥的完全隔离。


1、安全域

安全域负责提供各类安全服务,包括密钥管理、加密解密、针对其提供者(发卡方、应用提供方、授权管理者)的应用进行数字签名的生成与验证。当发卡方、应用提供方、授权管理者等卡外实体要讲用到的秘钥从其他是提取隔开来时,可以通过新的安全域来代理它们的实现这个需求。

作为卡外授权机构的卡片内代表的安全域,依据现有的三种授权机构,可以划分为三种主流类型:

主安全域:卡片上首要的、强制性存在的安全域,是卡片管理者(通常是发卡方)在卡片内的代表;

辅助安全域:卡片上次要的、可选择地存在的安全域,是应用提供方或发卡方以及它们的代理方在卡片内的代表;

授权管理者安全域:一种特殊类型的辅助安全域,授权管理者负责将某种安全策略贯彻到所有加载到卡片的应用代码上,授权管理者安全域就是授权管理者在卡片内的代表,卡片上可能存在多个这样的安全域。


2、全局服务应用

卡片上存在一个或者多个全局应用服务,主要负责向其他应用提供诸如持卡方验证之类的服务。

3、运行时环境

该运行环境提供了一套硬件中立的应用编程接口以支持应用的可移植性,能确保各个应用的代码和数据能相互区隔的、安全的存储和执行空间分配机制,并提供服务来完成卡片和卡外实体之间的通信

4、可信任框架

GlobalPlatform卡包含一个或多个负责提供应用间通信服务的可信任框架。可信任框架既不是应用也不是安全域,但作为运行时环境的组成部分或扩展部分,却具有特殊的地位,对它的安全评估要求应该与对运行时环境的安全评估要求类似。

5、GlobalPlatform环境(OPEN)(关于逻辑通道以后再说,主要是我还没懂)

主要功能:向应用提供API(持卡方验证服务、个人化服务、安全服务等。此外还提供了卡片内容管理服务,如卡片锁定或应用生命周期状态更新服务)、命令分发、应用选择、逻辑通道管理以及卡片内容管理。当运行时环境没能实现或者没能以符合本规范的方式实现这些功能是,OPEN必须实现。

OPEN负责应用代码的加载和相关卡片内容管理和内存管理,并负责将加载的应用安装到卡片上。在此期间,还负责根据卡片内容管理的要求,执行预先定义好的安全准则。

OPEN的另一个重要功能包是APDU命令的转发和应用选择。当OPEN成功处理了SELECT 命令后,命令中指定的应用会被标识为已选择应用,接下来的APDU命令必须都转发给这个已选择应用。

OPEN拥有一个内部的全局平台注册表,并利用它作为信息资源来进行卡片内容管理。全局平台注册表包含了管理卡片、可执行加载文件、应用、安全域关联以及权限所需要的信息。


当底层运行时环境不支持这个功能时,OPEN支持一下功能:

命令分发:应用和安全域的选择(判断应用和安全域是否存在,以便SELECT命令做出响应)、逻辑通道的管理(可选)、命令分发

卡片内容管理:内容验证、内容加载、内容安装、内容删除、卡片内容管理的访问控制规则。

安全管理:安全域的锁定和解锁、应用的锁定和解锁、卡片的锁定和解锁、卡片的终结、权限的使用、安全域权限的使用、跟踪和时间日志。


6、卡片内容

可执行加载文件在内存中存在的形式:

只读内存,驻留在这里的内容是在卡片制造阶段加载的,除了禁止化操作外,不能对其做任何修改;

可变内存,驻留在这里的内容是在发卡前后发卡后阶段加载或删除的。

每个可执行加载文件含有一个或多个可执行模块(应用代码)。安装应用时,会在可变内存中生成一个实例,包含可执行模块甚至可能还有应用数据。所有的应用实例及其相关数据都可以删除。一张GlobalPlatform卡设计为可以支持多个可执行加载文件、多个可执行模块乃至多个应用共处一卡。需要注意的是,前面的描述基于可执行模块存在可执行加载文件之中的假设,但这个假设是可选的,且依赖于运行时环境的要求。




安全体系结构


未完待续...








  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值