一种图形化代码生成方法、装置以及计算机可读存储介质与流程

文档序号:21817579发布日期:2020-08-11 21:30阅读:117来源:国知局
一种图形化代码生成方法、装置以及计算机可读存储介质与流程

本发明涉及一种计算机可读的图形化代码生成方法、装置以及计算机可读存储介质,具体而言,涉及一种利用本地可信执行环境的特征值来产生计算机可读的图形化代码的机制。



背景技术:

随着通信网络等基础设施的完善以及智能手机的普及,扫码支付已经为绝大多数中国消费者所接受,与此同时,海外市场的消费者也非常欢迎这种支付方式,扫码支付在海外市场的占有率也在不断提升。与传统的信用卡支付方式相比,扫码支付无需另外携带卡片,且能够通过客户端实时看到账户信息,因而其用户体验更好。但是,扫码支付较为依赖网络质量和/或算法强度,因此,一方面,其使用体验可能因网络质量的变化而显著恶化;另一方面,也可能因算法强度不足而显著影响安全性。



技术实现要素:

有鉴于此,本发明提供了利用本地可信执行环境的特征值来获得计算机可读的图形化代码的机制。具体而言,根据本发明的一方面,提供一种计算机可读的图形化代码生成方法,所述方法包括如下步骤:向接收端发送请求消息以请求表示所述图形化代码的信息,所述请求消息包括本地可信执行环境的特征值;接收来自所述接收端的所述信息并存储;以及根据所述信息生成所述图形化代码。

在本发明的一个实施例中,可选地,所述请求消息还包括账户信息。

在本发明的一个实施例中,可选地,所述接收来自所述接收端的所述信息并存储的步骤具体为:对来自所述接收端的所述信息加密并存储在所述本地可信执行环境中。

在本发明的一个实施例中,可选地,在所述请求步骤前还包括:根据本地可信执行环境的软硬件信息生成所述特征值。

在本发明的一个实施例中,可选地,在所述请求步骤前还包括:发送所述特征值和身份认证数据以请求建立二者的映射关系,所述信息对应于所述身份认证数据。

在本发明的一个实施例中,可选地,所述身份认证数据为账户信息。

在本发明的一个实施例中,可选地,所请求的所述图形化代码的数量为多个。

在本发明的一个实施例中,可选地,每个所述图形化代码具有编号。

在本发明的一个实施例中,可选地,当未被生成的所述图形化代码的数量低于预定值时再次发送所述请求。

在本发明的一个实施例中,可选地,所述预定值与所述特征值相对应。

在本发明的一个实施例中,可选地,每个所述图形化代码具有有效期,当处于有效期内的未被生成的所述图形化代码的数量低于预定值时再次发送所述请求。

在本发明的一个实施例中,可选地,所述预定值与所述特征值相对应。

在本发明的一个实施例中,可选地,根据包括所述特征值的所述请求消息的发送频次动态地设定所述预定值。

根据本发明的另一方面,提供一种计算机可读的图形化代码生成方法,其特征在于,所述方法包括如下步骤:接收发送端发送的本地可信执行环境的特征值;校验是否存在所述特征值与身份认证数据的映射关系;以及若存在的话则生成对应于所述身份认证数据的表示所述图形化代码的信息并发送至所述发送端。

在本发明的一个实施例中,可选地,在所述接收步骤前还包括:接收所述发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储所述特征值与所述身份认证数据的映射关系。

在本发明的一个实施例中,可选地,所述身份认证数据为账户信息。

在本发明的一个实施例中,可选地,所述图形化代码的数量为多个,并且所述信息中包括每个所述图形化代码的编号。

根据本发明的另一方面,提供一种计算机可读的图形化代码生成方法,所述方法包括如下步骤:向接收端发送本地可信执行环境的特征值以请求图形化代码;以及接收来自所述接收端的所述图形化代码并呈现。

在本发明的一个实施例中,可选地,所述接收来自所述接收端的所述图形化代码并呈现的步骤包括:对所述图形化代码加密并存储在所述本地可信执行环境中。

在本发明的一个实施例中,可选地,在所述请求步骤前还包括:根据本地可信执行环境的软硬件信息生成所述特征值。

在本发明的一个实施例中,可选地,在所述请求步骤前还包括:发送所述特征值和身份认证数据以请求建立二者的映射关系,所述图形化代码对应于所述身份认证数据。

在本发明的一个实施例中,可选地,所请求的所述图形化代码的数量为多个,并且每次仅生成一个所述图形化代码。

在本发明的一个实施例中,可选地,每个所述图形化代码具有编号,并且根据所述编号依次生成一个所述图形化代码。

在本发明的一个实施例中,可选地,当未被生成的所述图形化代码的数量低于预定值时再次发送所述请求。

根据本发明的另一方面,提供一种计算机可读的图形化代码生成方法,所述方法包括如下步骤:接收发送端发送的本地可信执行环境的特征值;校验是否存在所述特征值与身份认证数据的映射关系;以及若存在的话则生成对应于所述身份认证数据的所述图形化代码并发送至所述发送端。

在本发明的一个实施例中,可选地,在所述接收步骤前还包括:接收所述发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储所述特征值与所述身份认证数据的映射关系。

在本发明的一个实施例中,可选地,所述图形化代码的数量为多个,并且所述图形化代码中包括其编号。

根据本发明的另一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述指令由处理器执行时,使得所述处理器执行如上文所述的任意一种方法。

根据本发明的另一方面,提供一种生成计算机可读的图形化代码的装置,所述装置包括:请求模块,其配置成发送请求消息以请求表示所述图形化代码的信息,所述请求消息包括所述装置的本地可信执行环境的特征值;接收模块,其配置成接收所述信息并存储;以及渲染模块,其配置成根据所述信息生成所述图形化代码。

在本发明的一个实施例中,可选地,所述请求消息还包括账户信息。

在本发明的一个实施例中,可选地,所述接收模块对所述信息加密并存储在所述装置的所述本地可信执行环境中。

在本发明的一个实施例中,可选地,所述装置还包括生成模块,其配置成根据所述装置的本地可信执行环境的软硬件信息生成所述特征值。

在本发明的一个实施例中,可选地,所述请求模块还配置成发送所述特征值和身份认证数据以请求建立二者的映射关系,所述信息对应于所述身份认证数据。

在本发明的一个实施例中,可选地,所述身份认证数据为账户信息。

在本发明的一个实施例中,可选地,根据包括所述特征值的所述请求消息的发送频次动态地设定所述预定值。

在本发明的一个实施例中,可选地,所述请求模块所请求的所述图形化代码的数量为多个。

在本发明的一个实施例中,可选地,每个所述图形化代码具有编号。

在本发明的一个实施例中,可选地,所述装置还包括判断模块,当所述判断模块判定未被生成的所述图形化代码的数量低于预定值时所述请求模块再次发送所述请求。

在本发明的一个实施例中,可选地,所述预定值与所述特征值相对应。

在本发明的一个实施例中,可选地,所述判断模块包括在所述本地可信执行环境中。

在本发明的一个实施例中,可选地,所述装置还包括判断模块,每个所述图形化代码具有有效期,当所述判断模块判定处于有效期内的未被生成的所述图形化代码的数量低于预定值时再次发送所述请求。

在本发明的一个实施例中,可选地,所述预定值与所述特征值相对应。在本发明的一个实施例中,可选地,所述判断模块包括在所述本地可信执行环境中。

根据本发明的另一方面,提供一种生成计算机可读的图形化代码的装置,其特征在于,所述装置包括:接收模块,其配置成接收发送端发送的本地可信执行环境的特征值;校验模块,其配置成校验是否存在所述特征值与身份认证数据的映射关系;以及发送模块,其配置成若存在所述映射关系的话则生成对应于所述身份认证数据的表示所述图形化代码的信息并发送至所述发送端。

在本发明的一个实施例中,可选地,所述装置还包括存储模块,其中所述接收模块还配置成接收所述发送端发送的本地可信执行环境的特征值以及身份认证数据,并且所述存储模块存储所述特征值与所述身份认证数据的映射关系。

在本发明的一个实施例中,可选地,所述身份认证数据为账户信息。

在本发明的一个实施例中,可选地,所述图形化代码的数量为多个,并且所述发送模块所发送的所述信息中包括每个所述图形化代码的编号。

根据本发明的另一方面,提供一种计算机可执行方法,所述方法包括如下步骤:由移动终端的处理器确定发送所述移动终端的本地可信执行环境的特征值以请求表示所述图形化代码的信息;由所述移动终端的所述处理器接收所述信息并存储;以及由所述移动终端的所述处理器根据所述信息生成所述图形化代码。

在本发明的一个实施例中,可选地,由所述移动终端的所述处理器接收所述信息并存储的步骤具体为:由所述本地可信执行环境对所述信息加密并存储在所述本地可信执行环境中。

在本发明的一个实施例中,可选地,在所述请求步骤前还包括:由所述移动终端的所述处理器根据本地可信执行环境的软硬件信息生成所述特征值。

在本发明的一个实施例中,可选地,在所述请求步骤前还包括:由所述移动终端的所述处理器确定发送所述特征值和身份认证数据,以请求建立二者的映射关系,所述信息对应于所述身份认证数据。

在本发明的一个实施例中,可选地,所请求的所述图形化代码的数量为多个,并且每次仅生成一个所述图形化代码。

在本发明的一个实施例中,可选地,每个所述图形化代码具有编号,并且根据所述编号依次生成一个所述图形化代码。

在本发明的一个实施例中,可选地,当未被生成的所述图形化代码的数量低于预定值时由所述移动终端的所述处理器确定再次发送所述请求。

根据本发明的另一方面,提供一种计算机可执行方法,所述方法包括如下步骤:由服务器的处理器确定接收发送端发送的本地可信执行环境的特征值;由所述服务器的所述处理器校验是否存在所述特征值与身份认证数据的映射关系;以及由所述服务器的所述处理器判定若存在的话则生成对应于所述身份认证数据的表示所述图形化代码的信息并发送至所述发送端。

在本发明的一个实施例中,可选地,在所述接收步骤前还包括:由所述服务器的所述处理器确定接收所述发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储所述特征值与所述身份认证数据的映射关系。

在本发明的一个实施例中,可选地,所述图形化代码的数量为多个,并且所述信息中包括每个所述图形化代码的编号。

根据本发明的另一方面,提供一种移动设备,所述移动设备包括如上文所述的任意一种生成计算机可读的图形化代码的装置。

根据本发明的另一方面,提供一种服务平台,所述服务平台包括如上文所述的任意一种生成计算机可读的图形化代码的装置。

根据本发明的另一方面,提供一种移动设备,包括:显示器;本地可信执行环境;存储器,其配置成存储指令;以及处理器,其配置成执行所述指令以用于:由移动终端的处理器确定发送所述移动终端的所述本地可信执行环境的特征值以请求表示所述图形化代码的信息;由所述移动终端的所述处理器接收所述信息并存储;由所述移动终端的所述处理器根据所述信息生成所述图形化代码;以及由所述移动终端的所述处理器将所述图形化代码显示在所述显示器上。

在本发明的一个实施例中,可选地,所述处理器进一步配置成确定由所述本地可信执行环境对所述信息加密并存储在所述本地可信执行环境中。

在本发明的一个实施例中,可选地,所述处理器进一步配置成根据本地可信执行环境的软硬件信息生成所述特征值。

在本发明的一个实施例中,可选地,所述处理器进一步配置成确定发送所述特征值和身份认证数据,以请求建立二者的映射关系,所述信息对应于所述身份认证数据。

在本发明的一个实施例中,可选地,所请求的所述图形化代码的数量为多个,并且每次仅生成一个所述图形化代码。

在本发明的一个实施例中,可选地,每个所述图形化代码具有编号,并且根据所述编号依次生成一个所述图形化代码。

在本发明的一个实施例中,可选地,所述处理器进一步配置成当未被生成的所述图形化代码的数量低于预定值时确定再次发送所述请求。

根据本发明的另一方面,提供一种服务器,包括:存储器,其配置成存储指令;以及处理器,其配置成执行所述指令以用于:由服务器的处理器确定接收发送端发送的本地可信执行环境的特征值;由所述服务器的所述处理器校验是否存在所述特征值与身份认证数据的映射关系;以及由所述服务器的所述处理器判定若存在的话则生成对应于所述身份认证数据的表示所述图形化代码的信息并发送至所述发送端。

在本发明的一个实施例中,可选地,所述处理器进一步配置成确定接收所述发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储所述特征值与所述身份认证数据的映射关系。

在本发明的一个实施例中,可选地,所述图形化代码的数量为多个,并且所述信息中包括每个所述图形化代码的编号。

附图说明

从结合附图的以下详细说明中,将会使本发明的上述和其他目的及优点更加完整清楚,其中,相同或相似的要素采用相同的标号表示。

图1示出了根据本发明的一个实施例的支付系统的示意图。

图2示出了根据现有技术的支付系统的示意图。

图3示出了根据现有技术的支付系统的示意图。

图4示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图5示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图6示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图7示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图8示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图9示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图10示出了根据本发明的一个实施例的生成计算机可读的图形化代码的装置的示意图。

图11示出了根据本发明的一个实施例的生成计算机可读的图形化代码的装置的示意图。

图12示出了根据本发明的一个实施例的移动终端。

图13示出了根据本发明的一个实施例的服务器的示意图。

图14示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图15示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

图16示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。

具体实施方式

出于简洁和说明性目的,本文主要参考其示范实施例来描述本发明的原理。但是,本领域技术人员将容易地认识到相同的原理可等效地应用于所有类型的计算机可读的图形化代码生成方法、装置以及计算机可读存储介质,并且可以在其中实施这些相同或相似的原理,任何此类变化不背离本专利申请的真实精神和范围。

在本发明的上下文中,“可信执行环境的特征值”是指与可信执行环境一一对应且可以用于区分不同设备的可信执行环境(tee)的信息(例如为一组代码)。举个例子,“可信执行环境的特征值”可以是根据可信执行环境的软硬件信息而生成的一组代码,可以是出厂指定并存入可信执行环境中的一组代码,还可以是空中发送并存入可信执行环境中的信息。在本申请的一些示例中对特征值的产生机制并不限制,只要该特征值可以区分不同设备的可信执行环境即可。

图1示出了根据本发明的一个实施例的支付系统的示意图。如图所示,为了简化用户的操作以及节省学习成本,用户侧仅需要自备开通网络服务的移动终端10(例如,智能手机、平板电脑、智能穿戴设备等)。移动终端10可以例如经由无线接入设备41(例如基站、ap)和网络40(例如,局域网、城域网、广域网、因特网等)而与互联网上的其他设备进行通信。移动终端10上运行支持扫码支付的软件或服务,在一些实施例中,当用户通过生物识别验证或者其他形式的验证后,该软件或服务可以经由移动终端10中的通信功能与互联网上的服务器30通信。在一些实施例中,当用户请求计算机可读的图形化代码(例如,条形码、二维码等)时,用户侧可以向管理侧的服务器30发起请求,服务器30再向移动终端10返回支付信息,移动终端10可以根据支付信息生成计算机可读的图形化代码。

图1中还示出了商店侧的一个示例,其中商店侧包括具有通信能力的收银设备20和具有读取计算机可读的图形化代码读取能力的扫描设备21。本申请中的计算机可读的图形化代码包括条形码、二维码等各种形式的代码,这些代码承载的信息可以由诸如扫描设备21之类的读取设备读取并经由诸如收银设备20之类的计算设备解析,因而这类代码是计算机可读的。本申请所要求保护的计算机可读的图形化代码不限于条形码、二维码,还包括其他形式可以为计算机读取的图形化代码,无论这些形式是基于一定标准的还是自行设定的。在一些实施例中,为了保障收银设备20的网络连接的稳定性,收银设备20可以例如以有线传输的方式与互联网上的其他设备进行通信。

在一些实施例中,当用户侧的移动终端10向商店侧呈现计算机可读的图形化代码时,扫描设备21可以读取此代码并输入到收银设备20中解析,收银设备20再根据解析后的信息生成发往管理侧的服务器30的信息。服务器30对收到的信息进行处理,并判断其合法性。若收到的信息合法则可以向收银设备20返回接受支付的信息。此时,收银设备20可以根据接受支付的信息给出相应的提示(例如,输出收款成功的信号)和响应(例如,进行结账处理)。另一方面,服务器30也可以同时向移动终端10返回接受支付的信息,用户可以依此确认完成了支付。需要说明的是,尽管图1中仅示出了一个服务器30,但是管理侧的服务器可以是各种形态的服务器,例如,可以是分别实现不同功能的服务器集群。集群服务器在地理上可以位于一处也可以位于多处。

图2和图3示出了根据现有技术的支付系统的示意图。目前,移动二维码支付交易技术的主要有两种实现方式。一种是联机支付方式,如图2所示,在该方式中当用户每次需要使用二维码支付时,客户端均直接从客户端后台服务器3001中获取当次交易的付款码。参见图1,以手机为例,该方式的交易流程大致如下。(1)用户在手机10上打开支持二维码被扫付款的客户端;(2)点击二维码被扫支付;(3)客户端向客户端后台服务器3001请求获取支付使用的付款二维码;(4)客户端后台服务器3001向支付系统服务器3002请求取支付使用的付款二维码;(5)支付系统服务器3002将当次付款二维码通过后台方式,经原路径返回至客户端;(6)用户将付款二维码展示给商户收银员;(7)商户收单系统2001将二维码上送支付系统服务器3002,支付系统服务器3002验证二维码后完成支付。联机支付方式可以适用于需要实时认证的交易场景中,例如交易数额较大的交易场景等。然而,通过联机支付方式将依赖于用户使用时的网络状况。若某些商户位于地下楼层或网络不佳环境,则可能会导致用户长时间等待,从而影响用户支付体验。

另一种是脱机支付方式,以手机为例,如图3所示,当用户每次需要使用二维码支付时,客户端均直接从手机10本地获取当次交易的付款码。用户使用流程如下:(1)用户在手机10上打开支持二维码被扫付款的客户端;(2)点击二维码被扫支付;(3)客户端通过本地的算法计算出当次支付的二维码;(4)用户将付款二维码展示给商户收银员;(5)商户收单系统2001将二维码上送支付系统服务器3002;(6)支付系统服务器3002通过一定算法,验证二维码为客户端计算出的有效二维码后,完成支付。手机10与支付系统服务器3002可以通过网络40以准实时或者无需实时的方式实现算法等数据的同步。然而,脱机支付方式依赖于算法的保密性和不可破性。脱机方式使用的算法由于需要手机客户端和支付系统后台保持相同,以运算出相同付款码,存在算法如何同步、算法的保密性如何保障、算法强度是否足够等问题,因而实现较为复杂。

图4示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。如图所示,该方法包括步骤s402,在该步骤中发送包括本地可信执行环境(trustexecutionenvironment,tee)的特征值的请求消息以请求表示图形化代码的信息;步骤s404,在该步骤中接收表示图形化代码的信息并存储;步骤s406,在该步骤中根据表示图形化代码的信息生成图形化代码。

本地可信执行环境的特征值是指存储在本地可信执行环境中且与本地可信执行环境一一对应的用于识别本地可信执行环境的各种类型的符号和/或数值等,在本发明的一些实施例中,可信执行环境的特征值可以是根据可信执行环境的硬件信息(例如,硬件的序列号)和/或软件信息(例如,软件的版本号)生成的。可信执行环境的特征值还可以是出厂预置的,此时,特征值可以不与可信执行环境的硬件信息或软件信息相关,而是存储在可信执行环境中的一组独一无二的信息,可以根据该信息来区分不同的请求图形化代码的设备(或称为用户侧,例如,智能手机、平板电脑、智能穿戴设备等)。此外,可信执行环境的特征值还可以是空中发送的,例如,可以通过管理侧的服务器向请求图形化代码的设备(例如,智能手机、平板电脑、智能穿戴设备等)空中发送特征值,再由请求图形化代码的设备将该特征值存储在可信执行环境中。相应地,管理侧中记录的特征值可以是后期由请求图形化代码的设备发送至其并存储的;也可以是已经存储在其中而预置的(例如空中发送的情况下,管理侧的服务器充当了空中发送特征值的设备)。

在本发明的一些实施例中,请求信息还可以包括账户信息。在一些情况下,请求图形化代码的设备可能与多个账户信息相关联,此时为了区分到底是利用哪个银行账户请求图形化代码还需要向管理侧发送该账户信息。上文记载了在步骤s404中接收表示图形化代码的信息并存储。根据本发明的一个方面,可以由用户侧的客户端对信息加密并存储,此时加密后的信息将存储在普通数据存储的位置中。根据本发明的另一个方面,为进一步提高数据安全性,可以由本地可信执行环境对信息加密并存储在本地可信执行环境中,此时存储的信息将与普通数据相隔离,在得到可信执行环境的允许时客户端才可以进行读取。由于在后一个方面中,是由本地可信执行环境对信息加密并存储的,因而在允许客户端读取前需要可信执行环境先对信息进行解密。根据本发明的再一个方面,还可以先由用户侧的客户端对信息加密,再由本地可信执行环境对加密后的信息转加密,此时该信息将双重加密,从而进一步提高了数据的安全性。相应地,在解密该信息时将依次由可信执行环境和客户端对信息对该信息解密。在本发明的另一些实施例中,可以设定仅允许指定的客户端或者服务访问存储在本地可信执行环境中的信息,这可以通过增加移动设备可信执行环境安全区域访问控制规则来实现。

在本发明的一个实施例中,如图5所示,在上文请求表示图形化代码的信息的步骤前还可以根据本地可信执行环境的软硬件信息生成特征值(步骤s502)。当然,如上文所述,本发明中的特征值并不一定要根据软硬件信息生成,在本发明的其他实施例中,诸如移动设备的制造商(或者支付系统的拥有者)可以在出厂时根据标准或者管理侧规则预置特征值;在本发明的另一些实施例中,管理侧还可以空发特征值。预置特征值以及空发特征值都为提供标准化格式的特征值提供了便利,此两种方式可以弥补根据本地可信执行环境的软硬件信息生成特征值时可能造成的特征值重复、数量不足等缺陷。需要指出的是,特征值必须是不可重复的且一旦设定特征值后,该值需要写入到本地可信执行环境中,以此方式可以保证特征值的唯一性和安全性(不可篡改)。

在本发明的一个实施例中,如图6所示,在上文请求表示图形化代码的信息的步骤前还可以发送特征值和身份认证数据以请求建立二者的映射关系(步骤s602)。需要说明是的是,用户侧向管理侧发送的信息可能只包括特征值和身份认证数据,并不包括“建立二者的映射关系”这样的请求;管理侧在同时接收到特征值和身份认证数据这两个数据时可以确定用户侧隐含地发送了“建立二者的映射关系”这个请求。要注意的是,步骤s602并不是执行上文介绍的实施例必不可少的前置步骤,上文介绍的实施例中特征值和身份认证数据(例如,身份证信息、银行账户信息、银行卡卡号等)的映射关系可以是通过其他途径提前建立的,因而可以直接请求表示图形化代码的信息。更一般地,可以在请求步骤之前建立特征值和身份认证数据的映射关系,表示图形化代码的信息对应于所述身份认证数据。例如,可以使用客户端输入身份认证数据并请求绑定到客户端(或者其所属移动终端)。此时,客户端可以请求特征值并连同身份认证数据一起发往管理侧。需要指出的是,若发送的是普通身份证信息,管理侧可以根据记录的身份证信息查询得到一个或者多个银行账户信息(或银行卡卡号,下同)并返回客户端,客户端可以从其中选取需要绑定的一个或者多个银行账户以用于支付。待客户端选定要绑定的银行账户后可以再将选定的身份认证数据发往管理侧,管理侧可以据此建立特征值和身份认证数据的映射关系。一旦建立了映射关系后,管理侧在后续流程中收到包含特征值的请求后可以立刻调取其关联的(映射的)身份认证数据,更具体地,可以是银行账户信息(或银行卡卡号),以用于后续的步骤。

在本发明的一些实施例中在步骤s602之前先执行步骤s502,即,可以先根据本地可信执行环境的软硬件信息生成特征值,再发送特征值和身份认证数据以请求建立二者的映射关系,表示图形化代码的信息对应于所述身份认证数据。

在本发明的一个实施例中,所请求的图形化代码的数量为多个,并且每次仅生成一个图形化代码。在一些场景下,用户侧与管理侧之间的网络状况不一定总是能满足实时或者准实时通信的需求;另一方面,在一些小额支付的场景下,用户侧也可以不总是需要与管理侧进行实时或者准实时交互;当然,本发明的基本原理也可适用于其他无需实时或者准实时交互但对保密性要求较高的应用场景。有鉴于此,在本发明的一些实施例中可以在一次请求中请求多个图形化代码,例如,可以一次请求20个图形化代码。在本发明的一些实施例中,可以根据各个地区的用户平均使用频率、单个用户的使用频率以及单个用户的信用程度等而为不同地区、不同用户等提供不同的请求数量的上限。在本发明的一些实施例中,也可以为不同额度的支付场景设置不同的请求数量的上限。例如,可以为用于交通通勤的客户端或服务设置较高的请求数量,而为用于大额支付或者通用支付(即,既可以用于小额支付又可以用于大额支付)的客户端设置较低的请求数量。

在本发明的一个实施例中,若所请求的图形化代码的数量为多个,则每个图形化代码可以具有编号,并且可以进一步根据编号来依次生成一个图形化代码。在本发明的一个实施例中,可以不设置多个图形化代码的使用顺序,管理侧仅对用毕的图形化代码作删除处理,这样可以减轻用户侧和管理侧的处理任务量,达到快速支付的目的。更一般地,在本发明的一个实施例中,为每个图形化代码编号。如果有20个图形化代码,那么可以依次将其编号成01、02、……、19、20。为图形化代码编号有利用对其进行管理,方便管理侧指定图形化代码的管理策略。例如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为04的图形化代码付款,管理侧先核实图形化代码的有效性,然而可以根据编号确定图形化代码是按顺序使用的,管理侧接收该图形化代码并完成承兑。再如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为01的图形化代码付款,管理侧先核实图形化代码的有效性,然后可以根据编号确定图形化代码池可能被破解或盗取,因而管理侧可以对与特征值及映射的身份认证数据所关联的设备、账户作止付处理。另外,可以进一步例如停用相关账号、将图形化代码池中剩余的图形化代码无效、追查已使用的图形化代码的使用合法性以及通知设备、账户的所有者。

在本发明的一个实施例中,参见图7,在步骤s702中进行判断,当未被生成的图形化代码的数量低于预定值(或阈值)时再次发送请求,该阈值由阈值模块或系统生成。以此方式,可以保证图形化代码池中总保有一定数量的图形化代码,以方便诸如在网络不畅时能够快速出码,不致影响用户的感知。例如,可以设置在未被生成的图形化代码的数量低于预定值6时再次发送请求,以请求诸如另外的20个图形化代码。通过这种设置,图形化代码池中可以总保有5-25个图形化代码。例如,若原图形化代码池中存在编号为01、02、……、19、20的20个图像化代码,在顺序使用直至编号为15的图形化代码付款时,用户侧可以确定剩余5个未被生成的图形化代码,此时将触发再次发送请求的条件,用户侧将请求诸如另外的20个图形化代码(其编号例如为21、22、……、39、40)。

在本发明的一些实施例中,每个所述图形化代码具有有效期,当处于有效期内的未被生成的所述图形化代码的数量低于预定值时再次发送所述请求。

在本发明的一些实施例中,预定值是与特征值相对应的,换言之,每个不同的用户侧设备可以具有不同的预定值。例如,根据用户使用频次等进行人工智能分析,可以动态调整不同用户的预定值。比如,a用户的预定值可能是3而b用户可能为5。在本发明的一个实施例中,用户侧的再次请求中包括了本地可信执行环境的特征值,管理侧可以根据该特征值查询是否存在预期绑定的银行账户信息(或银行卡卡号),若存在绑定的银行账户信息(或银行卡卡号)则可以返回关于该绑定的银行账户信息(或银行卡卡号)的诸如另外的20个图形化代码。如果在某些情况下上述的再次请求未能发送成功或者未能送达管理侧,那么可以在使用编号为16的图形化代码付款时再次触发再次发送请求的条件。本领域技术人员应当领会,若仍然不能再次发送请求,本发明的触发条件将继续适用,直至请求到诸如另外的20个图形化代码为止。在本发明的其他示例中也可以不必等到下次再生成图形化代码时才再次发送请求(即,继续上文的示例,无需得到使用编号为16的图形化代码付款时才再次发送请求),而是可以以预定时间间隔自动再次发送请求,直至请求到诸如另外的20个图形化代码为止。

图15示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。与图4所对应的实施例相比,发送端直接请求图形化代码,而不是请求表示图形化代码的信息。如图所示,该方法包括步骤s1502,在该步骤中向接收端发送本地可信执行环境的特征值以请求图形化代码;步骤s1504,在接收来自接收端的图形化代码并呈现。在不违背该实施例的基本构思的前提下,该实施例的其他方面可以参照图4所对应的实施例来实施。

在本发明的一个实施例中,可选地,接收来自接收端的图形化代码并呈现的步骤包括了对图形化代码加密并存储在本地可信执行环境中。在本发明的其他示例中,可选地,在请求步骤前还包括根据本地可信执行环境的软硬件信息生成特征值。在本发明的其他示例中,可选地,在请求步骤前还包括发送特征值和身份认证数据以请求建立二者的映射关系,图形化代码对应于身份认证数据。此外,身份认证数据诸如可以为银行账户信息。在本发明的其他示例中,可选地,所请求的图形化代码的数量为多个,并且每次仅生成一个图形化代码。在本发明的其他示例中,可选地,每个图形化代码具有编号,并且根据编号依次生成一个图形化代码。在本发明的其他示例中,可选地,当未被生成的图形化代码的数量低于预定值时再次发送请求。同样地,在不违背这些实施例的基本构思的前提下,这些实施例的其他方面可以参照图5-7所对应的实施例来实施。

以上主要描述了用户侧(在某些情况下记载为具体的客户端、移动终端等)请求并生成计算机可读的图形化代码的基本原理。以下将介绍管理侧(在某些情况下记载为具体的支付系统、支付系统服务器等)的工作原理。

图8示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。如图所示,该方法包括步骤s802接收发送端发送的本地可信执行环境的特征值,所述特征值用于请求发送图形化代码的信息;步骤s804,校验是否存在特征值与身份认证数据的映射关系,身份认证数据用于校验是否与特征值匹配;步骤s806,若存在的话则生成对应于身份认证数据的表示图形化代码的信息并发送至发送端。当然,若不存在这样的映射关系则自动忽略,不生成表示图形化代码的信息,并且可以接收下一个特征值(例如,由与上次发送不同的发送端发送的特征值)。发送端发送的本地可信执行环境的特征值可以通过上文详细描述的多种方式生成,接收到的特征值可以用于验证身份。具体而言,可以根据是否存在与接收到的特征值存在对应关系的身份认证数据来决定来是否生成表示图形化代码的信息。特征值与身份认证数据的对应关系可以通过预先建立映射关系表的形式来形成,且表中的内容可以根据实际使用情况进行增减。例如,若一个身份认证数据绑定了新的终端,则需要在映射关系表中增加二者间的对应关系的条目。需要注意的是,图形化代码的生成并不受建立映射关系表所限制,这是因为生成图形化代码的过程默认已经建立了映射关系表,图形化代码的生成(发码)的过程无需考虑如何建立映射关系表,图形化代码的生成(发码)的方法本身构成了相对独立的保护范围。

在本发明的一个实施例中,如图9所示,在上文的接收发送端发送的本地可信执行环境的特征值步骤前还包括:接收发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储特征值与身份认证数据的映射关系(步骤s902)。上文介绍的实施例中特征值和身份认证数据(例如,身份证信息、银行账户信息、银行卡卡号等)的映射关系可以是通过其他途径提前建立的,因而可以直接请求表示图形化代码的信息。更一般地,可以在接收步骤之前建立(存储)特征值和身份认证数据的映射关系。例如,可以使用客户端输入身份认证数据并请求绑定到客户端(或者其所属移动终端)。此时,客户端可以请求特征值并连同身份认证数据一起发往管理侧。需要指出的是,若发送的是普通身份证信息,管理侧可以根据记录的身份证信息查询得到一个或者多个银行账户信息(或银行卡卡号,下同)并返回客户端,客户端可以从其中选取需要绑定的一个或者多个银行账户以用于支付。待客户端选定要绑定的银行账户后可以再将选定的身份认证数据发往管理侧,管理侧可以据此建立特征值和身份认证数据的映射关系。一旦建立了映射关系后,管理侧在后续流程中收到包含特征值的请求后可以立刻调取其关联的(映射的)身份认证数据,更具体地,可以是银行账户信息(或银行卡卡号),以用于后续的步骤。

在本发明的一个实施例中,图形化代码的数量为多个,并且信息中包括每个图形化代码的编号。在本发明的一些实施例中可以在一次发送中发送多个图形化代码,例如,可以一次发送20个图形化代码。在本发明的一些实施例中,可以根据各个地区的用户平均使用频率、单个用户的使用频率以及单个用户的信用程度等而为不同地区、不同用户等提供不同的请求数量的上限。在本发明的一些实施例中,也可以为不同额度的支付场景设置不同的请求数量的上限。例如,可以为用于交通通勤的客户端或服务设置较高的请求数量,而为用于大额支付或者通用支付(即,既可以用于小额支付又可以用于大额支付)的客户端设置较低的请求数量。

在本发明的一个实施例中,可以不设置多个图形化代码的使用顺序,管理侧仅对用毕的图形化代码作删除处理,这样可以减轻用户侧和管理侧的处理任务量,达到快速支付的目的。更一般地,在本发明的一个实施例中,为每个图形化代码编号。如果有20个图形化代码,那么可以依次将其编号成01、02、……、19、20。为图形化代码编号有利用对其进行管理,方便管理侧指定图形化代码的管理策略。例如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为04的图形化代码付款,管理侧先核实图形化代码的有效性,然而可以根据编号确定图形化代码是按顺序使用的,管理侧接收该图形化代码并完成承兑。再如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为01的图形化代码付款,管理侧先核实图形化代码的有效性,然后可以根据编号确定图形化代码池可能被破解或盗取,因而管理侧可以对与特征值及映射的身份认证数据所关联的设备、账户作止付处理。另外,可以进一步例如停用相关账号、将图形化代码池中剩余的图形化代码无效、追查已使用的图形化代码的使用合法性以及通知设备、账户的所有者。

图16示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图。与图8所对应的实施例相比,发送端直接请求图形化代码,而不是请求表示图形化代码的信息。如图所示,该方法包括步骤s1602接收发送端发送的本地可信执行环境的特征值,所述特征值用于请求发送图形化代码;步骤s1604,校验是否存在特征值与身份认证数据的映射关系,身份认证数据用于校验是否与特征值匹配;步骤s1606,若存在的话则生成对应于身份认证数据的图形化代码并发送至发送端。当然,若不存在这样的映射关系则自动忽略,不生成表示图形化代码的信息,并且可以接收下一个特征值(例如,由与上次发送不同的发送端发送的特征值)。在不违背该实施例的基本构思的前提下,该实施例的其他方面可以参照图8所对应的实施例来实施。

在本发明的一个实施例中,可选地,在接收步骤前还包括:接收发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储特征值与身份认证数据的映射关系。在本发明的一个实施例中,可选地,图形化代码的数量为多个,并且图形化代码中包括其编号。同样地,在不违背这些实施例的基本构思的前提下,这些实施例的其他方面可以参照图9所对应的实施例来实施。

根据本发明的另一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,其特征在于,当指令由处理器执行时,使得处理器执行如上文所述的任意一种方法。本发明中所称的计算机可读介质包括各种类型的计算机存储介质,可以是通用或专用计算机能够存取的任何可用介质。举例而言,计算机可读介质可以包括ram、rom、e2prom、cd-rom或其他光盘存储器、磁盘存储器或其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码单元并能够由通用或特定用途计算机、或者通用或特定用途处理器进行存取的任何其他临时性或者非临时性介质。如本文所使用的,盘(disk)和碟(disc)包括紧致碟(cd)、激光碟、光碟、数字多用途光碟(dvd)、软盘和蓝光碟,其中盘通常磁性地复制数据,而碟则用激光来光学地复制数据。上述的组合也应当包括在计算机可读介质的保护范围之内。

图10示出了根据本发明的一个实施例的生成计算机可读的图形化代码的装置的示意图。如图所示,处于用户侧的装置10包括请求模块1012、接收模块1014以及渲染模块1016。其中,请求模块1012被配置成发送包括装置10的本地可信执行环境的特征值的请求消息以请求表示图形化代码的信息;接收模块1014被配置成接收信息并存储;渲染模块1016被配置成根据信息生成图形化代码。

在本发明的一些实施例中,请求模块1012被配置成发送包括装置10的本地可信执行环境的特征值的请求消息以请求表示图形化代码的信息,其中,可信执行环境的特征值可以是根据装置10的可信执行环境的硬件信息(例如,硬件的序列号)和/或软件信息(例如,软件的版本号)生成的。可信执行环境的特征值还可以是出厂预置的,此时,特征值可以不与装置10的可信执行环境的硬件信息或软件信息相关,而是存储在可信执行环境中的一组独一无二的信息,可以根据该信息来区分不同的请求图形化代码的装置(或称为用户侧,例如,智能手机、平板电脑、智能穿戴设备等)。此外,可信执行环境的特征值还可以是空中发送的,例如,可以通过管理侧的服务器向请求图形化代码的装置10(例如,智能手机、平板电脑、智能穿戴设备等)空中发送特征值,再由装置10将该特征值存储在可信执行环境中。相应地,管理侧中记录的特征值可以是后期由装置10发送至其并存储的;也可以是已经存储在其中而预置的(例如空中发送的情况)。

在本发明的一些实施例中,请求信息还可以包括银行账户信息。在一些情况下,请求图形化代码的设备可能与多个银行账户信息相关联,此时为了区分到底是利用哪个银行账户请求图形化代码还需要向管理侧发送该银行账户信息。

上文记载了接收模块1014被配置成接收信息并存储,渲染模块1016被配置成根据信息生成图形化代码。接收模块1014接收到信息后可以存储在诸如装置10的存储设备中,另一方面,为了保证数据的安全性,还可以存储在装置10的本地可信执行环境中。

在本发明的一个实施例中,接收模块1014先对信息加密再存储在装置10的本地可信执行环境中,以此方式可以设置保障信息安全的双重保险。根据本发明的另一个方面,为进一步提高数据安全性,可以由本地可信执行环境对信息加密并存储在本地可信执行环境中,此时存储的信息将与普通数据相隔离,在得到可信执行环境的允许时才可以进行读取。由于在后一个方面中,是由本地可信执行环境对信息加密并存储的,因而在允许读取前需要可信执行环境先对信息进行解密。

根据本发明的再一个方面,还可以先由接收模块1014对信息加密,再由本地可信执行环境对加密后的信息转加密,此时该信息将双重加密,从而进一步提高了数据的安全性。相应地,在解密该信息时将依次由可信执行环境和接收模块1014对信息对该信息解密。在本发明的另一些实施例中,可以设定仅允许指定的客户端或者服务访问存储在本地可信执行环境中的信息,这可以通过增加移动设备可信执行环境安全区域访问控制规则来实现。例如,可信执行环境安全区域访问控制的规则定义了只允许应用a和应用b来访问存储在本地可信执行环境中的信息,若未经规则允许的应用c想要访问存储在本地可信执行环境中的信息则会遭到拒绝;若应用a请求访问存储在本地可信执行环境中的信息则会通过。等到信息被成功读取后,渲染模块1016可以根据信息生成图形化代码。例如,渲染模块1016可以国家标准、行业标准、企业标准或者相互协商的标准对信息作图形化呈现,诸如生成条形码、二维码等。

在本发明的一个实施例中,装置10还包括生成模块(图10中未示出),其配置成根据装置10的本地可信执行环境的软硬件信息生成特征值。当然,本发明中的特征值并不一定要根据软硬件信息生成,在本发明的其他实施例中,可以在出厂时根据标准或者管理侧规则预置特征值;在本发明的另一些实施例中,管理侧还可以空发特征值。预置特征值以及空发特征值都为提供标准化格式的特征值提供了便利,此两种方式可以弥补根据本地可信执行环境的软硬件信息生成特征值时可能造成的特征值重复、数量不足等缺陷。需要指出的是,特征值必须是不可重复的且一旦设定特征值后,该值需要诸如通过生成模块写入到本地可信执行环境中,以此方式可以保证特征值的唯一性和安全性(不可篡改)。

在本发明的一个实施例中,请求模块1012还配置成发送特征值和身份认证数据以请求建立二者的映射关系,表示图形化代码的信息对应于所述身份认证数据。在本发明的一些实施例中,身份认证数据可以诸如为银行账户信息。需要说明是的是,请求模块1012发送的信息可能只包括特征值和身份认证数据,并不包括“建立二者的映射关系”这样的请求;接收方在同时接收到特征值和身份认证数据这两个数据时可以确定装置10隐含地发送了“建立二者的映射关系”这个请求。上文介绍的实施例中特征值和身份认证数据(例如,身份证信息、银行账户信息、银行卡卡号等)的映射关系可以是通过其他途径提前建立的,因而可以直接请求表示图形化代码的信息。更一般地,可以在请求模块1012发送建立二者的映射关系的请求之前建立特征值和身份认证数据的映射关系,表示图形化代码的信息对应于所述身份认证数据。例如,可以使用装置10输入身份认证数据并请求绑定到装置10。此时,请求模块1012可以请求特征值并连同身份认证数据一起发往接收方。需要指出的是,若请求模块1012发送的是普通身份证信息,接收方可以根据记录的身份证信息查询得到一个或者多个银行账户信息(或银行卡卡号,下同)并返回装置10,装置10可以从其中选取需要绑定的一个或者多个银行账户以用于支付。装置10选定要绑定的银行账户后可以再将选定的身份认证数据发往接收方,接收方可以据此建立特征值和身份认证数据的映射关系,表示图形化代码的信息对应于所述身份认证数据。一旦建立了映射关系后,接收方在后续流程中收到包含特征值的请求后可以立刻调取其关联的(映射的)身份认证数据,更具体地,可以是银行账户信息(或银行卡卡号),以用于后续的步骤。

在本发明的一个实施例中,请求模块1012所请求的图形化代码的数量为多个,并且渲染模块1016每次仅生成一个图形化代码。在一些场景下,网络状况不一定总是能满足实时或者准实时通信的需求;另一方面,在一些小额支付的场景下也可以不总是需要与管理侧进行实时或者准实时交互;当然,本发明的基本原理也可适用于其他无需实时或者准实时交互但对保密性要求较高的应用场景。有鉴于此,在本发明的一些实施例中可以在一次请求中请求多个图形化代码,例如,可以一次请求20个图形化代码。在本发明的一些实施例中,可以根据各个地区的用户平均使用频率、单个用户的使用频率以及单个用户的信用程度等而为不同地区、不同用户等提供不同的请求数量的上限,亦即,可以针对不同的装置10提供不同的请求数量的上限。在本发明的一些实施例中,也可以为不同额度的支付场景设置不同的请求数量的上限。例如,可以为用于交通通勤的装置10或服务设置较高的请求数量,而为用于大额支付或者通用支付(即,既可以用于小额支付又可以用于大额支付)的装置10设置较低的请求数量。

在本发明的一个实施例中,每个图形化代码具有编号,并且渲染模块1016还配置成根据编号依次生成一个图形化代码。在本发明的一个实施例中,可以不设置多个图形化代码的使用顺序,管理侧仅对用毕的图形化代码作删除处理,这样可以减轻用户侧和管理侧的处理任务量,达到快速支付的目的。更一般地,在本发明的一个实施例中,为每个图形化代码编号。如果有20个图形化代码,那么渲染模块1016可以依次将其编号成01、02、……、19、20。为图形化代码编号有利用对其进行管理,方便管理侧指定图形化代码的管理策略。例如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为04的图形化代码付款,管理侧先核实图形化代码的有效性,然而可以根据编号确定图形化代码是按顺序使用的,管理侧接收该图形化代码并完成承兑。再如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为01的图形化代码付款,管理侧先核实图形化代码的有效性,然后可以根据编号确定图形化代码池可能被破解或盗取,因而管理侧可以对与特征值及映射的身份认证数据所关联的设备、账户作止付处理。另外,可以进一步例如停用相关账号、将图形化代码池中剩余的图形化代码无效、追查已使用的图形化代码的使用合法性以及通知设备、账户的所有者。

在本发明的一个实施例中,装置还包括判断模块(图10中未示出),当所述判断模块判定未被生成的图形化代码的数量低于预定值时请求模块1012再次发送请求。以此方式,可以保证图形化代码池中总保有一定数量的图形化代码,以方便诸如在网络不畅时能够快速出码,不致影响用户的感知。例如,可以设置在未被渲染模块1016生成的图形化代码的数量低于预定值6时再次由请求模块1012发送请求,以请求诸如另外的20个图形化代码。通过这种设置,图形化代码池中可以总保有5-25个图形化代码。例如,若原图形化代码池中存在编号为01、02、……、19、20的20个图像化代码,在顺序使用直至编号为15的图形化代码付款时,装置10可以确定剩余5个未被生成的图形化代码,此时将触发再次发送请求的条件,装置10将请求诸如另外的20个图形化代码(其编号例如为21、22、……、39、40)。在本发明的一个实施例中,装置10的再次请求中包括了本地可信执行环境的特征值,管理侧可以根据该特征值查询是否存在预期绑定的银行账户信息(或银行卡卡号),若存在绑定的银行账户信息(或银行卡卡号)则可以返回关于该绑定的银行账户信息(或银行卡卡号)的诸如另外的20个图形化代码。如果在某些情况下上述的再次请求未能发送成功或者未能送达管理侧,那么可以在使用编号为16的图形化代码付款时再次触发再次发送请求的条件。本领域技术人员应当领会,若仍然不能再次发送请求,本发明的触发条件将继续适用,直至请求到诸如另外的20个图形化代码为止。在本发明的其他示例中也可以不必等到下次再生成图形化代码时才再次发送请求(即,继续上文的示例,无需得到使用编号为16的图形化代码付款时才再次发送请求),而是可以以预定时间间隔自动再次发送请求,直至请求到诸如另外的20个图形化代码为止。

在本发明的一些实施例中,每个所述图形化代码具有有效期,当判断模块判定处于有效期内的未被生成的所述图形化代码的数量低于预定值时再次发送所述请求。

在本发明的一些实施例中,预定值是与特征值相对应的,换言之,每个不同的用户侧设备可以具有不同的预定值。例如,根据用户使用频次等进行人工智能分析,可以动态调整不同用户的预定值。比如,a用户的预定值可能是3而b用户可能为5。

本发明的判断模块包括在本地可信执行环境中,也可以包括在用户侧设备的普通环境中并在其中执行。

图11示出了根据本发明的一个实施例的生成计算机可读的图形化代码的装置的示意图。如图所示,处于管理侧的装置31包括接收模块3101、校验模块3102以及发送模块3103。其中,接收模块3101被配置成接收发送端发送的本地可信执行环境的特征值;校验模块3102被配置成校验是否存在特征值与身份认证数据的映射关系,身份认证数据用于校验是否与特征值匹配;发送模块3103被配置成若存在所述映射关系的话则生成对应于身份认证数据的表示图形化代码的信息并发送至发送端。当然,若不存在这样的映射关系则不生成表示图形化代码的信息,并且接收模块3101可以接收下一个特征值(例如,由与上次发送不同的发送端发送的特征值)。发送端发送的本地可信执行环境的特征值可以通过上文详细描述的多种方式生成,接收到的特征值可以用于验证身份。具体而言,可以根据是否存在与接收到的特征值存在对应关系的身份认证数据来决定来是否生成表示图形化代码的信息。特征值与身份认证数据的对应关系可以通过预先建立映射关系表的形式来形成,且表中的内容可以根据实际使用情况进行增减。例如,若一个身份认证数据绑定了新的终端,则需要在映射关系表中增加二者间的对应关系的条目。需要注意的是,图形化代码的生成并不受建立映射关系表所限制,这是因为生成图形化代码的过程默认已经建立了映射关系表,图形化代码的生成(发码)的过程无需考虑如何建立映射关系表,图形化代码的生成(发码)的方法本身构成了相对独立的保护范围。

在本发明的一个实施例中,装置31还包括存储模块(未示出),其中接收模块3101还配置成接收发送端发送的本地可信执行环境的特征值以及身份认证数据,并且存储模块存储特征值与身份认证数据的映射关系。上文介绍的实施例中特征值和身份认证数据(例如,身份证信息、银行账户信息、银行卡卡号等)的映射关系可以是通过其他途径提前建立的,因而可以直接请求表示图形化代码的信息。更一般地,可以在接收步骤之前建立(存储)特征值和身份认证数据的映射关系。例如,可以使用客户端输入身份认证数据并请求绑定到客户端(或者其所属移动终端)。此时,客户端可以请求特征值并连同身份认证数据一起发往装置31。需要指出的是,若发送的是普通身份证信息,装置31可以根据记录的身份证信息查询得到一个或者多个银行账户信息(或银行卡卡号,下同)并返回客户端,客户端可以从其中选取需要绑定的一个或者多个银行账户以用于支付。待客户端选定要绑定的银行账户后可以再将选定的身份认证数据发往装置31,装置31可以据此建立特征值和身份认证数据的映射关系。一旦建立了映射关系后,装置31在后续流程中收到包含特征值的请求后可以立刻调取其关联的(映射的)身份认证数据,更具体地,可以是银行账户信息(或银行卡卡号),以用于后续的步骤。

在本发明的一个实施例中,图形化代码的数量为多个,并且发送模块3103所发送的信息中包括每个图形化代码的编号。在本发明的一些实施例中,发送模块3103可以在一次发送中发送多个图形化代码,例如,发送模块3103可以一次发送20个图形化代码。在本发明的一些实施例中,可以根据各个地区的用户平均使用频率、单个用户的使用频率以及单个用户的信用程度等而为不同地区、不同用户等提供不同的请求数量的上限。在本发明的一些实施例中,也可以为不同额度的支付场景设置不同的请求数量的上限。例如,可以为用于交通通勤的客户端或服务设置较高的请求数量,而为用于大额支付或者通用支付(即,既可以用于小额支付又可以用于大额支付)的客户端设置较低的请求数量。

在本发明的一个实施例中,可以不设置多个图形化代码的使用顺序,装置31仅对用毕的图形化代码作删除处理,这样可以减轻用户侧和装置31的处理任务量,达到快速支付的目的。更一般地,在本发明的一个实施例中,装置31为每个图形化代码编号。如果有20个图形化代码,那么装置31可以将其依次将其编号成01、02、……、19、20。为图形化代码编号有利用对其进行管理,方便装置31指定图形化代码的管理策略。例如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为04的图形化代码付款,装置31先核实图形化代码的有效性,然而可以根据编号确定图形化代码是按顺序使用的,装置31接收该图形化代码并完成承兑。再如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为01的图形化代码付款,装置31先核实图形化代码的有效性,然后可以根据编号确定图形化代码池可能被破解或盗取,因而装置31可以对与特征值及映射的身份认证数据所关联的设备、账户作止付处理。另外,可以进一步例如停用相关账号、将图形化代码池中剩余的图形化代码无效、追查已使用的图形化代码的使用合法性以及通知设备、账户的所有者。

根据本发明的另一方面,提供一种移动设备,所述移动设备包括如上文所述的任意一种生成计算机可读的图形化代码的装置(请求发送端)。

根据本发明的另一方面,提供一种服务平台,所述服务平台包括如上文所述的任意一种生成计算机可读的图形化代码的装置(请求接收端)。

根据本发明的一方面,提供一种计算机可执行方法,其可以由图12所示出的移动终端11来执行。所述方法包括如下步骤:由移动终端11的处理器1114确定发送包括移动终端11的本地可信执行环境1112的特征值的请求消息以请求表示图形化代码的信息;由移动终端11的处理器1114接收信息并存储;以及由移动终端11的处理器1114根据信息生成图形化代码。在本发明的一些方面中,处理器1114执行的一些操作可以是处理器1114确定某些具体的执行部件来操作的。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一些实施例中,请求信息还可以包括银行账户信息。在一些情况下,请求图形化代码的设备可能与多个账户信息相关联,此时为了区分到底是利用哪个银行账户请求图形化代码还需要向管理侧发送该账户信息。

在本发明的一个实施例中,由移动终端11的处理器1114接收信息并存储具体为由移动终端11的本地可信执行环境1112对信息加密并存储在本地可信执行环境1112中。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,在请求步骤前还包括:由移动终端11的处理器1114根据本地可信执行环境1112的软硬件信息生成特征值。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,在请求步骤前还包括:由移动终端11的处理器1114确定发送特征值和身份认证数据,以请求建立二者的映射关系,表示图形化代码的信息对应于所述身份认证数据。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,所请求的图形化代码的数量为多个,并且移动终端11的处理器1114每次仅生成一个图形化代码。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,每个图形化代码具有编号,并且移动终端11的处理器1114根据编号依次生成一个图形化代码。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,当未被生成的图形化代码的数量低于预定值时由移动终端11的处理器1114确定再次发送请求。该示例的其他方面可以进一步参照上文示例的描述进行。

根据本发明的另一方面,提供一种计算机可执行方法,该方法可以由如图13所示的服务器30来执行,该方法包括由服务器30的处理器3014(图中还示出了与其一起工作的存储器3016)确定接收发送端(未示出)发送的本地可信执行环境的特征值;由服务器30的处理器3014校验是否存在特征值与身份认证数据的映射关系,身份认证数据用于校验是否与特征值匹配;以及由服务器30的处理器3014判定若存在的话则生成对应于身份认证数据的表示图形化代码的信息并发送至发送端。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,在接收步骤前还包括:由服务器30的处理器3014确定接收发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储特征值与身份认证数据的映射关系。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,图形化代码的数量为多个,并且信息中包括每个图形化代码的编号。该示例的其他方面可以进一步参照上文示例的描述进行。

参见图12,根据本发明的另一方面,提供一种移动设备11,其包括用于显示器1110、本地可信执行环境1112、存储器1116以及处理器1114。其中,显示器1110用于显示输出的画面,例如用于显示本申请中的图形化代码(诸如图中所示出的二维码),在一些示例中,显示器1110还集成了触摸输入功能。移动设备11还包括了与通用环境1118所区隔的本地可信执行环境1112,其中,通用环境1118与可信执行环境1112被安全硬件(securehardware)所隔离。通用环境1118包括主处理器1114和存储器1116(其可以配置成存储指令)等构成的硬件层1102,硬件层1102之上为操作系统层1103。本地可信执行环境1112包括主处理器1114上的一个安全区域,可以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性。本地可信执行环境1112提供一个隔离的执行环境,提供的安全特征包含:隔离执行、可信应用的完整性、可信数据的机密性、安全存储等。本地可信执行环境1112也包括了独立的硬件层1104和操作系统层1105。

此外,主处理器1114配置成执行指令以用于:首先,由移动终端11的处理器1114确定发送包括移动终端11的本地可信执行环境1112的特征值的请求消息以请求表示图形化代码的信息。在本申请中,表示图形化代码的信息可以是实际物理链路中传输的信息,例如可以数据分组。由移动终端11可以根据该信息以及国家标准、行业标准、企业标准或者相互协商的标准对信息作图形化呈现。

在本发明的一些实施例中,请求信息还可以包括账户信息。在一些情况下,请求图形化代码的设备可能与多个账户信息相关联,此时为了区分到底是利用哪个银行账户请求图形化代码还需要向管理侧发送该账户信息。

其次,由移动终端11的处理器1114接收表示图形化代码的信息并存储,例如,存储在存储器1116中,在申请的其他示例中还可以存储在本地可信执行环境1112中以确保数据的安全性。再次,由移动终端11的处理器1114根据信息生成图形化代码。此时,生成的图形化代码可以直接被驱动到显示器1110上。最后,由移动终端11的处理器1114将图形化代码显示在显示器1110上。在本发明的一个实施例中,为进一步提高数据安全性,处理器1114可以进一步配置成确定由本地可信执行环境1112对信息加密并存储在本地可信执行环境1112中,此时存储的信息将与普通数据相隔离,在得到可信执行环境的允许时才可以进行读取。由于是由本地可信执行环境1112对信息加密并存储的,因而在允许读取前需要可信执行环境先对信息进行解密。根据本发明的再一个方面,还可以先由通用环境1118(例如,构建在其中的应用客户端)对信息加密,再由本地可信执行环境1112对加密后的信息转加密,此时该信息将双重加密,从而进一步提高了数据的安全性。相应地,在解密该信息时将依次由可信执行环境1112和通用环境1118对信息对该信息解密。在本发明的另一些实施例中,可以设定仅允许通用环境1118中的指定客户端或者服务访问存储在本地可信执行环境1112中的信息,这可以通过增加移动设备11可信执行环境安全区域访问控制规则来实现。

在本发明的一个实施例中,处理器1114进一步配置成根据本地可信执行环境1112的硬件信息(例如,硬件的序列号)和/或软件信息(例如,软件的版本号)生成特征值。当然,本发明中的特征值并不一定要根据软硬件信息生成,在本发明的其他实施例中,诸如移动设备11的制造商(或者支付系统的拥有者)可以在出厂时根据标准或者管理侧规则预置特征值;在本发明的另一些实施例中,管理侧还可以空发特征值。预置特征值以及空发特征值都为提供标准化格式的特征值提供了便利,此两种方式可以弥补根据本地可信执行环境1112的软硬件信息生成特征值时可能造成的特征值重复、数量不足等缺陷。需要指出的是,特征值必须是不可重复的且一旦设定特征值后,该值需要写入到本地可信执行环境1112中,以此方式可以保证特征值的唯一性和安全性(不可篡改)。

在本发明的一个实施例中,处理器1114进一步配置成确定发送特征值和身份认证数据,以请求建立二者的映射关系,表示图形化代码的信息对应于所述身份认证数据。需要说明是的是,处理器1114确定发送的信息可能只包括特征值和身份认证数据,并不包括“建立二者的映射关系”这样的请求;管理侧在同时接收到特征值和身份认证数据这两个数据时可以确定用户侧隐含地发送了“建立二者的映射关系”这个请求。特征值和身份认证数据(例如,身份证信息、银行账户信息、银行卡卡号等)的映射关系可以是通过其他途径提前建立的,因而可以直接请求表示图形化代码的信息。更一般地,可以在请求步骤之前建立特征值和身份认证数据的映射关系。例如,可以使用客户端输入身份认证数据并请求绑定到客户端(或者其所属移动终端11)。此时,客户端可以请求特征值并连同身份认证数据一起发往管理侧。需要指出的是,若发送的是普通身份证信息,管理侧可以根据记录的身份证信息查询得到一个或者多个银行账户信息(或银行卡卡号,下同)并返回移动终端11,移动终端11可以从其中选取需要绑定的一个或者多个银行账户以用于支付。待移动终端11选定要绑定的银行账户后可以再将选定的身份认证数据发往管理侧,管理侧可以据此建立特征值和身份认证数据的映射关系。一旦建立了映射关系后,管理侧在后续流程中收到包含特征值的请求后可以立刻调取其关联的(映射的)身份认证数据,更具体地,可以是银行账户信息(或银行卡卡号),以用于后续的步骤。

在本发明的一个实施例中,所请求的图形化代码的数量为多个,并且移动终端11的处理器1114每次仅生成一个图形化代码。在一些场景下,网络状况不一定总是能满足实时或者准实时通信的需求;另一方面,在一些小额支付的场景下也可以不总是需要与管理侧进行实时或者准实时交互;当然,本发明的基本原理也可适用于其他无需实时或者准实时交互但对保密性要求较高的应用场景。有鉴于此,在本发明的一些实施例中可以在一次请求中请求多个图形化代码,例如,可以一次请求20个图形化代码。在本发明的一些实施例中,可以根据各个地区的用户平均使用频率、单个用户的使用频率以及单个用户的信用程度等而为不同地区、不同用户等提供不同的请求数量的上限,亦即,可以针对不同的装置10提供不同的请求数量的上限。在本发明的一些实施例中,也可以为不同额度的支付场景设置不同的请求数量的上限。例如,可以为用于交通通勤的装置10或服务设置较高的请求数量,而为用于大额支付或者通用支付(即,既可以用于小额支付又可以用于大额支付)的装置10设置较低的请求数量。

在本发明的一个实施例中,每个图形化代码具有编号,并且移动终端11的处理器1114根据编号依次生成一个图形化代码。在本发明的一个实施例中,可以不设置多个图形化代码的使用顺序,管理侧仅对用毕的图形化代码作删除处理,这样可以减轻用户侧和管理侧的处理任务量,达到快速支付的目的。更一般地,在本发明的一个实施例中,为每个图形化代码编号。如果有20个图形化代码,那么移动终端11的处理器1114可以依次将其编号成01、02、……、19、20。为图形化代码编号有利用对其进行管理,方便管理侧指定图形化代码的管理策略。例如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为04的图形化代码付款,管理侧先核实图形化代码的有效性,然而可以根据编号确定图形化代码是按顺序使用的,管理侧接收该图形化代码并完成承兑。再如,如果在先使用了编号为03的图形化代码付款,后一次使用编号为01的图形化代码付款,管理侧先核实图形化代码的有效性,然后可以根据编号确定图形化代码池可能被破解或盗取,因而管理侧可以对与特征值及映射的身份认证数据所关联的设备、账户作止付处理。另外,可以进一步例如停用相关账号、将图形化代码池中剩余的图形化代码无效、追查已使用的图形化代码的使用合法性以及通知设备、账户的所有者。

在本发明的一个实施例中,处理器1114进一步配置成当未被生成的图形化代码的数量低于预定值时确定再次发送请求。以此方式,可以保证图形化代码池中总保有一定数量的图形化代码,以方便诸如在网络不畅时能够快速出码,不致影响用户的感知。例如,可以设置在未被处理器1114生成的图形化代码的数量低于预定值6时再次确定发送请求,以请求诸如另外的20个图形化代码。通过这种设置,图形化代码池中可以总保有5-25个图形化代码。例如,若原图形化代码池中存在编号为01、02、……、19、20的20个图像化代码,在顺序使用直至编号为15的图形化代码付款时,移动终端11可以确定剩余5个未被生成的图形化代码,此时将触发再次发送请求的条件,移动终端11将请求诸如另外的20个图形化代码(其编号例如为21、22、……、39、40)。在本发明的一个实施例中,移动终端11的再次请求中包括了本地可信执行环境的特征值,管理侧可以根据该特征值查询是否存在预期绑定的银行账户信息(或银行卡卡号),若存在绑定的银行账户信息(或银行卡卡号)则可以返回关于该绑定的银行账户信息(或银行卡卡号)的诸如另外的20个图形化代码。如果在某些情况下上述的再次请求未能发送成功或者未能送达管理侧,那么可以在使用编号为16的图形化代码付款时再次触发再次发送请求的条件。本领域技术人员应当领会,若仍然不能再次发送请求,本发明的触发条件将继续适用,直至请求到诸如另外的20个图形化代码为止。在本发明的其他示例中也可以不必等到下次再生成图形化代码时才再次发送请求(即,继续上文的示例,无需得到使用编号为16的图形化代码付款时才再次发送请求),而是可以以预定时间间隔自动再次发送请求,直至请求到诸如另外的20个图形化代码为止。

根据本发明的另一方面,如图13所示,提供一种服务器30,其包括配置成存储指令存储器3016和处理器3014,其中处理器3014配置成执行指令以用于执行以下操作:由服务器30的处理器3014确定接收发送端发送的本地可信执行环境的特征值;由服务器30的处理器3014校验是否存在特征值与身份认证数据的映射关系,身份认证数据用于校验是否与特征值匹配;以及由服务器30的处理器3014判定若存在的话则生成对应于身份认证数据的表示图形化代码的信息并发送至发送端。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,处理器3014进一步配置成确定接收发送端发送的本地可信执行环境的特征值以及身份认证数据,并存储特征值与身份认证数据的映射关系。该示例的其他方面可以进一步参照上文示例的描述进行。

在本发明的一个实施例中,图形化代码的数量为多个,并且信息中包括每个图形化代码的编号。该示例的其他方面可以进一步参照上文示例的描述进行。

图14示出了根据本发明的一个实施例的生成计算机可读的图形化代码的方法的示意图,其中包括了开通过程、二维码获取过程和二维码支付过程。图14中虚线表示“开通过程”、实线表示“二维码获取过程”、点虚线表示“二维码支付过程”。

开通过程

在手机客户端根据支付系统要求,向手机客户端后台系统申请开通手机二维码支付业务,设置手机设备的tee特征值并保存在tee环境中,该特征值具有唯一性、且不可篡改;手机客户端后台系统将tee特征值与刚申请开通二维码支付的银行卡进行绑定,建立映射关系表并保存在手机设备tee特征值与银行卡绑定映射关系管理系统中。在tee环境中,建立付款二维码池。

二维码获取过程

根据阀值管理系统的控制,当付款二维码池内的可用二维码数量少于一定阀值,手机客户端向支付系统发起付款二维码的批量获取请求。支付系统检查发起的手机设备的tee特征值与请求付款二维码对应的银行卡进行映射关系比对,若绑定关系正确,则向手机客户端返回一定数量的使用该银行卡支付的付款二维码、有效期及使用顺序编号。手机客户端将该批付款二维码加密保存在手机tee安全区域,并标注有效期及编号。

二维码支付过程

当用户打开手机客户端,需使用付款二维码时,客户端可通过tee安全区域对存在付款二维码池内的二维码进行解密,根据使用顺序编号,依次进行使用。手机客户端将二维码展示在屏幕页面,供商户扫描获取,完成交易。支付系统对编号进行校对,按序承兑二维码交易。该过程无需联网,在脱机环境中即可完成。

在本申请的其他示例中,可以将本实施例中的“阀值管理系统”与手机客户端合并,使手机客户端具备自身的二维码可用数量管理能力。在本申请的其他示例中,可以在手机设备tee安全域内增加应用ta以用于实现“阀值管理系统”,实现二维码可用数量管理能力。在本申请的其他示例中,可以将本实施例中的“手机设备tee特征值与银行卡绑定映射关系管理系统”与支付系统合并,由支付系统具备映射关系比对能力。在本申请的其他示例中,可以将本实施例中的“手机设备tee特征值与银行卡绑定映射关系管理系统”与手机客户端后台系统合并,由手机客户端后台系统具备映射关系比对能力。在本申请的其他示例中,可以在获取二维码后将手机客户端加密替换为在手机设备tee安全域内加密;或者可以在手机客户端加密后在手机设备tee安全域内进行转加密。在本申请的其他示例中,可以增加手机tee安全区域访问控制规则,限定为“某指定手机客户端”访问。只有限定的客户端才能进行加密存储二维码。在本申请的其他示例中,可以使用顺序编号由支付系统改为手机客户端或后台提供,并控制、检查,依次使用。在本申请的其他示例中,可以去除使用顺序编号机制,二维码可随机或乱序使用。在本申请的其他示例中,可以将tee特征值由手机客户端设置改为由支付系统统一分配,手机tee环境或后台系统安全保存。

鉴于以上,本申请提供了利用本地可信执行环境的特征值来产生计算机可读的图形化代码的机制,其中的一方面可以保证产生图形化代码的机制的可靠性,其他方面可以保证产生图形化代码的机制的便捷性,从而有效提高了用户的使用感知。本申请的一些方面可以减少了对诸如二维码的算法的强度要求,从而降低了保密性难度。从而降低实施成本,提升实施效率。本申请的一些方面没有采用本地、后台算法计算对比方式,因此能避免因算法造成的系统性风险。

需要说明的是,附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或者在一个或多个硬件模块或集成电路中实现这些功能实体,或者在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

以上例子主要说明了本发明的计算机可读的图形化代码生成方法、装置以及计算机可读存储介质。尽管只对其中一些本发明的实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1