应用程序安装检测方法及装置技术领域
本发明涉及通信技术,尤其涉及一种应用程序安装检测方法及装置。
背景技术
随着通信技术的不断发展,终端设备的使用越来越广泛。用户需要在终端设备上
安装的应用程序越来越多,例如,即时通信程序及网上购物程序等。
目前,在初次安装应用程序的过程中,终端设备在接收到下载指令后,从官方服务
器中将合法的安装包下载至终端设备,在接收到安装指令后,运行该合法的安装包。该合法
的安装包运行后,就可以将相应的安全的应用程序安装至终端设备上。安装之后,用户点击
该安全的应用程序的图标,即可以启动该安全的应用程序,进行网上购物、网上支付等业
务。在其他人拿到该终端设备后,如果在卸载该安全的应用程序后,运行已经经过恶意修改
的安装包,安装非法的应用程序替换终端设备上原有的合法的应用程序,只要该修改后的
安装包具有与合法的安装包相同的包名称,用户就不会发现该合法的应用程序已经被恶意
修改,从而,用户可能在后续的过程中可能会使用该非法的应用程序。
因此,上述过程中,在再次安装与合法的安装包具有同样的包名称的修改后的安
装包的过程中,无法对该修改后的安装包的合法性进行验证,从而,导致用户的信息安全受
到威胁。
发明内容
为解决现有技术中存在的问题,本发明提供一种应用程序安装检测方法及装置,
以保证用户的信息安全。
本发明提供一种应用程序安装检测方法,包括:
获取待安装的第一安装包的签名的校验值及所述第一安装包的第一标识;
判断所述第一标识是否位于安装包的合法标识清单中;其中,所述合法标识清单
位于终端设备的可信区域,所述合法标识清单为根据从合法服务器获取的第二安装包的标
识确定的;
若确定所述第一标识位于所述合法标识清单中,则确定所述第一安装包的签名的
校验值是否位于合法校验值清单中;其中,所述合法校验值清单位于所述可信区域,所述合
法校验值清单为根据所述第二安装包的签名的校验值确定的;
若确定所述第一安装包的签名的校验值位于所述合法校验值清单中,则运行所述
第一安装包。
如上所示的方法,所述获取待安装的第一安装包的签名的校验值,包括:
从所述第一安装包的签名的字段中获取所述第一安装包的签名;
根据所述第一安装包的签名及校验算法确定所述第一安装包的签名的校验值。
如上所示的方法,所述方法还包括:
根据所述第二安装包的第二标识及所述第二安装包的签名的校验值确定所述合
法标识清单及所述合法校验值清单。
如上所示的方法,所述根据所述第二安装包的第二标识及所述第二安装包的签名
的校验值确定所述合法标识清单及所述合法校验值清单,包括:
接收到下载指令后,从所述合法服务器中获取所述第二安装包;
获取所述第二安装包的签名的校验值及所述第二安装包的第二标识;
将所述第二标识存储于所述可信区域,形成所述合法标识清单;
将所述第二安装包的签名的校验值存储于所述可信区域,形成所述合法校验值清
单。
如上所示的方法,在所述将所述第二标识存储于所述可信区域之前,所述方法还
包括:
判断是否接收到存储指示指令;其中,所述存储指示指令用于指示将所述第二标
识存储于所述可信区域;
若确定接收到所述存储指示指令,则确定执行将所述第二标识存储于所述可信区
域的操作。
如上所示的方法,若确定接收到所述存储指示指令,所述方法还包括:
提示用户所述第二安装包对应的应用程序已被保护。
如上所示的方法,所述方法还包括:
接收到卸载指令后,获取待卸载的应用程序对应的第三安装包的第三标识;
判断所述第三标识是否位于所述合法标识清单中;
若确定所述第三标识位于所述合法标识清单中,在所述合法标识清单中保留所述
第三标识及在所述合法校验值清单中保留所述第三安装包的签名的校验值;
卸载所述待卸载的应用程序的其他数据。
如上所示的方法,所述校验算法为哈希算法,所述第一标识为所述第一安装包的
包名称。
本发明还提供一种应用程序安装检测装置,包括:
第一获取模块,用于获取待安装的第一安装包的签名的校验值及所述第一安装包
的第一标识;
第一判断模块,用于判断所述第一标识是否位于安装包的合法标识清单中;其中,
所述合法标识清单位于终端设备的可信区域,所述合法标识清单为根据从合法服务器获取
的第二安装包的标识确定的;
第一确定模块,用于当确定所述第一标识位于所述合法标识清单中时,确定所述
第一安装包的签名的校验值是否位于合法校验值清单中;其中,所述合法校验值清单位于
所述可信区域,所述合法校验值清单为根据所述第二安装包的签名的校验值确定的;
运行模块,用于当确定所述第一安装包的签名的校验值位于所述合法校验值清单
中时,运行所述第一安装包。
如上所示的装置,所述第一获取模块具体用于:
从所述第一安装包的签名的字段中获取所述第一安装包的签名;
根据所述第一安装包的签名及校验算法确定所述第一安装包的签名的校验值。
如上所示的装置,所述装置还包括:
第二确定模块,用于根据所述第二安装包的第二标识及所述第二安装包的签名的
校验值确定所述合法标识清单及所述合法校验值清单。
如上所示的装置,所述第二确定模块包括:
第一获取子模块,用于接收到下载指令后,从所述合法服务器中获取所述第二安
装包;
第二获取子模块,用于获取所述第二安装包的签名的校验值及所述第二安装包的
第二标识;
第一存储子模块,用于将所述第二标识存储于所述可信区域,形成所述合法标识
清单;
第二存储子模块,用于将所述第二安装包的签名的校验值存储于所述可信区域,
形成所述合法校验值清单。
如上所示的装置,所述装置还包括:
第三判断模块,用于判断是否接收到存储指示指令;其中,所述存储指示指令用于
指示将所述第二标识存储于所述可信区域;
第三确定模块,用于当确定接收到所述存储指示指令时,确定执行将所述第二标
识存储于所述可信区域的操作。
如上所示的装置,所述装置还包括:
提示模块,用于提示用户所述第二安装包对应的应用程序已被保护。
如上所示的装置,所述装置还包括:
第二获取模块,用于接收到卸载指令后,获取待卸载的应用程序对应的第三安装
包的第三标识;
第二判断模块,用于判断所述第三标识是否位于所述合法标识清单中;
保留模块,用于当确定所述第三标识位于所述合法标识清单中时,在所述合法标
识清单中保留所述第三标识及在所述合法校验值清单中保留所述第三安装包的签名的校
验值;
卸载模块,用于卸载所述待卸载的应用程序的其他数据。
如上所示的装置,所述校验算法为哈希算法,所述第一标识为所述第一安装包的
包名称。
本发明实施例提供的应用程序安装检测方法及装置,通过获取待安装的第一安装
包的签名的校验值及第一安装包的第一标识,判断第一标识是否位于安装包的合法标识清
单中,其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务器获
取的第二安装包的标识确定的,若确定第一标识位于合法标识清单中,则确定第一安装包
的签名的校验值是否位于合法校验值清单中,其中,合法校验值清单位于可信区域,合法校
验值清单为根据第二安装包的签名的校验值确定的,若确定校验值位于合法校验值清单
中,则安装第一安装包,一方面实现了在安装第一安装包的过程中,可以根据第一标识、第
一安装包的签名的校验值、合法标识清单及合法检验值清单对第一安装包的合法性进行校
验,只有在第一安装包的第一标识位于合法标识清单中,且第一安装包的签名的校验值位
于合法校验值清单中时,才安装该第一安装包,保证了安装的第一安装包都是经过校验的,
另一方面,由于合法标识清单及合法校验值清单是存储在可信区域的,不会被其他程序恶
意修改,且在没有网络连接时,仍然可从可信区域中读取到合法标识清单及合法校验值清
单,最终保证了运行该第一安装包形成的应用程序为安全的应用程序,从而,保证了用户的
信息安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可
以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序安装检测方法实施例一的流程示意图;
图2为本发明实施例提供的应用程序安装检测方法实施例二的流程示意图;
图3为图2所示实施例中的用户界面示意图;
图4为本发明实施例提供的应用程序安装检测装置实施例一的结构示意图;
图5为本发明实施例提供的应用程序安装检测装置实施例二的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第
四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理
解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除
了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何
变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产
品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这
些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供的应用程序安装检测方法可以由终端设备执行。本发明实施例
中的终端设备可以是具有支持ARM的可信区域技术的芯片的手持设备、车载设备、可穿戴设
备、计算设备,以及各种形式的用户设备(User Equipment;简称:UE),移动台(Mobile
Station;简称:MS)及终端(terminal)等。示例的,本发明实施例的终端设备可以是智能手
机、平板电脑等。
本发明实施例提供的应用程序安装检测方法,通过获取待安装的第一安装包的签
名的校验值及第一安装包的第一标识,判断第一标识是否位于安装包的合法标识清单中,
其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务器获取的
第二安装包的标识确定的,若确定第一标识位于合法标识清单中,则确定第一安装包的签
名的校验值是否位于合法校验值清单中,其中,合法校验值清单位于可信区域,合法校验值
清单为根据第二安装包的签名的校验值确定的,若确定校验值位于合法校验值清单中,则
安装第一安装包,一方面实现了在安装第一安装包的过程中,可以根据第一标识、第一安装
包的签名的校验值、合法标识清单及合法检验值清单对第一安装包的合法性进行校验,只
有在第一安装包的第一标识位于合法标识清单中,且第一安装包的签名的校验值位于合法
校验值清单中时,才安装该第一安装包,保证了安装的第一安装包都是经过校验的,另一方
面,由于合法标识清单及合法校验值清单是存储在可信区域的,不会被其他程序恶意修改,
且在没有网络连接时,仍然可从可信区域中读取到合法标识清单及合法校验值清单,最终
保证了运行该第一安装包形成的应用程序为安全的应用程序,从而,保证了用户的信息安
全。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施
例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明实施例提供的应用程序安装检测方法实施例一的流程示意图。如图1
所示,本发明实施例提供的应用程序安装检测方法包括如下步骤:
S101:获取待安装的第一安装包的签名的校验值及第一安装包的第一标识。
具体地,本发明实施例提供的应用程序安装检测方法可以应用于运行有各种平台
的终端设备上,由操作系统程序进行执行,例如,安卓平台,iOS平台等。本发明实施例对此
不做限制。
现有的应用程序可以分为:工具类程序、游戏类程序、购物类程序、生活类程序和
多媒体类程序等不同的应用类型。本发明实施例中的第一安装包可以是上述任一类应用程
序的安装包。举例来说,本发明实施例中的第一安装包可以是即时通信程序或者在线购物
程序的安装包。示例的,在运行安卓平台的终端设备中,应用程序的安装包为安卓安装包
(AndroidPackage;简称:APK)文件。
待安装的第一安装包可以是从服务器中获取的,也可以是从其他终端设备中获取
的。每一个安装包在开发时,都需要开发人员进行签名。签名使用的秘钥文件是开发人员所
独有的。破解者通常不可能拥有同样的秘钥文件。因此,可以用安装包的签名的校验值校验
该安装包的完整性,即,该安装包是否被除开发人员之外的其他人修改过。
在获取待安装的第一安装包的签名的校验值时,有以下两种实现方式:
在第一种实现方式中,在获取待安装的第一安装包的签名的校验值时,可以从第
一安装包的签名的字段中获取第一安装包的签名。第一安装包可以包括多个字段,每个字
段的值表示第一安装包的不同内容。在获取到第一安装包的签名后,可以根据该签名及校
验算法确定第一安装包的签名的校验值。可选的,检验算法可以是哈希算法,则该校验值可
以是MD5值,或者,CRC32值。
在第二种实现方式中,在获取待安装的第一安装包的签名的校验值时,可以从第
一安装包的签名的校验值的字段中直接获取该第一安装包的签名的校验值。在此种实现方
式中,该第一安装包的签名的校验值是开发人员在开发完成该第一安装包后根据签名及校
验算法确定的。可选的,该校验算法也可以是哈希算法。
在上述两种实现方式中,相较而言,由于第一种实现方式在安装时需要重新计算
安装包的签名的哈希值,安全性更高。
在获取第一安装包的第一标识时,可以采取与上述实现方式类似的方式,可以从
第一安装包的第一标识的字段中获取该第一标识。第一标识为能唯一表明该安装包的标
识。可选的,该第一标识可以是第一安装包的包名称。包名称可以由开发人员进行命名。
S102:判断第一标识是否位于安装包的合法标识清单中。
其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务
器获取的第二安装包的标识确定的。
具体地,终端设备的可信区域(Trust Zone)为接口不对外开放的存储区域。由于
其接口不对外开放,则除厂商编写的程序之外的其他程序均无法对可信区域中的数据进行
读写操作,这保证了存储于可信区域中的数据的安全性非常高。其中,这里的厂商是指操作
系统开发厂商,则厂商编写的程序是指操作系统程序,除厂商编写的程序之外的其他程序
是指第三方应用程序。
在本发明实施例中,合法标识清单存储于可信区域中,这保证了合法标识清单不
会被恶意修改。合法标识清单为终端设备根据从合法服务器获取的第二安装包的标识确定
的。合法服务器意为官方的服务器或正规的服务器。从合法服务器获取的安装包所形成的
应用程序,为安全的应用程序,其不会对用户的信息安全造成威胁。
合法标识清单在可信区域中的存储形式可以是数据库形式、列表形式及矩阵形式
等。本发明实施例对此不做限制。
在判断第一标识是否位于安装包的合法标识清单中时,可以是在合法标识清单中
检索是否有与第一标识相同的标识。
S103:若确定第一标识位于合法标识清单中,则确定第一安装包的签名的校验值
是否位于合法校验值清单中。
其中,合法校验值清单位于可信区域,合法校验值清单为根据第二安装包的签名
的校验值确定的。
具体地,合法校验值清单存储于可信区域中,这保证了合法校验值清单不会被恶
意修改。合法校验值清单为根据从合法服务器获取的第二安装包的签名的校验值确定的。
合法校验值清单在可信区域中的存储形式可以是数据库形式、列表形式及矩阵形
式等。本发明实施例对此不做限制。
若在合法标识清单中,可以检索到与第一标识相同的标识,则确定第一标识位于
合法标识清单中。在判断第一安装包的签名的校验值是否位于合法校验值清单中时,可以
是在合法校验值清单中检索是否有与第一安装包的签名的校验值相同的校验值。
需要说明的是,在S102和S103中,需要预先确定合法标识清单及合法校验值清单。
一种可能的实现方式为,根据第二安装包的第二标识及第二安装包的签名的校验值确定合
法标识清单及合法校验值清单。第二安装包的数量可以是一个或多个。当第二安装包的数
量为一个时,合法标识清单及合法校验值清单中均只包括一个值;当第二安装包的数量为
多个时,合法标识清单及合法校验值清单中均包括多个值。另外,合法标识清单及合法校验
清单均存储于可信区域中,可信区域为终端设备的本地存储空间。无论终端设备是否连接
网络,终端设备中的安全程序均可以读取可信区域中的合法标识清单及合法校验值清单,
这确保了无论终端设备是否连接网络,本发明实施例提供的应用程序的安装检测方法均可
以正常执行。
需要说明的是,若确定第一标识没有位于合法标识清单中,则停止安装过程。
S104:若确定第一安装包的签名的校验值位于合法校验值清单中,则运行第一安
装包。
具体地,若在合法校验值清单中,可以检索到与第一安装包的签名的校验值相同
的校验值,则确定第一安装包的签名的校验值位于合法校验值清单中。
至此,可以确定该第一安装包为合法的安装包,终端设备运行该第一安装包,安装
与第一安装包对应的应用程序。可以确定该应用程序为安全的应用程序,在用户的使用该
应用程序的过程中,不会对用户的信息安全造成威胁。终端设备运行该第一安装包可以采
用现有技术中的方案,本发明实施例在此不再赘述。
可选的,若确定第一安装包的签名的校验值位于合法校验值清单中时,还可以提
示用户该第一安装包对应的应用程序为受系统保护的应用程序,以提高用户体验。
需要说明的是,如果确定第一安装包的签名的校验值没有位于合法校验值清单
中,则说明该第一安装包已经被非法修改过,停止运行该第一安装包,以保护用户的信息安
全。
本发明实施例提供的应用程序安装检测方法,通过获取待安装的第一安装包的签
名的校验值及第一安装包的第一标识,判断第一标识是否位于安装包的合法标识清单中,
其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务器获取的
第二安装包的标识确定的,若确定第一标识位于合法标识清单中,则确定第一安装包的签
名的校验值是否位于合法校验值清单中,其中,合法校验值清单位于可信区域,合法校验值
清单为根据第二安装包的签名的校验值确定的,若确定校验值位于合法校验值清单中,则
安装第一安装包,一方面实现了在安装第一安装包的过程中,可以根据第一标识、第一安装
包的签名的校验值、合法标识清单及合法检验值清单对第一安装包的合法性进行校验,只
有在第一安装包的第一标识位于合法标识清单中,且第一安装包的签名的校验值位于合法
校验值清单中时,才安装该第一安装包,保证了安装的第一安装包都是经过校验的,另一方
面,由于合法标识清单及合法校验值清单是存储在可信区域的,不会被其他程序恶意修改,
且在没有网络连接时,仍然可从可信区域中读取到合法标识清单及合法校验值清单,最终
保证了运行该第一安装包形成的应用程序为安全的应用程序,从而,保证用户的信息安全。
图2为本发明实施例提供的应用程序安装检测方法实施例二的流程示意图。本发
明实施例在图1所示实施例的基础上,对如何确定合法标识清单及合法检验值清单的方案
进行详细说明。如图2所示,本发明实施例提供的应用程序安装检测方法包括如下步骤:
S201:接收到下载指令后,从合法服务器中获取第二安装包。
具体地,用户在确定下载安装包的服务器为合法服务器时,输入下载指令。终端设
备在接收到下载指令后,从该合法服务器中获取第二安装包。
获取第二安装包的过程可以是该合法服务器将该第二安装包通过网络发送给终
端设备。
S202:获取第二安装包的签名的校验值及第二安装包的第二标识。
具体地,与S101类似,在获取签名的校验值时有两种实现方式:
在第一种实现方式中,从第二安装包的签名的字段中获取第二安装包的签名,根
据该签名及校验算法确定第二安装包的签名的校验值。可选的,检验算法可以是哈希算法,
则该校验值可以是MD5值,或者,CRC32值。
在第二种实现方式中,可以从第二安装包的签名的校验值的字段中直接获取该第
二安装包的签名的校验值。
在获取第二安装包的第二标识时,可以采取与上述实现方式类似的方式,可以从
第二安装包的第二标识的字段中获取该第二标识。可选的,该第二标识可以是第二安装包
的包名称。
S203:将第二标识存储于可信区域,形成合法标识清单。
S204:将第二安装包的签名的校验值存储于可信区域,形成合法校验值清单。
具体地,在S203和S204中,在获取到第二安装包的第二标识及第二安装包的签名
的校验值之后,将第二标识存储于可信区域,形成合法标识清单,将第二安装包的签名的校
验值存储于可信区域,形成合法校验值清单。
需要说明的是,当第二标识为包名称时,则合法标识清单为合法包名称清单。
可选的,在一种可能的实现方式中,在S203之前,还可以包括:判断是否接收到存
储指示指令。该存储指示指令用于指示将第二标识存储于可信区域中。若确定接收到存储
指示指令时,确定执行将第二标识存储于可信区域的操作。具体地,用户可以根据第二安装
包承载的业务类型,判断是否需要将第二安装包的第二标识存储于可信区域中。例如,当第
二安装包承载的业务类型为工具类的业务时,示例性的,电子词典,用户在使用电子词典
时,所涉及到的用户的信息较少,其不需要很高的安全等级,此时,用户可以选择不将第二
标识存储于可信区域,以节省可信区域的存储空间,提高可信区域的利用率。当第二安装包
承载的业务类型为购物类的业务时,由于其涉及网上支付密码信息等安全信息,用户可以
选择将第二标识存储于可信区域中。
可选的,在确定接收到存储指示指令后,还可以提示用户第二安装包对应的应用
程序已被保护。终端设备可以通过显示用户界面的方式提示用户,也可以通过振动的方式
提示用户,还可以通过发出音频的方式提示用户。图3为图2所示实施例中的用户界面示意
图。如图3所示的用户界面301,当确定接收到存储指示指令后,向用户显示“该应用程序已
被系统保护”的对话框。
S205:接收到卸载指令后,获取待卸载的应用程序对应的第三安装包的第三标识。
S206:判断第三标识是否位于合法标识清单中。
S207:若确定第三标识位于合法标识清单中,在合法标识清单中保留第三标识及
在合法检验值清单中保留第三安装包的签名的校验值。
S208:卸载待卸载的应用程序的其他数据。
具体地,在S205-S208中,当需要卸载应用程序时,首先获取该待卸载的应用程序
对应的第三安装包的第三标识,并判断该第三标识是否位于合法标识清单中。当第三标识
位于合法标识清单中时,在合法标识清单中保留第三标识以及在合法校验值清单中保留第
三安装包的签名的校验值,以便在再次安装与第三安装包具有相同的标识的安装包时,对
其合法性进行校验。在获取该待卸载的应用程序的第三标识时,可以是根据该待卸载的应
用程序的安装路径读取第三标识。
之后,卸载该待卸载的应用程序的其他数据。这里的其他数据为除第三标识与第
三安装包的签名的校验值之外的数据。
需要说明的是,当确定第三标识不位于合法标识清单中时,在卸载该待卸载的应
用程序时,正常卸载,即将该待卸载的应用程序的所有信息从终端设备上删除。
S209:获取待安装的第一安装包的签名的校验值及第一安装包的第一标识。
S210:判断第一标识是否位于安装包的合法标识清单中。
其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务
器获取的第二安装包的标识确定的。
S211:若确定第一标识位于合法标识清单中,则确定第一安装包的签名的校验值
是否位于合法校验值清单中。
其中,合法校验值清单位于可信区域,合法校验值清单为根据第二安装包的签名
的校验值确定的。
S212:若确定校验值位于合法校验值清单中,则运行第一安装包。
S209-S212与S101-S104的实现过程和技术原理类似,此处不再赘述。
以下以一个具体的例子说明上述过程:
用户X需要在终端设备上安装购物程序A。用户X在确定服务器为合法服务器时,输
入下载指令。终端设备从该合法服务器中获取了购物程序A对应的安装包A*。并获取安装包
A*的签名的校验值及安装包A*的标识。并将安装包A*的签名的校验值及安装包A*的标识存
储在可信区域中,形成合法标识清单和合法校验值清单。用户X在安装了购物程序A后,可以
使用该购物程序A进行线上购物。现在,假设有另外一个用户Y,想窃取该用户A的支付信息。
用户Y将终端设备拿走后,想卸载购物程序A,并安装与购物程序A具有相同标识的购物程序
B,将购物程序B的安装包B*存储在终端设备上,进行安装。在卸载购物程序A的过程中,接收
到用户Y输入的卸载指令后,获取购物程序A的安装包A*的标识。判断A*是否位于合法标识
清单中,在该场景中,安装包A*的标识必然位于合法标识清单中。则在卸载过程中,在合法
标识清单及合法校验值清单中保留安装包A*的标识及安装包A*的签名的校验值。用户B在
安装购物程序B时,终端设备获取安装包B*的签名校验值及安装包B*的标识,判断安装包B*
的标识是否位于合法标识清单中,在该场景中,安装包B*的标识必然位于合法标识清单中。
再确定安装包B*的签名的校验值是否位于合法校验值清单中,由于签名使用的秘钥是开发
人员独有的,此时,安装包B*的签名的校验值必然不位于合法校验值清单中,终端设备会停
止安装包B*的安装,从而,保证了用户A的信息安全。
本发明实施例提供的应用程序检测方法,通过接收到下载指令后,从合法服务器
中获取第二安装包,获取第二安装包的签名的校验值及第二安装包的第二标识,将第二标
识存储于可信区域,形成合法标识清单,将第二安装包的签名的校验值存储于可信区域,形
成合法校验值清单,接收到卸载指令后,获取待卸载的应用程序对应的第三安装包的第三
标识,判断第三标识是否位于合法标识清单中,若确定第三标识位于合法标识清单中,在合
法标识清单中保留第三标识及在合法检验值清单中保留第三安装包的签名的校验值,卸载
待卸载的应用程序的其他数据,实现了在确定合法标识清单和合法校验值清单时,根据从
合法服务器中获取的第二安装包确定,并在卸载应用程序时,判断该应用程序的安装包的
标识是否位于合法标识清单中,如位于,则在合法标识清单及合法校验值清单中保留该安
装包的标识和签名的校验值,保证了合法标识清单和合法校验值清单的完整性,提高了应
用程序检测的准确率,从而,进一步保证了用户的信息安全。
图4为本发明实施例提供的应用程序安装检测装置实施例一的结构示意图。如图4
所示,本发明实施例提供的应用程序安装检测装置包括:
第一获取模块41,用于获取待安装的第一安装包的签名的校验值及第一安装包的
第一标识。
可选的,第一获取模块41具体用于:从第一安装包的签名的字段中获取第一安装
包的签名;根据第一安装包的签名及校验算法确定第一安装包的签名的校验值。示例性的,
校验算法为哈希算法,第一标识为第一安装包的包名称。
第一判断模块42,用于判断第一标识是否位于安装包的合法标识清单中。
其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务
器获取的第二安装包的标识确定的。
第一确定模块43,用于当确定第一标识位于合法标识清单中时,确定第一安装包
的签名的校验值是否位于合法校验值清单中。
其中,合法校验值清单位于可信区域,合法校验值清单为根据第二安装包的签名
的校验值确定的。
可选的,在本发明实施例提供的应用程序安装检测装置中,还可以包括第二确定
模块,用于根据第二安装包的第二标识及第二安装包的签名的校验值确定合法标识清单及
合法校验值清单。
运行模块44,用于当确定第一安装包的签名的校验值位于合法校验值清单中时,
运行第一安装包。
本发明实施例提供的应用程序安装检测装置,通过设置第一获取模块,用于获取
待安装的第一安装包的签名的校验值及第一安装包的第一标识,第一判断模块,用于判断
第一标识是否位于安装包的合法标识清单中,第一确定模块,用于当确定第一标识位于合
法标识清单中时,确定第一安装包的签名的校验值是否位于合法校验值清单中,运行模块,
用于当确定第一安装包的签名的校验值位于合法校验值清单中时,运行第一安装包,一方
面实现了在安装第一安装包的过程中,可以根据第一标识、第一安装包的签名的校验值、合
法标识清单及合法检验值清单对第一安装包的合法性进行校验,只有在第一安装包的第一
标识位于合法标识清单中,且第一安装包的签名的校验值位于合法校验值清单中时,才安
装该第一安装包,保证了安装的第一安装包都是经过校验的,另一方面,由于合法标识清单
及合法校验值清单是存储在可信区域的,不会被其他程序恶意修改,且在没有网络连接时,
仍然可从可信区域中读取到合法标识清单及合法校验值清单,最终保证了运行该第一安装
包形成的应用程序为安全的应用程序,从而,保证用户的信息安全。
图5为本发明实施例提供的应用程序安装检测装置实施例二的结构示意图。本发
明实施例在图4所示实施例的基础上对该应用程序安装检测装置的其他部分作一详细说
明。如图5所示,在图4所示实施例的基础上,本发明实施例提供的应用程序安装检测装置,
包括:
第二确定模块51包括:第一获取子模块511,用于接收到下载指令后,从合法服务
器中获取第二安装包;第二获取子模块512,用于获取第二安装包的签名的校验值及第二安
装包的第二标识;第一存储子模块513,用于将第二标识存储于可信区域,形成合法标识清
单;第二存储子模块514,用于将第二安装包的签名的校验值存储于可信区域,形成合法校
验值清单。
第二获取模块52,用于接收到卸载指令后,获取待卸载的应用程序对应的第三安
装包的第三标识。
第二判断模块53,用于判断第三标识是否位于合法标识清单中。
保留模块54,用于当确定第三标识位于合法标识清单中时,在合法标识清单中保
留第三标识及在合法校验值清单中保留第三安装包的签名的校验值。
卸载模块55,用于卸载待卸载的应用程序的其他数据。
可选的,该应用程序安装检测装置还可以包括:第三判断模块,用于判断是否接收
到存储指示指令;其中,存储指示指令用于指示将第二标识存储于可信区域;第三确定模
块,用于当确定接收到存储指示指令时,确定执行将第二标识存储于可信区域的操作,第三
判断模块和第三确定模块的设置可以节省可信区域的存储空间,提高可信区域的利用率。
提示模块,用于提示用户第二安装包对应的应用程序已被保护。提示模块的设置可以提高
用户体验。
本发明实施例提供的应用程序安装检测装置,通过设置第二确定模块包括:第一
获取子模块,用于接收到下载指令后,从合法服务器中获取第二安装包;第二获取子模块,
用于获取第二安装包的签名的校验值及第二安装包的第二标识;第一存储子模块,用于将
第二标识存储于可信区域,形成合法标识清单;第二存储子模块,用于将第二安装包的签名
的校验值存储于可信区域,形成合法校验值清单,第二获取模块,用于接收到卸载指令后,
获取待卸载的应用程序对应的第三安装包的第三标识,第二判断模块,用于判断第三标识
是否位于合法标识清单中,保留模块,用于当确定第三标识位于合法标识清单中时,在合法
标识清单中保留第三标识及在合法校验值清单中保留第三安装包的签名的校验值,卸载模
块,用于卸载待卸载的应用程序的其他数据,实现了在确定合法标识清单和合法校验值清
单时,根据从合法服务器中获取的第二安装包确定,并在卸载应用程序时,判断该应用程序
的安装包的标识是否位于合法标识清单中,如位于,则在合法标识清单及合法校验值清单
中保留该安装包的标识和签名的校验值,保证了合法标识清单和合法校验值清单的完整
性,提高了应用程序检测的准确率,从而,进一步保证了用户的信息安全。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通
过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程
序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或
者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽
管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依
然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进
行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。