发明内容
有鉴于此,本申请实施例提供一种应用程序的安装方法及装置,通过云端服务器对移动终端上安装的应用程序进行限制,能够保证移动终端的运行安全以及用户的使用安全。
为解决上述问题,本申请实施例提供的技术方案如下:
第一方面,本申请提供一种应用程序的安装方法,所述方法应用于云端服务器,所述方法包括:
获取由移动终端发送的安装请求,根据所述安装请求得到目标安装密文;
根据所述目标安装密文,在信息数据库中确定与所述目标安装密文匹配的目标应用程序信息;
根据所述目标应用程序信息,在应用数据库中选取与所述目标应用程序信息匹配的候选应用程序安装数据作为第一应用程序安装数据;所述候选应用程序安装数据是对原始应用程序安装包进行加密处理得到的;
对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据;
将所述目标应用程序安装数据发送至所述移动终端,以便所述移动终端利用所述目标应用程序安装数据进行目标应用程序的安装。
可选的,所述方法还包括:
获取原始应用程序安装包以及对应的应用程序信息;
将所述原始应用程序安装包转换为二进制模式,得到待处理应用程序安装数据;
对所述待处理应用程序安装数据进行加密处理,得到候选应用程序安装数据;建立所述候选应用程序安装数据与所述应用程序信息的匹配关系;将所述候选应用程序安装数据保存至应用数据库中;
获取所述待处理应用程序安装数据中的前n个比特数据作为明文数据,其中,n为正整数;对所述明文数据进行加密处理,得到安装密文;建立所述安装密文与所述应用程序信息的匹配关系;将所述安装密文和所述应用程序信息保存至信息数据库中。
可选的,所述对所述待处理应用程序安装数据进行加密处理,得到候选应用程序安装数据,包括:
利用base64编码方式对所述待处理应用程序安装数据进行编码,得到编码应用程序安装数据;
利用预设密钥和加密算法对所述编码应用程序安装数据进行加密,得到候选应用程序安装数据;
所述对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据,包括:
利用预设密钥和解密算法对第一应用程序安装数据进行解密,得到明文应用程序安装数据;
利用base64编码方式对所述明文应用程序安装数据进行解码,得到目标应用程序安装数据。
可选的,所述对所述明文数据进行加密处理,得到安装密文,包括:
利用base64编码方式对所述明文数据进行编码,得到编码明文数据;
利用预设密钥和加密算法对所述编码明文数据进行加密,得到安装密文。
可选的,所述安装请求中包含安装密文,所述获取移动终端发送的安装请求,根据所述安装请求得到目标安装密文,包括:
获取移动终端发送的安装请求,将所述安装请求中的安装密文确定为目标安装密文;
所述安装请求中包含明文数据,所述获取移动终端发送的安装请求,根据所述安装请求确定目标安装密文,包括:
获取移动终端发送的安装请求,获取所述安装请求中的明文数据;
对所述明文数据进行加密处理,得到安装密文,将所述安装密文作为目标安装密文。
可选的,所述方法还包括:
获取移动终端发送的更新指令,所述更新指令中包括更新密文;所述更新密文与待更新应用程序相匹配;
判断是否存在与所述更新密文匹配的应用程序信息;
若存在,则向所述移动终端发送允许更新指令,以便所述移动终端根据所述允许更新指令对所述待更新应用程序进行更新;
若不存在,则向所述移动终端发送禁止更新指令,以便所述移动终端根据所述禁止更新指令停止更新所述待更新应用程序。
第二方面,本申请提供一种应用程序的安装方法,所述方法应用于移动终端,所述方法包括:
获取安装指令,所述安装指令中包括与目标应用程序对应的安装信息;
将所述安装信息发送至应用服务器,以便所述应用服务器根据所述安装信息,确定与所述安装信息对应的应用程序安装文件;
接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件生成安装请求;
将所述安装请求发送至云端服务器,以便所述云端服务器根据所述安装请求确定目标应用程序安装数据;
接收由所述云端服务器发送的所述目标应用程序安装数据,利用所述目标应用程序安装数据进行所述目标应用程序的安装。
可选的,所述接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件生成安装请求,包括:
接收由所述应用服务器发送的部分应用程序安装包;所述部分应用程序安装包为原始应用程序安装包的部分;
对所述部分应用程序安装包进行二进制转换,得到第二应用程序安装数据;
获取所述第二应用程序安装数据中的前n个比特数据作为明文数据;根据所述明文数据生成安装请求;其中,n为正整数;
或者,
接收由所述应用服务器发送的候选应用程序安装数据;所述候选应用程序安装数据是由云端服务器发送至所述应用服务器的;
获取所述候选应用程序安装数据中的前n个比特数据作为安装密文;
根据所述安装密文生成安装请求;其中,n为正整数。
第三方面,本申请提供一种应用程序的安装装置,所述装置包括:
第一获取单元,用于获取由移动终端发送的安装请求,根据所述安装请求得到目标安装密文;
匹配单元,用于根据所述目标安装密文,在信息数据库中确定与所述目标安装密文匹配的目标应用程序信息;
选取单元,用于根据所述目标应用程序信息,在应用数据库中选取与所述目标应用程序信息匹配的候选应用程序安装数据作为第一应用程序安装数据;所述候选应用程序安装数据是对原始应用程序安装包进行加密处理得到的;
解密单元,用于对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据;
第一发送单元,用于将所述目标应用程序安装数据发送至所述移动终端,以便所述移动终端利用所述目标应用程序安装数据进行目标应用程序的安装。
可选的,所述装置还包括:
第三获取单元,用于获取原始应用程序安装包以及对应的应用程序信息;
转换单元,用于将所述原始应用程序安装包转换为二进制模式,得到待处理应用程序安装数据;
第一建立单元,用于对所述待处理应用程序安装数据进行加密处理,得到候选应用程序安装数据;建立所述候选应用程序安装数据与所述应用程序信息的匹配关系;将所述候选应用程序安装数据保存至应用数据库中;
第二建立单元,用于获取所述待处理应用程序安装数据中的前n个比特数据作为明文数据,其中,n为正整数;对所述明文数据进行加密处理,得到安装密文;建立所述安装密文与所述应用程序信息的匹配关系;将所述安装密文和所述应用程序信息保存至信息数据库中。
可选的,所述第一建立单元,具体用于利用base64编码方式对所述待处理应用程序安装数据进行编码,得到编码应用程序安装数据;利用预设密钥和加密算法对所述编码应用程序安装数据进行加密,得到候选应用程序安装数据;
所述解密单元,具体用于利用预设密钥和解密算法对第一应用程序安装数据进行解密,得到明文应用程序安装数据;利用base64编码方式对所述明文应用程序安装数据进行解码,得到目标应用程序安装数据。
可选的,所述第二建立单元,具体用于利用base64编码方式对所述明文数据进行编码,得到编码明文数据;利用预设密钥和加密算法对所述编码明文数据进行加密,得到安装密文。
可选的,第一获取单元,具体用于获取移动终端发送的安装请求,将所述安装请求中的安装密文确定为目标安装密文;
第一获取单元,具体用于获取移动终端发送的安装请求,获取所述安装请求中的明文数据;对所述明文数据进行加密处理,得到安装密文,将所述安装密文作为目标安装密文。
可选的,所述装置还包括:
更新单元,具体用于获取移动终端发送的更新指令,所述更新指令中包括更新密文;所述更新密文与待更新应用程序相匹配;判断是否存在与所述更新密文匹配的应用程序信息;若存在,则向所述移动终端发送允许更新指令,以便所述移动终端根据所述允许更新指令对所述待更新应用程序进行更新;若不存在,则向所述移动终端发送禁止更新指令,以便所述移动终端根据所述禁止更新指令停止对所述待更新应用程序进行更新。
第四方面,本申请提供一种应用程序的安装装置,所述装置包括:
第二获取单元,用于获取安装指令,所述安装指令中包括与目标应用程序对应的安装信息;
第二发送单元,用于将所述安装信息发送至应用服务器,以便所述应用服务器根据所述安装信息,确定与所述安装信息对应的应用程序安装文件;
第一接收单元,用于接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件生成安装请求;
第三发送单元,用于将所述安装请求发送至云端服务器,以便所述云端服务器根据所述安装请求确定目标应用程序安装数据;
第二接收单元,用于接收由所述云端服务器发送的所述目标应用程序安装数据,利用所述目标应用程序安装数据进行所述目标应用程序的安装。
可选的,所述第一接收单元,具体用于接收由所述应用服务器发送的部分应用程序安装包;所述部分应用程序安装包为原始应用程序安装包的部分;对所述部分应用程序安装包进行二进制转换,得到第二应用程序安装数据;获取所述第二应用程序安装数据中的前n个比特数据作为明文数据;根据所述明文数据生成安装请求;其中,n为正整数;
或者,
接收由所述应用服务器发送的候选应用程序安装数据;所述候选应用程序安装数据是由云端服务器发送至所述应用服务器的;获取所述候选应用程序安装数据中的前n个比特数据作为安装密文;根据所述安装密文生成安装请求;其中,n为正整数。
由此可见,本申请实施例具有如下有益效果:
本申请实施例提供的应用程序的安装方法,首先,移动终端获取安装指令,安装指令中包括与目标应用程序对应的安装信息;将所述安装信息发送至应用服务器,以便所述应用服务器根据所述安装信息,确定与所述安装信息对应的应用程序安装文件;移动终端再接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件对应的生成安装请求;并将所述安装请求发送至云端服务器。其次,云端服务器在获取移动终端发送的安装请求之后,根据所述安装请求确定目标安装密文;并利用目标安装密文在信息数据库中确定与所述目标安装密文匹配的目标应用程序信息;根据所述目标应用程序信息,在应用数据库中选取与所述目标应用程序信息匹配的候选应用程序安装数据作为第一应用程序安装数据;所述候选应用程序安装数据是对原始应用程序安装包进行加密处理得到的;对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据;将所述目标应用程序安装数据发送至所述移动终端。最后,移动终端利用所述目标应用程序安装数据进行目标应用程序的安装。
由此可见,移动终端先通过安装指令从应用服务器中获取应用程序安装文件,再根据应用程序安装文件生成对应的安装请求,将生成安装请求发送至云端服务器。云端服务器根据安装请求确定目标安装密文,再利用确定目标安装密文进行对应的目标应用程序信息的查找。通过确定与目标安装密文匹配的目标应用程序信息,可以确定移动终端下载的应用程序安装文件是否为云端服务器中保存的较为安全的应用程序安装文件,实现对移动终端下载的应用程序安装文件进行安全核验。进一步的,云端服务器再根据目标应用程序信息确定第一应用程序安装数据,并进行解密,得到用于移动终端安装应用程序的目标应用程序安装数据。通过对应用程序安装数据进行加密和解密,可以防止下载至移动终端的应用程序安装数据中携带有植入的其他恶意程序数据,能够向移动终端提供较为安全的目标应用程序安装数据,确保应用程序的安装安全,提高了移动终端的运行安全程度以及用户的使用安全程度。
具体实施方式
为了便于理解和解释本申请实施例提供的技术方案,下面将先对本申请的背景技术进行说明。
发明人在对传统的应用程序的安装方式进行研究后发现,现有的下载应用程序的安装包的途径较多,用户可以通过系统提供的应用程序市场软件下载,也可以通过第三方应用程序市场软件下载,还可以通过浏览器进行下载。但是,从部分途径下载的安装包中可能具有其他恶意程序或者恶意软件的安装包。用户在不知情的情况下,利用下载的安装包进行应用程序的安装时,会导致安装恶意软件或者是运行恶意程序,影响移动终端的安全运行,导致用户的使用数据或者是个人信息被窃取。
基于此,本申请实施例提供一种应用程序的安装方法,首先,移动终端获取安装指令,安装指令中包括与目标应用程序对应的安装信息;将所述安装信息发送至应用服务器,以便所述应用服务器根据所述安装信息,确定与所述安装信息对应的应用程序安装文件;移动终端再接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件对应的生成安装请求;并将所述安装请求发送至云端服务器。其次,云端服务器在获取移动终端发送的安装请求之后,根据所述安装请求确定目标安装密文;并利用目标安装密文在信息数据库中确定与所述目标安装密文匹配的目标应用程序信息;根据所述目标应用程序信息,在应用数据库中选取与所述目标应用程序信息匹配的候选应用程序安装数据作为第一应用程序安装数据;所述候选应用程序安装数据是对原始应用程序安装包进行加密处理得到的;对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据;将所述目标应用程序安装数据发送至所述移动终端。最后,移动终端利用所述目标应用程序安装数据进行目标应用程序的安装。
为了便于理解本申请实施例提供的技术方案,下面结合附图对本申请实施例提供的一种应用程序的安装方法进行说明。
需要说明的是,为了便于理解,下面将对云端服务器和移动终端的整体交互过程进行介绍。
参见图1所示,该图为本申请实施例提供的一种应用程序的安装方法的流程图,该方法包括步骤S101-S110。
S101:移动终端获取安装指令,所述安装指令中包括与目标应用程序对应的安装信息。
在进行应用程序的安装之前,移动终端先获取安装指令,通过安装指令确定需要安装的目标应用程序。
本申请实施例不限定安装指令的来源,安装指令可以是用户针对需要安装的目标应用程序触发生成的,例如,用户可以通过点击应用程序安装界面中的下载按键触发生成安装指令。安装指令也可以是移动终端的运行系统自动触发生成的,例如系统应用程序的下载和更新。
安装指令是根据所要安装的目标应用程序生成的,安装指令中包括与目标应用程序相对应的安装信息。具体的,安装信息可以为应用程序名称、应用程序图标、应用程序安装包名称、应用程序安装包大小、应用程序说明信息中的一种或者多种。
S102:移动终端将所述安装信息发送至应用服务器,以便所述应用服务器根据所述安装信息,确定与所述安装信息对应的应用程序安装文件。
移动终端将安装指令中的安装信息发送至应用服务器中,以便应用服务器可以根据安装信息确定目标应用程序,进而确定对应的应用程序安装文件。
应用服务器是指具有提供应用程序安装文件下载功能的服务器。例如,应用服务器可以是向应用市场软件提供网络服务的服务器,移动终端可以通过已安装的应用市场软件与应用服务器进行信息的交互。又例如,应用服务器可以是与向浏览器提供网络服务的服务器,移动终端可以通过浏览器与应用服务器进行信息的交互。
应用服务器在获取移动终端发送的安装信息之后,先根据安装信息确定对应的应用程序安装文件。
应用程序安装文件是移动终端用于进行应用程序安装的相关文件。应用程序安装文件可以为应用程序安装包或者是应用程序安装数据。应用程序安装文件具有与应用程序对应的应用程序信息。在根据安装信息确定对应的应用程序安装文件时,可以先确定与安装信息匹配的应用程序信息,再根据匹配的应用程序信息确定应用程序安装文件。
在一种可能的实现方式中,为了确保应用程序的安装安全,应用程序安装文件可以是从云端服务器获取的通过加密处理后的应用程序安装数据或者应用程序安装包。
S103:移动终端接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件生成安装请求。
在应用服务器确定与安装信息对应的应用程序安装文件后,应用服务器将应用程序安装文件发送至移动终端。
移动终端接收应用程序安装文件,根据应用程序安装文件生成用于发送至云端服务器的安装请求。安装请求中具有云端服务器所需的,可以生成目标安装密文的相关信息。
对于不同类型的应用程序安装文件,移动终端根据应用程序安装文件生成安装请求的方式不同。本申请实施例还提供了S103的具体实施方式,请参见下文。
S104:移动终端将所述安装请求发送至云端服务器,以便所述云端服务器根据所述安装请求确定目标应用程序安装数据。
移动终端将生成的安装请求发送至云端服务器,云端服务器是用于向移动终端提供目标应用程序安装数据的。移动终端利用目标应用程序安装数据可以实现目标应用程序的安装。
S105:云端服务器获取由移动终端发送的安装请求,根据所述安装请求得到目标安装密文。
云端服务器获取移动终端发送的安装请求,利用安装请求确定目标安装密文。
其中,目标安装密文可以是用于实现目标应用程序安装的加密的信息。云端服务器通过目标安装密文可以确定移动终端所要安装的目标应用程序,并且可以根据目标安装密文选取以及处理得到目标应用程序安装数据。
目标安装密文可以是对与目标应用程序安装包相关的数据加密后得到的。并且,针对于不同类型的安装请求,根据安装请求得到目标安装密文的方法不同,本申请实施例提供了一种S105的具体实现方式,请参见下文具体实施方式。
S106:云端服务器根据所述目标安装密文,在信息数据库中确定与所述目标安装密文匹配的目标应用程序信息。
云端服务器根据目标安装密文,可以在信息数据库中确定与目标安装密文相匹配的目标应用程序信息。
其中,信息数据库为存储安装密文和应用程序信息的数据库,安装密文与应用程序信息具有一一对应关系。安装密文与应用程序信息的对应关系可以预先设定。应用程序信息为与应用程序相对应的基本信息,包括但不限于应用程序的名称、应用程序的大小、应用程序的图标、应用程序的相关说明信息等。
在云端服务器确定目标安装密文之后,可以在信息数据库所存储的应用程序信息中查询与目标安装密文所对应的应用程序信息。若具有与目标安装密文所对应的目标应用程序信息,则说明该目标安装密文是安全可用的,移动终端获取的应用程序安装文件是较为安全的。若不具有与目标安装密文所对应的目标应用程序信息,则说明移动终端获取的应用程序安装文件是非安全的,可能是未通过云端服务器验证的。
通过在云端服务器的信息数据库中确定与目标安装密文匹配的目标应用程序信息,可以对目标安装密文的有效性进行判断。进而可以对与目标安装密文相关的应用程序安装文件的安全性进行验证,确保应用程序安装的安全性。
S107:云端服务器根据所述目标应用程序信息,在应用数据库中选取与所述目标应用程序信息匹配的候选应用程序安装数据作为第一应用程序安装数据;所述候选应用程序安装数据是对原始应用程序安装包进行加密处理得到的。
在确定与目标安装密文匹配的目标应用程序信息之后,云端服务器根据目标应用程序信息,在应用数据库中选取与目标应用程序信息相匹配的候选应用程序安装数据。
需要说明的是,应用程序信息与候选应用程序安装数据具有一一对应关系,应用程序信息与候选应用程序安装数据均对应与同一个应用程序,甚至对应于同一个应用程序的相同版本。应用程序信息与候选应用程序安装数据的对应关系也可以是预先设定的。
根据确定的目标应用程序信息,在应用数据库中选取相匹配的候选应用程序安装数据,将选取的候选应用程序安装数据作为第一应用程序安装数据。其中,应用数据库是用于存储候选应用程序安装数据的数据库。
候选应用程序安装数据可以是对原始应用程序安装包进行加密后得到的,原始应用程序安装包可以是由应用程序相关的机构或者是组织提供的,通过安全认证的应用程序安装包。
通过对原始应用程序安装包进行加密,得到候选应用程序安装数据。再通过从候选应用程序安装数据中选择第一应用程序安装数据,可以确保获取的第一应用程序安装数据的安全,可以避免恶意程序的植入。
另外,本申请实施例还提供了对原始应用程序安装包进行加密处理得到候选应用程序安装数据的方法,具体请参见下文。
S108:云端服务器对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据。
由于候选应用程序安装数据是通过对原始应用程序安装包进行加密得到的,所以从候选应用程序安装数据中确定的第一应用程序安装数据也是加密的。
云端服务器对获取到的第一应用程序安装数据进行解密,得到可以用于移动终端安装目标应用程序的目标应用程序安装数据。
对第一应用程序安装数据进行解密的方法,可以与对原始应用程序安装包进行加密得到候选应用程序安装数据的方法相对应。
相对应的,本申请实施例还提供了对第一应用程序安装数据进行解密方法,具体请参见下文。
S109:云端服务器将所述目标应用程序安装数据发送至所述移动终端,以便所述移动终端利用所述目标应用程序安装数据进行目标应用程序的安装。
目标应用程序安装数据中具有移动终端进行应用程序安装的必要的数据,云端服务器将解密的得到的目标应用程序安装数据发送至移动终端。
S110:移动终端接收由所述云端服务器发送的所述目标应用程序安装数据,利用所述目标应用程序安装数据进行所述目标应用程序的安装。
移动终端根据获取到的目标应用程序进行目标应用程序的安装。
需要说明的是,目标应用程序安装数据是二进制转换后的,移动终端可以对目标应用程序安装数据进行处理后得到对应的目标应用程序安装包。
在一种可能的实现方式中,可以通过移动终端的android系统对目标应用程序安装数据进行处理。另外,还可以将目标应用程序安装数据与从应用服务器获取的应用程序安装文件中的数据进行组合,得到最后用于安装目标应用程序的目标应用程序安装包。
在本申请实施例中,移动终端先通过安装指令从应用服务器中获取应用程序安装文件,再根据应用程序安装文件生成对应的安装请求,将生成安装请求发送至云端服务器。云端服务器根据安装请求确定目标安装密文,再利用确定目标安装密文进行对应的目标应用程序信息的查找。通过确定与目标安装密文匹配的目标应用程序信息,可以确定移动终端下载的应用程序安装文件是否为云端服务器中保存的安全的应用程序安装文件,从而对移动终端下载的应用程序安装文件进行安全核验。
进一步的,云端服务器再根据目标应用程序信息确定第一应用程序安装数据,并进行解密,得到用于移动终端安装应用程序的目标应用程序安装数据。通过对应用程序安装数据进行加密和解密,可以防止应用程序安装数据中携带有其他恶意程序数据,能够向移动终端提供较为安全的目标应用程序安装数据,确保应用程序的安装安全,提高了移动终端的运行安全程度以及用户的使用安全程度。
为了提高应用程序安装包的安全性,防止其他恶意程序对应用程序安装包进行篡改,可以对通过安全验证的应用程序安装包进行加密处理。
在一种可能的实现方式中,本申请实施例提供一种云端服务器对原始应用程序安装包进行处理的方法,除上述步骤以外,所述方法还包括以下四个步骤:
A1:获取原始应用程序安装包以及对应的应用程序信息。
云端服务器先获取原始应用程序安装包,原始应用程序安装包可以是由用程序相关的机构或者是组织提供的,通过安全认证的应用程序安装包。例如,原始应用程序安装包可以是从应用程序的官方下载网站上获取的。
获取与原始应用程序安装包相对应的应用程序信息。应用程序信息为与应用程序相对应的基本信息,包括但不限于应用程序的名称、应用程序的大小、应用程序的图标、应用程序的相关说明信息等相关信息。
A2:将所述原始应用程序安装包转换为二进制模式,得到待处理应用程序安装数据。
将原始应用程序安装包中的数据转换为二进制模式,如此可以得到转换后的原始应用程序安装包对应的待处理应用程序安装数据。
A3:对所述待处理应用程序安装数据进行加密处理,得到候选应用程序安装数据;建立所述候选应用程序安装数据与所述应用程序信息的匹配关系;将所述候选应用程序安装数据保存至应用数据库中。
进一步的,对二进制转换后的待处理应用程序数据进行加密处理,对应的得到候选应用程序安装数据。候选应用程序安装数据可以储存在应用数据库中,以便后续云端服务器利用目标应用程序信息确定对应的候选应用程序安装数据,也就是第一应用程序安装数据。
在一种可能的实现方式中,所述对所述待处理应用程序安装数据进行加密处理,得到候选应用程序安装数据,包括:
利用base64编码方式对所述待处理应用程序安装数据进行编码,得到编码应用程序安装数据;利用预设密钥和加密算法对所述编码应用程序安装数据进行加密,得到候选应用程序安装数据。
在利用密钥和加密算法进行加密之前,可以采用base64编码方式先对待处理应用程序安装数据进行编码加密,得到对应的编码应用程序安装数据,再通过密钥和加密算法进行加密。预设密钥可以是与加密算法对应的。具体的,加密算法可以为AES(AdvancedEncryption Standard,高级加密标准)加密函数,预设密钥可以是针对AES加密函数对应设置的密钥。在对编码应用程序安装数据进行加密时,可以将编码应用程序安装数据和密钥输入至AES加密函数中,得到AES加密函数输出的加密后的候选应用程序安装数据。
相对应的,在云端服务器获取到第一应用程序安装数据进行解密时,可以进行与上述对待处理应用程序安装数据加密操作相对应的解密操作。参见图2,图2为本申请实施例提供的一种对编码应用程序安装数据进行加密和解密的示意图。
具体的,所述对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据,包括:
利用预设密钥和解密算法对第一应用程序安装数据进行解密,得到明文应用程序安装数据;
利用base64编码方式对所述明文应用程序安装数据进行解码,得到目标应用程序安装数据。
在解密时先利用预设密钥和解密算法对第一应用程序安装数据进行解密,得到对应的明文应用程序安装数据,再利用base64编码方式对明文应用程序安装数据进行解码,得到解密后的目标应用程序安装数据。
相对应的,解密算法也可以采用AES解密算法。可以将第一应用程序安装数据和预设密钥输入至AES解密算法中,得到AES解密算法输出的解密后的明文应用程序安装数据。
A4:获取所述待处理应用程序安装数据中的前n个比特数据作为明文数据,其中,n为正整数;对所述明文数据进行加密处理,得到安装密文;建立所述安装密文与所述应用程序信息的匹配关系;将所述安装密文和所述应用程序信息保存至信息数据库中。
此外,还可以根据待处理应用程序安装数据生成安装密文。从待处理应用程序安装数据中选取前n个比特数据作为明文数据,其中n为正整数。作为一种示例,可以从待处理应用程序安装数据中选取前10个比特数据作为明文数据。
对明文数据进行加密处理,得到对应的安装密文。在一种可能的实现方式中,为了后续移动终端可以较为方便的获取安装密文,可以采用与候选应用程序安装数据相同的加密方法。如此得到的安装密文与候选应用程序安装数据中的部分数据相同,移动终端可以根据获取到的为候选应用程序安装数据的应用程序安装文件直接获取到安装密文。
对所述明文数据进行加密处理,得到安装密文,包括:
利用base64编码方式对所述明文数据进行编码,得到编码明文数据;
利用预设密钥和加密算法对所述编码明文数据进行加密,得到安装密文。
本申请实施例提供的通过明文数据得到安装密文的方法,与上述对所述待处理应用程序安装数据进行加密处理,得到候选应用程序安装数据的方法类似,在此不再赘述。
在本申请实施例中,通过对原始应用程序安装包进行二进制转换以及加密处理,可以得到加密后的候选应用程序安装数据,使得在移动终端进行应用程序安装时,先需要对选取的第一应用程序安装数据进行解密,能够实现对于第一应用程序安装数据的保护。一方面,可以使得第一应用程序安装数据难以被篡改;另一方面,对于较为特殊的应用程序而言,也可以实现对于第一应用程序安装数据的保护,防止第一应用程序安装数据泄密。
根据上述内容可知,应用服务器发送至移动终端的应用程序安装文件可能具有多种情况。在本申请实施例中,应用程序安装文件可以为部分应用程序安装包或者是候选应用程序安装数据。
针对不同的应用程序安装文件,本申请实施例提供了对应的移动终端生成安装请求的方法。
所述接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件生成安装请求,包括以下两种情况:
情况一:当应用程序安装文件为部分应用程序安装包时,接收由所述应用服务器发送的部分应用程序安装包;所述部分应用程序安装包为原始应用程序安装包的部分;对所述部分应用程序安装包进行二进制转换,得到第二应用程序安装数据;获取所述第二应用程序安装数据中的前n个比特数据作为明文数据;根据所述明文数据生成安装请求;其中,n为正整数。
需要说明的是,为了防止移动终端根据获取到的应用程序安装文件直接进行对应用程序的安装,应用服务器可以向移动终端发送部分原始应用程序安装包,也就是部分应用程序安装包。部分应用程序安装包为原始应用程序安装包的一部分,移动终端不能根据部分应用程序安装包实现对于目标应用程序的安装。在一种可能的实现方式中,为了便于生成明文数据,部分应用程序安装包可以是原始应用程序安装包的起始部分。
当应用程序安装文件为部分应用程序安装包时,移动终端先需要对部分应用程序安装包进行处理,以得到用于生成安装指令的明文数据。
对部分应用程序安装包进行二进制转换,得到对应的第二应用程序安装数据,再获取第二应用程序安装数据中的前n个比特数据作为明文数据; n为正整数。再根据得到的明文数据生成对应的安装指令,云端服务器再根据安装指令中的明文数据对应的生成目标安装密文。
或者,情况二:当应用程序安装文件为候选应用程序安装数据时,接收由所述应用服务器发送的候选应用程序安装数据;所述候选应用程序安装数据是由云端服务器发送至所述应用服务器的;获取所述候选应用程序安装数据中的前n个比特数据作为安装密文;根据所述安装密文生成安装请求;其中,n为正整数。
当应用服务器中具有云端服务器提供的候选应用程序安装数据时,可以将候选应用程序安装数据发送至移动终端。移动终端不能对候选应用程序安装数据进行解密,无法利用候选应用程序安装数据直接进行目标应用程序的安装。
由于候选应用程序安装数据是经过加密的,可以直接选取候选应用程序安装数据的前n个比特数据作为安装密文,其中,n为正整数。再利用得到的安装密文生成对应的安装请求,云端服务器可以根据安装请求中的安装密文直接得到目标安装密文。
在本申请实施例中,对于获取到的应用程序安装文件为部分应用程序安装包时,提取明文数据生成对应的安装请求;当获取到的应用程序安装文件为候选应用程序安装数据时,直接获取安装密文生成对应的安装请求。能够实现针对于不同的应用程序安装文件对应的生成安装请求,以便于云端服务器确定目标安装密文。
进一步的,对于云端服务器而言,对应于安装请求中具有的不同的内容,确定目标安装密文的方法也不同。本申请实施例还提供了根据安装请求确定目标安装密文的方法。
所述安装请求中包含安装密文,所述获取移动终端发送的安装请求,根据所述安装请求确定目标安装密文,包括:
获取移动终端发送的安装请求,将所述安装请求中的安装密文确定为目标安装密文。
当安装请求中包含安装密文时,可以直接将安装密文确定为目标安装密文。
所述安装请求中包含明文数据,所述获取移动终端发送的安装请求,根据所述安装请求确定目标安装密文,包括:
获取移动终端发送的安装请求,获取所述安装请求中的明文数据;对所述明文数据进行加密处理,得到安装密文,将所述安装密文作为目标安装密文。
当安装请求中包含的是明文数据时,先对明文数据进行加密处理,得到对应的安装密文,再将安装密文作为目标安装密文。本申请实施例不限定对明文数据进行加密的方法,在一种可能的实现方式中,可以与上述对明文数据进行加密的方法相同,在此不再赘述。
对于安装后的应用程序,可能会需要进行更新。在更新时,可以通过云端服务器对应用程序进行验证。
本申请实施例还提供了应用程序更新的方法,除上述步骤以外,云端服务器还可以执行以下四个步骤:
B1:获取移动终端发送的更新指令,所述更新指令中包括更新密文;所述更新密文与待更新应用程序相匹配。
云端服务器获取移动终端发送的更新指令,其中,更新指令是与待更新应用程序相关的,更新指令中包括与待更新应用程序相匹配的更新密文。
需要说明的是,更新密文可以是根据待更新应用程序的应用程序安装包生成的。在一种可能的实现方式中,更新密文的生成方法可以与安装密文的生成方法类似,在此不再赘述。
B2:判断是否存在与所述更新密文匹配的应用程序信息。
云端服务器利用更新密文进行查询匹配的应用程序信息,确定是否存在与更新密文相匹配的应用程序信息。通过判断是否具有匹配的应用程序信息,可以验证更新密文的有效性。
B3:若存在,则向所述移动终端发送允许更新指令,以便所述移动终端根据所述允许更新指令对所述待更新应用程序进行更新。
如果存在与更新密文匹配的应用程序信息,云端服务器可以确定更新密文有效,向移动终端发送允许更新指令。移动终端在获取到允许更新指令后可以通过应用程序自动进行更新。
B4:若不存在,则向所述移动终端发送禁止更新指令,以便所述移动终端根据所述禁止更新指令停止对所述待更新应用程序进行更新。
如果不存在与更新密文匹配的应用程序信息,远端服务器可以确定更新密文无效,向移动终端发送禁止更新指令。移动终端在获取到禁止更新指令后停止对待更新应用程序的更新。
在本申请实施例中,在对待更新应用程序进行更新之前,将更新指令发送至云端服务器,云端服务器利用更新指令中的更新密文进行匹配,以此来验证更新密文的有效性,确保应用程序在更新时的安全性。
基于上述方法实施例提供的应用程序的安装方法,本申请实施例还提供了一种应用程序的安装装置,下面将结合附图对该应用程序的安装装置进行说明。
参见图3,该图为本申请实施例提供的一种应用程序的安装装置的结构示意图。如图3所示,该应用程序的安装装置包括:
第一获取单元301,用于获取由移动终端发送的安装请求,根据所述安装请求得到目标安装密文;
匹配单元302,用于根据所述目标安装密文,在信息数据库中确定与所述目标安装密文匹配的目标应用程序信息;
选取单元303,用于根据所述目标应用程序信息,在应用数据库中选取与所述目标应用程序信息匹配的候选应用程序安装数据作为第一应用程序安装数据;所述候选应用程序安装数据是对原始应用程序安装包进行加密处理得到的;
解密单元304,用于对所述第一应用程序安装数据进行解密,得到目标应用程序安装数据;
第一发送单元305,用于将所述目标应用程序安装数据发送至所述移动终端,以便所述移动终端利用所述目标应用程序安装数据进行目标应用程序的安装。
可选的,所述装置还包括:
第三获取单元,用于获取原始应用程序安装包以及对应的应用程序信息;
转换单元,用于将所述原始应用程序安装包转换为二进制模式,得到待处理应用程序安装数据;
第一建立单元,用于对所述待处理应用程序安装数据进行加密处理,得到候选应用程序安装数据;建立所述候选应用程序安装数据与所述应用程序信息的匹配关系;将所述候选应用程序安装数据保存至应用数据库中;
第二建立单元,用于获取所述待处理应用程序安装数据中的前n个比特数据作为明文数据,其中,n为正整数;对所述明文数据进行加密处理,得到安装密文;建立所述安装密文与所述应用程序信息的匹配关系;将所述安装密文和所述应用程序信息保存至信息数据库中。
可选的,所述第一建立单元,具体用于利用base64编码方式对所述待处理应用程序安装数据进行编码,得到编码应用程序安装数据;利用预设密钥和加密算法对所述编码应用程序安装数据进行加密,得到候选应用程序安装数据;
所述解密单元,具体用于利用预设密钥和解密算法对第一应用程序安装数据进行解密,得到明文应用程序安装数据;利用base64编码方式对所述明文应用程序安装数据进行解码,得到目标应用程序安装数据。
可选的,所述第二建立单元,具体用于利用base64编码方式对所述明文数据进行编码,得到编码明文数据;利用预设密钥和加密算法对所述编码明文数据进行加密,得到安装密文。
可选的,第一获取单元,具体用于获取移动终端发送的安装请求,将所述安装请求中的安装密文确定为目标安装密文;
第一获取单元,具体用于获取移动终端发送的安装请求,获取所述安装请求中的明文数据;对所述明文数据进行加密处理,得到安装密文,将所述安装密文作为目标安装密文。
可选的,所述装置还包括:
更新单元,具体用于获取移动终端发送的更新指令,所述更新指令中包括更新密文;所述更新密文与待更新应用程序相匹配;判断是否存在与所述更新密文匹配的应用程序信息;若存在,则向所述移动终端发送允许更新指令,以便所述移动终端根据所述允许更新指令对所述待更新应用程序进行更新;若不存在,则向所述移动终端发送禁止更新指令,以便所述移动终端根据所述禁止更新指令停止对所述待更新应用程序进行更新。
基于上述方法实施例提供的应用程序的安装方法,本申请实施例还提供了一种应用程序的安装装置,下面将结合附图对该应用程序的安装装置进行说明。
参见图4,该图为本申请实施例提供的一种应用程序的安装装置的结构示意图。如图4所示,该应用程序的安装装置包括:
第二获取单元401,用于获取安装指令,所述安装指令中包括与目标应用程序对应的安装信息;
第二发送单元402,用于将所述安装信息发送至应用服务器,以便所述应用服务器根据所述安装信息,确定与所述安装信息对应的应用程序安装文件;
第一接收单元403,用于接收由所述应用服务器发送的所述应用程序安装文件,根据所述应用程序安装文件生成安装请求;
第三发送单元404,用于将所述安装请求发送至云端服务器,以便所述云端服务器根据所述安装请求确定目标应用程序安装数据;
第二接收单元405,用于接收由所述云端服务器发送的所述目标应用程序安装数据,利用所述目标应用程序安装数据进行目标应用程序的安装。
可选的,所述第一接收单元,具体用于接收由所述应用服务器发送的部分应用程序安装包;所述部分应用程序安装包为原始应用程序安装包的部分;对所述部分应用程序安装包进行二进制转换,得到第二应用程序安装数据;获取所述第二应用程序安装数据中的前n个比特数据作为明文数据;根据所述明文数据生成安装请求;其中,n为正整数;
或者,
接收由所述应用服务器发送的候选应用程序安装数据;所述候选应用程序安装数据是由云端服务器发送至所述应用服务器的;获取所述候选应用程序安装数据中的前n个比特数据作为安装密文;根据所述安装密文生成安装请求;其中,n为正整数。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。