一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据下载方法及装置与流程

2022-05-26 20:22:22 来源:中国专利 TAG:


1.本发明涉及网络安全技术领域,尤其涉及一种数据下载方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.在移动互联网应用系统中,经常会存在利用不信任的网络下载信息的应用场景。例如,客户使用智能卡在商户设备上完成刷卡支付或收款时,银行数据中心需要将交易相关的数据下载到客户的智能卡中。在数据下载的过程中,智能卡需要通过商户设备的网络连接银行数据中心,可能存在他人伪造或篡改数据内容等安全问题,安全性较差。


技术实现要素:

4.本发明实施例提供一种数据下载方法,用以在数据下载过程中,避免数据被恶意伪造或篡改,提高数据下载的安全性,该方法应用于服务端,该方法包括:
5.接收客户端通过第三方中间设备发送的数据下载请求;
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.图1为本发明实施例中提供的一种应用于服务端的数据下载方法的流程图;
37.图2为本发明实施例中提供的示例性的客户端通过第三方设备接入服务端的架构图;
38.图3为本发明实施例中提供的又一种应用于服务端的数据下载方法的流程图;
39.图4为本发明实施例中提供的一种应用于客户端的数据下载方法的流程图;
40.图5为本发明实施例中提供的又一种应用于客户端的数据下载方法的流程图;
41.图6为本发明实施例中提供的一种应用于服务端的数据下载装置的示意图;
42.图7为本发明实施例中提供的又一种应用于服务端的数据下载装置的示意图;
43.图8为本发明实施例中提供的一种应用于客户端的数据下载装置的示意图;
44.图9为本发明实施例中提供的又一种应用于客户端的数据下载装置的示意图。
具体实施方式
45.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
46.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的
实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
47.术语解释:
48.对称加密:采用单密钥系统的加密方法,同一个密钥可以同时用作信息加密和解密。
49.为了解决客户端通过不信任的网络下载信息存在的安全问题,本发明实施例提供了一种数据下载方法及装置,可以在数据下载过程中,避免数据被恶意伪造或篡改,提高数据下载的安全性。
50.如图1所示,为本发明实施例提供的一种数据下载方法的流程图,应用于服务端,该方法包括以下步骤:
51.步骤101:接收客户端通过第三方中间设备发送的数据下载请求;
52.步骤102:根据数据下载请求,生成下载控制信息,所述下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;
53.步骤103:利用服务端私钥对下载控制信息进行签名;
54.步骤104:将签名后的下载控制信息发送至客户端,以使客户端执行如下操作:对签名后的下载控制信息进行验签,在验签通过之后,利用客户端私钥对签名后的下载控制信息进行二次签名,根据二次签名后的下载控制信息生成统一资源定位符,通过统一资源定位符访问服务端;其中,所述统一资源定位符包括二次签名后的下载控制信息;
55.步骤105:在客户端通过统一资源定位符访问服务端之后,对统一资源定位符进行校验;在校验通过之后,允许客户端从服务端下载统一资源定位符对应的数据。
56.本发明实施例中,服务端接收客户端通过第三方中间设备发送的数据下载请求;根据数据下载请求,生成下载控制信息,下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;利用服务端私钥对下载控制信息进行签名;将签名后的下载控制信息发送至客户端,以使客户端执行如下操作:对签名后的下载控制信息进行验签,在验签通过之后,利用客户端私钥对签名后的下载控制信息进行二次签名,根据二次签名后的下载控制信息生成统一资源定位符,通过统一资源定位符访问服务端;其中,统一资源定位符包括二次签名后的下载控制信息;在客户端通过统一资源定位符访问服务端之后,服务端对统一资源定位符进行校验;在校验通过之后,允许客户端从服务端下载统一资源定位符对应的数据。与现有的数据下载的技术方案相比,通过服务端和客户端双向签名认证,可以确保双方均不可篡改数据,并且,将客户端二次签名的下载控制信息加入统一资源定位符的下载方式,使得任何第三方均无法伪造和生成下载链接,进而提高了数据下载的安全性。
57.需要说明的是,本发明实施例中的服务端是指后台服务的提供者,例如,服务端可以为银行数据中心等机构的服务器设备;客户端是指需要进行下载文件或写入数据服务的设备,但是客户端无自主联网功能,例如,客户端可以是智能卡、电子移动终端等设备;第三方中间设备是指可以访问客户端,并支持客户端接入互联网的设备,例如,pos机、收银设备等,一般由商户提供,安全性通常无法保证。
58.例如,图2为本发明实施例中提供的示例性的客户端通过第三方设备接入服务端的架构图。如图2所示,智能卡为客户端;对方收付款设备为第三方中间设备;银行数据中心
为服务端。智能卡可以通过对方收付款设备连接互联网(internet),与银行数据中心进行数据通信。
59.本发明实施例中,上述步骤105,具体可以包括:
60.对统一资源定位符中二次签名后的下载控制信息进行验签;
61.在验签通过之后,对统一资源定位符中的有效时间段进行校验。
62.这样,只有在服务端对统一资源定位符的客户端的签名验签通过,以及下载控制信息中的有效时间段有效的情况下,才能允许客户端下载数据,从而可以避免第三方伪造下载链接,保障了数据的安全。
63.本发明实施例中,客户端从服务端下载统一资源定位符对应的数据为加密数据;如图3所示,该方法还可以包括:
64.步骤301:在客户端从服务端下载统一资源定位符对应的数据之后,接收客户端发送的对加密数据进行解密之后的解密结果,所述解密结果包括消息认证码mac值;
65.步骤302:对解密结果进行验证,判断下载结果是否异常。
66.本发明实施例中,上述步骤302,具体可以包括:
67.在mac值正确的情况下,确定数据下载成功;
68.在mac值错误的情况下,确定数据下载失败。
69.本发明实施例中,在mac值错误的情况下,还可以包括:
70.在下载控制信息的有效时间段内,允许客户端多次从服务端下载统一资源定位符对应的数据。
71.这样,由于只有完整地下载完数据并正确解密,才可以得到正确的mac值。因此,通过验证mac值是否正确,可以验证下载的数据是否完整,在mac值错误的情况下,说明数据下载失败,在下载控制信息的有效时间段内,可以允许客户端多次从服务端下载统一资源定位符对应的数据,从而可以避免下载失败客户端多次申请下载,提高了数据下载的效率。
72.本发明实施例中,在mac值错误的情况下,还可以包括:
73.统计mac值错误的次数;
74.在mac值错误的次数超过预设阈值的情况下,拒绝客户端从服务端下载统一资源定位符对应的数据。
75.这样,由于客户端每一次下载数据并解密之后,都会向服务端反馈mac值,因此,通过对mac值错误的次数进行限制,可以区分是人为故意导致的数据下载失败,还是由于意外导致的数据下载失败,在错误次数超过设定的阈值的情况下,可以认定为人为故意制造导致的下载失败,从而拒绝客户端下载数据,提升了数据下载的安全性。
76.本发明实施例中,在mac值正确的情况下,还可以包括:
77.对下载控制信息进行无效处理。
78.这样,在mac值正确的情况下,说明客户端数据下载成功,进而对下载控制信息进行无效处理,可以避免采用相同的下载控制信息重复下载数据,从而可以确保数据的安全性。
79.如图4所示,为本发明实施例提供的一种数据下载方法的流程图,应用于客户端,该方法包括以下步骤:
80.步骤401:通过第三方中间设备向服务端发送数据下载请求;
81.步骤402:接收服务端根据数据下载请求反馈的以服务端私钥签名的下载控制信息,所述下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;
82.步骤403:对以服务端私钥签名的下载控制信息进行验签;
83.步骤404:在验签通过之后,利用客户端私钥对以服务端私钥签名的下载控制信息进行二次签名;
84.步骤405:根据二次签名后的下载控制信息生成统一资源定位符,所述统一资源定位符包括二次签名后的下载控制信息;
85.步骤406:通过统一资源定位符访问服务端;在服务端对统一资源定位符校验通过之后,从服务端下载统一资源定位符对应的数据。
86.本发明实施例中,客户端通过第三方中间设备向服务端发送数据下载请求;接收服务端根据数据下载请求反馈的以服务端私钥签名的下载控制信息,下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;对以服务端私钥签名的下载控制信息进行验签;在验签通过之后,利用客户端私钥对以服务端私钥签名的下载控制信息进行二次签名;根据二次签名后的下载控制信息生成统一资源定位符,统一资源定位符包括二次签名后的下载控制信息;通过统一资源定位符访问服务端;在服务端对统一资源定位符校验通过之后,从服务端下载统一资源定位符对应的数据。与现有的数据下载的技术方案相比,通过客户端和服务端双向签名认证,可以确保在数据下载过程中双方均不可篡改数据,并且,将客户端二次签名的下载控制信息加入统一资源定位符的下载方式,使得任何第三方均无法伪造和生成下载链接,进而提高了数据下载的安全性。
87.本发明实施例中,从服务端下载统一资源定位符对应的数据为加密数据;如图5所示,在上述步骤406之后,还可以包括:
88.步骤501:对加密数据进行解密,得到解密结果,所述解密结果包括消息认证码mac值;
89.步骤502:将解密结果发送至服务端,以使服务端对解密结果进行验证,判断下载结果是否异常。
90.本发明实施例中,上述步骤501,具体可以包括:
91.将加密数据的最后一个数据块作为解密密钥,利用对称算法对加密数据中除最后一个数据块之外的数据块进行解密,得到解密结果。
92.本发明实施例中,上述步骤502之后,还可以包括:
93.在服务端确定数据下载失败的情况下,客户端重新通过统一资源定位符访问服务端,在服务端对统一资源定位符校验通过之后,从服务端下载统一资源定位符对应的数据。
94.这样,通过将加密数据的最后一个数据块作为解密密钥,且只有完整地下载完数据并正确解密,才可以得到正确的mac值。因此,在数据下载过程被中断的情况下,无法获取解密密钥,也无法得到解密结果中的mac值,从而确保数据下载的安全。
95.下面针对上述图1、图3-图5所述的数据下载方法进行详细的说明,具体的数据下载流程可以如下所示:
96.1、网络接入
97.具体实施时,客户端通过第三方中间设备接入互联网,向服务端发送数据下载请求。
98.2、服务端生成下载控制信息
99.具体实施时,服务端根据客户端发送的数据下载请求,生成下载控制信息,下载控制信息可以包括授权下载用户信息、序列号、有效时间段和随机密码。
100.例如,下载控制信息可以表示为:
101.user1|00000001|20210618133718001|3000|4a0939a98164093d9ebe6bf8d98ebec7|
……

102.其含义是:授权给用户user1进行下载,序列号为00000001,自日期20210618133718001起有效,有效时长为3秒(3000毫秒),随机密码为4a0939a98164093d9ebe6bf8d98ebec7(安全保障,无实际业务含义),其他保留信息。
103.3、服务端签名
104.具体实施时,服务端利用服务端私钥对下载控制信息进行签名,将签名后的下载控制信息发送至客户端。
105.例如,服务端私钥可以为:
106.meucicjznvhb zepdsyg5ur8v/i8gbj5xe2ystfiiuscu7xkaieakvkfhixdtgcig94yegzfxxth0fwwc9dkfxf3tzvtoi8=
107.签名后的下载控制信息可以为:
108.user1|00000001|20210618133718001|3000|4a0939a98164093d9ebe6bf8d98ebec7|
……
meucicjznvhb zepdsyg5ur8v/i8gbj5xe2ystfiiuscu7xkaieakvkfhixdtgcig94yegzfxxth0fwwc9dkfxf3tzvtoi8=
109.4、客户端验签
110.具体实施时,客户端利用服务器公钥对签名后的下载控制信息进行签名验证,其中,服务器公钥可以预先存入客户端。具体的,在验签通过后,说明下载控制信息未被第三方篡改或者伪造;或者,在验签失败后,说明下载控制信息被第三方篡改或者伪造,此时,结束数据下载流程。
111.此处,由于服务端签名的存在,而客户端验签需要利用服务器公钥,因此,即使客户端使用不信任的渠道接入互联网时,在没有正确的服务器公钥的情况下,第三方中间设备无法进行验签,也无法篡改或者伪造下载控制信息,更无法利用下载控制信息从服务端下载数据,从而可以只允许正确的客户端下载,无法被冒用身份,提高了数据下载过程的安全性。
112.5、客户端签名
113.具体实施时,在客户端验签通过之后,客户端利用客户端私钥对签名后的下载控制信息进行二次签名。
114.6、生成下载链接
115.具体实施时,客户端根据二次签名后的下载控制信息生成统一资源定位符,通过统一资源定位符访问服务端;其中,统一资源定位符包括二次签名后的下载控制信息。
116.需要说明的是,统一资源定位符(uniform resource locator,url)是对可以从因特网上得到的资源的位置和访问方法的一种简洁的表示。url给资源的位置提供一种抽象的识别方法,并用这种方法给资源定位。统一资源定位符只要能够对资源定位,系统就可以对资源进行各种操作,如存取、更新、替换和查找其属性。基本url包含模式(或称协议)、服
务器名称(或ip地址)、路径和文件名。
117.因此,本发明实施例中,将二次签名后的下载控制信息作为变量加入url中,借助签名算法,任何人无法生成和伪造url,从而可以确保数据下载的安全性。
118.7、服务端验证
119.具体实施时,服务端在客户端通过统一资源定位符访问服务端之后,对统一资源定位符进行校验。具体的,服务端利用客户端公钥对统一资源定位符中二次签名后的下载控制信息进行验签;若验签不通过,则说明可能出现身份冒用的情况,此时,结束数据下载流程;若验签通过,对统一资源定位符中的有效时间段进行校验,在有效时间段有效的情况下,说明服务端的校验通过,允许客户端从服务端下载统一资源定位符对应的数据;若有效时间段无效的情况下,校验失败,拒绝客户端从服务端下载统一资源定位符对应的数据。
120.这样,通过客户端与服务端的双向签名封装下载控制信息,可以实现双向不可篡改性,从而可以实现在非信任渠道下载数据并保障其过程安全。
121.8、数据下载
122.具体实施时,客户端在服务端对统一资源定位符校验通过之后,从服务端下载统一资源定位符对应的数据。具体的,客户端从服务端下载统一资源定位符对应的数据为加密数据。
123.9、数据解密
124.具体实施时,客户端利用对称算法对加密数据进行解密,得到解密结果,解密结果包括消息认证码mac值。具体的,客户端将加密数据的最后一个数据块(数据块也被称为block,长度为16字节)作为解密密钥,利用对称算法对加密数据中除最后一个数据块之外的数据块进行解密,得到解密结果。
125.需要说明的是,对称算法的密码块链模式(cipher block chaining,cbc)的计算方式中,每一个数据块的计算结果依赖于上一数据块。
126.具体实施时,客户端将解密结果发送至服务端。
127.10、服务端验证解密结果
128.具体实施时,服务端接收客户端发送的利用对称算法对加密数据进行解密之后的解密结果,所述解密结果包括消息认证码mac值;对解密结果进行验证,判断下载结果是否异常。具体的,在mac值正确的情况下,确定数据下载成功;在mac值错误的情况下,确定数据下载失败。
129.具体实施时,在mac值正确的情况下,服务端可以设置数据下载状态为下载成功,并对下载控制信息进行无效处理,以确保无法通过相同的下载控制信息重复下载数据。
130.具体实施时,在mac值错误的情况下,确定数据下载失败,而导致失败的原因可能是人为因素,也可能是意外因素。具体的,是否为人为因素导致的下载失败,可以通过以下方式进行判断:在mac值错误的情况下,服务端还可以统计mac值错误的次数;在mac值错误的次数超过预设阈值的情况下,服务器拒绝客户端下载数据。例如,预设阈值可以为64次,在客户端发送至服务端的mac值错误超过64次时,认定为人为因素导致的下载失败,此时,即使是在下载控制信息的有效时间段内,服务器也可以拒绝客户端继续下载数据。
131.而且,在是意外因素导致的下载失败的情况下,服务端在下载控制信息的有效时间段内,可以允许客户端多次从服务端下载统一资源定位符对应的数据。
132.此处,客户端下载的数据文件中包含mac值和解密密钥因子,当客户端完成下载后,需解密数据全文并将mac值反馈至服务端,服务端验证成功后即确认完成下载。当下载被中断时,便无法获得解密密钥,从而无法解密数据,也无法返回正确的mac。此时若是意外造成的中断,客户端可以继续向服务端申请下载数据;若是人为恶意造成的下载终端,如果继续暴力破解,则需要破解256n次,其中n为丢失字节的数量。即使只丢失1字节,暴力破解也需要解密256次,一般情况下丢失字节数将远大于1字节,在有效期内必然无法完成解密。当有效期超出后,需要重新申请校验值,此时密钥改变,原数据作废。当mac传错次数过多时,即被服务端检测出异常行为,服务端可以拒绝下载数据。
133.因此,本发明实施例通过在下载的数据文件中增加解密密钥和mac值的方式,从而可以防止服务中间提供者(例如商户)篡改数据内容,还能避免用户故意中断下载后对不完整文件进行破解。并且,通过采用下载完成后将解密结果循环反馈至服务端,服务端对错误次数进行限定的方式,区别了人为中断和意外中断的情况,并分情况进行处置。
134.综上,本发明实施例提供的数据下载方法,主要包括以下有益效果:
135.1、采用服务端与客户端双向签名的方式,实现数据的双向不可篡改性,可以防止其他人非法下载。
136.2、通过将双向签名的下载控制信息加入统一资源定位符,借助签名算法,任何人无法生成和伪造url,从而可以确保数据下载的安全性。
137.3、采用在下载的数据文件中添加解密密钥和mac值的方式,避免不完整的数据下载或人为中断数据下载过程,如人为恶意中断,则无法获取完整密钥,从而在有效时间内无法完成暴力破解。
138.4、采用下载完成后向服务器循环回传解密结果,及限定解密结果中mac值错误次数的方式,区别了人为中断和意外中断的情况,并分情况进行处置。
139.5、在mac值正确的情况下,对下载控制信息进行无效处理,可以避免采用相同的下载控制信息进行多次下载,从而可以确保数据的安全性。
140.本发明实施例中还提供了一种数据下载装置,如下面的实施例所述。由于该装置解决问题的原理与数据下载方法相似,因此该装置的实施可以参见数据下载方法的实施,重复之处不再赘述。
141.如图6所示,为本发明实施例提供的一种数据下载装置的示意图,应用于服务端,所述装置包括:
142.接收模块601,用于接收客户端通过第三方中间设备发送的数据下载请求;
143.生成模块602,用于根据数据下载请求,生成下载控制信息,所述下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;
144.签名模块603,用于利用服务端私钥对下载控制信息进行签名;
145.发送模块604,用于将签名后的下载控制信息发送至客户端,以使客户端执行如下操作:对签名后的下载控制信息进行验签,在验签通过之后,利用客户端私钥对签名后的下载控制信息进行二次签名,根据二次签名后的下载控制信息生成统一资源定位符,通过统一资源定位符访问服务端;其中,所述统一资源定位符包括二次签名后的下载控制信息;
146.校验模块605,用于在客户端通过统一资源定位符访问服务端之后,对统一资源定位符进行校验;在校验通过之后,允许客户端从服务端下载统一资源定位符对应的数据。
147.本发明实施例中,校验模块,具体用于:
148.对统一资源定位符中二次签名后的下载控制信息进行验签;
149.在验签通过之后,对统一资源定位符中的有效时间段进行校验。
150.本发明实施例中,客户端从服务端下载统一资源定位符对应的数据为加密数据;
151.如图7所示,图6所示的装置还包括解密结果校验模块701,用于:
152.在客户端从服务端下载统一资源定位符对应的数据之后,接收客户端发送的对加密数据进行解密之后的解密结果,所述解密结果包括消息认证码mac值;
153.对解密结果进行验证,判断下载结果是否异常。
154.本发明实施例中,解密结果校验模块701,还用于:
155.在mac值正确的情况下,确定数据下载成功;
156.在mac值错误的情况下,确定数据下载失败。
157.本发明实施例中,解密结果校验模块701,还用于:
158.对下载控制信息进行无效处理。
159.本发明实施例中,解密结果校验模块701,还用于:
160.在下载控制信息的有效时间段内,允许客户端多次从服务端下载统一资源定位符对应的数据。
161.本发明实施例中,解密结果校验模块701,还用于:
162.统计mac值错误的次数;
163.在mac值错误的次数超过预设阈值的情况下,拒绝客户端从服务端下载统一资源定位符对应的数据。
164.如图8所示,为本发明实施例提供的一种数据下载装置的示意图,应用于客户端,所述装置包括:
165.发送模块801,用于通过第三方中间设备向服务端发送数据下载请求;
166.接收模块802,用于接收服务端根据数据下载请求反馈的以服务端私钥签名的下载控制信息,所述下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;
167.验签模块803,用于对以服务端私钥签名的下载控制信息进行验签;
168.签名模块804,用于在验签通过之后,利用客户端私钥对以服务端私钥签名的下载控制信息进行二次签名;
169.生成模块805,用于根据二次签名后的下载控制信息生成统一资源定位符,所述统一资源定位符包括二次签名后的下载控制信息;
170.下载模块806,用于通过统一资源定位符访问服务端;在服务端对统一资源定位符校验通过之后,从服务端下载统一资源定位符对应的数据。
171.本发明实施例中,所述从服务端下载统一资源定位符对应的数据为加密数据;
172.如图9所示,图8所示的装置还包括解密模块901,用于在下载模块从服务端下载统一资源定位符对应的数据之后:
173.对加密数据进行解密,得到解密结果,所述解密结果包括消息认证码mac值;
174.将解密结果发送至服务端,以使服务端对解密结果进行验证,判断下载结果是否异常。
175.本发明实施例中,解密模块901,还用于:
176.将加密数据的最后一个数据块作为解密密钥,利用对称算法对加密数据中除最后一个数据块之外的数据块进行解密,得到解密结果。
177.本发明实施例中,在解密模块将解密结果发送至服务端,以使服务端对解密结果进行验证,判断下载结果是否异常之后,下载模块,还用于:
178.在服务端确定数据下载失败的情况下,客户端重新通过统一资源定位符访问服务端,在服务端对统一资源定位符校验通过之后,从服务端下载统一资源定位符对应的数据。
179.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据下载方法。
180.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据下载方法。
181.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述数据下载方法。
182.本发明实施例中,服务端接收客户端通过第三方中间设备发送的数据下载请求;根据数据下载请求,生成下载控制信息,下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;利用服务端私钥对下载控制信息进行签名;将签名后的下载控制信息发送至客户端,以使客户端执行如下操作:对签名后的下载控制信息进行验签,在验签通过之后,利用客户端私钥对签名后的下载控制信息进行二次签名,根据二次签名后的下载控制信息生成统一资源定位符,通过统一资源定位符访问服务端;其中,统一资源定位符包括二次签名后的下载控制信息;在客户端通过统一资源定位符访问服务端之后,服务端对统一资源定位符进行校验;在校验通过之后,允许客户端从服务端下载统一资源定位符对应的数据。与现有的数据下载的技术方案相比,通过服务端和客户端双向签名认证,可以确保在数据下载过程中双方均不可篡改数据,并且,将客户端二次签名的下载控制信息加入统一资源定位符的下载方式,使得任何第三方均无法伪造和生成下载链接,进而提高了数据下载的安全性。
183.本发明实施例中,客户端通过第三方中间设备向服务端发送数据下载请求;接收服务端根据数据下载请求反馈的以服务端私钥签名的下载控制信息,下载控制信息包括授权下载用户信息、序列号、有效时间段和随机密码;对以服务端私钥签名的下载控制信息进行验签;在验签通过之后,利用客户端私钥对以服务端私钥签名的下载控制信息进行二次签名;根据二次签名后的下载控制信息生成统一资源定位符,统一资源定位符包括二次签名后的下载控制信息;通过统一资源定位符访问服务端;在服务端对统一资源定位符校验通过之后,从服务端下载统一资源定位符对应的数据。与现有的数据下载的技术方案相比,通过客户端和服务端双向签名认证,可以确保在数据下载过程中双方均不可篡改数据,并且,将客户端二次签名的下载控制信息加入统一资源定位符的下载方式,使得任何第三方均无法伪造和生成下载链接,进而提高了数据下载的安全性。
184.本发明实施例提供的数据下载方法及装置,主要包括以下有益效果:
185.1、采用服务端与客户端双向签名的方式,实现数据的双向不可篡改性,可以防止其他人非法下载。
186.2、通过将双向签名的下载控制信息加入统一资源定位符,借助签名算法,任何人
无法生成和伪造url,从而可以确保数据下载的安全性。
187.3、采用在下载的数据文件中添加解密密钥和mac值的方式,避免不完整的数据下载或人为中断数据下载过程,如人为恶意中断,则无法获取完整密钥,从而在有效时间内无法完成暴力破解。
188.4、采用下载完成后向服务器循环回传解密结果,及限定解密结果中mac值错误次数的方式,区别了人为中断和意外中断的情况,并分情况进行处置。
189.5、在mac值正确的情况下,对下载控制信息进行无效处理,可以避免采用相同的下载控制信息进行多次下载,从而可以确保数据的安全性。
190.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
191.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
192.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
193.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
194.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献