CN111199039B - 应用程序的安全性校验方法、装置及终端设备 - Google Patents

应用程序的安全性校验方法、装置及终端设备 Download PDF

Info

Publication number
CN111199039B
CN111199039B CN201811381685.3A CN201811381685A CN111199039B CN 111199039 B CN111199039 B CN 111199039B CN 201811381685 A CN201811381685 A CN 201811381685A CN 111199039 B CN111199039 B CN 111199039B
Authority
CN
China
Prior art keywords
application program
check value
file
related file
module
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
CN201811381685.3A
Other languages
English (en)
Other versions
CN111199039A (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.)
Chengdu TD Tech Ltd
Original Assignee
Chengdu TD Tech 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 Chengdu TD Tech Ltd filed Critical Chengdu TD Tech Ltd
Priority to CN201811381685.3A priority Critical patent/CN111199039B/zh
Publication of CN111199039A publication Critical patent/CN111199039A/zh
Application granted granted Critical
Publication of CN111199039B publication Critical patent/CN111199039B/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/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • 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/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例提供一种应用程序的安全性校验方法、装置及终端设备。本发明应用程序的安全性校验方法,包括:在终端设备开机时,获取第一应用程序的相关文件;计算所述第一应用程序的相关文件的第一校验值;比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同;若相同,则确认所述第一应用程序的安全性校验成功。本发明实施例实现了在终端设备每次开机时都对终端设备上的用用程序的安全性进行校验,从而校验出被攻击者恶意篡改已安装完成的应用程序,防止用户的信息被篡改的应用程序窃取。

Description

应用程序的安全性校验方法、装置及终端设备
技术领域
本发明实施例涉及数据安全技术领域,尤其涉及一种应用程序的安全性校验方法、装置及终端设备。
背景技术
在下载应用程序时,通常是下载应用程序安装包,将应用程序安装包在终端上运行即可安装对应的应用程序。应用程序开发者在发布应用程序前,把应用程序安装包包含的所有数据生成摘要文件,并设计算法计算所有数据哈希值,将哈希值保存在摘要文件里。然后利用加密算法对摘要文件加密,最后将加密的摘要文件,加密算法和对应公钥附加在应用安装包里。
通常情况下,在安装应用程序时,终端内的系统首先使用安装包里的公钥解密摘要文件,并对其包含的所有数据重新计算其哈希值,然后和摘要文件里保存哈希值对比,完全一致就说明应用程序在发布后没有被篡改。
然而,目前终端通常只在应用程序安装时才会校验安装包的完整性,一旦安装,即在应用程序运行时并不会再做任何完整性校验。这样就存在一个漏洞,攻击者篡改应用程序,在应用程序下次启动时就变相的执行了篡改后的应用程序。从而在用户不知情的情况下为用户捆绑广告插件,甚至窃取用户的隐私,影响用户安全。
发明内容
本发明实施例提供一种应用程序的安全性校验方法、装置及终端设备,以避免用户使用被篡改的应用程序。
第一方面,本发明实施例提供一种应用程序的安全性校验方法,包括:
在终端设备开机时,获取第一应用程序的相关文件,所述相关文件包括运行文件和/或安装文件,所述第一应用程序为安装在所述终端设中的任一应用程序;
计算所述第一应用程序的相关文件的第一校验值;
比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同;
若相同,则确认所述第一应用程序的安全性校验成功。
可选地,在第一方面的一种可能的实施方式中,还包括:
若不相同,则确认所述第一应用程序的安全性校验失败。
可选地,在第一方面的一种可能的实施方式中,还包括:
恢复所述终端设备为出厂设置,或者,卸载所述第一应用程序,或者,提示用户卸载所述第一应用程序。
可选地,在第一方面的一种可能的实施方式中,还包括:
在所述第一应用程序安装在所述终端设备时,获取所述第一应用程序的相关文件;
计算所述相关文件的校验值,并将所述校验值保存为所述第二校验值。
可选地,在第一方面的一种可能的实施方式中,还包括:
在所述第一应用程序更新时,获取所述第一应用程序更新后的相关文件;
计算所述更新后的相关文件的校验值,并将所述校验值更新保存为所述第二校验值。
可选地,在第一方面的一种可能的实施方式中,还包括:
在对所述第一应用程序的安全性校验的过程中,显示提示信息,所述提示信息用于提示正在做安全性校验。
可选地,在第一方面的一种可能的实施方式中,所述校验值为哈希值。
第二方面,本发明实施例提供一种应用程序的安全性校验装置,包括:
获取模块,用于在终端设备开机时,获取第一应用程序的相关文件,所述相关文件包括运行文件和/或安装文件,所述第一应用程序为安装在所述终端设中的任一应用程序;
计算模块,用于计算所述第一应用程序的相关文件的第一校验值;
比较模块,用于比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同;
处理模块,用于所述第一校验值与所述相关文件的预先保存的第二校验值相同时,确认所述第一应用程序的安全性校验成功。
可选地,在第二方面的一种可能的实施方式中,所述处理模块,还用于所述第一校验值与所述相关文件的预先保存的第二校验值不相同时,确认所述第一应用程序的安全性校验失败。
可选地,在第二方面的一种可能的实施方式中,所述处理模块,还用于在确认所述第一应用程序的安全性校验失败之后,恢复所述终端设备为出厂设置,或者,卸载所述第一应用程序,或者,提示用户卸载所述第一应用程序。
可选地,在第二方面的一种可能的实施方式中,所述装置还包括:保存模块;
所述获取模块,还用于在所述第一应用程序安装在所述终端设备时,获取所述第一应用程序的相关文件;
所述计算模块,还用于计算所述相关文件的校验值;
所述保存模块,用于将所述校验值保存为所述第二校验值。
可选地,在第二方面的一种可能的实施方式中,
所述获取模块,还用于在所述第一应用程序更新时,获取所述第一应用程序更新后的相关文件;
所述计算模块,还用于计算所述更新后的相关文件的校验值;
所述保存模块,还用于将所述校验值更新保存为所述第二校验值。
可选地,在第二方面的一种可能的实施方式中,所述装置还包括:显示模块;
所述显示模块,用于在对所述第一应用程序的安全性校验的过程中,显示提示信息,所述提示信息用于提示正在做安全性校验。
可选地,在第二方面的一种可能的实施方式中,所述校验值为哈希值。
第三方面,本发明实施例提供一种终端设备,该终端设备包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行发明实施例第一方面本任一项所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现发明实施例第一方面任一项所述的方法。
第五方面,本申请实施例提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,应用程序的安全性校验装置的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得应用程序的安全性校验装置实施本申请发明实施例第一方面任一项提供的发明实施例方法。
本发明实施例提供一种应用程序的安全性校验方法、装置及终端设备,通过在终端设备开机时,获取第一应用程序的相关文件,计算所述第一应用程序的相关文件的第一校验值,比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同,若相同,则确认所述第一应用程序的安全性校验成功。本发明实施例提供的应用程序的安全性校验方法实现了在终端设备每次开机时都对终端设备上的用用程序的安全性进行校验,从而校验出被攻击者恶意篡改已安装完成的应用程序,防止用户的信息被篡改的应用程序窃取。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的应用程序的安全性校验方法的流程图;
图2为本发明实施例一提供的应用程序的安全性校验装置的结构示意图;
图3为本发明实施例一提供的终端设备的结构示意图;
图4为本发明实施例二提供的终端设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的应用程序的安全性校验方法的流程图,如图1所示,本实施例的方法可以包括:
S101、在终端设备开机时,获取第一应用程序的相关文件。
其中,相关文件包括运行文件和/或安装文件,第一应用程序为安装在终端设中的任一应用程序。
本实施例中,在终端设备开机时,需要分别获取终端设备上所有应用程序的相关文件,即运行文件和/或安装文件。其中,安装文件为应用程序的安装包里包含的应用程序安装的所有文件,例如可以从保存地址/data/app/xxx.apk中获取安装文件;运行文件为应用程序安装完成后的执行文件,例如可以从安装地址/data/dalvik-cache/data@app@xxx.apk@classes.dex中获取运行文件。例如,终端设备上安装有应用程序1、应用程序2以及应用程序3,相应的,在终端设备开机时,分别获取应用程序1的相关文件1、应用程序2的相关文件2以及应用程序3的相关文件3。其中,本发明实施例以终端设备上的任意一个应用程序(即第一应用程序)为例,对本发明实施例进行描述。
需要说明的是,第一应用程序可以是终端设备在出厂时自带的应用程序,也可以是用户根据自己的需要下载安装的应用程序。
S102、计算所述第一应用程序的相关文件的第一校验值。
本实施例中,采用预设算法,计算第一应用程序的相关文件的校验值,此处将该校验值称为第一校验值。其中,相关文件的校验值包括运行文件的校验值和/或安装文件的校验值。可选地,校验值包括哈希值。
需要说明的是,如果第一应用程序的相关文件只包括运行文件或安装文件,则第一校验值为使用计算算法计算得到的运行文件的第一校验值或使用计算算法计算得到的安装文件的第一校验值。如果第一应用程序的相关文件为运行文件和安装文件,则第一校验值包括使用计算算法计算得到的运行文件的第一校验和安装文件的第一校验值。例如,本发明实施例中,第一校验值包括使用计算算法计算得到的运行文件的第一校验值和安装文件的第一校验值。
S103、比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同,若相同,执行S104;可选的,若不相同,执行S105。
本实施例中,终端设备上的所有应用程序的第二校验值按照统一格式保存在一个文件里,例如第一应用程序的第二校验值的保存格式可以是:
第一应用程序安装包名称安装文件的第二校验值运行文件的第二校验值;
然后将文件加密后保存在终端设备特定区域内,特定区域例如可以是终端设备内的由可信执行环境(Trusted Execution Environment,TEE)提供的安全区域。其中,加密后的文件的保存到TEE中的文件名例如可以是:TEE/data/system/sec_app_check.list。其中,计算相关文件的预先保存的第二校验值的算法与上述的获得第一校验值采用的预设算法相同。
获取相关文件的预先保存的第二校验值时,首先读取到保存在特定区域的加密后的文件,加密后的文件的保存地址例如可以是TEE/data/system/sec_app_check.list,可通过全球通用平台(Global Platform,GP)接口读取该文件。然后,解密加密后的文件,例如对文件中的sec_app_check.list进行解密,从而获取到终端设备上的所有应用程序的第二校验值,其中,计算第二校验值时使用的计算算法与计算第一校验值时使用的计算算法相同。最后,依次将终端设备上的所有应用程序的第一校验值与对应的第二校验值进行比较。其中,本发明实施例仅示出了终端设备上的所有应用程序中其中任意一个应用程序(即第一应用程序)的情况。
如果第一应用程序的相关文件只包括运行文件或安装文件,则只要将运行文件的第一校验值与预先存储的运行文件的第二校验值比较即可。或者将安装文件的第一校验值与预先存储的安装文件的第二校验值比较。如果第一应用程序的相关文件为运行文件和安装文件,则需要对运行文件的第一校验和预先存储的运行文件的第二校验值进行比较以及对安装文件的第一校验值与预先存储的安装文件的第二校验值进行比较,并且当且当运行文件的第一校验和预先存储的运行文件的第二校验值相同且安装文件的第一校验值与预先存储的安装文件的第二校验值相同时,才说明第一校验值与预先保存的第二校验值相同。
S104、确认所述第一应用程序的安全性校验成功。
本实施例中,在S103中依次校验终端设备上所有应用程序的相关文件的第一校验值与预先保存的第二校验值,因此,本步骤中,需要使得终端设备上的所有应用程序都安全性校验成功。其中,在终端设备上的所有应用程序都安全性校验成功时,终端设备可以正常开机。
S105、确认所述第一应用程序的安全性校验失败。
本实施例中,当检测到终端设备上有应用程序的安全性校验失败时,可以该应用程序运行。终端设备可以继续对其他的应用程序的安全性进行校验,也可以停止对其他的应用程序的安全性进行校验。
可选的,在第一应用程序的安全性校验失败后,终端设备可执行以下任意操作:恢复所述终端设备为出厂设置,或者,卸载所述第一应用程序,或者,提示用户卸载所述第一应用程序。从而将被篡改的应用程序从终端设备上删除,避免终端设备因运行了被篡改的应用程序而引发的用户信息的泄露等严重后果。
本实施例,通过在终端设备开机时,获取第一应用程序的相关文件,计算所述第一应用程序的相关文件的第一校验值,比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同,若相同,则确认所述第一应用程序的安全性校验成功。实现了在终端设备每次开机时都对终端设备上的用用程序的安全性进行校验,从而校验出被攻击者恶意篡改已安装完成的应用程序,防止用户的信息被篡改的应用程序窃取。
可选的,应用程序的安全性校验方法还包括:在所述第一应用程序安装在所述终端设备时,获取所述第一应用程序的相关文件。计算所述相关文件的校验值,并将所述校验值保存为所述第二校验值。
若第一应用程序为用户根据自己的需要下载安装的应用程序,则在安装该第一应用程序时,计算该第一应用程序的相关文件的校验值,并将计算得到的校验值保存为该第一应用程序的第二校验值。其中,获得第二校验值采用的算法与上述的获得第一校验值采用的预设算法相同。
可选的,在终端设备首次开机或者恢复出厂设置后首次开机时,获取第一应用程序的相关文件,计算相关文件的校验值,并将所述校验值保存为所述第二校验值。
若第一应用程序为终端设备出厂时自带的应用程序,在终端设备首次开机或者恢复出厂设置后首次开机时,获取第一应用程序的相关文件,并按照上述获得第一校验值采用的预设算法计算相关文件的校验值,并将其保存为第二校验值。
可选的,应用程序的安全性校验方法还包括:在所述第一应用程序更新时,获取所述第一应用程序更新后的相关文件。计算所述更新后的相关文件的校验值,并将所述校验值更新保存为所述第二校验值。
本实施例中,当终端设备上的第一应用程序更新时,其相关文件发生改变,从而该相关文件的校验值也会发生改变,因此,需要计算更新后的相关文件的校验值。其中,计算更新后的相关文件的校验值时,使用的计算算法与计算第一校验值时使用的计算算法相同。在保存有所有应用程序的第二校验值的文件中,使用计算得到的更新后的相关文件的校验值对预先保存的该相关文件的第二校验值进行更新。从而在下一次开机时,使该第一应用程序的第一校验值与更新后的第二件校验值进行比较,避免虽然第一应用程序为正常更新,但由于预先保存的第二校验值没有更新,而造成的第一应用程序的安全性检测失败的情况的发生。
可选的,当终端设备上的第一应用程序卸载时,需要将预先保存的该第一应用程序的相关文件的第二校验值从保存所有应用文件的第二校验值的加密文件中删除。
具体的,例如获取第一应用程序的相关文件的预先保存的第二校验值时,首先读取到保存在特定区域的加密后的文件,例如可以是TEE/data/system/sec_app_check.list,例如可通过全球通用平台(Global Platform,GP)接口读取该文件。然后,解密加密后的文件,例如对文件中的sec_app_check.list进行解密,从而获取到该第一应用程序的相关文件的第二校验值。然后将该第一应用程序的相关文件的第二校验值从该文件中删除,从而更新保存所有应用程序的第二校验值的文件,最后将文件加密后保存为TEE/data/system/sec_app_check.list。
可选的,应用程序的安全性校验方法还包括:在对所述第一应用程序的安全性校验的过程中,显示提示信息,所述提示信息用于提示正在做安全性校验。
本实施例中,在第一应用程序的安全性校验过程中不允许安装应用程序,也不允许用户操作应用程序,以使第一应用程序的安全性检测正常进行。因此,在第一应用程序的安全性校验过程中,可以在终端设备的界面上显示提示信息,以提示用户终端设备正在做应用程序的安全性检测。
图2为本发明实施例一提供的应用程序的安全性校验装置的结构示意图,如图2所示,本实施例的装置可以包括:获取模块21、计算模块22、比较模块23和处理模块24。可选的,所述装置还包括:保存模块25。可选的,所述装置还包括:显示模块26。
获取模块21,用于在终端设备开机时,获取第一应用程序的相关文件,所述相关文件包括运行文件和/或安装文件,所述第一应用程序为安装在所述终端设中的任一应用程序.
计算模块22,用于计算所述第一应用程序的相关文件的第一校验值。
比较模块23,用于比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同。
处理模块24,用于所述第一校验值与所述相关文件的预先保存的第二校验值相同时,确认所述第一应用程序的安全性校验成功。
可选地,所述处理模块24,还用于所述第一校验值与所述相关文件的预先保存的第二校验值不相同时,确认所述第一应用程序的安全性校验失败。
可选地,所述处理模块24,还用于在确认所述第一应用程序的安全性校验失败之后,恢复所述终端设备为出厂设置,或者,卸载所述第一应用程序,或者,提示用户卸载所述第一应用程序。
可选地,所述获取模块21,还用于在所述第一应用程序安装在所述终端设备时,获取所述第一应用程序的相关文件。
所述计算模块22,还用于计算所述相关文件的校验值。
所述保存模块25,用于将所述校验值保存为所述第二校验值。
可选的,所述获取模块21,还用于在所述第一应用程序更新时,获取所述第一应用程序更新后的相关文件。
所述计算模块22,还用于计算所述更新后的相关文件的校验值。
所述保存模块25,还用于将所述校验值更新保存为所述第二校验值。
可选的,所述显示模块26,用于在对所述第一应用程序的安全性校验的过程中,显示提示信息,所述提示信息用于提示正在做安全性校验。
可选地,所述校验值为哈希值。
本实施例以上所述的应用程序的安全性校验装置,可以用于执行上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图3为本发明实施例一提供的终端设备的结构示意图。如图3所示,所述终端设备可以包括:至少一个处理器31和存储器32。图3示出的是以一个处理器为例的终端设备,其中,
存储器32,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器32可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器31,用于执行所述存储器32存储的计算机执行指令,以实现上述实施例中的应用程序的安全性校验方法,其实现原理和技术效果类似,在此不再赘述。
其中,处理器31可能一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,在具体实现上,如果存储器32和处理器31独立实现,则存储器32和处理器31可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器32和处理器31集成在一块芯片上实现,则存储器32和处理器31可以通过内部接口完成相同间的通信。
本实施例以上所述的终端设备,可以用于执行上述各方法实施例中的技术方案,其实现原理和技术效果类似,此处不再赘述。
图4为本发明实施例二提供的终端设备的结构示意图。例如,终端设备可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,终端设备可以包括以下一个或多个组件:处理组件402,存储器404,电源电力组件406,多媒体组件408,音频组件410,输入/输出(I/O)的接口412,传感器组件414,以及通信组件416。
处理组件402通常控制终端设备的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件组件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理部件组件402可以包括多媒体模块,以方便多媒体组件408和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在终端设备的操作。这些数据的示例包括用于在终端设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件406为终端设备的各种组件提供电力。电力组件406可以包括电源管理系统,一个或多个电源,及其他与为终端设备生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述终端设备和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当终端设备处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当终端设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/O接口412为处理组件402和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为终端设备提供各个方面的状态评估。例如,传感器组件414可以检测到终端设备的打开/关闭状态,组件的相对定位,例如所述组件为终端设备的显示器和小键盘,传感器组件414还可以检测终端设备或终端设备一个组件的位置改变,用户与终端设备接触的存在或不存在,终端设备方位或加速/减速和终端设备的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于终端设备和其他设备之间有线或无线方式的通信。终端设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件组件416经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件组件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由终端设备的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种应用程序的安全性校验方法,其特征在于,包括:
在终端设备开机时,获取第一应用程序的相关文件,所述相关文件包括运行文件和/或安装文件,所述第一应用程序为安装在所述终端设备中的任一应用程序;
计算所述第一应用程序的相关文件的第一校验值;
比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同;
若相同,则确认所述第一应用程序的安全性校验成功;
在所述第一应用程序安装在所述终端设备时,获取所述第一应用程序的相关文件;
计算所述相关文件的校验值,并将所述校验值保存为所述第二校验值;
在所述第一应用程序更新时,获取所述第一应用程序更新后的相关文件;
计算所述更新后的相关文件的校验值,并将所述校验值更新保存为所述第二校验值。
2.根据权利要求1所述的方法,其特征在于,还包括:
若不相同,则确认所述第一应用程序的安全性校验失败。
3.根据权利要求2所述的方法,其特征在于,还包括:
恢复所述终端设备为出厂设置,或者,卸载所述第一应用程序,或者,提示用户卸载所述第一应用程序。
4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
在对所述第一应用程序的安全性校验的过程中,显示提示信息,所述提示信息用于提示正在做安全性校验。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述校验值为哈希值。
6.一种应用程序的安全性校验装置,其特征在于,包括:
获取模块,用于在终端设备开机时,获取第一应用程序的相关文件,所述相关文件包括运行文件和/或安装文件,所述第一应用程序为安装在所述终端设备 中的任一应用程序;
计算模块,用于计算所述第一应用程序的相关文件的第一校验值;
比较模块,用于比较所述第一校验值与所述相关文件的预先保存的第二校验值是否相同;
处理模块,用于所述第一校验值与所述相关文件的预先保存的第二校验值相同时,确认所述第一应用程序的安全性校验成功;
所述获取模块,还用于在所述第一应用程序安装在所述终端设备时,获取所述第一应用程序的相关文件;
所述计算模块,还用于计算所述相关文件的校验值;
保存模块,用于将所述校验值保存为所述第二校验值;
所述获取模块,还用于在所述第一应用程序更新时,获取所述第一应用程序更新后的相关文件;
所述计算模块,还用于计算所述更新后的相关文件的校验值;
所述保存模块,还用于将所述校验值更新保存为所述第二校验值。
7.一种终端设备,其特征在于,包括:存储器和处理器,存储器用于存储程序指令,处理器用于调用存储器中的程序指令执行如权利要求1-5任一项所述的应用程序的安全性校验方法。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序;所述计算机程序被执行时,实现如权利要求1-5任一项所述的应用程序的安全性校验方法。
CN201811381685.3A 2018-11-20 2018-11-20 应用程序的安全性校验方法、装置及终端设备 Active CN111199039B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811381685.3A CN111199039B (zh) 2018-11-20 2018-11-20 应用程序的安全性校验方法、装置及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811381685.3A CN111199039B (zh) 2018-11-20 2018-11-20 应用程序的安全性校验方法、装置及终端设备

Publications (2)

Publication Number Publication Date
CN111199039A CN111199039A (zh) 2020-05-26
CN111199039B true CN111199039B (zh) 2023-02-28

Family

ID=70746232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811381685.3A Active CN111199039B (zh) 2018-11-20 2018-11-20 应用程序的安全性校验方法、装置及终端设备

Country Status (1)

Country Link
CN (1) CN111199039B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113031957A (zh) * 2020-12-16 2021-06-25 深圳市欢太科技有限公司 应用程序的安装方法、客户端、终端、服务器及存储介质
CN113051564A (zh) * 2021-02-26 2021-06-29 深圳市元征科技股份有限公司 应用程序的安全启动方法及相关设备
CN114064462A (zh) * 2021-11-01 2022-02-18 中金金融认证中心有限公司 一种用于对应用程序进行校验的装置、方法和相关产品
CN115017498B (zh) * 2021-11-19 2023-02-28 荣耀终端有限公司 小应用程序的操作方法和电子设备
CN114615075B (zh) * 2022-03-28 2023-04-25 重庆长安汽车股份有限公司 一种控制器的软件防篡改系统、方法及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034428A (zh) * 2007-04-05 2007-09-12 威盛电子股份有限公司 应用程序保护系统及方法
CN102214278A (zh) * 2010-04-06 2011-10-12 国民技术股份有限公司 一种计算机的可信性检测方法
CN106484484A (zh) * 2016-10-20 2017-03-08 广东欧珀移动通信有限公司 应用程序安装管理方法及终端设备
CN107506636A (zh) * 2017-08-17 2017-12-22 北京小米移动软件有限公司 预装应用程序的保护方法及装置
CN107870793A (zh) * 2017-12-22 2018-04-03 上海众人网络安全技术有限公司 一种应用程序中加载so文件的方法及装置
CN108549826A (zh) * 2018-03-30 2018-09-18 努比亚技术有限公司 应用程序的校验方法、终端、服务器及可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5850559A (en) * 1996-08-07 1998-12-15 Compaq Computer Corporation Method and apparatus for secure execution of software prior to a computer system being powered down or entering a low energy consumption mode
CN101788915A (zh) * 2010-02-05 2010-07-28 北京工业大学 基于可信进程树的白名单更新方法
CN102831338B (zh) * 2012-06-28 2015-09-30 北京奇虎科技有限公司 一种Android应用程序的安全检测方法及系统
CN102833686A (zh) * 2012-07-13 2012-12-19 中广传播集团有限公司 一种终端软件空中升级与加载方法
CN102902530A (zh) * 2012-09-07 2013-01-30 四川长虹电器股份有限公司 一种基于linux嵌入式操作系统的程序校验装置
CN104123481A (zh) * 2013-04-24 2014-10-29 贝壳网际(北京)安全技术有限公司 防止应用程序被篡改的方法及装置
CN103455354B (zh) * 2013-09-06 2017-04-12 南京南自信息技术有限公司 一种防止固件升级失败的方法和设备
WO2016124032A1 (zh) * 2015-02-03 2016-08-11 天地融科技股份有限公司 数据交互方法
CN105306434A (zh) * 2015-09-11 2016-02-03 北京金山安全软件有限公司 程序文件校验方法及装置、服务器和终端
CN106303709B (zh) * 2016-08-01 2019-04-16 深圳市创维软件有限公司 一种机顶盒及其应用程序升级方法、系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034428A (zh) * 2007-04-05 2007-09-12 威盛电子股份有限公司 应用程序保护系统及方法
CN102214278A (zh) * 2010-04-06 2011-10-12 国民技术股份有限公司 一种计算机的可信性检测方法
CN106484484A (zh) * 2016-10-20 2017-03-08 广东欧珀移动通信有限公司 应用程序安装管理方法及终端设备
CN107506636A (zh) * 2017-08-17 2017-12-22 北京小米移动软件有限公司 预装应用程序的保护方法及装置
CN107870793A (zh) * 2017-12-22 2018-04-03 上海众人网络安全技术有限公司 一种应用程序中加载so文件的方法及装置
CN108549826A (zh) * 2018-03-30 2018-09-18 努比亚技术有限公司 应用程序的校验方法、终端、服务器及可读存储介质

Also Published As

Publication number Publication date
CN111199039A (zh) 2020-05-26

Similar Documents

Publication Publication Date Title
US20180367315A1 (en) Method and apparatus for signing and verifying application installation package, and storage medium
CN111199039B (zh) 应用程序的安全性校验方法、装置及终端设备
CN107766701B (zh) 电子设备、动态库文件保护方法及装置
CN107169320A (zh) 校验方法及装置
EP3016349B1 (en) Method and apparatus for verifying terminal and computer program product
CN106775903B (zh) 安全策略文件更新方法及装置
CN114880011A (zh) Ota升级方法、装置、电子设备及可读存储介质
US10402562B2 (en) Method and device for encrypting application
CN114221764A (zh) 基于区块链的公钥更新方法、装置和设备
CN106709284A (zh) 刷机包验证方法及装置
CN107071008B (zh) 终端设备的定位方法、装置和设备
CN107733674B (zh) 组件升级方法及终端
CN113055169A (zh) 数据加密方法、装置、电子设备及存储介质
CN104239095A (zh) 操作系统启动方法、装置及终端设备
CN107103231B (zh) 对应用进行安装管理的方法及装置
CN112733092B (zh) 一种信息处理方法及装置
CN108229173B (zh) 系统启动的方法及装置
EP3239880B1 (en) Legal installation package acquiring method and apparatus, computer program and recording medium
CN107220082B (zh) 应用程序的安装方法、装置和设备
CN106485151B (zh) 控制刷机的方法及装置
CN107302519B (zh) 一种终端设备的身份认证方法、装置和终端设备、服务器
CN114221788A (zh) 登录方法、装置、电子设备及存储介质
US20160125203A1 (en) Method and apparatus of verifying terminal and medium
CN115438345A (zh) 日志加密、解密方法、装置、设备及存储介质
CN114675865A (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