一种HCE脱机支付系统及实现方法与流程

文档序号:13225150阅读:296来源:国知局
技术领域本申请涉及移动支付领域,特别是涉及一种HCE脱机支付系统及实现方法。

背景技术:
HCE(Host-basedCardEmulation,基于主机的卡模拟)是Google在2013年底发布的Android4.4.2KitKat中新增的一种系统服务API。HCE提供了一种基于NFC手机终端的虚拟SE的NFC解决方案,也称“软卡”方案。HCE使得NFC手机可以在没有硬件SE的情况下采用手机App软件模拟芯片卡来实现支付、身份识别等功能(卡片信息加密存储于手机App软件中),使手机具备NFC刷卡功能。目前市场是在商用的基于HCE的支付系统只提供联机交易,即所有的交易都必须由POS机转发至后台交易处理系统来完成,在NFC支付使用最多的脱机交易方式(如公交、校园、企业内部系统等)还没有好的解决方案。现有的脱机交易业务处理流程是由带有安全单元的芯片卡与POS终端进行交互完成交易验证。在卡片方面,交易时使用的密钥是由芯片卡保护的,而POS终端方面在硬件上也是安全的。目前市场上还没有正式商用的基于HCE技术的脱机交易系统,在使用基于HCE技术实现的“软卡”,按照原有的业务流程进行交易验证时,POS终端方面的交易安全仍然是有保障的,在HCE客户端方面由于是通过软件对数据进行保护,安全性上的保障是不足的。一旦客户端被破解,交易信息被窃取复制后,整个系统的安全性都受到威胁。

技术实现要素:
为了解决上述问题,本申请提供一种HCE脱机支付系统及实现方法。本申请提出一种HCE脱机支付系统,包括HCE客户端、POS机和后台服务器,所述HCE客户端与所述POS机通过NFC通信,所述后台服务器与所述HCE客户端通过HTTP通信;所述HCE客户端,用于接收后台服务器发送的伪随机数和交易序号,将所述交易序号和伪随机数同时发送给POS机,并由所述POS机验证完成支付过程;所述POS机,用于接收HCE客户端发送的交易序号,并依据所述交易序号、卡号等信息计算生成的伪随机数与所述HCE客户端发送的伪随机数进行比较验证并完成后续支付过程;所述后台服务器,用于生成伪随机数,并将伪随机数发送给请求更新的HCE客户端。优选的,所述HCE客户端为手机端或其他模拟卡设备。本申请还提出一种HCE脱机支付系统的实现方法,包括如下步骤:步骤S1:后台服务器生成伪随机数;步骤S2:后台服务器与HCE客户端建立通信,更新HCE客户端中的伪随机数;步骤S3:POS机利用伪随机数验证HCE客户端合法性以便实现后续交易。优选的,所述步骤S1:生成伪随机数具体为:步骤S101:所述后台服务器调取认证密钥;步骤S102:所述后台服务器生成限制性分散因子;步骤S103:所述后台服务器使用限值性分散因子对认证密钥进行分散运算;步骤S104:所述后台服务器将分散运算结果进行截短,得到伪随机数;步骤S105:所述后台服务器将伪随机数发送给请求更新的所述HCE客户端。更优选的,所述步骤S103:所述后台服务器使用限值性分散因子对认证密钥进行分散运算,具体为:若采用多级分散,则执行如下步骤,步骤T1,后台服务器生成限制性分散因子1;步骤T2,使用限制性分散因子1对所述认证密钥进行第一次分散运算;步骤T3,后台服务器生成限制性分散因子2;步骤T4,使用限制性分散因子2对所述认证密钥进行第二次分散运算;步骤T5,后台服务器生成限制性分散因子n;步骤T6,使用限制性分散因子n对所述认证密钥进行第N次分散运算;若采用一级混合分散,则执行如下步骤,步骤R1,后台服务器生成多个限制性分散因子;步骤R2,后台服务器将多个限制性分散因子进行运算,得到复合分散因子;步骤R3,使用复合分散因子对所述认证密钥进行分散运算;若采用混合分散,则采用多级分散与一级混合分散共用的方式,具体为:步骤M1,后台服务器生成多个限制性分散因子;步骤M2,后台服务器将其中若干个限制性分散因子进行运算,得到复合分散因子,步骤M3,使用复合分散因子对所述认证密钥进行第一次分散运算;步骤M4,限制性分散因子n对所述认证密钥进行第N次分散运算。更优选的,所述对多个限制性分散因子进行运算包括但不限于异或运算,MD5摘要运算,哈希运算中的一种。优选的,所述步骤S2:后台服务器与HCE客户端建立通信,更新HCE客户端中的伪随机数,具体为:步骤S201:HCE客户端向后台服务器发出更新请求;步骤S202:后台服务器生成新伪随机数;步骤S203:后台服务器将新伪随机数及交易序号发送给HCE客户端;步骤S204:HCE客户端用新伪随机数替换旧伪随机数;步骤S205:HCE客户端向后台服务器发送更新成功信息。优选的,所述步骤S3:POS机利用伪随机数验证HCE客户端合法性以便实现后续交易,具体为:步骤S301:将HCE客户端靠近POS机;步骤S302:POS机向HCE客户端发送读取卡号请求;步骤S303:HCE客户端向POS机发送卡号及发卡方标识;步骤S304:POS机向HCE客户端发送初始化交易指令;步骤S305:HCE客户端向POS机发送伪随机数、交易序号、密钥版本、算法标识及其他扩展信息;步骤S306:POS机依据卡号及发卡方标识判断是否为HCE交易,如果是则执行步骤S307,否则执行步骤S308;步骤S307:POS机判断随机数是否合法,如果是则执行步骤S308,否则终止交易;步骤S308:计算交易主密钥对卡号的分散得到卡片消费子密钥;步骤S309:根据交易信息计算过程密钥;步骤S310:使用过程密钥计算MAC1,并发送给HCE客户端;步骤S311:使用限制交易密钥计算过程密钥;步骤S312:使用过程密钥校验MAC1;步骤S313:根据交易信息使用过程密钥计算MAC2,并发送给POS机;步骤S314:POS机校验MAC2完成交易。更优选的,所述步骤S306:POS机依据卡号及发卡方标识判断是否为HCE交易,具体判断包括:根据用户卡序列号判断卡类型;或者根据密钥版本号或算法标识字段之一或两者判断卡类型。优选的,所述步骤S2:更新伪随机数前执行如下步骤:步骤S2’,HCE客户端验证伪随机数是否过期或超过使用数量,如果是则执行步骤S2,否则执行步骤S3。上述本发明提出的一种HCE脱机支付系统及实现方法,获得了以下技术效果:1、本申请提出的一种HCE脱机支付系统及实现方法,通过在通常的脱机交易流程中,加入伪随机数校验,提高基于HCE的软卡交易安全性,进而保证交易过程的安全。2、本申请提出的一种HCE脱机支付系统及实现方法,通过将伪随机数设置成固定次数或固定期限的,即使丢失也能尽可能的减小损失。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本申请HCE脱机支付系统结构示意图;图2是本申请HCE脱机支付系统支付示意图;图3是本申请HCE脱机支付系统的实现方法流程图;图4是本申请生成伪随机数的方法流程图;图5是本申请更新伪随机数的方法流程图;图6是本申请验证伪随机数实现交易的方法流程图;图7是本申请多级分散运算的方法流程图;图8是本申请一级混合分散运算的方法流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。本申请提出一种HCE脱机支付系统,如图1所示,包括HCE客户端2、POS机1和后台服务器3,所述后台服务器3与所述HCE客户端2通过HTTP通信。如图2所示,所述HCE客户端2与所述POS机1通过NFC通信;具体的,所述HCE客户端2,用于接收后台服务器3发送的伪随机数和交易序号,所述交易序号和伪随机数同时发送给POS机1,并由所述POS机1验证完成支付过程;更具体的,所述HCE客户端2为手机端或其他模拟卡设备。所述POS机1,用于接收HCE客户端2发送的交易序号,并依据所述交易序号、卡号等信息计算生成的伪随机数与所述HCE客户端2发送的伪随机数进行比较验证并完成后续支付过程;所述后台服务器3,用于生成伪随机数,并将伪随机数发送给请求更新的HCE客户端2。所述生成伪随机数的方法为:若采用多级分散,则执行如图7所示步骤,步骤T1,后台服务器3生成限制性分散因子1;步骤T2,使用限制性分散因子1对所述认证密钥进行第一次分散运算;步骤T3,后台服务器3生成限制性分散因子2;步骤T4,使用限制性分散因子2对所述认证密钥进行第二次分散运算;步骤T5,后台服务器3生成限制性分散因子n;步骤T6,使用限制性分散因子n对所述认证密钥进行第N次分散运算;若采用一级混合分散,则执行如图8所示步骤,步骤R1,后台服务器3生成多个限制性分散因子;步骤R2,后台服务器3将多个限制性分散因子进行运算,得到复合分散因子;更具体的,所述对多个限制性分散因子进行运算包括但不限于异或运算,MD5摘要运算,哈希运算中的一种。步骤R3,使用复合分散因子对所述认证密钥进行分散运算;若采用混合分散,则采用多级分散与一级混合分散共用的方式,具体为:实施例1使用一次复合得到的复合分散因子与其他单个限制性分散因子分别对认证密钥进行分散运算,具体如下:步骤M1,后台服务器3生成多个限制性分散因子;步骤M2,后台服务器3将其中若干个限制性分散因子进行运算,得到复合分散因子,步骤M3,使用复合分散因子对所述认证密钥进行第一次分散运算;步骤M4,限制性分散因子n对所述认证密钥进行第N次分散运算。实施例2使用多次复合得到的多个复合分散因子分别对认证密钥进行分散运算,具体如下:步骤M1’,后台服务器3生成多个限制性分散因子;步骤M2’,后台服务器3将其中若干个限制性分散因子进行运算,得到复合分散因子m,对另外若干个限制性分散因子进行运算,得到复合分散因子k;步骤M3’,使用复合分散因子m对所述认证密钥进行第一次分散运算;步骤M4’,使用复合分散因子k对所述认证密钥进行第二次分散运算。步骤S104:所述后台服务器3将分散运算结果进行截短,得到伪随机数;具体的,对认证密钥进行分散运算后的结果为8位PIN码,将8位PIN码进行截短,得到4位PIN码,即伪随机数,截短具体如下:实施例1将8位结果PIN码的前4位隐去,得到的后4位PIN码为伪随机数;实施例2将8位结果PIN码的奇数位隐去,得到的剩下4位PIN码为伪随机数;实施例3在8位结果PIN码的末位后补上一个16进制数,再将前5位隐去,得到剩下的4位PIN码为伪随机数。再具体的,所述HCE脱机支付系统还包括个人化信息服务器,个人化用户端等。所述个人化信息服务器用于存储个人化时需要的信息,如PIN1、PIN2、PUK1、PUK2、ADM1、ICCID、IMSI、Ki等。所述个人化用户端用于对HCE客户端进行必要的个人化过程。上面依据图1-2介绍了本申请提出的一种HCE脱机支付系统,下面依据图3-8介绍本申请提出的HCE脱机支付系统的实现方法。本申请还提出一种HCE脱机支付系统的实现方法,如图3所示,包括如下步骤:步骤S1:后台服务器3生成伪随机数;具体的,如图4所示,所述步骤S1:生成伪随机数具体为:步骤S101:所述后台服务器3调取认证密钥;步骤S102:所述后台服务器3生成限制性分散因子;步骤S103:所述后台服务器3使用限值性分散因子对认证密钥进行分散运算;更具体的,所述步骤S103:所述后台服务器3使用限值性分散因子对认证密钥进行分散运算,具体为:若采用多级分散,则执行如图7所示步骤,步骤T1,后台服务器3生成限制性分散因子1;步骤T2,使用限制性分散因子1对所述认证密钥进行第一次分散运算;步骤T3,后台服务器3生成限制性分散因子2;步骤T4,使用限制性分散因子2对所述认证密钥进行第二次分散运算;步骤T5,后台服务器3生成限制性分散因子n;步骤T6,使用限制性分散因子n对所述认证密钥进行第N次分散运算;若采用一级混合分散,则执行如图8所示步骤,步骤R1,后台服务器3生成多个限制性分散因子;步骤R2,后台服务器3将多个限制性分散因子进行运算,得到复合分散因子;更具体的,所述对多个限制性分散因子进行运算包括但不限于异或运算,MD5摘要运算,哈希运算中的一种。再具体的,所述对多个限制性分散因子进行运算不只限于上述几种运算方法,其他类似的对数据变换的算法都在本申请的保护范围内。步骤R3,使用复合分散因子对所述认证密钥进行分散运算;若采用混合分散,则采用多级分散与一级混合分散共用的方式,具体为:实施例1使用一次复合得到的复合分散因子与其他单个限制性分散因子分别对认证密钥进行分散运算,具体如下:步骤M1,后台服务器3生成多个限制性分散因子;步骤M2,后台服务器3将其中若干个限制性分散因子进行运算,得到复合分散因子,步骤M3,使用复合分散因子对所述认证密钥进行第一次分散运算;步骤M4,限制性分散因子n对所述认证密钥进行第N次分散运算。实施例2使用多次复合得到的多个复合分散因子分别对认证密钥进行分散运算,具体如下:步骤M1’,后台服务器3生成多个限制性分散因子;步骤M2’,后台服务器3将其中若干个限制性分散因子进行运算,得到复合分散因子m,对另外若干个限制性分散因子进行运算,得到复合分散因子k;步骤M3’,使用复合分散因子m对所述认证密钥进行第一次分散运算;步骤M4’,使用复合分散因子k对所述认证密钥进行第二次分散运算。步骤S104:所述后台服务器3将分散运算结果进行截短,得到伪随机数;具体的,对认证密钥进行分散运算后的结果为8位PIN码,将8位PIN码进行截短,得到4位PIN码,即伪随机数,截短具体如下:实施例1将8位结果PIN码的前4位隐去,得到的后4位PIN码为伪随机数;实施例2将8位结果PIN码的奇数位隐去,得到的剩下4位PIN码为伪随机数;实施例3在8位结果PIN码的末位后补上一个16进制数,再将前5位隐去,得到剩下的4位PIN码为伪随机数。步骤S105:所述后台服务器3将伪随机数发送给请求更新的所述HCE客户端2。步骤S2:后台服务器3与HCE客户端2建立通信,更新HCE客户端2中的伪随机数;具体的,如图5所示,所述步骤S2:后台服务器3与HCE客户端2建立通信,更新HCE客户端2中的伪随机数,具体为:步骤S201:HCE客户端2向后台服务器3发出更新请求;步骤S202:后台服务器3生成新伪随机数;步骤S203:后台服务器3将新伪随机数及交易序号发送给HCE客户端2;具体的,所述交易序号与伪随机数对应,用于在POS机端通过交易序号计算出伪随机数,从而验证HCE客户端发送的伪随机数。步骤S204:HCE客户端2用新伪随机数替换旧伪随机数;步骤S205:HCE客户端2向后台服务器3发送更新成功信息。步骤S3:POS机1利用伪随机数验证HCE客户端2合法性以便实现后续交易。具体的,如图6所示,所述步骤S3:POS机1利用伪随机数验证HCE客户端2合法性以便实现后续交易,具体为:步骤S301:将HCE客户端2靠近POS机1;步骤S302:POS机1向HCE客户端2发送读取卡号请求;步骤S303:HCE客户端2向POS机1发送卡号及发卡方标识;步骤S304:POS机1向HCE客户端2发送初始化交易指令;步骤S305:HCE客户端2向POS机1发送伪随机数、交易序号、密钥版本、算法标识及其他扩展信息;步骤S306:POS机1依据卡号及发卡方标识判断是否为HCE交易,如果是则执行步骤S307,否则执行步骤S308;更具体的,所述步骤S306:POS机1依据卡号及发卡方标识判断是否为HCE交易,具体判断包括:根据用户卡序列号判断卡类型;或者根据密钥版本号或算法标识字段之一或两者判断卡类型。实施例1脱机交易装置根据业务处理逻辑依据用户卡序列号判断卡类型。脱机交易装置接收到交易应答信息之后,解析出其中的用户卡序列号信息,根据其业务处理逻辑,判断卡类型。实施例2脱机交易装置根据业务处理逻辑判断卡类型。脱机交易装置接收到交易应答信息之后,解析出其中的密钥版本号和算法标识字段,根据其业务处理逻辑,判断卡类型。步骤S307:POS机1判断随机数是否合法,如果是则执行步骤S308,否则终止交易;更具体的,POS机1接收到HCE客户端2的交易序号,对交易序号进行运算,得到用于验证交易的验证伪随机数,POS机判断验证伪随机数与所述HCE客户端发送的伪随机是否一致,若一致则认为随机数合法,执行步骤S308,若不一致,则终止交易;步骤S308:计算交易主密钥对卡号的分散得到卡片消费子密钥;步骤S309:根据交易信息计算过程密钥;步骤S310:使用过程密钥计算MAC1,并发送给HCE客户端2;步骤S311:使用限制交易密钥计算过程密钥;步骤S312:使用过程密钥校验MAC1;步骤S313:根据交易信息使用过程密钥计算MAC2,并发送给POS机1;步骤S314:POS机1校验MAC2完成交易。更具体的,所述步骤S2:更新伪随机数前执行如下步骤:步骤S2’,HCE客户端2验证伪随机数是否过期或超过使用数量,如果是则执行步骤S2,否则执行步骤S3。以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1