一种基于rs和sign的签名校验方法及装置与流程

文档序号:31333430发布日期:2022-08-31 07:51阅读:255来源:国知局
一种基于rs和sign的签名校验方法及装置与流程

1.本技术涉及数据校验领域,尤其涉及一种基于rs和sign的签名校验方法及装置。


背景技术:

2.现有技术中,由于前端设备与后端设备之间由于没有统一的加密方式,并且后端设备的后端接口也不经过参数的过滤,造成了参数的脚本注入,以及无法防止其他方式修改参数调用后端接口;导致前端设备与后端设备进行数据传输的过程中无法保证后端接口的安全性和前后端设备传递参数的一致性。


技术实现要素:

3.本技术提供一种基于rs和sign的签名校验方法及装置,以实现通过rs、sign加密方式,通过rs参数生成、sign参数生成、参数验证方式等几个部分来保证后端接口的安全性和前后端传递参数的一致性。
4.第一方面,本技术提供了一种基于rs和sign的签名校验方法,所述方法包括:
5.前端设备响应于传参请求,获取所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥;
6.所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数;
7.所述前端设备根据所述rs参数和所述sign参数,确定所述传参请求对应的参数数组,以及,将所述参数数组向后端设备发送;
8.所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。
9.可选的,所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数,包括:
10.所述前端设备根据所述传参请求对应的时间戳和随机数,生成所述传参请求对应的rs参数;
11.所述前端设备根据所述待传输参数和所述预设秘钥,生成所述传参请求对应的sign参数。
12.可选的,所述前端设备根据所述传参请求对应的时间戳和随机数,生成所述传参请求对应的rs参数,包括:
13.所述前端设备利用信息摘要算法,对所述传参请求对应的时间戳和随机数进行计算,得到所述时间戳和所述随机数对应的md5值;以及,将所述md5值作为所述传参请求对应的rs参数。
14.可选的,所述前端设备根据所述待传输参数和所述预设秘钥,生成所述传参请求对应的sign参数,包括:
15.所述前端设备利用安全散列算法,对所述待传输参数和所述预设秘钥进行计算,
得到所述待传输参数和所述预设秘钥对应的sha1值;以及,将所述sha1值作为所述传参请求对应的sign参数。
16.可选的,所述sign参数放置于所述传参请求对应的参数数组中的超文本传输协议请求响应头信息。
17.可选的,所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数,包括:
18.所述后端设备将所述参数数组进行键名升序排序;以及将所述参数数组中的参数转化为字符串;
19.所述后端设备确定转化后的字符串的sha1值,以及将所述转化后的字符串的sha1值和所述参数数组中的超文本传输协议请求响应头信息中的sign参数进行对比,若一致,则参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。
20.可选的,在所述后端设备根据所述参数数组,得到所述待传输参数的步骤之前,所述方法还包括:
21.所述后端设备将所述参数数组中所有的参数进行跨站脚本漏洞过滤,得到过滤后的参数数组;
22.相应地,所述后端设备根据所述参数数组,得到所述待传输参数,包括:
23.所述后端设备根据所述过滤后的参数数组,得到所述待传输参数。
24.第二方面,本技术提供了一种基于rs和sign的签名校验装置,所述装置包括:
25.信息获取单元,用于前端设备响应于传参请求,获取所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥;
26.参数确定单元,用于所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数;
27.数组发送单元,用于所述前端设备根据所述rs参数和所述sign参数,确定所述传参请求对应的参数数组,以及,将所述参数数组向后端设备发送;
28.参数验证单元,用于所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。
29.可选的,所述参数确定单元,用于:
30.所述前端设备根据所述传参请求对应的时间戳和随机数,生成所述传参请求对应的rs参数;
31.所述前端设备根据所述待传输参数和所述预设秘钥,生成所述传参请求对应的sign参数。
32.可选的,所述参数确定单元,用于:
33.所述前端设备利用信息摘要算法,对所述传参请求对应的时间戳和随机数进行计算,得到所述时间戳和所述随机数对应的md5值;以及,将所述md5值作为所述传参请求对应的rs参数。
34.可选的,所述参数确定单元,用于:
35.所述前端设备利用安全散列算法,对所述待传输参数和所述预设秘钥进行计算,得到所述待传输参数和所述预设秘钥对应的sha1值;以及,将所述sha1值作为所述传参请求对应的sign参数。
36.可选的,所述sign参数放置于所述传参请求对应的参数数组中的超文本传输协议请求响应头信息。
37.可选的,所述参数验证单元,用于:
38.所述后端设备将所述参数数组进行键名升序排序;以及将所述参数数组中的参数转化为字符串;
39.所述后端设备确定转化后的字符串的sha1值,以及将所述转化后的字符串的sha1值和所述参数数组中的超文本传输协议请求响应头信息中的sign参数进行对比,若一致,则参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。
40.可选的,所述装置还包括过滤单元,用于:
41.所述后端设备将所述参数数组中所有的参数进行跨站脚本漏洞过滤,得到过滤后的参数数组;
42.相应地,所述所述参数验证单元,用于:
43.所述后端设备根据所述过滤后的参数数组,得到所述待传输参数。
44.第三方面,本技术提供了一种可读介质,包括执行指令,当电子设备的处理器执行所述执行指令时,所述电子设备执行如第一方面中任一所述的方法。
45.第四方面,本技术提供了一种电子设备,包括处理器以及存储有执行指令的存储器,当所述处理器执行所述存储器存储的所述执行指令时,所述处理器执行如第一方面中任一所述的方法。
46.由上述技术方案可以看出,本技术中,前端设备响应于传参请求,获取所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥;所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数;所述前端设备根据所述rs参数和所述sign参数,确定所述传参请求对应的参数数组,以及,将所述参数数组向后端设备发送;所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。可见,本技术通过rs、sign加密方式,通过rs参数生成、sign参数生成、参数验证方式等几个部分来保证后端接口的安全性和前后端传递参数的一致性。具体地,本技术通过rs、sign加密方式,解决了前后端设备之间传参不安全的问题,防止通过其他方式修改参数调用后端接口;并且,通过前后端设备约定的组合和加密方式来生成加密串(即参数数组),防止传参不一致。
47.上述的非惯用的优选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
48.为了更清楚地说明本技术实施例或现有的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
49.图1为本技术一种基于rs和sign的签名校验方法的流程示意图;
50.图2为本技术一实施例提供的一种基于rs和sign的签名校验装置的结构示意图;
51.图3为本技术一实施例提供的一种电子设备的结构示意图。
具体实施方式
52.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体实施例及相应的附图对本技术的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.发明人发现现有技术中,由于前端设备与后端设备之间由于没有统一的加密方式,并且后端设备的后端接口也不经过参数的过滤,造成了参数的脚本注入,以及无法防止其他方式修改参数调用后端接口;导致前端设备与后端设备进行数据传输的过程中无法保证后端接口的安全性和前后端设备传递参数的一致性。
54.故此,本技术提供了一种基于rs和sign的签名校验方法,具体地,前端设备响应于传参请求,获取所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥;所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数;所述前端设备根据所述rs参数和所述sign参数,确定所述传参请求对应的参数数组,以及,将所述参数数组向后端设备发送;所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。可见,本技术通过rs、sign加密方式,通过rs参数生成、sign参数生成、参数验证方式等几个部分来保证后端接口的安全性和前后端传递参数的一致性。具体地,本技术通过rs、sign加密方式,解决了前后端设备之间传参不安全的问题,防止通过其他方式修改参数调用后端接口;并且,通过前后端设备约定的组合和加密方式来生成加密串(即参数数组),防止传参不一致。
55.下面结合附图,详细说明本技术的各种非限制性实施方式。
56.参见图1,示出了本技术实施例中的一种基于rs和sign的签名校验方法。在本实施例中,所述方法例如可以包括以下步骤:
57.s101:前端设备响应于传参请求,获取所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥。
58.传参请求可以理解为用于触发前端设备向后端设备发送数据的请求。需要说明的是,传参请求可以包括待传输参数、时间戳、随机数和预设秘钥。待传输参数可以理解为需要传输的数据,例如可以是文本、音频、图像、参数、代码。时间戳可以理解为接收到传参请求时对应的时间信息。随机数可以理解为随机生成的数值,可以理解的是,不同时刻所生成的随机数不相同。预设秘钥是指某个用来完成加密、解密、完整性验证等密码学应用的秘密信息。
59.s102:所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数。
60.在本实施例中,所述前端设备可以先根据所述传参请求对应的时间戳和随机数,生成所述传参请求对应的rs参数,目的是保证每一次正常请求后端接口的rs参数都不一样。可以理解的是,本实施例中,前端设备可以利用rs加密方式生成rs参数,例如,所述前端设备可以利用信息摘要算法(md5),对所述传参请求对应的时间戳和随机数进行计算,得到所述时间戳和所述随机数对应的md5值;以及,将所述md5值作为所述传参请求对应的rs参数。例如,可以利用时间戳和随机数所组合得到的md5(信息摘要算法)值作为所述传参请求
对应的rs参数。
61.在本实施例中,所述前端设备可以根据所述待传输参数和所述预设秘钥,生成所述传参请求对应的sign参数,目的是形成真实参数(即待传输参数)和rs参数的验证值,以便后端设备利用sign参数进行验证。可以理解的是,本实施例中,前端设备可以利用sign加密方式生成sign参数,例如,所述前端设备可以利用安全散列算法(sha1),对所述待传输参数和所述预设秘钥进行计算,得到所述待传输参数和所述预设秘钥对应的sha1值;以及,将所述sha1值作为所述传参请求对应的sign参数。例如,可以利用待传输参数和预设秘钥组合得到的sha1(安全散列算法1)值作为所述传参请求对应的rs参数。
62.需要说明的是,rs、sign加密方式,主要是为了解决前后端传参不安全,防止通过其他方式修改参数调用后端接口的一种加密方式。一方面通过前后端约定的组合和加密方式(即rs、sign加密方式)来生成加密串(即所述传参请求对应的参数数组),以防止传参(即传参请求对应的待传输参数)不一致。
63.s103:所述前端设备根据所述rs参数和所述sign参数,确定所述传参请求对应的参数数组,以及,将所述参数数组向后端设备发送。
64.在本实施例中,前端设备可以根据所述rs参数和所述sign参数,生成所述传参请求对应的参数数组。在一种实现方式中,可以将sign参数放置于所述传参请求对应的参数数组中的超文本传输协议(http)请求响应头信息中,即将sign参数作为所述传参请求对应的参数数组中的超文本传输协议(http)请求响应头信息。需要说明的是,所述sign参数放置于所述传参请求对应的参数数组中的超文本传输协议请求响应头信息,目的是形成真实参数(即待传输参数)和rs参数的验证值,以便后端设备利用sign参数进行验证。
65.s104:所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。
66.在本实施例中,所述后端设备获取到前端设备发送的参数数组之后,所述后端设备可以对所述参数数组进行参数验证,若参数验证通过,则所述后端设备可以根据所述参数数组,得到所述待传输参数,若参数验证没通过,则后端设备可以向前端设备返回验证不通过的传参失败信息。
67.所述后端设备对所述参数数组进行参数验证的过程可以为:所述后端设备可以先将所述参数数组进行键名升序排序,得到排序后的参数数组;然后,可以将排序后的参数数组中的参数转化为字符串,得到所述参数数组对应的转化后的字符串;接着,所述后端设备确定转化后的字符串的sha1值(即所述后端设备可以根据所述转化后的字符串进行计算,得到转化后的字符串对应的sha1值),以及将所述转化后的字符串的sha1值和所述参数数组中的超文本传输协议请求响应头信息中的sign参数进行对比,若两者一致(即所述转化后的字符串的sha1值与所述参数数组中的超文本传输协议请求响应头信息中的sign参数相同),则说明参数验证通过,反之,若两者不一致(即所述转化后的字符串的sha1值与所述参数数组中的超文本传输协议请求响应头信息中的sign参数不相同),则说明参数验证未通过。若参数验证通过,则所述后端设备可以根据所述参数数组,得到所述待传输参数,例如所述后端设备可以利用所述预设秘钥对所述转化后的字符串的sha1值(即所述参数数组中的超文本传输协议请求响应头信息中的sign参数)进行解密,得到所述待传输参数。
68.由上述技术方案可以看出,本技术中,前端设备响应于传参请求,获取所述传参请
求对应的待传输参数、时间戳、随机数和预设秘钥;所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数;所述前端设备根据所述rs参数和所述sign参数,确定所述传参请求对应的参数数组,以及,将所述参数数组向后端设备发送;所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。可见,本技术通过rs、sign加密方式,通过rs参数生成、sign参数生成、参数验证方式等几个部分来保证后端接口的安全性和前后端传递参数的一致性。具体地,本技术通过rs、sign加密方式,解决了前后端设备之间传参不安全的问题,防止通过其他方式修改参数调用后端接口;并且,通过前后端设备约定的组合和加密方式来生成加密串(即参数数组),防止传参不一致,即保证后端接口的安全性和前后端设备之间传递参数的一致性。
69.在本实施例的一种实现方式中,在所述后端设备根据所述参数数组,得到所述待传输参数的步骤之前,所述方法还包括:
70.所述后端设备将所述参数数组中所有的参数进行跨站脚本漏洞过滤,得到过滤后的参数数组。
71.在本实施例中,若参数数组的参数验证通过,则后端设备可以将所述参数数组中所有的参数进行参数过滤,例如,参数数组参数验证通过后,后端设备可以将所述参数数组中的所有的参数进行xss(跨站脚本漏洞)过滤,即可以进行参数的xss(跨站脚本漏洞)过滤,以防止受到脚本注入攻击,保证了后端接口的安全性。
72.相应地,所述后端设备根据所述参数数组,得到所述待传输参数,包括:
73.所述后端设备根据所述过滤后的参数数组,得到所述待传输参数。
74.可见,本技术利用rs、sign加密方式生成rs参数、sign参数,以及参数验证方式、参数过滤等几个部分来保证后端接口的安全性和前后端传递参数的一致性。即本技术以rs参数生成、sign参数生成、参数验证方式、参数过滤等几个部分组成的前后端加密验证方式,以实现保证后端接口的安全性和前后端传递参数的一致性,从而解决调用后端接口的安全性问题,和前后端传参的一致性问题,通过一系列的加密和过滤行为,可以保证后端接口的安全性和前后端传递参数的一致性。
75.如图2所示,为本技术所述一种基于rs和sign的签名校验装置的一个具体实施例。本实施例所述装置,即用于执行上述实施例所述方法的实体装置。其技术方案本质上与上述实施例一致,上述实施例中的相应描述同样适用于本实施例中。本实施例中所述装置包括:
76.信息获取单元201,用于前端设备响应于传参请求,获取所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥;
77.参数确定单元202,用于所述前端设备根据所述传参请求对应的待传输参数、时间戳、随机数和预设秘钥,确定所述传参请求对应的rs参数和sign参数;
78.数组发送单元203,用于所述前端设备根据所述rs参数和所述sign参数,确定所述传参请求对应的参数数组,以及,将所述参数数组向后端设备发送;
79.参数验证单元204,用于所述后端设备对所述参数数组进行参数验证,若参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。
80.可选的,所述参数确定单元202,用于:
81.所述前端设备根据所述传参请求对应的时间戳和随机数,生成所述传参请求对应的rs参数;
82.所述前端设备根据所述待传输参数和所述预设秘钥,生成所述传参请求对应的sign参数。
83.可选的,所述参数确定单元202,用于:
84.所述前端设备利用信息摘要算法,对所述传参请求对应的时间戳和随机数进行计算,得到所述时间戳和所述随机数对应的md5值;以及,将所述md5值作为所述传参请求对应的rs参数。
85.可选的,所述参数确定单元202,用于:
86.所述前端设备利用安全散列算法,对所述待传输参数和所述预设秘钥进行计算,得到所述待传输参数和所述预设秘钥对应的sha1值;以及,将所述sha1值作为所述传参请求对应的sign参数。
87.可选的,所述sign参数放置于所述传参请求对应的参数数组中的超文本传输协议请求响应头信息。
88.可选的,所述参数验证单元204,用于:
89.所述后端设备将所述参数数组进行键名升序排序;以及将所述参数数组中的参数转化为字符串;
90.所述后端设备确定转化后的字符串的sha1值,以及将所述转化后的字符串的sha1值和所述参数数组中的超文本传输协议请求响应头信息中的sign参数进行对比,若一致,则参数验证通过,则所述后端设备根据所述参数数组,得到所述待传输参数。
91.可选的,所述装置还包括过滤单元,用于:
92.所述后端设备将所述参数数组中所有的参数进行跨站脚本漏洞过滤,得到过滤后的参数数组;
93.相应地,所述所述参数验证单元204,用于:
94.所述后端设备根据所述过滤后的参数数组,得到所述待传输参数。
95.图3是本技术实施例提供的一种电子设备的结构示意图。在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
96.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
97.存储器,用于存放执行指令。具体地,执行指令即可被执行的计算机程序。存储器可以包括内存和非易失性存储器,并向处理器提供执行指令和数据。
98.在一种可能实现的方式中,处理器从非易失性存储器中读取对应的执行指令到内
存中然后运行,也可从其它设备上获取相应的执行指令,以在逻辑层面上形成基于rs和sign的签名校验装置。处理器执行存储器所存放的执行指令,以通过执行的执行指令实现本技术任一实施例中提供的基于rs和sign的签名校验方法。
99.上述如本技术图1所示实施例提供的基于rs和sign的签名校验装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
100.结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
101.本技术实施例还提出了一种可读介质,该可读存储介质存储有执行指令,存储的执行指令被电子设备的处理器执行时,能够使该电子设备执行本技术任一实施例中提供的基于rs和sign的签名校验方法,并具体用于执行上述基于rs和sign的签名校验的方法。
102.前述各个实施例中所述的电子设备可以为计算机。
103.本领域内的技术人员应明白,本技术的实施例可提供为方法或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例,或软件和硬件相结合的形式。
104.本技术中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
105.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
106.以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1