一种电子凭证生成方法、装置、电子设备及存储介质与流程-j9九游会真人

文档序号:35712331发布日期:2023-10-12 14:27阅读:0来源:国知局


1.本技术涉及计算机技术领域,尤其涉及一种电子凭证生成方法、装置、电子设备及存储介质。


背景技术:

2.目前,随着计算机技术的发展,非法对象可能会在业务过程中,发起非法请求,导致出现非法业务。因此,为了保证线上业务的安全性,可以通过生成电子凭证,来表征业务请求对象对于线上业务的操作意愿和权限。
3.相关技术中,在生成电子凭证时,通常是由客户端向网关服务器发送业务请求数据,从而网关服务器向鉴权服务器转发接收到的业务请求数据,同时,发送需要签入电子凭证中的凭证因子数据,然后,鉴权服务器基于业务请求数据和凭证因子数据生成电子凭证。
4.然而,由于业务请求数据和凭证因子数据是分别被传送至鉴权服务器的,因此,可能会发生凭证因子数据与业务请求数据不一致的情况。
5.例如,非法对象通过盗取业务请求a的业务请求数据,并传入非法请求b的凭证因子数据,生成非法的电子凭证,从而导致鉴权服务器执行非法请求b。
6.因此,相关技术中的这种方式会严重影响线上业务的安全性。


技术实现要素:

7.本技术实施例提供一种电子凭证生成方法、装置、电子设备及存储介质,保证线上业务的安全性。
8.本技术实施例提供的具体技术方案如下:
9.一方面,本技术实施例提供的一种电子凭证生成方法,包括:
10.接收发送端发送的电子凭证生成请求,其中,所述电子凭证生成请求至少包括:目标业务的原始业务数据,以及与所述目标业务关联的至少一个凭证因子对应的位置指示信息;
11.基于获得的至少一个位置指示信息,分别从所述原始业务数据中读取相应位置的目标业务数据,并将读取的目标业务数据作为相应的凭证因子对应的因子值;
12.基于确定出的至少一个因子值,生成所述目标业务的电子凭证。
13.一方面,本技术实施例提供的一种电子凭证生成装置,包括:
14.接收模块,用于接收发送端发送的电子凭证生成请求,其中,所述电子凭证生成请求至少包括:目标业务的原始业务数据,以及与所述目标业务关联的至少一个凭证因子对应的位置指示信息;
15.处理模块,用于基于获得的至少一个位置指示信息,分别从所述原始业务数据中读取相应位置的目标业务数据,并将读取的目标业务数据作为相应的凭证因子对应的因子值;
16.生成模块,用于基于确定出的至少一个因子值,生成所述目标业务的电子凭证。
17.可选的,所述将读取的目标业务数据作为相应的凭证因子对应的因子值时,所述处理模块还用于:
18.若确定读取的目标业务数据的数据类型为加密数据,则获取对应所述发送端设置的密钥;
19.采用所述密钥,对所述目标业务数据进行解密,获得解密后的目标业务数据;
20.将所述解密后的目标业务数据,作为相应的凭证因子对应的因子值。
21.可选的,所述电子凭证生成请求中还包括:对应所述发送端设置的加密后的所述密钥,则所述获取对应所述发送端设置的密钥时,所述处理模块还用于:
22.读取预配置的私钥;
23.采用所述私钥,对所述加密后的所述密钥进行解密,获得所述密钥。
24.可选的,所述接收模块还用于:
25.将预配置的第一公钥发送至所述发送端,以使所述发送端基于所述第一公钥,对所述密钥进行加密,获得加密后的所述密钥;
26.接收所述发送端发送的基于加密后的所述密钥、目标业务的原始数据,以及与所述目标业务关联的至少一个凭证因子对应的位置指示信息生成的电子凭证生成请求。
27.可选的,若所述电子凭证生成请求中还包括加密信息集合,则所述若确定读取的目标业务数据为加密数据,则获取对应所述发送端设置的密钥时,所述处理模块还用于:
28.若确定位置指示信息包含在所述加密信息集合中,则确定读取的目标业务数据的数据类型为加密数据,获取对应所述发送端设置的密钥;
29.其中,所述加密信息集合包含至少一个用于指示目标业务数据的数据类型为加密数据的位置指示信息。
30.可选的,所述电子凭证生成请求中还包括业务请求对象的数字签名,则所述基于获得的至少一个位置指示信息,分别从所述原始业务数据中读取相应位置的目标业务数据之前,还包括校验模块,所述校验模块用于:
31.对所述数字签名进行校验,获得所述业务请求对象的身份校验结果;
32.确定所述业务请求对象的身份校验结果为通过。
33.可选的,所述电子凭证生成请求中还包括:所述发送端的第二公钥,则所述对所述数字签名进行校验,获得所述业务请求对象的身份校验结果时,所述校验模块还用于:
34.对所述原始业务数据进行哈希处理,获得业务哈希值;
35.采用所述第二公钥,对所述数字签名进行解密,获得签名哈希值;
36.基于所述业务哈希值和所述签名哈希值,确定所述业务请求对象的身份校验结果。
37.可选的,所述基于所述业务哈希值和所述签名哈希值,确定所述业务请求对象的身份校验结果时,所述校验模块还用于:
38.若确定所述业务哈希值与所述签名哈希值相同,则确定所述业务请求对象的身份校验结果为通过;
39.若确定所述业务哈希值与所述签名哈希值不相同,则确定所述业务请求对象的身份校验结果为未通过。
40.可选的,所述生成模块还用于:
41.按照预设的电子凭证生成格式,对所述至少一个因子值和相应的位置指示信息进行拼接,获得所述目标业务的电子凭证。
42.一方面,本技术实施例提供一种电子设备,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任一种电子凭证生成方法的步骤。
43.一方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行上述任一种电子凭证生成方法的步骤。
44.一方面,本技术实施例一种计算机程序产品,其包括计算机指令,所述计算机指令存储在计算机可读存储介质中;当电子设备的处理器从所述计算机可读存储介质读取所述计算机指令时,所述处理器执行该计算机指令,使得所述电子设备执行上述任一种电子凭证生成方法的步骤。
45.由于本技术实施例采用上述技术方案,至少具有如下技术效果:
46.接收电子凭证生成请求,基于电子凭证生成请求中的,与目标业务关联的至少一个凭证因子对应的位置指示信息,分别从电子凭证生成请求中的原始业务数据中,读取相应位置的目标业务数据,并将读取到的目标业务数据,作为相应的凭证因子对应的因子值,最后,基于确定出的至少一个因子值,生成目标业务的电子凭证。
47.这样,通过至少一个凭证因子对应的位置指示信息,从原始业务数据中,确定出至少一个凭证因子对应的因子值,从而基于从原始业务数据中确定出的至少一个因子值,生成电子凭证,避免在请求生成电子凭证时,将原始业务数据和签入电子凭证中的因子值独立分开传送至鉴权服务器,导致出现电子凭证的因子值与原始业务数据不一致的情况,从而能够避免非法对象执行非法请求,不仅能够保证的线上业务的安全性,还能够提高电子凭证代表业务请求对象的业务请求的真实性。
附图说明
48.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
49.图1为本技术实施例中的应用场景示意图;
50.图2a为本技术实施例中一种电子凭证生成方法的流程示意图;
51.图2b为本技术实施例中发生成电子凭证生成请求的示例图;
52.图2c为本技术实施例中生成电子凭证生成请求的流程示意图;
53.图2d为本技术实施例中生成电子凭证生成请求的示例图;
54.图2e为本技术实施例中确定因子值的示例图;
55.图2f为本技术实施例中确定凭证因子对应的因子值的流程示意图;
56.图2g为本技术实施例中确定目标业务数据的数据类型的示例图;
57.图2h为本技术实施例中一种获取对应发送端设置的密钥的流程示意图;
58.图2i为本技术实施例中确定因子值的示例图;
59.图2j为本技术实施例中对业务请求对象进行身份校验的流程示意图;
60.图2k为本技术实施例中确定业务请求对象的身份校验结果的流程示意图;
61.图2l为本技术实施例中确定身份校验结果的流程示意图;
62.图2m为本技术实施例中确定业务请求对象的身份校验结果的示例图;
63.图3为本技术实施例中生成电子凭证的示例图;
64.图4为本技术实施例中一种电子凭证生成请求方法的另一流程示意图;
65.图5为本技术实施例中电子凭证生成装置的结构示意图;
66.图6为本技术实施例中的电子设备的结构示意图。
具体实施方式
67.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术技术方案的一部分实施例,而不是全部的实施例。基于本技术文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术技术方案保护的范围。
68.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够在除了这里图示或描述的那些以外的顺序实施。
69.以下对本技术实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
70.认证:采用预设的技术方式对业务请求对象进行身份验证,可以达防抵赖的目的。
71.其中,可以采用数字签名技术,本技术实施例中对此并不进行限制。
72.鉴权系统:为对业务请求对象进行身份认证,并控制业务请求对象访问权限的系统,在本技术实施例中,鉴权系统能够处理多种业务,例如,用于生成电子凭证,又例如,用于对电子凭证进行校验,当然,并不仅此。
73.需要说明的是,本技术实施例中的鉴权系统可以设置在鉴权服务器上,对此并不进行限制。
74.业务数据:为业务请求对象输入至客户端中,与目标业务相关的数据。
75.本技术实施例中,业务数据例如可以为订单单号、订单金额等,对此并不进行限制。
76.凭证因子:表征需签入至电子凭证中的数据的类型;如,凭证因子为订单单号,本技术实施例中对此并不进行限制。
77.位置指示信息:表征在原始业务数据中,凭证因子所在的位置字段。
78.需要说明的是,每个凭证因子对应一个位置指示信息。
79.因子值:表征在原始业务数据中,凭证因子所在的位置字段的字段值。
80.下面对本技术实施例的设计思想进行简要介绍:
81.目前,随着计算机技术的发展,非法对象可能会在线上业务的过程中,发起非法请求,从而执行非法业务,导致业务请求对象出现资金安全问题,严重影响业务的安全性。因此,为了保证线上业务的安全性,可以通过生成电子凭证,来表征业务请求对象对于线上业务的操作意愿和权限。
82.相关技术中,电子凭证依赖设置在鉴权服务器中的鉴权系统生成,电子凭证中关
联的凭证因子数据,以及与目标业务关联的业务请求数据由网关服务器独立分开传送至鉴权服务器。
83.然而,通过上述方式生成电子凭证时,除了需要将业务请求数据传入至鉴权服务器,还需要分开传入需签入电子凭证中的各凭证因子数据;例如,交易四要素信息,因此,可能会出现电子凭证的凭证因子数据,与业务请求对象真实的业务请求数据不一致的情况,从而冒用业务请求对象的真实身份,非法执行业务请求。
84.因此,相关技术中的这种方式会严重影响线上业务的安全性。
85.有鉴于此,本技术实施例提出了电子凭证生成方法、装置、电子设备及存储介质。基于与目标业务关联的至少一个凭证因子对应的位置指示信息,分别从电子凭证生成请求中的原始业务数据中,摘取各目标业务数据关联至电子凭证中,从而能够生成电子凭证。这样能够避免凭证因子与电子凭证生成请求中的原始业务数据不一致,保证电子凭证的安全性,进一步提高线上业务的安全性。
86.以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术实施例及实施例中的特征可以相互组合。
87.参阅图1所示,为本技术实施例中的应用场景示意图。该应用场景示意图中包括客户端100、网关服务器110和鉴权服务器120。
88.客户端100包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。客户端100可以为安装有支付系统的客户端。
89.网关服务器110用于接收客户端100发送的业务请求,并将电子凭证生成请求发送给鉴权服务器120。
90.网关服务器110可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。客户端100和网关服务器110之间可以通过通信网络进行通信,在一种可选的实施方式中,通信网络可以是有线网络或无线网络,因此,客户端100以及网关服务器110可通过有线或无线通信方式进行直接或间接地连接,本技术实施例在此不做具体限制。
91.鉴权服务器120用于在接收到网关服务器110发送的电子凭证生成请求后,生成电子凭证,并将生成的电子凭证返回给网关服务器110。
92.需要说明的是,鉴权服务器120中设置有鉴权系统,鉴权系统用于生成电子凭证。
93.鉴权服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。网关服务器110和鉴权服务器120之间可以通过通信网络进行通信,在一种可选的实施方式中,通信网络可以是有线网络或无线网络,因此,网关服务器110以及鉴权服务器120可通过有线或无线通信方式进行直接或间接地连接,本技术实施例在此不做具体限制。
94.业务链路130包括各个业务各自对应的业务服务器,每种业务对应一种业务服务
器。每个业务服务器用于在接收到电子凭证的验证结果后,进行后续的处理逻辑。
95.其中,每种业务服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
96.需要说明的是,本技术实施例中对业务服务器的类型并不进行限制。
97.本技术实施例中的方法可以应用与支付系统的订单支付的场景中,首先,业务请求对象通过在客户端的支付系统中触发生成业务请求,将业务请求发送给网关服务器,从而网关服务器在接收到业务请求后,生成用于进行订单支付的电子凭证生成请求,并将电子凭证生成请求发送给鉴权服务器,鉴权服务器基于与订单支付关联的至少一个凭证因子对应的位置指示信息,分别从电子凭证生成请求中的原始业务数据中,确定出至少一个凭证因子对应的因子值,最后,基于确定出的至少一个因子值,生成与订单支付相关的电子凭证,将电子凭证返回给网关服务器,从而网关服务器执行与订单支付相关的后续流程。
98.基于上述实施例,下面对本技术实施例中生成电子凭证的流程进行介绍,参阅图2a所示,为本技术实施例中一种电子凭证生成方法的流程示意图,具体包括:
99.s20:接收发送端发送的电子凭证生成请求。
100.其中,电子凭证生成请求至少包括:目标业务的原始业务数据,以及与目标业务关联的至少一个凭证因子对应的位置指示信息。
101.本技术实施例中,在发送端获得相应的发送端将预先生成的电子凭证生成请求发送给接收端,从而接收端接收发送端发送的电子凭证生成请求。
102.需要说明的是,本技术实施例中的发送端可以为网关服务器,还可以为客户端,接收端可以为鉴权服务器,本技术实施例中对此并不进行限制。
103.下面采用一个具体的例子对本技术实施例中的s20进行说明,以发送端网关服务器,接收端为鉴权服务器为例,参阅图2b所示,为本技术实施例中发生成电子凭证生成请求的示例图,业务请求对象可以在客户端中触发生成业务请求,业务请求中至少包括原始业务数据和业务请求对象所要请求执行的目标业务,然后,客户端将生成的业务请求发送给网关服务器,网关服务器在接收到业务请求后,确定业务请求对象所要请求执行的目标业务,基于与目标业务关联的至少一个凭证因子对应的位置指示信息,以及业务请求中的原始业务数据,生成电子凭证生成请求,并将电子凭证生成请求发送给鉴权服务器,从而鉴权服务器接收网关服务器发送的电子凭证生成请求。
104.可选的,本技术实施例中,由于电子凭证生成请求中的原始业务数据可以为加密数据,在后续处理过程中,需要采用发送端的密钥对原始业务数据进行解密,因此,电子凭证生成请求中还包括加密后的密钥,下面以电子凭证生成请求中包括加密后的密钥为例,对本技术实施例中,生成电子凭证生成请求的过程进行说明,参阅图2c所示,为本技术实施例中生成电子凭证生成请求的流程示意图,具体包括:
105.s201:将预配置的第一公钥发送至发送端,以使发送端基于第一公钥,对密钥进行加密,获得加密后的密钥。
106.本技术实施例中,首先,读取本地存储的第一公钥,并将读取的第一公钥发送至发送端,以使发送端读取本地存储的密钥,并基于接收到的第一公钥,对读取的密钥进行加
密,从而获得加密后的密钥。
107.s202:接收发送端发送的基于加密后的密钥、目标业务的原始数据,以及与目标业务关联的至少一个凭证因子对应的位置指示信息生成的电子凭证生成请求。
108.本技术实施例中,发送端基于加密后的密钥、目标业务的原始数据,以及与目标业务关联的至少一个凭证因子对应的位置指示信息,生成电子凭证生成请求,因此,电子凭证生成请求中包括加密后的密钥、目标业务的原始数据,以及与目标业务关联的至少一个凭证因子对应的位置指示信息,并将电子凭证生成请求发送给接收端,从而接收端接收发送端发送的电子凭证生成请求。
109.例如,以发送端为客户端,接收端为鉴权服务器为例,对本技术实施例中接收电子凭证生成请求的过程进行说明,参阅图2d所示,为本技术实施例中生成电子凭证生成请求的示例图。首先,鉴权服务器将本地存储的第一公钥发送给网关服务器,并由网关服务器将第一公钥转发至客户端,客户端在接收到第一公钥后,基于第一公钥,对本地存储的密钥进行加密,获得加密后的密钥,并将加密后的密钥发送给网关服务器,网关服务器在接收到加密后的密钥后,基于加密后的密钥、目标业务的原始数据,以及与目标业务关联的至少一个凭证因子对应的位置指示信息,生成电子凭证生成请求,并将电子凭证生成请求发送给鉴权服务器,从而鉴权服务器接收电子凭证生成请求。
110.这样,本技术实施例中,加密后的密钥是通过接收端的第一公钥进行加密获得的,从而在后续解密的过程中,接收端能够基于本地存储的私钥对加密后的密钥进行解密,从而保证了密钥的安全性。
111.下面,对本技术实施例中的原始业务数据的生成过程,以及至少一个位置指示信息的生成过程进行说明。
112.首先,对本技术实施例中的原始业务数据的生成过程进行说明,发送端将业务数据字段和签名源串头部通过规定格式,传送给接收端,从而接收端在接收到业务数据字段和签名源串头部后,基于预先约定的签名源串组装规则,将业务数据字段与签名源串头部进行组装,获得原始业务数据,并将原始业务数据再发送给发送端,通过这种方式获得原始业务数据,能够在提供统一规则的同时,也给发送端一定的可拓展性。
113.其中,本技术实施例中,发送端可以根据业务链路安全需要,将交易四要素等信息字段,通过固定格式添加在业务数据字段中的json位置。
114.下面,以发送端为网关服务器、接收端为鉴权服务器为例,介绍本技术实施例中生成原始业务数据的过程如下,客户端中的交易系统在接收到业务请求时,将交易请求发送给网关服务器,交易请求中包括交易四要素信息,从而网关服务器根据客户端商户个性化规则组装签名源串头部,并将交易四要素信息设置在业务数据字段中的json位置,然后,将签名源串头部与业务数据字段发送给鉴权服务器,鉴权服务器在接收到签名源串头部和业务数据字段后,根据预先与平台商户约定的签名源串组装规则拼接签名源串,获得原始业务数据,即,source=head body,head为签名源串头部,body为业务数据字段。
115.其中,交易四要素信息可以包括业务提供对象id、业务请求对象id、订单号和订单金额,当然,本技术实施例中并不对此进行限制。
116.然后,对本技术实施例中位置指示信息的生成过程进行说明,至少一个位置指示信息可以是以位置指示信息列表的形式包含在电子凭证生成请求中的,也即,每个凭证因
子对应一个位置指示信息。
117.至少一个位置指示信息还可以是以位置指示信息字段的形式包含在电子凭证生成请求中的,因此,当接收端接收到电子凭证生成请求后,需要先基于位置指示信息字段中的因子分隔符,对位置指示信息字段进行分解,从而获得至少一个位置指示信息。
118.例如,假设位置指示信息字段为key1&key2&key3,&为因子分隔符,则对位置指示信息字段进行分解后,获得各位置指示信息分别为key1、key2、key3。
119.s21:基于获得的至少一个位置指示信息,分别从原始业务数据中读取相应位置的目标业务数据,并将读取的目标业务数据作为相应的凭证因子对应的因子值。
120.本技术实施例中,基于获得的至少一个位置指示信息,确定相应的凭证因子对应的因子值,具体的,以任意一个凭证因子(以下称为凭证因子a)为例,介绍获得凭证因子的因子值的过程如下:
121.基于凭证因子a的位置指示信息,确定凭证因子a在原始业务数据中所在的字段,然后,读取字段内包含的目标业务数据,并将读取的目标业务数据,作为凭证因子a对应的因子值。
122.下面以凭证因子为订单号为例,介绍本技术实施例中确定凭证因子对应的因子值的过程如下,参阅图2e所示,为本技术实施例中确定因子值的示例图,首先,基于订单号对应的位置指示信息key1,并基于key1确定对应的字段,然后,读取字段内包含的目标业务数据123456,并将读取的目标业务数据123456,作为凭证因子“订单号”对应的因子值。
123.可选的,本技术实施例中,为了保证原始业务数据在传输过程中数据的安全性,可以在发送端对原始业务数据进行加密,从而接收端接收到的原始业务数据为加密后的原始业务数据,读取的目标业务数据的数据类型为加密数据。下面对本技术实施例中,当目标业务数据的数据类型为加密数据时,确定凭证因子对应的因子值的过程进行说明,参阅图2f所示,为本技术实施例中确定凭证因子对应的因子值的流程示意图,具体包括:
124.s211:若确定读取的目标业务数据的数据类型为加密数据,则获取对应发送端设置的密钥。
125.本技术实施例中,首先,确定读取的目标业务数据的数据类型,目标业务数据的数据类型可以分为加密数据和非加密数据,然后,判断读取的目标业务数据的数据类型是否为加密数据,若确定读取的目标业务数据的数据类型为加密数据,则获取对应发送端设置的密钥,若确定读取的目标业务数据的数据类型为非加密数据,则可以直接将读取的目标业务数据作为相应的凭证因子对应的因子值。
126.需要说明的是,本技术实施例中,可以采用信封加密技术,对原始业务数据进行加密,从而原始业务数据中的每个数据均为加密数据,当然,还可以仅针对原始业务数据中的一些数据进行加密,因此,原始业务数据中的数据包含加密数据和非加密数据。
127.可选的,本技术实施例中,为判断目标业务数据的数据类型提供了一种可能的实施方式,具体包括:
128.若确定位置指示信息包含在加密信息集合中,则确定读取的目标业务数据的数据类型为加密数据,获取对应发送端设置的密钥。
129.其中,加密信息集合包含至少一个用于指示目标业务数据的数据类型为加密数据的位置指示信息。
130.本技术实施例中,当电子凭证生成请求中还包括加密信息集合时,判断位置指示信息是否包含在加密信息集合中,具体可以分为以下两种情况:
131.第一种情况:位置指示信息包含在加密信息集合中。
132.本技术实施例中,由于加密信息集合中包含有至少一个用于指示目标业务数据的数据类型为加密数据的位置指示信息,因此,若此时能够在加密信息集合中,匹配到相同的位置指示信息,则确定读取的目标业务数据的数据类型为加密数据,在上述情况中,获取对应发送端设置的密钥。
133.第二种情况:位置指示信息未包含在加密信息集合中。
134.本技术实施例中,若确定在加密信息集合中,无法匹配到相同的位置指示信息,则确定读取的目标业务数据的数据类型为非加密数据,无需对目标业务数据执行解密处理。
135.下面采用一个具体的例子,对本技术实施例中确定目标业务数据的数据类型的过程进行说明,参阅图2g所示,为本技术实施例中确定目标业务数据的数据类型的示例图,首先,读取加密信息集合,加密信息集合中包含有3个用于指示目标业务数据的数据类型为加密数据的位置指示信息,分别为key1、key2、key3,然后,采用位置指示信息key1,与加密信息集合中的各位置指示信息进行匹配,确定此时能够匹配到相同的位置指示信息key1,确定目标业务数据的数据类型为加密数据,并获取对应发送端设置的密钥。
136.本技术实施例中,通过判断目标业务数据对应的位置指示信息是否包含在加密信息集合中,能够确定出目标业务数据的数据类型,从而能够提高目标业务数据的安全性。
137.需要说明的是,本技术实施例中,加密信息集合可以直接包含在电子凭证生成请求中的,并且,加密信息集合还可以是以加密信息字段的形式包含在电子凭证生成请求中的,因此,当接收端接收到电子凭证生成请求后,需要先基于加密信息字段中的因子分隔符,对加密信息字段进行分解,从而包含有至少一个位置指示信息的加密信息集合。
138.例如,假设加密信息字段为key1&key3&key4,&为因子分隔符,则对加密信息字段进行分解后,获得各用于指示目标业务数据的数据类型为加密数据的位置指示信息分别为key1、key3、key4,也即,加密信息集合中包括位置指示信息key1、key3、key4。
139.可选的,本技术实施例中,为获取对应发送端设置的密钥提供了一种可能的实施方式,参阅图2h所示,为本技术实施例中一种获取对应发送端设置的密钥的流程示意图,具体包括:
140.s2111:读取预配置的私钥。
141.本技术实施例中,在接收端中,存储有预配置的私钥,预配置的私钥用于对使用接收端的公钥进行加密后的信息进行解密,因此,接收端读取预配置的私钥。
142.s2112:采用私钥,对加密后的密钥进行解密,获得密钥。
143.本技术实施例中,采用读取的私钥和非对称私钥解密函数,对加密后的密钥进行解密,从而获得密钥。
144.需要说明的是,s2112中的密钥可以为对称加密密钥,本技术实施例中对此并不进行限制。
145.例如,假设发送端为网关服务器,接收端为鉴权服务器,鉴权服务器读取自身在本地存储的私钥private-key,并采用读取的私钥private-key和非对称私钥解密函数private-key_decryp,对电子凭证生成请求中的加密后的密钥aes-key-encrypt进行解密,
从而获得密钥encrypt key,即encrypt key=rsa(private-key_decrypt(aes-key-encrypt))。
146.这样,发送端对密钥进行加密,接收端对加密后的密钥进行解密,获得发送端的密钥,从而基于密钥实现后续对目标业务数据进行解密的过程,能够提高在数据传输过程中密钥的安全性,从而进一步保证了目标业务数据的安全性。
147.s212:采用密钥,对目标业务数据进行解密,获得解密后的目标业务数据。
148.本技术实施例中,由于密钥用于对目标业务数据进行解密,因此,在获得对应发送端设置的密钥后,采用获得的密钥和对称解密函数,对目标业务数据进行解密,获得解密后的目标业务数据,此时,解密后的目标业务数据为明文数据。
149.例如,使用对称加密明文秘钥encrypt_key解密票据因子factor的值value,得到明文value,即value=aes_decrypt(value,encrypt_key)。
150.需要说明的是,本技术实施例中,还可以采用公钥,对目标业务数据进行解密,获得解密后的目标业务数据,也即,目标业务数据是采用发送端私钥进行加密的,然后,接收端可以采用包含在电子凭证生成请求中的发送端公钥,对目标业务数据进行解密,从而获得解密后的目标业务数据。
151.s213:将解密后的目标业务数据,作为相应的凭证因子对应的因子值。
152.本技术实施例中,在获得解密后的目标业务数据后,将解密后的目标业务数据,作为相应的凭证因子对应的因子值。
153.下面采用一个具体的例子对本技术实施例中获得解密后的目标业务数据的过程进行说明,参阅图2i所示,为本技术实施例中确定因子值的示例图,以凭证因子为“订单金额”,目标业务数据为“askdjfk”为例,介绍本技术实施例中确定凭证因子的因子值的过程如下:首先,判断凭证因子“订单金额”的数据类型是否为加密数据,若确定凭证因子“订单金额”的数据类型为加密数据,则确定此时凭证因子“订单金额”的目标业务数据为加密后的数据,因此,获取客户端设置的密钥c,然后,采用密钥c,对目标业务数据“askdjfk”进行解密,获得解密后的目标业务数据“10000”,并将解密后的目标业务数据“10000”作为凭证因子“订单金额”的因子值。
154.本技术实施例中,由于原始业务数据为加密后的数据,则读取出的目标业务数据也为加密后的数据,从而能够保证在数据传输的过程中,原始业务数据的安全性,避免了非法对象在数据传输过程中对原始业务数据的窃取。
155.需要说明的是,本技术实施例中,还可以在读取相应位置的目标业务数据之前,先将原始业务数据进行解密,获得解密后的原始业务数据,然后,再执行基于位置指示信息,读取相应位置的目标业务数据的步骤,本技术实施例中对此并不进行限制。
156.可选的,本技术实施例中,在读取相应位置的目标业务数据之前,还可以对业务请求对象进行身份校验,参阅图2j所示,为本技术实施例中对业务请求对象进行身份校验的流程示意图,具体包括:
157.a10:对数字签名进行校验,获得业务请求对象的身份校验结果。
158.本技术实施例中,由于电子凭证生成请求中还包括业务请求对象的数字签名,因此,可以通过对数字签名进行校验,获得业务请求对象的身份校验结果。
159.需要说明的是,当业务请求对象的身份校验结果为通过时,才能够进行后续确定
因子值的流程。
160.可选的,本技术实施例中,为确定业务请求对象的身份校验结果提供了一种可能的实施方式,参阅图2k所示,为本技术实施例中确定业务请求对象的身份校验结果的流程示意图,具体包括:
161.a101:对原始业务数据进行哈希处理,获得业务哈希值。
162.本技术实施例中,采用预设的哈希值计算算法,对原始业务数据进行哈希值计算,获得原始业务数据对应的业务哈希值。
163.需要说明的是,本技术实施例中预设的哈希值计算算法可以为sha256安全散列算法,即,hash=sha256(source),本技术实施例中对此并不进行限制。
164.a102:采用第二公钥,对数字签名进行解密,获得签名哈希值。
165.本技术实施例中,采用发送端本地存储的第二公钥,对业务请求对象的数字签名进行解密,获得数字签名对应的签名哈希值。
166.a103:基于业务哈希值和签名哈希值,确定业务请求对象的身份校验结果。
167.本技术实施例中,在获得业务哈希值和签名哈希值后,基于业务哈希值和签名哈希值,确定业务请求对象的身份校验结果,通过哈希值确定相应的身份校验结果,能够提高身份校验结果的准确度。
168.具体地,可以通过判断业务哈希值与签名哈希值是否相同,从而确定业务请求对象的身份校验结果,参阅图2l所示,为本技术实施例中确定身份校验结果的流程示意图,具体包括:
169.a1031:若确定业务哈希值与签名哈希值相同,则确定业务请求对象的身份校验结果为通过。
170.本技术实施例中,将业务哈希值与签名哈希值进行比对,判断业务哈希值与签名哈希值是否相同,若确定业务哈希值与签名哈希值相同,则确定业务请求对象的身份校验结果为通过。
171.a1032:若确定业务哈希值与签名哈希值不相同,则确定业务请求对象的身份校验结果为未通过。
172.本技术实施例中,若确定业务哈希值与签名哈希值不相同,则确定业务请求对象的身份校验结果为未通过,确定业务请求对象的身份校验结果为未通过是,则电子凭证生成请求为非法请求。
173.这样,通过判断业务哈希值与签名哈希值是否相同,能够确定出业务请求对象的身份校验结果,从而提高了确定身份校验结果的准确度。
174.a11:确定业务请求对象的身份校验结果为通过。
175.本技术实施例中,确定业务请求对象的身份校验结果为通过后,即可执行后续确定凭证因子对应的因子值的过程,通过对业务请求对象进行身份校验,能够保证业务请求对象为合法对象,避免出现非法请求。
176.下面采用一个具体的例子,对本技术实施例中,确定业务请求对象的身份校验结果的过程进行说明,参阅图2m所示,为本技术实施例中确定业务请求对象的身份校验结果的示例图,首先,对原始业务数据a进行哈希处理,获得原始业务数据a的业务哈希值“56454”,同时,采用第二公钥,对电子凭证生成请求中的数字签名b进行解密,获得数字签
名b的签名哈希值“56454”,此时,确定业务哈希值“56454”与签名哈希值“56454”相同,则确定业务请求对象的身份校验结果为通过。
177.s22:基于确定出的至少一个因子值,生成目标业务的电子凭证。
178.具体的,执行s22时,具体包括:按照预设的电子凭证生成格式,对至少一个因子值和相应的位置指示信息进行拼接,获得目标业务的电子凭证。
179.本技术实施例中,按照预设的电子凭证生成格式,对至少一个因子值,以及位置指示信息进行拼接,从而获得电子凭证。
180.例如,按照固定格式key1=value1&key2=value2&

&keyn=valuen拼接所有因子值和位置指示信息,factor(key,value)生成电子凭证token。
181.然后,将生成的电子凭证返回给发送端,以使发送端通过将接收端认证颁票流程颁发的电子凭证全链路传送,各业务服务可以通过验证电子凭证的正确性来验证业务请求的合法性和业务请求与电子凭证的关联安全,校验通过后可以继续后续业务流程,可认为请求为平台商户自主发起的,否则认为是非法请求。
182.本技术实施例中,通过从正确认证身份的原始业务数据中摘取因子值关联至电子凭证中,将身份认证、凭证多因子获取、凭证颁发作为原子能力,避免凭证因子的因子值与原始业务数据不一致,保证电子凭证的安全性,进一步提高线上业务的安全性。
183.下面采用一个具体的例子,对本技术实施例中的电子凭证生成方法进行说明,参阅图3所示,为本技术实施例中生成电子凭证的示例图,具体包括:
184.首先,接收网关服务器发送的电子凭证生成请求,电子凭证生成请求中包括目标业务的原始业务数据、密钥、与目标业务关联的各凭证因子对应的位置指示信息key1、key2、key4,以及加密信息集合key1、key2。
185.首先,基于凭证因子“业务请求对象id”对应的位置指示信息key1,从原始业务数据中,获得凭证因子“业务请求对象id”对应的目标业务数据“sdakjf”,基于凭证因子“订单号”对应的位置指示信息key2,从原始业务数据中,获得凭证因子“订单号”对应的目标业务数据“as3asd”,以及,基于凭证因子“订单金额”对应的位置指示信息key4,从原始业务数据中,获得凭证因子“订单金额”对应的目标业务数据“5000”。
186.其次,确定凭证因子“业务请求对象id”对应的位置指示信息key1和“订单号”对应的位置指示信息key2包含在加密信息集合中,因此,确定“sdakjf”和“as3asd”的数据类型为加密数据,读取电子凭证生成请求中包含的密钥,并采用密钥分别对“sdakjf”和“as3asd”进行解密,获得解密后的目标业务数据“51”和“522220”。
187.然后,将目标业务数据“51”作为凭证因子“业务请求对象id”对应的因子值,将目标业务数据“522220”作为凭证因子“订单号”对应的因子值,将目标业务数据“5000”作为凭证因子“订单金额”对应的因子值。
188.最后,基于各凭证因子和相应的因子值,生成电子凭证:业务请求对象id为51、订单号为522220、订单金额为5000。
189.基于上述实施例,参阅图4所示,为本技术实施例中一种电子凭证生成请求方法的另一流程示意图,具体包括:
190.s400:开始。
191.本技术实施例中,接收电子凭证生成请求。
192.其中,电子凭证生成请求中至少包括至少一个凭证因子对应的位置指示信息array_factor_position、原始业务数据source、数字签名sign、加密信息集合array_encrypt_position、加密后的密钥private-key_decrypt(aes-key-encrypt)。
193.s410:判断数字签名是否验证通过,若是,则执行s420,若否,则执行s490。
194.本技术实施例中,使用sha256安全散列算法计算source得到业务哈希值hash,即hash=sha256(source),使用rsa第一公钥校验业务哈希值hash和签名sign,即result=rsa(public-key-verify(sign,hash)),result为身份校验结果,若result为通过,则表征身份验证成功,若result为未通过,则认定为非法请求。
195.s420:对加密后的密钥进行解密,获得密钥。
196.本技术实施例中,使用私钥对加密后的密钥进行解密,获得密钥,即,encrypt_key=rsa(private-key_decrypt(aes-key-encrypt))。
197.s430:判断是否存在未读取的位置指示信息,若是,则执行s440,若否,则执行s470。
198.本技术实施例中,循环遍历位置指示信息array_factor_position,得到单个凭证因子factor(key,encrypt_value),其中key和encrypt_value分别代表位置指示信息和因子值。
199.s440:判断目标业务数据是否为加密数据,若是,则执行s450,若否,则执行s460。
200.本技术实施例中,判断凭证因子factor的位置指示信息key是否存在加密信息集合array_encrypt_position中,如果不存在,则执行s460,若存在,则需要进行解密。
201.s450:对目标业务数据进行解密,获得解密后的目标业务数据。
202.本技术实施例中,使用密钥encrypt_key解密凭证因子factor的目标业务数据value,得到解密后的目标业务数据value,即value=aes_decrypt(value,encrypt_key)。
203.s460:将目标业务数据作为凭证因子对应的因子值。
204.s470:按照固定格式组装各因子值。
205.本技术实施例中,按照固定格式:key1=value1&key2=value2&

&keyn=valuen,拼接所有因子值factor(key,value),生成电子凭证token。
206.s480:生成电子凭证。
207.s490:结束。
208.基于相同的发明构思,本技术实施例还提供一种电子凭证生成装置。如图5所示,为本技术实施例中电子凭证生成装置的结构示意图,可以包括:
209.接收模块500,用于接收发送端发送的电子凭证生成请求,其中,电子凭证生成请求至少包括:目标业务的原始业务数据,以及与目标业务关联的至少一个凭证因子对应的位置指示信息;
210.处理模块510,用于基于获得的至少一个位置指示信息,分别从原始业务数据中读取相应位置的目标业务数据,并将读取的目标业务数据作为相应的凭证因子对应的因子值;
211.生成模块520,用于基于确定出的至少一个因子值,生成目标业务的电子凭证。
212.可选的,将读取的目标业务数据作为相应的凭证因子对应的因子值时,处理模块510还用于:
213.若确定读取的目标业务数据的数据类型为加密数据,则获取对应发送端设置的密钥;
214.采用密钥,对目标业务数据进行解密,获得解密后的目标业务数据;
215.将解密后的目标业务数据,作为相应的凭证因子对应的因子值。
216.可选的,电子凭证生成请求中还包括:对应发送端设置的加密后的密钥,则获取对应发送端设置的密钥时,处理模块510还用于:
217.读取预配置的私钥;
218.采用私钥,对加密后的密钥进行解密,获得密钥。
219.可选的,接收模块500还用于:
220.将预配置的第一公钥发送至发送端,以使发送端基于第一公钥,对密钥进行加密,获得加密后的密钥;
221.接收发送端发送的基于加密后的密钥、目标业务的原始数据,以及与目标业务关联的至少一个凭证因子对应的位置指示信息生成的电子凭证生成请求。
222.可选的,若电子凭证生成请求中还包括加密信息集合,则若确定读取的目标业务数据为加密数据,则获取对应发送端设置的密钥时,处理模块510还用于:
223.若确定位置指示信息包含在加密信息集合中,则确定读取的目标业务数据的数据类型为加密数据,获取对应发送端设置的密钥;
224.其中,加密信息集合包含至少一个用于指示目标业务数据的数据类型为加密数据的位置指示信息。
225.可选的,电子凭证生成请求中还包括业务请求对象的数字签名,则基于获得的至少一个位置指示信息,分别从原始业务数据中读取相应位置的目标业务数据之前,还包括校验模块530,校验模块530用于:
226.对数字签名进行校验,获得业务请求对象的身份校验结果;
227.确定业务请求对象的身份校验结果为通过。
228.可选的,电子凭证生成请求中还包括:发送端的第二公钥,则对数字签名进行校验,获得业务请求对象的身份校验结果时,校验模块530还用于:
229.对原始业务数据进行哈希处理,获得业务哈希值;
230.采用第二公钥,对数字签名进行解密,获得签名哈希值;
231.基于业务哈希值和签名哈希值,确定业务请求对象的身份校验结果。
232.可选的,基于业务哈希值和签名哈希值,确定业务请求对象的身份校验结果时,校验模块530还用于:
233.若确定业务哈希值与签名哈希值相同,则确定业务请求对象的身份校验结果为通过;
234.若确定业务哈希值与签名哈希值不相同,则确定业务请求对象的身份校验结果为未通过。
235.可选的,生成模块520还用于:
236.按照预设的电子凭证生成格式,对至少一个因子值和相应的位置指示信息进行拼接,获得目标业务的电子凭证。
237.所属技术领域的技术人员能够理解,本技术的各个方面可以实现为系统、方法或
程序产品。因此,本技术的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
238.在一些可能的实施方式中,根据本技术的电子凭证生成装置可以至少包括处理器和存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书中描述的根据本技术各种示例性实施方式的电子凭证生成方法中的步骤。例如,所述处理器可以执行如图2a中所示的步骤。
239.与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是鉴权服务器,如图1所示的鉴权服务器120,在该实施例中,电子设备的结构可以如图6所示,包括存储器601,通讯模块603以及一个或多个处理器602。
240.存储器601,用于存储处理器602执行的计算机程序。存储器601可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
241.存储器601可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器601也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者存储器601是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器601可以是上述存储器的组合。
242.处理器602,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器602,用于调用存储器601中存储的计算机程序时实现上述电子凭证生成方法。
243.通讯模块603用于与终端设备和其他服务器进行通信。
244.本技术实施例中不限定上述存储器601、通讯模块603和处理器602之间的具体连接介质。本技术实施例在图6中以存储器601和处理器602之间通过总线604连接,总线604在图6中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线604可以分为地址总线、数据总线、控制总线等。为便于描述,图6中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
245.存储器601中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的电子凭证生成方法。处理器602用于执行上述的电子凭证生成方法,如图2a所示。
246.在一些可能的实施方式中,本技术提供的电子凭证生成方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的电子凭证生成方法中的步骤,例如,计算机设备可以执行如图2a中所示的步骤。
247.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列
表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
248.本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算装置上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
249.可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
250.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
251.可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
252.应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
253.此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
254.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
255.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
256.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精
神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图