CN106548065B - 应用程序安装检测方法及装置 - Google Patents

应用程序安装检测方法及装置 Download PDF

Info

Publication number
CN106548065B
CN106548065B CN201610968766.8A CN201610968766A CN106548065B CN 106548065 B CN106548065 B CN 106548065B CN 201610968766 A CN201610968766 A CN 201610968766A CN 106548065 B CN106548065 B CN 106548065B
Authority
CN
China
Prior art keywords
installation package
legal
identifier
list
signature
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.)
Active
Application number
CN201610968766.8A
Other languages
English (en)
Other versions
CN106548065A (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.)
Hisense Co Ltd
Original Assignee
Hisense Co 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 Hisense Co Ltd filed Critical Hisense Co Ltd
Priority to CN201610968766.8A priority Critical patent/CN106548065B/zh
Publication of CN106548065A publication Critical patent/CN106548065A/zh
Application granted granted Critical
Publication of CN106548065B publication Critical patent/CN106548065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种应用程序安装检测方法及装置。该方法包括:获取待安装的第一安装包的签名的校验值及第一安装包的第一标识,判断第一标识是否位于安装包的合法标识清单中,其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务器获取的第二安装包的标识确定的,若确定第一标识位于合法标识清单中,则确定第一安装包的签名的校验值是否位于合法校验值清单中,其中,合法校验值清单位于可信区域,合法校验值清单为根据第二安装包的签名的校验值确定的,若确定校验值位于合法校验值清单中,则安装第一安装包,从而,保证了用户的信息安全。

Description

应用程序安装检测方法及装置
技术领域
本发明涉及通信技术,尤其涉及一种应用程序安装检测方法及装置。
背景技术
随着通信技术的不断发展,终端设备的使用越来越广泛。用户需要在终端设备上安装的应用程序越来越多,例如,即时通信程序及网上购物程序等。
目前,在初次安装应用程序的过程中,终端设备在接收到下载指令后,从官方服务器中将合法的安装包下载至终端设备,在接收到安装指令后,运行该合法的安装包。该合法的安装包运行后,就可以将相应的安全的应用程序安装至终端设备上。安装之后,用户点击该安全的应用程序的图标,即可以启动该安全的应用程序,进行网上购物、网上支付等业务。在其他人拿到该终端设备后,如果在卸载该安全的应用程序后,运行已经经过恶意修改的安装包,安装非法的应用程序替换终端设备上原有的合法的应用程序,只要该修改后的安装包具有与合法的安装包相同的包名称,用户就不会发现该合法的应用程序已经被恶意修改,从而,用户可能在后续的过程中可能会使用该非法的应用程序。
因此,上述过程中,在再次安装与合法的安装包具有同样的包名称的修改后的安装包的过程中,无法对该修改后的安装包的合法性进行验证,从而,导致用户的信息安全受到威胁。
发明内容
为解决现有技术中存在的问题,本发明提供一种应用程序安装检测方法及装置,以保证用户的信息安全。
本发明提供一种应用程序安装检测方法,包括:
获取待安装的第一安装包的签名的校验值及所述第一安装包的第一标识;
判断所述第一标识是否位于安装包的合法标识清单中;其中,所述合法标识清单位于终端设备的可信区域,所述合法标识清单为根据从合法服务器获取的第二安装包的标识确定的;
若确定所述第一标识位于所述合法标识清单中,则确定所述第一安装包的签名的校验值是否位于合法校验值清单中;其中,所述合法校验值清单位于所述可信区域,所述合法校验值清单为根据所述第二安装包的签名的校验值确定的;
若确定所述第一安装包的签名的校验值位于所述合法校验值清单中,则运行所述第一安装包。
如上所示的方法,所述获取待安装的第一安装包的签名的校验值,包括:
从所述第一安装包的签名的字段中获取所述第一安装包的签名;
根据所述第一安装包的签名及校验算法确定所述第一安装包的签名的校验值。
如上所示的方法,所述方法还包括:
根据所述第二安装包的第二标识及所述第二安装包的签名的校验值确定所述合法标识清单及所述合法校验值清单。
如上所示的方法,所述根据所述第二安装包的第二标识及所述第二安装包的签名的校验值确定所述合法标识清单及所述合法校验值清单,包括:
接收到下载指令后,从所述合法服务器中获取所述第二安装包;
获取所述第二安装包的签名的校验值及所述第二安装包的第二标识;
将所述第二标识存储于所述可信区域,形成所述合法标识清单;
将所述第二安装包的签名的校验值存储于所述可信区域,形成所述合法校验值清单。
如上所示的方法,在所述将所述第二标识存储于所述可信区域之前,所述方法还包括:
判断是否接收到存储指示指令;其中,所述存储指示指令用于指示将所述第二标识存储于所述可信区域;
若确定接收到所述存储指示指令,则确定执行将所述第二标识存储于所述可信区域的操作。
如上所示的方法,若确定接收到所述存储指示指令,所述方法还包括:
提示用户所述第二安装包对应的应用程序已被保护。
如上所示的方法,所述方法还包括:
接收到卸载指令后,获取待卸载的应用程序对应的第三安装包的第三标识;
判断所述第三标识是否位于所述合法标识清单中;
若确定所述第三标识位于所述合法标识清单中,在所述合法标识清单中保留所述第三标识及在所述合法校验值清单中保留所述第三安装包的签名的校验值;
卸载所述待卸载的应用程序的其他数据。
如上所示的方法,所述校验算法为哈希算法,所述第一标识为所述第一安装包的包名称。
本发明还提供一种应用程序安装检测装置,包括:
第一获取模块,用于获取待安装的第一安装包的签名的校验值及所述第一安装包的第一标识;
第一判断模块,用于判断所述第一标识是否位于安装包的合法标识清单中;其中,所述合法标识清单位于终端设备的可信区域,所述合法标识清单为根据从合法服务器获取的第二安装包的标识确定的;
第一确定模块,用于当确定所述第一标识位于所述合法标识清单中时,确定所述第一安装包的签名的校验值是否位于合法校验值清单中;其中,所述合法校验值清单位于所述可信区域,所述合法校验值清单为根据所述第二安装包的签名的校验值确定的;
运行模块,用于当确定所述第一安装包的签名的校验值位于所述合法校验值清单中时,运行所述第一安装包。
如上所示的装置,所述第一获取模块具体用于:
从所述第一安装包的签名的字段中获取所述第一安装包的签名;
根据所述第一安装包的签名及校验算法确定所述第一安装包的签名的校验值。
如上所示的装置,所述装置还包括:
第二确定模块,用于根据所述第二安装包的第二标识及所述第二安装包的签名的校验值确定所述合法标识清单及所述合法校验值清单。
如上所示的装置,所述第二确定模块包括:
第一获取子模块,用于接收到下载指令后,从所述合法服务器中获取所述第二安装包;
第二获取子模块,用于获取所述第二安装包的签名的校验值及所述第二安装包的第二标识;
第一存储子模块,用于将所述第二标识存储于所述可信区域,形成所述合法标识清单;
第二存储子模块,用于将所述第二安装包的签名的校验值存储于所述可信区域,形成所述合法校验值清单。
如上所示的装置,所述装置还包括:
第三判断模块,用于判断是否接收到存储指示指令;其中,所述存储指示指令用于指示将所述第二标识存储于所述可信区域;
第三确定模块,用于当确定接收到所述存储指示指令时,确定执行将所述第二标识存储于所述可信区域的操作。
如上所示的装置,所述装置还包括:
提示模块,用于提示用户所述第二安装包对应的应用程序已被保护。
如上所示的装置,所述装置还包括:
第二获取模块,用于接收到卸载指令后,获取待卸载的应用程序对应的第三安装包的第三标识;
第二判断模块,用于判断所述第三标识是否位于所述合法标识清单中;
保留模块,用于当确定所述第三标识位于所述合法标识清单中时,在所述合法标识清单中保留所述第三标识及在所述合法校验值清单中保留所述第三安装包的签名的校验值;
卸载模块,用于卸载所述待卸载的应用程序的其他数据。
如上所示的装置,所述校验算法为哈希算法,所述第一标识为所述第一安装包的包名称。
本发明实施例提供的应用程序安装检测方法及装置,通过获取待安装的第一安装包的签名的校验值及第一安装包的第一标识,判断第一标识是否位于安装包的合法标识清单中,其中,合法标识清单位于终端设备的可信区域,合法标识清单为根据从合法服务器获取的第二安装包的标识确定的,若确定第一标识位于合法标识清单中,则确定第一安装包的签名的校验值是否位于合法校验值清单中,其中,合法校验值清单位于可信区域,合法校验值清单为根据第二安装包的签名的校验值确定的,若确定校验值位于合法校验值清单中,则安装第一安装包,一方面实现了在安装第一安装包的过程中,可以根据第一标识、第一安装包的签名的校验值、合法标识清单及合法检验值清单对第一安装包的合法性进行校验,只有在第一安装包的第一标识位于合法标识清单中,且第一安装包的签名的校验值位于合法校验值清单中时,才安装该第一安装包,保证了安装的第一安装包都是经过校验的,另一方面,由于合法标识清单及合法校验值清单是存储在可信区域的,不会被其他程序恶意修改,且在没有网络连接时,仍然可从可信区域中读取到合法标识清单及合法校验值清单,最终保证了运行该第一安装包形成的应用程序为安全的应用程序,从而,保证了用户的信息安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用程序安装检测方法实施例一的流程示意图;
图2为本发明实施例提供的应用程序安装检测方法实施例二的流程示意图;
图3为图2所示实施例中的用户界面示意图;
图4为本发明实施例提供的应用程序安装检测装置实施例一的结构示意图;
图5为本发明实施例提供的应用程序安装检测装置实施例二的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”及“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供的应用程序安装检测方法可以由终端设备执行。本发明实施例中的终端设备可以是具有支持ARM的可信区域技术的芯片的手持设备、车载设备、可穿戴设备、计算设备,以及各种形式的用户设备(User Equipment;简称:UE),移动台(MobileStation;简称: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、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种应用程序安装检测方法,其特征在于,包括:
获取待安装的第一安装包的签名的校验值及所述第一安装包的第一标识;
判断所述第一标识是否位于安装包的合法标识清单中;其中,所述合法标识清单位于终端设备的可信区域,所述合法标识清单为根据从合法服务器获取的第二安装包的标识确定的;
若确定所述第一标识位于所述合法标识清单中,则确定所述第一安装包的签名的校验值是否位于合法校验值清单中;其中,所述合法校验值清单位于所述可信区域,所述合法校验值清单为根据所述第二安装包的签名的校验值确定的;
若确定所述第一安装包的签名的校验值位于所述合法校验值清单中,则运行所述第一安装包;
所述方法还包括:
接收到卸载指令后,获取待卸载的应用程序对应的第三安装包的第三标识;
判断所述第三标识是否位于所述合法标识清单中;
若确定所述第三标识位于所述合法标识清单中,在所述合法标识清单中保留所述第三标识及在所述合法校验值清单中保留所述第三安装包的签名的校验值;
卸载所述待卸载的应用程序的其他数据。
2.根据权利要求1所述的方法,其特征在于,所述获取待安装的第一安装包的签名的校验值,包括:
从所述第一安装包的签名的字段中获取所述第一安装包的签名;
根据所述第一安装包的签名及校验算法确定所述第一安装包的签名的校验值。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述第二安装包的第二标识及所述第二安装包的签名的校验值确定所述合法标识清单及所述合法校验值清单。
4.根据权利要求2所述的方法,其特征在于,所述校验算法为哈希算法,所述第一标识为所述第一安装包的包名称。
5.一种应用程序安装检测装置,其特征在于,包括:
第一获取模块,用于获取待安装的第一安装包的签名的校验值及所述第一安装包的第一标识;
第一判断模块,用于判断所述第一标识是否位于安装包的合法标识清单中;其中,所述合法标识清单位于终端设备的可信区域,所述合法标识清单为根据从合法服务器获取的第二安装包的标识确定的;
第一确定模块,用于当确定所述第一标识位于所述合法标识清单中时,确定所述第一安装包的签名的校验值是否位于合法校验值清单中;其中,所述合法校验值清单位于所述可信区域,所述合法校验值清单为根据所述第二安装包的签名的校验值确定的;
运行模块,用于当确定所述第一安装包的签名的校验值位于所述合法校验值清单中时,运行所述第一安装包;
所述装置还包括:
第二获取模块,用于接收到卸载指令后,获取待卸载的应用程序对应的第三安装包的第三标识;
第二判断模块,用于判断所述第三标识是否位于所述合法标识清单中;
保留模块,用于当确定所述第三标识位于所述合法标识清单中时,在所述合法标识清单中保留所述第三标识及在所述合法校验值清单中保留所述第三安装包的签名的校验值;
卸载模块,用于卸载所述待卸载的应用程序的其他数据。
6.根据权利要求5所述的装置,其特征在于,所述第一获取模块具体用于:
从所述第一安装包的签名的字段中获取所述第一安装包的签名;
根据所述第一安装包的签名及校验算法确定所述第一安装包的签名的校验值。
7.根据权利要求5或6所述的装置,其特征在于,所述装置还包括:
第二确定模块,用于根据所述第二安装包的第二标识及所述第二安装包的签名的校验值确定所述合法标识清单及所述合法校验值清单。
8.根据权利要求6所述的装置,其特征在于,所述校验算法为哈希算法,所述第一标识为所述第一安装包的包名称。
CN201610968766.8A 2016-10-27 2016-10-27 应用程序安装检测方法及装置 Active CN106548065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610968766.8A CN106548065B (zh) 2016-10-27 2016-10-27 应用程序安装检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610968766.8A CN106548065B (zh) 2016-10-27 2016-10-27 应用程序安装检测方法及装置

Publications (2)

Publication Number Publication Date
CN106548065A CN106548065A (zh) 2017-03-29
CN106548065B true CN106548065B (zh) 2020-05-26

Family

ID=58394017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610968766.8A Active CN106548065B (zh) 2016-10-27 2016-10-27 应用程序安装检测方法及装置

Country Status (1)

Country Link
CN (1) CN106548065B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107766747B (zh) * 2017-10-31 2020-03-17 维沃移动通信有限公司 校验应用程序安装包完整性的方法、移动终端及服务器
CN108683502B (zh) * 2018-03-30 2022-01-25 上海连尚网络科技有限公司 一种数字签名验证方法、介质及设备
WO2020062233A1 (zh) * 2018-09-30 2020-04-02 西门子股份公司 应用程序处理和部署的方法、装置及计算机可读介质
CN111767537A (zh) * 2020-06-23 2020-10-13 平安普惠企业管理有限公司 基于ios操作***的应用程序的篡改校验方法及相关设备
CN112257058A (zh) * 2020-10-12 2021-01-22 麒麟软件有限公司 一种操作***可信计算校验方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103679029A (zh) * 2013-12-11 2014-03-26 北京奇虎科技有限公司 一种修复山寨应用程序的方法及装置
CN104021339A (zh) * 2014-06-10 2014-09-03 北京奇虎科技有限公司 移动终端的安全支付方法及装置
CN104954353A (zh) * 2015-02-10 2015-09-30 腾讯科技(深圳)有限公司 Apk文件包的校验方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577206A (zh) * 2012-07-27 2014-02-12 北京三星通信技术研究有限公司 一种应用软件的安装方法和装置
CN103679029A (zh) * 2013-12-11 2014-03-26 北京奇虎科技有限公司 一种修复山寨应用程序的方法及装置
CN104021339A (zh) * 2014-06-10 2014-09-03 北京奇虎科技有限公司 移动终端的安全支付方法及装置
CN104954353A (zh) * 2015-02-10 2015-09-30 腾讯科技(深圳)有限公司 Apk文件包的校验方法和装置

Also Published As

Publication number Publication date
CN106548065A (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
CN106548065B (zh) 应用程序安装检测方法及装置
CN109492378B (zh) 一种基于设备识别码的身份验证方法、服务器及介质
CN112771826B (zh) 一种应用程序登录方法、应用程序登录装置及移动终端
EP1438657B1 (en) Safe application distribution and execution in a wireless environment
KR100932807B1 (ko) 테스트 인에이블된 애플리케이션 실행
CN104751049B (zh) 一种应用程序安装方法及移动终端
CN108763951B (zh) 一种数据的保护方法及装置
US20130055335A1 (en) Security enhancement methods and systems
CN104462965A (zh) 应用程序完整性验证方法及网络设备
CN106355081A (zh) 一种安卓程序启动校验方法和装置
CN108335105B (zh) 数据处理方法及相关设备
CN108229144B (zh) 一种应用程序的验证方法、终端设备及存储介质
CN112231702B (zh) 应用保护方法、装置、设备及介质
US11443031B2 (en) Method for determining a validity of an application code, corresponding device and computer program product
CN110247897B (zh) 一种***登录方法、设备、网关及计算机可读存储介质
EP3659058A1 (en) Devices and methods for key attestation with multiple device certificates
US8874927B2 (en) Application execution system and method of terminal
CN107908962A (zh) 应用于Android智能终端的自检方法
CN109298895B (zh) 移动设备上的app管理方法及装置
CN112182642A (zh) 隐私数据、可信应用处理方法、***、装置及设备
CN117610083A (zh) 文件校验方法、装置、电子设备及计算机存储介质
CN106569851B (zh) 应用程序处理方法及装置
US20160352522A1 (en) User Terminal For Detecting Forgery Of Application Program Based On Signature Information And Method Of Detecting Forgery Of Application Program Using The Same
CN113282951A (zh) 一种应用程序的安全校验方法、装置及设备
CN110941825B (zh) 一种应用监控方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant