JR-T 0025.16-2013 中国金融集成电路(IC)卡规范 第16部分:IC卡互联网终端规范.pdf
-
资源ID:93008787
资源大小:925.66KB
全文页数:48页
- 资源格式: PDF
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
JR-T 0025.16-2013 中国金融集成电路(IC)卡规范 第16部分:IC卡互联网终端规范.pdf
ICS 35.240.40 A 11 备案号:中 华 人 民 共 和 国 金 融 行 业 标 准 JR JR/T 0025.162013 中国金融集成电路(IC)卡规范 第 16 部分:IC 卡互联网终端规范 China financial integrated circuit card specifications Part 16:IC card internet terminal specification 2013-02-05 发布 2013-02-05 实施 中国人民银行中国人民银行 发布发布 JR/T 0025.162013 I 目 次 前言.III 1 范围.1 2 规范性引用文件.1 3 术语和定义.1 4 符号和缩略语.4 5 终端硬件要求.5 5.1 终端安全要求.5 5.2 安全模块要求.5 5.3 硬件组成.5 5.4 电源.6 5.5 终端类型.6 6 一般终端要求.6 6.1 交易类型.6 6.2 支持卡片介质.6 6.3 下载管理.6 7 终端个人化.6 7.1 终端个人化数据.6 7.2 终端公私钥.7 7.3 终端个人化流程.7 7.4 证书申请和发放流程.7 8 安全体系.8 8.1 证书系统.8 8.2 安全通道.9 9 终端交易流程.11 9.1 开始交易.11 9.2 选择应用.11 9.3 应用初始化/读应用数据.11 9.4 脱机数据认证.11 9.5 处理限制.11 9.6 持卡人验证.11 9.7 终端风险管理.12 9.8 终端行为分析.12 9.9 卡片行为分析.12 9.10 联机处理.12 9.11 交易结束.12 9.12 发卡行脚本处理.12 10 终端接口协议.12 10.1 USB 接口协议.12 JR/T 0025.162013 II 10.2 其他接口协议.12 附录 A(规范性附录)终端命令集.13 A.1 终端命令集概述.13 A.2 管理命令.14 A.2.1 READ TERMINAL INFO 命令.14 A.2.2 MANAGE BUZZER 命令.16 A.2.3 MANAGE LED 命令.16 A.2.4 CONFIG DISPLAY FORMAT 命令.17 A.2.5 MULTIPLE INSTRUCTION 命令.18 A.3 安全通道命令.18 A.3.1 ADD CERTIFICATE 命令.18 A.3.2 UPDATE CERTIFICATE 命令.19 A.3.3 DELETE CERTIFICATE 命令.20 A.3.4 READ CERTIFICATE 命令.20 A.3.5 GET CERT RESPONSE 命令.21 A.3.6 GET CLIENT HELLO 命令.22 A.3.7 HASH SERVER CERTIFICATE 命令.22 A.3.8 VERIFY SERVER CERTIFICATE 命令.23 A.3.9 CLIENT SIGN 命令.24 A.3.10 EXPORT MASTERKEY 命令.24 A.3.11 HMAC 命令.25 A.3.12 TRANSMIT ENCRYPTED COMMAND 命令.25 A.3.13 CLOSE SECURE CHANNEL 命令.26 A.4 交易命令.27 A.4.1 CREDIT FOR LOAD 命令.27 A.4.2 DEBIT FOR PURCHASE 命令.29 A.4.3 GET ELECTRONIC CASH BALANCE 命令.31 A.4.4 GET PRIMARY BALANCE 命令.31 A.4.5 GET DOL VALUE 命令.33 A.4.6 GET REVERSAL INFO 命令.34 A.4.7 VERITY OFFLINE PIN 命令.35 A.5 终端命令响应状态码列表.36 附录 B(规范性附录)报文鉴别码(MAC)计算方法.37 附录 C(资料性附录)安全通道建立过程示例.40 附录 D(规范性附录)终端支持双处理中心要求.41 JR/T 0025.162013 III 前 言 JR/T 0025中国金融集成电路(IC)卡规范分为以下部分:第 1 部分:电子钱包/电子存折应用卡片规范(废止);第 2 部分:电子钱包/电子存折应用规范(废止);第 3 部分:与应用无关的 IC 卡与终端接口规范;第 4 部分:借记/贷记应用规范;第 5 部分:借记/贷记应用卡片规范;第 6 部分:借记/贷记应用终端规范;第 7 部分:借记/贷记应用安全规范;第 8 部分:与应用无关的非接触式规范;第 9 部分:电子钱包扩展应用指南(废止);第 10 部分:借记/贷记应用个人化指南;第 11 部分:非接触式 IC 卡通讯规范;第 12 部分:非接触式 IC 卡支付规范;第 13 部分:基于借记/贷记应用的小额支付规范;第 14 部分:非接触式 IC 卡小额支付扩展应用规范;第 15 部分:电子现金双币支付应用规范;第 16 部分:IC 卡互联网终端规范;第 17 部分:借记/贷记应用安全增强规范。本部分为 JR/T 0025 的第 16 部分。本部分依据 GB/T 1.1-2009 给出的规则起草。本部分由中国人民银行提出。本部分由全国金融标准化技术委员会(SAC/TC180)归口。本部分主要起草单位:中国人民银行、中国工商银行、中国银行、中国建设银行、中国农业银行、交通银行、中国邮政储蓄银行、中国银联股份有限公司、中国金融电子化公司、银行卡检测中心、中钞信用卡产业发展有限公司、捷德(中国)信息科技有限公司、惠尔丰(中国)信息系统有限公司、福建联迪商用设备有限公司。本部分主要起草人:王永红、李晓枫、陆书春、潘润红、杜宁、陈则栋、吴晓光、李春欢、刘志刚、张永峰、汤沁莹、李新、张栋、王红剑、李一凡、余沁、周新衡、张步、冯珂、李建峰、向前、涂晓军、齐大鹏、陈震宇、郑元龙、聂舒、丁吉、白雪晶、李子达、沈卓群、刘世英、于海涛、翁秀诚。本部分为首次发布。JR/T 0025.162013 1 中国金融集成电路(IC)卡规范 第 16 部分:IC 卡互联网终端规范 1 范围 本部分描述了IC卡互联网终端在硬件需求、接口协议、命令集、个人化以及安全体系方面的相关要求和规定。本部分适用于受理符合JR/T 0025规范定义的金融IC卡的互联网终端设备。使用对象主要是与IC卡互联网终端应用相关的设计、制造、管理、受理以及应用系统的研制、开发、集成和维护等相关部门(单位)。在本部分内所提到的终端若无特殊说明,均指IC卡互联网终端。本部分描述了IC卡互联网终端在个人计算机上使用的规则,在其他应用环境(如智能手机、平板电脑等)的使用规则可参考本部分规定。2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。JR/T 0025.3 中国金融集成电路(IC)卡规范 第3部分:与应用无关的IC卡与终端接口规范 JR/T 0025.6 中国金融集成电路(IC)卡规范 第6部分:借记/贷记应用终端规范 JR/T 0025.7 中国金融集成电路(IC)卡规范 第7部分:借记/贷记应用安全规范 JR/T 0025.8 中国金融集成电路(IC)卡规范 第8部分:与应用无关的非接触式规范 JR/T 0025.17 中国金融集成电路(IC)卡规范 第17部分:借贷记应用安全增强规范 ISO/IEC 8859-1ISO/IEC 8859-10 信息处理 八位单字节编码图形字符集 ISO/IEC 9797-1 信息技术 安全技术 报文鉴别码(MACs)第1部分:块密码机制 3 术语和定义 下列术语和定义适用于本文件。3.1 应用 application 卡片和终端之间的应用协议和相关的数据集。3.2 非对称密码技术 asymmetric cryptographic technique 采用两种相关变换的密码技术:公开变换(由公钥定义)和私有变换(由私钥定义)。这两种变换存在在获得公开变换的情况下是不能够通过计算得出私有变换的特性。3.3 认证 authentication 确认一个实体所宣称的身份的措施。3.4 证书 certificate 由发行证书的认证中心使用其私钥对实体的公钥、身份信息以及其它相关信息进行签名,形成的不可伪造的数据。JR/T 0025.162013 2 3.5 认证中心 certification authority 证明公钥和其它相关信息同其拥有者相关联的可信的第三方机构,本文中也简称为CA认证中心或CA中心。3.6 认证中心根证书 certification authority root certificate CA认证中心给自己颁发的未被签名的公钥证书或自签名的证书,是信任链的起始点。3.7 命令 command 终端向IC卡发出的一条报文,该报文启动一个操作或请求一个响应。3.8 密文 cryptogram 加密运算的结果。3.9 密码算法 cryptographic algorithm 为了隐藏或显现数据信息内容的变换算法。3.10 解密 decipherment 对应加密过程的逆操作。3.11 数字签名 digital signature 对数据的一种非对称加密变换。该变换可以使数据接收方确认数据的来源和完整性,保护数据发送方发出和接收方收到的数据不被第三方篡改,也保护数据发送方发出的数据不被接收方篡改。3.12 唯一甄别名 distinguished name 在数字证书的主体名称域中,用来唯一标识证书用户的名称,体现用户的唯一性。3.13 加密 encipherment 基于某种加密算法对数据做可逆的变换从而生成密文的过程。3.14 金融 IC 卡 financial integrated circuit(s)card 符合JR/T 0025要求,并由商业银行发行的集成电路(IC)卡。3.15 握手协议 Handshake Protocol 用于在实际的数据传输开始前,通讯双方进行身份认证、协商密码算法、交换加密密钥等。3.16 集成电路(IC)integrated circuit(IC)具有处理和/或存储功能的电子器件。3.17 集成电路卡(IC 卡)integrated circuit(s)card(ICC)内部封装一个或多个集成电路用于执行处理和存储功能的卡片。3.18 IC 卡互联网终端 IC card internet terminal JR/T 0025.162013 3 通过互联网渠道、用于与IC卡配合共同完成IC卡交易的小型读卡设备,它应包括接口设备,也可包括其它的部件和接口(如与主机的通讯)。3.19 接口设备 interface device 终端上插入IC卡的部分,包括其中的机械和电气部分。3.20 管理命令 management command 终端用于执行获取终端参数信息、控制终端提示等操作的命令。3.21 PIN 加密证书 PIN encryption certificate 由根CA中心签发的、用于加密联机PIN的数字证书。3.22 私钥 private key 一个实体的非对称密钥对中含有的供实体自身使用的密钥。3.23 处理中心 process centre 用于接收、处理或转发终端交易请求信息,并向终端回送交易结果信息的系统。3.24 公钥 public key 在一个实体使用的非对称密钥对中可以公开的密钥。3.25 公钥证书 public key certificate 由认证中心签名的不可伪造的某个实体的公钥信息。3.26 圈存 load 增加卡中电子现金余额的过程。3.27 记录协议 Record Protocol 建立在可靠的传输协议之上,为应用层协议提供数据封装、压缩、加密等基本功能的支持。3.28 响应 response IC卡处理完成收到的命令报文后,返回给终端的报文。3.29 安全通道 secure channel 建立在IC卡互联网终端与处理中心之间的安全通信通道。3.30 脚本 script 发卡行向终端发送的命令或命令序列,目的是向IC卡连续输入命令。3.31 安全通道命令 secure channel command 终端用于执行终端与处理中心之间建立安全通道和管理数字证书等操作的命令。3.32 对称密码技术 symmetric cryptographic technique JR/T 0025.162013 4 发送方和接收方使用相同保密密钥进行数据变换的密码技术。在不掌握保密密钥的情况下,不可能推导出发送方或接收方的数据变换。3.33 终端证书 terminal certificate 用于标识终端设备身份的、符合X.509格式的唯一数字证书,每一个终端设备在预个人化时均会写入该证书。3.34 交易命令 transaction command 终端用于执行借记/贷记应用流程的交易发起和联机处理等操作的命令。3.35 渠道证书 trusted server certificate 用于标识处理中心系统服务器身份的、符合X.509格式的唯一数字证书,每一个处理中心服务器均配置唯一的渠道证书。3.36 安全模块 trusted platform module 可信任平台模块,是一个可独立进行密钥生成、加解密的装置,内部拥有独立的处理器和存储单元,可存储密钥和特征数据,为设备提供加密和安全认证服务。用安全芯片进行加密,密钥被存储在硬件中,被窃的数据无法解密,从而保护商业隐私和数据安全。3.37 SM2 算法 SM2 algorithm 一种椭圆曲线公钥密码算法,其密钥长度为256比特。3.38 SM3 算法 SM3 algorithm 一种密码杂凑算法,其输出为256比特。3.39 SM4 算法 SM4 algorithm 一种分组密码算法,分组长度为128比特,密钥长度为128比特。4 符号和缩略语 下列符号和缩略语适用于JR/T 0025的本部分。an 字母数字型(Alphanumeric)APDU 应用协议数据单元(Application Protocol Data Unit)CA 认证中心(Certificate Authority)CBC 密码块链接(Cipher Block Chaining)CLA 命令报文的类别字节(Class Byte of the Command Message)CCID 芯片智能卡接口设备标准(USB Chip/Smart Card Interface Devices-USB)DES 数据加密标准(Data Encryption Standard)DN 唯一甄别名(Distinguished Name)DOL 数据对象列表(Data Object List)FIPS 联邦信息处理标准(Federal Information Processing Standard)HMAC 密钥相关的哈希运算消息认证码(Keyed-Hash Message Authentication Code)INS 命令报文的指令字节(Instruction Byte of Command Message)LED 发光二极管(Light Emitting Diode)MAC 报文鉴别码(Message Authentication Code)JR/T 0025.162013 5 n 数字型(Numeric)P1 参数 1(Parameter 1)P2 参数 2(Parameter 2)PAN 主账号(Primary Account Number)PIN 个人识别码(Personal Identification Number)RSA Rivest、Sharmir 和 Adleman 提出的一种非对称密钥算法 SHA-1 安全哈希算法(Secure Hash Algorithm)USB 通用串行总线标准(Universal Serial BUS)X.509 国际电信联盟远程通信标准化组织定义数字证书标准 SM2 指 SM2 椭圆曲线公钥密码算法,其密钥长度为 256 比特 SM3 指 SM3 密码杂凑算法,其输出为 256 比特 SM4 指 SM4 对称密码算法,其分组长度和密钥长度均为 128 比特 Sign(SK)X Verify(PK)X,S X:=ALG-1(K)Y Y:=ALG(K)X 用私钥 SK,通过 SM2 算法,对数据块 X 进行签名 用公钥 PK,通过 SM2 算法,对数据块 X 的签名结果 S 进行验证 用密钥 K,通过 64 位或 128 位分组密码方法,对 64 位或 128 位数据块 Y 进行解密 用密钥 K,通过 64 位或 128 位分组密码方法,对 64 位或 128 位数据块 X 进行加密 5 终端硬件要求 5.1 终端安全要求 IC卡互联网终端应使用安全模块保证个人标识代码(PIN)等敏感信息的安全输入和加密处理,支持与处理中心之间建立安全通道,对与外部交互的数据进行加、解密运算及合法性、完整性验证。终端应能够安全地存储密钥,禁止外部对密钥的直接访问,并通过有效的安全机制防止密钥被非法注入、替换和使用。应保证终端的固件和软件不被非法注入或更新。持卡人在终端上键入密码时,应只显示星号,不显示明文。终端的安全存储空间应至少能够满足本部分所涉及交易所需的证书、密钥的安全存储要求。5.2 安全模块要求 终端应采用具有密钥生成和数字签名运算能力的安全模块,保证敏感操作在安全模块内进行,不得泄露敏感信息或影响安全功能。安全模块应有独立的不可读区域,存放终端私钥、终端密钥等代表终端唯一性的重要信息。不应存在输出明文私钥、明文密钥或者明文PIN的机制,或者使用本身可能已经泄露的密钥来加密密钥或PIN。参与密钥运算的随机数应由安全模块生成,其随机性指标应符合国际通用硬件产生随机数标准要求。5.3 硬件组成 5.3.1 IC 卡读卡模块 终端应具备IC卡读卡模块,可与IC卡进行命令数据通讯,支持接触式和非接触式IC卡。该模块应包括机械、电气和逻辑协议等部分,应符合JR/T 0025.3和JR/T 0025.11的规定。终端应具备指示如何插入接触式IC卡和感应非接触式IC卡的标记。5.3.2 显示屏 终端应配置有显示屏,以供监测交易过程、输入数据、设置选项或确认交易数据。终端应支持ISO 8859的基本字符集。显示屏应同时具备中文、英文和数字显示能力。5.3.3 键盘 JR/T 0025.162013 6 终端应带有用于输入交易金额、个人识别码(PIN)、选择命令和执行功能的按键键盘。数字键、字母键、命令键、功能键及其布局,应符合JR/T 0025.6的规定,如果采用了带颜色的命令键,推荐使用下面的颜色分配。命令键颜色:确认绿色;取消红色;清除黄色。IC卡互联网终端键盘至少应具有10个数字键,若干功能键,功能键应必须包括清除和确认两种功能,至少包括余额查询键或功能键加上、下键的组合键。键盘输出密码至显示屏,不能显示明文,只能显示无意义字符号。5.3.4 与主机通信模块 通讯端口应至少支持USB通信方式。5.4 电源 终端应至少支持USB方式供电。参照现有USB供电要求,电源电压应为DC 5V5,工作电流小于500mA。5.5 终端类型 对各种终端类型的硬件要求见表1。表1 终端硬件要求 项目号 终端类型 硬件模块 接触式IC卡互联网终端 非接触式IC卡互联网终端 双界面IC卡互联网终端 1 键盘 必备 必备 必备 2 显示屏 必备 必备 必备 3 接触式IC卡读卡模块 必备 无 必备 4 非接触式IC读卡模块 无 必备 必备 5 主机通信模块 必备 必备 必备 6 安全模块 必备 必备 必备 6 一般终端要求 6.1 交易类型 IC卡互联网终端至少应支持电子现金圈存、电子现金余额查询、主账户联机消费和主账户联机余额查询交易。6.2 支持卡片介质 终端应支持金融IC卡,不支持磁条卡。6.3 下载管理 终端应提供证书、参数等数据的安全下载、更新和删除功能。7 终端个人化 7.1 终端个人化数据 终端个人化数据应至少包括终端数据、终端证书、CA根证书和PIN加密证书。7.1.1 终端数据 终端数据由以下信息组成:所属机构编码、所属机构自定义数据、终端标识码。终端数据应当在终端出厂前预置,出厂后不允许更改。表2 终端数据 说明 长度(字节)类型 JR/T 0025.162013 7 所属机构编码 8 n 所属机构自定义数据 7 n 终端标识码 8 ans 7.1.2 终端证书 终端证书应由终端所属机构向CA中心申请,并由CA中心签发。该证书是用于标识终端合法身份的唯一公钥证书。7.1.3 CA 根证书 CA根证书应由CA中心签发并管理,需要从CA中心服务器下载,主要用于在交易过程中验证终端证书、渠道证书、PIN加密证书合法性。7.1.4 PIN 加密证书 PIN加密证书应由处理中心向CA中心申请并下载,主要用于联机PIN的加密。如终端中存在不止一个PIN加密证书,则终端根据渠道证书中的DN域选择对应的PIN加密证书对联机PIN进行加密。具体方法见附录D。7.2 终端公私钥 终端公私钥在终端下载终端证书过程中由终端生产的。终端产生的公钥提交CA参与制作证书,终端私钥应保存终端的安全模块中,不允许导出。7.3 终端个人化流程 终端个人化是在终端出厂前将终端个人化数据预先写入终端的过程,其中CA根证书、终端证书、PIN加密证书需要从CA中心服务器下载。具体步骤如下:向终端写入终端数据信息;向终端设备中安装终端证书;向终端设备中安装 CA 根证书;向终端设备中安装 PIN 加密证书。7.4 证书申请和发放流程 IC卡互联网终端涉及的证书包括渠道证书、终端证书、CA根证书和PIN加密证书。7.4.1 CA 根证书 CA 根证书用于验证渠道证书、终端证书和 PIN 加密证书的真伪,以辨别合法身份,需要在个人化过程中写入 IC 卡互联网终端和处理中心的安全设备中。CA 根证书的下载由 CA 中心与终端所属机构协商而定。7.4.2 终端证书 终端在从CA中心申请、制证和下载证书前,需要通过CA中心对证书申请渠道进行安全审核,审核通过后才能进行证书的申请和发放流程。CA中心审核通过后,其申请和发放流程见图1。JR/T 0025.162013 8 CA中心终端5 5.导出终端公钥导出终端公钥2 2.审核申请审核申请7 7.签发终端证书签发终端证书1 1.申请终端证书申请终端证书4 4.生成密钥对生成密钥对6 6.生成终端证书生成终端证书8 8.将终端证将终端证书写入终端书写入终端3 3.发送生成密钥命令发送生成密钥命令 图1 终端证书发放流程 具体步骤如下:1)终端发送终端证书申请;2)CA 中心审核终端证书申请;3)CA 中心发送终端密钥对生成命令;4)终端生成密钥对;5)终端导出终端公钥;6)CA 中心生成终端证书;7)CA 中心签发终端证书;8)终端写入终端证书。7.4.3 渠道证书 渠道证书可以用来验证处理中心服务器的真伪,防止服务器被假冒,并在与终端设备进行安全通讯时证明服务器的身份。渠道证书预置在处理中心的服务器中,其发放流程同终端证书。7.4.4 PIN 加密证书 用于IC卡互联网终端在交易过程中保护金融交易PIN。IC卡互联网终端发放前需要预置PIN加密证书,其申请与发放流程同终端证书。8 安全体系 8.1 证书系统 JR/T 0025.162013 9 8.1.1 CA 系统结构 图2 终端 CA 系统结构 如图2所示,终端证书注册系统(RA)主要用于审核终端厂商和处理中心的证书申请,并在审核通过后,向终端和处理中心发放证书。8.1.2 密钥算法 采用JR/T 0025.7或JR/T0025.17中认可的对称、非对称及哈希算法。8.2 安全通道 IC卡互联网终端通过与其连接的主机等联网设备接入到处理中心,并通过联网设备采用下节描述的握手工作原理与处理中心建立端到端的逻辑安全通道。其总体架构见图3。终端处理中心主机Internet逻辑安全通道物理通道物理通道物理通道 图3 安全通道示意图 安全通道的建立协议由握手协议和记录协议两部分组成。其中握手协议用于完成终端与处理中心的双向身份认证和会话密钥的交换过程。记录协议用于完成应用数据的加密传输。安全通道的建立示例参见附录C。8.2.1 握手协议工作原理 握手协议用于完成终端和处理中心之间的双向身份认证和会话密钥的交换过程。握手协议基本流程握手协议基本流程 CA 中心 终端证书注册系统(RA)终端证书 PIN 加密证书 渠道证书 JR/T 0025.162013 10 终端处理中心2.发送终端随机数r1和终端算法标识A14.发送渠道证书,处理中心随机数r21设置算法标识A1,产生随机数r13.检查是否支持终端算法,产生随机数r25.验证渠道证书,产生48字节随机数作为共享主密钥M1,并使用渠道证书公钥加密共享主密钥得到E16.对终端随机数和处理中心随机数进行签名得到S17.发送签名值S1、E1和终端证书8.验证终端证书,验证签名值S1,解密E1得到M1,生成处理中心握手完成消息10.发送处理中心握手完成消息11.验证处理中心握手消息,生成终端握手完成消息12.发送终端握手完成消息13.验证终端握手完成消息,计算会话密钥14.生成会话密钥15.完成握手,交换数据信息9.生成处理中心握手完成消息 图4 握手协议消息序列图 握手协议工作步骤握手协议工作步骤 1)终端获取算法标识 A1,并产生随机数 r1,r1 和 A1 连接后得到 R1(R1=r1|A1),根据终端的算法支持设置在以下步骤中需要用到的对称算法和非对称算法;2)终端将随机数和算法信息发送到处理中心,启动握手协议;3)处理中心选择算法标识 A2,产生随机数 r2,r2 和 A2 连接后得到 R2。根据从终端发来的算法信息,检查处理中心是否支持,如果处理中心支持此算法,则设置处理中心对应的加解密算法;不支持则返回错误信息,断开连接;4)处理中心发送随机数和处理中心的渠道证书;5)终端使用终端中预制的 CA 根证书验证收到的处理中心的渠道证书,如果验证不通过,则发送出错消息,结束链接;否则,终端产生 48 字节随机数作为共享主密钥 M1,并且使用处理中心的渠道证书中的公钥采用之前设置的非对称算法对 M1 加密得到 E1;6)R1 和 R2 连接后得到 R3,终端先对 R3 进行摘要算法得到 H1,然后使用终端私钥对 H1 进行签名运算得到 S1;7)终端将 S1、E1 和终端证书发送到处理中心;8)处理中心使用 CA 根证书验证终端证书合法性,若终端证书验证不通过,则发送错误消息,结束链接;如果终端证书验证通过,则使用终端证书验证 S1。若 S1 验证不通过,则发送错误消息,结束链接。否则,从 E1 中解密得到共享主密钥 M1;9)处理中心对渠道证书进行摘要运算得到 H2,对终端证书进行摘要运算得到 H3。将 R1、R2、H2、H3、S1、E1 连接后得到 T1(T1=R1|R2|H2|H3|S1|E1);然后对 T1 进行摘要运算得到 H4;将 ASCII 码“SERVER”和 H4 连接后得到 D1;使用 M1 前 16 个字节对 D1 进行 HMAC 运算得到 F1(HMAC 计算方法见 B.2);10)处理中心发送握手验证完成消息 F1 到终端;11)终端验证接收到的处理中心发来的 F1,若验证不成功,则发送错误消息,结束链接;否则,发送终端握手验证消息F2到处理中心;F2运算与F1运算方法一样,只需要将F1运算时的ASCIIJR/T 0025.162013 11 码“SERVER”改为 ASCII 码“CLIENT”;12)终端发送握手验证完成消息 F2 到处理中心;13)处理中心使用同样的计算方法验证接收到的 F2 消息。验证失败,则发送错误消息,结束链接;14)上述握手过程成功后,双方使用如下方法计算会话密钥:X=HMAC(M1,key_label|r1|r2)(M1取其前16个字节)其中key_label为3字节ASCII码“KEY”,HMAC算法见附录B.2。令X1X2X20分别为X的第1个至第20字节,则加密密钥SKey为:SKey=X1X2X16,MAC密钥MKey为:MKey=X5X6X20;15)握手过程结束。8.2.2 记录协议工作原理 握手成功之后,双方可在建立的安全通道上进行数据传输。记录协议记录协议的数据加密方法的数据加密方法 在传输的数据Data前添加数据块长度Length(2字节),构成数据块D=(Length|Data)。使用加密密钥SKey按照终端与处理中心约定的加密算法对D进行加密。即:EData=ESKey(D);记录协议记录协议的数据完整性保护方法的数据完整性保护方法 在记录协议的传输过程中,为双端每个发送和接收记录指定记录序列号,其初始值Seq0按以下方法生成:取终端随机数的前8个字节Random1,取处理中心前8个字节Random2,则Seq0=Random1|Random2。每发送或接收一帧记录信息后,记录序列号加1,即Seqi=Seqi-1+1。注意双端要保持发送接收序列号的同步。双方交互的应用数据的完整性使用消息认证码MAC进行保护,MAC按以下方法生成:DataMAC=MAC(MKey,Seqi|EData)(MKey取其前16个字节)其中EData是所传输的加密应用数据,Seqi是当前的记录序列号。MAC的计算方法见附录B.1。终端或处理中心接收到数据后,首先验证MAC的正确性,如果正确则进行处理;否则,发送错误消息,并结束当前链接。9 终端交易流程 本章条描述IC卡互联网终端联机交易流程,是在互联网终端与处理中心进行相互认证建立安全通道后,所进行的交易处理流程。9.1 开始交易 当终端与处理中心建立安全通道后,终端根据从处理中心接收到的交易命令进行分析处理,处理无误后开始借记/贷记交易处理流程。交易命令见附录A。对于圈存交易终端应自动查询电子现金余额上限,并提示持卡人可圈存最大金额。9.2 选择应用 符合JR/T 0025.6的规定。9.3 应用初始化/读应用数据 符合JR/T 0025.6的规定。9.4 脱机数据认证 IC卡互联网终端,仅支持联机交易,终端可不支持脱机数据认证。9.5 处理限制 符合JR/T 0025.6的规定。9.6 持卡人验证 IC卡互联网终端进行联机交易流程时,应强制进行联机PIN验证。终端应显示交易金额,并提示持卡人在终端上输入PIN。JR/T 0025.162013 12 9.7 终端风险管理 终端在终端风险管理中设置为本次交易为强制联机,其他处理应符合JR/T 0025.6的规定。9.8 终端行为分析 符合JR/T 0025.6的规定。9.9 卡片行为分析 符合JR/T 0025.6的规定。9.10 联机处理 符合JR/T 0025.6的规定。9.11 交易结束 除符合JR/T 0025.6的规定外,在交易结束时,终端应以声光电等方式提示持卡人交易结束。9.12 发卡行脚本处理 对于发卡行联机成功的交易,如果在授权响应报文中包含了脚本,则终端将脚本解析成脚本命令,并发送给IC卡执行。对于圈存交易,若IC卡执行脚本响应超时,则不发起冲正。10 终端接口协议 10.1 USB 接口协议 终端采用USB接口,使用CCID协议。主机发送到终端的命令格式见表3。表3 主机发送到终端的命令格式 信息域 标识 字节长度 含义 通信数据头 Type 1 CCID 指令 Length 4 Abdata 的长度 Slot 1 卡槽号 Bseq 1 结果号 bBwi 1 块等待时间 Level Param 2 选择通讯方式 指令 Abdata 发送给终端的数据 金融 IC 卡读取随机数命令举例:6 6F F 05000000 05000000 00 00 F F1 1 00 00 0000 0000 00840000080084000008 Type Length Slot Bseq bBwi Level Abdata 10.2 其他接口协议 其他接口协议本部分规范不具体定义。JR/T 0025.162013 13 附 录 A(规范性附录)终端命令集 A.1 终端命令集概述 终端命令APDU格式和响应APDU格式符合JR/T 0025.3的规定。终端命令集包括两部分:专用命令集和普通命令集。专用命令集:指在本部分中所有命令报文的命令类别(CLA)为 7E 或 7F 的类 APDU 命令。其中,7E 表示明文传输数据;7F 表示加密传输数据,密钥包括会话(数据加密)密钥和 MAC 密钥,密钥通过安全通道双方协商生产。终端专用命令根据功能划分为五类,分别为管理类命令、安全通道类命令、交易类命令、发卡行保留命令和本规范保留命令。终端专用命令定义具体见表A.1。普通命令集:指除本部分规定的终端专用命令以外的其它 APDU 命令。注1:管理类命令:定义了获取终端参数信息、控制终端提示等管理类命令。注2:安全通道类命令:定义了终端与处理中心之间建立安全通道和管理数字证书等安全类命令。注3:交易类命令:定义部分借记/贷记应用流程的交易发起和联机处理等交易类命令。注4:发卡行保留命令:由发卡行定义使用。注5:本规范保留命令:由本规范保留使用。表A.1 终端专用命令定义 CLA 命令类别 INS 指令代码 用途 7E/7F 10-1F 管理类命令 7E/7F 20-2F 安全通道类命令 7E/7F 40-4F 交易类命令 7E/7F 50-6F 发卡行保留 7E/7F 其他 本规范保留 本部分所涉及专用命令集数据类型未经特殊说明的,数据类型均按照JR/T 0025定义。本部分定义的终端专用命令见表A.2。表A.2 终端专用命令集 编号 命令名称 CLA INS 功能描述 必选(M)/可选(O)管 理 类 指 令 READ TERMINAL INFO 7E 10 用于获取终端数据、交易 IC 卡卡号、固件版本号、设备状态等信息。M MANAGE BUZZER 7E 11 用于控制蜂鸣器的状态。O MANAGE LED 7E 12 用于控制 LED 的状态。O CONFIG DISPLAY FORMAT 7E 13 用于控制显示屏上提示信息的显示格式。O ADD CERTIFICATE 7E 20 用于向终端中安装证书。M 通 UPDATE CERTIFICATE 7E 21 用于更新终端中已经存在的证书。M JR/T 0025.162013 14 道 类 命 令 DELETE CERTIFICATE 7E 22 用于回收(删除)终端中的证书。M READ CERTIFICATE 7E 23 用于读取终端中的证书。M GET CERT RESPONSE 7E 24 用于读取 READ CERTIFICATE 命令返回的响应数据。M GET CLIENT HELLO 7E 25 用于获取建立安全通道所必须的终端算法标识及终端随机数。M HASH SERVER CERTIFICATE 7E 26 用于对渠道证书信息进行哈希运算操作。M VERIFY SERVER CERTIFICATE 7E 27 用于验证渠道证书的合法性。M CLIENT SIGN 7E 28 用于使用终端私钥对输入数据进行签名操作。M EXPORT MASTERKEY 7E 29 用于以密文方式导出共享主密钥。M HMAC 7E 2A 用于生成终端 HMAC,验证处理中心 HMAC 以及分散过程密钥。M TRANSMIT ENCRYPTED COMMAND 7F 2B 用于传输加密后的 APDU 命令。M CLOSE SECURE CHANNEL 7E 2C 用于关闭安全通道。M 交 易 类 命 令 CREDIT FOR LOAD 7E 40 用于实现金融 IC 卡圈存交易的联机处理。M DEBIT FOR PURCH