资源描述
中国移动通信企业标准
QB-D-002-2009
中国移动手机支付业务PSAM卡规范
PSAM Card Specification for Mobile Payment Service
版本号:1.0.0
2009-3-13实施
2009-3-13发布
中国移动通信集团公司 发布
目 录
前 言 I
1. 范围 1
2. 规范性引用文件 1
3. 术语、定义和缩略语 2
3.1 术语、定义 2
3.2 缩略语 2
4. 机电特性、逻辑接口与传输协议 3
5. 文件结构 3
5.1 文件结构 3
5.2 MF区域说明 3
5.2.1 DIR目录数据文件 3
5.2.2 PSAM卡主控密钥 3
5.2.3 PSAM卡维护密钥 4
5.2.4 PSAM卡公共信息文件 5
5.2.5 终端信息文件 5
5.3 ADF区域说明 5
5.3.1 应用主控密钥 5
5.3.2 应用维护密钥 5
5.3.3 应用主工作密钥 5
5.3.4 应用公共信息文件 6
5.3.5 终端应用交易序号数据元 6
6. APDU命令 6
6.1 选择文件(SELECT) 6
6.1.1 定义和范围 6
6.1.2 命令报文 6
6.1.3 命令报文数据域 7
6.1.4 响应报文数据域 7
6.1.5 状态码 8
6.2 读记录文件(READ RECORD) 8
6.2.1 定义和范围 8
6.2.2 命令报文 8
6.2.3 命令报文数据域 9
6.2.4 响应报文数据域 9
6.2.5 状态码 9
6.3 写记录文件(UPDATE RECORD) 10
6.3.1 定义和范围 10
6.3.2 命令报文 10
6.3.3 命令报文数据域 10
6.3.4 响应报文数据域 10
6.3.5 状态码 11
6.4 读二进制文件(READ BINARY) 11
6.4.1 定义和范围 11
6.4.2 命令报文 11
6.4.3 命令报文数据域 12
6.4.4 响应报文数据域 12
6.4.5 状态码 12
6.5 写二进制文件(UPDATE BINARY) 13
6.6.1 定义和范围 13
6.6.2 命令报文 13
6.6.3 命令报文数据域 13
6.6.4 响应报文数据域 13
6.6.5 状态码 13
6.6 外部认证(EXTERNAL AUTHENTICATION) 14
6.6.1 定义和范围 14
6.6.2 命令报文 14
6.6.3 命令报文数据域 15
6.6.4 响应报文数据域 15
6.6.5 状态码 15
6.7 取响应数据(GET RESPONSE) 15
6.7.1 定义和范围 15
6.7.2 命令报文 15
6.7.3 命令报文数据域 16
6.7.4 响应报文数据域 16
6.7.5 状态码 16
6.8 取随机数(GET CHALLENGE) 16
6.8.1 定义和范围 16
6.8.2 命令报文 16
6.8.3 命令报文数据域 17
6.8.4 响应报文数据域 17
6.8.5 状态码 17
6.9 写入密钥(WRITE KEY) 17
6.9.1 定义和范围 17
6.9.2 命令报文 17
6.9.3 命令报文数据域 18
6.9.4 响应报文数据域 18
6.9.5 状态码 18
6.10 通用DES计算初始化(INIT_FOR_DES_CRYPT) 19
6.10.1 定义和范围 19
6.10.2 命令报文 19
6.10.3 命令报文数据域 20
6.10.4 响应报文数据域 20
6.10.5 状态码 20
6.11 通用DES计算(DES_CRYPT) 20
6.11.1 定义和范围 20
6.11.2 命令报文 21
6.11.3 命令报文数据域 21
6.11.4 响应报文数据域 21
6.11.5 状态码 22
6.12 应用解锁(APPLICATION UNBLOCK) 22
6.12.1 定义和范围 22
6.12.2 命令报文 22
6.12.3 命令报文数据域 22
6.12.4 响应报文数据域 23
6.12.5 状态码 23
6.13 MAC1计算(INIT_PSAM_FOR_PURCHASE) 23
6.13.1 定义和范围 23
6.13.2 命令报文 24
6.13.3 命令报文数据域 24
6.13.4 响应报文数据域 24
6.13.5 状态码 24
6.14 校验MAC2(CREDIT_PSAM_FOR_PURCHASE) 25
6.14.1 定义和范围 25
6.14.2 命令报文 25
6.14.3 命令报文数据域 26
6.14.4 响应报文数据域 26
6.14.5 状态码 26
7. PSAM卡密钥管理流程 26
8. 现场脱机支付消费交易流程 27
9. 安全特性 28
9.1 密钥装载 28
9.2 密钥访问 28
9.3 密钥属性 28
10. 编制历史 28
附录A PSAM卡中的基本数据文件 29
附录A.1 MF下的PSAM卡公共信息文件 29
附录A.2 MF下的终端信息文件 29
附录A.3 应用的应用公共信息文件 29
附录B 指令集版本 30
前 言
本标准是对手机支付业务开展过程中PSAM卡需要规范的内容提出全面要求,是开展手机支付业务的依据。
本标准主要包括以下几方面内容:机电特性、逻辑接口与传输协议、文件结构、APDU命令、管理流程、现场脱机支付交易流程及安全特性。。
本标准是手机支付业务系列标准之一。
本标准的附录A、B为标准性附录。
本标准由中移技〔2009〕74号印发。
本标准由中国移动通信集团公司数据部提出,集团公司技术部归口。
本标准由标准归口部门负责解释。
本标准起草单位:中国移动通信研究院
本标准主要起草人:乐祖晖、李琳、柏洪涛、刘斐、赵旭、张雨廷
1. 范围
本标准规定了PSAM卡的机电特性、逻辑接口与传输协议、文件结构、APDU命令、管理流程、现场脱机支付交易流程及安全特性,供中国移动内部和厂商共同使用;适用于GSM/GPRS/3G网络环境。
2. 规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。
表 21
[1]
7816-1
《Identification cards - Integrated circuit(s) cards with contacts, Part 1: Physical characteristics》
ISO/IEC
[2]
7816-2
《Identification cards - Integrated circuit(s) cards with contacts, Part 2: Dimensions and location of the contacts》
ISO/IEC
[3]
7816-3
《Identification cards - Integrated circuit(s) cards with contacts, Part 3: Electronic signals and transmission protocols》
ISO/IEC
[4]
7816-4
《Identification cards - Integrated circuit(s) cards with contacts, Part 4: Interindustry commands for interchange》
ISO/IEC
[5]
7816-5
《Identification cards - Integrated circuit(s) cards with contacts, Part 5: Numbering system and registration procedure for application identifiers》
ISO/IEC
[6]
《手机支付系统密钥管理技术规范—PSAM卡分册》
中国移动通信有限公司
[7]
《中国移动手机支付业务规范—总册及远程支付部分》
中国移动通信有限公司
[8]
《中国移动手机支付业务规范—现场支付分册》
中国移动通信有限公司
[9]
《中国移动手机支付业务总体技术要求—总册及远程支付部分》
中国移动通信有限公司
[10]
《中国移动手机支付业务总体技术要求—现场支付部分》
中国移动通信有限公司
[11]
《中国金融集成电路(IC)卡规范》V2.0
中国人民银行
3. 术语、定义和缩略语
3.1 术语、定义
下列术语、定义适用于本标准:
表 32
词语
解释
透明结构
EF在接口侧可以视为数据单元序列
记录结构
EF在接口侧可以视为可独立标识的记录序列
终端
如无特殊说明,本规范中提及的终端均指POS终端
3.2 缩略语
下列缩略语适用于本标准:
表 32
词语
解释
ADF
Application Data File(应用数据文件)
AEF
Application Elementary File(应用基本文件)
AID
Application IDentifier(应用程序标识)
APDU
Application Protocol Data Unit(应用协议数据单元)
CLA
Class Byte(类型字节)
DDF
Directory Data File(目录数据文件)
DF
Dedicated File(专用文件)
EF
Elementary File(基本文件)
FCI
File Control Information(文件控制信息)
INS
Instruction Byte(指令字节)
MF
Master File(主控文件)
PBOC
The People’s Bank of China(中国人民银行)
PSA
Payment System Application(支付系统应用)
PSE
Payment System Environment(支付系统环境)
PSAM
Purchase Secure Access Module(消费安全存取模块)
SFI
Short File Identifier(短文件标识符)
4. 机电特性、逻辑接口与传输协议
PSAM卡的电气特性、机械特性、字符的物理传送、复位应答及传输协议遵从ISO/IEC 7816系列标准及《中国金融集成电路(IC)卡电子钱包/电子存折规范》V2.0第1部分第5节。
5. 文件结构
PSAM卡用于商户POS、网点终端、直联终端等末端设备上,负责机具的安全控管。PSAM卡具有一定的通用性,经过个人化处理的PSAM卡能够在不同的机具上使用。
PSAM卡支持多级发卡机制,各级发卡方在PSAM卡主控密钥和应用主控密钥的控制下创建文件和装载密钥。
5.1 文件结构
PSAM卡的文件结构符合ISO/IEC 7816-4。
本部分描述了符合本规范的应用文件结构,这些应用被定义为支付系统应用(PSA),包括中国移动手机支付应用ADF和其它应用ADF。
符合ISO/IEC7816-4,但不符合本规范的其它应用也可出现在PSAM卡上,并可以使用本规范中定义的命令进行操作。
PSAM卡中PSA的路径可以通过明确选择支付系统环境(PSE)来激活。
PSAM卡文件结构如图5.1所示。
5.2 MF区域说明
在PSAM卡的MF区域中,文件创建和密钥装载是在PSAM卡主控密钥的控制下进行的。
5.2.1 DIR目录数据文件
DIR目录数据文件的说明参考ISO/IEC 7816-5,但DIR目录数据文件的入口地址必须包括中国移动手机支付应用ADF。
5.2.2 PSAM卡主控密钥
PSAM卡主控密钥是PSAM卡的控制密钥,由PSAM卡生产商写入,由发卡方替换为发卡方的PSAM卡主控密钥。PSAM卡主控密钥的更新在自身的控制下进行。发卡方必须在PSAM卡主控密钥的控制下:
l 创建PSAM卡MF区域的文件;
l 装载PSAM卡维护密钥、应用主控密钥;
l 更新PSAM卡主控密钥、PSAM卡维护密钥。
PSAM卡主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。
图5.1 PSAM卡文件结构
5.2.3 PSAM卡维护密钥
PSAM卡维护密钥用于PSAM卡MF区域的应用维护,在PSAM卡主控密钥的控制下装载和更新。PSAM卡的管理者可在PSAM卡维护密钥的控制下:
l 安全更新MF区域的记录文件;
l 安全更新MF区域的二进制文件。
PSAM卡维护密钥的控制通过安全报文的方式实现。
5.2.4 PSAM卡公共信息文件
PSAM卡公共信息文件存放PSAM卡的公共信息,在PSAM卡主控密钥的控制下创建,可自由读,可在PSAM卡维护密钥的控制下更新。PSAM卡公共信息文件的具体格式参见附录A.1。
5.2.5 终端信息文件
终端信息文件存放终端的信息,在PSAM卡主控密钥的控制下创建,可自由读,可在PSAM卡维护密钥的控制下更新。终端信息文件的具体格式参见附录A.2。
5.3 ADF区域说明
在PSAM卡的ADF区域中,文件创建和密钥装载是在应用主控密钥的控制下进行。ADF下的文件结构可由应用发行者自行确定。
中国移动手机支付应用ADF的文件结构必须包括应用主控密钥、应用维护密钥、应用主工作密钥、应用公共数据文件和终端应用交易序号数据元。
5.3.1 应用主控密钥
应用主控密钥是应用的控制密钥,在PSAM卡主控密钥控制下装载,在应用主控密钥控制下更新。发卡方必须在应用主控密钥的控制下:
l 装载应用维护密钥、应用主工作密钥;
l 更新应用主控密钥、应用维护密钥和应用主工作密钥。
应用主控密钥的控制可通过外部认证操作实现,也可通过安全报文的方式实现。
5.3.2 应用维护密钥
应用维护密钥用于PSAM卡ADF区域的应用维护,在应用主控密钥的控制下装载和更新。PSAM卡的管理者可在应用维护密钥的控制下:
l 安全更新记录文件;
l 安全更新二进制文件;
l 进行应用解锁。
应用维护密钥的控制通过安全报文的形式实现。
5.3.3 应用主工作密钥
应用主工作密钥用于PSAM卡的交易,在应用主控密钥的控制下装载和更新。对于现场脱机支付应用,应用主控密钥即消费密钥。
5.3.4 应用公共信息文件
应用公共信息文件存放应用的公共信息,在应用主控密钥的控制下创建,可自由读,可在应用维护密钥的控制下改写。应用公共信息文件的详细格式参见附录A.3。
5.3.5 终端应用交易序号数据元
终端应用交易序号长度为4字节,用于终端的脱机交易,在消费交易MAC2验证通过的情况下,由PSAM卡操作系统改写。
终端应用交易序号只对本应用有效。
6. APDU命令
命令APDU及响应APDU的格式符合ISO/IEC 7816-4。
6.1 选择文件(SELECT)
6.1.1 定义和范围
SELECT命令通过文件名或AID来选择PSAM卡中的PSE、DDF或ADF。命令执行成功后,PSE、DDF或ADF的路径被设定。后续的APDU命令将采用SFI方式联系到所选定的PSE、DDF或ADF。
来自PSAM卡的响应报文应由回送的FCI组成。
6.1.2 命令报文
SELECT命令报文见表6-1:
表6-1 SELECT命令报文
代码
值
CLA
00h
INS
A4h
P1
引用控制参数(见表6-2)
P2
00h:第一个或仅有一个
02h:下一个(注:必须先使用00h,才能使用02h)
Lc
05h~10h
Data
文件名
Le
00h
表6-2 SELECT命令引用控制参数P1
b8
b7
b6
b5
b4
b3
b2
b1
含义
0
0
0
0
0
1
通过文件名选择
0
0
6.1.3 命令报文数据域
命令报文数据域应包括所选择的PSE、DDF或ADF的名称或AID。
6.1.4 响应报文数据域
响应报文数据域应包括所选择PSE、DDF或ADF的FCI
表6-3定义了成功选择PSE后回送的FCI:
表6-3 SELECT PSE的响应报文(FCI)
标志
值
存在方式
'6F'
FCI模板
M
'84'
DF名
M
'A5'
FCI专用数据
M
'88'
目录基本文件的SFI
M
'9F0C'
发卡方自定义数据的FCI(见表6-4)
M
表6-4定义了SELECT PSE的响应报文中的发卡方自定义数据的FCI内容(MF下的SFI为21、22的文件内容):
表6-4 SELECT PSE的响应报文中的发卡方自定义数据的FCI
字节
数据元
长度
1-10
PSAM序列号
10
11
PSAM版本号
1
12
密钥卡类型
1
13
指令集版本(参见附录B)
1
14
发卡方自定义FCI数据
1
15-20
终端机编号
6
表6-5定义了成功选择DDF后回送的FCI:
表6-5 SELECT DDF的响应报文(FCI)
标志
值
存在方式
'6F'
FCI模板
M
'84'
DF名
M
'A5'
FCI专用数据
M
'88'
目录基本文件的SFI
M
表6-6定义了成功选择ADF后回送的FCI:
表6-6 SELECT ADF的响应报文(FCI)
标志
值
存在方式
'6F'
FCI模板
M
'84'
DF名
M
'A5'
FCI专用数据
M
'9F0C'
发卡方自定义数据的FCI
O
表6-7定义了SELECT ADF的响应报文中的发卡方自定义数据的FCI内容(ADF下的SFI为23的文件内容):
表6-7 SELECT ADF的响应报文中的发卡方自定义数据的FCI
字节
数据元
长度
1
交易密钥索引号
1
2-9
全国应用发行者标识
8
10-17
应用接收者标识
8
18-21
应用启用日期
4
22-25
应用有效日期
4
6.1.5 状态码
执行成功返回9000h。表6-8为错误状态码:
表6-8 SELECT命令状态码
SW1
SW2
含义
‘62’
‘83’
选中的文件无效
‘62’
‘84’
FCI格式与P2指定不符
‘64’
‘00’
标志状态位没变
‘67’
‘00’
长度错误
‘6A’
‘81’
应用锁定
‘6A’
‘82’
该文件未找到
‘6A’
‘86’
P1或P2不正确
‘6D’
‘00’
INS不正确
‘6E’
‘00’
CLA不正确
‘93’
‘03’
应用被永久锁定
‘61’
‘xx’
需发出GET RESPONSE命令
6.2 读记录文件(READ RECORD)
6.2.1 定义和范围
READ RECORD命令用于读取记录文件中的内容。
PSAM卡的响应由回送的记录数据组成。
6.2.2 命令报文
READ RECORD命令报文见表6-9:
表6-9 READ RECORD命令报文
代码
值
CLA
00h
INS
B2h
P1
记录的序号
P2
引用控制参数(见表6-10)
Lc
不存在;
Data
不存在;
Le
00h
表6-10 READ RECORD命令引用控制参数
b8
b7
b6
b5
b4
b3
b2
b1
含义
X
X
X
X
X
SFI
1
0
0
P1为记录的序号
6.2.3 命令报文数据域
命令报文数据域不存在。
6.2.4 响应报文数据域
所有执行成功的READ RECORD命令响应报文数据域由读取的记录组成。
6.2.5 状态码
执行成功返回9000h。表6-11为错误状态码:
表6-11 READ RECORD命令状态码
SW1
SW2
含义
62
81
回送的数据可能有错
67
00
长度错误
68
82
不支持安全报文
69
81
命令与文件结构不相容,当前文件非所需文件
69
82
操作条件不满足
69
85
使用条件不满足(应用被锁定)
69
86
不满足命令执行条件,当前文件不是EF
6A
81
不支持此功能,应用暂时锁定
6A
82
该文件未找到
6A
83
记录未找到
6A
86
P1或P2不正确
6C
xx
Le长度错误,实际长度是xx
6D
00
INS不正确
6E
00
CLA不正确
93
03
应用被永久锁定
61
Xx
需发出GET RESPONSE命令
6.3 写记录文件(UPDATE RECORD)
6.3.1 定义和范围
UPDATE RECORD命令用命令APDU中给定的数据更改指定的记录。在使用当前记录地址时,该命令将在修改记录成功后重新设定记录指针。在使用安全报文更新记录时,若安全报文连续三次出错,则永久锁定PSAM卡上当前应用。
6.3.2 命令报文
UPDATE RECORD命令报文见表6-12:
表6-12 UPDATE RECORD命令报文
代码
值
CLA
00h或04h
INS
DCh
P1
P1=00h:表示当前记录
P1¹00h:指定的记录号
P2
见表6-13
Lc
后续数据域长度
Data
输入数据
Le
不存在
表6-13 UPDATE RECORD命令引用控制参数
b8
b7
b6
b5
b4
b3
b2
b1
含义
X
X
X
X
X
SFI
0
0
0
第一个记录
0
0
1
最后一个记录
0
1
0
下一个记录
0
1
1
上一个记录
1
0
0
记录号在P1中给出
其余值
RFU
6.3.3 命令报文数据域
命令报文数据域由更新原有记录的新记录组成。使用安全报文时,命令报文的数据域中应包括MAC。MAC是由PSAM卡维护密钥或应用维护密钥对更新原有记录的新记录计算而得到的。
6.3.4 响应报文数据域
响应报文数据域不存在。
6.3.5 状态码
执行成功返回9000h。表6-14为错误状态码:
表6-14 UPDATE RECORD 命令状态码
SW1
SW2
含义
64
00
标志状态位没变
65
81
内存失败
69
00
不能处理
69
81
命令与文件结构不相容,当前文件非所需文件
69
82
操作条件不满足
69
84
随机数无效
69
85
使用条件不满足(应用被锁定)
69
86
不满足命令执行条件,当前文件不是EF
69
87
MAC丢失
69
88
MAC不正确
6A
82
该文件未找到
6A
83
记录未找到
6A
86
P1或P2不正确
6C
xx
Le长度错误,实际长度是xx
6D
00
INS不正确
6E
00
CLA不正确
93
03
应用被永久锁定
6.4 读二进制文件(READ BINARY)
6.4.1 定义和范围
READ BINARY命令用于读取二进制文件的内容(或部分内容)。
6.4.2 命令报文
READ BINARY命令报文见表6-15:
表6-15 READ BINARY命令报文
代码
值
CLA
00h
INS
B0h
P1
见表6-16
P2
从文件中读取的第一个字节的偏移地址
Lc
不存在
Data
不存在
Le
00
表6-16 READ BINARY命令引用控制参数
b8
b7
b6
b5
b4
b3
b2
b1
含义
X
读取模式:
-1:用SFI方式,b5~b1标明SFI;
-0:对选定的EF进行操作,需要先选定某个EF
0
0
RFU(如果b8=1)
X
X
X
X
X
SFI(取值范围21-30)
6.4.3 命令报文数据域
命令报文数据域不存在。
6.4.4 响应报文数据域
当Le的值为0时,只要文件的最大长度在255(短长度)或65535(扩展长度)之内,则其全部字节将被读出。
6.4.5 状态码
执行成功返回9000h。表6-17为错误状态码:
表6-17 READ BINARY命令状态码
SW1
SW2
含义
62
81
回送的数据可能有错
62
82
文件长度小于Le
67
00
长度错误
68
82
不支持安全报文
69
00
不能处理
69
81
命令与文件结构不相容,当前文件非所需文件
69
82
操作条件不满足
69
85
使用条件不满足(应用被锁定)
69
86
不满足命令执行条件,当前文件不是EF
6A
81
不支持此功能,应用暂时被锁定
6A
82
该文件未找到
6A
86
P1或P2不正确
6B
00
参数错误(偏移量超出EF)
6C
xx
Le长度错误,实际长度是xx
6D
00
INS 不正确
6E
00
CLA不正确
93
03
应用被永久锁定
6.5 写二进制文件(UPDATE BINARY)
6.6.1 定义和范围
UPDATE BINARY命令用命令APDU中给定的数据修改EF文件中已有的数据。
6.6.2 命令报文
UPDATE BINARY命令报文见表6-18:
表6-18 UPDATE BINARY命令报文
代码
值
CLA
00h或04h
INS
D6h
P1
见表6-19
P2
要修改的第一个字节的偏移地址
Lc
后续数据域的长度
Data
修改用的数据
Le
不存在
表6-19 UPDATE BINARY命令引用控制参数
b8
b7
b6
b5
b4
b3
b2
b1
含义
X
读取模式:
-1:用SFI方式,b5~b1标明SFI;
-0:对选定的EF进行操作,需要先选定某个EF
0
0
RFU(如果b8=1)
X
X
X
X
X
SFI(取值范围21-30)
6.6.3 命令报文数据域
命令报文数据域包括更新原有数据的新数据。使用安全报文时,命令报文的数据域中应包括MAC。MAC是由PSAM卡维护密钥或应用维护密钥对更新原有数据的新数据计算而得到的。
6.6.4 响应报文数据域
响应报文数据域不存在。
6.6.5 状态码
执行成功返回9000h。表6-20为错误状态码:
表6-20 UPDATE BINARY 命令状态码
SW1
SW2
含义
64
00
标志状态位没变
65
81
内存失败
67
00
长度错误(Lc为空)
69
00
不能处理
69
81
命令与文件结构不相容,当前文件非所需文件
69
82
操作条件不满足
69
84
随机数无效
69
85
使用条件不满足(应用被锁定)
69
86
不满足命令执行条件,当前文件不是EF
69
87
MAC丢失
69
88
MAC不正确
6A
82
该文件未找到
6A
83
记录未找到
6A
86
P1或P2不正确
6B
00
参数错误(偏移量超出EF)
6D
00
INS不正确
6E
00
CLA不正确
93
03
应用被永久锁定
6.6 外部认证(EXTERNAL AUTHENTICATION)
6.6.1 定义和范围
EXTERNAL AUTHENTICATION命令用于实现PSAM卡外部安全认证。计算的方法是利用PSAM卡中的PSAM卡主控密钥或应用主控密钥,对PSAM卡产生的随机数(使用GET CHALLENGE命令)和接口设备传输进来的认证数据进行验证。在使用外部认证命令时,若连续三次出错,则无法使用同该密钥相关的命令。
6.6.2 命令报文
EXTERNAL AUTHENTICATION命令报文见表6-21:
表6-21 EXTERNAL AUTHENTICATION命令报文
代码
值
CLA
00h
INS
82h
P1
00h
P2
00h
Lc
08h
Data
发卡方认证数据
Le
不存在
6.6.3 命令报文数据域
命令报文数据域中包含8字节的加密数据,该数据是用主控密钥对此命令前一条命令“GET CHALLENGE”命令获得的随机数后缀“00 00 00 00”之后做3DES加密运算产生的。
6.6.4 响应报文数据域
响应报文数据域不存在。
6.6.5 状态码
执行成功返回9000h。表6-22为错误状态码:
表6-22 EXTERNAL AUTHENTICATION命令状态码
SW1
SW2
含义
63
00
外部认证失败
64
00
标志状态位没变
67
00
长度错误(Lc为空)
69
83
认证方法锁定
69
84
随机数无效
69
85
使用条件不满足(应用被锁定)
6A
81
不支持此功能
6A
86
P1或P2不正确
6D
00
INS不正确
6E
00
CLA不正确
93
03
应用被永久锁定
6.7 取响应数据(GET RESPONSE)
6.7.1 定义和范围
当APDU不能用现有协议传输时,GET RESPONSE命令提供了一种从PSAM卡向接口设备传送APDU(或APDU的一部分)的传输方法。
6.7.2 命令报文
GET RESPONSE命令报文见表6-23:
表6-23 GET RESPONSE命令报文
代码
值
CLA
00h
INS
C0h
P1
00h
P2
00h
Lc
不存在
Data
不存在
Le
期望数据的最大长度
6.7.3 命令报文数据域
命令报文数据域不存在。
6.7.4 响应报文数据域
响应报文数据域的长度由Le的值决定。如果Le的值为0,在后续数据有效时,PSAM卡必须回送状态码‘6Cxx’,否则‘6F00’。
6.7.5 状态码
执行成功返回9000h。表6-24为错误状态码:
表6-24 GET RESPONSE 命令状态码
SW1
SW2
含义
62
81
回送的数据可能有错
67
00
长度错误(Le为空)
6A
81
不支持此功能,应用被锁定
6A
86
P1或P2不正确
6C
xx
Le长度错误,实际长度是xx
6D
00
INS不正确
6E
00
CLA不正确
6F
00
数据无效
6.8 取随机数(GET CHALLENGE)
6.8.1 定义和范围
GET CHALLENGE命令用于从PSAM卡中获得一个长度为4字节的随机数。该随机数服务于安全过程(安全报文、外部认证),下一个命令必须使用该随机数,否则该随机数失效。
6.8.2 命令报文
GET CHALLENGE命令报文见表6-25:
表6-25 GET CHALLENGE命令报文
代码
值
CLA
00h
INS
84h
P1
00h
P2
00h
Lc
不存在
Data
不存在
Le
04h
6.8.3 命令报文数据域
命令报文数据域不存在。
6.8.4 响应报文数据域
PSAM卡产生的随机数,长度为4字节。
6.8.5 状态码
执行成功返回9000h。表6-26为错误状态码:
表6-26 GET CHALLENGE 命令状态码
SW1
SW2
含义
67
00
长度错误(Lc为空)
6A
81
不支持此功能,应用被锁定
6A
86
P1或P2不正确
6D
00
INS不正确
6E
00
CLA不正确
93
03
应用被永久锁定
6.9 写入密钥(WRITE KEY)
6.9.1 定义和范围
WRITE KEY命令可向卡中装载(第一次写入)密钥或更新卡中已存在的密钥。本命令可支持8字节或16字节的密钥,密钥写入必须采用加密的方式,在主控密钥(PSAM卡主控密钥或应用主控密钥)的控制下进行。
在密钥装载前必须用GET CHANLLEGE命令从PSAM卡取一个4字节的随机数。
6.9.2 命令报文
WRITE KEY命令报文见表6-27:
表6-27 WRITE KEY命令报文
代码
值
CLA
84h
INS
D4h
P1
00h
P2
00h
Lc
14h或1Ch
Data
密钥密文信息||MAC
Le
不存在
6.9.3 命令报文数据域
命令报文数据域包括要装载的密钥密文信息和MAC。
密钥密文信息是用主控密钥对以下数据加密(按所列顺序)产生的:
——密钥用途(参见《手机支付系统密钥管理技术规范—PSAM卡分册》)
——密钥版本
——密钥算法标识(参见《手机支付系统密钥管理技术规范—PSAM卡分册》)
——密钥值
MAC是用主控密钥对下数据进行MAC计算(按所列顺序)产生的:
——CLA
——INS
——P1
——P2
——Lc
——密钥密文信息
加密和MAC计算的方法参见《手机支付系统密钥管理技术规范—PSAM卡分册》。
装载8字节的单长度密钥时,数据长度为14h;装载16字节的双长度密钥时,数据长度为1Ch。
6.9.4 响应报文数据域
响应报文数据域不存在。
6.9.5 状态码
执行成功返回9000h。表6-28为错误状态码:
表6-28 WRITE KEY 命令状态码
SW1
SW2
含义
65
81
内存失败
67
00
长度错误
69
81
命令与文件结构不相容,当前文件非所需文件
69
82
操作条件不满足
69
84
随机数无效
69
85
使用条件不满足(应用被锁定)
69
86
不满足命令执行条件,当前文件不是EF
69
87
MAC丢失
69
88
MAC不
展开阅读全文