CN104751049A - 一种应用程序安装方法及移动终端 - Google Patents

一种应用程序安装方法及移动终端 Download PDF

Info

Publication number
CN104751049A
CN104751049A CN201510102762.7A CN201510102762A CN104751049A CN 104751049 A CN104751049 A CN 104751049A CN 201510102762 A CN201510102762 A CN 201510102762A CN 104751049 A CN104751049 A CN 104751049A
Authority
CN
China
Prior art keywords
application program
test value
proof test
attribute information
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510102762.7A
Other languages
English (en)
Other versions
CN104751049B (zh
Inventor
黄园
吴丕和
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201510102762.7A priority Critical patent/CN104751049B/zh
Publication of CN104751049A publication Critical patent/CN104751049A/zh
Application granted granted Critical
Publication of CN104751049B publication Critical patent/CN104751049B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种应用程序安装方法及移动终端,其中方法包括如下步骤:发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值;当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值;当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。本发明实施例能够避免应用程序被篡改,提高移动终端的安全性。

Description

一种应用程序安装方法及移动终端
技术领域
本发明涉及移动终端技术领域,具体涉及一种应用程序安装方法及移动终端。
背景技术
随着移动终端上应用程序种类越来越多,应用程序的安装包的安全问题日益显著,不法分子恶意篡改应用程序的安装包使移动终端的***、数据处于危险之中。目前主要采用签名的方式防止不法分子恶意篡改应用程序的安装包,其具体实现过程是,目标应用程序编译生成安装包后,对安装包内的所有路径和文件进行运算得到一个唯一的特征值A,然后用开发者的私钥对特征值A进行加密运算得到加密运算结果B,将特征值A与加密运行结果B都保存在安装包中,在安装目标应用程序的安装包时,对加密运算结果B进行解密,若解密后的结果与特征值A一致,则认为安装包未被篡改,允许在移动终端上安装。
但是,一旦开发者的私钥被泄露,不法分子便可利用泄露的私钥对任意安装包的签名进行修改从而获得签名对应的权限,如果不法分子得到***权限便能任意盗窃移动终端内的数据、破坏***文件,严重威胁移动终端的安全。
发明内容
本发明实施例提供一种应用程序安装方法及移动终端,能够避免应用程序被篡改,提高移动终端的安全性。
本发明实施例第一方面提供一种应用程序安装方法,可包括:
发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值;
当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值;
当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。
本发明实施例第二方面提供一种移动终端,可包括:
发送单元,用于发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值;
计算单元,用于当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值;
安装单元,用于当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。
在本发明实施例中,通过向服务器发送携带有待安装应用程序的属性信息的验证请求,使服务器查找与待安装应用程序的属性信息相对应的第一校验值,当服务器中存在第一校验值时,获取服务器发送的第一校验值并根据待安装应用程序计算得到第二校验值,当第一校验值与第二检验值相同时,安装待安装应用程序,能够确保安装的应用程序未被篡改,防止不法分子获取移动终端内的数据,提高移动终端的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种应用程序安装方法的流程示意图;
图2为本发明实施例提供的另一种应用程序安装方法的流程示意图;
图3为本发明实施例提供的一种移动终端的结构示意图;
图4为本发明实施例提供的另一种移动终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的一种应用程序安装方法及移动终端可以应用于用户在移动终端上下载安装、更新应用程序的安装包的场景,移动终端通过与电脑相连下载安装、更新应用程序的安装包的场景等,确保安装的应用程序未被篡改,防止不法分子通过修改应用程序的签名获取***权限盗取移动终端内的数据,提高移动终端的安全性。
本发明实施例提供的移动终端可以包括但不限于手机、PAD(平板电脑)、智能可穿戴设备等电子设备,移动终端的***可以包括但不限于Android***、塞班***、Windows***、IOS(苹果公司开发的移动操作***)***等等。需要说明的是,Android终端指Android***的终端,塞班终端指塞班***的终端,等等。
下面将结合附图1和附图2对本发明实施例提供的应用程序安装方法进行详细介绍。
请参见图1,为本发明实施例提供的一种应用程序安装方法的流程示意图,该方法可包括步骤S101-步骤S103。
S101,发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值。
具体的,在执行步骤S101之前,移动终端接收待安装应用程序的安装指令并根据所述安装指令获取所述待安装应用程序的属性信息,所述属性信息为应用程序的安装包签名信息,包括应用程序的签名类型、包名和版本号信息。以Android***为例,Android***要求每一个Android应用程序必须要经过数字签名才能安装到***中,若某个应用程序的签名类型为platform,则表明该应用程序为***应用程序,该应用程序可以获取***权限,获取***权限的应用程序可以任意查看移动终端内的数据。
本发明实施例中的服务器存储着至少一个应用程序和所述至少一个应用程序中各个应用程序的属性信息,所述服务器采用特定校验算法,例如信息摘要算法5(MD5,Message-Digest Algorithm 5),对所述至少一个应用程序中各个应用程序的安装包数据进行计算以得到所述各个应用程序的校验值,并保存所述各个应用程序的校验值。
当所述移动终端接收到所述安装指令时,所述移动终端获取所述待安装应用程序的属性信息并向所述服务器发送验证请求,所述验证请求携带有所述待安装应用程序的属性信息。所述服务器在已存储的各个应用程序的属性信息中查找所述验证请求中所携带的所述待安装应用程序的属性信息,在查找到所述验证请求中所携带的所述待安装应用程序的属性信息之后,可以进一步获取与所述验证请求中所携带的所述待安装应用程序的属性信息相对应的第一校验值,所述第一校验值是由所述服务器采用所述特定校验算法预先计算出的与所述待安装应用程序的属性信息相对应的校验值。例如,所述验证请求携带的所述待安装应用程序的属性信息包括签名类型为platform、包名为A,版本号为B,所述服务器在已存储的各个应用程序的属性信息中查找签名类型为platform、包名为A,版本号为B的属性信息,若所述服务器查找到该属性信息,则获取与该属性信息相对应的第一校验值。
S102,当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值。
具体的,若所述服务器中存储着所述待安装应用程序及所述待安装应用程序的属性信息,所述服务器便会获取采用所述特定校验算法对所述待安装应用程序的属性信息进行预先计算得到第一校验值;若所述服务器中不存在所述待安装应用程序或者所述待安装应用程序的属性信息,所述服务器中也就不能查找到与所述待安装应用程序的属性信息相对应的第一校验值,所述服务器便会向所述移动终端发送非法信息,所述移动终端便会根据所述非法信息停止安装所述待安装应用程序。当所述服务器中存在所述第一校验值时,可以理解的是所述服务器中存在所述待安装应用程序,所述服务器将所述第一校验值发送至所述移动终端。所述移动终端获取所述服务器发送的所述第一检验值,并使用与所述服务器相同的特定校验算法对所述待安装应用程序的安装包数据进行计算得到第二校验值。
S103,当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。
具体的,所述第二校验值与所述第一校验值可能相同,也可能不相同。当所述第二校验值与所述第一校验值相同时,说明所述移动终端上的所述待安装应用程序的安装包数据与所述服务器所存储的所述第一校验值所对应的属性信息所属的安装包数据相同,可以理解的是所述移动终端上的所述待安装应用程序的安装包数据未被篡改过,所述待安装应用程序为安全合法的应用程序;当所述第二校验值与所述第一校验值不相同时,说明所述移动终端上的所述待安装应用程序的安装包数据与所述服务器所存储的所述第一校验值所对应的属性信息所属的安装包数据不一致,可以理解的是所述移动终端上的所述待安装应用程序的安装包数据被篡改过,所述待安装应用程序可能会威胁所述移动终端的安全。当所述第二校验值与所述第一校验值相同时,说明所述移动终端上的所述待安装应用程序为安全合法的应用程序,所述移动终端允许安装所述待安装应用程序并完成对所述待安装应用程序的安装。例如,若所述服务器对所述待安装应用程序的安装包数据计算得到的第一校验值为M,所述移动终端计算得到的第二检验值也为M,则所述移动终端允许安装所述待安装应用程序并完成对所述待安装应用程序的安装。
在本发明实施例中,通过向服务器发送携带有待安装应用程序的属性信息的验证请求,使服务器查找与待安装应用程序的属性信息相对应的第一校验值,当服务器中存在第一校验值时,获取服务器发送的第一校验值并根据待安装应用程序计算得到第二校验值,当第一校验值与第二检验值相同时,安装待安装应用程序,能够确保安装的应用程序未被篡改,防止不法分子获取移动终端内的数据,提高移动终端的安全性。
请参见图2,为本发明实施例提供的另一种应用程序安装方法的流程示意图,该方法可包括步骤S201-步骤S209。
S201,发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值。
本发明实施例中的服务器存储着至少一个应用程序和所述至少一个应用程序中各个应用程序的属性信息,所述服务器采用特定校验算法,例如信息摘要算法5,对所述至少一个应用程序中各个应用程序的安装包数据进行计算以得到所述各个应用程序的校验值,并保存所述各个应用程序的校验值。
具体的,在执行步骤S201之前,移动终端接收待安装应用程序的安装指令并根据所述安装指令获取所述待安装应用程序的属性信息,所述属性信息为应用程序的安装包签名信息,包括应用程序的签名类型、包名和版本号信息。以Android***为例,Android***要求每一个Android应用程序必须要经过数字签名才能安装到***中,若某个应用程序的签名类型为platform,则表明该应用程序为***应用程序,该应用程序可以获取***权限,获取***权限的应用程序可以任意查看移动终端内的数据。
当所述移动终端接收到所述安装指令时,所述移动终端获取所述待安装应用程序的属性信息并向所述服务器发送验证请求,所述验证请求携带有所述待安装应用程序的属性信息。所述服务器在已存储的各个应用程序的属性信息中查找所述验证请求中所携带的所述待安装应用程序的属性信息,在查找到所述验证请求中所携带的所述待安装应用程序的属性信息之后,可以进一步获取与所述验证请求中所携带的所述待安装应用程序的属性信息相对应的第一校验值,所述第一校验值是由所述服务器采用所述特定校验算法预先计算出的与所述待安装应用程序的属性信息相对应的校验值。例如,所述验证请求携带的所述待安装应用程序的属性信息包括签名类型为platform、包名为A,版本号为B,所述服务器在已存储的各个应用程序的属性信息中查找签名类型为platform、包名为A,版本号为B的属性信息,若所述服务器查找到该属性信息,则获取与该属性信息相对应的第一校验值。
S202,判断所述服务器中是否存在所述第一校验值。
具体的,若所述服务器中存储着所述待安装应用程序及所述待安装应用程序的属性信息,所述服务器便会获取采用所述特定校验算法对所述待安装应用程序的属性信息进行预先计算得到第一校验值;若所述服务器中不存在所述待安装应用程序或者所述待安装应用程序的属性信息,所述服务器中也就不能查找到与所述待安装应用程序的属性信息相对应的第一校验值。因此所述移动终端需要判断所述服务器中是否存在所述第一校验值。
S203,当判断的结果为是时,获取所述服务器发送的所述第一校验值。
具体的,当执行步骤S202得到的判断的结果为是时,可以理解的是所述服务器中存在所述第一校验值,所述服务器将所述第一校验值发送至所述移动终端,所述移动终端获取所述服务器发送的所述第一校验值。
S204,当判断的结果为否时,获取所述服务器发送的非法信息,并根据所述非法信息停止安装所述待安装应用程序。
具体的,当执行步骤S202得到的判断的结果为否时,可以理解的是所述服务器中不存在所述待安装应用程序或者所述待安装应用程序的属性信息,所述服务器中也就不能查找到与所述待安装应用程序的属性信息相对应的第一校验值,所述服务器便会向所述移动终端发送非法信息,所述移动终端便会根据所述非法信息停止安装所述待安装应用程序。
S205,判断所述第一校验值是否为非法值。
具体的,所述服务器中存储的至少一个应用程序中各个应用程序的属性信息还可以包括非法应用程序的属性信息,所述服务器可以将与所述非法程序的属性信息相对应的校验值设置为非法值,所述非法值可以为“-1”,或其他数值,具体值由所述服务器而定。所述移动终端在接收到所述服务器发送的第一校验值时,判断所述第一校验值是否为非法值。
S206,停止安装所述待安装应用程序。
具体的,当执行步骤S205得到的判断的结果为是时,可以理解的是所述移动终端获取的所述第一校验值为非法值,所述待安装应用程序为非法应用程序,因此所述移动终端停止安装所述待安装应用程序。
S207,当判断的结果为否时,根据所述待安装应用程序计算得到第二校验值。
具体的,当执行步骤S205得到的判断的结果为否时,可以理解的是所述第一校验值不为所述非法值,所述待安装应用程序为合法应用程序,所述服务器采用所述特定校验算法对所述待安装应用程序的安装包数据进行计算得到的是具体的校验值,所述移动终端使用与所述服务器相同的特定校验算法对所述待安装应用程序的安装包数据进行计算得到第二校验值。
S208,判断所述第二校验值与所述第一校验值是否相同。
具体的,在所述服务器中的所述待安装应用程序的属性信息与所述移动终端上的所述待安装应用程序的属性信息相同的情况下,两者的安装包数据可能不相同,也就导致所述第二校验值与所述第一校验值可能不相同,因此所述移动终端需要判断所述第二校验值与所述第一检验值是否相同。
S209,当判断结果为是时,安装所述待安装应用程序。
具体的,当执行步骤S208得到的判断的结果为是时,可以理解的是所述第二校验值与所述第一校验值相同,说明所述移动终端上的所述待安装应用程序的安装包数据与所述服务器所存储的所述第一校验值所对应的属性信息所属的安装包数据相同,可以理解的是所述移动终端上的所述待安装应用程序的安装包数据未被篡改过,所述待安装应用程序为安全合法的应用程序,所述移动终端安装所述待安装应用程序。例如,若所述服务器对所述待安装应用程序的安装包数据计算得到的第一校验值为M,所述移动终端计算得到的第二检验值也为M,则所述移动终端允许安装所述待安装应用程序并完成对所述待安装应用程序的安装。
当执行步骤S208得到的判断的结果为否时,可以理解的是所述第二校验值与所述第一校验值不相同,说明所述移动终端上的所述待安装应用程序的安装包数据与所述服务器所存储的所述第一校验值所对应的属性信息所属的安装包数据不一致,可以理解的是所述移动终端上的所述待安装应用程序的安装包数据被篡改过,所述待安装应用程序可能会威胁所述移动终端的安全,因此所述移动终端执行步骤S206,停止安装所述待安装应用程序。例如,若所述服务器对所述待安装应用程序的安装包数据计算得到的第一校验值为M,所述移动终端计算得到的第二检验值为N,两者不相同,则所述移动终端停止对所述待安装应用程序的安装。
在本发明实施例中,通过向服务器发送携带有待安装应用程序的属性信息的验证请求,使服务器查找与待安装应用程序的属性信息相对应的第一校验值,当服务器中存在第一校验值时,获取服务器发送的第一校验值并根据待安装应用程序计算得到第二校验值,当第一校验值与第二检验值相同时,安装待安装应用程序,多次判断第一检验值确保安装的应用程序为安全合法的应用程序,防止不法分子通过篡改应用程序的属性信息获取移动终端内的数据,提高移动终端的安全性。
需要说明的是,附图1和附图2所示的实施例是通过修改所述移动终端上的应用程序编程接口(Application Program Interface,API)实现的,但是每次安装应用程序时都需要检查第一校验值和第二校验值,实现过程比较繁琐,因此本发明实施例增加一个不检查校验值的API,在所述移动终端首次开机自动安装应用程序、空中下载(Over The Air,OTA)升级安装应用程序、root权限安装应用程序时可以调用所述增加的API,快速完成对上述应用程序的安装。
下面将结合附图3和附图4对本发明实施例提供的移动终端进行详细介绍。需要说明的是,附图3和附图4所示的移动终端,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
请参见图3,为本发明提供的一种移动终端的结构示意图;该终端10可包括:发送单元101、计算单元102和安装单元103。
发送单元101,用于发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值。
具体实现中,所述发送单元101发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值。本发明实施例中的服务器存储着至少一个应用程序和所述至少一个应用程序中各个应用程序的属性信息,所述服务器采用特定校验算法,例如信息摘要算法5,对所述至少一个应用程序中各个应用程序的安装包数据进行计算以得到所述各个应用程序的校验值,并保存所述各个应用程序的校验值。
在所述发送单元101发送携带有待安装应用程序的属性信息的验证请求至服务器之前,所述移动终端10接收待安装应用程序的安装指令并根据所述安装指令获取所述待安装应用程序的属性信息,所述属性信息为应用程序的安装包签名信息,包括应用程序的签名类型、包名和版本号信息。以Android***为例,Android***要求每一个Android应用程序必须要经过数字签名才能安装到***中,若某个应用程序的签名类型为platform,则表明该应用程序为***应用程序,该应用程序可以获取***权限,获取***权限的应用程序可以任意查看移动终端内的数据。
当所述移动终端10接收到所述安装指令时,所述发送单元101获取所述待安装应用程序的属性信息并向所述服务器发送验证请求,所述验证请求携带有所述待安装应用程序的属性信息。所述服务器在已存储的各个应用程序的属性信息中查找所述验证请求中所携带的所述待安装应用程序的属性信息,在查找到所述验证请求中所携带的所述待安装应用程序的属性信息之后,可以进一步获取与所述验证请求中所携带的所述待安装应用程序的属性信息相对应的第一校验值,所述第一校验值是由所述服务器采用所述特定校验算法预先计算出的与所述待安装应用程序的属性信息相对应的校验值。例如,所述验证请求携带的所述待安装应用程序的属性信息包括签名类型为platform、包名为A,版本号为B,所述服务器在已存储的各个应用程序的属性信息中查找签名类型为platform、包名为A,版本号为B的属性信息,若所述服务器查找到该属性信息,则获取与该属性信息相对应的第一校验值。
计算单元102,用于当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值。
具体实现中,若所述服务器中存储着所述待安装应用程序及所述待安装应用程序的属性信息,所述服务器便会获取采用所述特定校验算法对所述待安装应用程序的属性信息进行预先计算得到第一校验值;若所述服务器中不存在所述待安装应用程序或者所述待安装应用程序的属性信息,所述服务器中也就不能查找到与所述待安装应用程序的属性信息相对应的第一校验值,所述服务器便会向所述移动终端10发送非法信息,所述移动终端10便会根据所述非法信息停止安装所述待安装应用程序。
当所述服务器中存在所述第一校验值时,可以理解的是所述服务器中存在所述待安装应用程序,所述服务器将所述第一校验值发送至所述移动终端10。所述计算单元102获取所述服务器发送的所述第一检验值,并使用与所述服务器相同的特定校验算法对所述待安装应用程序的安装包数据进行计算得到第二校验值。
安装单元103,用于当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。
具体实现中,所述第二校验值与所述第一校验值可能相同,也可能不相同。当所述计算单元102计算得到的所述第二校验值与所述第一校验值相同时,说明所述移动终端10上的所述待安装应用程序的安装包数据与所述服务器所存储的所述第一校验值所对应的属性信息所属的安装包数据相同,可以理解的是所述移动终端10上的所述待安装应用程序的安装包数据未被篡改过,所述待安装应用程序为安全合法的应用程序;当所述计算单元102计算得到的所述第二校验值与所述第一校验值不相同时,说明所述移动终端10上的所述待安装应用程序的安装包数据与所述服务器所存储的所述第一校验值所对应的属性信息所属的安装包数据不一致,可以理解的是所述移动终端10上的所述待安装应用程序的安装包数据被篡改过,所述待安装应用程序可能会威胁所述移动终端的安全。当所述第二校验值与所述第一校验值相同时,说明所述移动终端10上的所述待安装应用程序为安全合法的应用程序,所述安装单元103允许安装所述待安装应用程序并完成对所述待安装应用程序的安装。例如,若所述服务器对所述待安装应用程序的安装包数据计算得到的第一校验值为M,所述移动终端计算得到的第二检验值也为M,则所述安装单元103允许安装所述待安装应用程序并完成对所述待安装应用程序的安装。
在本发明实施例中,通过向服务器发送携带有待安装应用程序的属性信息的验证请求,使服务器查找与待安装应用程序的属性信息相对应的第一校验值,当服务器中存在第一校验值时,获取服务器发送的第一校验值并根据待安装应用程序计算得到第二校验值,当第一校验值与第二检验值相同时,安装待安装应用程序,能够确保安装的应用程序未被篡改,防止不法分子获取移动终端内的数据,提高移动终端的安全性。
请参见图4,为本发明提供的另一种移动终端的结构示意图;该终端20可包括:获取单元201、发送单元202、非法信息获取单元203、计算单元204和安装单元205,其中所述计算单元204包括判断单元2041、停止安装单元2042和校验值计算单元2043。
获取单元201,用于接收待安装应用程序的安装指令并根据所述安装指令获取所述待安装应用程序的属性信息。
具体实现中,所述获取单元201接收待安装应用程序的安装指令并根据所述安装指令获取所述待安装应用程序的属性信息。其中,所述属性信息为应用程序的安装包签名信息,包括应用程序的签名类型、包名和版本号信息。以Android***为例,Android***要求每一个Android应用程序必须要经过数字签名才能安装到***中,若某个应用程序的签名类型为platform,则表明该应用程序为***应用程序,该应用程序可以获取***权限,获取***权限的应用程序可以任意查看移动终端内的数据。
发送单元202,用于发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值。
具体实现中,当所述获取单元201接收到所述安装指令并获取到所述待安装应用程序的属性信息时,所述发送单元202向服务器发送验证请求,所述验证请求携带有所述待安装应用程序的属性信息。本发明实施例中的服务器存储着至少一个应用程序和所述至少一个应用程序中各个应用程序的属性信息,所述服务器采用特定校验算法,例如信息摘要算法5,对所述至少一个应用程序中各个应用程序的安装包数据进行计算以得到所述各个应用程序的校验值,并保存所述各个应用程序的校验值。所述服务器在已存储的各个应用程序的属性信息中查找所述验证请求中所携带的所述待安装应用程序的属性信息,在查找到所述验证请求中所携带的所述待安装应用程序的属性信息之后,可以进一步获取与所述验证请求中所携带的所述待安装应用程序的属性信息相对应的第一校验值,所述第一校验值是由所述服务器采用所述特定校验算法预先计算出的与所述待安装应用程序的属性信息相对应的校验值。例如,所述验证请求携带的所述待安装应用程序的属性信息包括签名类型为platform、包名为A,版本号为B,所述服务器在已存储的各个应用程序的属性信息中查找签名类型为platform、包名为A,版本号为B的属性信息,若所述服务器查找到该属性信息,则获取与该属性信息相对应的第一校验值。
非法信息获取单元203,用于当所述服务器中不存在所述第一校验值时,获取所述服务器发送的非法信息,并根据所述非法信息停止安装所述待安装应用程序。
具体实现中,若所述服务器中存储着所述待安装应用程序及所述待安装应用程序的属性信息,所述服务器便会获取采用所述特定校验算法对所述待安装应用程序的属性信息进行预先计算得到第一校验值;若所述服务器中不存在所述待安装应用程序或者所述待安装应用程序的属性信息,所述服务器中也就就不能查找到与所述待安装应用程序的属性信息相对应的第一校验值。因此所述移动终端20需要判断所述服务器中是否存在所述第一校验值。当所述移动终端20判断得出所述服务器中不存在所述第一校验值时,所述服务器向所述非法信息获取单元20发送非法信息,所述非法信息获取单元203获取所述服务器发送的非法信息,并根据所述非法信息停止安装所述待安装应用程序。
计算单元204,当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值。具体实现中,所述计算单元2044包括判断单元2041、停止安装单元2042和校验值计算单元2043。
判断单元2041,用于当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并判断所述第一校验值是否为非法值。
具体实现中,所述服务器中存储的至少一个应用程序中各个应用程序的属性信息还可以包括非法应用程序的属性信息,所述服务器可以将与所述非法程序的属性信息相对应的校验值设置为非法值,所述非法值可以为“-1”,或其他数值,具体值由所述服务器而定。当所述服务器中存在所述第一校验值时,所述服务器将所述第一校验值发送至所述判断单元2041,所述判断单元2041获取所述服务器发送的所述第一校验值,并判断所述第一校验值是否为非法值。
停止安装单元2042,用于当判断的结果为是时,停止安装所述待安装应用程序。
具体实现中,当所述判断单元2041的判断的结果为是时,可以理解的是所述判断单元2041获取的所述第一校验值为非法值,所述待安装应用程序为非法应用程序,所述停止安装单元2042停止安装所述待安装应用程序。
校验值计算单元2043,用于当判断的结果为否时,根据所述待安装应用程序计算得到第二校验值。
具体实现中,当所述判断单元2041的判断的结果为否时,可以理解的是所述第一校验值不为所述非法值,所述待安装应用程序为合法应用程序,所述服务器采用所述特定校验算法对所述待安装应用程序的安装包数据进行计算得到的是具体的校验值,所述校验值计算单元2043根据所述待安装应用程序使用与所述服务器相同的特定校验算法对所述待安装应用程序的安装包数据进行计算得到第二校验值。
安装单元205,用于当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。
具体实现中,在所述服务器中的所述待安装应用程序的属性信息与所述移动终端20上的所述待安装应用程序的属性信息相同的情况下,两者的安装包数据可能不相同,也就导致所述第二校验值与所述第一校验值可能不相同,因此所述移动终端20需要判断所述第二校验值与所述第一检验值是否相同。若所述校验值计算单元2043计算得到的所述第二校验值与所述第一校验值相同,可以理解的是所述移动终端20上的所述待安装应用程序与所述服务器中存储的所述待安装应用程序为同一应用程序,所述移动终端20上的所述待安装应用程序未被篡改,为安全、合法的应用程序;若所述校验值计算单元2043计算得到的所述第二校验值与所述第一校验值不相同,可以理解的是所述移动终端20上的所述待安装应用程序与所述服务器中存储的所述待安装应用程序为不同的应用程序,所述移动终端20上的所述待安装应用程序被篡改,可能会威胁所述移动终端的安全。
当所述第二校验值与所述第一校验值相同时,可以理解的是所述移动终端上的所述待安装应用程序为合法安全的应用程序,所述安装单元205安装所述待安装应用程序。当所述第二校验值与所述第一校验值不相同时,可以理解的是所述移动终端上的所述待安装应用程序可能会威胁所述移动终端的安全,所述移动终端20调用所述停止安装单元2042停止安装所述待安装应用程序。
在本发明实施例中,通过向服务器发送携带有待安装应用程序的属性信息的验证请求,使服务器查找与待安装应用程序的属性信息相对应的第一校验值,当服务器中存在第一校验值时,获取服务器发送的第一校验值并根据待安装应用程序计算得到第二校验值,当第一校验值与第二检验值相同时,安装待安装应用程序,能够确保安装的应用程序未被篡改,防止不法分子获取移动终端内的数据,提高移动终端的安全性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种应用程序安装方法,其特征在于,包括:
发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值;
当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值;
当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。
2.根据权利要求1所述的方法,其特征在于,在所述发送携带有待安装应用程序的属性信息的验证请求至服务器的步骤之前,还包括:
接收待安装应用程序的安装指令并根据所述安装指令获取所述待安装应用程序的属性信息。
3.根据权利要求1所述的方法,其特征在于,所述第一校验值是由所述服务器预先计算出的与所述待安装应用程序的属性信息相对应的校验值。
4.根据权利要求1所述的方法,其特征在于,所述当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值,包括:
当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并判断所述第一校验值是否为非法值;
当判断的结果为是时,停止安装所述待安装应用程序;
当判断的结果为否时,根据所述待安装应用程序计算得到第二校验值。
5.根据权利要求1所述的方法,其特征在于,在所述发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值的步骤之后,还包括:
当所述服务器中不存在所述第一校验值时,获取所述服务器发送的非法信息,并根据所述非法信息停止安装所述待安装应用程序。
6.一种移动终端,其特征在于,包括:
发送单元,用于发送携带有待安装应用程序的属性信息的验证请求至服务器,以使所述服务器查找与所述待安装应用程序的属性信息相对应的第一校验值;
计算单元,用于当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并根据所述待安装应用程序计算得到第二校验值;
安装单元,用于当所述第二校验值与所述第一校验值相同时,安装所述待安装应用程序。
7.根据权利要求6所述的终端,其特征在于,还包括:
获取单元,用于接收待安装应用程序的安装指令并根据所述安装指令获取所述待安装应用程序的属性信息。
8.根据权利要求6所述的终端,其特征在于,所述第一校验值是由所述服务器预先计算出的与所述待安装应用程序的属性信息相对应的校验值。
9.根据权利要求6所述的终端,其特征在于,所述计算单元包括:
判断单元,用于当所述服务器中存在所述第一校验值时,获取所述服务器发送的所述第一校验值,并判断所述第一校验值是否为非法值;
停止安装单元,用于当判断的结果为是时,停止安装所述待安装应用程序;
校验值计算单元,用于当判断的结果为否时,根据所述待安装应用程序计算得到第二校验值。
10.根据权利要求6所述的终端,其特征在于,还包括:
非法信息获取单元,用于当所述服务器中不存在所述第一校验值时,获取所述服务器发送的非法信息,并根据所述非法信息停止安装所述待安装应用程序。
CN201510102762.7A 2015-03-09 2015-03-09 一种应用程序安装方法及移动终端 Expired - Fee Related CN104751049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510102762.7A CN104751049B (zh) 2015-03-09 2015-03-09 一种应用程序安装方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510102762.7A CN104751049B (zh) 2015-03-09 2015-03-09 一种应用程序安装方法及移动终端

Publications (2)

Publication Number Publication Date
CN104751049A true CN104751049A (zh) 2015-07-01
CN104751049B CN104751049B (zh) 2018-09-04

Family

ID=53590721

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510102762.7A Expired - Fee Related CN104751049B (zh) 2015-03-09 2015-03-09 一种应用程序安装方法及移动终端

Country Status (1)

Country Link
CN (1) CN104751049B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106339634A (zh) * 2016-08-30 2017-01-18 中国民生银行股份有限公司 终端设备的数据保护方法和装置
WO2017041606A1 (zh) * 2015-09-11 2017-03-16 北京金山安全软件有限公司 程序文件校验方法及装置、服务器和终端
CN107016279A (zh) * 2016-12-13 2017-08-04 蔚来汽车有限公司 应用安装方法和应用安装***
WO2017206185A1 (zh) * 2016-06-03 2017-12-07 华为技术有限公司 验证应用程序合法性的方法、装置及***
CN107480519A (zh) * 2017-08-04 2017-12-15 深圳市金立通信设备有限公司 一种识别风险应用的方法及服务器
CN107766747A (zh) * 2017-10-31 2018-03-06 维沃移动通信有限公司 校验应用程序安装包完整性的方法、移动终端及服务器
CN107766061A (zh) * 2017-11-20 2018-03-06 烽火通信科技股份有限公司 一种安卓应用程序的安装方法和安装***
CN108549826A (zh) * 2018-03-30 2018-09-18 努比亚技术有限公司 应用程序的校验方法、终端、服务器及可读存储介质
CN108604991A (zh) * 2016-07-12 2018-09-28 金主汉 能够检测应用程序篡改的双通道认证代理***及其方法
CN110362967A (zh) * 2019-07-15 2019-10-22 北京奇艺世纪科技有限公司 应用程序防篡改的检测方法、装置、终端设备及存储介质
CN111723365A (zh) * 2020-06-30 2020-09-29 湖北亿咖通科技有限公司 一种车载信息娱乐***中安装应用程序的方法和设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130076528A1 (en) * 2011-09-27 2013-03-28 General Electric Company Health monitoring system utilizing service consumption data
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103646215A (zh) * 2013-12-23 2014-03-19 北京奇虎科技有限公司 一种应用程序的安装控制方法、相关***及装置
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
CN104391729A (zh) * 2014-12-19 2015-03-04 北京奇虎科技有限公司 基于Root权限的程序升级方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130076528A1 (en) * 2011-09-27 2013-03-28 General Electric Company Health monitoring system utilizing service consumption data
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103646215A (zh) * 2013-12-23 2014-03-19 北京奇虎科技有限公司 一种应用程序的安装控制方法、相关***及装置
CN104123491A (zh) * 2014-07-18 2014-10-29 广州金山网络科技有限公司 一种检测应用程序安装包是否被篡改的方法及装置
CN104391729A (zh) * 2014-12-19 2015-03-04 北京奇虎科技有限公司 基于Root权限的程序升级方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017041606A1 (zh) * 2015-09-11 2017-03-16 北京金山安全软件有限公司 程序文件校验方法及装置、服务器和终端
WO2017206185A1 (zh) * 2016-06-03 2017-12-07 华为技术有限公司 验证应用程序合法性的方法、装置及***
CN108604991A (zh) * 2016-07-12 2018-09-28 金主汉 能够检测应用程序篡改的双通道认证代理***及其方法
CN108604991B (zh) * 2016-07-12 2021-06-15 金主汉 能够检测应用程序篡改的双通道认证代理***及其方法
CN106339634A (zh) * 2016-08-30 2017-01-18 中国民生银行股份有限公司 终端设备的数据保护方法和装置
CN107016279A (zh) * 2016-12-13 2017-08-04 蔚来汽车有限公司 应用安装方法和应用安装***
WO2018107765A1 (zh) * 2016-12-13 2018-06-21 蔚来汽车有限公司 应用安装方法和应用安装***
CN107480519A (zh) * 2017-08-04 2017-12-15 深圳市金立通信设备有限公司 一种识别风险应用的方法及服务器
CN107766747A (zh) * 2017-10-31 2018-03-06 维沃移动通信有限公司 校验应用程序安装包完整性的方法、移动终端及服务器
CN107766747B (zh) * 2017-10-31 2020-03-17 维沃移动通信有限公司 校验应用程序安装包完整性的方法、移动终端及服务器
CN107766061A (zh) * 2017-11-20 2018-03-06 烽火通信科技股份有限公司 一种安卓应用程序的安装方法和安装***
CN108549826A (zh) * 2018-03-30 2018-09-18 努比亚技术有限公司 应用程序的校验方法、终端、服务器及可读存储介质
CN110362967A (zh) * 2019-07-15 2019-10-22 北京奇艺世纪科技有限公司 应用程序防篡改的检测方法、装置、终端设备及存储介质
CN111723365A (zh) * 2020-06-30 2020-09-29 湖北亿咖通科技有限公司 一种车载信息娱乐***中安装应用程序的方法和设备

Also Published As

Publication number Publication date
CN104751049B (zh) 2018-09-04

Similar Documents

Publication Publication Date Title
JP6888011B2 (ja) 信頼できる実行環境を有するモバイル装置
CN104751049A (zh) 一种应用程序安装方法及移动终端
US20210173922A1 (en) Method and system for preventing and detecting security threats
CN109214168B (zh) 固件升级方法及装置
US8850211B2 (en) Method and apparatus for improving code and data signing
CN108229144B (zh) 一种应用程序的验证方法、终端设备及存储介质
CN104462965A (zh) 应用程序完整性验证方法及网络设备
CN104573435A (zh) 用于终端权限管理的方法和终端
CN106548065B (zh) 应用程序安装检测方法及装置
CN108880859B (zh) 升级文件的配置方法、装置、服务器、终端及存储介质
US11443031B2 (en) Method for determining a validity of an application code, corresponding device and computer program product
CN104680061A (zh) 一种Android环境下应用程序启动中代码签名验证的方法和***
CN112231702B (zh) 应用保护方法、装置、设备及介质
CN111149106A (zh) 使用多个设备证书进行密钥认证的设备和方法
CN108197469B (zh) 校验应用程序的方法、装置和存储介质以及电子设备
CN110941825B (zh) 一种应用监控方法及装置
CN109905408B (zh) 网络安全防护方法、***、可读存储介质及终端设备
CN114629658B (zh) 一种应用签名方法、装置、设备及存储介质
CN106971105B (zh) 一种基于iOS的应用程序遭遇假面攻击的防御方法
CN114675865A (zh) 空中下载技术升级方法、装置、存储介质及终端设备
CN108234399B (zh) 一种接口通信方法及终端
CN112632553A (zh) 漏洞处理方法及相关产品
KR101588533B1 (ko) 안드로이드 시스템에서 응용 프로그램의 보안을 강화하는 방법 및 장치
CN114297679B (zh) 一种镜像加密传输与升级的方法
KR20140117164A (ko) 분실 처리 시스템 및 그 방법, 그리고 이에 적용되는 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee after: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee before: GUANGDONG OPPO MOBILE TELECOMMUNICATIONS Corp.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180904