当前位置:首页 >> 信息与通信 >>

中国银联移动支付技术规范 第2卷 智能卡支付技术规范 第1部分 智能卡卡片技术规范


ICS

Q/CUP
中国银联股份有限公司企业标准
Q/CUP 037.2.1—2011

中国银联移动支付技术规范 第 2 卷:智能卡支付技术规范 第 1 部分 智能卡卡片技术规范
Mobile Payment Specifications Volume 2 Smartcard Payment Specifi

cations Part 1 Technical Specification on Smartcard

2011-06-16 发布

2011-06-16 实施 发布

中国银联股份有限公司

Q/CUP 037.2.1—2011





1 范围 ................................................................................ 1 2 规范性引用文件 ...................................................................... 1 3 移动支付智能卡应用模式及结构 ........................................................ 1 4 移动支付智能卡物理接口 .............................................................. 3 5 移动支付智能卡逻辑接口 .............................................................. 9 6 移动支付智能卡应用要求 ............................................................. 20 7 移动支付智能卡通用安全要求 ......................................................... 50 8 安全芯片 ........................................................................... 51 附 录 A (规范性附录) 基于双界面卡的移动支付实现方案 .............................. 53 A.1 基于双界面卡的移动支付智能卡的一种方案 ........................................... 53 附 录 B (资料性附录) 非接触式 IC 卡的银行(磁条)卡应用文件结构 ...................... 55 B.1 持卡人认证信息文件 ............................................................... 55 B.2 卡片信息文件 ..................................................................... 55 B.3 默认支付银行卡文件 ............................................................... 55 B.4 银行卡信息文件 ................................................................... 56 B.5 终端交易明细文件 ................................................................. 56 B.6 密钥信息文件 ..................................................................... 57

I

Q/CUP 037.2.1—2011





《中国银联移动支付技术规范》共分为四卷: ——第1卷:基础规范 ——第2卷:智能卡支付技术规范 ——第3卷:移动互联网支付技术规范 ——第4卷:短信支付技术规范 本部分为第2卷的第1部分。 本部分针对移动支付智能卡卡片技术规范进行规定,具体包括卡片的物理特性、电气特性、逻 辑接口和通讯协议、工作模式、通用功能性要求及通用安全性要求。 本部分由中国银联股份有限公司提出。 本部分起草单位: 中国银联股份有限公司、中国工商银行、中国农业银行、中国银行、中国建 设银行、交通银行、邮政储蓄银行、招商银行、中信银行、中国光大银行、中国民生银行、兴业银 行、浦东发展银行、深圳发展银行、广东发展银行、华夏银行、北京银行、上海银行、北京银联金 卡科技有限公司、中国金融电子化公司、银联数据服务有限公司、上海柯斯软件有限公司、北京同 方微电子有限公司、上海华虹集成电路有限责任公司、北京握奇数据系统有限公司、东信和平智能 卡股份有限公司、金雅拓科技上海有限公司、北京华大智宝电子系统有限公司、成都中联信通科技 有限公司、福建联迪商用设备有限公司、北京数码视讯科技股份有限公司等。 本部分主要起草人:柴洪峰、徐燕军、康建明、徐晋耀、单长胜、于晓滨、鲁志军、李伟、谭 颖、李洁、吴水炯、齐宁、孙曦、何朔、庄晓、孟宏文、施伟峰、张宇宏、董琳、廖泉、郑建宾、 史大鹏、廖志江、周新衡、童益柱、李同勋、杨夏耘、申莉、曾诤、李竹、边罡、麦博奇、杨志勇、 王超、钱菲、袁捷、郑元龙、李言平、唐邦富、陈明垓、卢文青、惠锦华、罗俊、梁万山、张晗、 于卫国、李一凡、吴俊、罗雯、丁义民、王晓丹、邹重人、谢辉、张志茂、雷霆、陈波、张江涛、 徐伟、郭伟、罗海云、李峰、李茁、陈跃、罗劲、赵亮、倪国荣、张雨佳。

II

Q/CUP 037.2.1—2011

中国银联移动支付技术规范 第2卷 智能卡支付的技术规范

第 1 部分 智能卡卡片规范
1 范围 本标准是移动支付业务相关的智能卡卡片的技术规范,包括对智能卡卡片的物理特性、电气特性、 逻辑接口和通讯协议、工作模式、通用功能性要求及通用安全性要求所做的具体规定。 本标准适用于从事中国移动支付业务的集成电路(IC)卡片的设计、制造、管理、发行、受理以及 相关应用系统的研制、开发、集成和维护的相关部门(单位)。 2 规范性引用文件 下列文件中的条款通过本标准的引用而成为本标准的条款。 凡是注日期的引用文件, 其随后所有的 修改单(不包括勘误的内容)或修订版均不适用于本标准,然而,鼓励根据本标准达成协议的各方研究 是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本标准。 ISO/IEC 14443-1 Identification cards — Contactless integrated circuit(s)cards Proximity cards Part 1: Physical characteristics ISO/IEC 14443-2 Identification cards-Contactless integrated circuit(s) cards-Proximity cards -Part 2: Radio frequency power and signal interface ISO/IEC 14443-3 Identification cards-Contactless integrated circuit(s) cards-Proximity cards -Part 3: Initialization and anticollision ISO/IEC 14443-4 Identification cards-Contactless integrated circuit(s) cards-Proximity cards -Part 4: Transmission protocol ETSI TS102 613 Smart Cards: UICC - Contactless Front-end (CLF) Interface; Part 1: Physical and data link layer characteristics ETSI TS102 622 Smart Cards; UICC - Contactless Front-end (CLF) Interface; Host Controller Interface (HCI) SWP Single Wire Protocol SD Card Specifications GB/T 22186-2008 具有中央处理器的集成电路(IC)卡芯片安全技术要求(评估保证级4增强级) GB/T16649 识别卡 带触点的集成电路卡 JR/T 0025.8 中国金融集成电路(IC)卡规范 第8部分 与应用无关的非接触式规范 JR/T 0025.11 中国金融集成电路(IC)卡规范 第11部分 非接触式IC卡通讯规范 Q/CUP 019-2010 非接触式读卡器规范 Q/CUP 009-2010 中国银联银联卡受理终端应用规范 Q/CUP 007-2010 中国银联银联卡受理终端安全规范 3 移动支付智能卡应用模式及结构
1

Q/CUP 037.2.1—2011 3.1 移动支付智能卡应用模式 3.1.1 SIM(UIM)卡模式 以移动设备中的 SIM 卡作为金融支付的安全芯片载体,在 SIM(UIM) 卡芯片中集成金融应用,所 有金融支付交易都由 SIM 卡进行安全管理的应用模式。 3.1.2 智能 SD 卡模式 以移动设备中的智能 SD 卡为金融支付的安全芯片载体,所有金融支付交易都由智能 SD 卡进行安 全管理的应用模式。 3.1.3 有接线支付配件模式 以通过数据接口或音频接口与移动设备进行连接的支付配件作为金融支付的安全芯片载体, 所有金 融支付交易都由有接线支付配件进行安全管理的应用模式。 3.2 安全芯片逻辑结构 3.2.1 SIM(UIM)卡安全芯片 SIM(UIM)卡安全芯片包括接触通道和非接触通道,接触通道完成电信应用和金融应用;非接触 通道完成金融应用。 接触通道和非接触通道应具有并发处理能力,并互不影响。

接 触 通 道

电 信 应 用

金 融 应 用

其 他 应 用

非 接 触 通 道

COS 硬件

图 1. SIM(UIM)卡逻辑结构图 3.2.2 智能 SD 卡安全芯片 智能 SD 卡安全芯片包括接触通道和非接触通道,接触通道完成存储应用和金融应用;非接触通 道完成金融应用。 接触通道和非接触通道接应具有并发处理能力,并互不影响。

接 触 通 道

金 融 应 用

其 他 应 用

COS

非 接 触 通 道

硬件
2

Q/CUP 037.2.1—2011 图 2. SD 卡逻辑结构图 3.2.3 有接线支付配件安全芯片 有接线支付配件安全芯片可包括接触通道和非接触通道。 接触通道和非接触通道都可完成金融应用 和其他应用。接触通道和非接触通道应互不影响。

接 触 通 道

金 融 应 用

其 他 应 用

COS

非 接 触 通 道

硬件

图 3. 有接线支付配件逻辑结构图 4 移动支付智能卡物理接口 4.1 SIM(UIM)卡 4.1.1 物理特性 SIM(UIM) 卡的物理特性应符合 GB/T16649 第 1 部分的要求。 4.1.2 接触通道的电气特性和传输协议 SIM(UIM) 卡的接触通道的接口电气特性和传输协议应符合 GB/T16649 第 2、3 部分的要求。 4.2 基于 SWP 协议的 SIM 卡扩展接口定义 4.2.1 硬件结构 基于CLF-SIM 的移动支付的核心部分包括天线、非接触射频前端电路(CLF)、SWP-SIM 卡,可以 在移动支付设备上实现非接触IC卡卡片功能。

3

Q/CUP 037.2.1—2011

基带 移动支付终端 I2C/SPI/UART 天线 SWP CLF

接触通道 GB/T16649 (ISO/IEC7816)

非接触通道

SIM

图 4. 基于 CLF-SIM 的移动支付智能卡方案架构图 CLF芯片和SIM卡之间应采用单线协议(Single Wire Protocol,SWP 8.0及以上版本)连接,单线 协议接口的电气特性和链路层传输协议应分别符合ETSI TS102 613的要求,其传输层协议应满足 ETSI TS102 622的要求。 4.2.2 SIM 卡尺寸 SIM(UIM) 卡的尺寸应符合 GB/T16649 第1部分的要求。 4.2.3 SIM 卡触点定义 SIM卡的触点分布如图5所示,其中C5、C6用于SWP协议通信:

VCC RST CLK D+

C1 C2 C3 C4

C5 C6 C7 C8

GND SWP I/O D-

图 5. SIM 卡触点 SIM卡触点定义如表1所示: 表 1. SIM(UIM)卡的触点定义

4

Q/CUP 037.2.1—2011 管脚号 C1 C2 C3 C4 C5 C6 C7 C8 名称 VCC RST CLK D+ GND SWPIO SIO D类型 P I/O I/O I/O I I/O I/O I/O 描述 电源电压 复位 时钟 USB 接口 D+ 地 SWP 接口 数据线 USB 接口 D-

4.2.4 SIM 卡座 SIM卡座支持SWP-SIM卡,也支持标准SIM(UIM)卡片。SIM插入时,将通过扩展的2个SWP触点与手 机上的CLF建立电气联接。 4.3 智能 SD 卡 4.3.1 物理特性 智能SD卡的物理特性应符合 《SD Card Specification》 V2.0 或以上版本的要求。 4.3.2 SD 安全芯片控制器 智能SD卡中的SD控制器芯片应具有接触式接口与智能 SD 卡内的智能卡安全芯片连接, 其接口应符 合 JR/T 0025.3-2010 的 要 求 。 智 能 SD 卡 中 的 SD 控 制 器 芯 片 的 SD 接 口 应 符 合 《 SD Card Specification》 V2.0 或以上版本的要求。 4.3.3 存储通道接口的电气特性和传输协议 智能SD卡存储通道接口的电气特性应符合 《SD Card Specification》 V2.0 或以上版本的要求。 4.4 基于 SWP 协议的智能 SD 卡扩展接口定义 4.4.1 硬件结构 基于CLF-智能SD卡 的移动支付的核心部分包括射频天线、非接触射频前端电路(CLF)、智能SD 卡,可以在移动支付设备上实现非接触IC卡卡片功能,硬件结构如图所示:
接触通道 SD 接口 基带 移动支付终端 I2C/SPI/UART 天线 SWP CLF SSD

非接触通道

图 6. 基于 CLF-智能 SD 卡的移动智能卡方案架构图 智能SD卡与 CLF 芯片之间应采用单线协议(Single Wire Protocol,SWP 8.0及以上版本)连接, 智能SD卡和 CLF 芯片的单线协议接口的电气特性和链路层传输协议应分别符合 ETSI TS102 613 的要 求,其传输层协议应满足 ETSI TS102 622 的要求。
5

Q/CUP 037.2.1—2011 4.4.2 智能 SD 卡尺寸 智能SD卡标准触点的尺寸及卡片整体的机械特性描述和尺寸规格请参考相关标准,其中第 2 排扩 展触点9、10的机械特性描述如图 7 所示,其对应的尺寸规格如表2所示:

图 7. 机械特性描述:第 2 排触点

表 2. 尺寸规格 通用尺寸(mm) 标号 A10 A11 A12 A13 B12 B13 B14 B15 4.4.3 智能 SD 卡的触点定义 最小值 1.35 6.50 0.50 0.40 3.60 2.80 8.20 平均值 1.40 6.60 0.55 0.45 3.70 2.90 最大值 1.45 6.70 0.60 0.50 3.80 3.00 6.20

6

Q/CUP 037.2.1—2011

图 8.智能 SD 卡片触点 表 3. 智能 SD 卡片触点定义 Pin# 1 2 3 4 5 6 7 8 9 10 名称 DAT2 CD/DAT3 CMD VCC CLK VSS DAT0 DAT1 SWPIO VCCSWP 类型1 I/O I/O P P I G I/O I/O I/O P 描述 数据线[Bit 2] 卡片侦测/数据线[Bit 3] 指令/响应 供电电压 时钟 接地 数据线[Bit 0] 数据线[Bit 1] SWP 数据线 来自于 CLF 的供电电压

SD Specification 中的两个 RF PIN 在本方案中被扩展为 和 SWP (Pin 9) 和 VccSWP Pin 10) ( 。 4.4.4 智能 SD 卡座 10Pin的TF卡座支持扩展的智能SD卡,也支持标准TF卡片。智能SD卡插入时,将通过扩展的2个SWP 触点与手机上的CLF建立电气联接。 常用适配卡座的规格尺寸如下图所示:

1

类型符号定义:P 电源;G 接地;I/O 输入/输出 7

Q/CUP 037.2.1—2011

8

Q/CUP 037.2.1—2011

图 9. 卡座尺寸示意图 卡座的接触电阻不得大于10-30毫欧姆,卡座的插拔寿命不少于10000次。 5 移动支付智能卡逻辑接口 5.1 SIM(UIM)卡 5.1.1 概述 本节定义 SIM(UIM)卡通过非接触通道与受理终端之间的逻辑接口和交互流程。 5.1.2 非接触通道与受理终端之间的逻辑接口和通信协议 逻辑接口和交互流程应符合本标准第5部分:非接触式接口规范。
9

Q/CUP 037.2.1—2011 5.1.3 接口指令 金融应用的指令接口应符合《中国金融集成电路(IC)卡规范》(1-13部分)(JR/T集成电路规范 部分 0025-2010) 的要求。 5.2 智能 SD 卡 5.2.1 概述 本节主要规定了智能SD卡与移动终端之间的逻辑接口和交互流程。 本部分所定义的接口暂不适用于 基于JAVA虚拟机开发的移动终端操作系统。 对嵌入在智能SD卡内的安全芯片操作可以通过存储通道和非接触通道两个接口进行, 本规范仅描述 通过存储通道来操作安全芯片的方式和机制,通过非接触通道方式应符合 JR/T 0025 的要求。 应用接口有两种方式,一是单文件方式,一是多文件方式;这些文件定义为智能SD卡接口文件 (SCIF)。接口文件可预置于智能SD卡中,也可在应用通讯前进行创建。 单文件方式: 在智能SD卡存储区的根目录上存在一个文件, 终端通过这个文件建立与嵌入在智能SD 卡内的安全芯片之间的数据传输通道,作为应用接口用于应用通讯。智能SD卡应支持该方式。 多文件方式:在智能SD卡存储区的根目录上存在一个文件夹,该文件夹中存在多个文件,终端通过 这些文件建立与嵌入在智能SD卡内的安全芯片关联的数据传输通道, 作为应用接口用于应用通讯。 智能 SD卡可选支持该方式。 通过接口文件实现应用接口的方案有两种,分别见附录C和附录D。智能SD卡应至少支持其中一种 实现方案。 智能 SD 卡中应用接口的实现应符合下述要求: ——在智能 SD 卡中存在接口文件的情况下,应保证应用接口的可用性; ——不应降低智能 SD 卡存储区域的正常使用寿命; ——对应用接口的操作不应破坏智能 SD 卡中文件和目录的结构; 5.2.2 接口文件定义 单文件方式下的文件具有如下属性和特征: ——存在于智能 SD 卡文件系统的根目录下; ——建议智能 SD 卡文件系统支持 FAT16 或 FAT32 文件系统; ——隐藏文件; ——以二进制方式操作; ——长度为 512 字节的整数倍 ——考虑到某些手机操作系统不能对设为“系统属性”的文件进行读写操作,接口文件不能设为 “系统属性” 。 多文件方式下的文件夹(SDIF)具有如下属性和特征: ——存在于智能 SD 卡文件系统的根目录下; ——建议智能 SD 卡文件系统支持 FAT16 或 FAT32 文件系统; ——以二进制方式操作; ——每个文件的长度为 512 字节的整数倍; ——不能设为“系统属性” ; 终端应用程序应首先在智能SD卡中判断是否存在接口文件, 如果不存在应创建接口文件并进行应用 通讯测试。如果通讯成功则继续通过该接口文件操作,否则表明该SD卡不支持本规范定义的应用接口。 5.2.3 智能 SD 卡的状态转换 嵌入在智能SD卡内的安全芯片和SD卡控制器(SDC) 相连,智能SD卡应该按照如下状态工作:
10

Q/CUP 037.2.1—2011

S1

S2

S3 图 11.智能 SD 卡的状态转化图 各个状态的描述如表4所示。智能SD卡初始阶段处于S1状态,之后按照状态图进行转换。 表 4.智能 SD 卡的状态转换 状态 描述 状态转换 指令 SCIF_BIND SCIF_CONNECT SCIF_DISCONNECT SCIF_UNBIND SCIF_BIND SCIF_ATR SCIF_PPS SCIF_DISCONNECT SCIF_INFO SCIF_BIND SCIF_ATR SCIF_APDU SCIF_INFO SCIF_DISCONNECT 后续状态 S1 S2 S1 S1 S2 S3 S2 S1 S2 S3 S3 S3 S3 S1

S1

下电状态,这是智能 SD 卡的初始或缺省状态

S2

上电状态,SDC 建立并维持和 SC 的通讯状态

S3

命令交互状态

5.2.4 对接口文件的操作与智能 SD 卡操作的对应关系 对 SCIF 文件的操作通常按如下顺序进行,只有在文件的写操作才对应到对智能 SD 卡的操作,SD 控制器必须将写入文件的内容按照接口指令定义解析出命令, 并进行相应的处理; 响应信息和响应代码 一起作为 SCIF 文件的内容供外部应用读取。 响应信息和响应代码的编码方式见后续章节,整个响应信息位于 SCIF 文件的起始位置,即偏移量 为 0 的位置。 交互流程如图 12 所示: (1)终端应用程序(TA)根据 5.2.6 描述的格式向 SDC 发送命令。 (2)终端应用程序(TA)向 SDC 读取响应,读取响应的时机可以采用不同的方法来决定,比如 采用循环查询的机制,直到读取响应码或超时结束;或者 TA 根据智能 SD 卡处理命令的时间采取延时 读取的策略。 (3)终端应用程序(TA)根据 5.2.7 描述的格式解析并进行相应地处理。 (4)TA 向卡片进行命令交互必须遵循指令序列执行的流程,否则,SDC 会返回状态字标识“非 法状态” 。
11

Q/CUP 037.2.1—2011

OPEN FILE

WRITE

READ

CLOSE FILE 图 12. 智能 SD 卡文件操作流程 打开 SCIF 文件和关闭 SCIF 文件只是在宿主操作系统中分配适当的资源并在应用软件和智能 SD 卡 间建立关联关系,并没有具体的动作和安全芯片关联。 智能 SD 卡根据一定的格式解析准备写入的数据,并按如下步骤进行处理: (1) 检测终端应用程序(TA)写下来的命令数据包的会话流水号是否出现异常,如果出现异常, 返回异常状态给 TA。 (2) 对 写 下 来 的 数 据 包 进 行 数 据 校 验 , 校 验 码 不 对 就 返 回 非 法 命 令 错 误 码 : SCIF_IO_ILLEAGAL_CMD; (3) 识别并解析应用写入的数据包中的命令码,如果是请求安全芯片的复位信息,就对安全芯片 进行复位,记录结果并返回,流程终止。 (4) 如果是 APDU 命令, 则转发 APDU 命令到智能 SD 卡内的安全芯片, 记录本次内部通讯状态, 如果通讯状态正常则接收智能卡返回的响应数据,将内部通讯状态码、安全芯片返回的状态 码及安全芯片返回的数据按一定格式写入到 SCIF 文件中,准备被外部应用读取;并继续以 下步骤,否则在文件内容中设置相应的错误代码并结束处理。 (5) 如果是进行 PPS 交换,则按照定义的 PPS 命令和安全芯片进行 PPS 协商,并接收安全芯片 返回的 PPS 协商结果。 5.2.5 发送序列计数器 SSC 发送序列计数器(Send Sequence Counter)是用来监控TA和SDC之间会话报文发送与接收顺序的计 数器,其初始值由SDC随机生成并维护。其结构由两个字节构成,定义如表5所示: 表 5. SSC 的结构 MSB LSB 8 0 7 0 6 0 5 0 x x x x x 4 3 2 1 8 7 6 5 4 3 2 1 含义 会话标识 x x x x x x x 会话流水号

会话流水号是 SDC 根据当前会话所分配的 SSC 的具体取值,其取值范围在(1~4095) 。在 TA 发送 SCIF_CONNECT 指令(此时 SSC 中会话流水号为 0000)后,SDC 为本次会话生成一个初始的 SSC 并 在响应报文中返回给 TA, 其中初始会话流水号为取值范围内的一个随机值。 在每次收到响应报文中 TA 的 SSC 之后,必须递增其中的会话流水号取值,产生新的 SSC 之后作为下一个请求报文中的 SSC。如
12

Q/CUP 037.2.1—2011 果会话流水号已达到最大值 4095,则递增后从 1 开始。 SDC 会检测 TA 请求报文中 SSC 的会话流水号是否出现异常,如果出现异常,则返回错误状态码 SCIF_SSC_ERROR。其中,TA 请求报文中 SSC 的会话流水号异常是如下定义的: 1)发送了 SCIF_CONNECT 指令之后,TA 发送的第一个请求报文中的会话流水号必须是在 SDC 返回的初始会话流水号上递增 1,否则就视为异常; 2)SDC 收到 TA 的请求报文后,检查 SSC 的正确性。如果当前的请求报文中 SSC 的会话流水号和 前一个请求报文中的会话流水号不是递增 1 的关系,且前一个会话流水号不是 4095 的话,则视为 SSC 异常; 3)TA 发送的请求报文(SCIF_CONNECT 指令除外)中 SSC 的会话流水号超出了 1~4095 的取值 范围。 TA 也必需检测 SDC 返回的响应报文中 SSC 的会话流水号和自己请求报文中的会话流水号是否一 致,如果不一致则认为是响应报文异常。TA 应采取一定的纠错措施,比如重新发送上一个请求报文, 或者重新开始一次应用的会话过程。 5.2.6 写接口文件的格式 TA准备写入到智能SD卡的应用接口文件的数据按如表6格式组织: 表 6. 应用接口文件写入内容格式 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 Xx 字节长度 32 2 2 2 可变 1 含义 命令标识码 发送序列计数器 SSC 命令码 命令长度 APDU 字节校验和(LRC) 存在方式 必须 必须 必须 必须 条件存在 必须

(1)命令标识码 命令标志码为 32 字节的固定值: 0x060F19161F160C0B1F1F180E1A190302 1F0C0412160F050D061B0D151A031B12 (2)命令码 命令码定义了对智能 SD 卡的操作类型,如表 7 所示: 表 7. 写接口文件中的命令码 代码 SCIF_INFO SCIF_BIND SCIF_UNBIND SCIF_DISCONNECT SCIF_CONNECT SCIF_ATR SCIF_APDU SCIF_PPS 值 00h 01h 00h 02h 00h 03h 01h 01h 01h 02h 01h 03h 01h 04h 01h 05h 含义 取智能 SD 卡版本信息 建立接口文件与数据传输通道的绑定关 系,仅用于附录 C 方案中 解除接口文件与数据传输通道的绑定关 系,仅用于附录 C 方案中 对安全芯片的下电通知 对安全芯片的上电通知 通知 SD 控制器读取上一次复位中缓存的 安全芯片的 ATR 信息 通知 SD 控制器转发 APDU 命令 PPS 请求

(3)字节校验和 对从序号为 2~5 的数据逐字节异或,结果作为整个数据的校验数据。 (4)响应时间要求
13

Q/CUP 037.2.1—2011 符合《SD Specifications Part 1 Physical Layer Specification》中 4.6 节对写操作的最大等待时间的要 求。 5.2.7 读接口文件的格式 只有发送了写命令以后, 应用程序才可以去读该文件, 从文件的内容中得知上次命令的处理结果或 响应数据。读取的文件内容按表 8 解释。 表 8.智能 SD 卡读取内容格式 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 Xx 字节长度 32 2 2 2 Xx 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和(LRC) 存在方式 必须 必须 必须 必须 条件存在 必须

(1)响应标识码 响应标志码为 32 字节大小的固定值: ——在附录 C 方案中, 响应标志码与命令标识码最后 6 字节不一致,具体取值为 0x060F19161F160C0B1F1F180E1A190302 1F0C0412160F050D061BD051A130B121 ——在附录 D 方案中,响应标识码与命令标识码相同,具体取值为 0x060F19161F160C0B1F1F180E1A190302 1F0C0412160F050D061B0D151A031B12 (2)通讯状态码 通讯状态码定义了 SD 控制器和智能 SD 卡交互的通讯情况,应用程序必须首先识别该状态码是否 正确,然后才能识别后续数据,通讯状态码按表 9 定义。 表 9. 智能 SD 卡的通讯状态码 代码 SCIF_IO_OK SCIF_IO_ILLEAGAL_CMD 值 00 00h 00 01h 含义 通讯正常 非法命令 处理方式 正常的处理流程 按照 5.2.6(1)节描述检查命令码 是否有效,如无效,则改为正确的命 名码并重新发送请求报文 发送 SCIF_DISCONNECT 指令使智 能 SD 卡回到初始状态 S1 发送 SCIF_DISCONNECT 指令使智 能 SD 卡回到初始状态 S1 重新发送读操作指令, 以获取正确的 响应数据 检查当前状态,参见 5.2.3 节描述, 发送相应的指令使智能 SD 卡进入到 正确的状态 按照 5.2.5 节描述修改为正确的会话 流水号并重新发送请求报文

SCIF_IO_TIMEOUT SCIF_IO_ERROR SCIF_IO_BUSY SCIF_ILLEAGAL_STATUS

00 02h 00 03h 00 04h 00 05h

通讯超时 通讯失败 SDC 忙 非法状态

SCIF_SSC_ERROR

00 06h

会话流水号异常

(3)字节校验和 对从序号为 2~5 的数据逐字节异或,结果作为整个数据的校验数据。 (4)响应时间要求 符合《SD Specifications Part 1 Physical Layer Specification》中 4.6 节对读操作的最大等待时间的要
14

Q/CUP 037.2.1—2011 求。 5.2.8 接口指令 (1)连接智能 SD 卡 SCIF_CONNECT 该命令将指示 SDC 联接内嵌的安全芯片,并将 SDC 的状态从 S1 切换到 S2 状态。 a) 请求报文 表 10.连接 智能 SD 卡请求报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 39 字节长度 32 2 2 2 1 1 含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 值 见 5.2.6 节(1)定义 0000 SCIF_CONNECT 01 PARAMETER LRC 备注 必须 必须 必须 必须 必须 必须

8 X

7 0

6 0

5 0

4 0

3 0

表 11. PARAMETER 定义 2 1 含义 0 0 访问模式(0:独占模式;1:共享模式) RFU

b) 响应报文 通讯状态码如果是 SCIF_OK,则应包含 2 个字节的初始 SSC 和可选数据域。 表 12.连接 智能 SD 卡的响应报文 序号 1 2 3 4 5 6 7 偏移 0 32 34 36 38 xx xx 字节长度 32 2 2 2 -1 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 初始 SSC 及 SDC 特性 接口文件个数(HEX 格式) 字节校验和 表 13. SDC 特性定义 1 含义 1:支持共享模式;0:仅独占模式 RFU x x x X x X 1:支持PPS;0:不支持PPS RFU 备注 必须 0000 必须 必须 必须 可选 必须

8 X

7 x

6

5

4

3

2

(2)请求卡片复位信息 SCIF_ATR a) 请求报文 表 14.复位卡片请求报文
15

Q/CUP 037.2.1—2011 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 38 字节长度 32 2 2 2 0 1 含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 LRC 值 见 5.2.6 节(1)定义 Xxxx SCIF_ATR 00 备注 必须 必须 必须 必须 可选 必须

b) 响应报文 通讯状态码如果是 SCIF_OK,则应包含安全芯片的上电复位应答信息。 表 15.复位应答响应报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 Xx 字节长度 32 2 2 2 Xx 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 见 5.2.7 节(1)定义 SCIF_ATR 请求报文的 SSC SCIF_OK xx 安全芯片的 ATR LRC

(3)查询智能 SD 卡信息 SCIF_INFO a) 请求报文 表 16.查询 智能 SD 卡信息的请求报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 38 字节长度 32 2 2 2 0 1 含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 LRC 值 见 5.2.6 节(1)定义 Xxxx SCIF_INFO 00 备注 必须 必须 必须 必须 可选 必须

b) 响应报文 通讯状态码如果是SCIF_OK,则应包含智能SD卡的版本信息。 表17.查询 智能SD卡信息响应报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 xx 字节长度 32 2 2 2 Xx 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 见 5.2.7 节(1)定义 SCIF_INFO 请求报文的 SSC SCIF_OK xx 智能 SD 卡的版本信息 LRC

表 18.智能 SD 卡版本信息格式
16

Q/CUP 037.2.1—2011 序号 1 2 3 4 5 6 7 偏移 0 2 4 12 14 16 18 字节长度 2 2 8 2 2 2 100 含义 固定标识:0x0111—智能 SD 卡 协议版本号,共 4 个数字,前两个数字为主版本号, 后两个数字为次版本号, 每个数字采用 4 位编码。 从 本版开始, 版本号定义为与当前 《移动支付技术规范》 版本号一致,当前填写为 0103,代表 1.3 版。 产品序列号 支持速率的 Fi 因子 支持速率的 Di 因子 IC 芯片 COS 平台型号信息 保留字段 表 19 产品序列号定义 序号 1 2 字段分配 厂商 ID 生产批次号 字节长度 1 3 含义 智能 SD 卡的生产商,向银联申请,并由银联 统一分配维护。 智能 SD 卡所属的生产批次号,生产前向银联 申请,并由银联统一分配维护。 生产时由生产商自行维护,同时确保在同一个 生产批次号下面,所生产的智能 SD 卡的流水 号是唯一的。 存在方式 必须 必须 必须 必须 必须 必须 可选

产品序列号是如下表定义的:

3

生产流水号

4

支持速率的 Fi 因子是如下定义的,在 GB/T16649 协议中定义了 12 种 Fi 传输因子,此字段表明了 此智能 SD 卡所支持的 Fi 传输因子,对应关系如下: 表 20. Fi 因子的支持 15 14 13 RFU 12 RFU 11 0d 10 0c 9 0b 8 0a 7 9 6 6 5 5 4 4 3 3 2 2 1 1 0 含义 对应位为 1 就表示支持对应的 0 Fi 传输因子, 0 就表示不支 为 持

RFU RFU

支持速率的 Di 因子是如下定义的, GB/T16649 协议第 3 部分中定义了 8 种 Di 传输因子, 在 此字 段表明了此 智能 SD 卡所支持的 Di 传输因子,对应关系如下: 表 21. Di 因子的支持 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 含义 对应位为 1 就表示支 持对应的 Di 传输因 1 子,为 0 就表示不支 持

RFU RFU RFU

RFU

RFU

RFU RFU

RFU

9

8

6

5

4

3

2

如果在命令 SCIF_INFO 的响应报文中取得这两个字段的内容是 0X02410025,那么根据上表就可以得 知此版本的智能 SD 卡可以支持的传输速率有:Fi= 0b,06,01;Di=06,03,01;一共 3*3=9 种组合的速率。 IC 芯片 COS 平台型号信息的定义如下表所示:
17

Q/CUP 037.2.1—2011 表 22. IC 芯片 COS 平台型号信息定义 B8 B7 B6 RFU B5 B4 B3 B2 x 0 0 1 1 (4)请求 PPS 交换 SCIF_PPS a) 请求报文 表23. PPS 交换请求报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 39 字节长度 32 2 2 2 1 1 含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 值 见 5.2.6 节(1)定义 Xxxx SCIF_PPS 01 Rate LRC 备注 必须 必须 必须 必须 必须 必须 B1 x 0 1 0 1 Native JavaCard+Global Platform RFU RFU 含义 IC 芯片 COS 平台型号

Rate 表示 SDC 和安全芯片在数据传输时的波特率参数,用一个字节来定义它。SDC 和安全芯片之 间的数据传输可以采取不同的速率, 不要求智能 SD 卡必需支持能够采用不同速率和安全芯片进行交互, 但是如果支持这个特性,就必需提供接口让 TA 可以通过 PPS 请求调整传输速率。 Rate 参数可以分为两个半字节来定义它,具体请参考下表: Rate = FI | DI FI 这半字节(二进制表示)的取值范围是:0000,0001,0010,0011,0100,0101,0110,1001, 1010,1011,1100,1101,而 0111,1110,1111 这 3 个是 RFU 的值,未定义。 DI 这半字节(二进制表示)的取值范围是:0001,0010,0011,0100,0101,0110,1000,1001, 其余的取值都是 RFU 的值,未做定义。 Rate 的取值可以是上面取值范围内的 FI 和 DI 的任意组合, 但是并不要求智能 SD 卡支持上述的所 有速率,TA 在进行 PPS 请求的时候必需参阅智能 SD 卡的手册,了解智能 SD 卡可以支持哪些传输参 数。 b) 响应报文 通讯状态码如果是 SCIF_OK,则响应报文中应该包含安全芯片 PPS 响应的信息。 表24. PPS 交换响应报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 xx 字节长度 32 2 2 2 Xx 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 见 5.2.7 节(1)定义 SCIF_PPS 请求报文的 SSC SCIF_OK xx 安全芯片的 PPS 响应的值 LRC

TA 应该能够根据 GB/T16649 中的规定解析安全芯片返回的 PPS 响应,判断此次 PPS 请求是否成 功。
18

Q/CUP 037.2.1—2011 (5)转发 APDU SCIF_APDU a) 请求报文 表25. 转发 APDU 请求报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 Xx 字节长度 32 2 2 2 xx 1 含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 值 见 5.2.6 节(1)定义 Xxxx SCIF_APDU xx APDU LRC 备注 必须 必须 必须 必须 必须 必须

b) 响应报文 如果通讯状态码是 SCIF_OK ,则响应报文中应该包含命令状态码和安全芯片回复的数据信息。 表26. 转发 APDU 响应报文 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 xx 字节长度 32 2 2 2 Xx 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 见 5.2.7 节(1)定义 SCIF_APDU 请求报文的 SSC SCIF_OK xx LRC

(6)断开智能卡 SCIF_DISCONNECT 该命令将指示 SDC 断开内嵌的安全芯片,并将 SDC 和安全芯片恢复到初始状态,即将 SDC 的状 态从 S3 切换到 S1 状态,同时销毁内部的会话标识,清掉内部发送序列计数器的会话流水号。 a) 请求报文 表27. 断开连接请求报文 序号 1 2 3 4 5 6 b) 偏移 0 32 34 36 38 38 响应报文 表28. 断开连接响应报文 字节长度 32 2 2 2 0 1 含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 LRC 值 见 5.2.6 节(1)定义 0000 SCIF_DISCONNECT 00 备注 必须 必须 必须 必须 可选 必须

19

Q/CUP 037.2.1—2011 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 Xx 字节长度 32 2 2 2 Xx 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 见 5.2.7 节(1)定义 0000 SCIF_OK 00 LRC

(7) 建立接口文件与数据传输通道绑定 SCIF_BIND 该命令将指示 SDC 建立当前的接口文件与数据传输通道的绑定关系,SDC 的状态不切换。该命令 用于附录 C 中的方案中。 a) 请求报文 表29.建立接口文件与数据传输通道绑定关系请求报文 序号 1 2 3 4 5 6 b) 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 38 响应报文 表30.建立接口文件与数据传输通道绑定关系响应报文 偏移 0 32 34 36 38 38 字节长度 32 2 2 2 0 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 见 5.2.7 节(1)定义 0000 SCIF_OK 00 LRC 字节长度 32 2 2 2 0 1 含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 值 见 5.2.6 节(1)定义 0000 SCIF_BIND 00 LRC 备注 必须 必须 必须 必须 可选 必须

(8)解除接口文件与数据传输通道绑定 SCIF_UNBIND 该命令将指示 SDC 解除当前的接口文件与数据传输通道的绑定关系,SDC 的状态不切换。该命令 用于附录 C 中的方案中,且 SDC 处于 S1 状态时才有效。 a) 请求报文 表31.解除接口文件与数据传输通道绑定关系请求报文 序号 1 2 3 4 5 6 b) 偏移 0 32 34 36 38 38 响应报文 表32.解除接口文件与数据传输通道绑定关系响应报文
20

字节长度 32 2 2 2 0 1

含义 命令标识码 SSC 命令码 命令长度 数据域 校验字节 LRC

值 见 5.2.6 节(1)定义 0000 SCIF_UNBIND 00

备注 必须 必须 必须 必须 可选 必须

Q/CUP 037.2.1—2011 序号 1 2 3 4 5 6 偏移 0 32 34 36 38 38 字节长度 32 2 2 2 0 1 含义 响应标识码 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 见 5.2.7 节(1)定义 0000 SCIF_OK 00 LRC

5.3 有接线支付配件 5.3.1 概述 本节主要规定了有接线支付配件与移动终端之间的逻辑接口和交互流程。 对嵌入在有接线支付配件内的安全芯片操作可以通过接触通道和非接触通道两个接口进行, 本规范 仅描述通过接触通道来操作安全芯片的方式和机制,通过非接触通道方式应符合 JR/T 0025 的要求。 5.3.2 有接线支付配件的状态转换 有接线支付配件内的安全芯片和通讯控制器(APC,Accessory Protocol Controller)相连,配件应 按照如下状态工作:

S1

S2

S3 图 14.支付配件的状态转化图 各个状态的描述如下表所示。有接线支付配件初始阶段处于 S1 状态,之后按照状态图进行转换。 表 29.有接线支付配件的状态转换 状态转换 指令 后续状态 S2 S1 S3 S1 S2 S3 S3 S3 S3 S1
21

状态 S1

描述

APC_CONNECT 下电状态,这是有接线支付配件的初始 APC_DISCONNECT 或缺省状态 APC_ATR 上电状态,APC 建立并维持安全芯片的 APC_DISCONNECT APC_INFO 通讯状态 APC_ATR APC_PPS APC_APDU APC_INFO APC_DISCONNECT

S2

S3

命令交互状态

Q/CUP 037.2.1—2011 5.3.3 发送序列计数器 SSC 见 5.2.5 节发送序列计数器 SSC。 5.3.4 命令报文的格式 TA 准备发送到有接线支付配件的命令报文数据应按如下表格式组织: 表30. 写命令报文内容格式 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 X 字节长度 1 1 2 2 2 可变 1 含义 工作模式 保留字节 发送序列计数器 SSC 命令码 命令长度 APDU 字节校验和(LRC) 存在方式 必须 必须 必须 必须 必须 条件存在 必须

(1)工作模式 此字节用来标识当前有接线支付配件的操作类型,供安全芯片显示切换状态参考。 表31. 有接线支付配件工作模式 代码 APC_CONTACT APC_CONTACTLESS APC_READER APC_PEER 值 01h 02h 03h 04h 含义 接触式卡模拟模式 非接触式卡模拟模式 读卡器模式 点对点模式

(2)命令码 命令码定义了对有接线支付配件的操作类型,如表 32 所示: 表32. 写命令报文中的命令码 代码 APC_INFO APC_DISCONNECT APC_CONNECT APC_ATR APC_APDU APC_PPS 值 00h 01h 01h 01h 01h 02h 01h 03h 01h 04h 01h 05h 含义 取支付配件版本信息 对安全芯片的下电通知 对安全芯片的上电通知 通知 APC 读取上一次复位中缓存的安全芯 片的 ATR 信息 通知 APC 转发 APDU 命令 PPS 请求

(3)字节校验和 对从序号为 1~6 的数据逐字节异或,结果作为整个数据的校验数据。 5.3.5 响应报文的格式 应用程序从有接线支付配件得到的上次命令的处理结果或响应数据应按下表解释: 表33.响应内容的格式

22

Q/CUP 037.2.1—2011 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 Xx 字节长度 1 1 2 2 2 Xx 1 含义 工作模式 保留字节 SSC 通讯状态码 响应数据长度 响应数据 字节校验和(LRC) 存在方式 必须 必须 必须 必须 必须 条件存在 必须

(1)通讯状态码 通讯状态码定义了有接线支付配件和 APC 交互的通讯情况,应用程序应首先识别该状态码是否正 确,然后才能识别后续数据,通讯状态码按下表定义。 表34 通讯状态码 代码 APC_IO_OK APC_IO_ILLEAGAL_CMD 值 00 00h 00 01h 含义 通讯正常 非法命令 处理方式 正常的处理流程 按照 5.3.4 节(2)描述检查命 令码是否有效,如无效,则改为 正确的命名码并重新发送请求 报文 发送 APC_DISCONNECT 指令 使支付配件回到初始状态 S1 发送 APC_DISCONNECT 指令 使支付配件回到初始状态 S1 重新发送读操作指令,以获取正 确的响应数据 检查当前状态,发送相应的指令 使支付配件进入到正确的状态 描述修改为正确的会话流水号 并重新发送请求报文 按照当前工作模式所支持的指 令重新发送

APC_IO_TIMEOUT APC_IO_ERROR APC_IO_BUSY APC_ILLEAGAL_STATUS APC_SSC_ERROR APC_MODE_ERROR

00 02h 00 03h 00 04h 00 05h 00 06h 00 07h

通讯超时 通讯失败 APC 忙 非法状态 会话流水号异常 模式异常,发送 指令与当前模式 冲突

(2)字节校验和 对从序号为 1~6 的数据逐字节异或,结果作为整个数据的校验数据。 5.3.6 应用流程 TA 通过 APC 访问安全芯片(SC),应按如下流程来访问:

APC_CONNECT

APC_ATR

APC_PPS 23

Q/CUP 037.2.1—2011

APC_APDU

APC_DISCONNECT

C 图 15. 应用流程示例 当 TA 发送 APC_CONNECT 指令后,APC 为该终端应用程序分配一个会话标识,表示当前的通信 连接。当 TA 发送 APC_DISCONNECT 指令结束当前与卡片的通信连接,APC 销毁此次会话标识。TA 应遵循图 12 的流程来访问卡片,其中 APC_APDU、APC_PPS 和 APC_INFO 是可选步骤,其他是必须 步骤。如果 TA 不遵循此步骤执行,APC 应返回状态字标识“非法状态”。 指令序列交互流程: (1)终端应用程序(TA)向 APC 发送命令报文。 (2)终端应用程序(TA)读取 APC 返回的响应报文,读取响应的策略根据宿主操作系统处理机 制进行决定。 (3)终端应用程序(TA)根据 5.3.5 描述的格式解析并进行相应地处理。 (4)TA 向支付配件进行命令交互应遵循指令序列执行的流程,否则,APC 应返回状态字标识“非 法状态” 。 5.3.7 接口指令 5.3.7.1 连接支付配件 APC_CONNECT 该命令将指示 APC 连接内嵌的安全芯片,并将 APC 的状态从 S1 切换到 S2 状态。 a) 请求报文 表35. 连接支付配件请求报文 序号 1 2 3 4 5 6 7 b) 响应报文
24

偏移 0 1 2 4 6 8 8

字节长度 1 1 2 2 2 0 1

含义 模式选择 保留字节 SSC 命令码 命令长度 数据域 校验字节

值 APC_CONTACT 00 0000 APC_CONNECT 00 LRC

Q/CUP 037.2.1—2011 通讯状态码如果是 APC_IO_OK,则应包含 2 个字节的初始 SSC 和可选数据域。 表36.连接支付配件的响应报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 10 字节长度 1 1 2 2 2 2 1 含义 智能卡当前模式 保留字节 SSC 通讯状态码 响应数据长度 初始 SSC 字节校验和 备注 APC_CONTACT 00 0000 必须 必须 必须 必须

5.3.7.2 请求支付配件复位信息 APC_ATR a) 请求报文 表37.复位卡片请求报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 8 字节长度 1 1 2 2 2 0 1 含义 智能卡当前模式 保留字节 SSC 命令码 命令长度 数据域 校验字节 值 APC_CONTACT 00 Xx APC_ATR 00 LRC

b) 响应报文 通讯状态码如果是 APC_IO_OK,则应包含安全芯片的上电复位应答信息。 表38.复位应答响应报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 xx 字节长度 1 1 2 2 2 -1 含义 智能卡当前模式 保留字节 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 APC_CONTACT 00 APC_ATR 请求报文的 SSC APC_IO_OK xx 安全芯片的 ATR LRC

5.3.7.3 查询有接线支付配件信息 APC_INFO a) 请求报文 表39.查询支付配件信息请求报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 8 字节长度 1 1 2 2 2 0 1 含义 智能卡当前模式 保留字节 SSC 命令码 命令长度 数据域 校验字节 值 APC_CONTACT 00 xx APC_INFO 00 LRC
25

Q/CUP 037.2.1—2011 b) 响应报文 通讯状态码如果是 APC_IO_OK,则应包含支付配件的版本信息。 表40.查询支付配件信息响应报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 xx 字节长度 1 1 2 2 2 Xx 1 含义 智能卡当前模式 保留字节 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 APC_CONTACT 00 APC_INFO 请求报文的 SSC APC_IO_OK xx 支付配件的版本信息 LRC

表41.支付配件版本信息格式 序号 1 偏移 0 字节长度 2 含义 固定标识:0x0121—通过音频口连接的手机支付配件 0x0122—通过数据口连接的手机支付配件 协议版本号,共 4 个数字,前两个数字为主版本号, 后两个数字为次版本号,每个数字采用 4 位编码。从 本版开始,版本号定义为与当前《移动支付技术规范》 版本号一致,当前填写为 010x,代表 1.x 版。 产品序列号 IC 芯片 COS 平台型号信息 保留字段 存在方 式 必须

2 3 4 5

2 4 12 13

2 8 1 100

必须 必须 必须 可选

产品序列号是如下表定义的: 表42. 产品序列号定义 序号 1 2 字段分配 厂商 ID 生产批次号 字节长度 1 3 含义 支付配件的生产商,向银联申请,并由银联统 一分配维护。 支付配件所属的生产批次号,生产前向银联申 请,并由银联统一分配维护。 生产时由生产商自行维护,同时确保在同一个 生产批次号下面,所生产的支付配件的流水号 是唯一的。

3

生产流水号

4

IC 芯片 COS 平台型号信息的定义如下表所示: 表43. IC芯片COS平台型号信息定义 B8 B7 B6 RFU B5 B4 B3 B2 x 0 0 1 1 B1 x 0 1 0 1 Native JavaCard+Global Platform RFU RFU 含义 IC 芯片 COS 平台型号

26

Q/CUP 037.2.1—2011 5.3.7.4 转发 APDU 命令 APC_APDU a) 请求报文 表44. 转发APDU请求报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 Xx 字节长度 1 1 2 2 2 xx 1 含义 智能卡当前模式 保留字节 SSC 命令码 命令长度 数据域 校验字节 值 APC_CONTACT 00 xx APC_APDU xx APDU LRC

b) 响应报文 如果通讯状态码是 APC_IO_OK,则响应报文中应包含命令状态码和安全芯片回复的数据信息。 表45. 转发 APDU 响应报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 xx 字节长度 1 1 2 2 2 Xx 1 含义 智能卡当前模式 保留字节 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 APC_CONTACT 00 APC_APDU 请求报文的 SSC APC_IO_OK xx LRC

5.3.7.5 请求 PPS 交换 APC_PPS a) 请求报文 表46. PPS交换请求报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 9 字节长度 1 1 2 2 2 1 1 含义 智能卡当前模式 保留字节 SSC 命令码 命令长度 数据域 校验字节 值 APC_CONTACT 00 xx APC_PPS 01 Rate LRC

Rate 的定义请参见 5.2.9 节(4)SCIF_PPS 中的定义。 b) 响应报文 通讯状态码如果是 APC_IO_OK,则响应报文中应包含安全芯片 PPS 响应的信息。 表47. PPS交换响应报文

27

Q/CUP 037.2.1—2011 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 xx 字节长度 1 1 2 2 2 Xx 1 含义 智能卡当前模式 保留字节 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 APC_CONTACT 00 APC_PPS 请求报文的 SSC APC_IO_OK xx 安全芯片的 PPS 响应的值 LRC

TA 应能够根据 GB/T16649 中的规定解析安全芯片返回的 PPS 响应, 判断此次 PPS 请求是否成功。 5.3.7.6 断开支付配件 APC_DISCONNECT 该命令将指示 APC 断开内嵌的安全芯片,并将 APC 和安全芯片恢复到初始状态,即将 APC 的状 态从 S3 切换到 S1 状态,同时销毁内部的会话标识,清掉内部发送序列计数器的会话流水号。 a) 请求报文 表48. 断开连接请求报文 序号 1 2 3 4 5 6 7 b) 响应报文 表49. 断开连接响应报文 序号 1 2 3 4 5 6 7 偏移 0 1 2 4 6 8 8 字节长度 1 1 2 2 2 Xx 1 含义 智能卡当前模式 保留字节 SSC 通讯状态码 响应数据长度 响应数据 字节校验和 值 APC_CONTACT 00 APC_DISCONNECT 请求报文的 SSC APC_IO_OK xx LRC 偏移 0 1 0 2 6 8 8 字节长度 1 1 2 2 2 0 1 含义 智能卡当前模式 保留字节 SSC 命令码 命令长度 数据域 校验字节 值 APC_CONTACT 00 xx APC_DISCONNECT 0 LRC

6 移动支付智能卡应用要求 6.1 PBOC 应用 对于PBOC框架下的金融支付相关的应用,应符合《中国金融集成电路(IC)卡规范》。 其中Tag为9F63的卡片数据元取值如下表所示: 名字(格式;标 需求 描述 值
28

Q/CUP 037.2.1—2011 签;长度) 卡产品标识信息 F: b 128 T: 9F63 L: 16 O 用于标识发卡行和卡 片产品种类, 在联机交 易时上送发卡行。 字节 1-字节 8:银行标识码 字节 9-11:卡产品标识 字节 9: 位 8: 1=市民卡 位 7: 1=军人卡 位 6: 1=积分卡 位 5: 1=交通卡 位 4: 1=社保卡 位 3: 1=学生卡 位 2: 1=航空卡 位 1: 1=公共缴费类卡 字节 10: 位 8: 1=手机支付 位 7-1: 保留 字节 11: 高四位 b8b7b6b5 取值如下: 0001=NFC-SD 模式 0010=NFC-SIM 模式 0011=NFC 全手机模式 0100=双界面 SD 卡模式 0101=双界面 SIM 卡模式 0110=有接线手机配件模式 0111=纯远程 SIM 卡模式 1000=纯远程 SD 卡模式 1001=无接线手机配件模式 1010-1111 保留 低四位 b4b3b2b1 取值保留 字节 12-14:本规范保留 字节 15-16:发卡行保留

6.2 UPcard 应用 6.2.1 非接触式 IC 卡的银行(磁条)卡应用结构描述 本章描述的是在非接触式环境下, 将普通的基于磁条的银行卡在智能卡上实现的原理和机制, 在用 于银行卡应用的智能卡内也可以存在非本规范定义的应用, 可以使用本规范定义的文件结构、 指令和交 易流程,但不能对银行卡应用产生影响。

29

Q/CUP 037.2.1—2011

MF

其它应用

非 接 触 式 IC 卡 的 银 行 ( 磁 条 ) 卡 应 用 (CMCPA) 密钥信息文件 持卡人认证信息文件(EF01) 卡片信息文件(EF02) 默认银行卡信息文件(EF03) 银行卡信息文件(EF04) …… 终端交易明细文件(EF05) 图 16.非接触式 IC 卡的银行(磁条)卡应用结构图 6.2.1.1 MF 区域 6.2.1.1.1 区域简介 MF 区域是 IC 卡文件系统的根目录,在 MF 区域存在控制应用装载的卡片控制密钥,也可以存在 应用之间共享的信息文件,这里不作具体要求和描述。 6.2.1.1.2 其它应用(ADF) 其它存在于卡片上的应用,可以是 PBOC2.0 电子钱包应用或其它应用,如果是 PBOC 电子钱包应 用,请参考《中国金融集成电路(IC)卡规范第 1 部分:电子钱包电子存折卡片规范》 ,其它应用请参 阅相关规范。 6.2.1.2 非接触式 IC 卡的银行(磁条)卡应用(CMCPA) 6.2.1.2.1 应用文件结构 非接触式 IC 卡银行(磁条)卡的应用文件结构参见附录 B。 6.2.1.2.2 密钥信息文件 密钥信息文件内保存非接触式 IC 卡的银行(磁条)卡应用(以下简称 CMCPA)应用涉及的密钥, 该文件 是卡片内部的系统文件,也可以由应用通过 APDU 指令创建,这里不进行指定,但该文件的安全控制 信息必须是不允许读,也不允许写,只能通过专用的命令将密钥写入或更新指定密钥,如何安全的写入 或更新密钥请参阅 WRITE_KEY 指令的描述。 该文件内至少保存如下几条密钥: ——PIN PIN 是验证持卡人的一个密钥。 ——PUK PUK 是用于解锁 PIN 的密钥。 ——PIN 加密密钥 对报文中用户输入 PIN 的加密密钥。 ——报文加密密钥 对报文进行加密的密钥
30

Q/CUP 037.2.1—2011 ——报文 MAC 密钥 对报文进行计算 MAC 的密钥 6.2.1.2.3 持卡人认证信息文件(EF01) 持卡人认证信息文件记录由移动支付平台(MPP)写入并解释的认证信息,该文件读自由,写不允 许。 6.2.1.2.4 卡片信息文件(EF02) 卡片信息文件记录卡片的硬件序列号、渠道发展方编号等信息,读自由,写不允许。 6.2.1.2.5 默认银行卡信息文件(EF03) 缺省使用卡片信息文件保存用于现场支付或远程支付时使用的默认银行卡信息,读自由,写权限 由 PIN 保护 6.2.1.2.6 银行卡信息文件(EF04) 银行卡信息文件保存用户输入的用于移动支付的银行卡信息,不允许读,写使用 PIN 保护。 6.2.1.2.7 终端交易明细文件(EF05) 由移动支付终端维护的交易明细文件,读自由,写 PIN 保护。 6.2.2 交易流程 本章概述了CMCPA应用中移动支付IC卡与终端之间交互的过程,包括银行卡信息下载、现场支付和 远程支付等交易,这里终端是指手机终端或具有非接触读卡功能的POS终端,并不特别指明 本章描述的交易流程主要在IC卡端和移动支付平台之间展开, 中间可能存在其它环节, 这里不做具 体描述。 6.2.2.1 应用选择 在用于CMCPA的IC卡中,可以存在多个支付应用,也可以存在非支付应用,终端中应存放终端所支 持的应用及其对应的应用标识符(AID)列表,CMCPA应用存在于一个名为“A0 00 00 03 33 CUP-MOBILE” 的ADF下。 终端可以简单地使用SELECT命令选择CMCPA应用。如果SELECT命令执行成功(回送SW1SW2=‘9000’), 则标明应用选择成功;如果IC卡回送SW1SW2不等于‘9000’,表明IC卡不支持CMCPA应用。 在成功选择CMCPA后,卡片返回FCI信息,该信息内包括应用的版本号和银行卡信息文件的记录数。 一旦成功完成CMCPA的应用选择,就可以向IC卡请求CMCPA定义的各种命令和交易。 6.2.2.2 交易预处理 在CMCPA应用中涉及的交易中,由于部分交易在执行过程中必须从卡片读取相应的信息,而这些信 息的读取权限受PIN保护,所以在执行交易前必须校验PIN,验证PIN使用VERIFY PIN命令;其它交易涉 及的部分命令在使用前也必须验证PIN后才可以使用。 一旦成功完成VERIFY PIN命令,除非IC卡离开终端的感应区、被拔出或终端通过SELECT命令重新选 择本应用或其它应用,否则就无需再次校验PIN。考虑到移动支付IC卡是内嵌在用户手机终端之内,如 果VERIFY PIN之后超过一定的时间(比如10分钟)还没有后续的交易指令, 建议终端通过重新选择应用的 方式重置卡片的安全状态,达到防范风险的目的。 6.2.2.3 UPcard 个人化流程 UPcard 个人化流程是指在卡片上完成 UPcard 应用中持卡人认证信息文件、卡片信息文件、默认支 付银行卡文件的内容写入以及密钥更新的过程。目前此流程是由卡片的开卡方(银联或者银行)完成, 或者由银行委托其他公司完成。 6.2.2.3.1 验证卡片个人化状态 将智能卡放置入开卡终端插槽中,通过终端菜单选择进行 UPcard 个人化。在开始发起个人化流程 之前, 开卡终端应先通过向卡片发送 Personal Command 指令判断卡片中 UPcard 应用是否已经做过个人 化。如果卡片返回’6D00’,表示已经成功做过个人化。已经个人化成功的 UPcard 应用不能再次进行个 人化。
31

Q/CUP 037.2.1—2011 6.2.2.3.2 发起个人化流程 对于尚未个人化的卡片, 开卡终端将通过终端界面输入的个人化信息打包发送到移动支付平台。 如 果该信息通过移动支付平台的认证, 移动支付平台将组织交易报文发送到开卡终端, 报文中包含个人化 流程中所需的 APDU 指令以及待写入卡片中的信息文件和密钥。 6.2.2.3.3 发起个人化指令 开卡终端调用 Personal Command 指令向卡片发起个人化指令。 6.2.2.3.4 更新卡片上的文件信息 开卡终端调用 Update Binary 指令依次向卡片中写入 EF01,EF02,EF03 文件的内容。 6.2.2.3.5 取卡片随机数 开卡终端调用 Get Challenge 指令从卡片中获取随机数。 6.2.2.3.6 更新及写入卡片密钥 开卡终端调用 Write Key 指令依次更新传输控制密钥和写入应用密钥。 6.2.2.3.7 个人化结束 如果上述步骤均执行成功,开卡终端向卡片发出 Lock Card 指令通知卡片已成功完成个人化。 6.2.2.4 银行卡信息下载 银行卡信息下载交易是将用户的银行卡通过特定的关联过程存储在 CMCPA 应用中的过程。 持卡人真 2 实身份的确认方法 和机制由相应的发卡机构定义,这里不作特别描述。 6.2.2.4.1 输入银行卡信息 用户在手机上输入银行卡名称、卡号和银行卡密码信息或附加其他发卡银行指定的认证信息,确 认所有信息输入完毕后进入下一步。 6.2.2.4.2 读取认证信息 手机发送 READ BINRARY 命令读取 EF01 和 EF02 档的内容, EF01 档内容为移动支付平台(以下简 称 MPP)对手机端的认证信息;EF02 文件内容为 IC 卡的渠道发展方编号、硬件序列号。 6.2.2.4.3 移动支付平台认证 手机将从 IC 卡读取的认证信息和硬件序列号及用户输入的银行卡信息打包后发送到移动支付平 台,具体的打包格式不在本规范描述范围。 移动支付平台根据接收到的信息将计算该移动支付 IC 卡的唯一性密钥, 产生唯一性密钥的方法请 参见 6.2.3.2.1 节。 移动支付平台用计算出的唯一性密钥对认证信息解密,如果认证信息解密成功,就组织交易报文 到发卡行进行认证,否则给手机发送认证失败报文,交易终止。 发卡行如何认证银行卡信息不在本规范描述之内,如果认证成功,发卡行将该银行卡的磁道信息 及卡片有效期等信息发送到移动支付平台, 移动支付平台将加密后的磁道信息及卡片有效期等信息组织 成报文转发到手机终端上, 在成功发送到手机终端后或未发送但超过一定时间, 磁道信息将被自动删除。 6.2.2.4.4 信息下载 手机终端接收到移动支付平台发来的报文后,得到银行卡的磁道信息,将该信息和用户输入的卡 片名称一起用 UPDATE RECORD 命令保存在 EF04 文件中,交易完成。 6.2.2.5 默认支付卡选择 默认支付卡选择是指将用户下载的多种银行卡中选择一张作为默认的支付用卡。 6.2.2.5.1 读取下载的银行卡信息 手机使用 Get BankCard Info 命令将 EF04 文件内的银行卡信息读出,并显示在手机屏幕上供用户 选择。 6.2.2.5.2 设定默认支付卡 如果用户选择了其中的某张卡,则将该银行卡在 EF04 文件中的记录号使用 UPDATE BINARY 命
2

例如持卡人是否持卡到指定的银行网点开通。 32

Q/CUP 037.2.1—2011 令写入到 EF03 檔中。 6.2.2.6 现场支付 现场支付是指用户使用手机上的银行卡在金融终端上进行支付的活动。 6.2.2.6.1 应用选择 用户将手机靠近金融终端的非接触式读卡器,终端检测到卡片并选择移动支付应用。 6.2.2.6.2 终端读取默认银行卡信息 终端使用 GetBankCard Info 命令从银行卡信息文件读出默认支付银行卡的磁道信息;再从 EF02 文件中读出卡片硬件序列号后,提示用户在终端的 PINPAD 处输入银行卡密码。 6.2.2.6.3 终端向移动支付平台发送交易请求 终端将读取的用于交易的银行卡磁道信息及密码后,组织交易报文发送到移动支付平台。 6.2.2.6.4 移动支付平台处理 移动支付平台收到交易报文后识别出是用手机发起的现场支付交易后,将收到的银行卡磁道信息 解密,并重新组织报文后发送到 CUPS。 移动支付平台如何解密及 CUPS 与发卡机构的交互过程这里不作描述。 6.2.2.6.5 终端接收交易相应报文 终端收到移动支付平台返回的交易响应报文,并确定交易是否成功。 6.2.2.7 远程支付 远程支付是指用户在手机浏览器上选择了某种服务后使用默认支付银行卡进行支付的交易。 6.2.2.7.1 支付请求发送 用户在手机浏览器上访问 SP 在服务交易平台提供的消费服务(商品购买、服务购买等) ,并在某 个页面上确认要求支付后,手机将支付请求发送到相应的 SP。 6.2.2.7.2 商户订单生成 SP 得到请求后,计算交易金额、生成订单号,并把相关信息返回给手机。 6.2.2.7.3 终端发送交易报文 手机终端得到 SP 的订单信息后, 使用 Get BankCard Info 命令从 IC 卡的银行卡信息文件中读取默认 支付银行卡的磁道信息及从 EF02 文件中读取 IC 卡硬件序列号等卡片唯一性信息后,提示用户输入该 银行卡的 PIN,如果没有 PIN,直接按确认键。 手机终端将订单信息和用于支付的银行卡信息组织成交易报文后向移动支付平台发送交易请求。 6.2.2.7.4 远程支付交易处理 移动支付平台生成唯一性密钥并将用于支付的银行卡磁道信息解密,并重新打包后发送到 CUPS, CUPS 和发卡行的交互过程这里不作描述。 CUPS 将交易响应报文转发给移动支付平台,移动支付平台转发给手机终端。 6.2.2.7.5 终端接受交易响应报文 手机终端收到返回的交易响应报文,并确定交易是否成功。 6.2.2.8 银行卡余额查询 银行卡余额查询是指用户在手机上查询银行卡账户余额的交易。 6.2.2.8.1 交易发起 手机终端读取文件的内容并显示在手机屏幕上,用户在手机上选择某张银行卡,并确定余额查询 交易。 6.2.2.8.2 手机终端发送交易报文 手机提示用户输入银行卡密码并获取该信息后, 将用户输入的密码送 IC 卡加密, 使用 Get BankCard Info 命令从 IC 卡的银行卡信息文件中读取默认支付银行卡的加密磁道磁道信息及从 EF02 文件中读取 IC 卡硬件序列号等卡片唯一性信息后,手机终端将组织余额查询交易报文后向移动支付平台发送交易 请求。
33

Q/CUP 037.2.1—2011 6.2.2.8.3 余额查询交易处理 移动支付平台生成唯一性密钥并将用于支付的银行卡磁道信息解密,并重新打包后发送到 CUPS, CUPS 和发卡行的交互过程这里不作描述。 CUPS 将交易响应报文转发给移动支付平台,移动支付平台转发给手机终端。 6.2.2.8.4 终端接受交易响应报文 手机终端收到返回的交易响应报文,如果交易成功,将余额显示在终端屏幕上,否则显示错误代 码。 6.2.2.9 银行卡信息记录删除 银行卡信息记录删除是指将用户所选中的 EF04 文件中的某条银行卡信息记录内容置为初始化的过 程。 6.2.2.9.1 读取下载的银行卡信息 手机终端通过使用 Get BankCard File Entry 和 Get BankCard Info 命令将已下载到 EF04 文件内 的银行卡信息记录读出,并将银行卡名称以列表形式显示在手机屏幕上供用户选择。 6.2.2.9.2 删除选中的银行卡信息(非默认支付卡) 若用户选择并确认删除其中的某条银行卡,且该银行卡非默认支付卡,则手机终端使用 Update Record 命令将该条银行卡信息在 EF04 文件中的记录内容全置为初始化,即全部字节置为 FF。 6.2.2.9.3 删除选中的银行卡信息(默认支付卡) 如果用户所选中待删除的银行卡信息对应着默认支付卡,则分如下两种情况处理: 1) EF04 文件中还存在着其他银行卡信息文件, 若 则终端应要求用户重新选择一张银行卡作为默认 支付卡后,再使用 Update Record 命令将选中的银行卡信息记录内容全置为初始化。 2)若 EF04 文件中只有默认支付卡信息文件,则终端应提示用户删除之后就无法再进行支付交易, 待用户再次确认删除后,将该条银行卡信息删除,同时将 EF03 文件更新为初始值。 6.2.3 安全机制 6.2.3.1 概述 根据移动支付环境的业务需求,CMCPA 的交易有银行卡信息下载、现场支付和远程支付等,本章描 述在交易过程中涉及的安全机制和策略。 6.2.3.2 安全机制 在移动支付过程中,IC 卡作为移动支付的载体承担着保证整个交易过程的安全责任,根据移动支 付项目的技术要求和 IC 卡的结构定义, 在移动平台和手机之间将进行合法性认证, 手机端通过 IC 卡实 现。 6.2.3.2.1 IC 卡静态数据认证 在移动支付 IC 卡发卡时, 将用于认证的信息用卡片唯一性认证密钥加密, 将加密后的结果保存在 卡片的 EF01 文件中,在银行卡信息下载交易的过程中,该信息将供 MPP 确认 IC 卡的个人化信息并供 其它合作方校验。认证密钥的产生遵循如下方式: BrandAuthKey = Diversify(MasterAuthKey, IssuerID) AuthKey = Diversify(BrandAuthKey, CSN) MasterAuthKey 是移动支付平台用于实现对手机端认证的主密钥,通过对发卡方标识的分散,得 到发卡方认证主密钥 BrandAuthKey,再用卡片的物理硬序号 CSN 分散得到卡片的唯一性认证密钥 AuthKey。 在认证时手机从 IC 卡上读取认证信息并上送移动支付平台,移动支付平台根据发卡方标识和卡片 CSN 重新计算出卡片的认证密钥 AuthKey,解密认证信息,通过对解密后的认证信息进行正确性校验
34

Q/CUP 037.2.1—2011 来完成认证过程。具体的认证信息结构及认证过程这里不作描述。 6.2.3.2.2 移动支付平台与手机间的安全控制 通过对移动支付平台和手机之间的交易报文进行加密和计算报文 MAC 来保证移动支付平台和手 机间的数据传输安全,加密的策略是对敏感字段进行加密。加密方式是采用 ECB 方式用对称密钥进行 加密。 在交换交易报文时,首先通过唯一性 MAC 密钥来校验报文 MAC 的合法性,如果报文 MAC 校验 成功,则继续用唯一性解密密钥解密敏感字段元,并继续交易,报文 MAC 校验失败则终止交易。 6.2.3.2.3 银行(磁条)卡信息的安全控制 保存在银行卡信息文件中的银行卡磁道信息本身是敏感信息,它以密文的方式保存在银行卡信息 文件中,为了防止磁道信息被读取后复制,禁止对银行卡信息文件的读取操作。终端要获得磁道信息必 须通过 GET BANKCARD INFO(GBI)命令, GBI 返回的磁道信息是加密的; 同时为了防止加密的磁道信 息被截留后伪造交易,GBI 每次加密磁道信息的密钥都使用会话密钥。会话密钥算法遵循如下步骤: (1) 计算临时过程密钥,算法如下图所示:
InputData1

TripleDes(ENCRYPT)

GBI_Key

GBI_Temp_Key

其中 InputData1 长度为 16 字节的过程密钥数据,由 6.2.4.14 指令 Get BankCard Info 的 8 字节 Data 域数据处理而来。GBI_Key 为密钥信息文件中的密钥 6,详见附件 B.6。 (2) 计算 GBI 加密会话密钥,算法如下图所示:
InputData2

TripleDes(ENCRYPT)

GBI_Temp_Key

GBI_Session_ Key

其中 InputData2 长度为 16 字节的会话密钥数据,由 8 字节的随机数处理而来。GBI_Temp_Key 为 步骤 1 中的产生的临时过程密钥。 6.2.3.2.4 密钥分散算法 在移动支付系统中使用的密钥均为双倍长密钥,生成子密钥的方法如下: 1:将分散因子作为输入数据,用被分散的密钥做 3DES 加密操作,加密结果作为子密钥的最左部 分。 2:将分散因子逐位取反 3:将取反后的分散因子作为输入数据,用被分散的密钥做 3DES 加密操作,加密结果作为子密钥 的最右部分。 6.2.3.2.5 密钥标识 用来标识密钥的属性和特征信息, 密钥标识和密钥索引唯一的标识一个密钥, 详细定义见 6.2.4.15.2
35

Q/CUP 037.2.1—2011 节。 6.2.3.2.6 过程密钥 密钥在使用前,必须生成过程密钥,用过程密钥来计算 MAC 或进行加密运算,过程密钥的生成方 法和 PBOC2.0 电子钱包电子存折里描述的算法一致,对每个密钥的用于生成过程密钥的数据在这里定 义为: SessionData = DATE TIME 80 DATE 定义为当前日期,用压缩 BCD 编码,格式为 YYYYMMDD; TIME 定义为当前时间,用压缩 BCD 编码,格式为 HHMMSS。 6.2.3.2.7 传输密钥 为了保证卡片和终端之间敏感数据的传输安全,CMPCA 使用传输密钥来加密 APDU 报文的数据 域,并计算 APDU 的 MAC。 在 CMCPA 应用里有且只有一个传输密钥,传输密钥不支持过程密钥机制。 6.2.3.2.8 MAC 的长度 在 CMCPA 里,MAC 的长度定义为 4 字节。 6.2.3.2.9 MAC 算法及数据补齐模式 计算 MAC 的算法请参阅《中国金融集成电路(IC)卡规范第 1 部分:电子钱包电子存折卡片规范》 8.3.2.4 节,计算 MAC 的初始值为“00 00 00 00 00 00 00 00”,补齐是首先强制补 80h,然后判断数据长度 是否为 8 字节的整数倍,如果不是就用 00h 补齐。 6.2.3.2.10 安全报文的加密算法和补齐模式 为了保证卡片和终端数据传输的安全, 在敏感信息(如密钥)在写入卡片时, 将采用安全报文的机制, APDU 的数据域中的内容将被加密,同时对整个 APDU 的结构计算报文 MAC。参与计算报文 MAC 的 资料请参阅《中国金融集成电路(IC)卡规范第 1 部分:电子钱包电子存折卡片规范》8.3.2 节。 数据域数据在加密前必须补齐为 8 字节的整数倍,数据补齐时首先在明文数据前加 1 字节 LD,标 识明文数据的长度,然后判断数据长度是否为 8 的整数倍,如果不是就首先补 80h,然后再判断数据长 度之否是 8 的整数倍,如果不是就一直用 00h 补齐,直到资料长度为 8 的整数倍。 CMCPA 内安全报文的加密算法请参阅《中国金融集成电路(IC)卡规范第 1 部分:电子钱包电子存 折卡片规范》8.4 节。 6.2.3.2.11 计算安全报文 MAC 的初始向量 ICV 计算安全报文 MAC 的初始值(ICV)在 CMCPA 里做新的定义,在执行安全报文前从卡片取得的随 机数前两个字节定义为 ICVprefix,在首次发送安全报文命令时将用当前随机数作为计算 MAC 的 ICV, 一旦该命令执行完毕,该随机数立即实效。 ICVprefix = 卡片随机数的前两个字节 如果连续进行安全报文传输,则将 ICVprefix 作为整数值加 1 后得到的值做为新的 ICVprefix,用 原来的后部资料重新补齐后做为新的 ICV 参与安全报文 MAC 的计算,以此类推。 在连续的安全报文命令中间,如果出现下述任何一种情况,终端必须使用新的卡片随机数来计算 ICV: ——终端发出了 GET CHALLENGE 命令 ——终端发出了 SELECT 命令来选择一个 DF ——一条安全报文指令出错 6.2.4 APDU 命令 6.2.4.1 概述 本节描述了基于 CMCPA 的命令和回应。
36

Q/CUP 037.2.1—2011 命令及其回应的代码约定和报文格式在《 《中国金融集成电路(IC)卡规范第 1 部分:电子钱包电 子存折卡片规范》5.5 节中描述。 本规范在附录 B 中详细定义了命令报文和响应报文的数据元。 在应用执行过程中,INIT_FOR_DESCRYPT 和 DES_CRYPT 两条命令构成一个半闭包关系, 在用 INIT_FOR_DESCRYPT 产生过程密钥后, 除非再次发出 INIT_FOR_DESCRYPT, 否则该过程密钥将一致有效, 直到应用重新被选择或退出该应用。 下面定义了命令报文的类别位元组和指令位元组的编码,以及 CMCPA 使用的参数 P1 和 P2。 命 SELECT(选择) READ BINARY(读取二进制文件) READ RECORD(读取记录文件) UPDATE BINARY(更新二进制文件) UPDATE RECORD(更新记录文件) VERIFY(校验 PIN) UNBLOCK PIN(解锁 PIN) CHANGE PIN(修改 PIN) INIT_FOR_DESCRYPT(加密初始化) DES_CRYPT(DES 加密) GET RESPONSE(取响应数据) GET BANKCARD FILE ENTRY (检索银行卡文件信息) GET BANKCARD INFO(取银行卡信息) ACCESS SWITCH(存取开关) WRITE KEY(写密钥) UPDATE CARD NAME(更改银行卡名称) GET CHALLENGE(取随机数) LOCK_CARD(结束个人化) 令 CLA ‘00’ ‘00 ‘00 ‘00 ‘00 ‘00 ‘80’ ‘80 ‘80’ ‘80’ ‘00’ ‘80’ ‘80’ ‘80’ ‘84’ ‘80’ ‘00’ ‘80’ INS ‘A4’ ‘B0 ‘B2 ‘D6 ‘DC’ ‘20 ‘2C’ ‘5E’ ‘1A’ ‘FA’ ‘C0’ ‘F2’ ‘F8’ ‘F6’ ‘F4’ ‘D4’ ‘84’ ‘26’ ‘00’ ‘00’ ‘24’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ ‘00’ P1 ‘00’/‘04’ P2 ‘00’

应用开发过程中,对于上述 CLA 的处理应使其支持多逻辑通道,CLA 中逻辑通道的具体编码规则详 见 ISO7816-4 部分的定义。 6.2.4.2 Select 6.2.4.2.1 定义 该命令定义了用 AID 选择卡上应用的方式或用 FID 选择应用档的方式。 6.2.4.2.2 命令格式 CLA ‘00’ INS ‘A4’ P1 ‘00’/‘04’ P2 ‘00’ Lc ‘02’/“05’~‘10’ DATA AID

6.2.4.2.3 命令报文数据域 当 P1=‘0’时, Lc=‘02’, 命令报文数据域为 EF 的 EFID。 当 P1=‘04’时,Lc=‘05’~‘10’, 命令报文数据域为 DF 的 AID。 6.2.4.2.4 回应报文数据域 如果 Select 命令选择的 DF 是移动支付应用(AID 为 A0 00 00 03 33 CUP-MOBILE),响应数据为如 下结构:

37

Q/CUP 037.2.1—2011 标志 70 长度 var. 标志 51 长度 1 说明 应用版本号。从本版开始,版本号定 义为与《移动支付技术规范》版本号 一致,当前定义为 13h,代表 1.3 版 银行卡信息文件(EF04)记录数 值 结构数据对象卷标 存在方式 M M M

52

1

M

如果 Select 命令选择的是 CMCPA 应用下的 EF,响应数据为如下结构: TFCI 6F LFCI 07 TSTRUCT 82 LSTRUCT 01 STRUCT TINFO 80 TINFO 02 INFO

STRUCT 定义如下: 01:二进制文件 02:定长记录文件 03:循环记录文件 其它值保留 INFO 定义: 如果文件类型为二进制文件,INFO 的值作为一个整数表示文件的长度,以字节为单位; 如果文件类型为定长或循环记录文件,则 INFO 的低字节定义记录个数,高字节定义记录长度: 低字节 高字节 记录个数 记录长度 6.2.4.2.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6A82’ ‘6A86’ 命令执行成功 Lc 长度错误 文件未找到 P1/P2 错误 说明

6.2.4.3 Read Binary 6.2.4.3.1 定义 该命令采用 SFI 隐式选择的方式,读取二进制文件的数据。 6.2.4.3.2 命令格式 CLA ‘00’ INS ‘B0’ P1 见下表 P2 偏移地址的 低位字节 Lc 无 DATA 无 Le ‘00’~‘FF’

P1 字节定义:
38

Q/CUP 037.2.1—2011 含义 读取模式 用 SFI 方式 0 0 x x x x x 用 SFI 方式时,必须为 0 SFI 值

B8 x 1 -

B7 -

B6 -

B5 -

B4 -

B3 -

B2 -

B1 -

6.2.4.3.3 命令报文数据域 命令报文数据域不存在。响应报文数据域为读出的二进制文件数据。 6.2.4.3.4 响应报文数据域 当 Le=0 时,只要文件的最大长度在 256(短长度)之内,则从 P2 标识的偏移地址开始,读出全部 字节。 当 Le=n(0<n<=0xFF)时,只要文件的最大长度在 256(短长度)之内,则从 P2 标识的偏移地址开 始,读出 n 个字节。 6.2.4.3.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6981’ ‘6986’ ‘6A82’ ‘6A86’ 命令执行成功 Lc 长度错误 命令与文件结构不兼容 不满足命令执行的条件 文件未找到 P1/P2 错误 说明

6.2.4.4 Read Record 6.2.4.4.1 定义 该命令采用 SFI 隐式选择的方式,读取记录文件中的记录数据。 6.2.4.4.2 命令格式 CLA ‘00’ INS ‘B2’ P1 记录号 P2 见下表 Lc 无 DATA 无 Le ‘00’ 或者 记录长度

P2 字节定义: B8 x B7 x B6 x B5 x B4 x B3 1 B2 0 B1 0 SFI 以记录号方式读取(P1 为记录号) 含义

6.2.4.4.3 命令报文数据域 命令报文数据域不存在。 6.2.4.4.4 回应报文数据域 回应报文数据域中包含所请求读出的记录数据。
39

Q/CUP 037.2.1—2011 当 Le=’00’时,该命令应可以完整地读出所请求的记录数据。 6.2.4.4.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6981’ ‘6986’ ‘6A82’ ‘6A86’ 命令执行成功 Lc 长度错误 命令与文件结构不兼容 不满足命令执行的条件 文件未找到 P1/P2 错误 说明

6.2.4.5 Update Binary 6.2.4.5.1 定义 该命令采用 SFI 隐式选择的方式,将输入的数据写入指定的二进制文件。 6.2.4.5.2 命令格式 CLA ‘00’ INS ‘D6’ P1 见下表 P2 偏移地址的 低位字节 Lc ‘01’~‘FF’ DATA 新数据

P1 字节定义: B8 x 1 0 0 x x x x x B7 B6 B5 B4 B3 B2 B1 读取模式 用 SFI 方式 用 SFI 方式时,必须为 0 SFI 值 含义

6.2.4.5.3 命令报文数据域 命令报文数据域包括用于更新原有数据的新数据。 6.2.4.5.4 回应报文数据域 回应报文数据域不存在。 6.2.4.5.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6981’ ‘6986’ ‘6A82’ ‘6A86’ 命令执行成功 Lc 长度错误 命令与文件结构不兼容 不满足命令执行的条件 文件未找到 P1/P2 错误 说明

40

Q/CUP 037.2.1—2011 6.2.4.6 Update Record 6.2.4.6.1 定义 该命令采用 SFI 隐式选择的方式,将输入的数据写入指定的记录文件的记录中。 6.2.4.6.2 命令格式 CLA ‘00’ INS ‘DC’ P1 ‘00’/记录号 P2 见下表 Lc ‘01’~‘FF’ DATA 新数据

P1 定义为: 如果文件类型是定长记录文件,取值为记录号(‘01’~‘FE’), 如果文件类型是循环记录文件,取值为‘00’。 P2 字节定义: B8 x B7 x B6 X B5 x B4 x B3 1 B2 0 B1 0 SFI 以记录号方式读取(P1 为记录号) 含义

6.2.4.6.3 命令报文数据域 命令报文数据域包括用于更新原有记录的新数据。 6.2.4.6.4 回应报文数据域 回应报文数据域不存在。 6.2.4.6.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6981’ ‘6986’ ‘6A82’ ‘6A86’ 命令执行成功 Lc 长度错误 命令与文件结构不兼容 不满足命令执行的条件 文件未找到 P1/P2 错误 说明

6.2.4.7 Verify 6.2.4.7.1 定义 该命令用于校验输入的个人密码的正确性。 ——如果 PIN 的错误计数器的值(0~15)为 0,则返回 6983。 ——成功校验 PIN 后,错误计数器恢复设定值,同时恢复 GBI 连续读取计数器。 当 PIN 的校验次数大于最大限制值时,卡片将被处于锁定状态,需要通过 Unblock PIN 命令解锁。 校验次数最大限制值取值建议为 2~10 次范围内。 6.2.4.7.2 命令格式 CLA ‘00’ INS ‘20’ P1 ‘00’ P2 ‘00’ Lc ‘08’ DATA 个人密码数据

41

Q/CUP 037.2.1—2011 6.2.4.7.3 命令报文数据域 个人密码最少为 3 个字节组成。若用户的个人密码不足 8 字节,则用‘FF’补足至 8 字节。 6.2.4.7.4 回应报文数据域 回应报文数据域不存在。 6.2.4.7.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6A86’ ‘63Cx’ ‘6983’ 命令执行成功 Lc 长度错误 P1/P2 错误 PIN 错误, ‘x’标识剩余次数 PIN 锁定 说明

6.2.4.8 Unblock PIN 6.2.4.8.1 定义 该命令通过对 PUK 码的成功校验,可以解除 PIN 的锁定状态,并且将 PIN 更新为新的 PIN 值。 6.2.4.8.2 命令格式 CLA ‘80’ INS ‘2C’ P1 ‘00’ P2 ‘00’ Lc ‘10’ DATA PUK 码 + 新 PIN

6.2.4.8.3 命令报文数据域 命令报文数据域由 8 字节的 PUK 码和 8 字节的新 PIN 值组成。其中新 PIN 值若不足 8 字节,则用 ‘FF’补足至 8 字节。 6.2.4.8.4 回应报文数据域 回应报文数据域不存在。 6.2.4.8.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6A86’ 命令执行成功 Lc 长度错误 P1/P2 错误 说明

6.2.4.9 Change PIN 6.2.4.9.1 定义 该命令用于修改 ADF 下的持卡人密码。 6.2.4.9.2 命令格式 CLA ‘80’ INS ‘5E’ P1 P2 ‘00’ Lc ‘ DATA PIN 码 +”FF” 新 PIN

P1 定义为: “01”: PIN
42

Q/CUP 037.2.1—2011 “02”: PUK 6.2.4.9.3 命令报文数据域 当前密码+FF+新密码 6.2.4.9.4 回应报文数据域 回应报文数据域不存在。 6.2.4.9.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6A86’ 命令执行成功 Lc 长度错误 P1/P2 错误 说明

6.2.4.10 INIT_FOR_DESCRYPT 6.2.4.10.1 定义 用于为进行 DES 运算的密钥产生过程密钥,是否可以产生过程密钥或在产生过程密钥前进行分散 由密钥的属性决定。 6.2.4.10.2 命令格式 CLA ‘80’ INS ‘1A’ P1 P2 Lc N*8 DATA

P1 字节为密钥标识,关于密钥标识的定义请参见 6.2.4.15.2 节 P2 位元组定义密钥的索引。 6.2.4.10.3 命令报文数据域 用于进行密钥分散或生成过程密钥的数据,数据顺序为: 密钥分散数据 + 过程密钥数据 如果密钥分散数据不止一项,则密钥分散数据由从高(1)到低(3)的顺序排列。 6.2.4.10.4 回应报文数据域 回应报文数据域不存在。 6.2.4.10.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6A86’ ‘6A82’ ‘6982’ ‘6985’ 6.2.4.11 DES Crypt
43

说明 命令执行成功 Lc 长度错误 P1/P2 错误 引用数据未找到 安全条件不满足 使用条件不满足

Q/CUP 037.2.1—2011 6.2.4.11.1 定义 该命令可以用指定的密钥,对输入的资料做 DES 加密或者 MAC 计算,并输出计算结果。 ——使用前必须用 INIT_FOR_DESCRYPT 产生了过程密钥。 ——对做加密或者 MAC 计算时可处理的数据长度不作限制。 6.2.4.11.2 命令格式 CLA ‘80’ P1 字节定义: B8 B7 B6 RFU B5 B4 B3 B2 B1 x 0 1 x 0 1 x 0 1 含义 计算模式 加密/解密 MAC 计算 后续块 无后续块 有后续块 初始值(仅对 MAC 计 算有效) 无初始值 有初始值 INS ‘FA’ P1 见下表 P2 ‘00’ Lc N*8 DATA 数据

P1 值计算模式如下: —— 0,无后续块加密; —— 1,最后一块 MAC 计算; —— 2,有后续块加密; —— 3,下一块 MAC 计算; —— 5,唯一一块 MAC 计算; —— 7,第一块 MAC 计算; —— 其它,保留。 6.2.4.11.3 命令报文数据域 命令报文数据域包括要加密的数据。加密数据的长度为 8 的整数倍。在 P1 的 B3 位为 1 时,待处 理数据的前 8 个字节为 MAC 计算的初始值。 6.2.4.11.4 回应报文数据域 在 P1 的 B1 位为 0 时,响应报文数据域必须包括加密结果,数据长度是 8 的整数倍。 在 P1 的 B1 位为 1 时,且 P1 的 B2 位为 0 时,回应报文数据域包括 4 字节的 MAC 值。 6.2.4.11.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6A82’ 命令执行成功 Lc 长度错误 未找到文件
44

说明

Q/CUP 037.2.1—2011 ‘6A86’ ‘6A88’ ‘6985’ P1/P2 错误 未找到密钥 未做初始化

6.2.4.12 Get Response 6.2.4.12.1 定义 该命令提供了一种从卡片向接口设备传送 APDU(或 APDU 的一部分)的传输方法。 6.2.4.12.2 命令格式 CLA ‘00’ INS ‘C0’ P1 ‘00’ P2 ‘00’ Lc ‘01’~‘FF’ DATA 无

6.2.4.12.3 命令报文数据域 命令报文数据域不存在。 6.2.4.12.4 回应报文数据域 回应报文数据域的长度由 Le 的值决定。 6.2.4.12.5 回应状态码 代码 ‘9000’ ‘6700’ ‘6A86’ 命令执行成功 Lc 长度错误 P1/P2 错误 说明

6.2.4.13 Get BankCard File Entry 6.2.4.13.1 定义 该命令提供了一种在移动支付应用下检索银行卡信息文件(EF04)信息存储情况的接口。 6.2.4.13.2 命令格式 CLA ‘80’ INS ‘F2’ P1 ‘00’ P2 Lc DATA

P2: 01:检索空间使用情况 02:搜索指定银行卡的存储位置 DATA: P2=01:没有命令数据域; P2=02: 数据域为银行卡卡号,长度为 10 字节。 6.2.4.13.3 回应报文数据域 响应数据为 2 字节位图信息, 第一个字节的最高比特位标识银行卡钱包的第一条记录, 第二位标识 第二条记录,以此类推。 当 P2=01 时:比特位置 1 标识空闲或不存在,置 0 标识已存储。 当 P2=02 时:比特位置 1 表示指定银行卡的存储所在位置,置 0 表示不匹配。
45

Q/CUP 037.2.1—2011 6.2.4.13.4 回应状态码 代码 ‘9000’ ‘6700’ ‘6A86’ 命令执行成功 Lc 长度错误 P1/P2 错误 说明

6.2.4.14 Get BankCard Info 6.2.4.14.1 定义 在移动支付应用环境下,该命令提供了如下功能:安全的将银行卡信息传递到终端设备的方法。 ——如果连续读取计数器的值(0~15)到达预设值,则锁定卡片 PIN,并返回 6983。 约束条件:当 PIN 输错次数超过最大限制值时,该指令不可用。 6.2.4.14.2 命令格式 CLA ‘80’ INS ‘F8’ P1 ‘02’ P2 Lc 08 DATA

P2: 在银行卡信息文件需检索的记录号。 如果记录号为 00,表示读取默认银行卡信息。 DATA 域为当前日期和时间的压缩 BCD 编码后补十六进制‘80’。 日期:YYYYMMDD(如:20 06 07 18) 时间:HHMMSS(如:08 01 01) 6.2.4.14.3 回应报文数据域 响应数据报文格式如下: 数据项 卡信息记录内容 过程密钥数据 长度 108 字节 8 字节

读取记录内容中的银行卡敏感信息经过加密处理, 终端使用该信息可以直接完成交易。 卡片应首先 根据记录内容中的有效位数值确定银行卡敏感信息长度。 如果加密信息不是 8 的整数倍, 则从资料起始 一直截取到是 8 的整数倍为止,截取的数据用敏感数据加密密钥加密,余下的部分数据保留不变,添加 到加密信息的尾部。经过加密的敏感信息长度和原敏感信息长度一致。 6.2.4.14.4 回应状态码 代码 ‘9000’ ‘6700’ ‘6A86’ ‘6A83’ ‘6982 ‘6985’ 命令执行成功 Lc 长度错误 P1/P2 错误 记录未找到 安全状态不满足 使用条件不满足
46

说明

Q/CUP 037.2.1—2011 ‘6A89’ ‘6983’ 记录内容没有初始化 PIN 锁定

6.2.4.15 Write Key 6.2.4.15.1 定义 该命令提供了在卡片个人化阶段安全的将密钥导入卡片的机制。 在个人化结束时, 该命令将不可使 用。 ——使用前必须从卡片取过随机数 6.2.4.15.2 命令格式 CLA ‘84’ INS ‘F4’ P1 P2 Lc DATA

P1 密钥写入模式: “01” 安装一个新密钥 : “02” 更新一个已有的密钥 : P2 密钥标识: “20” 传输控制密钥 : “x3~x6” 应用密钥 : DATA: 当 P1=“01”时,数据域结构为:加密后的密钥信息、MAC 值。待加密的密钥信息结构如下,包 括密钥标识(KID)、密钥索引(KIDX)、密钥属性(ATTRIB)和密钥值(VALUE)。 密钥信息长度 密钥标识 密钥索引 密钥属性 密钥值 1 字节 1 字节 1 字节 1 字节 16 字节 当 P1=“02”时,数据域结构为:加密后的密钥信息、MAC 值。待加密的密钥信息结构如下,包 括密钥标识(KID)、密钥索引(KIDX)和密钥值(VALUE)。 密码标识 密码索引 密钥信息长度 密钥值 1 字节 1 字节 1 字节 密钥索引为 1 位元组; 密钥属性为 1 字节, “00”标识加密; “80”标识解密,其它保留。 密钥标识(KID)长度为 1 字节,定义如下: B8 x B7 x B6 B5 B4 B3 B2 B1 含义 分散级数: 00:不分散 01~03:分散级数 x 密钥类型: 0:应用密钥 1:传输密钥 x x x x x 过程密钥: 0:不计算过程密钥 1:计算过程密钥 密钥标识号(0~15)
47

16 字节

Q/CUP 037.2.1—2011 0~6:本规范保留使用 7~15:应用自定义 密钥值长度为 16 字节。 MAC 的计算方法如下图所示:

图 13 MAC 的计算方法 6.2.4.15.3 回应报文数据域 该命令无回应报文。 6.2.4.15.4 回应状态码 代码 ‘9000’ ‘6985’ ‘6982’ ‘6988’ ‘6D00’ 命令执行成功 使用条件不满足 安全条件不满足 安全报文不正确 CLA 字节错 说明

6.2.4.16 Access Switch 6.2.4.16.1 定义 该命令提供了在移动支付应用环境下,防止信息被非法读取的保护机制。 ——缺省状态为打开 6.2.4.16.2 命令格式 CLA ‘80’ P2: “01” :打开存取开关 “02” :关闭存取开关 6.2.4.16.3 回应报文数据域
48

INS ‘F6’

P1 00

P2

Lc 00

DATA 不存在

Q/CUP 037.2.1—2011 该命令无回应报文。 6.2.4.16.4 回应状态码 代码 ‘9000’ ‘6985’ 命令执行成功 使用条件不满足 说明

6.2.4.17 Get Challenge 6.2.4.17.1 定义 该命令提供了从卡片上取随机数的方法。 6.2.4.17.2 命令格式 CLA ‘00’ INS ‘84’ P1 00 P2 00 Lc 不存在 DATA 不存在 Le ‘08’

6.2.4.17.3 回应报文数据域 卡片产生的随机数。 6.2.4.17.4 回应状态码 代码 ‘9000’ ‘6700’ ‘6D00’ 命令执行成功 数据域长度不正确 CLA 字节错 说明

6.2.4.18 Update Card Name 6.2.4.18.1 定义 该命令用来更新银行卡信息文件里存储的银行卡的名称。 6.2.4.18.2 命令格式 CLA ‘80’ INS ‘D4’ P1 记录号 P2 ’24’ Lc ‘14’ DATA 新数据

6.2.4.18.3 命令报文数据域 命令报文数据域包括用于更新原有记录中卡片名称的新数据。 6.2.4.18.4 响应报文数据域 响应报文数据域不存在。 6.2.4.18.5 响应状态码 代码 ‘9000’ ‘6700’ ‘6981’ 命令执行成功 Lc 长度错误 命令与文件结构不相容
49

说明

Q/CUP 037.2.1—2011 ‘6986’ ‘6A82’ ‘6A86’ 不满足命令执行的条件 文件未找到 P1/P2 错误

6.2.4.19 LOCK CARD 6.2.4.19.1 定义 该命令通知卡片结束个人化状态。 6.2.4.19.2 命令格式 CLA ‘80’ INS ‘26’ P1 00 P2 00 Lc 00 DATA 不存在

6.2.4.19.3 回应报文数据域 该命令无回应报文。 6.2.4.19.4 回应状态码 代码 ‘9000’ ‘6985’ 命令执行成功 使用条件不满足 说明

6.2.4.20 PERSONAL COMMAND 6.2.4.20.1 定义 此命令是向卡片发起个人化流程的指令。 6.2.4.20.2 命令报文 CLA ‘80’ INS ‘E0’ P1 00 P2 00 Lc 00 DATA 不存在

6.2.4.20.3 响应报文数据域 响应报文数据域不存在。 6.2.4.20.4 响应报文状态码 代码 ‘9000’ ‘6D00’ 命令成功执行 不支持的指令代码 说明

6.2.4.20.5 使用说明 当卡片收到此指令时,对于未做过个人化的卡片,应返回’9000’,并开启个人化状态,等待个人化 数据;对于已做过个人化并成功的卡片,应返回’6D00’,表示不支持再次个人化;对于已做过个人化但 未成功的卡片,应能恢复到未做过个人化的状态,并返回’9000’,同时开启个人化状态,等待个人化数 据。 6.3 其它行业应用 其它行业应用应符合本行业的技术规范。 多应用的管理和安全机制应符合本标准本卷第2部分:移动支付智能卡多应用安全规范。 7 移动支付智能卡通用安全要求 7.1 硬件安全要求
50

Q/CUP 037.2.1—2011 7.1.1 SIM(UIM)卡 移动支付 SIM(UIM) 卡应满足 GB/T 22186-2008 (EAL4+) 规范或以上版本的要求。 7.1.2 智能 SD 卡 移动支付 智能SD卡内的安全芯片应满足 GB/T 22186-2008(EAL4+)规范或以上版本的要求。 7.2 软件安全要求 7.2.1 移动支付智能卡多应用管理平台通用安全要求 移动支付智能卡多应用管理平台应提供严格的安全机制,实现卡片中一个或者多个安全区域情况 下,支持外部环境对卡片中安全区域内以及安全区域内之间的应用、数据、密钥等敏感信息受限访问, 支持外部环境对多应用环境中应用之间数据、密钥等敏感信息的受限访问。 7.2.2 移动支付智能卡操作系统通用安全要求 移动支付智能卡操作系统应遵循 GB/T16649 系列标准,提供独立于移动支付终端设备操作系统的 安全机制,为智能卡多应用管理平台提供统一的底层安全服务接口。 智能卡平台安全具体参考本标准本卷第2部分《移动支付智能卡多应用安全标准》中的相关要求。 7.2.3 移动支付智能卡应用安全要求 按照基本功能划分,移动支付智能卡应用可以分为两大类:金融应用和其他行业应用。 金融应用须符合《中国金融集成电路(IC)卡规范》中所描述的安全规范。 其它行业应用应符合本行业的技术安全规范。 移动远程支付交易安全要求金融应用提供方为远程支付交易提供安全应用服务, 对报文敏感数据进 行加密,计算报文鉴别码,建立智能卡到后台服务器之间的端到端的安全通道。 具体安全要求参考本标准本卷第6部分《移动支付实体互联安全规范》。 8 安全芯片 8.1 硬件配置 移动支付安全芯片至少包括独立的处理器、加密协处理器、随机数产生器及存储器,各组成部分具 体要求如下: ——处理器 移动支付安全芯片应具有 CPU 处理器,提供足够的运算能力, 满足移动支付的应用场景运算及安全 要求。 ——加密协处理器 移动支付安全芯片应提供协处理器,可实现硬件加密算法,至少应支持对称体系的 DES/3DES 硬件 加密算法,非对称体系的 RSA/ECC 硬件加密算法,算法应能满足 JR/T 0025 的要求。 ——随机数发生器 移动支付安全芯片应提供真随机数发生器,实现硬件生成随机数算法,真随机数发生器应有自检测 功能。 ——存储器 移动支付安全芯片应提供基本的硬件存储器,至少同时包括非易失性只读存储器、 随机读写存储器、 及可擦除可编程非易失存储器三种类型存储器。 8.2 软件功能要求 8.2.1 并发处理功能 移动支付智能卡的支付功能不应与手机的其他功能发生冲突, 如语音通信和数据通信。 移动支付终 端应实现对语音、短信等通信功能和支付功能的并发处理机制。 8.2.2 多应用管理功能
51

Q/CUP 037.2.1—2011 移动支付智能卡应具备基于卡片操作系统,独立运行的多应用安全管理平台, 该平台应遵循与厂商无关的统一规范及标准, 平台安全应遵循与卡片供应商无关、 开放的安全评估 标准, 应用提供方可独立于卡片发行方及卡片供应商。 移动支付智能卡多应用安全管理平台具备开放性、通用性、完善的卡片及应用生命周期管理功能、 灵活的多应用下载功能及应用可扩展性。

52

Q/CUP 037.2.1—2011

附 录 A (规范性附录) 基于双界面卡的移动支付实现方案 A.1 基于双界面卡的移动支付智能卡的一种方案 A.1.1 概述 基于双界面卡的移动支付实现方案为过渡性方案。 A.1.2 方案架构 基于双界面卡的移动支付智能卡方案的核心部分包括天线和具有双界面接口的 SIM 卡,双界面 SIM 卡具有两个接口:接触式接口和非接触式接口。

接触通道

基带芯片

C1 C2 C3 C4

C5 C6 C7 C8

SIM

天 线

非接触通道

图A.1 基于双界面 SIM 卡的移动支付智能卡方案架构图 A.1.3 双界面卡的天线工艺要求 A.1.3.1 拉伸强度 如天线为柔性天线,应具备一定的拉伸强度,将天线的一端固定,拉伸另一端,天线应能承受小于 等于35牛顿的力。 A.1.3.2 弯折次数 如天线为柔性天线, 天线连接柄部位应能够承受一定的弯折次数及压力, 线圈连接柄部位均能承受 180度弯折并且上压0.5kg的重物, 重复次数应能承受反复推压90次以上, 线圈部分应能承担10次推压以 上。 A.1.3.3 天线连接处强度 如天线为柔性天线,卡片与天线连接柄连接处的抗拉扯强度应能达到30牛顿以上。 A.1.3.4 工作温度 在0℃到50℃的环境温度范围内,天线应能正常工作。 A.1.4 谐振回路 天线应能与 28pf 电容谐振于 13~17.5MHz 之间。如天线与双界面 SIM 卡作为一体式产品,则其 谐振频率应在 13~17.5MHz 之间。 A.1.5 非接触通道

53

Q/CUP 037.2.1—2011 双界面 SIM 卡的非接触通道由双界面 SIM 卡的非接触接口和天线构成。 非接触通道电气特性和传 输协议应符合本规范第二卷第3部分非接射频接口规范的要求。 A.1.6 接触通道 双界面 SIM 卡的接触通道由双界面 SIM 卡的接触接口构成。 A.1.7 双界面 SIM 卡的触点定义 表 A.1 双界面 SIM 卡的触点定义 管脚号 C1 C2 C3 C4 C5 C6 C7 C8 名称 VCC RST CLK A1 GND RSV SIO A2 类型 P I/O I/O I/O I -I/O I/O 描述 电源电压 复位 时钟 天线接口 地 保留 数据线 天线接口

54

Q/CUP 037.2.1—2011

附 录 B (资料性附录) 非接触式 IC 卡的银行(磁条)卡应用文件结构 B.1 持卡人认证信息文件 EF01 是保存认证信息的,读自由,写不允许。 EF01:持卡人认证信息 档标识:EF01 读权限:自由 写权限:不允许 数据项 认证信息 建议的认证信息应包括但不限于: 序号 1 2 3 4 5 数据项 姓名 证件类型 证件号码 联系电话 保留 长度 20 1 20 16 7 偏移量 0 长度 64 类型:二进制文件 短文件标识符:01H

B.2 卡片信息文件 EF02 是存储卡片唯一序列号的档,读取自由,不能被修改。安全载体类型的填写规则参照 6.1 节 PBOC 应用下 Tag 为 9F63 的卡片数据元中字节 11 的取值定义。 EF02:卡片信息文件 档标识:EF02 读权限:自由 写权限:不允许 数据项 卡片序列号 渠道发展方编号 安全载体类型 保留 偏移量 0 10 18 19 长度 10 8 1 5 类型:二进制文件 短文件标识符:02H

B.3 默认支付银行卡文件 EF03 是存储默认的银行卡信息文件, 读取自由, 写权限由 PIN 保护, 磁道信息是经过加密的信息。
55

Q/CUP 037.2.1—2011

EF03:默认银行卡信息文件 档标识:EF03 读权限:自由 写权限:PIN 数据项 默认卡记录号 RFU 偏移量 0 1 长度 1 7 类型:二进制文件 短文件标识符:03H

B.4 银行卡信息文件 EF04 是存储用户输入的银行卡信息文件,读写使用 PIN 保护,建议记录个数为 10 条。 EF04:钱包文件 档标识:EF04 读权限:禁止 写权限:PIN 记录格式 数据项 卡名称 卡号 二磁道信息 三磁道信息 有效期 RFU 偏移量 0 20 30 50 104 106 长度 20 10 20 54 2 2 类型:定长记录文件 记录条数:10 短文件标识符:04H

B.5 终端交易明细文件 EF05 是存储用户的远程交易明细,建议记录个数为 20 条。 EF05:日志文件 档标识:EF05 读权限:自由 写权限:PIN 记录格式 数据项 日期 时间 交易类型 交易金额 卡号 商户代码 偏移量 0 4 7 8 12 22 长度 4 3 1 4 10 8
56

类型:循环记录文件 记录条数:20

短文件标识符:05H

Q/CUP 037.2.1—2011

B.6 密钥信息文件 密 钥 文 件 为 卡片 内 部 文件 , 只 可 以 通过 WRITE KEY 命 令 写 入 或 通过其 它 专 用 指 令 (如 INIT_FOR_DESCRYPT)使用(PIN 和 PUK 除外) 。 密钥文件 档标识:无 读权限:禁止 写权限:安全信息 缺省密钥信息 密钥名称 PIN PUK 传输密钥 密钥 3 密钥 4 密钥 5 密钥 6 密钥 7 密钥 标识 - - ‘20’ ‘x3’ ‘x4’ ‘x5’ ‘x6’ ‘x7’ 长度 8 8 16 16 16 16 16 16 说明 持卡人验证密码 PIN 解锁密码 安全报文传输密钥 应用密钥 应用密钥 应用密钥 应用密钥 应用密钥 类型:内部文件 密钥存放个数:12 短文件标识符:无

57

Q/CUP 037.2.1—2011

附 录 C (规范性附录) 应用接口实现方案一 C.1 方案概述 本实现方案中,SD 控制器通过接口文件地址和数据报文中的特征码识别出与安全芯片进行通讯的 应用报文。 C.2 接口文件定义 单文件方式下,文件名定义为“MPAY_SSD.SYS” ;多文件方式下,文件夹(SDIF)定义为 “MPAYSSY” ,文件夹中文件命名规则从 MPAYXX.SYS,其中 xx 的编码从 00h~FFh,文件夹下文件 数目最大不超过 256 个。 ROOT

MPAY_SSD.SYS

MPAYSSY

MPAY01.SYS

MPAY02.SYS

MPAYXX.SYS 图 C.1 文件接口示意图 终端应用程序(TA)应首先在智能SD卡中判断是否存在应用接口文件,如果不存在应动态创建应用 接口文件。 在应用通讯开始时,TA应首先通过SCIF_BIND完成接口文件与数据传输通道之间的绑定。在应用通 讯期间,TA应保证数据传输通道的可用性。在应用通讯结束时,TA应通过SCIF_UNBIND解除接口文件与 数据传输通道之间的绑定。 C.3 应用流程 本方案中,TA通过SD控制器访问安全芯片(SC),必须按如下流程来访问:
58

Q/CUP 037.2.1—2011
SCIF_BIND

SCIF_CONNECT

SCIF_PPS

SCIF_INFO

SCIF_ATR

SCIF_APDU

SCIF_DISCONNECT

C

SCIF_UNBIND

图 C.2 应用流程示例 当 TA 发送 SCIF_BIND 指令建立应用接口文件与数据传输通道的绑定后,在 SD 控制器的寄存器 中记录当前接口文件的地址, 后续读写该地址的文件读写命令被认为是与安全芯片进行的通讯操作, 即 建立了与安全芯片进行通讯的数据传输通道,入口地址为接口文件的地址。 当 TA 发送 SCIF_CONNECT 指令后, 控制器为该 TA 分配一个会话标识, SD 表示当前的通信连接。 在应用通讯期间,SD 控制器首先根据是否发往数据传输通道筛选出候选应用通讯报文,然后再通过报 文内容中是否存在标识码进一步确定该报文是否应用通讯报文。 如果是, 按照读写接口文件的格式进行 解析。 当 TA 发送 SCIF_DISCONNECT 指令后,SD 控制器销毁此次会话标识。 当 TA 发送 SCIF_UNBIND 指令解除应用文件与数据传输通道的绑定后, 应结束当前与安全芯片的 通信连接,清除其寄存器中所记录的接口文件地址,即关闭了数据传输通道。 TA 必须遵循图 C.2 的流程来访问卡片,其中 SCIF_APDU、SCIF_PPS 和 SCIF_INFO 是可选步骤, 其他是必须步骤。如果 TA 不遵循此步骤执行,SDC 会返回卡片状态字标识“非法状态”。 其中 SCIF_PPS 可以用来改变 SDC 和安全芯片之间的通信协议和通信速率,智能 SD 卡可选支持 此功能。

59

Q/CUP 037.2.1—2011 为确保TA在连接SDC时SDC处于正确状态,TA可在发送SCIF_CONNECT指令前发送SCIF_DISCONNECT指 令,将SDC切换到S1状态。

60

Q/CUP 037.2.1—2011

附 录 D (规范性附录) 应用接口实现方案二 D.1 方案概述 本实现方案中,SD 控制器通过数据报文中的特征码识别出与安全芯片进行通讯的应用报文。 请注意本方案的内容涉及到相关专利(专利号:200910061181.8)的使用。中国银联对于该专利的 真实性、有效性和范围无任何立场。 D.2 接口文件定义 单文件方式下,文件名定义为“MPAY_SSD.SYS” ;多文件方式下,文件夹( SDIF)定义为 “MPAYSSY” ,文件夹中文件命名规则从 MPAYXX.SYS,其中 xx 的编码从 00h~FFh,文件夹下文件 数目最大不超过 256 个。 ROOT

MPAY_SSD.SYS

MPAYSSY

MPAY01.SYS

MPAY02.SYS

MPAYXX.SYS 图 D.1 文件接口示意图 TA应首先在智能SD卡中判断是否存在应用接口文件, 如果不存在应动态创建应用接口文件。 在应用 通讯期间,TA应保证与安全芯片之间应用通讯的可用性。 D.3 应用流程 本方案中,TA通过SD控制器访问安全芯片(SC),必须按如下流程来访问:

61

Q/CUP 037.2.1—2011

SCIF_CONNECT

SCIF_PPS

SCIF_INFO

SCIF_ATR

SCIF_APDU

SCIF_DISCONNECT

C 图 D.2 应用流程示例 当 TA 发送 SCIF_CONNECT 指令后,SD 控制器为该终端应用程序分配一个会话标识,表示当前 的通信连接。在应用通讯期间,SD 控制器根据报文内容中是否存在标识码确定该报文是否应用通讯报 文。如果是,按照读写接口文件的格式进行解析。 当 TA 发送 SCIF_DISCONNEC 指令结束当前与安全芯片的通信连接,SD 控制器销毁此次会话标 识。 TA 必须遵循图 D.2 的流程来访问卡片,其中 SCIF_APDU、SCIF_PPS 和 SCIF_INFO 是可选步骤, 其他是必须步骤。如果 TA 不遵循此步骤执行,SD 控制器会返回卡片状态字标识“非法状态”。 其中 SCIF_PPS 可以用来改变 SD 控制器和安全芯片之间的通信协议和通信速率,智能 SD 卡可选 支持此功能。 为确保TA在连接SDC时SDC处于正确状态,TA可在发送SCIF_CONNECT指令前发送SCIF_DISCONNECT指 令,将SDC切换到S1状态。

62


相关文章:
第2卷-第2部分-移动支付智能卡多应用安全规范
中国银联移动支付技术规范 第 2 卷:智能卡支付技术规范 第 2 部分 智能卡多...本标准规定了多应用智能卡的安全要求,对卡片发行之后的智能卡安全作出了相关的...
V1.3 第1部分 智能卡卡片规范(征求意见稿)
ICS Q/CUP Q/CUP 037.2.1—2011 中国银联股份有限公司企业标准 中国银联移动支付技术规范 第 2 卷:智能卡支付技术规范 第 1 部分 智能卡卡片技术规范 Mobile...
第1卷-第2部分-移动终端支付应用软件安全规范
I Q/CUP 037.1.2—2011 前 言 《中国银联移动支付技术规范》共分为四卷: ——第 1 卷:基础规范 ——第 2 卷:智能卡支付技术规范 ——第 3 卷:移动...
第2卷-第4部分-移动支付系统应用和接口规范
中国银联移动支付技术规范 第 2 卷 智能卡支付技术规范 第 4 部分 移动支付...《中国银联移动支付技术规范》共分为四卷: ——第 1 卷:基础规范 ——第 2...
第2卷-第7部分-可信服务管理系统应用和接口规范
中国银联移动支付技术规范》v1.1版第2卷-第7...的技术规范 第 2 卷:智能卡支付技术规范 第 7 ...《移动终端近场支付技术规范》第4部分 智能卡多应用...
第2卷-第5部分-数据短信转换平台应用和接口规范
50 I Q/CUP 037.2.5—2011 前 言 《中国银联移动支付技术规范》共分为四卷: ——第1卷:基础规范 ——第2卷:智能卡支付技术规范 ——第3卷:移动互联网...
银联卡移动支付业务(智能卡模式)风险规则(试行)定稿
银联移动支付业务(智能卡模式)风险规则 (试行)目 1 总则 1.1 目的 1.2 ...卡片账户处理 协助案件调查 优化风险监控措施 报告风险事件 调查欺诈商户 协助案件...
第1卷-第1部分-术语和定义
I Q/CUP 037.1.1—2011 前 言 《中国银联移动支付技术规范》共分为四卷: ——第 1 卷:基础规范 ——第 2 卷:智能卡支付技术规范 ——第 3 卷:移动...
第4卷-短信支付的技术规范
第4卷-短信支付的技术规范_信息与通信_工程科技_专业资料。《中国银联移动支付技术规范》v1.1版第4卷-短信支付技术规范今日推荐 116...
第1卷-第3部分-安全管理和安全基础规范
I Q/CUP 037.1.3—2011 前 言 《中国银联移动支付技术规范》共分为四卷: ——第 1 卷:基础规范 ——第 2 卷:智能卡支付技术规范 ——第 3 卷:移动...
更多相关标签:
银联卡卡片规范 | 银联卡支付接口规范 | 智能卡支付技术 | 智能卡交通应用的规范 | 银联在线支付 | 银联支付 | 银联支付接口申请 | steam银联支付教程 |