47手机支付业务PSAM卡发卡加密机接口规范V100.docx
- 文档编号:29911290
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:16
- 大小:33.44KB
47手机支付业务PSAM卡发卡加密机接口规范V100.docx
《47手机支付业务PSAM卡发卡加密机接口规范V100.docx》由会员分享,可在线阅读,更多相关《47手机支付业务PSAM卡发卡加密机接口规范V100.docx(16页珍藏版)》请在冰豆网上搜索。
47手机支付业务PSAM卡发卡加密机接口规范V100
中国移动通信企业标准
QB-F-014-2008
手机支付业务PSAM卡发卡加密机接口规范
PSAMCardMachineInterfaceSpecificationofCMCCMobilepaymentserviceBasedoncontactlesstechnology
版本号:
1.0.0
2009-4-10实施
2009-4-10发布
中国移动通信集团公司发布
目录
1.范围1
2.规范性引用文件1
3.术语、定义和缩略语1
4.概述1
5.密钥导出/导入(传输)接口2
6.卡片厂商密钥装载2
7.发卡接口3
7.1.通信协议3
7.2.TLV对象定义3
7.2.1.数据类型说明3
7.2.2.数据域4
7.2.3.命令5
7.3.指令接口说明5
7.3.1.密钥导出指令5
7.3.2.数据计算指令6
7.3.3.错误码7
8.编制历史8
前言
本标准规定了手机支付全国密钥管理中心和手机支付省密钥管理中心的PSAM卡发卡加密机的接口要求,包括密钥导出/导入(传输)接口、卡片厂商密钥装载接口以及发卡接口。
本标准是中国移动手机支付业务密钥管理加密机系列标准之一,该系列标准的结构、名称或预计的名称如下:
序号
标准编号
标准名称
[1]
QB-F-010-2009
手机支付业务密钥管理加密机接口规范
[2]
QB-F-011-2009
手机支付业务密钥管理系统设备规范
[3]
QB-F-012-2009
手机支付业务用户卡发卡加密机接口规范
[4]
QB-F-013-2009
手机支付业务用户卡发卡系统设备规范
[5]
QB-F-014-2009
手机支付业务PSAM卡发卡加密机接口规范
[6]
QB-F-015-2009
手机支付业务PSAM卡发卡系统设备规范
本标准由中移技〔2009〕97号印发。
本标准由中国移动通信集团公司市场经营部提出,集团公司技术部归口。
本标准起草单位:
中国移动通信研究院
本标准主要起草人:
任晓明、柏洪涛、刘斐
1.范围
本标准规定了手机支付全国密钥管理中心和手机支付省密钥管理中心的PSAM卡发卡加密机的接口要求,包括密钥导出/导入(传输)接口、卡片厂商密钥装载接口以及发卡接口。
2.规范性引用文件
下列文件中的条款通过本标准的引用而成为本标准的条款。
凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究是否可使用这些文件的最新版本。
凡是不注日期的引用文件,其最新版本适用于本标准。
表2-1
[1]
QB-F-009-2009
《手机支付业务密钥安全管理总体技术要求》
中国移动通信有限公司
3.术语、定义和缩略语
下列术语、定义和缩略语适用于本标准:
表3-1
词语
解释
4.概述
本规范所要求PSAM卡发卡加密机提供的标准接口如下图所示,其中各接口名称如下:
1卡商密钥装载接口
2发卡接口
3密钥导出/导入(传输)接口
5.密钥导出/导入(传输)接口
具体要求参见《中国移动手机支付业务-密钥管理加密机接口规范》中的“密钥导出/导入(传输)接口”要求。
手机支付全国密钥管理中心和手机支付省密钥管理中心的PSAM卡发卡加密机的接口要求如下表所示:
功能
手机支付全国密钥管理中心
认证卡接口(签发)
×
认证卡接口(导入)
√
认证卡接口(导出)
×
传输卡接口(签发)
√
传输卡接口(导入)
√
传输卡接口(导出)
×
上表中“√”表示必须支持的功能,“×”表示必须禁止的功能。
6.卡片厂商密钥装载
PSAM卡发卡加密机发卡之前,首先需要将卡商提供的本批次卡片主控密钥注入加密机,该主控密钥可以以硬拷贝方式提供。
以硬拷贝方式提供的卡商卡片主控密钥,相关要求如下:
项目
要求
码单数量
1个
码单构成
由32个16进制字符构成(16个字节)
码单输入方式
通过加密机的输入设备手工录入
7.发卡接口
8.通信协议
PSAM卡发卡加密机与发卡系统之间的通信采用TCP协议,请求及响应报文格式采用TLV包结构,如下所示:
Len
Command
T
L
V
T
L
V
T
L
V
…
T
L
V
其中:
●Len:
Len域之后的所有数据长度(不包括Len)
●Command:
数据报文所承载的指令类型
●TLV数据结构说明:
◆T:
Tag,定长2个字节,取值范围0x0000~0xFFFF。
◆L:
Length,定长2个字节,取值范围0x0000~0xFFFF,表示0~65535。
◆V:
Value,长度为L的数据,当L=0时,则V为空。
TLV对象存在性标识说明:
本文档使用M/O/C标识TLV对象的三种存在性
●M:
必选。
属性为M的TLV对象必须出现在报文中。
允许V的长度为0。
●C:
如条件成立,则属性为C的TLV对象应出现在报文中。
条件不成立时,则整个TLV对象都不应出现在报文中。
●O:
可选。
标记为O的TLV对象可以出现在报文中,也可不出现在报文中。
9.TLV对象定义
数据类型说明
所有输入和输出数据均采用16进制数据,以“B”表示,即0—9、A—F,长度以字节为单位。
对于大于一个字节的整型数据,高字节在前,低字节在后。
数据域
本接口中所采用的数据域如下表所示:
数据域
TAG
数据类型
说明
最大长度(byte)
KeyType
0001
B
密钥类型
1
KeyAreaNum
0002
B
密钥区号(0--7)
1
KeyVer
0003
B
密钥版本
1
KeyIndex
0004
B
密钥索引
1
EncKeyVer
0005
B
保护密钥版本
1
EncKeyIndex
0006
B
保护密钥索引
1
DvsFlag
0007
B
用于指定分散因子是否有效(可以按位定义)
1
KeyDvsNum
0008
B
离散次数
1
KeyDvsDataLen
0009
B
离散因子长度
1
KeyDvsData
000A
B
可选域,由标志决定
8
EncKeyDvsNum
000B
B
保护密钥离散次数
1
EncKeyDvsDataLen
000C
B
保护密钥离散因子长度
1
EncKeyDvsData
000D
B
可选域,由分散标志决定
8
EncAlg
000E
B
传输加密算法
0x00:
SSF33算法;
0x02:
3DES算法;
可以扩展定义其它算法
1
KeyHeaderLen
000F
B
密钥头信息长度
1
KeyHeader
0010
B
卡片的密钥属性信息,头信息长度及内容,由所发用户卡操作系统决定
N
MacIvData
0011
B
用于MAC计算的初始向量
8
CIPP
0012
B
卡片进行密钥安全更新时的CLS、INS、P1、P2数据
4
IniAlg
0013
B
0:
直接用此密钥进行计算
1:
将此密钥经过分散后用来进行计算
2:
密钥经过左右异或产生单长度密钥用来进行计算
3:
密钥经过分散后,经过左右异或产生单长度密钥用来进行计算
4:
密钥对指定数据加密后,产生单长度密钥进行计算
5:
密钥经过分散后,对指定数据加密产生单长度密钥进行计算
1
KeyGenData
0014
B
产生单长度密钥的数据(可选域)
8
SevType
0015
B
0:
加密;2:
MAC计算;其它保留
1
ReqDataLen
0016
B
请求数据的长度
2
ReqData
0017
B
请求数据
N
MacVal
0018
B
用导出密钥(如需分散则采用分散后的值)计算的MAC值,进行MAC计算的数据为:
随机因子+CIPP+(密文长度+4)+密钥密文。
用相应的传输算法计算MAC值
4
CipherDataLen
0019
B
密钥密文的长度(以字节为单位)
1
CipherData
001A
B
用保护密钥(如需分散则采用分散后的值)加密如下数据所得,所有数据长度(即密钥头信息长度加上工作密钥长度,1字节)+用密钥头信息+工作密钥(如需分散采用分散后的值)
N
OutDataLen
001B
B
第一个字节为长度的高8位;第二个字节为长度的低8位
2
OutData
001C
B
计算结果
N
ReturnCode
001D
B
返回码
1
命令
PSAM卡发卡加密机发卡接口支持如下两种命令类型:
COMMAND
TAG
说明
KeyExport
0901
密钥导出指令
DataEncrypt
0902
数据计算指令,用于加密或MAC计算
10.指令接口说明
密钥导出指令
在PSAM卡发卡加密机内部,用导出密钥和相应的算法将工作密钥加密后,将密文通过网络输出。
相应的输入/输出指令报文要求如下:
●输入
密钥导出指令的输入报文格式如下:
数据/命令
M/O
长度(byte)
说明
Length
M
2
指令长度
KeyExportTag
M
2
指令TAG
KeyAreaNum
M
1
密钥区号
KeyType
M
1
密钥类型
KeyVer
M
1
密钥版本
KeyIndex
M
1
密钥索引
EncKeyVer
M
1
保护密钥版本
EncKeyIndex
M
1
保护密钥索引
EncAlg
M
1
加密算法
KeyHeaderLen
M
1
密钥头长度
KeyHeader
M
N
密钥头信息
MacIvData
M
8
MAC初始化向量
CIPP
M
4
CIPP值
DvsFlag
M
1
分散标志
KeyDvsNum
C
1
密钥分散次数
KeyDvsDataLen
C
1
密钥分散因子长度
KeyDvsData
C
8
密钥分散因子
EncKeyDvsNum
C
1
保护密钥分散次数
EncKeyDvsDataLen
C
1
保护密钥分散因子长度
EncKeyDvsData
C
8
保护密钥分散因子
●输出
密钥导出指令的输出报文格式如下:
数据/命令
M/O
长度(byte)
说明
Length
M
2
指令长度
KeyExportTag
M
2
指令TAG
ReturnCode
M
1
见“错误码”部分的说明
MacVal
M
4
MAC值
CipherDataLen
M
1
密钥密文的长度(以字节为单位)
CipherData
M
N
密文数据
数据计算指令
对于需要向卡片内写入卡片数据(MF区域)或向卡片写入应用数据(ADF区域),均需要在相应的密钥控制下完成,因此需要向加密机传递相应的指令,由加密机返回加密后的数据。
相应的输入/输出指令如下:
●输入
数据计算指令的输入报文格式如下:
数据/命令
M/O
长度(byte)
说明
Length
M
2
指令长度
DataEncryptTag
M
2
指令TAG
KeyAreaNum
M
1
密钥区号
KeyType
M
1
密钥类型
KeyVer
M
1
密钥版本
KeyIndex
M
1
密钥索引
IniAlg
M
1
见输入数据说明1
DvsDataLen
O
1
固定为8
DvsData
O
8
密钥分散因子(可选域)
KeyGenData
O
8
产生单长度密钥的数据(可选域)
SevType
M
1
0:
加密;2:
MAC计算;其它保留
ReqDataLen
M
2
见输入数据说明2
ReqData
M
N
做MAC时前8字节为初始化向量
●输出
数据计算指令的输出报文格式如下:
数据/命令
M/O
长度(byte)
说明
Length
M
2
指令长度
DataEncryptTag
M
2
数据计算指令TAG
ReturnCode
M
1
见“错误码”部分的说明
OutDataLen
M
2
输出数据的长度
OutData
M
N
计算结果
错误码
密钥导出指令和数据计算指令的错误码定义如下:
错误码
说明
0x00
命令执行正确
0x02
命令长度错误
0x04
密钥不存在
0x06
密钥类型非法
0x08
密钥导出属性错误
0x0A
MAC校验错误
0x0C
密钥区错误
0x0E
密钥不可导出
0x20
导出密钥不存在
0x22
缺少分散因子
0x24
分散因子长度错误
0x26
密钥计算初始化方式错误
0x28
密钥不可分散
0x2A
密钥版本错误
0x2C
密钥索引错误
0x2E
算法错误
0x30
密钥头长度错误
0x32
密钥头信息不存在
0x34
CIPP参数错误
0x36
MAC初始化向量错误
0x38
初始化类型错误
0x3A
密钥服务类型错误
0x3C
请求数据长度错误
0x3E
请求数据不存在
11.编制历史
版本号
更新时间
主要内容或重大修改
1.0.0
2009-3-4
1.0.0版本;编号:
QB-F-014-2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 47 手机 支付 业务 PSAM 发卡 加密 接口 规范 V100