首页> 中国专利> 一种HCE脱机安全性提升系统及实现方法

一种HCE脱机安全性提升系统及实现方法

摘要

本申请提供一种HCE脱机安全性提升系统及实现方法,所述系统包括HCE客户端、POS终端和后台服务器,所述HCE客户端与所述POS终端通过NFC通信,所述后台服务器与所述HCE客户端通过HTTP通信,所述后台服务器与所述POS终端通过HTTP通信,所述实现方法包括:后台服务器根据限制性分散因子生成限制交易密钥;后台服务器与HCE客户端建立通信,更新HCE客户端中的限制交易密钥;POS机验证HCE客户端合法性并完成后续交易,通过在HCE手机客户端保存有限制交易密钥,同时通过修改智能POS机内部的业务运算逻辑的方式,在脱机交易计算时引入相关的计算因子,以保证交易过程所使用的临时交易密钥同步,进而保障了脱机交易的安全性。

著录项

  • 公开/公告号CN106251132A

    专利类型发明专利

  • 公开/公告日2016-12-21

    原文格式PDF

  • 申请/专利权人 恒宝股份有限公司;

    申请/专利号CN201610611622.7

  • 申请日2016-07-28

  • 分类号G06Q20/20;G06Q20/38;

  • 代理机构

  • 代理人

  • 地址 212355 江苏省镇江市横塘工业区

  • 入库时间 2023-06-19 01:11:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-03-31

    授权

    授权

  • 2017-01-18

    实质审查的生效 IPC(主分类):G06Q20/20 申请日:20160728

    实质审查的生效

  • 2016-12-21

    公开

    公开

说明书

技术领域

本申请涉及通信技术领域,特别是涉及一种HCE脱机安全性提升系统及实现方法。

背景技术

HCE(Host-based Card Emulation,基于主机的卡模拟)是Google在2013年底发布的Android 4.4中新增的一种系统服务API(Application Programming Interface,应用程序编程接口)。HCE提供了一种基于NFC手机终端的虚拟SE(Secure Element,安全元件)的NFC解决方案,也称“软卡”方案。HCE使得NFC手机可以在没有硬件SE的情况下采用手机App软件模拟芯片卡来实现支付、身份识别等功能(卡片信息加密存储于手机App软件中),使手机具备NFC刷卡功能。

目前市场是在商用的基于HCE的支付系统只提供联机交易,即所有的交易都必须由POS机转发至后台交易处理系统来完成,在NFC支付使用最多的脱机交易方式(如公交、校园、企业内部系统等)还没有好的解决方案。

现有的脱机交易业务处理流程是由带有安全单元的芯片卡与POS终端进行交互完成交易验证。在卡片方面,交易时使用的密钥是由芯片卡保护的,而POS终端方面在硬件上也是安全的。目前市场上还没有正式商用的基于HCE技术的脱机交易系统,在使用基于HCE技术实现的“软卡”,按照原有的业务流程进行交易验证时,POS终端方面的交易安全仍然是有保障的,在HCE客户端方面由于是通过软件对数据(特别是密钥)进行保护,安全性上的保障是不足的。一旦客户端被破解,交易信息被窃取复制后,整个系统的安全性都受到威胁。

发明内容

为了解决上述问题,本申请提供一种HCE脱机安全性提升系统及实现方法,通过在HCE手机客户端保存有限制的交易密钥,同时通过修改智能POS机内部的业务运算逻辑的方式,在脱机交易计算时引入相关的计算因子,以保证交易过程所使用的临时交易密钥同步。这样即使客户端数据被破解,交易密钥也会在超出密钥有效条件后失效,失效后的交易密钥即使被窃取也无法进行后续交易。

本申请提出的HCE脱机安全性提升系统,包括HCE客户端、POS终端和后台服务器,

所述HCE客户端与所述POS终端通过NFC通信,所述后台服务器与所述HCE客户端通过HTTP通信,所述后台服务器与所述POS终端通过HTTP通信,

所述HCE客户端,用于与后台服务器建立通信,并与POS终端配合完成后续交易;

所述POS终端,用于验证HCE客户端合法性并完成后续交易;

所述后台服务器,用于根据限制性分散因子生成限制交易密钥,与HCE客户端建立通信,更新HCE客户端中的限制交易密钥。

优选的,所述限制性分散因子包括POS终端机编号和具有时效性的随机数中的一种或多种。

优选的,所述HCE客户端包括手机端和/或模拟卡设备。

本申请还提出一种HCE脱机安全性提升系统实现方法,包括:

后台服务器根据限制性分散因子生成限制交易密钥;

后台服务器与HCE客户端建立通信,更新HCE客户端中的限制交易密钥;

POS机验证HCE客户端合法性并完成后续交易。

优选的,在后台服务器生成限制交易密钥之后还执行如下操作,

POS终端与后台服务系统进行分散因子同步。

优选的,所述后台服务器生成限制交易密钥,包括:

生成根密钥;

依据根密钥生成新的限制性分散因子;

使用原有分散因子和新限制性分散因子对根密钥进行分散运算;

将生成的限制交易密钥发送给请求更新的所述HCE客户端。

优选的,所述后台服务器与HCE客户端建立通信,更新HCE客户端中的限制交易密钥,包括:

HCE客户端向后台服务器发出限制交易密钥更新请求;

后台服务器生成新限制交易密钥;

后台服务器将新限制交易密钥发送给HCE客户端;

HCE客户端用新限制交易密钥替换限制交易密钥;

HCE客户端向后台服务器发送更新成功信息。

优选的,所述POS终端与后台服务系统进行分散因子同步,包括:

POS终端向后台服务器发出HCE脱机交易密钥分散因子更新请求;

后台服务器生成新交易密钥分散因子;

后台服务器将新交易密钥分散因子发送给POS终端;

POS终端用新交易密钥分散因子替换原有交易密钥分散因子;

POS终端向后台服务器发送更新成功信息。

优选的,所述POS机验证HCE客户端合法性并完成后续交易,包括:

将HCE客户端靠近POS机;

POS机向HCE客户端发送选择用户卡应用请求;

HCE客户端向POS机发送卡号及发卡方标识;

POS机向HCE客户端发送初始化交易指令;

HCE客户端向POS机发送伪随机数、交易序号、密钥版本、算法标识及其他扩展信息;

POS机依据卡号判断是否为HCE交易,如果是则POS机使用主密钥按照限制交易密钥生成方案计算限制交易密钥,否则POS机计算交易主密钥对卡号的分散得到卡片消费子密钥;

根据交易信息计算过程密钥;

使用过程密钥计算MAC1,并发送给HCE客户端;

HCE客户端根据交易信息选择限制交易密钥;

使用限制交易密钥计算过程密钥;

使用过程密钥校验MAC1;

根据交易信息使用过程密钥计算MAC2,并发送给POS机;

POS机校验MAC2完成交易。

更优选的,所述限制性分散因子包括POS终端机编号和具有时效性的随机数中的一种或多种。

上述本发明提出的一种HCE脱机安全性提升系统及实现方法,获得了以下技术效果:

本申请提出的HCE脱机安全性提升系统及实现方法,通过在HCE手机客户端保存有限制的交易密钥,同时通过修改智能POS机内部的业务运算逻辑的方式,在脱机交易计算时引入相关的计算因子,以保证交易过程所使用的临时交易密钥同步。这样即使客户端数据被破解,交易密钥也会在超出密钥有效条件后失效,失效后的交易密钥即使被窃取也无法进行后续交易。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1是本申请HCE脱机安全性提升系统结构示意图;

图2是本申请HCE脱机安全性提升系统支付示意图;

图3是本申请HCE脱机安全性提升系统实现方法的流程图;

图4是本申请后台服务器限制性分散因子生成限制交易密钥的流程图;

图5是本申请后台服务器与HCE客户端建立通信,更新HCE客户端中的限制交易密钥的流程图;

图6是本申请POS终端与后台服务系统进行分散因子同步的流程图;

图7是本申请POS机验证HCE客户端合法性并完成后续交易的流程图;

图8是本申请多级分散运算的方法流程图;

图9是本申请一级混合分散运算的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本申请提出一种本申请提出的HCE脱机安全性提升系统,如图1-2所示,包括HCE客户端2、POS终端1和后台服务器3,HCE客户端2与POS终端1通过NFC通信,后台服务器3与HCE客户端2通过HTTP通信,后台服务器3与POS终端1通过HTTP通信。

其中HCE客户端2,用于与后台服务器3建立通信,并与POS终端1配合完成后续交易。

HCE客户端2可以为手机端和/或模拟卡设备。

POS终端1,用于验证HCE客户端合法性并完成后续交易。

后台服务器3,用于根据限制性分散因子生成限制交易密钥,与HCE客户端2建立通信,更新HCE客户端2中的限制交易密钥。

上述限制性分散因子包括POS终端机编号和具有时效性的随机数中的一种或多种。

本申请还提出一种HCE脱机安全性提升系统实现方法,如图3所示,包括:

步骤S1:后台服务器根据限制性分散因子生成限制交易密钥;

其中后台服务器生成限制交易密钥如图4所示,包括:

步骤S101:生成根密钥;

步骤S102:依据根密钥生成新的限制性分散因子;

使用分散算法依据根密钥生成新的限制性分散因子。

密钥分散算法简称Diversify,是指将一个双长度的密钥MK,对分散数据进行处理,推导出一个双长度的密钥DK。

推导DK左半部分的方法是:

1、将分散数据的最右8个字节作为输入数据;

2、将MK作为加密密钥;

3、用MK对输入数据进行3DES运算;

推导DK右半部分的方法是:

1、将分散数据的最右8个字节求反,作为输入数据;

2、将MK作为加密密钥;

3、用MK对输入数据进行3DES运算;

步骤S103:使用原有分散因子和新限制性分散因子对根密钥进行分散运算,获得限制交易密钥;

步骤S104:将生成的限制交易密钥发送给请求更新的所述HCE客户端。

举例来说,生成限制交易密钥包括三种方式:

如图8所示,为多级分散方式,每一级分散可使用不同的限制性分散因子和分散算法;

首先生成根密钥,然后生成多个限制性分散因子,先用原有分散因子对根密钥进行第一级分散运算,将运算得到的结果,用第一限制性分散因子对其进行第二级分散运算,将结果用第二限制性分散因子对其进行第三级分散运算,将结果用第n限制性分散因子对其进行第n+1级分散运算,得到限制交易密钥;

如图9所示,为一级混合因子分散方式,首先对原有分散因子和其他限制性分散因子进行运算,之后仍然采取一级分散运算的方式来生成限制交易密钥;

首先生成根密钥,然后生成多个限制性分散因子,先对原有分散因子与新生成的多个限制性分散因子进行和或、异或运算,再将运算结果作为分散因子,使用该分散因子对根密钥进行一级分散运算,得到限制交易密钥;

还可以采用多级分散和一级混合因子分散同时使用的方式,首先对原有分散因子和多个限制性分散因子分别进行运算,之后采取多级分散运算的方式来生成限制交易密钥;

首先生成根密钥,然后生成多个限制性分散因子,先将原有分散因子分别与第一限制性因子、第二限制性因子、……、第n限制性因子分别进行和或、异或运算,之后使用原有分散因子与第一限制性因子和或、异或运算的结果对根密钥进行第一次分散运算,将结果用原有分散因子与第二限制性因子和或、异或运算的结果进行第二次分散运算,将结果与原有分散因子与第n限制性因子和或、异或运算的结果进行第n次分散运算得到限制交易密钥。

上述分散因子可以使用POS终端机编号、具有时效性的随机数等;

POS终端机编号为POS机预置属性,分散因子采用POS终端机编号,并对POS终端机进行分组,可以限定交易只能在指定的一个或一组POS终端上进行。交易时,客户端根据对应的终端机编号选择对应的限制交易密钥。可能的用途,限定只能在指定的商户或范围内交易。

而分散因子采取具有时效性的随机数或伪随机数,需要POS终端通过某种机制与后台进行随机数同步。采用具有时效性的随机数可以在保证限制交易密钥具有时效性的前提下,进一步保证分散因子不被破解。

使用上述分散因子,即使客户端数据被破解,交易密钥也会在超出密钥有效条件后失效,失效后的交易密钥即使被窃取也无法进行后续交易。

步骤S2:后台服务器与HCE客户端建立通信,更新HCE客户端中的限制交易密钥;

上述后台服务器与HCE客户端建立通信,更新HCE客户端中的限制交易密钥,如图5所示,包括:

步骤S201:HCE客户端向后台服务器发出限制交易密钥更新请求;

步骤S202:后台服务器生成新限制交易密钥;

步骤S203:后台服务器将新限制交易密钥发送给HCE客户端;

步骤S204:HCE客户端用新限制交易密钥替换限制交易密钥;

步骤S205:HCE客户端向后台服务器发送更新成功信息。

步骤S3:POS机验证HCE客户端合法性并完成后续交易。

如图7所示,所述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:POS机计算交易主密钥对卡号的分散得到卡片消费子密钥;

步骤S309:根据交易信息计算过程密钥;

步骤S310:使用过程密钥计算MAC1,并发送给HCE客户端;

步骤S311:HCE客户端根据交易信息选择限制交易密钥;

HCE客户端中可存储多个限制交易密钥,这些限制交易密钥可与POS机的预置属性相对应,例如使用POS终端机编号作为POS机预置属性,可根据POS终端机编号对POS终端机进行分组,限定交易只能在指定的具有特定编号的一个或一组POS终端上进行。本领域技术人员可以理解,也可使用其他POS机的预置属性,例如所处的位置。

HCE客户端可从交易信息中获得例如POS终端机编号或者其他POS机预置属性,从而选择限制交易密钥。交易时,客户端根据对应的POS机预置属性,例如终端机编号选择对应的限制交易密钥。

优选的,还可以在HCE客户端存储限制交易密钥使用的范围,要求限制交易密钥只能在指定的商户或范围内使用。

交易时,HCE客户端通过交易信息获得限制交易密钥可能的用途,例如用于特定地点的刷卡,或用于特定商户的刷卡,这时可对限制交易密钥使用的用途进行限定,要求限制交易密钥只能在指定的商户或范围内交易。客户端在选择限制交易密钥时,可同时获得该限制交易密钥使用的范围,如果和交易信息中提供的范围不符,则退出验证,并提示用户。如果相符,则继续下续步骤。

步骤S312:使用限制交易密钥计算过程密钥;

步骤S313:使用过程密钥校验MAC1,如果校验通过,则继续步骤S314,否则给出错误提示,并退出该验证;

步骤S314:根据交易信息使用过程密钥计算MAC2,并发送给POS机;

步骤S315:POS机校验MAC2,如果检验通过则完成交易,否则退出验证并给出相应的错误提示。

在执行步骤S1,后台服务器生成限制交易密钥之后还执行如下操作,

步骤S2’:POS终端与后台服务系统进行分散因子同步。

特别的,如果使用时间作为限制性分散因子,步骤S2’可以省略。但是如果使用非时间参数作为限制性分散因子,例如POS终端机编号和具有时效性的随机数时,需要同步限制性分散因子。

如图6所示,如果需要同步时,POS终端与后台服务系统进行分散因子同步,包括:

步骤S201':POS终端向后台服务器发出HCE脱机交易密钥分散因子更新请求;

步骤S202':后台服务器生成新的限制性分散因子;

步骤S203':后台服务器将新的限制性分散因子发送给POS终端;

步骤S204':POS终端用新的限制性分散因子替换原有的限制性分散因子;

步骤S205':POS终端向后台服务器发送更新成功信息。

更优选的,所述限制性分散因子包括POS终端机编号和具有时效性的随机数中的一种或多种。

以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号