离线包的传输、存储方法及装置与流程

文档序号:31738621发布日期:2022-10-05 04:25阅读:105来源:国知局
离线包的传输、存储方法及装置与流程

1.本发明涉及网络安全技术领域,尤其涉及一种离线包的传输、存储方法及装置。


背景技术:

2.本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.目前,基于h5技术开发移动端app的方式容易受到网络环境等因素影响,为了进一步提升用户体验,移动端app通过建立h5离线包机制,实现预先缓存,从而提升页面的加载效率。
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.解密模块,用于利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;
37.加密模块,用于利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;
38.签名模块,用于利用后台服务器私钥对第一离线包摘要值进行签名;
39.发送模块,用于将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;以使移动终端执行如下操作:根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;利用后台服务器
公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;在校验通过之后,解析离线包文件。
40.本发明实施例还提供一种离线包的存储装置,用以避免离线包在网络传输过程中被篡改,确保离线包的安全性,该装置应用于离线包管理平台,该装置包括:
41.摘要计算模块,用于利用哈希算法,分别计算多个离线包文件的离线包摘要值;
42.映射关系存储模块,用于将多个离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库;以使后台服务器在接收到移动终端发送的离线包获取请求之后,从数据库获取与离线包获取请求中的离线包版本号对应的第一离线包摘要值和第一离线包下载地址;
43.离线包加密模块,用于针对每一离线包文件,调用加密机生成每一离线包文件对应的对称密钥明文;利用每一离线包文件对应的对称密钥明文对每一离线包文件进行加密,得到多个离线包密文;
44.离线包存储模块,用于将多个离线包密文存储在静态资源服务器,以使移动终端在接收到后台服务器发送的第一离线包下载地址之后,根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文。
45.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述离线包的传输、存储方法。
46.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述离线包的传输、存储方法。
47.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述离线包的传输、存储方法。
48.本发明实施例中,向后台服务器发送离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的,所述随机数明文是移动终端随机生成的;以使后台服务器执行如下操作:从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址,其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;利用后台服务器私钥对第一离线包摘要值进行签名;将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;接收后台服务器发送的签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文;根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;在校验通过之后,解析离线包文件。与现有技术中对离线包的安全保障的方案相比,本发明实施例中
的离线包文件利用对称密钥进行加密,对称密钥利用移动终端随机产生的随机数加密,移动终端在向后台服务器发送随机数时,还利用加密公钥对随机数进行加密,且在后台服务器向移动终端反馈离线包的摘要,还利用后台服务器私钥进行签名,因此,本发明中传输的文件和密钥,都是经过了加密处理,可以避免离线包在网络传输过程中被篡改;而且,移动终端想要解析离线包文件,需要经过多次解密、验签,其他移动终端在没有相应的密钥时,则无法对离线包密文进行解密,从而可以防止恶意在移动终端解析执行离线包,确保离线包的安全性。
49.本发明实施例中,接收移动终端发送的离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的;所述随机数明文是移动终端随机生成的;从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址;其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;利用后台服务器私钥对第一离线包摘要值进行签名;将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;以使移动终端执行如下操作:根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;在校验通过之后,解析离线包文件。与现有技术中对离线包的安全保障的方案相比,本发明实施例中的离线包文件利用对称密钥进行加密,对称密钥利用移动终端随机产生的随机数加密,移动终端在向后台服务器发送随机数时,还利用加密公钥对随机数进行加密,且在后台服务器向移动终端反馈离线包的摘要,还利用后台服务器私钥进行签名,因此,本发明中传输的文件和密钥,都是经过了加密处理,可以避免离线包在网络传输过程中被篡改;而且,移动终端想要解析离线包文件,需要经过多次解密、验签,其他移动终端在没有相应的密钥时,则无法对离线包密文进行解密,从而可以防止恶意在移动终端解析执行离线包,确保离线包的安全性。
50.本发明实施例中,利用哈希算法,分别计算多个离线包文件的离线包摘要值;将多个离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库;以使后台服务器在接收到移动终端发送的离线包获取请求之后,从数据库获取与离线包获取请求中的离线包版本号对应的第一离线包摘要值和第一离线包下载地址;针对每一离线包文件,调用加密机生成每一离线包文件对应的对称密钥明文;利用每一离线包文件对应的对称密钥明文对每一离线包文件进行加密,得到多个离线包密文;将多个离线包密文存储在静态资源服务器,以使移动终端在接收到后台服务器发送的第一离线包下载地址之后,根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文。与现有技术中对离线包的安全保障的方案相比,本发明实施例中离线包管理平台将离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库,同时,利用对称密钥
对离线包文件加密存储在静态资源服务器,从而可以防止网络传输过程中的离线包被篡改,确保离线包的安全性。
附图说明
51.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
52.图1为现有技术中移动终端下载并执行离线包的流程图;
53.图2为本发明实施例中提供的一种应用于移动终端离线包的传输方法的流程图;
54.图3为本发明实施例中提供的一种应用于后台服务器离线包的传输方法的流程图;
55.图4为本发明实施例中提供的一种离线包管理平台离线包的存储方法的流程图;
56.图5为应用本发明的离线包的传输、存储方法下载并执行离线包的流程图;
57.图6为本发明实施例中提供的一种应用于移动终端离线包的传输装置的示意图;
58.图7为本发明实施例中提供的一种应用于后台服务器离线包的传输装置的示意图;
59.图8为本发明实施例中提供的一种应用于离线包管理平台离线包的存储装置的示意图。
具体实施方式
60.为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
61.在本说明书的描述中,所使用的“包含”、“包括”、“具有”、“含有”等,均为开放性的用语,即意指包含但不限于。参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。各实施例中涉及的步骤顺序用于示意性说明本技术的实施,其中的步骤顺序不作限定,可根据需要作适当调整。
62.离线包是由html、css、js等静态资源文件组成,用于移动终端在适当的时机,下载到本地,当移动终端使用到具体功能时,直接加载本地的离线包,从而最大程度地摆脱网络环境对h5页面的影响。
63.图1为现有技术中移动终端下载并执行离线包的流程图。如图1所示,具体的实现步骤为:
64.1.管理员通过离线包管理平台维护离线包版本号、离线包名称和离线包下载地址的映射关系,存储至关系型数据库(如mysql、oracle)。
65.2.管理员通过离线包管理平台上传离线包至静态资源服务器。
66.3.移动终端调用后台应用系统的接口,上送离线包版本号。
67.4.后台应用系统根据离线包版本号从关系型数据库中查询对应的离线包下载地址。
68.5.后台应用系统将离线包下载地址返回给移动终端。
69.6.移动终端根据离线包下载地址从静态资源服务器下载离线包。
70.7.静态资源服务器将离线包返回给移动终端。
71.8.移动终端在本地解析离线包(html、css、js、部分image)。
72.由于离线包作为代码在本地运行,其安全性不容忽视,而针对图1所示的步骤,主要存在以下安全问题:(1)离线包可能被指定移动终端以外的移动终端获取并解析;(2)离线包在网络传输过程中可能被篡改。
73.为了解决上述问题,本发明实施例提供了一种离线包的传输、存储方案,用以防止恶意在指定移动终端以外的移动终端解析执行离线包,且避免离线包在网络传输过程中被篡改,确保离线包的安全性。
74.如图2所示,为本发明实施例提供的一种离线包的传输方法的流程图,应用于移动终端,该方法可以包括以下步骤:
75.步骤201,向后台服务器发送离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的,所述随机数明文是移动终端随机生成的;以使后台服务器执行如下操作:从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址,其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;利用后台服务器私钥对第一离线包摘要值进行签名;将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;
76.步骤202,接收后台服务器发送的签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文;
77.步骤203,根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;
78.步骤204,根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;
79.步骤205,利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;
80.步骤206,在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;
81.步骤207,在校验通过之后,解析离线包文件。
82.与现有技术中对离线包的安全保障的方案相比,本发明实施例中的离线包文件利用对称密钥进行加密,对称密钥利用移动终端随机产生的随机数加密,移动终端在向后台服务器发送随机数时,还利用加密公钥对随机数进行加密,且在后台服务器向移动终端反馈离线包的摘要,还利用后台服务器私钥进行签名,因此,本发明中传输的文件和密钥,都
是经过了加密处理,可以避免离线包在网络传输过程中被篡改;而且,移动终端想要解析离线包文件,需要经过多次解密、验签,其他移动终端在没有相应的密钥时,则无法对离线包密文进行解密,从而可以防止恶意在移动终端解析执行离线包,确保离线包的安全性。
83.本发明实施例中,上述步骤205,具体可以包括:
84.利用随机数明文,对对称密钥密文进行解密,得到对称密钥明文;
85.利用对称密钥明文,对离线包密文解密,得到离线包文件。
86.这样,由于离线包密文是利用对称密钥进行加密的,而对称密钥是利用移动终端随机产生的随机数加密,因此,只有移动终端拥有相同的随机数,才可以对对称密钥密文进行解密,得到对称密钥明文,进而才可以对离线包密文继续解密,从而可以避免离线包密文在传输过程中被他人篡改;其他移动终端获取到离线包密文后,也无法成功对其解密,从而可以防止恶意在其他移动终端上解析执行离线包。
87.本发明实施例中,步骤206,具体可以包括:
88.利用哈希算法,计算离线包文件的摘要值,得到第二离线包摘要值;
89.将第一离线包摘要值与第二离线包摘要值进行对比;
90.在第一离线包摘要值与第二离线包摘要值相同的情况下,确认离线包文件校验通过。
91.这样,第一离线包摘要值是原始离线包的摘要值,而第二离线包摘要值是移动终端根据下载地址获取离线包的摘要值,通过将第一离线包摘要值与第二离线包摘要值进行对比,可以对离线包进行校验,避免移动终端解析被篡改的离线包文件,保障移动终端上的数据安全。
92.如图3所示,为本发明实施例提供的又一种离线包的传输方法的流程图,应用于后台服务器,该方法可以包括以下步骤:
93.步骤301,接收移动终端发送的离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的;所述随机数明文是移动终端随机生成的;
94.步骤302,从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址;其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;
95.步骤303,利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;
96.步骤304,利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;
97.步骤305,利用后台服务器私钥对第一离线包摘要值进行签名;
98.步骤306,将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;以使移动终端执行如下操作:根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;
在校验通过之后,解析离线包文件。
99.与现有技术中对离线包的安全保障的方案相比,本发明实施例中的离线包文件利用对称密钥进行加密,对称密钥利用移动终端随机产生的随机数加密,移动终端在向后台服务器发送随机数时,还利用加密公钥对随机数进行加密,且在后台服务器向移动终端反馈离线包的摘要,还利用后台服务器私钥进行签名,因此,本发明中传输的文件和密钥,都是经过了加密处理,可以避免离线包在网络传输过程中被篡改;而且,移动终端想要解析离线包文件,需要经过多次解密、验签,其他移动终端在没有相应的密钥时,则无法对离线包密文进行解密,从而可以防止恶意在移动终端解析执行离线包,确保离线包的安全性。
100.如图4所示,为本发明实施例提供的一种离线包的存储方法的流程图,应用于离线包管理平台,该方法可以包括以下步骤:
101.步骤401,利用哈希算法,分别计算多个离线包文件的离线包摘要值;
102.步骤402,将多个离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库;以使后台服务器在接收到移动终端发送的离线包获取请求之后,从数据库获取与离线包获取请求中的离线包版本号对应的第一离线包摘要值和第一离线包下载地址;
103.步骤403,针对每一离线包文件,调用加密机生成每一离线包文件对应的对称密钥明文;利用每一离线包文件对应的对称密钥明文对每一离线包文件进行加密,得到多个离线包密文;
104.步骤404,将多个离线包密文存储在静态资源服务器,以使移动终端在接收到后台服务器发送的第一离线包下载地址之后,根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文。
105.与现有技术中对离线包的安全保障的方案相比,本发明实施例中离线包管理平台将离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库,同时,利用对称密钥对离线包文件加密存储在静态资源服务器,从而可以防止网络传输过程中的离线包被篡改,确保离线包的安全性。
106.具体的,图5为应用本发明的离线包的传输、存储方法下载并执行离线包的流程图,如图5所示,离线包管理平台负责离线包的信息在关系型数据库的维护、离线包上传静态资源服务器等;移动终端负责对离线包进行下载、解密、校验是否被篡改、解析执行等操作;后台应用系统负责与移动终端进行密钥共享、离线包的签名操作。
107.下面结合图5对上述图2-图4所述的离线包的传输、存储方法进行详细的说明。
108.首先,离线包管理平台是用于管理维护离线包文件的平台。在移动终端向后台服务器(图5中的后台应用系统)请求离线包文件之前,离线包管理平台需要执行以下操作:
109.1.离线包管理平台可以利用哈希算法,分别计算多个离线包文件的离线包摘要值,然后,将多个离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库。
110.具体实施时,上述哈希算法可以为国密算法sm3,如图5中的步骤1所示,计算原始离线包的摘要值hash=sm3(zip文件),其中,zip文件为离线包文件,hash为离线包文件的摘要值;并维护离线包版本号、离线包下载地址、离线包摘要值的映射关系。
111.然后,可以将离线包版本号、离线包下载地址和离线包摘要值的映射关系,存储在
如图5所示的关系型数据库中。
112.本发明实施例中,还可以是将离线包版本号、离线包下载地址、离线包摘要值以及离线包名称建立映射关系;以使后台服务器还可以根据离线包名称查询对应的离线包下载地址和离线包摘要值。
113.2.针对每一离线包文件,离线包管理平台可以调用加密机生成每一离线包文件对应的对称密钥明文,利用每一离线包文件对应的对称密钥明文对每一离线包文件进行加密,得到多个离线包密文;将多个离线包密文存储在静态资源服务器。
114.具体实施时,上述对称密钥明文可以为图5中的“key”,如图5中的步骤2所示,连接加密机获取sm4算法的对称密钥key,并对离线包进行加密,即c=sm4(zip文件)
key
,sm4为国密算法;上传加密后的离线包c至静态资源服务器进行存储。
115.在离线包管理平台对离线包文件进行上述处理后,移动终端向后台服务器请求获取离线包文件的步骤可以如下所述:
116.1.移动终端向后台服务器发送离线包获取请求。其中,离线包获取请求包括离线包版本号和随机数密文。
117.具体实施时,在移动终端向后台服务器发送离线包获取请求之前,移动终端可以随机生成随机数,如图5中的步骤3所示,随机生成随机数random;然后,为了避免随机数在传输过程中被他人截获,移动终端可以利用加密公钥对随机数加密,如图5中的步骤4所示,计算c1=sm2(random)
pk1
,其中,c1为随机数密文,pk1为加密公钥,sm2为国密算法,将离线包版本号和随机数密文发送至后台服务器。
118.需要说明的是,加密公钥是预先存储在移动终端中的,加密公钥(pk1)和解密私钥(sk1)为一对公私钥对,解密私钥存储在后台服务器中,用于解密。
119.2.后台服务器在接收到离线包获取请求之后,从数据库获取与离线包版本号对应的第一离线包摘要值和第一离线包下载地址。如图5中的步骤5所示,根据离线包版本号,查询离线包版本号对应的摘要值hash和离线包下载地址(即第一离线包摘要值和第一离线包下载地址)。
120.3.后台服务器利用与加密公钥对应的解密私钥对随机数密文解密,得到随机数明文;利用随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文;利用后台服务器私钥对第一离线包摘要值进行签名。
121.具体实施时,如图5所示,后台应用系统执行操作如下:
122.1)对随机数密文解密过程为:计算random=sm2(c1)
sk1
,其中,sk1为解密私钥;
123.2)连接加密机获取与离线包版本号对应的对称密钥key;对称密钥key是离线包管理平台调用加密机生成的,因此,后台应用系统也可以通过加密机获取与离线包版本号对应的对称密钥;
124.3)对对称密钥加密过程为:计算c2=sm4(key)
random
,其中,c2为对称密钥密文;
125.4)对离线包摘要值进行签名:计算signvalue=sm2(hash)
sk
,signvalue为签名后的第一离线包摘要值,sm2为国密算法;sk为后台服务器私钥。
126.4.后台服务器将签名后的第一离线包摘要值、第一离线包下载地址和对称密钥密文发送至移动终端。如图5中的步骤6所示,返回离线包下载地址、c2和signvalue。
127.5.移动终端接收到后台服务器发送的签名后的第一离线包摘要值、第一离线包下
载地址和对称密钥密文。
128.6.移动终端根据第一离线包下载地址从静态资源服务器下载对应的离线包密文。如图5中的步骤7和8所示,移动终端根据下载地址下载离线包,静态资源管理器返回离线包c,c为离线包密文。
129.7.移动终端根据对称密钥密文,对离线包密文进行解密,得到离线包文件。移动终端在得到离线包文件之后,还需要利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验。
130.具体实施时,对离线包密文进行解密可以是利用随机数明文,对对称密钥密文进行解密,得到对称密钥明文;利用对称密钥明文,对离线包密文解密,得到离线包文件。
131.具体实施时,后台服务器公钥是与后台服务器私钥相对应的,是后台服务器预先发送至移动终端的。
132.具体实施时,对离线包文件进行校验可以是利用哈希算法,计算离线包文件的摘要值,得到第二离线包摘要值;将第一离线包摘要值与第二离线包摘要值进行对比;在第一离线包摘要值与第二离线包摘要值相同的情况下,确认离线包文件校验通过。
133.如图5中的步骤9所示:
134.1)解密key:key=sm4(c2)
random

135.2)解密离线包:zip文件=sm4(c)
key

136.3)校验离线包是否被篡改:后台服务器公钥为pk,验签过程为:计算hash=sm2(signvalue)
pk

137.计算离线包文件的摘要值hash1=sm3(zip文件);对比hash1与hash是否相等,相等则安全,可以使用;不相等可能被篡改,废弃。
138.8.移动终端在校验通过之后,解析离线包文件,如图5中的步骤10所示,解析离线包文件(html、css、js、部分image)。
139.这样,因离线包文件的经过加密处理的,其他移动终端无法恶意解析执行离线包文件;同时,因本发明实施时采取了严格的签名验签机制,可以防止网络传输过程中的离线包被篡改。通过离线包管理平台维护离线包数据,还可以灵活的对离线包进行版本控制。
140.本发明实施例中还提供了一种离线包的传输装置,如下面的实施例所述。由于该装置解决问题的原理与离线包的传输方法相似,因此该装置的实施可以参见离线包的传输方法的实施,重复之处不再赘述。
141.如图6所示,为本发明实施例提供的一种离线包的传输装置的示意图,应用于移动终端,所述装置包括:
142.发送模块601,用于向后台服务器发送离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的,所述随机数明文是移动终端随机生成的;以使后台服务器执行如下操作:从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址,其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;利用后台服务器私钥对第
一离线包摘要值进行签名;将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;
143.接收模块602,用于接收后台服务器发送的签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文;
144.下载模块603,用于根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;
145.解密模块604,用于根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;
146.验签模块605,用于利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;
147.校验模块606,用于在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;
148.解析模块607,用于在校验通过之后,解析离线包文件。
149.本发明实施例中,图6所示的解密模块605,具体可以用于:
150.利用随机数明文,对对称密钥密文进行解密,得到对称密钥明文;
151.利用对称密钥明文,对离线包密文解密,得到离线包文件。
152.本发明实施例中,图6所示的校验模块606,具体可以用于:
153.利用哈希算法,计算离线包文件的摘要值,得到第二离线包摘要值;
154.将第一离线包摘要值与第二离线包摘要值进行对比;
155.在第一离线包摘要值与第二离线包摘要值相同的情况下,确认离线包文件校验通过。
156.如图7所示,为本发明实施例提供的一种离线包的传输装置的示意图,应用于后台服务器,所述装置包括:
157.接收模块701,用于接收移动终端发送的离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的;所述随机数明文是移动终端随机生成的;
158.获取模块702,用于从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址;其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;
159.解密模块703,用于利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;
160.加密模块704,用于利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;
161.签名模块705,用于利用后台服务器私钥对第一离线包摘要值进行签名;
162.发送模块706,用于将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;以使移动终端执行如下操作:根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预
先发送至移动终端的;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;在校验通过之后,解析离线包文件。
163.本发明实施例中还提供了一种离线包的存储装置,如下面的实施例所述。由于该装置解决问题的原理与离线包的存储方法相似,因此该装置的实施可以参见离线包的存储方法的实施,重复之处不再赘述。
164.如图8所示,为本发明实施例提供的一种离线包的存储装置的示意图,应用于离线包管理平台,所述装置包括:
165.摘要计算模块801,用于利用哈希算法,分别计算多个离线包文件的离线包摘要值;
166.映射关系存储模块802,用于将多个离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库;以使后台服务器在接收到移动终端发送的离线包获取请求之后,从数据库获取与离线包获取请求中的离线包版本号对应的第一离线包摘要值和第一离线包下载地址;
167.离线包加密模块803,用于针对每一离线包文件,调用加密机生成每一离线包文件对应的对称密钥明文;利用每一离线包文件对应的对称密钥明文对每一离线包文件进行加密,得到多个离线包密文;
168.离线包存储模块804,用于将多个离线包密文存储在静态资源服务器,以使移动终端在接收到后台服务器发送的第一离线包下载地址之后,根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文。
169.本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述离线包的传输、存储方法。
170.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述离线包的传输、存储方法。
171.本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述离线包的传输、存储方法。
172.本发明实施例中,向后台服务器发送离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的,所述随机数明文是移动终端随机生成的;以使后台服务器执行如下操作:从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址,其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;利用后台服务器私钥对第一离线包摘要值进行签名;将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;接收后台服务器发送的签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文;根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;利用后台服务器公钥对签名后的
第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;在校验通过之后,解析离线包文件。与现有技术中对离线包的安全保障的方案相比,本发明实施例中的离线包文件利用对称密钥进行加密,对称密钥利用移动终端随机产生的随机数加密,移动终端在向后台服务器发送随机数时,还利用加密公钥对随机数进行加密,且在后台服务器向移动终端反馈离线包的摘要,还利用后台服务器私钥进行签名,因此,本发明中传输的文件和密钥,都是经过了加密处理,可以避免离线包在网络传输过程中被篡改;而且,移动终端想要解析离线包文件,需要经过多次解密、验签,其他移动终端在没有相应的密钥时,则无法对离线包密文进行解密,从而可以防止恶意在移动终端解析执行离线包,确保离线包的安全性。
173.本发明实施例中,接收移动终端发送的离线包获取请求,所述离线包获取请求包括离线包版本号和随机数密文;其中,所述随机数密文是移动终端利用预先设置的加密公钥对随机数明文加密得到的;所述随机数明文是移动终端随机生成的;从数据库获取与所述离线包版本号对应的第一离线包摘要值和第一离线包下载地址;其中,数据库中存储有多个离线包的离线包版本号、离线包摘要值和离线包下载地址的映射关系;利用预先设置的与加密公钥对应的解密私钥对所述随机数密文解密,得到随机数明文;利用所述随机数明文对从加密机获取的对称密钥明文进行加密,得到对称密钥密文,所述对称密钥明文是离线包管理平台调用加密机生成的;利用后台服务器私钥对第一离线包摘要值进行签名;将签名后的第一离线包摘要值、所述第一离线包下载地址和所述对称密钥密文发送至移动终端;以使移动终端执行如下操作:根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文,所述离线包密文是利用对称密钥明文进行加密的;根据所述对称密钥密文,对离线包密文进行解密,得到离线包文件;利用后台服务器公钥对签名后的第一离线包摘要值进行签名验证,所述后台服务器公钥是后台服务器预先发送至移动终端的;在签名验证通过的情况下,根据第一离线包摘要值,对离线包文件进行校验;在校验通过之后,解析离线包文件。与现有技术中对离线包的安全保障的方案相比,本发明实施例中的离线包文件利用对称密钥进行加密,对称密钥利用移动终端随机产生的随机数加密,移动终端在向后台服务器发送随机数时,还利用加密公钥对随机数进行加密,且在后台服务器向移动终端反馈离线包的摘要,还利用后台服务器私钥进行签名,因此,本发明中传输的文件和密钥,都是经过了加密处理,可以避免离线包在网络传输过程中被篡改;而且,移动终端想要解析离线包文件,需要经过多次解密、验签,其他移动终端在没有相应的密钥时,则无法对离线包密文进行解密,从而可以防止恶意在移动终端解析执行离线包,确保离线包的安全性。
174.本发明实施例中,利用哈希算法,分别计算多个离线包文件的离线包摘要值;将多个离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库;以使后台服务器在接收到移动终端发送的离线包获取请求之后,从数据库获取与离线包获取请求中的离线包版本号对应的第一离线包摘要值和第一离线包下载地址;针对每一离线包文件,调用加密机生成每一离线包文件对应的对称密钥明文;利用每一离线包文件对应的对称密钥明文对每一离线包文件进行加密,得到多个离线包密文;将多个离线包密文存储在静态资源服务器,以使移动终端在接收到后台服务器发送的第一离线包下载地址之
后,根据所述第一离线包下载地址从静态资源服务器下载对应的离线包密文。与现有技术中对离线包的安全保障的方案相比,本发明实施例中离线包管理平台将离线包的离线包版本号、离线包摘要值和离线包下载地址建立映射关系,存储在数据库,同时,利用对称密钥对离线包文件加密存储在静态资源服务器,从而可以防止网络传输过程中的离线包被篡改,确保离线包的安全性。
175.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
176.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
177.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
178.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
179.以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1