1、山东省质量技术监督局 公布-实施-公布集成电路(IC)卡应用技术规范第3部分:终端Application technical specification for integrated circuit (IC)card一Part 3:Terminal(送审稿)DB37/T .3ICS . L 立案号:1101527山东省地方标准目 次序言I1 范围12 规范性引用文件13 术语和定义14 符号和缩略语15 基础性能要求15.1 基础物理配置15.2 交易时间要求16 IC卡终端通常要求16.1 通常要求说明16.2 IC卡终端物理特征,逻辑接口,通信协议16.3 终端类型16.4 功效部件特征1
2、7 IC卡终端多应用要求27.1 基础要求27.2 终端应用管理27.3 IC卡应用选择28 IC卡终端功效要求38.1 消费类IC卡终端38.2 服务类终端39 IC卡终端数据安全要求39.1 通常安全要求39.2 非正常中止数据恢复机制59.3 安全存取模块物理安全要求59.4 安全存取模块逻辑安全要求510 黑名单管理510.1 黑名单管理功效610.2 黑名单统计类型610.3 黑名单检验610.4 黑名单更新610.5 黑名单库容量要求611 交易步骤611.1 消费终端交易步骤611.2 非接触式CPU卡和消费终端交易步骤812 IC卡终端安全要求1012.1 IC卡终端程序下载1
3、012.2 IC卡终端加载安全存取模块1112.3 IC卡终端内部应用安全1112.4 IC卡终端和外部设备通讯安全1112.5 IC卡终端安全认证步骤1113 终端设备软件升级和维护1313.1 底层控制软件升级和维护1313.2 应用程序升级和维护13前 言DB37/T XXX-集成电路(IC)卡应用技术规范分为三个部分:第1部分:卡片技术;第2部分:卡应用;第3部分:终端。本部分为DB37/T XXX-第3部分,以第1部分和第2部分为基础,依据IC卡应用,要求了一个能够从技术上确保“卡片通用,设备共享”终端最基础要求。本标准为推荐性标准。本标准由山东省经济和信息化委员会提出。本标准关键起
4、草单位:XXX、XXX。本标准关键起草人:XXX、XXX、XXX、XXX、XXX。集成电路(IC)卡应用技术规范第3部分 卡终端1 范围DB/Txxx本部分要求了对终端基础要求、终端功效、黑名单管理和终端应用程序升级和维护等。DB/Txxx本部分适适用于支持本标准所要求基础应用终端设备。使用对象关键是和IC卡应用相关终端设计、制造和应用系统研制、开发、集成和维护等组织机构。2 规范性引用文件下列文件对于本文件应用是必不可少。通常注日期引用文件,仅注日期版本适适用于本文件。凡不注日期引用文件,其最新版本(包含全部修改单)适适用于本文件。GB/T 14916 识别卡 物理特征GB/T 16649.
5、1 识别卡 带触点集成电路卡-第1部分:物理特征GB/T 16649.2 识别卡 带触点集成电路卡-第2部分:触点尺寸和位置GB/T 16649.3 识别卡 带触点集成电路卡 第3部分:电信号和传输协议GB/T 17554.1 识别卡 测试方法 第1部分:通常特征测试GB/T 17554.3 识别卡 测试方法 第3部分:带触点集成电路卡及其相关接口设备GB/T 18239 集成电路(IC)卡读写机通用规范CJ/T 166- 建设事业集成电路(IC)卡应用技术JR/T 0025 中国金融集成电路(IC)卡规范ISO/IEC 14443 (全部部分) 识别卡 无触点集成电路卡 近程卡 3 术语和定
6、义下列术语和定义适适用于本标准。3.1 ICC连接器 ICC connectorICC连接器是IFD和ICC电气连接物理实现部分。在逻辑上,本部分要求用它来标识和它电气上稳定连接ICC。3.2 经典交易时间 type bealing time经典交易时间是指IC卡终端在脱机交易状态下,从IC卡进入设备建立有效连接,经过卡认证,有效性判定,完成有价区有效扣减或增值,卡内存放相关交易信息所需要时间,不包含发票打印时间,终端内存放交易数据时间,数据下载和上传时间等。4 符号和缩略语IFD 接口设备(Interface Device)MAC 报文判别代码(Message Authentication
7、Code)SAM 安全存取模块(Secure Access Module)VCC 电源电压(Supply Voltage)5 基础性能要求5.1 基础物理配置对于任何类型IC卡终端通常全部应配置以下部件:显示部件,读写部件,最少2个安全存取模块(SAM)插座,数据交换通道,电源,内存或其它存放设备上述部件应符合国家或行业相关产品标准5.2 IC卡终端经典交易时间要求非接触CPU卡消费类终端经典交易时间小于300ms。非接触式逻辑加密卡消费类终端经典交易时间小于300ms。接触式CPU卡消费类终端经典交易时间小于850ms。服务类IC卡终端交易时间不作要求。6 IC卡终端通常要求6.1 通常要求
8、说明IC卡建设中采取IC卡终端要求含有联机和脱机功效,同时支持CPU卡和逻辑加密卡联机和脱机读写操作。消费类IC卡终端和服务类IC卡终端气候环境,机械环境,可靠性,安全性,电磁兼容性要求应符合产品行业标准或地方标准。6.2 IC卡终端物理特征,逻辑接口,通信协议a) 接触式卡IC卡终端物理特征应符合GB/T 16649.1和GB/T 16649.2要求。b) 接触式卡IC卡终端逻辑接口,通讯协议应符合GB/T 16649.3要求。c) 非接触卡IC卡终端逻辑接口和通信协议应符合ISO/IEC 14443.3和ISO/IEC 14443.4要求。6.3 终端类型支持IC卡应用终端依据其工作方法不
9、一样能够分为脱网终端和连网终端。表1给出这二类终端最低功效部件配置要求。表1 终端最低功效部件配置要求终端部件脱网终端连网终端显示器MM读写单元MM键盘OM密码键盘OM安全存取模块MO存放设备OM打印机OO网络通信接口OM实时时钟MM电源MMM必备 O可选 6.4 功效部件特征6.4.1 显示器用于交易过程显示及错误指示,本标准要求最少含有数字显示能力,并可显示汉字、字母和符号等。6.4.2 IC卡接口设备6.4.2.1 基础要求用于实现对符合本标准第1部分IC卡规范储值卡,进行本标准第2部分应用所要求多种应用所需操作,它应符合本部分中各项要求。6.4.2.2 物理链接读写单元经过串行接口或U
10、SB接口和宿主进行通信下,读写单元若经过USB接口和宿主交换数据,可采取四种传输方法之一,等时传输方法、中止传输方法、批处理方法、控制传输方法。串行读写单元通信波特率为115200,8,N,1。6.4.3 键盘用于输入交易数据及业务信息。最少应配置数字键及确定功效键。6.4.4 安全存取模块用于对终端操作IC卡权限判别和认证。6.4.5 打印机依据业务需要,终端可配置对应打印机。6.4.6 网络通信设备对于连机交易,终端应配置网络通信设备以用于终端和主机之间数据传输,通信设备可扩展无线通信模块。6.4.7 存放设备终端应配置足够存放空间,方便存放交易统计、业务数据及黑名单等信息。6.4.8 实
11、时时钟用于提供业务处理所需终端时间。6.4.9 电源终端能够采取交流或直流方法供电。6.4.10 PSAM插槽终端必需有2个以上PSAM卡可扩展插槽。7 IC卡终端多应用要求7.1 基础要求卡和终端应配合使用以确保交易安全、有效地运行。为了支持本标准第2部分要求,本部分对实现多应用终端提出部分管理应用和选择应用具体标准。通常来说,假如IC卡上有超出一个以上应用,则支持它终端应给用户一个按应用优先级排序列表以供选择。7.2 终端应用管理终端应用管理应达成以下目标:应用之间不能相互影响,应相互独立运行,相互之间数据和程序不可交换。共享数据必需确保:a) 各应用内部数据不能被其它应用得到;b) 全部
12、应用能够共享终端中通用数据;c) 提供给用选择标准界面;d) 对应用进行管理(提供给用程序选择、激活、严禁、参数设置等)。7.3 IC卡应用选择符合本标准第1部分IC卡可实现一个或多个应用,终端应能够选择并支持这些应用。应用选择过程应符合本标准第2部分应用要求。8 IC卡终端功效要求8.1 消费类IC卡终端8.1.1 通常要求消费类IC卡终端消费交易许可持卡人使用电子钱包余额获取服务,此交易在消费类 IC卡终端中统计交易数据,由终端将交易统计数据上传到交易清算中心。注:本标准从IC卡终端角度对充值,消费交易通常功效,步骤等方面提出了基础要求,IC卡终端个性化功效设计,相关系统设计及后台处理等内
13、容不属于本标准范围。8.1.2 安全要求消费交易时,必需使用特定消费安全存取模块(PSAM),PSAM是由IC卡发行主管部门或应用主管机构发行、能够用于对IC卡进行脱机消费交易认证认证卡,安装在各类消费类 IC卡终端中。消费类IC卡终端在IC卡和PSAM之间建立通信链路,消费类IC卡终端安全认证由IC卡和PSAM共同完成终端只是在IC卡和PSAM之间传输安全信息,不参与进行密钥运算过程。敏感数据不得以明码形式存放和通信。8.2 服务类终端8.2.1 通常要求IC卡充值交易不管在充值设备联机或脱机进行交易时,充值设备应首先对IC卡正当性给予验证,同时检验账户情况及其它交易数据,假如发卡方因某种原
14、因不能接收交易,那么充值设备必需显示对应通知信息。8.2.2 安全要求联机充值系统应采取“三层体系结构”,即前台用户机系统中间件应用服务器系统后台中心数据库系统,经过中间件将前台用户机和后台数据库联络起来,由终端完成对卡片充值操作,经过认证卡内密钥和ISAM卡是否匹配来确定是否是本系统卡。用户端程序发送给终端读卡指令后,终端将卡内信息发送给用户端,用来显示给用户。假如继续充值,那么需要依据对应提醒来确定充值金额。此时充值交易开始,用户端将充值金额和相关内容组成充值请求报文,发送给中间件。中间件首先判定请求报文是否正当和有效,然后查询黑名单并进行充值权限和授权充值额度认证。认证经过后,后台交易步
15、骤开始,数据库统计本笔充值交易数据,对应扣减网点充值额度,并将充值内容经过用户端返回给终端。终端依据发送回来内容,再利用ISAM卡计算充值密钥,依据充值规则对用户卡进行充值。充值成功后,由用户端向后台返回充值成功报文,充值交易及后台交易步骤均结束。假如充值过程中发生意外,不管是网络故障还是读写卡片时出现异常,用户端均进入冲正步骤。冲正步骤标准是卡片先冲正,后台再冲正,以确保数据安全性。脱机充值交易时,必需使用特定充值安全存取模块(ISAM)。ISAM是由IC卡发行主管部门或应用主管机构发行能够用于对IC卡进行充值安全认证卡(模块),安装在充值类终端中充值类终端在IC卡和ISAM之间建立通信链路
16、,充值类终端安全认证由IC卡和ISAM共同完成充值类终端只是在IC卡和ISAM之间传输安全信息,不参与进行密钥运算过程。充值类终端在设计时应对交易清算中心授权时间,次数和金额进行限制,预防该类终端在非法被使用时给系统造成重大损失(比如伪充值统计)。充值类终端在和交易清算中心双向身份认证,密钥传送,授权,交易统计上传及黑名单下载等通讯过程应采取密文加校验传送。9 IC卡终端数据安全要求9.1 通常安全要求9.1.1 终端存放数据类型终端通常存在两种类型数据。通用数据:包含时间、终端识别号及终端业务统计等。外界能够对这些数据进行访问,但不许可进行无授权修改。敏感数据:包含密钥、应用程序内部参数(如
17、SAM标识号,密钥索引)。在未授权情况下,外界不许可对这类数据进行访问和修改。注:本节要求了终端数据存放、处理通常性安全要求。同时也对安全存取模块(SAM)提出了具体要求。安全存取模块(SAM)用于存贮安全密钥并负责进行安全加密。相关SAM具体安全要求实现不属于本部分范围。9.1.2 通用数据安全要求通用数据通常存放在存放器中。在更新参数和下装新应用程序时,终端应做到:a) 验证更新方身份,对于应用程序重新下载,只许可终端全部者,或经终端全部者或代理方同意第三方实施。b) 校验下载参数及应用程序完整性。c) 对存放器要求应做到:不管在什么情况下,终端应用数据全部不会随意改变或丢失,并确保数据有
18、效。d) 全部和交易相关数据均应以统计形式存放于终端存放器中。终端应确保这些数据完整性。9.1.3 防拔处理假如终端在处理IC卡交易时,卡被忽然拔出或因为终端方面原因忽然停止操作(如发生断电),则终端应能依据本标准第2部分应用中要求,当检测到拔卡并重新插入卡或终端恢复供电后对卡实施防拔处理。在以上情况下,终端应进入这么一个状态:即持卡人可重新插入原来IC卡,并确定最终一次交易已经完成。假如持卡人未插入IC卡,则终端应提醒持卡人重新插入原来IC卡。假如插入卡不是原来卡,则终端应提醒持卡人重新插入原来卡。终端还应能够自动(如超时)或以人工方法(如操作员按下取消键)退出这种待插卡状态。在防拔处理结束
19、后,终端应实施以下操作之一:完成IC卡最终一笔交易,向持卡人显示交易已完成(假如IC卡数据已被更新)。取消最终一笔交易,向持卡人显示交易已被取消(假如IC卡数据没有被更新)。9.1.4 敏感数据安全要求敏感数据通常应存放在安全存取模块中。安全存取模块是一个能够提供必需安全机制以预防外界对终端所储存或处理数据进行非法攻击硬件加密模块。此模块关键负责保留和处理全部敏感数据,这些数据包含消费密钥或传输密钥等。对于安全存取模块硬件形式在此规范中将不做具体要求。在正常操作环境下,对安全存取模块要求是出入模块、和其内部存放和正在处理数据不会因为模块本身或其接口造成任何泄露和改变。9.1.5 交易上传数据I
20、C卡终端需要上传交易统计最少包含以下46字节数据,其格式见表2。表2 IC卡终端交易上传数据格式要求序号数据项(逻辑加密卡)格式长度数据项(CPU卡)长度备注1唯一号HEX4卡号162城市代码BCD23应用代码BCD24发行流水号BCD45卡认证码HEX46卡类BCD1卡类17钱包累计交易次数HEX2消费交易计数器28交易前余额HEX4交易前余额4交易前余额9交易金额HEX3交易金额310交易日期BCD4交易日期4YYYY/MM/DD11交易时间BCD3交易时间3HH/MM/SS12交易类型BCD1交易类型113SAM卡号HEX6卡号614保留HEX2充值交易计数器2保留时以FF填充15TAC
21、HEX4TAC4累计46469.2 非正常中止数据恢复机制假如IC卡终端在处理IC卡交易时,卡被忽然拔出或离开感应区或因为IC卡终端方面原因忽然停止操作(如发生断电),IC卡终端应能监测到卡被拔出又重新插入或重新进入感应区或检测到IC卡终端恢复供电,并对卡非正常交易错误数据实施恢复处理。在以上情况下,IC卡终端应进入这么一个状态:即持卡人应将原来IC卡重新插入或进入感应区,并等候最终一次交易完成。假如持卡人未将原来IC卡插入或未进入感应区,则IC卡终端应提醒持卡人重新插入IC卡或将卡放入感应区。在上述操作后,IC卡终端应实施以下操作之一:a) 完成IC卡最终一笔交易,向持卡人显示交易已完成(假
22、如IC卡余额已被更新);b) 取消最终一笔交易,向持卡人显示交易已被取消(假如IC卡余额没有被更新)。9.3 安全存取模块物理安全要求安全存取模块硬件设计应能确保在物理上限制对其内部存贮敏感数据存取和窃取,和对安全存取模块非授权使用和修改。一旦安全存取模块受到非法篡改及攻击,其本身应能够立即完成对内部敏感数据删除。要实现这些目标,安全存取模块应含有防窃、查窃、窃取显示或窃取响应机制,同时,安全存取模块也应含有足够防范特征,能够发觉是否被篡改过。总而言之,安全存取模块设计和结构应遵照以下要求:只有经过尤其技术和工具,或严重破坏方法,才能对模块硬件或软件进行增加、替换或修改;任何对敏感数据访问或修
23、改,只有经过对模块接触才能达成:a) 安全存取模块任何部分损坏或失效全部不会造成敏感数据泄露。b) 假如安全存取模块是由多个分离部件组合而成,而处理数据又必需在这些部件之间传输,那么各部件须保持相同安全等级。9.4 安全存取模块逻辑安全要求一个安全存取模块逻辑设计应确保,调用任何单一功效或组合功效,全部不会造成敏感数据泄露。对于一些敏感操作,应有一定权限限制。安全存取模块中可存放多组不一样版本不一样索引主密钥。全部主密钥通常应在终端投入使用之前被下载到安全模块中。假如在终端使用过程中,主密钥需要修改,应使用安全报文。实现这一操作通常应在特殊授权情况下完成。对外部不能存在任何取得密钥机会。为避免
24、伪操作,存放在安全模块中任何类型主密钥应和某个特定操作相结合。比如,主消费密钥将仅适适用于处理“消费及取现”应用操作。在每一个交易结束或超时状态下,安全模块应自动清除内部缓存区中存放数据。安全存取模块应能实施金融IC卡要求安全信息计算、校验。当符合标准IC卡需要以安全报文方法传输信息时,安全存取模块应能够实现安全报文传输。全部和脱机交易相关主密钥和敏感数据应存放在安全存取模块中。安全存取模块应能够实现要求加密算法和符合卡片规范中定义主密钥到子密钥分散算法。10 黑名单管理10.1 黑名单管理功效消费类终端和服务类终端应含有黑名单存放和检索功效,以实现IC卡脱机交易安全处理黑名单管理包含黑名单搜
25、集,分发,存放,检索,更新等标准性定义,黑名单搜集,IC卡终端中黑名单存放格式和内容细节将不在本标准之内。10.2 黑名单统计类型黑名单文件应该能够存放两种格式黑名单统计:a)序列号。b)序列号区间。10.3 黑名单检验黑名单检验操作在IC卡正当性检验过程中进行。卡片开始操作后,向IC卡终端回送包含应用序列号在内公共数据,IC卡终端依据序列号进行黑名单检验操作,检验该卡是否在IC卡终端存放黑名单卡之列。10.4 黑名单更新黑名单文件更新包含增加,删除和重新下载等操作,具体安全要求应包含:a) 黑名单下载设备和IC卡终端间通信数据安全性和完整性。b) IC卡终端对黑名单更新操作安全认证。c) 更
26、新周期要满足应用要求。10.5 黑名单库容量要求容量要满足应用要求,最低大于1000条。11 交易步骤11.1 消费终端交易步骤11.1.1 消费终端交易步骤要求说明IC卡终端交易步骤,是IC卡应用基础技术要求。软件开发商和系统集成商在开发和实施IC卡应用系统项目时,应遵照本标准所要求基础技术要求。11.1.2 非接触式逻辑加密卡和消费终端交易步骤图(以电子钱包消费交易为例)非接触式逻辑加密卡电子钱包消费交易步骤见图1。否否否否是是是是读应用分区表和用户基础信息开始唯一代码、城市代码、卡号、卡认证码、文件表识送安全模块安全模块计算出钱包区、公共信息区、交易统计区等KEY读公共信息区内容断点卡判
27、定及恢复处理改写公共信息区正本进程、统计指针、卡交易计数器及文件标识认证交易统计区、写卡交易统计认证钱包区、扣减正本交易金额认证公共信息区、改写正本进程标志认证钱包区、拷贝钱包副本认证公共信息区、拷贝信息区副本把交易时间、交易金额、交易次数送安全存放模块计算TAC存放消费统计结束安全模块认证卡正当性判定黑名单标志查黑名单判定包区正当性警告提醒,退出交易警告提醒,退出交易写卡内黑名单标志,存放黑名单交易统计,警告提醒,退出交易警告提醒,退出交易图1 非接触式逻辑加密卡电子钱包消费交易步骤11.1.3 非接触式逻辑加密卡和消费终端交易步骤图说明非接触式逻辑加密卡在消费终端上交易过程应按下列次序进行
28、:a) 卡正当性认证:消费终端检测到IC卡后首先要认证卡正当性,避免系统受到非法卡、非系统卡、伪卡侵害,IC卡和发行认证应由PSAM负责;b) 判黑名单标志:消费终端检验卡内黑名单标志,如卡内已作黑名单标志,应退出交易;c) 查黑名单:中止检验该卡是否列入终端存放黑名单中,如该卡列入黑名单,应将黑名单标志写入该卡,存放黑名单交易统计,并退出交易;d) 断点卡判定及恢复处理:正式交易前,应对该卡上一次交易完整性进行确定,如该卡上一次交易不完整,应进行恢复处理,恢复步骤应依据本消费步骤进行设计;e) 判钱包区正当性:消费终端应对钱包正副本进行检验,如发觉二者不一致,应将正确数据拷贝到不正确数据块,
29、同时对卡内钱包余额有效性进行判定,如拷贝不成功或卡内钱包余额不足以支付此次消费,应退出交易;f) 改写公共信息去正本进程标志:标识钱包消费交易开始;g) 写卡内交易统计:记载钱包消费交易前原额、此次交易额等信息;h) 扣减钱包正本交易金额:按消费额对钱包去正本进行减值操作;i) 改写公共信息去正本进程标志:标识钱包消费交易完成;j) 拷贝钱包区副本:将公共信息正本数据传输给公共信息副本;k) 拷贝公共信息区副本:将公共信息正本数据传输给公共信息副本;l) 安全存放模块计算TAC:消费终端把消费相关数据(包含交易时间、交易金额、卡号等)送安全模块,计算TAC;m) 存放消费交易统计:完成此次交易
30、。上述交易过程中,假如出现卡片异常、通讯异常等错误,必需依据是否进行钱包正本操作进行容错处理,进入冲正步骤。11.2 非接触式CPU卡和消费终端交易步骤11.2.1 CPU卡和消费终端交易步骤图CPU卡和消费终端交易步骤图见图2。是否否否否否是是是是选择应用开始读取卡片信息得到卡号、卡类别安全模块计算出钱包区、公共信息区、交易统计区等KEY电子钱包消费初始化PSAM计算MAC1电子钱包消费生成TAC和MAC2PSAM验证MAC2存放交易统计结束PSAM认证卡正当性判定黑名单标志查黑名单初始化成功?警告提醒,退出交易警告提醒,退出交易黑名单卡处理,并退出交易警告提醒,退出交易钱包有效性判定终止交
31、易图2 CPU卡和消费终端交易步骤图11.2.2 CPU卡和消费终端交易步骤图说明CPU卡在消费终端上交易过程应按下列次序进行:a) 卡正当性和有效性判别:消费终端检测到IC卡后首先要对卡正当性和有效性进行判定,避免非法卡、伪卡、无效卡等在系统内使用;b) 判黑名单标志:消费终端检验卡内黑名单标志,如卡内已作黑名单标志,应退出交易;c) 查黑名单:消费中止检验该卡是否列入终端存放黑名单中,如该卡列入黑名单,应将黑名单标志写入该卡,存放黑名单交易统计,并退出交易;d) 钱包有效性判定:消费终端应对卡内钱包余额有效性进行判定,如卡内钱包余额不足以支付此次消费,应退出交易;e) 向卡片发出消费初始化
32、命令,并接收卡片回送数据;f) PSAM生成过程密钥并计算MAC1;g) 从电子钱包中扣除此次交易金额;h) 生成TAC和MAC2,送PSAM校验MAC2;i) 存放消费交易统计,完成此次交易。上述交易过程中,如还未开始钱包正本交易金额扣减操作,消费终端应终止交易;如钱包正本交易金额扣减(第h步)成功,则应计算TAC和存放消费交易统计;如钱包正本交易金额扣减操作已经开始但无成功回应,则应要求持卡人重新刷卡对应提醒或存放相关交易统计供后台处理。11.2.3 CPU卡消费具体交易步骤图CPU卡消费具体交易安全认证步骤图见图3。IC卡终端PSAM卡设置目前应用标志并送出应用序列号选择山东IC卡应用S
33、elect File接收应用序列号并保留卡片产生过程密钥SK.将原余额、脱机交易序号、透支限额、密钥版本号、算法标志、4字节伪随机数送卡外。发送消费初始化密令Initialize For Purchase将收到相关数据作为MAC1计算命令DATA域,送MAC1计算命令给PSAM卡PSAM卡按指定密钥版本号,使用对应消费主密钥对应用序列号分散得到消费子密钥。按卡片相同方法产生相同国彻骨那密钥SK,并计算产生MAC1IC卡用过程密钥SK验证MAC1正确性。假如验证经过,则将从余额中扣除消费金额:将卡片脱机交易序号加1;更新交易明细统计。用SK对对应数据计算得到4字节MAC2;用内部密钥左右8字节异
34、或运算结果对对应数据计算得到4字节TAC码。终端将终端号、交易日期和时间和MAC1作为消费命令DATA域,发送消费命令Debit For Purchase给IC卡将MAC1回送给终端将MAC2和TAC码回送给终端终端接收到TAC码,确定交易成功,并将MAC2送PSAM卡校验。终端接收确定信息假如MAC2校验成功,则终端应统计该笔交易并发送确定消息给终端,不然,PSAM卡应用错误计数器减1,当计数器值为0时,PSAM卡将锁死。图3 CPU卡消费具体交易步骤图12 IC卡终端安全要求12.1 IC卡终端程序下载IC卡终端应统一编号,统一管理:a) 开发终端程序软件包应严格控制;b) 终端对程序下载
35、应有对应安全机制控制,以预防非法下载;c) 终端程序下载应有专员实施,并作统计;d) 编码规则:城市代码(2字节)+应用代码(2字节)+序列号(2字节)。12.2 IC卡终端加载安全存取模块安全存取模块(PSAM、ISAM、ESAM)应含有以下功效:a) 保护全部敏感数据不会泄漏;b) 受到非法攻击和篡改会自动删除内部全部敏感数据;c) 完成安全报文传送和密钥算法。12.3 IC卡终端内部应用安全假如终端上有多个应用,在应用程序上应做到:公用数据能够共享,各应用内部数据要相互独立。12.4 IC卡终端和外部设备通讯安全终端和主机或前置机通信安全:a) 终端对输出关键报文产生MAC,随报文一起传
36、送,以防伪造报文;b) 终端对输入关键报文验证MAC,以防伪造报文;c) 终端和PIN输入设备密码键盘:假如需要持卡人输入密码,那么应从密码键盘得到密码密文。12.5 IC卡终端安全认证步骤12.5.1 消费终端交易安全认证步骤消费终端交易安全认证包含到CPU卡交易和逻辑加密卡交易两种步骤。a) CPU卡消费交易安全认证步骤;消费交易步骤见图4。IC卡POS机PSAM卡POS上电、PSAM卡上电PSAM卡初始化初始化PSAM标识符卡片插入交易预处理交易预处理发卡商标识(8)卡片应用序列号(10)设置PSAM卡交易密钥命令发卡商标识(8)卡片应用序列号(10)由应用序列号生成消费子密钥命令处理消
37、费初始化命令(DATA:密钥索引 交易金额终端机编号)返回密钥索引号返回:卡片余额、脱机交易序号、透支限额、密钥版本号、算法标识、伪随机数 申请PSAM卡产生交易MAC1卡片余额、脱机交易序号、随机数、命令处理命令处理验证MAC1有效性消费命令(DATA:终端交易序号 终端交易日期终端交易时间MAC1)返回终端交易序号、MAC1MAC1有效,返回TAC 、MAC2,并进行以下交易处理:从余额中扣减消费金额;卡内脱机交易序号加;更新交易统计申请PSAM卡验证交易认证码MAC2(TAC、MAC2)验证MAC2卡片拔出写交易明细完成交易终端交易序号加一,返回署名MAC0图4 消费交易安全认证步骤 b
38、) 非接触式逻辑加密卡消费交易安全认证步骤。消费交易安全认证步骤见图5。IC卡终端PSAM卡选择目录-发行城市代码、唯一号、流水号、MAC认证码等信息-选择用户卡扇区-验证MAC、计算扇区密钥消费操作-查对MAC有效性、发出计算扇区密钥-图5 消费交易安全认证步骤12.5.2 充值终端交易安全认证步骤(1)CPU卡充值交易安全认证步骤CPU卡充值交易安全认证步骤见图6。IC卡终端主机卡片插入交易预处理 交易预处理卡片应用序列号(10)主机依据应用序列号分散出圈存子密钥命令处理圈存初始化命令(DATA:密钥索引交易金额终端机编号)返回确定状态并初始化圈存交易卡片返回生成SESLK和MAC1数据E
39、D或EP余额ED/EP联机交易序号密钥版本号算法标识随机数MAC1主机生成SESLK验证MAC1是否有效命令处理验证MAC2有效性 圈存命令(DATA:主机交易日期主机交易时间MAC2)MAC1有效主机产生MAC2将联机交易序号加进行圈存交易MAC2有效,进行以下交易处理:卡内联机交易序号加;将交易金额加在余额上;更新交易统计返回TACTAC图6 CPU卡充值交易安全认证步骤 (2)非接触式逻辑加密卡充值交易安全认证步骤非接触式逻辑加密卡充值交易安全认证步骤见图7。IC卡终端充值密钥服务器选择充值应用-发行城市代码、唯一号、流水号、MAC认证码等信息-选择用户卡扇区读出应用信息-验证MAC、计算扇区密钥充值操作-查对MAC有效性、发出计算扇区密钥-计算交易TAC-发出TAC-图7 非接触式逻辑加密卡充值交易安全认证步骤13 终端设备软件升级和维护13.1 底层控制软件升级和维护终端设备应含有升级能力,使用专用软件和工具能够方便对终端设备底层控制程序进行必需升级和扩充,对控制程序升级不应影响设备正常使用。13.2 应用程序升级和维护终端设备应用程序升级和维护,应视应用差异提供多个灵活升级方法,比如,应用程序远程下载和当地下载。应用程序升级和维护所采取物理接口形式和通信协议不在本部分要求范围内。