著录项信息
专利名称 | IC卡支付系统和方法以及多应用IC卡、支付终端 |
申请号 | CN200910199621.6 | 申请日期 | 2009-11-27 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2011-06-01 | 公开/公告号 | CN102081821A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G07F19/00 | IPC分类号 | G;0;7;F;1;9;/;0;0查看分类表>
|
申请人 | 中国银联股份有限公司 | 申请人地址 | 上海市浦东新区含笑路36号银联大厦
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 中国银联股份有限公司 | 当前权利人 | 中国银联股份有限公司 |
发明人 | 徐晋耀;李春欢;回春野;柏建宁;孟宏文;周燕媚;韩登峰 |
代理机构 | 中国专利代理(香港)有限公司 | 代理人 | 谭佐晞;李家麟 |
摘要
本发明提出了一种IC卡支付系统和方法以及多应用IC卡、支付终端。其中,在进行脱机交易时,所述终端和所述IC卡使用非对称密钥算法进行脱机数据的认证,并且如果交易没有被脱机批准,所述终端和所述IC卡通过所述主机进行联机交易。因此,本发明所公开的IC卡支付系统和方法以及多应用IC卡、支付终端即可以应用在不具备联机交易环境的机具上,也可以应用在具备联机交易环境的标准商户的机具上。
1.一种IC卡支付系统,所述IC卡支付系统包括主机、终端和IC卡,其中,所述IC卡通过接口设备与所述终端通信,所述终端通过通信接口与所述主机相连接;
其中,在进行交易时,所述终端和所述IC卡使用非对称密钥算法进行数据的认证;
其中,所述终端包括:
应用选择模块,所述应用选择模块用于向所述IC卡发送应用选择命令,从而选择应用;
初始化应用模块,所述初始化应用模块根据所述IC卡返回的应答控制脱机支付的交易金额,并依据预定的条件集合确定是否采用脱机支付;
终端行为分析模块,所述终端行为分析模块根据所述IC卡传送来的初始化应用命令响应数据中的指示从所述IC卡中读取数据,并将电子现金余额与授权金额的差值和电子现金重置阀值进行比较,从而判断是否发起联机授权,并将交易请求发送给所述IC卡;
终端数据认证模块,在进行交易时,所述终端数据认证模块采用非对称密钥算法进行数据的认证;
安全性检查模块,在所述终端数据认证模块完成数据认证后,所述安全性检查模块进行安全性检查,其中,所述安全性检查包括新卡检查、终端异常文件检查和商户强制交易联机检查。
2.根据权利要求1所述的IC卡支付系统,其特征在于,在进行脱机交易时,所述终端和所述IC卡使用非对称密钥算法进行脱机数据的认证。
3.根据权利要求1-2中任一个权利要求所述的IC卡支付系统,其特征在于,如果交易没有被脱机批准,所述终端和所述IC卡通过所述主机进行联机交易。
4.根据权利要求1所述的IC卡支付系统,其特征在于,所述终端数据认证模块将动态应用数据发送到所述IC卡中作为哈希运算的输入,其中,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节;在收到所述IC卡发送的签名数据以及发卡方公钥证书和IC卡公钥证书后,所述终端数据认证模块使用认证中心(CA)公钥解密发卡方公钥证书,从而恢复出发卡方公钥;所述终端数据认证模块使用恢复出的发卡方公钥解密IC卡公钥证书,从而恢复出IC卡公钥;所述终端数据认证模块使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密后得到哈希结果,并与明文数据的哈希结果进行比对。
5.根据权利要求1-2中任一个权利要求所述的IC卡支付系统,其特征在于,所述IC卡包括:
应用选择应答模块,在接收到所述终端发送的应用选择命令后,所述应用选择应答模块向所述终端发送应答,所述应答中包括文件控制信息;
初始化应用响应模块,在收到所述终端发来的初始化应用命令后,所述初始化应用响应模块根据预定的条件集合判断本次交易是否是电子现金交易,并将初始化应用命令响应数据发送给所述终端;
IC卡行为分析模块,在收到所述终端的交易请求后,所述IC卡行为分析模块根据所述交易请求判断交易类型并根据判断结果进行交易;
IC卡数据认证模块,在进行交易时,所述IC卡数据认证模块采用非对称密钥算法进行数据的认证。
6.根据权利要求5所述的IC卡支付系统,其特征在于,所述IC卡数据认证模块将所述终端发来的动态应用数据以及与本次交易相关的IC卡动态数据进行哈希运算;所述IC卡数据认证模块使用IC卡私钥对哈希运算结果进行签名,形成签名数据;所述IC卡数据认证模块将所述签名数据和发卡方公钥证书和IC卡公钥证书一并传递给所述终端。
7.一种多应用IC卡,所述多应用IC卡包括:
应用选择应答模块,在接收到终端发送的应用选择命令后,所述应用选择应答模块向所述终端发送应答,所述应答中包括文件控制信息;
初始化应用响应模块,在收到所述终端发来的初始化应用命令后,所述初始化应用响应模块根据预定的条件集合判断本次交易是否是电子现金交易,并将初始化应用命令响应数据发送给所述终端;
IC卡行为分析模块,在收到所述终端的交易请求后,所述IC卡行为分析模块根据所述交易请求判断交易类型并根据判断结果进行交易;
IC卡数据认证模块,在进行交易时,所述IC卡数据认证模块进行数据的认证;
其中,所述IC卡数据认证模块采用非对称密钥算法进行数据的认证。
8.根据权利要求7所述的多应用IC卡,其特征在于,在进行脱机交易时,所述IC卡数据认证模块使用非对称密钥算法进行脱机数据的认证。
9.根据权利要求7-8中任一个权利要求所述的多应用IC卡,其特征在于,如果交易没有被脱机批准,所述多应用IC卡与所述终端通过主机进行联机交易。
10.根据权利要求7-8中任一个权利要求所述的多应用IC卡,其特征在于,所述IC卡数据认证模块将所述终端发来的动态应用数据进行哈希运算;所述IC卡数据认证模块使用IC卡私钥对哈希运算结果进行签名,形成签名数据;所述IC卡数据认证模块将所述签名数据和发卡方公钥证书和IC卡公钥证书一并传递给所述终端。
11.一种支付终端,所述支付终端包括:
应用选择模块,所述应用选择模块用于向IC卡发送应用选择命令,从而选择应用;
初始化应用模块,所述初始化应用模块根据所述IC卡返回的应答控制脱机支付的交易金额,并依据预定的条件集合确定是否采用脱机支付;
终端行为分析模块,所述终端行为分析模块根据所述IC卡传送来的初始化应用命令响应数据中的指示从所述IC卡中读取数据,并将电子现金余额与授权金额的差值和电子现金重置阀值进行比较,从而判断是否发起联机授权,并将交易请求发送给所述IC卡;
终端数据认证模块,在进行交易时,所述终端数据认证模块进行数据的认证;
安全性检查模块,在所述终端数据认证模块完成数据认证后,所述安全性检查模块进行安全性检查,其中,所述安全性检查包括新卡检查、终端异常文件检查和商户强制交易联机检查;
其中,所述终端数据认证模块采用非对称密钥算法进行数据的认证。
12.根据权利要求11所述的支付终端,其特征在于,在进行脱机交易时,所述终端数据认证模块使用非对称密钥算法进行脱机数据的认证。
13.根据权利要求11-12中任一个权利要求所述的支付终端,其特征在于,如果交易没有被脱机批准,所述支付终端与所述IC卡通过主机进行联机交易。
14.根据权利要求11-12中任一个权利要求所述的支付终端,其特征在于,所述终端数据认证模块将动态应用数据发送到所述IC卡中作为哈希运算的输入,其中,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节;
在收到所述IC卡发送的签名数据以及发卡方公钥证书和IC卡公钥证书后,所述终端数据认证模块使用认证中心(CA)公钥解密发卡方公钥证书,从而恢复出发卡方公钥;所述终端数据认证模块使用恢复出的发卡方公钥解密IC卡公钥证书,从而恢复出IC卡公钥;所述终端数据认证模块使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密后得到哈希结果,并与明文数据的哈希结果进行比对。
15.一种IC卡支付方法,所述方法包括如下步骤:
(A1)终端将应用选择命令通过接口设备发送给IC卡;
(A2)响应于收到的所述应用选择命令,所述IC卡将包括数据对象列表的应答发送给所述终端;
(A3)根据所述数据对象列表,所述终端构造初始化应用命令,并将所述初始化应用命令发送给所述IC卡,其中,所述初始化应用命令包括初始化参数;
(A4)根据所述初始化参数,所述IC卡判断本次交易是否是电子现金交易,并将初始化应用命令响应数据发送给所述终端;
(A5)所述终端根据所述初始化应用命令响应数据判断是否发起联机授权,并将交易请求发送给所述IC卡;
(A6)所述IC卡根据所述交易请求判断交易类型并根据判断结果进行交易,其中,在所述交易过程中进行数据认证;
其中,所述IC卡支付方法使用非对称密钥算法进行数据认证。
16.根据权利要求15所述的IC卡支付方法,其特征在于,在进行脱机交易时,所述IC卡支付方法使用非对称密钥算法进行脱机数据的认证。
17.根据权利要求15-16中任一个权利要求所述的IC卡支付方法,其特征在于,所述步骤A6进一步包括:所述交易类型包括脱机拒绝、联机授权和脱机批准,并且,如果判断出的交易类型为联机授权,则进行联机交易。
18.根据权利要求15-16中任一个权利要求所述的IC卡支付方法,其特征在于,所述步骤A6中的所述数据认证步骤进一步包括:
(c1)所述终端将动态应用数据传送给所述IC卡以作为哈希运算的输入;
(c2)所述IC卡将所述动态应用数据进行哈希运算,并使用IC卡私钥对哈希运算结果进行签名以形成签名数据,随后将所述签名数据、发卡方公钥证书和IC卡公钥证书一并传递给所述终端;
(c3)所述终端使用认证中心公钥解密所述发卡方公钥证书,从而恢复出发卡方公钥;
(c4)所述终端使用恢复出的发卡方公钥解密所述IC卡公钥证书,从而恢复出IC卡公钥;
(c5)所述终端使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密,从而得到哈希结果,并与明文数据的哈希结果进行比对;
其中,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节。
IC卡支付系统和方法以及多应用IC卡、支付终端\n技术领域\n[0001] 本发明涉及支付系统和方法以及IC卡、支付终端,更具体地,涉及IC卡脱机支付系统和方法以及多应用IC卡、脱机支付终端。\n背景技术\n[0002] 目前,随着IC卡应用的不断增加和日益普及,出现了许多使用IC卡进行小额脱机支付的应用,例如电子钱包系统,其普通交易流程如下:终端向卡片发出初始化命令启动交易;IC卡处理该初始化命令,检查其是否支持该初始化命令中包含的密钥索引号以及是否有足够的余额;随后,生成一个伪随机数和过程密钥(SESPK),用于验证第一报文鉴别代码(MAC1),并将其作为响应发送给终端;终端的安全存取模块(PSAM)对该随机数产生第一报文鉴别码(MAC1);此后,IC卡验证该报文鉴别码(MAC1)的有效性,从电子钱包余额中扣减消费的金额,并产生第二报文签别码(MAC2),以供安全存取模块(PSAM)对其进行合法性检查同时产生交易认证(TC)供主机验证。安全存取模块(PSAM)验证IC卡产生的第二报文签别码(MAC2)成功后,终端批准交易的进行。然而,现有的电子钱包系统采用的是对称密钥体系,该体系具有以下的缺点:1、密钥传递过程复杂:由于采用对称密钥,密钥本身作为机密敏感数据,在传送过程中必须设计有安全可靠的机制来确保其安全的传递。同时相应的管理机制也十分复杂;2、安全认证模块安全性存在缺陷:在对称密钥体系下,为了认证IC卡的合法性,在终端中必须布放(如SAM卡),然而,在现实情况中,发卡方对终端用户的管理是松散的,故很难确保安全认证模块(如SAM卡)使用的安全性,因此存在攻击者对安全认证模块(如SAM卡)的非法攻击的安全隐患;3、密钥更新困难:由于对用户的IC卡认证的密钥存放于安全认证模块(如SAM卡)中,故如果需要启用新的密钥,则必须对安全认证模块(如SAM卡)中的密钥进行更新,然而,对安全认证模块(如SAM卡)中密钥的更新一般采用密文加认证的方式进行,因而过程十分复杂,难以实现。此外,从业务功能上来说,电子钱包系统仅提供了小额脱机支付的解决方法,不能提供大额联机交易的功能。\n发明内容\n[0003] 为了解决上述现有技术方案所存在的缺陷,本发明提出了一种IC卡支付系统和方法以及多应用IC卡、支付终端。\n[0004] 本发明的目的之一是通过以下技术方案实现的:\n[0005] 一种IC卡支付系统,所述IC卡支付系统包括主机、终端和IC卡,其中,所述IC卡通过接口设备与所述终端通信,所述终端通过通信接口与所述主机相连接;\n[0006] 其中,在进行交易时,所述终端和所述IC卡使用非对称密钥算法进行数据的认证。\n[0007] 在上面所公开的方案中,优选地,在进行脱机交易时,所述终端和所述IC卡使用非对称密钥算法进行脱机数据的认证。\n[0008] 在上面所公开的方案中,优选地,如果交易没有被脱机批准,所述终端和所述IC卡通过所述主机进行联机交易。\n[0009] 在上面所公开的方案中,优选地,所述终端包括:\n[0010] 应用选择模块,所述应用选择模块用于向所述IC卡发送应用选择命令,从而选择应用;\n[0011] 初始化应用模块,所述初始化应用模块根据所述IC卡返回的应答控制脱机支付的交易金额,并依据预定的条件集合确定是否采用脱机支付;\n[0012] 终端行为分析模块,所述终端行为分析模块根据所述IC卡传送来的初始化应用命令响应数据中的指示从所述IC卡中读取数据,并将电子现金余额与授权金额的差值和电子现金重置阀值进行比较,从而判断是否发起联机授权,并将交易请求发送给所述IC卡;\n[0013] 终端数据认证模块,在进行交易时,所述终端数据认证模块采用非对称密钥算法进行数据的认证;\n[0014] 安全性检查模块,在所述终端数据认证模块完成数据认证后,所述安全性检查模块进行安全性检查,其中,所述安全性检查包括新卡检查、终端异常文件检查和商户强制交易联机检查。\n[0015] 在上面所公开的方案中,优选地,所述终端数据认证模块将动态应用数据发送到所述IC卡中作为哈希运算的输入,其中,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节;在收到所述IC卡发送的签名数据以及发卡方公钥证书和IC卡公钥证书后,所述终端数据认证模块使用认证中心(CA)公钥解密发卡方公钥证书,从而恢复出发卡方公钥;所述终端数据认证模块使用恢复出的发卡方公钥解密IC卡公钥证书,从而恢复出IC卡公钥;所述终端数据认证模块使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密后得到哈希结果,并与明文数据的哈希结果进行比对。\n[0016] 在上面所公开的方案中,优选地,所述IC卡包括:\n[0017] 应用选择应答模块,在接收到所述终端发送的应用选择命令后,所述应用选择应答模块向所述终端发送应答,所述应答中包括文件控制信息;\n[0018] 初始化应用响应模块,在收到所述终端发来的初始化应用命令后,所述初始化应用响应模块根据预定的条件集合判断本次交易是否是电子现金交易,并将初始化应用命令响应数据发送给所述终端;\n[0019] IC卡行为分析模块,在收到所述终端的交易请求后,所述IC卡行为分析模块根据所述交易请求判断交易类型并根据判断结果进行交易;\n[0020] IC卡数据认证模块,在进行交易时,所述IC卡数据认证模块采用非对称密钥算法进行数据的认证。\n[0021] 在上面所公开的方案中,优选地,所述IC卡数据认证模块将所述终端发来的动态应用数据进行哈希运算;所述IC卡数据认证模块使用IC卡私钥对哈希运算结果进行签名,形成签名数据;所述IC卡数据认证模块将所述签名数据和发卡方公钥证书和IC卡公钥证书一并传递给所述终端。\n[0022] 本发明的目的之一是通过以下技术方案实现的:\n[0023] 一种多应用IC卡,所述多应用IC卡包括:\n[0024] 应用选择应答模块,在接收到终端发送的应用选择命令后,所述应用选择应答模块向所述终端发送应答,所述应答中包括文件控制信息;\n[0025] 初始化应用响应模块,在收到所述终端发来的初始化应用命令后,所述初始化应用响应模块根据预定的条件集合判断本次交易是否是电子现金交易,并将初始化应用命令响应数据发送给所述终端;\n[0026] IC卡行为分析模块,在收到所述终端的交易请求后,所述IC卡行为分析模块根据所述交易请求判断交易类型并根据判断结果进行交易;\n[0027] IC卡数据认证模块,在进行交易时,所述IC卡数据认证模块进行数据的认证;\n[0028] 其中,所述IC卡数据认证模块采用非对称密钥算法进行数据的认证。\n[0029] 在上面所公开的方案中,优选地,在进行脱机交易时,所述IC卡数据认证模块使用非对称密钥算法进行脱机数据的认证。\n[0030] 在上面所公开的方案中,优选地,如果交易没有被脱机批准,所述多应用IC卡与所述终端通过主机进行联机交易。\n[0031] 在上面所公开的方案中,优选地,所述IC卡数据认证模块将所述终端发来的动态应用数据进行哈希运算;所述IC卡数据认证模块使用IC卡私钥对哈希运算结果进行签名,形成签名数据;所述IC卡数据认证模块将所述签名数据和发卡方公钥证书和IC卡公钥证书一并传递给所述终端。\n[0032] 本发明的目的之一是通过以下技术方案实现的:\n[0033] 一种支付终端,所述支付终端包括:\n[0034] 应用选择模块,所述应用选择模块用于向IC卡发送应用选择命令,从而选择应用;\n[0035] 初始化应用模块,所述初始化应用模块根据所述IC卡返回的应答控制脱机支付的交易金额,并依据预定的条件集合确定是否采用脱机支付;\n[0036] 终端行为分析模块,所述终端行为分析模块根据所述IC卡传送来的初始化应用命令响应数据中的指示从所述IC卡中读取数据,并将电子现金余额与授权金额的差值和电子现金重置阀值进行比较,从而判断是否发起联机授权,并将交易请求发送给所述IC卡;\n[0037] 终端数据认证模块,在进行交易时,所述终端数据认证模块进行数据的认证;\n[0038] 安全性检查模块,在所述终端数据认证模块完成数据认证后,所述安全性检查模块进行安全性检查,其中,所述安全性检查包括新卡检查、终端异常文件检查和商户强制交易联机检查;\n[0039] 其中,所述终端数据认证模块采用非对称密钥算法进行数据的认证。\n[0040] 在上面所公开的方案中,优选地,在进行脱机交易时,所述终端数据认证模块使用非对称密钥算法进行脱机数据的认证。\n[0041] 在上面所公开的方案中,优选地,如果交易没有被脱机批准,所述支付终端与所述IC卡通过主机进行联机交易。\n[0042] 在上面所公开的方案中,优选地,所述终端数据认证模块将动态应用数据发送到所述IC卡中作为哈希运算的输入,其中,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节;在收到所述IC卡发送的签名数据以及发卡方公钥证书和IC卡公钥证书后,所述终端数据认证模块使用认证中心(CA)公钥解密发卡方公钥证书,从而恢复出发卡方公钥;所述终端数据认证模块使用恢复出的发卡方公钥解密IC卡公钥证书,从而恢复出IC卡公钥;所述终端数据认证模块使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密后得到哈希结果,并与明文数据的哈希结果进行比对。\n[0043] 本发明的目的之一是通过以下技术方案实现的:\n[0044] 一种IC卡支付方法,所述方法包括如下步骤:\n[0045] (A1)终端将应用选择命令通过接口设备发送给IC卡;\n[0046] (A2)响应于收到的所述应用选择命令,所述IC卡将包括数据对象列表的应答发送给所述终端;\n[0047] (A3)根据所述数据对象列表,所述终端构造初始化应用命令,并将所述初始化应用命令发送给所述IC卡,其中,所述初始化应用命令包括初始化参数;\n[0048] (A4)根据所述初始化参数,所述IC卡判断本次交易是否是电子现金交易,并将初始化应用命令响应数据发送给所述终端;\n[0049] (A5)所述终端根据所述初始化应用命令响应数据判断是否发起联机授权,并将交易请求发送给所述IC卡;\n[0050] (A6)所述IC卡根据所述交易请求判断交易类型并根据判断结果进行交易,其中,在所述交易过程中进行数据认证;\n[0051] 其中,所述IC卡支付方法使用非对称密钥算法进行数据认证。\n[0052] 在上面所公开的方案中,优选地,在进行脱机交易时,所述IC卡支付方法使用非对称密钥算法进行脱机数据的认证。\n[0053] 在上面所公开的方案中,优选地,所述步骤A6进一步包括:所述交易类型包括脱机拒绝、联机授权和脱机批准,并且,如果判断出的交易类型为联机授权,则进行联机交易。\n[0054] 在上面所公开的方案中,优选地,所述步骤A6中的所述数据认证步骤进一步包括:\n[0055] (c1)所述终端将动态应用数据传送给所述IC卡以作为哈希运算的输入;\n[0056] (c2)所述IC卡将所述动态应用数据进行哈希运算,并使用IC卡私钥对哈希运算结果进行签名以形成签名数据,随后将所述签名数据、发卡方公钥证书和IC卡公钥证书一并传递给所述终端;\n[0057] (c3)所述终端使用认证中心公钥解密所述发卡方公钥证书,从而恢复出发卡方公钥;\n[0058] (c4)所述终端使用恢复出的发卡方公钥解密所述IC卡公钥证书,从而恢复出IC卡公钥;\n[0059] (c5)所述终端使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密,从而得到哈希结果,并与明文数据的哈希结果进行比对;\n[0060] 其中,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节。\n[0061] 本发明所公开的IC卡支付系统和方法以及多应用IC卡、支付终端具有如下优点:由于采用了非对称密钥算法进行数据的认证并且当交易没有被脱机批准时所述终端和所述IC卡可以与所述主机进行联机,因而本发明所公开的技术方案具有高安全性的小额支付功能、并且密钥传输安全、便利、无安全认证模块被攻击的隐患;此外,本发明所公开的IC卡支付系统和方法以及多应用IC卡、支付终端即可以应用在不具备联机交易环境的机具上,也可以应用在具备联机交易环境的标准商户的机具上。\n附图说明\n[0062] 结合附图,本发明的技术特征以及优点将会被本领域技术人员更好地理解,其中:\n[0063] 图1为根据本发明的实施例的IC卡支付系统的结构图;\n[0064] 图2为根据本发明的实施例的IC卡支付方法的终端侧支付流程图;\n[0065] 图3为根据本发明的实施例的IC卡支付方法的IC卡侧支付流程图;\n[0066] 图4为根据本发明的实施例的IC卡支付方法的终端侧行为分析流程图;\n[0067] 图5为根据本发明的实施例的IC卡支付方法的IC卡侧行为分析流程图。\n具体实施方式\n[0068] 图1为根据本发明的实施例的IC卡支付系统的结构图。如图1所示,本发明公开的IC卡支付系统包括主机1、终端2和IC卡3,其中,IC卡3经由终端2与主机1通信,终端2通过通信接口与主机1相连接,终端2和IC卡3通过接口设备(例如,经由触点)而相互通信。所述主机1包括电子现金账户管理模块13和持卡人主账户管理模块14。所述电子现金账户管理模块13用于管理预先保留的电子现金金额,即防止电子现金金额用于非电子现金支付以及对IC卡脱机交易进行清算。所述持卡人主账户管理模块14用于管理联机授权的当前账户,例如授权并清算联机交易或者对电子现金账户进行金额划转。\n[0069] 如图1所示,所述终端2包括应用选择模块8、初始化应用模块9、终端数据认证模块10、安全性检查模块11和终端行为分析模块12。其中,所述应用选择模块8向IC卡3发送应用选择命令(例如SELECT),从而选择应用。\n[0070] 根据IC卡返回的应答(例如文件控制信息FCI),所述初始化应用模块9控制可脱机支付的交易金额,并通过交易货币代码、上次交易行为等判断条件(条件集合的确定可根据实际需要自定义)来确定是否采用脱机支付,从而使脱机支付的风险达到最小。例如,当满足如下条件时终端2判断出可以采用脱机支付方式:(1)终端2支持电子现金交易;\n(2)授权金额小于电子现金终端交易限额。或者在终端2不包括单独的电子现金终端交易限额的情况下,小于终端最低限额;(3)终端交易类型为消费交易。当终端2判断出可采用脱机支付时,终端2将在初始化命令(例如GPO命令,即获取处理选项命令)中提供电子现金终端支持指示器(即设置该指示器的值为1)。\n[0071] 当收到IC卡3发送的初始化应用命令响应数据后,终端行为分析模块12根据该初始化应用命令响应数据中的指示(例如,应用文件位置AFL指示出了电子现金特定数据(例如电子现金发卡方授权码)等数据对象在IC卡3中的位置)从IC卡3中读取数据(例如电子现金余额、电子现金重置阀值),并将电子现金余额与授权金额的差值和电子现金重置阀值进行比较,同时结合终端能力进行如下终端行为分析:(1)如果电子现金余额减去授权金额大于或等于电子现金重置阀值,则向IC卡请求脱机批准,从而进行电子现金交易;(2)如果电子现金余额减去授权金额小于电子现金重置阀值,则终端行为分析模块\n12根据终端2的能力进行如下判断:(a)如果终端2具备联机能力,则终端行为分析模块12请求联机,并要求持卡人输入联机个人密码(PIN),从而本次交易请求由发卡方联机授权,同时对电子现金余额进行更新;(b)如果终端2不具备联机能力,则终端行为分析模块12请求脱机批准,从而本次交易可以脱机完成或者脱机拒绝;(c)如果终端尝试联机失败后,则终端2和IC卡进行标准借记/贷记交易处理。\n[0072] 在终端行为分析模块12进行了终端行为分析过程中,终端数据认证模块10采用非对称密钥算法进行数据的认证,即终端2将动态应用数据送入IC卡3作为哈希运算的输入,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节等。随后,在收到IC卡3发送的签名数据以及发卡方公钥证书和IC卡公钥证书后,终端数据认证模块10使用认证中心(CA)公钥解密发卡方公钥证书,从而恢复出发卡方公钥。此后,终端数据认证模块10使用恢复出的发卡方公钥解密IC卡公钥证书,从而恢复出IC卡公钥。终端数据认证模块10使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密后得到哈希结果,并与明文数据的哈希结果进行比对,从而确定IC卡3的真伪。其中,发卡方在个人化IC卡时,将发卡方公钥证书(CA认证中心用CA私钥对发卡方公钥进行数字签名,从而产生发卡方公钥证书)和IC卡公钥证书(发卡方使用发卡方私钥对IC卡公钥进行数字签名,从而产生IC卡公钥证书)写入IC卡3中,并且认证中心(CA)公钥被下载至终端2。其中,所述私钥是指在一个实体使用的非对称密钥对中仅被该实体使用的密钥,在数字签名方案中,私钥定义了签名函数。所述公钥是指在一个实体使用的非对称密钥对中可以被公众使用的密钥,在数字签名方案中,公钥定义了验证函数。其中,所述非对称密钥算法采用如下两种相关变换的加密技术:公开变换(由公钥定义)和私有变换(由私钥定义)。上述两种变换存在如下特性:在获得公开变换的情况下是不能够通过计算得出私有变换的。由上可知,非对称密钥算法具有如下特点:密钥传递便利、更新方便,并且对终端的安全性要求低。因此,使用非对称密钥算法可以有效地防止伪卡交易的产生,从而可以提高IC卡交易的安全性。\n[0073] 在终端数据认证模块10进行了数据认证后,安全性检查模块11进行安全性检查,从而完成风险管理。例如,安全性检查模块11可以进行如下检查:(1)新卡检查,如果存在连续脱机上限值和连续脱机下限值,则安全性检查模块11检查最后联机交易序号寄存器(根据发卡方认证结果和IC卡参数,交易被联机批准后,最后联机交易序号寄存器被重新复位),如果最后联机交易序号为0,则安全性检查模块11将终端验证结果(TVR)中的“新卡”位置设置为1;(2)终端异常文件检查,如果出现终端异常文件,则安全性检查模块11检查IC卡3上的主账号(PAN)是否列在终端异常文件上,并且如果卡号列在终端异常文件中,则安全性检查模块11将终端验证结果(TVR)中的“卡号出现在终端异常文件中”位置设置为1;(3)商户强制交易联机检查,在可以联机的终端2处,商户可以将终端2设置为交易应该联机处理;如果检查到商户强制交易联机,则安全性检查模块11将终端验证结果(TVR)中的“商户强制交易联机”位置设置为1。\n[0074] 如图1所示,所述IC卡1包括应用选择应答模块4、初始化应用响应模块5、IC卡数据认证模块6和IC卡行为分析模块7。其中,在接收到终端2发送的选择命令后,所述应用选择应答模块4向终端发送应答(例如文件控制信息FCI),所述应答包括IC卡3向终端2请求的数据对象列表(例如用于请求电子现金终端支持指示器、授权金额以及交易货币代码等的数据对象列表PDOL)。\n[0075] 在收到终端2发来的初始化应用命令(例如获取处理选项命令,既GPO命令)后,初始化应用响应模块5根据判断条件(可以根据具体需求确定条件集合)来判断本次交易是否是电子现金交易。例如,当满足如下条件时IC卡3判断出本次交易是电子现金交易(即如果如下条件集合中的任一条件不满足,则本次交易不是电子现金交易):(1)初始化应用命令中包含电子现金终端支持指示器(其值被设置为1);(2)交易货币代码与应用货币代码匹配;(3)授权金额不超过电子现金余额;(4)授权金额不超过电子现金单笔交易限额;(5)发卡方认证失败指示器的值为0;(6)上次联机交易发卡方脚本处理失败指示器的值为0;(7)个人密码(PIN)的尝试次数不为0。如果本次交易是电子现金交易,则IC卡3标识本次交易为电子现金交易,并且向终端2发送初始化应用命令响应数据,例如,所述响应数据包括电子现金的应用交互特征(AIP)和应用文件位置(AFL)数据,其中,所述应用交互特征(AIP)指示电子现金交易支持的功能,所述应用文件位置(AFL)指示了电子现金特定数据(例如电子现金发卡方授权码)的位置。如果本次交易不是电子现金交易,则IC卡在初始化应用命令响应数据中返回非电子现金的应用交互特征(AIP)和应用文件位置(AFL),即不返回电子现金发卡方授权码,从而终端2将本次交易当作普通借记/贷记交易处理。\n[0076] 在收到终端2的请求(例如生成交易密文命令(例如GENERATEAC))后,IC卡行为分析模块7根据该请求进行脱机拒绝、联机授权以及脱机批准交易。如果需进行脱机批准交易,则IC卡行为分析模块7根据交易金额来更新IC卡3中的电子现金余额和相关计数器,以便保证IC卡3可以准确反映持卡人可以脱机授权的额度。如果初始化应用响应模块5已判定本次交易为电子现金交易,则IC卡行为分析模块7执行如下功能:(1)如果终端2脱机拒绝交易(例如请求的密文类型为应用认证密文(AAC)),则IC卡行为分析模块7在生成交易密文命令(例如,GENERATE AC)响应中返回应用认证密文(AAC);(2)随后,IC卡行为分析模块7进行IC卡风险检查,例如跳过联机授权未完成检查、上次交易发卡方认证失败检查、上次联机交易发卡方脚本处理检查、新卡检查、脱机个人密码(PIN)尝试次数检查及各类频度检查,进行上次交易静态数据认证(SDA)失败检查和上次交易动态数据认证(DDA)失败检查等;(3)如果终端2请求联机交易,则IC卡行为分析模块7在生成交易密文命令(例如,GENERATE AC)响应中返回联机授权请求(例如授权请求密文(ARQC));(4)如果终端2请求脱机批准,则IC卡行为分析模块7从电子现金余额中扣除授权金额,并在发卡方应用数据的发卡方自定义数据(IDD)中返回更新后的电子现金余额。余额是交易中的重要数据,因此必须确保终端2发送给主机1的余额的真实性。一种余额校验方法如下:\nIC卡行为分析模块7生成余额并计算出余额校验码,随后,IC卡行为分析模块7将该余额和余额校验码一并发送给终端2,终端2将余额和余额校验码上传至主机1,主机1根据余额校验码验证终端2上传的余额是否真实,从而确保交易的安全性。\n[0077] 在IC卡行为分析模块7进行了IC卡行为分析过程中,IC卡数据认证模块6将终端2发来的动态应用数据进行哈希运算,随后,IC卡数据认证模块6使用安全存储的IC卡私钥对哈希运算结果进行签名,形成签名数据。此后,IC卡数据认证模块6将所述签名数据和发卡方公钥证书和IC卡公钥证书一并传递给终端2。\n[0078] 如图1所示,在脱机交易期间,IC卡3执行如下操作以判断该次交易是否可脱机授权:IC卡3将当前授权金额与电子现金余额相比较,如果当前授权金额超出IC卡3的电子现金余额,则请求联机授权;如果交易被脱机批准,则IC卡3将从电子现金余额中减去此次交易的授权金额;如果IC卡3请求联机授权但终端不支持联机功能,则可进行标准的借记/贷记交易处理或者直接终止交易。完成交易后,终端2通常在一定时间内将收集的交易数据发送给主机1,以便进行后续的清算。当主机1收到用于清算的交易数据时,识别交易是否使用电子现金交易,如果是,则电子现金账户管理模块13从电子现金账户(非持卡人主账户)中扣减相应的交易金额。主机1中的电子现金账户管理模块13在清算操作时可执行如下检查:检查收到的应用交易计数器(ATC),以便获知是否有未完成的交易待提交清算。\n[0079] 如图1所示,在联机交易期间,主机1中的持卡人主账户管理模块14可针对电子现金账户执行如下操作:(1)检查IC卡是否挂失;(2)通过验证在联机报文中发送的授权请求密文(ARQC),执行联机卡片认证(CAM);(3)检查芯片数据内容,以便发现交易被送至联机的原因。通常,导致交易需联机的主要原因如下:(1)电子现金余额与授权金额的差值小于电子现金重置阈值;(2)交易过程中发生异常,从而强制交易联机进行(例如持卡人未能输入正确的脱机个人密码(PIN))。主机1可以对联机交易进行预定的额外处理。例如,当由于授权金额大于卡的电子现金余额而导致交易被送至联机处理时,主机1中的持卡人主账户管理模块14可以进行如下预定操作:(1)检查主账户余额,如果余额充足,则交易被批准,并将授权批准发回给IC卡3,且从主账户中支出,而IC卡3的电子现金余额保持不变;或者(2)对IC卡3的电子现金账户进行自动圈存。\n[0080] 图2为根据本发明的实施例的IC卡支付方法的终端侧支付流程图。图3为根据本发明的实施例的IC卡支付方法的IC卡侧支付流程图。图4为根据本发明的实施例的IC卡支付方法的终端侧行为分析流程图。图5为根据本发明的实施例的IC卡支付方法的IC卡侧行为分析流程图。如图2-5所示,本发明所公开的IC卡支付方法包括如下步骤:(A1)终端将应用选择命令通过接口设备发送给IC卡;(A2)响应于收到的所述应用选择命令,所述IC卡将包括数据对象列表的应答发送给所述终端;(A3)根据所述数据对象列表,所述终端构造初始化应用命令,并将所述初始化应用命令发送给所述IC卡,其中,所述初始化应用命令包括初始化参数;(A4)根据所述初始化参数,所述IC卡判断本次交易是否是电子现金交易,并将初始化应用命令响应数据发送给所述终端;(A5)所述终端根据所述初始化应用命令响应数据判断是否发起联机授权,并将交易请求发送给所述IC卡;(A6)所述IC卡根据所述交易请求判断交易类型并根据判断结果进行交易,其中,在所述交易过程中进行数据认证。其中,所述方法使用非对称密钥算法进行数据认证。\n[0081] 如图2-5所示,步骤A6进一步包括:所述交易类型包括脱机拒绝、联机授权和脱机批准。\n[0082] 如图2-5所示,步骤A3进一步包括:如果所述终端判断出可采用脱机支付方式,则所述终端在初始化命令(例如GPO命令,即获取处理选项命令)中提供电子现金终端支持指示器(即设置该指示器的值为1),其中,如果满足如下条件,则所述终端判断出可以采用脱机支付方式:所述终端支持电子现金交易;授权金额小于电子现金终端交易限额,或者在所述终端不包括单独的电子现金终端交易限额的情况下,小于终端最低限额;终端交易类型为消费交易。\n[0083] 如图2-5所示,步骤A5进一步包括:所述终端将电子现金余额与授权金额的差值和电子现金重置阀值进行比较,同时结合终端能力进行如下终端行为分析:(a1)如果所述电子现金余额减去所述授权金额大于或等于所述电子现金重置阀值,则向所述IC卡请求脱机批准,从而进行电子现金交易;(a2)如果所述电子现金余额减去所述授权金额小于所述电子现金重置阀值,则所述终端根据终端能力进行如下判断:(I)如果所述终端具备联机能力,则所述终端请求联机;(II)如果所述终端不具备联机能力,则所述终端请求脱机批准;(III)如果所述终端尝试联机失败后,则所述终端与所述IC卡进行标准借记/贷记交易处理。\n[0084] 如图2-5所示,步骤A6进一步包括:如果判断出本次交易为电子现金交易,则所述IC卡执行如下步骤:(b1)如果所述终端脱机拒绝交易,则所述IC卡在生成交易密文命令响应中返回应用认证密文(AAC);(b2)如果所述终端请求联机交易,则所述IC卡在生成交易密文命令响应中返回联机授权请求;(b3)如果所述终端请求脱机批准,则所述IC卡从所述电子现金余额中扣除所述授权金额,并在发卡方应用数据的发卡方自定义数据(IDD)中返回更新后的电子现金余额。\n[0085] 如图2-5所示,步骤A6中的所述数据认证步骤进一步包括:(c1)所述终端将动态应用数据传送给所述IC卡以作为哈希运算的输入;(c2)所述IC卡将所述动态应用数据进行哈希运算,并使用IC卡私钥对哈希运算结果进行签名以形成签名数据,随后将所述签名数据、发卡方公钥证书和IC卡公钥证书一并传递给所述终端;(c3)所述终端使用认证中心公钥解密所述发卡方公钥证书,从而恢复出发卡方公钥;(c4)所述终端使用恢复出的发卡方公钥解密所述IC卡公钥证书,从而恢复出IC卡公钥;(c5)所述终端使用恢复出的IC卡公钥对IC卡私钥签名的数据进行解密,从而得到哈希结果,并与明文数据的哈希结果进行比对。其中,所述动态应用数据包括签名的数据格式、哈希算法标识、IC卡动态数据长度、IC卡动态数据、填充字节。\n[0086] 如图2-5所示,发明所公开的IC卡支付方法还包括如下步骤:完成数据认证后,所述终端进行如下安全性检查:(d1)新卡检查,如果存在连续脱机上限值和连续脱机下限值,则所述终端检查最后联机交易序号寄存器,如果最后联机交易序号为0,则所述终端将终端验证结果(TVR)中的“新卡”位置设置为1;(d2)终端异常文件检查,如果出现终端异常文件,则所述终端检查所述IC卡上的主账号(PAN)是否列在终端异常文件上,并且如果卡号列在所述终端异常文件中,则所述终端将终端验证结果(TVR)中的“卡号出现在终端异常文件中”位置设置为1;(d3)商户强制交易联机检查,如果检查到商户强制交易联机,则所述终端将终端验证结果(TVR)中的“商户强制交易联机”位置设置为1。\n[0087] 尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可以对本发明做出不同的变化和修改。
法律信息
- 2013-08-14
- 2012-05-09
实质审查的生效
IPC(主分类): G07F 19/00
专利申请号: 200910199621.6
申请日: 2009.11.27
- 2011-06-01
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有引用任何外部专利数据! |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |