GlobalPlatform卡片规范
版本2.2
2006年5月
目录
71 介绍
71.1 受众
71.2 标准参考规范
91.3 术语及定义
121.4 缩写和符号
152 系统架构
163 卡片架构
163.1 安全域
173.2 全局服务应用
173.3 运行时环境
173.4 可信任框架
173.5 GlobalPlatform环境(OPEN)
173.6 GlobalPlatform API
173.7 卡片内容
183.8 卡片管理器
194 安全架构
194.1 目标
194.2 安全职责和要求
194.2.1 发卡方的职责
194.2.2 应用提供方的职责
204.2.3 授权管理者的职责
204.2.4 卡片组件的安全性要求
204.2.4.1 运行时环境的安全性要求
204.2.4.2 可信任框架的安全性要求
204.2.4.3 OPEN的安全性要求
204.2.4.4 安全域的的安全性要求
214.2.4.5 全局服务应用的安全性要求
214.2.4.6 应用的安全性要求
214.2.5 后台系统的安全性要求
214.3 加密支持
214.3.1 安全的卡片内容管理
214.3.1.1 加载文件数据块散列值
224.3.1.2 加载文件数据块签名(DAP)
224.3.1.3 委托管理令牌
224.3.1.4 收条
224.3.2 安全通信
245 生命周期模型
245.1 卡片生命周期
245.1.1 卡片生命周期状态
245.1.1.1 卡片生命周期状态 OP_READY
255.1.1.2 卡片生命周期状态 INITIALIZED
255.1.1.3 卡片生命周期状态 SECURED
255.1.1.4 卡片生命周期状态 CARD_LOCKED
255.1.1.5 卡片生命周期状态 TERMINATED
255.1.2 卡片生命周期状态的迁移
265.2 可执行加载文件和可执行模块生命周期
265.2.1 可执行加载文件生命周期
265.2.1.1 Executable Load Life Cycle LOADED
275.2.1.2 可执行加载文件的删除
275.2.2 可执行模块的生命周期
275.3 应用和安全域的生命周期
275.3.1 应用生命周期状态
275.3.1.1 应用生命周期状态 INSTALLED
275.3.1.2 应用生命周期状态 SELECTABLE
285.3.1.3 应用生命周期状态 LOCKED
285.3.1.4 应用的删除
285.3.1.5 应用自定义的生命周期状态
285.3.1.6 应用生命周期状态的迁移
295.3.2 安全域生命周期状态
295.3.2.1 安全域生命周期状态 INSTALLED
305.3.2.2 安全域生命周期状态 SELECTABLE
305.3.2.3 安全域生命周期状态 PERSONALIZED
305.3.2.4 安全域生命周期状态 LOCKED
305.3.2.5 安全域的删除
305.3.2.6 安全域生命周期状态的迁移
315.4 生命周期图解
336 GlobalPlatform环境(OPEN)
336.1 综述
346.2 OPEN服务
346.3 命令分发
346.4 逻辑通道和应用选择
346.4.1 隐式选择的分派
356.4.2 基本逻辑通道
356.4.2.1 基本逻辑通道的应用选择
356.4.2.1.1 基本逻辑通道上应用的隐式选择
356.4.2.1.2 基本逻辑通道上应用的显式选择
366.4.2.2 基本逻辑通道上的逻辑通道管理
376.4.2.3 基本逻辑通道上的应用命令分发
376.4.3 补充逻辑通道
376.4.3.1 补充逻辑通道的应用选择
376.4.3.1.1 补充逻辑通道上应用的隐式选择
376.4.3.1.2 补充逻辑通道上应用的显式选择
386.4.3.2 补充逻辑通道上的逻辑通道管理
386.4.3.3 补充逻辑通道上的应用命令分发
386.5 GlobalPlatform注册表
396.5.1 应用/可执行加载文件/可执行模块等数据元素
396.5.1.1 应用/可执行加载文件/可执行模块的AID
396.5.1.2 应用/可执行加载文件/可执行模块的生命周期
396.5.1.3 内存资源管理参数
396.5.1.4 权限
396.5.1.5 隐式应用选择参数
396.5.1.6 关联安全域的AID
396.5.1.7 应用提供方ID
406.5.1.8 服务参数
406.5.2 卡片级数据
406.6 权限
406.6.1 权限定义
416.6.2 权限分配
426.6.3 权限管理
426.7 GlobalPlatform可信任框架
447 安全域
447.1 概要描述
447.1.1 发卡方安全域
447.2 关联到安全域
457.3 安全域服务
457.3.1 应用对安全域服务的访问
467.3.2 安全域对应用的访问
467.3.3 个人化支持
477.3.4 运行时消息的支持
487.4 安全域数据
487.4.1 发卡方安全域
487.4.1.1 发卡方标识编号
487.4.1.2卡片映像编号
497.4.1.3 卡片标识数据
497.4.2 补充安全域
497.4.2.1 安全域提供方标识编号
497.4.2.2 安全域映像编号
497.4.2.3 安全域管理数据
497.5 安全域密钥
507.5.1 密钥信息
507.5.2 密钥访问条件
517.6 数据和密钥管理
528 全局平台服务
528.1 全局服务应用
528.1.1 注册全局服务
528.1.2 应用对全局服务的访问
538.1.3 全局服务参数
538.2 持卡方验证方法(CVM)应用
538.2.1 应用对CVM服务的访问
548.2.2 CVM管理
548.2.2.1 注册CVM
548.2.2.2 CVM状态
548.2.2.2.1 CVM状态ACTIVE
548.2.2.2.2 CVM状态INVALID_SUBMISSION
548.2.2.2.3 CVM状态VALIDATED
558.2.2.2.4 CVM状态BLOCKED
558.2.2.3 CVM格式
569 卡片和应用的管理
569.1 卡片内容管理
569.1.1 概述
569.1.2 对OPEN的要求
569.1.3 对安全域的要求
569.1.3.1 具备“令牌验证权限”的安全域
569.1.3.2 具备“授权管理权限”的安全域
569.1.3.3 具备“委托管理权限”的安全域
579.1.3.4 具备“全局删除权限”的安全域
579.1.3.5 具备“全局锁定权限”的安全域
579.1.3.6 具备“收条创建权限”的安全域
579.2 卡片内容的授权和管理
579.2.1 数据鉴别(DAP)模式验证
579.2.2 加载文件数据块的散列值
589.2.3 令牌
589.3 卡片内容的加载、安装和可选择化
589.3.1 概述
589.3.2 卡片内容的加载
599.3.3 卡片内容的安装
599.3.4 卡片内容的加载、安装和可选择化联合操作
599.3.5 卡片内容加载过程
619.3.6 卡片内容的安装过程
629.3.7 卡片内容的可选择化过程
639.3.8 卡片内容的加载、安装和可选择化联合操作过程
659.3.9 加载和安装流程的示例
689.4 内容的让渡和注册表的更新
689.4.1 内容的让渡
709.4.2 注册表的更新
709.4.2.1 普通的注册表更新
719.4.2.2 注册表更新中的让渡操作
719.5 内容的删除
729.5.1 应用删除
739.5.2 可执行加载文件的删除
749.5.3 可执行加载文件和相关应用的删除
759.6 安全管理
769.6.1 生命周期管理
769.6.2 应用的锁定和解锁
779.6.3 卡片的锁定和解锁
779.6.4 卡片终结
789.6.5 应用状况的查询
789.6.6 卡片状况的查询
799.6.7 操作的频度检测
799.6.7.1 内容加载和安装
799.6.7.2 异常
799.6.8 跟踪和事件日志
799.7 内存资源管理
8110 安全通信
8110.1 安全通信
8110.2 显式和隐式安全通道
8110.2.1 显式安全通道的开启
8110.2.2 隐式安全通道的开启
8110.2.3 安全通道的终止
8210.3 安全通道
的直接处理和间接处理
8210.4 实体认证
8210.4.1 对称加密算法下的认证
8210.4.2 非对称加密下的认证
8310.5 安全的消息传送
8310.6 安全级别
8310.7 安全通道协议标识符
第一部
介绍
1 介绍
GlobalPlatform是一家由支付和通信业的领先厂商、政府相关部门以及供应商社区共同建立的一个组织,并率先提出了一个跨行业的智能卡全局基础架构及其实现,其目标是为了减少隐藏在快速增长的跨行业、多应用的智能卡背后的障碍,使得发卡商在各种各样的卡片、终端和后台系统前,继续享有选择的自由。
为了充分挖掘智能卡的潜能,消费者需要能够有办法利用智能卡来完成各种功能。比如,利用手机上的智能卡来安全地连接到PC机上,进而通过互联网实现网上购物,或者利用智能卡来高效而便捷地完成其他各类功能等等。
自1990年代中期以来,随着开放的应用开发系统规范的引入,IC卡工业举得了一连串的重要突破。在这些规范中,居于领先地位的包括Java Card™技术MULTOS™技术。这些技术规范为多应用IC卡解决
的形成做出了重要贡献,包括提供通用编程标准,使得符合这些标准的应用能在基于特定实现的不同卡片上进行移植。
2001年NICSS (the Next generation Ic Card System Study group,下一代IC卡系统研究组)针对政府行业市场定义了一套基于PKI(公共密钥体系)的卡片内容管理框架,其中蕴含的一个概念是,通过某种委托机制区分应用提供方和发卡方,使得前者可以从后者“租用”卡片内存空间,由此在每个利益攸关方之间形成了一种全新的商务模式。在此之前,ETSI(欧洲电信标准研究协会)在电信界提出了通过空中通道实施卡片内容管理的规范,从而实现SIM卡以及3G网络的UICC(通用身份识别模块集成电路卡)的安全管理。
从最早Open Platform组织到后来的VISA国际组织直至当下的GlobalPlatform组织,都一直致力于协同IC卡业界,发布之前未能形成但又极其重要的IC卡标准――独立于硬件、厂商和应用程序的卡片管理规范。这套新规范提供了一个通用的安全和卡片管理架构,旨在保护IC卡系统投资最重要的方面――基础构架。
GlobalPlatform组织定义的这套灵活而强大的规范,使得发卡方能够创建运行单个应用或者多应用的IC卡系统来满足其不断演进的商业需求。发卡方既可以选择适和当前情况的卡片技术,也可以在将来需要的时候,迁移到另一种卡片技术,而不用对其基础构架做出重大的修改。
本卡片规范定义了必须在GlobalPlatform的智能卡上实现的规范。在本规范中,“必须”、“应该”、“可以”的涵义定义如下:
必须:包含“必须”字样的描述,意味着该描述必须包含在符合本规范的实现之中,但这并不意味着本规范强制性地要求这么做在;
应该:包含“应该”字样的描述,意味着强烈推荐该描述包含在符合本规范的实现之中;
可以:包含“可以”字样的描述,意味着该描述是否包含在符合本规范的实现之中,可以由实现者决定。
1.1 受众
本规范的预设的首要受众是卡片制造商和在根据GlobalPlatform规范实现的卡片上进行应用程序开发的开发者。尽管本规范定义了卡片组件、命令接口、事务序列以及通行于诸多不同行业的接口,但并没有详细规定底层安全的具体实现,而这些实现在不同行业间可能是各不相同的。
本规范的其他受众的范围非常宽泛,包括所有对该规范描述的卡片的通用安全概念感兴趣的读者,以及与多应用智能卡管理系统相关的各类不同涉众。
1.2 标准参考规范
标准 / 规范
描述
ANSI X9.52
Triple Data Encryption Algorithm Modes of Operation, draft, 1996
CWA 14890-1
CEN Workshop Agreement - Application Interface for smart cards used as Secure Signature Creation Devices - Part 1: Basic requirements, March 2004
ETSI TS 102 221 (Release 6)
Smart cards; UICC - Terminal interface; Physical and logical characteristics, European Telecommunications Standards Institute Project Smart Card Platform (EP SCP), 2004
ETSI TS 102 225 (Release 6)
Smart cards; Secured packet structure for UICC based applications, European Telecommunications Standards Institute Project Smart Card Platform (EP SCP), 2004
ETSI TS 102 226 (Release 6)
Smart cards; Remote APDU structure for UICC based applications, European Telecommunications Standards Institute Project Smart Card Platform (EP SCP), 2004
ETSI TS 102 241 (Release 6)
Smart cards; UICC Application Programming Interface (UICC API) for Java CardTM, European Telecommunications Standards Institute Project Smart Card Platform (EP SCP), 2004
标准 / 规范
描述
FIPS PUB 180-2
Federal Information Processing Standards Publication 180-2, 2002: Specifications for the Secure Hash Standard: U.S. Department Of Commerce, Technology Administration, National Institute Of Standards And Technology
FIPS PUB 197
Federal Information Processing Standards Publication 197, 2001: Specification for the Advanced Encryption Standard (AES): U.S. Department Of Commerce, Technology Administration, National Institute Of Standards And Technology
FIPS PUB 198
Federal Information Processing Standards Publication 198, 2002: Standard for the Keyed-Hash Message Authentication Code (HMAC): U.S. Department Of Commerce, Technology Administration, National Institute Of Standards And Technology
GlobalPlatform KMS
GlobalPlatform Key Management System Functional Requirements, version 1.0
GlobalPlatform MS
GlobalPlatform Messaging Specification, version 1.0
GlobalPlatform SCMS
GlobalPlatform Smart Card Management System Functional Requirements, version 4.0
GlobalPlatform Systems Scripting Specification
GlobalPlatform Systems Scripting Specification, version 1.1
ISO/IEC 7816-3:1997
Identification cards - Integrated circuit(s) cards with contacts - Part 3: Electronic signals and transmission protocols
ISO/IEC 7816-4:2005
Identification cards – Integrated circuit cards - Part 4: Organization, security and commands for interchange
ISO/IEC 7816-6:2004
Identification cards - Integrated circuit(s) cards with contacts- Part 6: Interindustry data elements
ISO/IEC 7816-15:2004
Identification cards - Integrated circuit cards with contacts - Part 15: Cryptographic information application
ISO 8731-1:1987
[IS8731-1] Banking - Approved algorithms for message authentication – Part 1: DEA
ISO/IEC 8825-1:2002 | ITU-T Recommendation X.690 (2002)
Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)
ISO/IEC 9594-8 | ITU-T Recommendation X.509 (2000)
Information Technology - Open Systems Interconnection - The Directory: Public-Key and Attribute Certificate Frameworks
ISO/IEC 9796-2:2002
Information technology - Security techniques - Digital signature schemes giving message recovery - Part 2: Integer factorization based mechanisms
ISO/IEC 9797:1994
[IS9797] Information technology – Security techniques - Data integrity mechanism using a cryptographic check function employing a block cipher algorithm
ISO/IEC 9899:1999
Programming languages - C
ISO/IEC 10116: 1997
[IS10116] Information technology - Modes of operation of an n-bit block cipher algorithm
ISO/IEC 10118-3: 1998
[IS10118-3] Information technology – Security techniques - Hash functions –Part 3: Dedicated hash functions
ISO/IEC 14443-3:2001
Identification cards - Contactless integrated circuit(s) cards -Proximity cards - Part 3: Initialization and anticollision
ISO/IEC 14443-4:2001
Identification cards - Contactless integrated circuit(s) cards -Proximity cards - Part 4: Transmission protocol
ISO/IEC 18033-3:2005
Information Technology - Security techniques - Encryption algorithms - Part 3: Block ciphers
标准 / 规范
描述
Java Card™
Go to the following website for Java Card™ documentation: http://java.sun.com/products/javacard
MAO-DOC-REF-009
MULTOS Guide to Generating Application Load Units, version 2.51
MULTOS™
Go to the following website for MULTOS™ documentation: http://www.multos.com
NICSS Framework (NICSS-F)
NICSS Prerequisites, First Edition, version 1.20, April 24, 2001, The Next generation IC Card System Study group
PKCS#1 (RFC 2437)
PKCS #1 v2.0: RSA Cryptography Standard, RSA Laboratories, October 1998 (RFC 2437).
表1-1: 标准参考规范
1.3 术语及定义
表1-2 定义了本规范中用到的专业词汇。
术语
定义
Application 应用
在卡片上安装后处于可选择状态的可执行模块的实例
Application Management System 应用管理系统
与特定应用相关的卡外系统,用于成功地实现应用提供方对持卡方的服务
Application Protocol Data Unit (APDU) 应用协议数据单元
读卡器和智能卡之间的标准通信消息协议
Application Provider 应用提供方
拥有应用并对应用的具体行为负责的实体
Application Session 应用会话
应用与卡外世界的通过逻辑通道建立的某种联系,开始于该应用被选择,结束于另外的应用经由同一逻辑通道被选择,或者该逻辑通道被关闭,或者卡片会话被中止
Asymmetric Cryptography 非对称加密
一种运用了两种变换的加密技术,即由公开密钥组件定义的公开转换和由私有密钥组件定义的私有转换;该公私钥对具备一种特殊的属性,即不能由公钥推断出私钥
Basic Logical Channel 基本逻辑通道
卡片和卡外实体之间的永久性接口,其编号为0
Card Content 卡片内容
卡片内的代码和应用的信息(但不含应用的数据),由OPEN负责管理,比如可执行加载文件,应用的实例等等
Card Image Number (CIN) 卡片映像编号
GlobalPlatform卡片的某种特定标识
Card Issuer 发卡方
拥有卡片并对卡片的行为负有最终责任的实体
Card Management System 卡片管理系统
负责对不同类型的卡片、各种卡内应用和持卡方的特定配置进行管理的某种卡外系统
Card Manager 卡片管理器
负责对GlobalPlatform卡片进行管理的实体的统称,比如OPEN、发卡方安全域、持卡方验证方法服务提供方等等
Card Recognition Data 卡片识别数据
用于告诉卡外系统,特别是智能卡管理系统(SCMS)如何与卡片协同运行的卡片信息,包括能识别该卡为GlobalPlatform卡的信息
Card Session 卡片会话
卡片与卡外世界的建立的某种联系,开始于卡片复位(接触式卡片)、卡片激活(非接触卡式卡片)或者卡片上电,结束于卡片再次复位(接触式卡片)、卡片释放(非接触卡式卡片)或者卡片下电
术语
定义
Card Unique Data 卡片唯一标识
唯一标识一张卡片的数据,由发卡方编号和卡片映像编号组成
Cardholder 持卡方
卡片最终用户
Cardholder Verification Method (CVM) 持卡方验证方法
用于确保卡片当前持有者即为卡片合法持有者的方法
Certificate 证书
在本规范中,证书专指密钥证书,包括公钥和表明公钥持有者身份的信息,经由证书认证机构(CA)的私钥进行数字签名以证明其真实性
Controlling Authority 授权管理者
授权管理者借助强制性的数据鉴别模式的确认,拥有对卡片内容进行管理控制的权限
Current Security Level 当前安全级别
在根据安全通道协议进行安全消息传送时,应用于当前命令/响应对的安全级别,其作用域及于一个独立的APDU对:当前被卡片处理的命令APDU以及和它对应的响应APDU
DAP Block 数据鉴别块
加载文件中用于对加载文件数据块进行可信性验证的部分
DAP Verification 数据鉴别
安全域对加载文件的可信性进行验证的机制
Delegated Management 委托管理
由认证后的应用提供方来执行的、预先授权的对卡片内容进行改变的行动
Digital Signature 数字签名
一种特殊的加密算法,数据接收者能够借此确认数据的来源和完整性,避免数据被第三方篡改,数据发送者也可以借此确保数据不会被接收者篡改
Executable Load File 可执行加载文件
实际存在于卡片上的包含一个或多个应用的可执行代码(可执行模块)的容器,它既可以驻留在只读内存中,也可以作为加载文件数据块的映像在可变内存中生成。
Executable Module 可执行模块
可执行加载文件中包含一个单独应用的可执行代码
GlobalPlatform Registry 全局平台注册表
一个包含卡片内容管理相关信息的容器
Host 主机
该逻辑术语用来泛指GlobalPlatform系统中支持后台功能的系统。主机执行的功能包括:授权与认证、管理、发卡后的应用代码与数据下载、事务处理等
Immutable Persistent Memory 只读内存
驻留其中的数据只能被读取不能被修改的内存
Issuer Security Domain 发卡方安全域
负责对卡片管理者(通常是发卡方)的管理、安全、通信需求进行支持的卡上首要实体
Life Cycle 生命周期
GlobalPlatform卡上卡片内容的存在以及不同阶段,也可以指卡片本身存在的各个阶段
Life Cycle State 生命周期状态
卡片或卡片内容在生命周期中的某个特定状态
Load File 加载文件
传送加载到GlobalPlatform卡片上的某种文件,包含了加载文件数据块以及一个或者多个数据鉴别块(DAP Block)
术语
定义
Load File Data Block 加载文件数据块
加载文件中,包含一个或多个应用或者库,以及特定平台应用支持信息的部分
Load File Data Block Hash 加载文件数据块散列值
加载文件数据块经由哈希函数计算出的散列值,用于确保加载文件数据块的一致性
Load File Data Block Signature 加载文件数据块签名
内含加载文件数据块散列值的数据值,用于确保加载文件数据块的一致性和可信性
Message Authentication Code (MAC) 消息鉴别码
经由对称加密转换得到的数据码,用于确保原始数据来源的合法性和数据自身的一致性
Mutable Persistent Memory 可变内存
可以对其驻留的内容进行改变的内存
OPEN
拥有全局平台注册表的卡片上的中心管理实体
Post-Issuance 发卡后阶段
卡片生命周期中,卡片发行完成并送达持卡方之后开始的阶段
Pre-Issuance 发卡前阶段
卡片生命周期中,卡片发行之前的阶段
Private Key 私钥
非对称加密密钥对中,非公开的密钥
Public Key 公钥
非对称加密密钥对中,公开的密钥
Receipt 收条
卡片根据发卡方要求出具的一个加密值,用来作为一个委托管理操作已经发生的证据
Retry Counter 可再访问次数
在持卡方验证方法(CVM)中,用于
可以再次进行的持卡方验证次数,连同最大访问次数,可以判断是否允许继续进行这种验证
Retry Limit 最大访问次数
在持卡方验证方法(CVM)中,可以尝试进行的持卡方验证次数的最大值,超过该最大访问次数后,卡片将拒绝继续进行持卡方验证的尝试
Runtime Environment 运行时环境
卡片运行期间的核心功能,为卡上的多个应用提供了一个安全的运行环境,其主要角色是作为GlobalPlatform卡片管理器的一个补充
Secure Channel 安全通道
为卡外实体和卡片之间的信息交换提供某种安全保障的通信机制
Secure Channel Protocol 安全通道协议
安全通信协议和相关安全服务的统称
Secure Channel Session 安全通道会话
应用会话期间建立的另外一种会话,开始于安全通道的初始化,结束于安全通道的终结或者应用会话或卡片会话的终结
Security Domain 安全域
负责对某个卡外实体(例如发卡方、应用提供方、授权管理者)的管理、安全、通信需求进行支持的卡内实体
Session Security Level 会话安全级别
强制性的最低安全级别,用于在进行安全消息交换的安全通道协议中,确保命令的安全,在安全通道会话初始化时以明确或隐含的方式建立
Supplementary Logical Channel 补充逻辑通道
卡片和卡外实体之间除了永久性可得的基本逻辑通道之外的,数量可多达19个的其他接口,每个补充逻辑通道的编号在1和19之间
Supplementary Security Domain 补充安全域
发卡方安全域之外的其他安全域
Symmetric Cryptography 对称加密
在加密和解密时采用同一个秘密密钥的加密技术
Token 令牌
发卡方出具的一个加密值,用来作为一个委托管理操作已经被授权进行的证据
Trust Point 授信节点
一种可信度极高的机构,其公钥无须某种特殊定义的安全过程,仅通过自签名证书的方式,即可被安全域或卡外实体视为可信的,授信节点的公钥对接受者而言普遍被视为拥有最高的可信度
UICC 通用身份识别模块集成电路卡
在欧洲电信标准研究协会发布的智能卡平台计划中定义的一种集成电路卡片
表1-2: 术语和定义
1.4 缩写和符号
缩写
含义
AES
Advanced Encryption Standard 高级加密标准
AID
Application Identifier 应用标识符
APDU
Application Protocol Data Unit 应用协议数据单元
API
Application Programming Interface 应用编程接口
ASCII
American Standard Code for Information Interchange 美国标准信息交换码
ATR
Answer-to-Reset 复位应答
ATQ
Answer-to-Request (for contactless cards) 请求应答(就非接触式卡片而言)
BCD
Binary Coded Decimal 二进制编码的十进制
BER
Basic Encoding Rules 基本编码规则
CAT
Card Application Toolkit; or Cryptographic Authorization Template 卡片应用编程工具 或加密授权模板
CBC
Cipher Block Chaining 加密数据链模式
CCT
Control Reference Template for Cryptographic Checksum 加密校验和控制参考模板
CIN
Card Image Number / Card Identification Number 卡片映像编号 或 卡片识别编号
CLA
Class byte of the command message 命令消息类型标识字节
CRT
Control Reference Template 控制参考模板
CT
Control Reference Template for Confidentiality 控制参考模板 或 机密性
CVM
Cardholder Verification Method 持卡方验证方法
DAP
Data Authentication Pattern 数据鉴别模式
DEK
Data Encryption Key 数据加密密钥
DER
Distinguished Encoding Rules 辨识编码规则
DES
Data Encryption Standard 数据加密标准
DST
Control Reference Template for Digital Signature 数字签名控制参考模板
ECB
Electronic Code Book 电子编码簿模式
EMV
Europay, MasterCard, and Visa; used to refer to the ICC Specifications for Payment Systems 欧陆卡、万事达卡、维萨卡的统称,特指由这三家组织制定的IC卡支付标准
ENC
Encryption 加密
FCI
File Control Information 文件控制信息
HEX
Hexadecimal 十六进制
HMAC
Keyed-Hash Message Authentication Code 带键的消息散列鉴别码
ICC
Integrated Circuit Card 集成电路卡
ICV
Initial Chaining Vector 初始链表向量
IIN
Issuer Identification Number 发卡方标识编号
INS
Instruction byte of the command message 命令消息指令标识字节
ISO
International Organization for Standardization 国际标准化组织
Lc
Exact length of data in a case 3 or case 4 command 情况3或情况4时,命令中的数据字节长度
Le
Maximum length of data expected in response to a case 2 or case 4 command 情况2或情况4时,命令中期望响应中返回的数据的最大字节长度
LV
Length Value 长度值
MAC
Message Authentication Code 消息鉴别码
MEL
MULTOS Executable Language. The instruction set of the MULTOS™ runtime e nvironment MULTOS可执行语言,即MULTOS™运行时环境中的指令集
OID
Object Identifier 对象标识符
P1
Reference control parameter 1 控制参数1
P2
Reference control parameter 2 控制参数2
PIN
Personal Identification Number 个人身份识别码
缩写
含义
PKI
Public Key Infrastructure 公共密钥体系
RAM
Random Access Memory 随机访问内存
RFU
Reserved for Future Use 保留为将来用途
RID
Registered Application Provider Identifier 注册应用提供方标识
ROM
Read-only Memory 只读内存
RSA
Rivest / Shamir / Adleman asymmetric algorithm RSA非对称加密算法
SCP
Secure Channel Protocol; or (ETSI) Smart Card Platform 安全通道协议 或 ETSI智能卡平台
SW
Status
状态字
SW1
Status Word One 状态字1
SW2
Status Word Two 状态字2
TLV
Tag Length Value 标签长度值格式
TP
Trust Point 授信节点
'xx'
Hexadecimal values are expressed as hexadecimal digits between single quotation marks 单引号中的数字位组成的数值代表一个十六进制的数值
'X'
A value in a cell of a table whose purpose is described in the 'meaning' column of the table 某表格中该单元格中的数值的意义,由同一表格中“含义”栏对应的单元格来解释
''
A value (0 or 1) in a cell of a table that does not affect the 'meaning' given for that row of the table
表1-3: 缩写和符号
第二部
架构
2 系统架构
部署巨量的动态多应用技术的IC卡和部署通过网络相互连通起来的巨量工作站比较相似。这些卡片“工作站”支持在任一时刻同时运行多个应用,并提供了允许在任何时候更新或删除这些应用,并安装新应用的可能性。
图片 2-1: GlobalPlatform 架构
GlobalPlatform架构
的初衷是为发卡方提供一个管理智能卡的系统管理架构。尽管GlobalPlatform架构是基于单个发卡方对应一种卡片的范例之上,但它为发卡方提供了极大的灵活性去管理大量不断变化的、期望能够在发卡方的卡片上运行自己应用的业务合作伙伴。
GlobalPlatform架构赋予了发卡方强有力的手段以最大的灵活性去跟他们的业务合作伙伴共享对卡片的控制。虽然卡片的最终控制权是由发卡方掌握的,但透过GlobalPlatform,这些业务合作伙伴能够以某种恰当的方式来管理自己运行在卡片上的应用。
3 卡片架构
GlobalPlatform卡片架构由一系列组件构成,为卡上的应用和卡外管理系统之间提供了一套独立于硬件和厂商的接口。下面的图例展现了卡片架构的各个组件,该卡片上运行着若干来自发卡方的应用,若干来自应用提供方的应用,以及若干提供全局服务(如CVM服务)给其他应用的应用。
图片 3-1: GlobalPlatform卡片架构
所有这些应用必须在一个安全的运行时环境中实现,该运行时环境提供了一套硬件中立的应用编程接口以支持应用的可移植性。GlobalPlatform并不强制规定运行时环境的实现技术。卡片管理器作为GlobalPlatform架构中的首要组件起到了GlobalPlatform卡片中心管理者的作用,特定的密钥和安全管理应用被称作安全域,负责确保发卡方和其他安全域提供者之间的密钥的完全隔离。
3.1 安全域
作为卡外授权机构的卡片内代表的安全域,依据现有的三种授权机构,可以划分为三种主流类型:
发卡方安全域,卡片上首要的、强制性存在的安全域,是卡片管理者(通常是发卡方)在卡片内的代表;
补充安全域,卡片上次要的、可选择地存在的安全域,是应用提供方或发卡方以及它们的代理方在卡片内的代表;
授权管理者安全域,一种特殊类型的补充安全域,授权管理者负责将某种安全策略贯彻到所有加载到卡片的应用代码上,授权管理者安全域就是授权管理者在卡片内的代表,卡片上可能存在多个这样的安全域。
总而言之,以上三种安全域在本规范中,统称安全域。安全域负责提供各类安全服务,包括密钥管理、加密解密、针对其提供者(发卡方、应用提供方、授权管理者)的应用进行数字签名的生成与验证。当发卡方、应用提供方、授权管理者等卡外实体要将用到的密钥从其他实体区隔开来时,就可以通过新的安全域来代理它们实现这个需求。
3.2 全局服务应用
卡片上存在一个或者多个全局应用服务,负责向其他应用提供诸如持卡方验证方法之类的服务。
3.3 运行时环境
GlobalPlatform架构意图运行在一个安全的多应用运行时环境之上。该运行时环境负责向所有应用提供一套硬件中立应用编程接口,一种能确保各个应用的代码和数据能相互区隔的、安全的存储和执行空间分配机制,并提供服务来完成卡片和卡外实体之间的通信。考虑到处理复位应答或请求应答时对通信协议、逻辑通道以及命令序列等方面的支持的差别,GlobalPlatform卡片应该尊循恰当的标准,包括ISO/IEC 7816-3, ISO/IEC 7816-4, ISO/IEC 14443-3 and ISO/IEC 14443-4。
3.4 可信任框架
GlobalPlatform卡包含一个或多个负责提供应用间通信服务的可信任框架。可信任框架既不是应用也不是安全域,但作为运行时环境的组成部分或扩展部分,却具有特殊的地位,对它的安全评估要求应该与对运行时环境的安全评估要求类似。详情请参见附录G:可信任框架的应用间通信。
3.5 GlobalPlatform环境(OPEN)
GlobalPlatform环境又简称OPEN,其主要功能包括:向应用提供API,命令转发,应用选择,逻辑通道管理以及卡片内容管理。当运行时环境没能实现或者没能以符合本规范的方式实现这些功能时,则OPEN必须完成这些实现。
OPEN负责应用代码的加载和相关卡片内容管理和内存管理,并负责将加载的应用安装到卡片上。在此期间,还负责根据卡片内容管理的要求,执行预先定义好的安全准则。
OPEN的另一个重要功能包是APDU命令的转发和应用选择。当OPEN成功处理了SELECT 命令后,命令中指定的应用会被标识为已选择应用,接下来的APDU命令必须都转发给这个已选择应用。
逻辑通道的可用性为卡片架构带来了一个附加的维度,使得多个应用能被同时选择。OPEN必须借助运行时环境来控制是否或者何时一个应用能够被并行选择,或者和其他应用同时被选择。如果支持逻辑通道,OPEN必须能同时支持没有逻辑通道概念的应用和能够被并行选择的应用。对逻辑通道的支持是可选的,卡片可以支持一个或多个(根据ISO/IEC 7816-4的规定可以多达19个)补充逻辑通道。
OPEN拥有一个内部的全局平台注册表,并利用它作为信息资源来进行卡片内容管理。全局平台注册表包含了管理卡片、可执行加载文件、应用、安全域关联以及权限所需要的信息。
3.6 GlobalPlatform API
GlobalPlatform API向应用提供各种服务,比如持卡方验证服务、个人化服务、安全服务等。此外还提供了卡片内容管理服务,如卡片锁定或应用生命周期状态更新服务。针对Java Card™平台的API规范, 参见附录A.1,针对MULTOS™平台的API规范, 参见附录A. 2。
3.7 卡片内容
本规范定义所有的卡片内容,首先事宜可执行加载文件的形式存在的,且具备下面两种方式之一:
只读内存,驻留在这里的内容是在卡片制造阶段