GP规范中文版

本文档是GP规范2.1.1的中文翻译,旨在为智能卡领域的爱好者提供学习交流资料。GP组织推动了跨行业智能卡规范,减少应用障碍,促进智能卡的多功能使用。GP规范描述了卡片管理、安全框架和多应用系统的细节,适用于卡制造商和应用开发者。主要修订包括DAP核实方案加强、安全域中数据接收、关联与引渡、可执行模块等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

声明:本规范是用来学习GP规范的爱好者交流用,并无意侵犯GP规范版权。如有转载,未经本人同意,法律后果自负!

此规范是GP V2.1.1,本人翻译过来的。

第一部分 简介

1. 简介

       GP是一个由支付与商业领域的大公司、政府部门以及卖主团体主导的一个组织,它是第一个促成跨不同行业的总的智能卡规范的组织。它的目标就是减少智能卡在跨不同行业,不同应用之间的潜在障碍。这样的话,智能卡发行商将有在各种卡、终端及后台系统中选择的自由。

       如果真能发挥智能卡的潜在价值,那么使用者将会被其广泛的功能所赞叹。比如,你可以用手机上的SIM卡,通过网络进行消费,而且绝不逊于计算机。此外智能卡还有成本低和多应用的优势。

       从九十年代中期开始,通过引入为应用开发的开源系统规范,在芯片卡行业发生了一系列重要的突破。在这一领域处于领导地位的有三项主导技术:Java CardWindows Powered Smart Cards以及MULTOS。这些技术规范在芯片卡的多应用方面做出了极大贡献,例如公共程序标准允许应用协调卡不同的具体实现。

       通过开放平台的倡议,VisaGP共同致力于芯片卡领域,发表了至关重要的芯片卡标准(硬件中立,卖主中立以及应用独立的卡管理规范),这个新规范提供了保护芯片卡系统投资重要方面的公共安全和卡管理框架。

       GP为卡发行商定义了灵活而强大的规范,这是为卡发行商创建多应用的芯片操作系统以满足商业需求的不断发展。规范允许卡发行商选择当下用的卡技术而且也支持迁移,如果有必要的话,对于将来选择的不同技术在结构上也会没有重要的影响。

       规范所描述的GP规范必须应用于GP智能卡的实现上。

1.1      针对的读者

此规范主要针对的读者是卡制造商和通过GP规范开发应用程序的程序员。虽然此规范定义了卡组件、命令接口、处理次序以及不同行业间的公共接口,但并没有细化因不同行业而差异的底层安全实现。

此规范的读者也包括想对共有的安全概念和多应用卡管理系统了解的人。

1.2      引用的相关规范

标准/规范

描述

ANSI X9.52

Triple Data Encryption Algorithm Modes of Operation, draft, 1996

CAMS v3.0 June 2000

Multi Application Smart Card Management Systems Global Platform

Function Requirements

FIPS PUB 46-3

Federal Information Processing Standards Publication 46-3, Reaffirmed

1999: Data Encryption Standard (DES): U.S. Department Of Commerce/National Institute Of Standard And Technology

FIPS PUB 180-1

Federal Information Processing Standards Publication 180-1, Reaffirmed 1999: Data Encryption Standard (DES): U.S. Department Of Commerce/National Institute Of Standard And Technology

ISO/IEC 7816-4:1995

Identification cards – Integrated circuit(s) cards with contacts – Part 4:

Inter-industry commands for interchange

ISO/IEC 7816-5:1994

Identification cards – Integrated circuit(s) cards with contacts – Part 5:

Numbering systems and registration procedure for application identifiers

ISO/IEC 7816-6:1996

Identification cards – Integrated circuit(s) cards with contacts – Part 6:

Interindustry data elements

ISO/IEC 8825-6:1998

Information technology – ASN.1 encoding rules: Specification of Basic Encoding Rules(BER), Canonical Encoding Rules(CER) and Distinguished Encoding Rules(DER)

ISO 8731-1:1987

[IS8731-1]Banking – Approved algorithms for message authentication-Part 1:DEA

ISO/IEC 9797:1994

[IS9797]Information Technology – Security techniques – Data integrity

Mechanism using a cryptographic check function employing a block cipher algorithm

ISO/IEC 10116:1997

[IS10116]Information Technology – Modes of operation n-bit block

cipher algorithm

ISO/IEC 10118-3:1998

[IS10118-3]Information technology – Security techniques – Hash functions – Part3: Dedicated hash functions

Java Card 2.1.1, 2.2

Go to the following web site for Java Card documentation:

http://www.java.sun.com/product/javacard

PKCS#1 (RFC 2437)

PKCS #1 v2.0: RSA Cryptography Standard, RSA Laboratories, October

1998(RFC 2437)

Windows-Powered Smart Cards

Go to the following web site for more information on Windows for Smart Cards: http://www.microsoft.com

 

1.3      术语及其定义

术语

定义

应用

当被安装并选择的可执行模型实例

应用数据协议单元(APDU

读卡器与智能卡之间的标准通信报文协议

应用提供者

拥有应用并对应用行为负责的实体

应用Session

应用与外部(应用)在逻辑信道上的联系。开始于应用的选择,结束于在逻辑信道上其他应用的选择,此时逻辑信道关闭或者卡Session结束

非对称加密

加密技术用到两个相关的转换,公共转换(用来定义公钥组件)和私钥转换(用来定义私钥组件);这两个密钥组件有一个属性以至于不可能计算发现私钥,即使已知公钥

基本逻辑信道

卡与外界实体之间持久的获得接口。基本逻辑信道是有限零

卡内容

OPEN的负责下卡中的代码和应用信息(不包括应用数据),譬如可执行的载入文件,应用实例等

卡唯一码(CIN

GP卡的标识符

卡发行商

拥有卡并最终对卡行为负责的实体

卡管理者

对一张GP卡的三个卡管理实体的共有术语,其分别是:OPEN,发行者安全域以及持卡者认证方法服务提供者

卡识别数据

通知外部系统的信息,尤其通知应用管理系统(CAMS)如何与卡交互。

Session

卡和外部(卡)之间的联系,开始于ATR,结束于序列重置或者卡处于非激活状态

卡唯一数据

用于核实卡唯一的数据,以发行者的标识数据和卡标识数据串联而成

持卡人

卡的最终使用人

术语

定义

持卡人验证方法(CVM

这个方法用来确保一个人现在的卡就是发行者要发给这个人的卡

控制权限

控制权限有权通过DAP核对的控制而控制卡内容

DAP

作为载入文件的一部分,用于载入文件数据块的核对

DAP认证

核实载入文件数据块是否可信的安全领域的一种应用机制

授予管理

通过认证的应用提供者完成的改变未授权卡内容

数字签名

经过非对称加密转换的数据使数据接收者能够证明数据的原始性和完整性;其可以保护发送者和数据接收者不被第三方伪造;同样可以保护发送者不被接收者伪造

可执行载入文件

一个或多个应用的可执行代码的实际卡上容器。它存在于只读存储器或者作为一个载入文件数据块的镜像,这些镜像可能被创建在可读写存储器

可执行模型

包括一个单独应用的卡上执行代码,出现在一个可执行载入文件中

GP注册

一个有关卡内容管理的信息容器

主机

用来代表支持GP系统的后台终端系统的逻辑术语;主机的主要功能是:

授权、认证、管理、(卡)发行后应用代码和数据的下载以及处理过程

不变持久存储

只读存储器

发行者安全域

在卡端为了满足卡发行者的控制、安全以及交流需求

生命周期

GP卡上卡的内容存在并且存在可应用的各阶段

生命周期状态

卡或者卡内容在卡生命周期的一个具体状态

载入文件

被迁移到GP卡上的文件,其中包括一个载入文件数据块和可能有的一个或多个DAP

载入文件数据块

载入文件的一部分,其中包括一个或多个应用和lib或者具体平台应用的支持信息

 

术语

定义

载入文件数据块散列

为载入文件数据块提供完整性的值

载入文件数据块签名

包含载入文件数据块散列并提供载入数据文件的完整性和真实性的值

报文鉴定码(MAC

提供数据原始性鉴定和完整性的对称加密转换数据

可读写存储

存储内容可被修改

OPEN

主要的卡上管理者,隶属于GP注册

已发行

卡被发行到卡持有者之后的阶段

发行前

卡被发行到卡持有者之前的阶段

私钥

非对称密钥对的私有部分

公钥

非对称密钥对的公共部分

收据

由卡提供的,作为代理管理发生过的证明的加密值

重试数

参看“重试限制”

重试限制

允许你输入有效CVM值的最多次数

安全信道

为卡外实体与卡之间的提供一定级别的保证通讯机制

安全信道协议

安全通讯协议以及安全服务集

安全信道Session

它属于应用session的一部分,开始于安全信道初始化,结束于安全信道终止或者应用session终止,或者卡session终止

安全域

为满足应用提供者在控制、安全及通信方面的需求的卡上实体

增补逻辑信道

在卡与外部实体之间,一直到3个额外的接口(而不是持久的获得逻辑信道)。增加的逻辑信道分别记为123

对称加密

发起人与接收人的交互用相同的密钥的加密技术

记号(Token

卡发行者提供的密钥值用于证明代理管理已被授权

 

1.4      缩写词及其涵义

缩写

涵义

AID

应用标识

APDU

应用协议数据单元

API

ASSII

美国信息交换标准代码

ATR

复位应答

BCD

二进制码的十进位数

BER

基本编码规则

CBC

密码字组连接

CIN

卡标识码

CLA

命令报文的类字节

CVM

卡持有者确认方法

DAP

数据鉴定模式

DEK

数据加密密钥

DES

数据加密标准

ECB

电子码书

EMV

EuropayMasterCard以及Visa的头三个字母;被用作支付系统的协议规范

ENC

加密

FCI

文件控制信息

HEX

16进制

ICC

集成电路卡

ICV

初始连接向量

IIN

发行标识码

 

缩写

涵义

INS

报文指令字节

ISO

国际标准化组织

Lc

在情形34下,命令数据的确切长度

Le

在情形24下,响应数据的期望最大长度

LV

长度值

MAC

报文鉴定码

OID

对象标识符

OPEN

GP环境

P1

引用控制参数1

P2

引用控制参数2

PIN

个人识别码

RAM

随机访问存储器

RFU

保留以备将来使用

RID

已注册应用提供者标识

ROM

只读存储器

RSA

非对称算法

SCP

安全信道协议

SW

状态字

SW1

状态字1

SW2

状态字2

TLV

标签长度值

 

1.5      修订历史

1.5.1   Open Platform卡规范2.0Open Platform卡规范2.0.1

这部分对规范2.0Open Platform Card Specification 2.0)到规范2.0.1Open Platform Card Specification 2.0.1)的版本修订做了简单的回顾。

       规范的字体与格式有所提高。

       规范的一些具体实现从规范的主体部分移入到附录部分。

       规范中的有关个人化或者其应用已移除。

       有关用Java Card技术实现Open Platform的修改在附录AGP API)的最开始部分。

       所有被确认的跟Open Platform密切相关的问题,这些问题包括9946月的FAQ(经常被提及的问题)文档和991112月的文档。当前版本已经收录了这些问题。

       5部分中详细描述了关于安全和密钥管理的用法在Open Platform2.0未出现。

1.5.2     GP卡规范2.1的主要调整

如下将要说的就是由GP主要成员决定的修改内容。所有的修改将使GP规范适合更多的实体,又有向后兼容性。

1.5.2.1             加强了DAP核实方案

       在支持授权管理和DAP核实的GP卡实现过程中,之前版本定义的在大数据块(载入文件数据块)上多重签名核实的方法是必须而且变化微小的。当多重DAP核实与可能的代理管理同时出现时,多重散列也需要同时产生。这样会对载入过产生负面影响。

       新方案中定义了一个新方法用来替代给大数据块做标记的方法。新方法中,关键大数据块的散列会被生成并且次散列已被标记。新方法中的签名必须在非常小的数据块中的信息。而新方法中只有一个生成散列并且在载入文件数据块上的核实是必须的(参看6.7.6.1-载入数据块散列)。

1.5.2.2             从安全域中接收数据

先前的Open Platform提供的安全信道机制只允许应用去请求和它相关的安全域。

现在提供了一个通过安全域初始的新服务。它为了以后的数据处理,允许通过与安全域有关的应用间的数据传递,其主要目的就是通过相关应用间的安全域使应用的个人化更加便利。确认用来个人化应用的新安装命令已被定义(参看9.5-安装命令)。

1.5.2.3             安全域中的关联与引渡

在之前的Open Platform规范中,可执行文件关联到安全域,同时来自同一个可执行载入文件所有实例化应用当被安装后,这些个所有应用将被关联到同一个安全域中。上述方法已被限制。

       新方案提出了应用引渡。应用引渡允许一个已经被关联到一个安全域的应用可被引渡到另一个安全域中(参看7.6.3-授权引渡)。

       这一增强除对可执行载入文件和应用有好处外,还有一个优势就是包含在可执行的载入文件的应用对于已注册的可执行的载入文件在GP注册中是可见的(参看9.5-安装命令)。

       为了避免可选择应用与在可执行载入文件的应用之间的混淆,引入了一个新的术语—可执行模块。这个术语用于核对出现在某个可执行载入文件的一个或多个应用(参看5.2.2-可执行模块生命周期)。

1.5.2.4             可执行模块

在之前的卡规范中,卡外实体只能获得在卡上的可执行载入文件和可选的应用的信息。为了增强通过状态命令获得的信息,额外的信息集将被存入GP注册并以对获得状态命令的响应形式返回。这个信息与可执行模块有关,而且现在也可能接收有关包含在可执行载入文件的应用代码的信息。其中可执行载入文件是对安装可见的。

1.5.2.5             卡数据识别

卡数据识别以及接收此数据的方法已经含在当前版本的GP卡规范中。相关的信息如:

GP卡,特殊实现方式(卡数据识别)以及目前可获得的独有的版本号。

1.5.2.6             对新安全信道协议的支持

为了方便起见,包括额外安全信道协议的方法已正式化。同时这个方法也适用于之前规范里只定义一个安全信道协议的情形。作为GP为定义安全信道协议正式进程的部分努力,当前版本细化了两个安全信道协议以及它们的选择进程。为清晰起见,将Open Platform2.0.1’规范的第四部分删掉。它的部分内容包括在了第三部分,余下的在附录中(参看附录D-安全信道协议01与安全信道协议02)。

1.5.2.7             持卡者验证的方法服务

关于可选的CVM的增加的服务和特性已包含在内(参看6.9-CVM管理)。在之前版本的规范中,CVM提供了单个PIN通过多应用的可能。当一个应用的PIN被改变,这个改变对所有应用都是可见的。然而应用无法核对在同一卡Session期间,对于另一个应用而言,PIN是否之前已经正确显现。新CVM(卡验证方法)提供了做此验证的功能。

1.5.2.8             卡管理者的分离

以前把卡管理者定义为卡上的主要组成部分,但未区分包含在内的各种职责,同时未清晰定义哪里是卡运行环境的结束,哪里是卡管理者的开始。新决定中,将卡管理者分成三个实体同时清晰核对了处于每一实体的运行环境功能。(参看3.2-卡管理者)此外,卡管理者这个术语依然存在,只不过现在由三部分组成:OPEN、发行者安全域和持卡者验证方法提供者。新结构使卡管理者的职责更加清晰,并把Java CardWindows Powered Smart Card考虑在内。

1.5.2.9             Windows Powered Smart Card API

针对Windows Powered Smart CardGP API现被收录于附录A.3-GlobalPlatform on Windows Powered Smart Card

1.5.2.10       Java Card API

GP各种新特性考虑在内,新API(参看附录A.2- GlobalPlatform on a Java Card)提供了对Java Card所涉及到的新的,所有相关存在的特性的支持。Open Platform2.0.1’上对Java Card的定义是不推荐的。当前版本有向后兼容性。

1.5.2.11       附录

GP卡规范的主体部分用来大体介绍GP。所有关于实现上的具体信息均可参看附录。

1.5.3   GP卡规范2.1.1的修订

如下的修改更正了之前版本中的不足,并保持和现在基于运行环境规范的发展的同步,同时保持向后兼容性。

1.5.3.1             勘误表

所有中间出版的勘误表已包含在此版本中。同时一小部分的勘误表和精度大约在此版本发布的同一时间出版,当然这些也直接包含在当前版本中。

1.5.3.2             内容删减

新可选的允许可执行载入文件的卡内容移除的特性被添加在规范中,所有与它相关的应用在同一操作中被删除。

1.5.3.3             逻辑信道

为了满足一些行业的新需求以及当前基于运行时环境规范的发展,新规范中把逻辑信道功能作为选择性特性。

1.5.3.4             添加的安全信道协议实现可选项

生成C-MAC的增强机制已被加入到了安全信道协议’01’和安全信道协议’02’。安全信道协议’01’中增加了一个新的实现可选项,安全信道协议’02’中增加了四个新的实现可选项。我们推荐使用这些新的可选项实现。

1. 介绍 2 2. 系统架构 10 3. 卡的架构 11 3.1. 运行时环境 11 3.2. 卡的管理者(Card Manager) 12 3.2.1. GlobalPlatform运行时环境(OPEN) 12 3.2.2. 发行者安全域 12 3.2.3. 卡持有者的校验方法 13 3.3. 安全域(Secure Domains) 13 3.4. GP的API(Open Platform API) 13 3.5. 卡的内容 13 4. 安全架构 15 4.1. 目标 15 4.2. 安全职责 15 4.2.1. 卡发行者(Card Issuer) 15 4.2.2. 应用提供者(Application Provider) 16 4.2.3. 控制授权中心机构(Controlling Authority) 16 4.2.4. 卡上组件的安全要求 16 4.2.4.1. 对运行时环境的安全要求 16 4.2.4.2. 对OPEN的安全要求 17 4.2.4.3. 对发行者安全域的安全要求 17 4.2.4.4. 对CVM处理者的安全要求 17 4.2.4.5. 对安全域的安全要求 17 4.2.4.6. 对应用的安全要求 18 4.2.5. 后台系统的安全要求 18 4.3. 加密支持 18 4.3.1. 卡内容的完整性校验和数据鉴别 18 4.3.1.1. 装载文件数据块HASH 18 4.3.1.2. 装载文件数据块签名 19 4.3.1.3. 委托管理令牌 19 4.3.1.4. 收条 19 4.3.2. 安全通讯 19 5. 生命周期模型 21 5.1. 卡的生命周期 21 5.1.1. 卡生命周期的状态 21 5.1.1.1. OP_READY状态 21 5.1.1.2. INITIALIZED状态 22 5.1.1.3. SECURED状态 22 5.1.1.4. CARD_LOCKED状态 22 5.1.1.5. TERMINATED状态 22 5.1.2. 卡生命周期状态的迁移 23 5.2. 可执行装载文件的生命周期(Excutable Load File Life Cycle) 24 5.2.1. 可执行装载文件的生命周期 25 5.2.1.1. LOADED状态 25 5.2.1.2. 可执行装载文件的删除 25 5.2.2. 可执行模块的生命周期 25 5.3. 卡内应用和安全域的生命周期 25 5.3.1. 卡内应用的生命周期状态 26 5.3.1.1. INSTALLED状态 26 5.3.1.2. SELECTBLE状态 26 5.3.1.3. LOCKED状态 26 5.3.1.4. 应用的删除 27 5.3.1.5. 应用特定生命周期状态 27 5.3.2. 安全域的生命周期状态 28 5.3.2.1. INSTALL状态 28 5.3.2.2. SELECTABLE状态 28 5.3.2.3. PERSONALIZED状态 28 5.3.2.4. LOCKED状态 28 5.3.2.5. 安全域的删除 29 5.4. 卡的生命周期和AP生命周期状态的演示 30 6. 卡的管理者(CM) 32 6.1. 概述 32 6.1.1. OPEN 32 6.1.2. 发行者安全域 33 6.1.3. CVM处理者 34 6.2. CM的服务 34 6.2.1. 应用访问OPEN服务 34 6.2.2. 应用访问CVM服务 34 6.2.3. 应用访问发行者安全域的服务 35 6.2.4. 发行者域访问应用服务 35 6.4. 卡内容的管理 41 6.4.1. 卡内容的装载和安装 41 6.4.1.1. 卡内容的装载 42 6.4.1.2. 卡内容的安装 43 6.4.2. 内容的移除 45 6.4.2.1. 应用的移除 45 6.4.2.2. 可执行装载文件的移除 46 6.4.2.3. 可执行装载文件和相关应用的移除 47 6.4.3. 内容的移交(context Extradition) 48 6.5. 委托管理 48 6.6. GP的注册表 49 6.6.1. 发行者域数据元素的描述 49 6.6.1.1. 发行者安全域的AID 50 6.6.1.2. 卡的生命周期状态 50 6.6.2. 应用/可执行装载文件/可执行模块的数据元素的描述 50 6.6.2.1. 应用/可执行装载文件/可执行模块的AID 50 6.6.2.2. 应用/可执行装载文件/可执行模块的生命周期 50 6.6.2.3. 资源分配 50 6.6.2.4. 应用的权限 51 6.6.2.5. 相关联安全域的AID 52 6.7. 安全管理 52 6.7.1. 应用的锁定 53 6.7.2. 卡的锁定 54 6.7.3. 卡的终止 55 6.7.4. 操作频率的检查 56 6.7.4.1. 卡内容的装载和安装时的频率检查 56 6.7.4.2. 异常操作频率检查 56 6.7.5. 跟踪和事件的记载 57 6.7.6. 安全内容的装载和安装 57 6.7.6.1. 装载文件的数据块HASH值 57 6.7.6.2. 令牌 57 6.7.6.3. 装载文件数据块的签名 57 6.8. 发行者安全域 58 6.8.1. 发行者的标识号 58 6.8.2. 卡的Image号 58 6.8.3. 卡的识别数据 59 6.8.4. 卡上的密钥信息 59 7. 安全域 63 7.1. 概述 63 7.2. 安全域服务 64 7.2.1. 访问安全域服务的应用 64 7.2.2. 访问应用的安全域 65 7.3. 个人化支持 65 7.4. 运行时消息支持 66 7.5. DAP验证 67 7.6. 代理管理 68 7.6.1. 代理下载 68 7.6.2. 代理安装 69 7.6.3. 代理移交 70 7.6.4. 代理删除 71 7.7. 代理管理令牌、收条及DAP验证 72 7.7.1. 下载令牌 72 7.7.2. 下载收条 73 7.7.3. 安装、移交令牌 73 7.7.4. 安装收条 73 7.7.5. 移交收条 74 7.7.6. 删除收条 74 7.7.7. 下载文件数据块hash 75 7.7.8. 下载文件数据块签名 (DAP验证) 75 8. 安全通讯 76 8.1. 安全通道 76 8.2. 显式/隐式的安全通道 76 8.2.1. 显式安全通道初始化 76 8.2.2. 隐式安全通道初始化 77 8.2.3. 安全通道结束 77 8.3. 直接/间接处理安全通道协议 77 8.4. 实体认证 77 8.5. 安全消息传输 77 8.6. 安全通道协议标识 78 9. APDU命令参考 80 9.1. 总的编码规则 81 9.1.1. 生命周期状态的编码 81 9.1.2. 应用的权限编码 82 9.1.3. 一般性的错误情形 83 9.1.4. CLASS字节编码 84 9.1.5. APDU命令和响应数据 84 9.1.6. 密钥类型编码 84 9.1.7. 在委托管理的响应消息中的收条信息(可选) 85 9.2. DELETE命令 86 9.2.1. 定义和范围 86 9.2.2. 命令消息 86 9.2.2.1. 引用控制参数P1 86 9.2.2.2. 引用控制参数P2 86 9.2.2.3. 命令消息中发送的数据字段 86 9.2.3. 响应消息 87 9.2.3.1. 在响应消息中返回的数据字段 87 9.2.3.2. 在响应消息中返回的处理状态 87 9.3. GET DATA命令 88 9.3.1. 定义和范围 88 9.3.2. 命令消息 88 9.3.2.1. CLA字节 88 9.3.2.2. 参数P1和P2 88 9.3.2.3. 在命令消息中发送的数据字段 89 9.3.3. 响应消息 89 9.3.3.1. 在响应消息中返回的数据字段 89 9.3.3.2. 在响应消息中返回的处理状态 90 9.4. GET STATUS命令 90 9.4.1. 定义和范围 90 9.4.2. 命令消息 90 9.4.2.1. 引用控制参数P1 91 9.4.2.2. 引用控制参数P2 91 9.4.2.3. 命令消息中发送的数据字段 92 9.4.3. 响应消息 92 9.4.3.1. 在响应消息中返回的数据字段 92 9.4.3.2. 在响应消息中返回的处理状态 93 9.5. INSTALL命令 94 9.5.1. 定义和范围 94 9.5.2. 命令消息 94 9.5.2.1. 引用控制参数P1 94 9.5.2.2. 引用控制参数P2 95 9.5.2.3. 命令消息中发送的数据字段 95 9.5.3. 响应消息 98 9.5.3.1. 在响应消息中返回的数据字段 98 9.5.3.2. 在响应消息中返回的处理状态 99 9.6. LOAD命令 99 9.6.1. 定义和范围 99 9.6.2. 命令消息 99 9.6.2.1. 引用控制参数P1 100 9.6.2.2. 引用控制参数P2-块号 100 9.6.2.3. 命令消息中发送的数据字段 100 9.6.3. 响应消息 101 9.6.3.1. 在响应消息中返回的数据字段 101 9.6.3.2. 在响应消息中返回的处理状态 101 9.7. MANAGE CHANNEL命令 102 9.7.1. 定义和范围 102 9.7.2. 命令消息 102 9.7.2.1. 引用控制参数P1 102 9.7.2.2. 引用控制参数P2 102 9.7.2.3. 命令消息中发送的数据字段 103 9.7.3. 响应消息 103 9.7.3.1. 在响应消息中返回的数据字段 103 9.7.3.2. 在响应消息中返回的处理状态 103 9.8. PUT KEY命令 103 9.8.1. 定义和范围 103 9.8.2. 命令消息 104 9.8.2.1. 引用控制参数P1 104 9.8.2.2. 引用控制参数P2 104 9.8.2.3. 命令消息中发送的数据字段 105 9.8.3. 响应消息 106 9.8.3.1. 在响应消息中返回的数据字段 106 9.8.3.2. 在响应消息中返回的处理状态 107 9.9. SELECT命令 107 9.9.1. 定义和范围 107 9.9.2. 命令消息 107 9.9.2.1. 引用控制参数P1 108 9.9.2.2. 引用控制参数P2 108 9.9.2.3. 命令消息中发送的数据字段 108 9.9.3. 响应消息 108 9.9.3.1. 在响应消息中返回的数据字段 108 9.9.3.2. 在响应消息中返回的处理状态 109 9.10. SET STATUS命令 109 9.10.1. 定义和范围 109 9.10.2. 命令消息 109 9.10.2.1. 引用控制参数P1-状态类型 110 9.10.2.2. 引用控制参数P2-状态控制 110 9.10.2.3. 命令消息中发送的数据字段 111 9.10.3. 响应消息 111 9.10.3.1. 在响应消息中返回的数据字段 111 9.10.3.2. 在响应消息中返回的处理状态 111 9.11. STORE DATA命令 111 9.11.1. 定义和范围 111 9.11.2. 命令消息 111 9.11.2.1. 引用控制参数P1 112 9.11.2.2. 引用控制参数P2 113 9.11.2.3. 命令消息中发送的数据字段 113 9.11.3. 响应消息 114 9.11.3.1. 在响应消息中返回的数据字段 114 9.11.3.2. 在响应消息中返回的处理状态 114 A. GP的API 116 A.1. 不赞成的Open Platform Java卡API 116 A.2. GP在JAVA卡上 116 A.2.1. GP特定的要求 116 A.2.1.1. GlobalPlatform包的AID 116 A.2.1.2. 安装 116 A.2.1.3. T=0传输协议 117 A.2.1.4. 原子操作 118 A.2.1.5. 逻辑通道 118 A.2.1.6. 加密算法 118 A.2.1.7. 信任级别 118 A.2.1.8. GlobalPlatform方法的调用 118 A.2.2. 类的层次 119 A.2.2.1. 接口org.globalplatform.Application 119 A.2.2.2. 接口org.globalplatform.SecureChannel 120 A.2.2.3. 类org.globalplatform.GPSystem 127 A.2.2.4. 接口org.globalplatform.CVM 131 A.3. GPwindows Powered智能卡 136 B. 算法(加密和HASH) 138 B.1. 数据加密标准(DES) 138 B.1.1. 加密/解密 138 B.1.1.1. CBC模式 138 B.1.1.2. ECB模式 138 B.1.2. MAC 138 B.1.2.1. 完整的TDES MAC 138 B.1.2.2. Single DES加上最终的TDES MAC 138 B.2. HASH算法 139 B.2.1. 安全HASH算法(SHA-1) 139 B.3. 公钥加密方案1(PKCS#1) 139 B.4. DES数据填充 139 C. 安全内容管理 141 C.1. 密钥 141 C.1.1. 发行者安全域密钥 141 C.1.1.1. 令牌密钥 141 C.1.1.2. 收条密钥 141 C.1.2. 安全域密钥 141 C.2. 下载文件数据块Hash 142 C.3. 令牌 142 C.3.1. 下载令牌 142 C.3.2. 安装令牌 143 C.3.3. Extradition Token 145 C.4. 收条 145 C.4.1. 下载收条 146 C.4.2. 安装收条 146 C.4.3. 删除收条 147 C.4.4. 移交收条 148 C.5. DAP验证 148 C.5.1. PKC方案 149 C.5.2. DES方案 149 D. 安全通道协议‘01’ 150 D.1. 安全通讯 150 D.1.1. SCP01安全通道 150 D.1.2. 相互认证 150 D.1.3. 消息的完整性 152 D.1.4. 消息数据的机密性 152 D.1.5. ICV的加密 152 D.1.6. 安全级别 152 D.2. 加密密钥 153 D.3. 加密用法 154 D.3.1. DES会话密钥 154 D.3.2. 鉴别密码(Authenticated Cryptogram) 156 D.3.2.1. 卡的鉴别密码(Card cryptogram) 156 D.3.2.2. 主机端鉴别密码(host cryptogram) 156 D.3.3. MAC生成和MAC校验的APDU指令 156 D.3.4. APDU命令的加密和解密 157 D.3.5. 关键敏感数据的加密和解密 158 D.4. 安全通道的APDU命令 159 D.4.1. INITIALIZE UPDATE命令 159 D.4.1.1. 定义和范围 159 D.4.1.2. 命令消息 160 D.4.1.3. 引用控制参数P1——密钥版本号 160 D.4.1.4. 引用控制参数P2——密钥标识 160 D.4.1.5. 命令消息中要传送的数据段 160 D.4.1.6. 响应消息 160 D.4.1.7. 在响应消息中返回的执行状态 161 D.4.2. EXTERNAL AUTHENTICATION命令 161 D.4.2.1. 定义和范围 161 D.4.2.2. 命令消息 161 D.4.2.3. 引用控制参数P1——安全级别 162 D.4.2.4. 引用控制参数P2 162 D.4.2.5. 命令消息中要传送的数据段 162 D.4.2.6. 响应消息返回的数据段 162 D.4.2.7. 在响应消息中返回的执行状态 162 E. 安全通道协议‘02’ 164 E.1. 安全通迅 164 E.1.1. SPC02安全通道 164 E.1.2. 实体鉴别 165 E.1.2.1. 显式安全通道的初始化 166 E.1.2.2. 隐式安全通道的初始化 167 E.1.3. 消息的完整性 167 E.1.4. 消息数据的机密性 168 E.1.5. 安全级别 168 E.2. 加密密钥 170 E.3. 加密算法 171 E.3.1. CBC 171 E.3.2. 消息的完整性ICV在显式安全通道初始化中的使用 171 E.3.3. 消息的完整性ICV在隐式安全通道初始化中的使用 172 E.3.4. ICV的加密 172 E.4. 加密用法 172 E.4.1. DES会话密钥 172 E.4.2. 在显式安全通道中的鉴别密码 173 E.4.2.1. 卡的鉴别密码(Card cryptogram) 173 E.4.2.2. 主机端的鉴别密码(host cryptogram) 173 E.4.3. 在隐式安全通道中的鉴别密码(Authenticate Cryptogram) 174 E.4.4. APDU命令C-MAC的生成和校验 174 E.4.5. APDU命令响应的R-MAC生成和校验 176 E.4.6. APDU命令数据段的加密和解密 177 E.4.7. 敏感数据的加密和解密 178 E.5. 安全通道的APDU指令 178 E.5.1. INITIALIZE UPDATE命令 179 E.5.1.1. 定义和范围 179 E.5.1.2. 命令消息 179 E.5.1.3. 引用控制参数P1——密钥版本号 180 E.5.1.4. 引用控制参数P2 180 E.5.1.5. 命令消息中要传送的数据段 180 E.5.1.6. 响应消息 180 E.5.1.7. 在响应消息中返回的执行状态 180 E.5.2. EXTERNAL AUTHENTICATION命令 181 E.5.2.1. 定义和范围 181 E.5.2.2. 命令消息 181 E.5.2.3. 引用控制参数P1——安全级别 181 E.5.2.4. 引用控制参数P2 182 E.5.2.5. 命令消息中要传送的数据段 182 E.5.2.6. 响应消息返回的数据段 182 E.5.2.7. 在响应消息中返回的执行状态 182 E.5.3. BEGIN R-MAC SESSION命令 182 E.5.3.1. 定义和范围 182 E.5.3.2. 命令消息 183 E.5.3.3. 引用控制参数P1 183 E.5.3.4. 引用控制参数P2 183 E.5.3.5. 命令消息中要传送的数据段 183 E.5.3.6. 响应消息返回的数据段 184 E.5.3.7. 在响应消息中返回的执行状态 184 E.5.4. END R-MAC SESSION命令 184 E.5.4.1. 定义和范围 184 E.5.4.2. 命令消息 184 E.5.4.3. 引用控制参数P1 185 E.5.4.4. 引用控制参数P2 185 E.5.4.5. 命令消息中要传送的数据段 185 E.5.4.6. 响应消息返回的数据段 185 E.5.4.7. 在响应消息中返回的执行状态 185 F. GP的数据及卡的识别数据 187 F.1. 数据值 187 F.2. 卡识别数据的结构 187 F.3. 安全域管理数据 188
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值