CN107480519A - 一种识别风险应用的方法及服务器 - Google Patents

一种识别风险应用的方法及服务器 Download PDF

Info

Publication number
CN107480519A
CN107480519A CN201710664255.1A CN201710664255A CN107480519A CN 107480519 A CN107480519 A CN 107480519A CN 201710664255 A CN201710664255 A CN 201710664255A CN 107480519 A CN107480519 A CN 107480519A
Authority
CN
China
Prior art keywords
application
terminal
unique features
features value
intended application
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.)
Withdrawn
Application number
CN201710664255.1A
Other languages
English (en)
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.)
Shenzhen Jinli Communication Equipment Co Ltd
Original Assignee
Shenzhen Jinli Communication Equipment 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 Shenzhen Jinli Communication Equipment Co Ltd filed Critical Shenzhen Jinli Communication Equipment Co Ltd
Priority to CN201710664255.1A priority Critical patent/CN107480519A/zh
Publication of CN107480519A publication Critical patent/CN107480519A/zh
Withdrawn legal-status Critical Current

Links

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/565Static detection by checking file integrity

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)
  • Storage Device Security (AREA)

Abstract

本发明实施例公开了一种识别风险应用的方法及服务器,其中方法包括:获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。本发明实施例通过识别安装包中被篡改的可执行文件,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。

Description

一种识别风险应用的方法及服务器
技术领域
本发明涉及电子技术领域,尤其涉及一种识别风险应用的方法及服务器。
背景技术
随着移动通信技术的发展,智能终端的功能越来越强大,智能终端可获取并运行应用程序的安装文件安装应用程序(Application,App),通过安装各种应用程序扩展智能终端的功能从而满足用户的需求。其中,应用程序的安装文件可以是智能终端系统自带的应用程序的安装文件,也可以是第三方应用的应用程序的安装文件。
然而,当应用程序的安装文件被恶意篡改时,运行该安装文件所对应的应用可能会对智能终端用户带来安全风险,例如,可能导致智能终端内的用户信息被泄露,或导致恶意扣费等。
发明内容
本发明实施例提供一种识别风险应用的方法及服务器,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
第一方面,本发明实施例提供了一种识别风险应用的方法,该方法包括:
获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;
根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;
若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
第二方面,本发明实施例提供了另一种识别风险应用的方法,该方法包括:
获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;
将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
第三方面,本发明实施例提供了一种终端,该终端包括:
第一获取单元,用于获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;
第二获取单元,用于根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;
识别单元,用于若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
第四方面,本发明实施例提供了一种服务器,该服务器包括:
获取单元,用于获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;
同步单元,用于将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
第五方面,本发明实施例提供了另一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持服务器执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
第七方面,本发明实施例提供了另一种服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持服务器执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第二方面的方法。
第八方面,本发明实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第二方面的方法。
本发明实施例通过识别待防护的应用的安装包所包含的可执行文件对应的唯一特征值是否与预设的可执行文件对应的唯一特征值相同,并在确认两者不同时,识别为该可执行文件被篡改,该可行文件对应的应用具有潜在风险。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种获取根密钥的系统的示意图;
图2是本发明实施例提供的一种获取根密钥的交互图;
图3是本发明一实施例提供的一种识别风险应用的方法的示意流程图;
图4是本发明另一实施例提供的一种识别风险应用的方法的示意流程图;
图5是本发明再一实施例提供的一种识别风险应用的方法的示意流程图;
图6是本发明又一实施例提供的一种识别风险应用的方法的示意流程图;
图7是本发明实施例提供的一种终端的示意性框图;
图8是本发明另一实施例提供的一种终端示意性框图;
图9是本发明实施例提供的一种服务器的示意性框图;
图10是本发明另一实施例提供的一种服务器示意性框图;
图11是本发明再一实施例提供的一种终端示意性框图;
图12是本发明再一实施例提供的一种服务器示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
具体实现中,本发明实施例中描述的终端包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备。还应当理解的是,在某些实施例中,所述设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在接下来的讨论中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和/或控制杆的一个或多个其它物理用户接口设备。
终端支持各种应用程序,例如以下中的一个或多个:绘图应用程序、演示应用程序、文字处理应用程序、网站创建应用程序、盘刻录应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息收发应用程序、锻炼支持应用程序、照片管理应用程序、数码相机应用程序、数字摄影机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
可以在终端上执行的各种应用程序可以使用诸如触摸敏感表面的至少一个公共物理用户接口设备。可以在应用程序之间和/或相应应用程序内调整和/或改变触摸敏感表面的一个或多个功能以及终端上显示的相应信息。这样,终端的公共物理架构(例如,触摸敏感表面)可以支持具有对用户而言直观且透明的用户界面的各种应用程序。
请参见图1,图1是本发明实施例提供的一种获取根密钥的系统的示意图。获取根密钥的系统包括应用服务器110、管理服务器120以及至少一个终端130。应用服务器为App发布服务器,App发布服务器可以是终端厂商对应的App发布服务器,也可以是第三方应用对应的App发布服务器。终端内置有安全芯片,且具备可信执行环境(The TrustedExecution Environment,TEE);管理服务器具备可信执行环境,还可以内置有安全芯片;管理服务器可分别与终端以及应用服务器进行通信。其中,TEE是一个与富操作系统(RichOS)并行的独立运行环境,为富系统提供安全保护。图1中的应用服务器110、管理服务器120以及至少一个终端130用于执行图2所示的各步骤,具体请参阅图2及相关描述。
请参见图2,图2是本发明实施例提供的一种获取根密钥的交互图。如图2所示的获取根密钥的交互图包括:
S201:应用服务器将需要防护的应用的安装信息发送至管理服务器。
其中,需要防护的应用的安装信息包括应用的安装包的包名、版本信息以及可执行文件;或者,需要防护的应用的安装包信息中包括应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值。需要防护的应用可以为系统应用或第三方应用。
需要防护的应用可以为一个,也可以为至少两个。每个应用的安装包的包名、安装包的版本信息以及安装包所包含的可执行文件一一对应。安装包所包含的可执行文件的后缀名为dex,例如,classes.dex。
当应用服务器为终端厂商对应的应用服务器时,需要防护的应用为系统应用;当应用服务器为第三方应用对应的应用服务器时,需要防护的应用为第三方应用,此时,应用服务器向管理服务器发送的第三方应用的安装信息包括:第三方应用的安装包的包名、版本信息、可执行文件以及签名证书(或签名信息)或者,应用服务器向管理服务器发送的第三方应用的安装信息包括:第三方应用的安装包的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)对应的唯一特征值。
需要防护的应用可以是终端厂商与App开发商协商得到,可以由App开发商确定,具体根据实际情况增加或减少。
S202:管理服务器获取应用服务器发送的需要防护的应用的安装信息。
当接收到的需要防护的应用的安装包信息中包括安装包的可执行文件对应的唯一特征值,或包括安装包的签名证书(或签名信息)对应的唯一特征值时,执行S203;当接收到的需要防护的应用的安装包信息中没有包括安装包的可执行文件对应的唯一特征值,或没有包括安装包的签名证书(或签名信息)对应的唯一特征值时,根据安装包的可执行文件计算可执行文件对应的唯一特征值,或根据安装包的签名证书(或签名信息)计算签名证书(或签名信息)对的唯一特征值,之后,将可执行文件对应的唯一特征值和/或签名证书(或签名信息)对的唯一特征值增加至安装信息,执行S203。需要防护的应用可动态增减少。
具体地,管理服务器在接收到需要防护的应用的安装信息,且安装信息中没有包括安装包的可执行文件对应的唯一特征值,或没有包括安装包的签名证书(或签名信息)对应的唯一特征值时,根据各应用的安装包包含的可执行文件计算其可执行文件对应的唯一特征值,或根据签名证书(或签名信息)计算其签名证书(或签名信息)对应的唯一特征值。
可执行文件对应的唯一特征值可以是采用哈希(hash)算法对可执行文件包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对可执行文件包含的内容计算得到的MD5值,还可以是采用其他算法计算得到的唯一值。
如果需要防护的应用为第三方应用,那么管理服务器还计算第三方应用的签名证书(或签名信息)对应的唯一特征值。第三方应用的签名证书(或签名信息)对应的唯一特征值可以是采用哈希(hash)算法对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的MD5。
当需要防护的应用为系统应用或第三方应用时,管理服务器在分别根据每个需要防护的应用的可执行文件计算出各自的可执行文件所对应的唯一特征值时,可以将每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值关联保存;也可以根据所有需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值,生成应用白名单。应用白名单中包括所有需要防护的应用,并且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存。即需要防护的应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值是一一对应的,一个需要防护的应用对应一条关联保存记录。
当需要防护的应用为第三方应用时,管理服务器在分别根据每个需要防护的应用的可执行文件计算出各自的可执行文件所对应的唯一特征值,以及分别根据每个需要防护的第三方应用的签名证书(或签名信息)计算出各自的签名证书(或签名信息)所对应的唯一特征值时,还可以将每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值关联保存;也可以根据所有需要防护的第三方应用的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值,生成应用白名单。应用白名单中包括所有需要防护的应用,并且每个需要防护的第三方应用的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值关联保存。
S203:管理服务器将所述需要防护的应用的安装信息同步至终端。
需要防护的应用可以为系统应用或第三方应用,同步至终端的需要防护的应用的安装信息包括每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存。
当需要防护的应用为第三方应用时,同步至终端的需要防护的应用的安装信息还可以包括关联保存的安装包的签名证书(或签名信息)所对应的唯一特征值。
具体地,管理服务器可以将应用白名单或关联保存的信息同步至终端。关联保存的信息包括每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,或者每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值。
例如,在终端出厂前,管理服务器将在S202生成的应用白名单或在S202中关联保存的信息同步至终端。
应用白名单包括所有需要防护的应用,并且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存,或者每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值关联保存。可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
终端保存管理服务器发送应用白名单或关联保存的信息。
进一步地,终端可将管理服务器发送应用白名单或关联保存的信息保存至预设的可信存储区域,预设的可信存储区域为终端内置的安全芯片的存储区域。
S204:终端获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值。
待识别的目标应用可以是待安装(或待升级)、待启动、正在运行或待升级的应用,待识别的目标应用可以是系统应用也可以是第三方应用。
目标应用的安装信息包括目标应用的安装包的包名、安装包的版本信息以及安装包的可执行文件对应的唯一特征值。安装包的可执行文件对应的唯一特征值用于识别目标应用是否具有潜在风险。
可选地,当目标应用为第三方应用时,目标应用的安装包的信息还可以包括目标应用的安装包的签名证书或签名信息,或者安装包的签名证书或签名信息所对应的唯一特征值。安装包的签名证书或签名信息对应的唯一特征值用于对第三方应用进行身份校验。
当目标应用的安装包的信息没有包括目标应用的安装包的签名证书或签名信息所对应的唯一特征值时,终端需要根据目标应用的安装包的签名证书或签名信息计算签名证书或签名信息对应的唯一特征值。
第三方应用的签名证书(或签名信息)对应的唯一特征值可以是采用哈希(hash)算法对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的MD5。
可选地,终端还可以获取所述目标应用的安装包的签名信息,并对所述签名信息进行校验,若校验通过,则执行S205。
其中,当目标应用为预设的系统应用时,安装包的签名信息为系统签名信息;当目标应用为第三方应用时,安装包的签名信息为签名证书的唯一特征值。
S205:终端根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值。
终端可以根据目标应用的安装包的包名以及版本信息从本地获取与其匹配的目标应用对应的目标唯一特征值,也可以根据目标应用的安装包的包名以及版本信息从管理服务器中获取其匹配的目标应用对应的目标唯一特征值。
进一步地,S205可以包括S2051~S2052。
S2051:根据所述目标应用的安装包的包名以及版本信息从本地的预设可信存储区域中查找所述目标应用对应的目标唯一特征值。
终端可以根据目标应用的安装包的包名以及版本信息从预设的可信存储区域中查找与目标应用的安装包的包名以及版本信息相匹配的应用,并在获取到匹配的应用时,获取该匹配的应用的安装包包含的可执行文件对应的唯一标识,并将获取到的可执行文件对应的唯一标识,识别为目标应用的安装包包含的可执行文件所对应的目标唯一标识。目标应用为系统应用或第三方应用。预设的可信存储区域为终端内置的安全芯片的存储区域。预设的可信存储区域中在终端出厂前预先保存了:每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,或者每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值。
S2052:若未查找到所述目标唯一特征值,则向管理服务器发送获取请求信息;其中,所述获取请求信息用于请求获取所述目标应用对应的目标唯一特征值,所述获取请求信息携带终端的唯一标识、所述目标应用的安装包的包名以及版本信息,所述终端的唯一标识用于所述管理服务器对所述终端进行身份校验,所述目标应用的安装包的包名以及版本信息用于所述管理服务器在身份校验通过时,向所述终端返回所述目标应用对应的目标唯一特征值;
当未查找到匹配的应用时,终端与管理服务器建立通信连接,向管理服务器发送获取请求信息。
具体地,管理服务器在接收到获取请求信息时,根据获取请求信息携带终端的唯一标识对终端进行身份校验,并身份校验通过时,根据目标应用的安装包的包名以及版本信息从管理服务器查询与目标应用的安装包的包名以及版本信息相匹配的应用,并在获取到匹配的应用时,获取该匹配的应用的安装包包含的可执行文件对应的唯一标识,并将获取到的可执行文件对应的唯一标识,识别为目标应用的安装包包含的可执行文件所对应的目标唯一标识,以及将目标唯一标识返回给发送获取请求信息的终端。
可选地,终端的唯一标识还用于管理服务器确认本次通信是否为终端与管理服务器之间的首次通信,当本次通信为终端与管理服务器之间的首次通信时,管理服务器根据终端的唯一标识对终端进行身份校验;当本次通信不是终端与管理服务器之间的首次通信时,根据目标应用的安装包的包名以及版本信息从管理服务器查询获取目标应用的安装包的可执行文件对应的目标唯一特征值。
可选地,终端在出厂后,终端与管理服务器建立通信连接进行第一次通信时,管理服务器还可以对终端进行身份校验。
管理服务器对终端进行身份校验的方法如下:
1)终端向管理服务器发送身份校验请求信息,身份校验请求信息用于对终端的身份进行验证,身份校验请求信息包括终端的唯一标识。
终端的唯一标识可以是终端内置的安全芯片的唯一标识,安全芯片的唯一标识为安全芯片的唯一序列号。终端内预先保存了终端的唯一标识对应的根密钥,根密钥可以由加密机采用高级加密标准(Advanced Encryption Standard,AES)算法随机生成,且根密钥的长度为256比特(bit),但并不限于此,在其他实施例中,还可以采用其他加密算法随机生成根密钥,此处不做限制。在本实施例中,根密钥为对称密钥,在其他实施例中,根密钥也可以为非对称密钥,此处不做限制。根密钥是指在加密或解密采用同一个密钥。非对称密钥包括一密钥对,密钥对包括公钥和私钥,私钥用于发送方对待发送的数据进行加密,公钥用于接收方对接收到的已加密的数据进行解密。
2)管理服务器接收终端发送的身份校验请求信息,并获取身份校验请求信息携带的终端的唯一标识,根据终端的唯一标识获取其对应的根密钥。
其中,管理服务器中还预先存储了终端的唯一标识以及该唯一标识对应的根密钥,根密钥可以由加密机采用高级加密标准(Advanced Encryption Standard,AES)算法随机生成,且根密钥的长度为256比特(bit),但并不限于此,在其他实施例中,还可以采用其他加密算法随机生成根密钥,此处不做限制。终端的唯一标识以及该唯一标识对应的根密钥可以是加密机发送,也可以是终端以离线的方式发送。
3)管理服务器在获取到终端的唯一标识对应的根密钥时,生成第一随机数,并根据终端的唯一标识将第一随机数返回至发送身份校验请求信息的终端。
第一随机数为管理服务器随机生成的一组数据,第一随机数可由数字和/或字母组成,第一随机数包括的数字和/或字母的总个数不做限制。
可选地,管理服务器还可以采用终端的唯一标识对应的根密钥对第一随机数进行加密,并将加密后的第一随机数发送至终端。
4)终端在接收到管理服务器返回的第一随机数时,生成第二随机数,并根据第一随机数以及第二随机数得到第三随机数,采用终端的唯一标识对应的根密钥对第三随机数进行加密,将已加密的第三随机数发送至管理服务器。
其中,第三随机数由第一随机数以及第二随机数进行首位拼接得到。
第二随机数可由数字和/或字母组成,第二随机数包括的数字和/或字母的总个数不做限制。
可以理解的是,当终端接收到的第一随机数为管理服务器采用终端的唯一标识对应的根密钥进行加密的随机数时,终端采用终端的唯一标识对应的根密钥对已加密的第一随机数进行解密,从而得到管理服务器生成的第一随机数。
5)管理服务器接收终端发送的已加密的第三随机数,采用终端的唯一标识对应的根密钥对已加密的第三随机数进行解密,并从第三随机数中提取第一随机数以及第二随机数;管理服务器在确认从第三随机数中提取的第一随机数与自身在先生成的第一随机数相同时,采用终端的唯一标识对应的根密钥对第二随机数进行加密,并将已加密的第二随机数发送至终端。
6)终端在接收到管理服务器发送的已加密的第二随机数时,采用终端的唯一标识对应的根密钥对已加密的第二随机数进行解密得到第二随机数;终端比较解密得到的第二随机数与自身在先生成的第二随机数,并将比较结果向管理服务器发送。
可选地,终端在确认解密得到的第二随机数与自身在先生成的第二随机数相同时,采用公钥加密算法RSA生成一对非对称加密密钥,该非对称加密密钥加密密钥包括加密公钥以及加密私钥。终端将加密公钥发送给管理服务器。加密私钥用于终端对待加密的数据进行加密,或者对接收到的已加密数据进行解密,该加密公钥用户管理服务器对终端发送的已加密的数据进行解密,或对待发送至终端的数据进行加密。
7)管理服务器接收终端发送的比较结果,并根据比较结果确定身份校验结果。其中,当比较结果为终端解密得到的第二随机数与终端在先生成的第二随机数相同时,身份校验结果为终端身份验证通过,当比较结果为终端解密得到的第二随机数与终端在先生成的第二随机数不同时,身份校验结果为终端身份验证失败。
其中,管理服务器在确认身份校验结果为终端身份验证通过时,允许终端与管理服务器进行数据交互。具体地,管理服务器在接收到终端发送的用于请求获取目标应用对应的目标唯一特征值的获取请求信息时,能够根据获取请求信息携带的目标应用的安装包的包名以及版本信息,获取目标应用的安装包的可执行文件对应的目标唯一特征值,并将获取到的目标唯一特征值发送给发送唯一特征值获取请求的终端。
可选地,管理服务器在获取到终端发送的加密公钥时,采用该终端的加密公钥对获取到的目标唯一特征值进行加密,并将已加密的目标唯一特征值发送给发送唯一特征值获取请求的终端,以使该终端通过其加密私钥对已加密的目标唯一特征值进行解密,得到目标应用的安装包的可执行文件对应的目标唯一特征值。
管理服务器在确认身份校验结果为终端身份验证失败时,可通知终端存在潜在风险,且不响应终端发送的任何请求;也可以断开与终端的通信连接。
S2053:接收所述管理服务器根据所述获取请求信息返回的所述目标唯一特征值。
可选地,终端在获取待识别的目标应用的安装信息时,还可以获取目标应用的安装包的签名信息,并对签名信息进行校验;若签名信息校验通过,则执行S205。
其中,若目标应用为预设的系统应用,则签名信息为系统签名信息;若目标应用为第三方应用,则签名信息为签名证书的唯一特征值。
S206:若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则终端将所述目标应用识别为具有潜在风险的应用。
终端在获取到目标应用的安装包的可执行文件对应的目标唯一特征值时,比较目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值。
当比较结果为目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值不同时,终端判定目标应用的安装包被篡改,将目标应用识别为具有潜在风险的应用。终端在将目标应用识别为具有潜在风险的应用时,还可以禁止该版本信息的目标应用运行或禁止安装该版本信息的安装包。
当比较结果为目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值相同时,将目标应用识别为没有潜在风险的应用,可以不做任何处理。
进一步地,在另一实施方式中,当目标应用为第三方应用时,在S204之后,还可以包括以下步骤:
S207:终端获取所述目标应用的安装包的签名证书的唯一特征值,并对所述签名证书的唯一特征值进行校验。
终端内预先存储了目标应用的签名证书的唯一特征值,终端可以比较目标应用对应的预存的签名证书的唯一特征值以及获取到的签名证书的唯一特征值,当比较结果为两者相同时,对签名证书的唯一特征值校验通过;当比较结果为两者不同时,对签名证书的唯一特征值校验失败。
S208:若所述签名证书的唯一特征值校验通过,则向管理服务器发送验证请求信息;其中,所述验证请求信息用于验证所述目标应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值;所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值用于所述管理服务器验证所述目标应用是否具有潜在风险,所述终端的唯一标识用于所述管理服务器返回验证结果。
S209:管理服务器接收所述终端发送的验证请求信息;其中,所述验证请求信息是所述终端在对第三方应用的安装包的签名证书的唯一特征值校验通过时发送,所述验证请求信息用于验证所述第三方应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述第三方应用的包名、版本信息和可执行文件对应的唯一特征值。
S210:管理服务器根据所述第三方应用的包名和版本信息,从需要防护的应用的安装信息中获取所述第三方应用的所述签名证书的目标唯一特征值、以及所述可执行文件对应的目标唯一特征值。
S211:管理服务器向发送验证请求信息的终端返回验证结果。
具体地,当签名证书的唯一特征值与签名证书的目标唯一特征值不同,或可执行文件对应的唯一特征值与可执行文件对应的目标唯一特征值不同时,管理服务器可以根据终端的唯一标识向终端发送第三方应用具有潜在风险的通知消息;当签名证书的唯一特征值与签名证书的目标唯一特征值相同,且可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同时,管理服务器可以根据终端的唯一标识向所述终端发送第三方应用没有潜在风险的通知消息。
S212:终端接收所述管理服务器根据所述验证请求信息返回的验证结果。
S213:终端根据所述验证结果识别所述目标应用是否具有潜在风险。
当验证结果为签名证书的唯一特征值与签名证书的目标唯一特征值不同,或可执行文件对应的唯一特征值与可执行文件对应的目标唯一特征值不同,终端确认第三方应用具有潜在风险;或者接收到管理服务器发送的第三方应用具有潜在风险的通知消息时,确认第三方应用具有潜在风险。
当验证结果为签名证书的唯一特征值与签名证书的目标唯一特征值相同,且可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同时,终端确认第三方应用没有潜在风险;或者接收到管理服务器发送的第三方应用没有潜在风险的通知消息时,确认第三方应用没有潜在风险。
上述方案,通过识别待防护的应用的安装包所包含的可执行文件对应的唯一特征值是否与预设的可执行文件对应的唯一特征值相同,并在确认两者不同时,识别为该可执行文件被篡改,该可行文件对应的应用具有潜在风险。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
请参见图3,图3是本发明实施例提供的一种识别风险应用的方法的示意流程图。本实施例中识别风险应用的方法的执行主体为终端,终端内置有安全芯片,具备可信执行环境;其中,TEE是一个与富操作系统(Rich OS)并行的独立运行环境,为富系统提供安全保护。终端可以是智能手机、平板电脑、笔记本电脑或个人数字助理PAD等移动终端。如图3所示的识别风险应用的方法可包括以下步骤:
S301:获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值。
待识别的目标应用可以是待安装(或待升级)、待启动、正在运行或待升级的应用,待识别的目标应用可以是系统应用也可以是第三方应用。
终端从待识别的目标应用的安装信息中获取目标应用的安装包的包名、安装包的版本信息以及安装包的可执行文件对应的唯一特征值。安装包的可执行文件对应的唯一特征值用于识别目标应用是否具有潜在风险。
安装包的可执行文件对应的唯一特征值可以直接获取到,也可以根据安装包所包含可执行文件计算得到。
其中,可执行文件对应的唯一特征值可以是采用哈希(hash)算法对可执行文件包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对可执行文件包含的内容计算得到的MD5值,还可以是采用其他算法计算得到的唯一值。
S302:根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值。
终端可以根据目标应用的安装包的包名以及版本信息从本地获取与其匹配的目标应用对应的目标唯一特征值,也可以根据目标应用的安装包的包名以及版本信息从管理服务器中获取其匹配的目标应用对应的目标唯一特征值。
终端以及管理服务器中预先保存了需要防护的应用的安装信息。需要防护的应用可以为系统应用或第三方应用,需要防护的应用的安装信息包括每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存。
S303:若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
终端在获取到目标应用的安装包的可执行文件对应的目标唯一特征值时,比较目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值。
当比较结果为目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值不同时,终端判定目标应用的安装包被篡改,将目标应用识别为具有潜在风险的应用。终端在将目标应用识别为具有潜在风险的应用时,还可以禁止该版本信息的目标应用运行或禁止安装该版本信息的安装包。
当比较结果为目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值相同时,将目标应用识别为没有潜在风险的应用,可以不做任何处理。
上述方案,终端获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
请参见图4,图4是本发明另一实施例提供的一种识别风险应用的方法的示意流程图。本实施例中识别风险应用的方法的执行主体为终端,终端内置有安全芯片,具备可信执行环境;其中,TEE是一个与富操作系统(Rich OS)并行的独立运行环境,为富系统提供安全保护。终端可以是智能手机、平板电脑、笔记本电脑或个人数字助理PAD等移动终端。如图4所示的识别风险应用的方法可包括以下步骤:
S401:获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值。
待识别的目标应用可以是待安装(或待升级)、待启动、正在运行或待升级的应用,待识别的目标应用可以是系统应用也可以是第三方应用。
终端从待识别的目标应用的安装信息中获取目标应用的安装包的包名、安装包的版本信息以及安装包的可执行文件对应的唯一特征值。安装包的可执行文件对应的唯一特征值用于识别目标应用是否具有潜在风险。
安装包的可执行文件对应的唯一特征值可以直接获取到,也可以根据安装包所包含可执行文件计算得到。
其中,可执行文件对应的唯一特征值可以是采用哈希(hash)算法对可执行文件包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对可执行文件包含的内容计算得到的MD5值,还可以是采用其他算法计算得到的唯一值。
在一种实施方式中,终端在执行S401~S404,此时S401与S402不分先后顺序。待识别的目标应用可以为系统应用,也可以为第三方应用。
在另一种实施方式中,当待识别的目标应用为第三方应用时,终端在执行S401、S405~S408,此时S401与S405不分先后顺序。
S402:获取所述目标应用的安装包的签名信息,并对所述签名信息进行校验。
其中,当目标应用为预设的系统应用时,终端获取到的安装包的签名信息为系统签名信息。终端将获取到的目标应用的系统签名信息与终端内预先存储的目标应用的系统签名信息进行比较。当获取到的系统签名信息与预存的系统签名信息不同时,签名信息校验失败,识别为目标应用的系统签名被篡改,目标应用存在潜在风险。终端可由可以禁止该版本信息的目标应用运行或禁止安装该版本信息的安装包。当获取到的系统签名信息与预存的系统签名信息相同时,签名信息校验通过,识别为目标应用的系统签名未被篡改,目标应用不存在潜在风险。
当目标应用为第三方应用时,终端获取到的安装包的签名信息为签名证书对应的唯一特征值。签名证书对应的唯一特征值可以直接获取得到,也可以根据目标应用的安装包的签名证书的内容计算得到。
例如,第三方应用的签名证书(或签名信息)对应的唯一特征值可以是采用哈希(hash)算法对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的MD5。
终端将获取到的目标应用的签名证书对应的唯一特征值与终端内预先存储的目标应用的签名证书对应的唯一特征值进行比较。当获取到的签名证书对应的唯一特征值与预存的签名证书对应的唯一特征值不同时,签名信息校验失败,识别为目标应用的系统签名被篡改,目标应用存在潜在风险。终端可以禁止该版本信息的目标应用运行或禁止安装该版本信息的安装包。当获取到的签名证书对应的唯一特征值与预存的签名证书对应的唯一特征值相同时,签名信息校验通过,识别为目标应用的系统签名未被篡改,目标应用不存在潜在风险。
当签名信息校验通过时,执行S403。
S403:若所述签名信息校验通过,则根据所述目标应用的安装包的包名以及版本信息从预设可信存储区域中获取目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值。
终端可以根据目标应用的安装包的包名以及版本信息从本地获取与其匹配的目标应用对应的目标唯一特征值,也可以根据目标应用的安装包的包名以及版本信息从管理服务器中获取其匹配的目标应用对应的目标唯一特征值。
终端以及管理服务器中预先保存了需要防护的应用的安装信息。需要防护的应用可以为系统应用或第三方应用,需要防护的应用的安装信息包括每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存。
可选地,S403可以包括S4031~S4033。
S4031:根据所述目标应用的安装包的包名以及版本信息从本地的预设可信存储区域中查找所述目标应用对应的目标唯一特征值。
终端可以根据目标应用的安装包的包名以及版本信息从预设的可信存储区域中查找与目标应用的安装包的包名以及版本信息相匹配的应用,并在获取到匹配的应用时,获取该匹配的应用的安装包包含的可执行文件对应的唯一标识,并将获取到的可执行文件对应的唯一标识,识别为目标应用的安装包包含的可执行文件所对应的目标唯一标识。目标应用为系统应用或第三方应用。预设的可信存储区域为终端内置的安全芯片的存储区域。预设的可信存储区域中在终端出厂前预先保存了:每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,或者每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值。
具体地,终端预先采用公钥加密算法RSA为第一运行环境以及第二运行环境分别生成一对非对称加密密钥,该非对称加密密钥加密密钥包括加密公钥以及加密私钥,但并不限于此,在其他实施例中,还可以采用其他非对称加密算法随机生成非对称加密密钥对,此处不做限制。第一运行环境的安全性低于第二运行环境的安全性,第一运行环境以及第二运行环境预先保存了对方的加密公钥。对非对称加密密钥用于进行对第一运行环境进行身份校验。
例如,当第一运行环境需要访问第二运行环境并向第二运行环境请求获取数据时,第一运行环境通过第二运行环境的加密公钥加密待获取的数据需求,并向第二运行环境发送数据获取请求以及已加密的待获取数据的需求。数据获取请求用于请求获取第二运行环境中的预设的可信存储区域存储的与待获取数据的需求匹配的目标数据。目标数据为目标应用对应的目标唯一特征值。
第二运行环境在检查到由第一运行环境发送的已加密的待获取数据的需求以及数据获取请求时,采用第一运行环境对应的加密公钥对已加密的已加密的待获取数据的需求进行解密,若解密成功,则第一运行环境身份校验通过,响应该数据获取请求,根据待获取数据的需求获取目标数据,并将目标数据采用第二运行环境的加密私钥进行加密,并将已加密的目标数据传递至第一运行环境;若解密失败,则第一运行环境身份校验失败,不响应该数据获取请求。
第一运行环境在检测到由第二运行环境传递的已加密的目标数据时,采用第二运行环境的加密公钥对已加密的目标数据进行解密,若解密成功,则第二运行环境身份校验通过,识别为该目标数据由第二运行环境传递;若解密失败,则第二运行环境身份校验失败,该目标数据不是由第二运行环境传递,重新向第二运行环境请求获取目标数据。
S4032:若未查找到所述目标唯一特征值,则向管理服务器发送获取请求信息;其中,所述获取请求信息用于请求获取所述目标应用对应的目标唯一特征值,所述获取请求信息携带终端的唯一标识、所述目标应用的安装包的包名以及版本信息,所述终端的唯一标识用于所述管理服务器对所述终端进行身份校验,所述目标应用的安装包的包名以及版本信息用于所述管理服务器在身份校验通过时,向所述终端返回所述目标应用对应的目标唯一特征值。
当未查找到匹配的应用时,终端与管理服务器建立通信连接,向管理服务器发送获取请求信息。
具体地,管理服务器在接收到获取请求信息时,根据获取请求信息携带终端的唯一标识对终端进行身份校验,并身份校验通过时,根据目标应用的安装包的包名以及版本信息从管理服务器查询与目标应用的安装包的包名以及版本信息相匹配的应用,并在获取到匹配的应用时,获取该匹配的应用的安装包包含的可执行文件对应的唯一标识,并将获取到的可执行文件对应的唯一标识,识别为目标应用的安装包包含的可执行文件所对应的目标唯一标识,以及将目标唯一标识返回给发送获取请求信息的终端。
可选地,终端的唯一标识还用于管理服务器确认本次通信是否为终端与管理服务器之间的首次通信,当本次通信为终端与管理服务器之间的首次通信时,管理服务器根据终端的唯一标识对终端进行身份校验;当本次通信不是终端与管理服务器之间的首次通信时,根据目标应用的安装包的包名以及版本信息从管理服务器查询获取目标应用的安装包的可执行文件对应的目标唯一特征值。
管理服务器对终端进行身份校验的方法如下:
1)终端向管理服务器发送身份校验请求信息,身份校验请求信息用于对终端的身份进行验证,身份校验请求信息包括终端的唯一标识。
终端的唯一标识可以是终端内置的安全芯片的唯一标识,安全芯片的唯一标识为安全芯片的唯一序列号。终端内预先保存了终端的唯一标识对应的根密钥,根密钥可以由加密机采用高级加密标准(Advanced Encryption Standard,AES)算法随机生成,且根密钥的长度为256比特(bit),但并不限于此,在其他实施例中,还可以采用其他加密算法随机生成根密钥,此处不做限制。在本实施例中,根密钥为对称密钥,在其他实施例中,根密钥也可以为非对称密钥,此处不做限制。根密钥是指在加密或解密采用同一个密钥。非对称密钥包括一密钥对,密钥对包括公钥和私钥,私钥用于发送方对待发送的数据进行加密,公钥用于接收方对接收到的已加密的数据进行解密。
2)管理服务器接收终端发送的身份校验请求信息,并获取身份校验请求信息携带的终端的唯一标识,根据终端的唯一标识获取其对应的根密钥。
其中,管理服务器中还预先存储了终端的唯一标识以及该唯一标识对应的根密钥,根密钥可以由加密机采用高级加密标准(Advanced Encryption Standard,AES)计算得到,根密钥占用256比特(bit)。终端的唯一标识以及该唯一标识对应的根密钥可以是加密机发送,也可以是终端以离线的方式发送。
3)管理服务器在获取到终端的唯一标识对应的根密钥时,生成第一随机数,并根据终端的唯一标识将第一随机数返回至发送身份校验请求信息终端。
第一随机数为管理服务器随机生成的一组数据,第一随机数可由数字和/或字母组成,第一随机数包括的数字和/或字母的总个数不做限制。
可选地,管理服务器还可以采用终端的唯一标识对应的根密钥对第一随机数进行加密,并将加密后的第一随机数发送至终端。
4)终端在接收到管理服务器返回的第一随机数时,生成第二随机数,并根据第一随机数以及第二随机数得到第三随机数,采用终端的唯一标识对应的根密钥对第三随机数进行加密,将已加密的第三随机数发送至管理服务器。
其中,第二随机数可由数字和/或字母组成,第二随机数包括的数字和/或字母的总个数不做限制。第三随机数由第一随机数以及第二随机数进行首位拼接得到。
当终端接收到的第一随机数为管理服务器采用终端的唯一标识对应的根密钥进行加密的随机数时,终端采用终端的唯一标识对应的根密钥对已加密的第一随机数进行解密,从而得到管理服务器生成的第一随机数。
5)管理服务器接收终端发送的已加密的第三随机数,采用终端的唯一标识对应的根密钥对已加密的第三随机数进行解密,并从第三随机数中提取第一随机数以及第二随机数;管理服务器在确认从第三随机数中提取的第一随机数与自身在先生成的第一随机数相同时,采用终端的唯一标识对应的根密钥对第二随机数进行加密,并将已加密的第二随机数发送至终端。
6)终端在接收到管理服务器发送的已加密的第二随机数时,采用终端的唯一标识对应的根密钥对已加密的第二随机数进行解密得到第二随机数;终端比较解密得到的第二随机数与自身在先生成的第二随机数,并将比较结果向管理服务器发送。
可选地,终端在确认解密得到的第二随机数与自身在先生成的第二随机数相同时,采用公钥加密算法RSA生成一对非对称加密密钥,该非对称加密密钥加密密钥包括加密公钥以及加密私钥。终端将加密公钥发送给管理服务器。加密私钥用于终端对待加密的数据进行加密,或者对接收到的已加密数据进行解密,该加密公钥用户管理服务器对终端发送的已加密的数据进行解密,或对待发送至终端的数据进行加密。
7)管理服务器接收终端发送的比较结果,并根据比较结果确定身份校验结果。其中,当比较结果为终端解密得到的第二随机数与终端在先生成的第二随机数相同时,身份校验结果为终端身份验证通过,当比较结果为终端解密得到的第二随机数与终端在先生成的第二随机数不同时,身份校验结果为终端身份验证失败。
其中,管理服务器在确认身份校验结果为终端身份验证通过时,允许终端与管理服务器进行数据交互。
具体地,管理服务器在确认终端身份校验通过且接收到终端发送的用于请求获取目标应用对应的目标唯一特征值的获取请求信息时,能够根据获取请求信息携带的目标应用的安装包的包名以及版本信息,获取目标应用的安装包的可执行文件对应的目标唯一特征值,并将获取到的目标唯一特征值发送给发送唯一特征值获取请求的终端。
可选地,管理服务器在获取到终端发送的加密公钥时,采用该终端的加密公钥对获取到的目标唯一特征值进行加密,并将已加密的目标唯一特征值发送给发送唯一特征值获取请求的终端,以使该终端通过其加密私钥对已加密的目标唯一特征值进行解密,得到目标应用的安装包的可执行文件对应的目标唯一特征值。
管理服务器在确认身份校验结果为终端身份验证失败时,可通知终端存在潜在风险,且不响应终端发送的任何请求;也可以断开与终端的通信连接。
S4033:接收所述管理服务器根据所述获取请求信息返回的所述目标唯一特征值。
S404:若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
终端在获取到目标应用的安装包的可执行文件对应的目标唯一特征值时,比较目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值。
当比较结果为目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值不同时,终端判定目标应用的安装包被篡改,将目标应用识别为具有潜在风险的应用。终端在将目标应用识别为具有潜在风险的应用时,还可以禁止该版本信息的目标应用运行或禁止安装该版本信息的安装包。
当比较结果为目标应用的安装包的可执行文件对应的唯一特征值与目标唯一特征值相同时,将目标应用识别为没有潜在风险的应用,可以不做任何处理。
可选地,在另一实施方式中,若所述目标应用为第三方应用,终端执行S401时,执行S405:获取所述目标应用的安装包的签名证书的唯一特征值,并对所述签名证书的唯一特征值进行校验。
终端将获取到的目标应用的签名证书对应的唯一特征值与终端内预先存储的目标应用的签名证书对应的唯一特征值进行比较。当获取到的签名证书对应的唯一特征值与预存的签名证书对应的唯一特征值不同时,签名证书的唯一特征值校验失败,识别为目标应用的系统签名被篡改,目标应用存在潜在风险。终端可以禁止该版本信息的目标应用运行或禁止安装该版本信息的安装包。当获取到的签名证书对应的唯一特征值与预存的签名证书对应的唯一特征值相同时,签名证书的唯一特征值校验通过,识别为目标应用的系统签名未被篡改,目标应用不存在潜在风险。
当签名证书的唯一特征值校验通过时,执行S406。
S406:若所述签名证书的唯一特征值校验通过,则向管理服务器发送验证请求信息;其中,所述验证请求信息用于验证所述目标应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值;所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值用于所述管理服务器验证所述目标应用是否具有潜在风险,所述终端的唯一标识用于所述管理服务器返回验证结果。
其中,终端在与管理服务器进行数据交互前,管理服务器也可以对终端进行身份校验,并在身份校验通过时,通终端发送的签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值验证目标应用是否具有潜在风险。
管理服务器也可以对终端进行身份校验的方法可参阅S2043中的相关描述,此处不赘述。
S407:接收所述管理服务器根据所述验证请求信息返回的验证结果。
S408:根据所述验证结果识别所述目标应用是否具有潜在风险。
当验证结果为签名证书的唯一特征值与签名证书的目标唯一特征值不同,或可执行文件对应的唯一特征值与可执行文件对应的目标唯一特征值不同,终端确认第三方应用具有潜在风险;或者接收到管理服务器发送的第三方应用具有潜在风险的通知消息时,确认第三方应用具有潜在风险。
当验证结果为签名证书的唯一特征值与签名证书的目标唯一特征值相同,且可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同时,终端确认第三方应用没有潜在风险;或者接收到管理服务器发送的第三方应用没有潜在风险的通知消息时,确认第三方应用没有潜在风险。
上述方案,终端获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
终端通过校验目标应用的签名信息,检测目标应用的签名信息是否被篡改或被泄露,能够加强目标应用的风险防护,避免因安装或运行风险应用给用户带来困扰或经济损失。
终端可采用不同的方式识别第三方应用是否具有潜在风险,提高识别第三方风险应用的灵活性以及提高识别结果的可靠性。
请参见图5,图5是本发明再一实施例提供的一种识别风险应用的方法的示意流程图。本实施例中识别风险应用的方法的执行主体为管理服务器。如图5所示的识别风险应用的方法可包括以下步骤:
S501:获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值。
当应用服务器将需要防护的应用的安装信息发送至管理服务器时,管理服务器获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值。
其中,需要防护的应用的安装信息包括应用的安装包的包名、版本信息以及可执行文件;或者,需要防护的应用的安装包信息中包括应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值。需要防护的应用可以为系统应用或第三方应用。需要防护的应用可以为一个,也可以为至少两个。每个应用的安装包的包名、安装包的版本信息以及安装包所包含的可执行文件一一对应。安装包所包含的可执行文件的后缀名为dex,例如,classes.dex。
当应用服务器为终端厂商对应的应用服务器时,需要防护的应用为系统应用;当应用服务器为第三方应用对应的应用服务器时,需要防护的应用为第三方应用,此时,应用服务器向管理服务器发送的第三方应用的安装信息包括:第三方应用的安装包的包名、版本信息、可执行文件以及签名证书(或签名信息)或者,应用服务器向管理服务器发送的第三方应用的安装信息包括:第三方应用的安装包的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)对应的唯一特征值。
需要防护的应用可以是终端厂商与App开发商协商得到,可以由App开发商确定,具体根据实际情况增加或减少。
具体地,管理服务器在接收到需要防护的应用的安装信息,且安装信息中没有包括安装包的可执行文件对应的唯一特征值,或没有包括安装包的签名证书(或签名信息)对应的唯一特征值时,根据各应用的安装包包含的可执行文件计算其可执行文件对应的唯一特征值,或根据签名证书(或签名信息)计算其签名证书(或签名信息)对应的唯一特征值。
可执行文件对应的唯一特征值可以是采用哈希(hash)算法对可执行文件包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对可执行文件包含的内容计算得到的MD5值,还可以是采用其他算法计算得到的唯一值。
如果需要防护的应用为第三方应用,那么管理服务器还计算第三方应用的签名证书(或签名信息)对应的唯一特征值。第三方应用的签名证书(或签名信息)对应的唯一特征值可以是采用哈希(hash)算法对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的哈希值,也可以是采用消息摘要算法(Message Digest Algorithm)对第三方应用的安装包包含的签名证书(或签名信息)包含的内容计算得到的MD5。
当需要防护的应用为系统应用或第三方应用时,管理服务器在分别根据每个需要防护的应用的可执行文件计算出各自的可执行文件所对应的唯一特征值时,可以将每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值关联保存;也可以根据所有需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值,生成应用白名单。应用白名单中包括所有需要防护的应用,并且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存。即需要防护的应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值是一一对应的,一个需要防护的应用对应一条关联保存记录。
当需要防护的应用为第三方应用时,管理服务器在分别根据每个需要防护的应用的可执行文件计算出各自的可执行文件所对应的唯一特征值,以及分别根据每个需要防护的第三方应用的签名证书(或签名信息)计算出各自的签名证书(或签名信息)所对应的唯一特征值时,还可以将每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值关联保存;也可以根据所有需要防护的第三方应用的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值,生成应用白名单。应用白名单中包括所有需要防护的应用,并且每个需要防护的第三方应用的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值关联保存。
S502:将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
管理服务器可以在终端出厂前将需要防护的应用的安装信息同步至终端,也可以在检测到需要防护的应用的安装信息有更新时,将更新的需要防护的应用的安装信息同步至终端;还可以在终端有获取需要防护的应用的安装信息的需求时,将需要防护的应用的安装信息同步至终端;还可以定时或不定时地将需要防护的应用的安装信息同步至终端。
同步至终端的需要防护的应用的安装信息包括每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存。
当需要防护的应用为第三方应用时,同步至终端的需要防护的应用的安装信息还可以包括关联保存的安装包的签名证书(或签名信息)所对应的唯一特征值。
具体地,管理服务器可以将应用白名单或关联保存的信息同步至终端。关联保存的信息包括每个需要防护的应用各自对应的包名、版本信息以及可执行文件对应的唯一特征值,或者每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值。
例如,在终端出厂前,管理服务器将在S501生成的应用白名单或在S501中关联保存的信息同步至终端。
应用白名单包括所有需要防护的应用,并且每个需要防护的应用的包名、版本信息以及可执行文件对应的唯一特征值关联保存,或者每个需要防护的第三方应用各自对应的包名、版本信息、可执行文件对应的唯一特征值以及签名证书(或签名信息)所对应的唯一特征值关联保存。可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
上述方案,管理服务器获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
请参见图6,图6是本发明又一实施例提供的一种识别风险应用的方法的示意流程图。本实施例中识别风险应用的方法的执行主体为管理服务器。如图6所示的识别风险应用的方法可包括以下步骤:
S601:获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值。
本实施例中S601与上一实施例中的S501相同,具体请参阅上一实施例中S501的相关描述,此处不赘述。
S602:将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
管理服务器可以在终端出厂前将需要防护的应用的安装信息同步至终端,也可以在检测到需要防护的应用的安装信息有更新时,将更新的需要防护的应用的安装信息同步至终端;还可以在终端有获取需要防护的应用的安装信息的需求时,将需要防护的应用的安装信息同步至终端;还可以定时或不定时地将需要防护的应用的安装信息同步至终端。
可选地,S602可以包括S6021~S6027。
S6021:接收所述终端发送的获取请求信息;其中,所述获取请求信息携带所述终端的唯一标识。
管理服务器在接收到终端发送的获取请求信息时,根据获取请求信息携带所述终端的唯一标识对终端进行身份校验。
终端的唯一标识可以是终端内置的安全芯片的唯一标识,安全芯片的唯一标识为安全芯片的唯一序列号。
S6022:根据唯一标识与根密钥的预设对应关系,获取所述终端的唯一标识对应的根密钥。
管理服务器中预先存储了终端的唯一标识以及该唯一标识对应的根密钥,根密钥可以由加密机采用高级加密标准(Advanced Encryption Standard,AES)计算得到,根密钥占用256比特(bit)。终端的唯一标识以及该唯一标识对应的根密钥可以是加密机发送,也可以是终端以离线的方式发送。
在本实施例中,根密钥为对称密钥,在其他实施例中,根密钥也可以为非对称密钥,此处不做限制。根密钥是指在加密或解密采用同一个密钥。非对称密钥包括一密钥对,密钥对包括公钥和私钥,私钥用于发送方对待发送的数据进行加密,公钥用于接收方对接收到的已加密的数据进行解密。
S6023:若获取到所述终端的唯一标识对应的根密钥,则生成第一随机数,并将所述第一随机数发送至所述终端。
管理服务器可以根据终端的唯一标识将生成的第一随机数发送至身份校验请求信息的终端。
第一随机数为管理服务器随机生成的一组数据,第一随机数可由数字和/或字母组成,第一随机数包括的数字和/或字母的总个数不做限制。
可选地,管理服务器还可以采用终端的唯一标识对应的根密钥对第一随机数进行加密,并将加密后的第一随机数发送至终端。
S6024:接收所述终端发送的采用所述根密钥进行加密得到的第三随机数;其中,所述第三随机数由所述第一随机数以及所述终端产生的第二随机数组成。
管理服务器接收终端发送的采用根密钥进行加密得到的第三随机数;其中,第三随机数由第一随机数以及终端产生的第二随机数组成。第三随机数可以由第一随机数以及第二随机数进行首位拼接得到。第二随机数是终端在接收到管理服务器返回的第一随机数时,生成的随机数。
终端内预先保存了终端的唯一标识对应的根密钥,根密钥可以由加密机采用高级加密标准(Advanced Encryption Standard,AES)算法随机生成,且根密钥的长度为256比特(bit),但并不限于此,在其他实施例中,还可以采用其他加密算法随机生成根密钥,此处不做限制。
可以理解的是,当终端接收到的第一随机数为管理服务器采用终端的唯一标识对应的根密钥进行加密的随机数时,终端采用终端的唯一标识对应的根密钥对已加密的第一随机数进行解密,从而得到管理服务器生成的第一随机数,并生成第二随机数。
第二随机数可由数字和/或字母组成,第二随机数包括的数字和/或字母的总个数不做限制。
S6025:采用所述根密钥对所述第三随机数进行解密,并对所述第三随机数中包含的所述第一随机数进行校验。
管理服务器接收终端发送的已加密的第三随机数,采用终端的唯一标识对应的根密钥对已加密的第三随机数进行解密,并从第三随机数中提取第一随机数以及第二随机数。比较从第三随机数中提取的第一随机数与自身在先生成的第一随机数,从而校验对第三随机数中包含的第一随机数。
当从第三随机数中提取的第一随机数与自身在先生成的第一随机数相同时,第三随机数中包含的第一随机数校验通过;当从第三随机数中提取的第一随机数与自身在先生成的第一随机数不同时,第三随机数中包含的第一随机数校验失败,结束本次控制流程。
S6026:若对所述第三随机数中包含的所述第一随机数校验通过,则采用所述根密钥对所述第二随机数进行加密,并将加密后的第二随机数发送至所述终端。
管理服务器在确认从第三随机数中提取的第一随机数与自身在先生成的第一随机数相同时,采用终端的唯一标识对应的根密钥对第二随机数进行加密,并将已加密的第二随机数发送至终端。
S6027:若接收到所述终端发送的用于表示身份校验通过的通知信息,则将所述需要防护的应用的安装信息同步至终端目标应用的安装包的包名;其中,所述通知信息由所述终端在采用所述根密钥对所述加密后的第二随机数进行解密得到所述第二随机数,并确认所述第二随机数为所述终端产生的第二随机数时发送。
用于身份校验通过的通知信息可以是终端在比较解密得到的第二随机数与终端在先生成的第二随机数之后发送的比较结果。
管理服务器在接收到终端发送的用于身份校验通过的通知信息时,识别为终端解密得到的第二随机数与终端在先生成的第二随机数相同,确定终端身份验证通过。
其中,管理服务器在确认终端身份验证通过时,允许终端与管理服务器进行数据交互,将需要防护的应用的安装信息同步至终端。
可选地,管理服务器在获取到终端发送的加密公钥时,可以采用该终端的加密公钥对需要防护的应用的安装信息进行加密,并将已加密的需要防护的应用的安装信息同步至终端。
可选地,管理服务器在接收到终端发送的用于唯一特征值获取请求,根据唯一特征值获取请求携带的目标应用的安装包的包名以及版本信息,获取目标应用的安装包的可执行文件对应的目标唯一特征值,并将获取到的目标唯一特征值发送给发送唯一特征值获取请求的终端。
可选地,管理服务器在获取到终端发送的加密公钥时,采用该终端的加密公钥对获取到的目标唯一特征值进行加密,并将已加密的目标唯一特征值发送给发送唯一特征值获取请求的终端,以使该终端通过其加密私钥对已加密的目标唯一特征值进行解密,得到目标应用的安装包的可执行文件对应的目标唯一特征值。
可以理解的是,管理服务器还可以接收终端发送的身份校验失败的通知信息,身份校验失败的通知信息由终端在确定解密得到的第二随机数与终端在先生成的第二随机数不同时发送。管理服务器在接收到终端发送的身份校验失败的通知信息时,确认终端身份验证失败。
管理服务器在确认身份校验结果为终端身份验证失败时,可通知终端存在潜在风险,且不响应终端发送的任何请求;也可以断开与终端的通信连接。
可选地,服务器在执行S601或S602之后,识别风险应用的方法还可以包括S603~606。
S603:接收所述终端发送的验证请求信息;其中,所述验证请求信息是所述终端在对第三方应用的安装包的签名证书的唯一特征值校验通过时发送,所述验证请求信息用于验证所述第三方应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述第三方应用的包名、版本信息和可执行文件对应的唯一特征值。
S604:根据所述第三方应用的包名和版本信息,从需要防护的应用的安装信息中获取所述第三方应用的所述签名证书的目标唯一特征值、以及所述可执行文件对应的目标唯一特征值。
管理服务器根据第三方应用的包名和版本信息,从需要防护的应用的安装信息中获取第三方应用的签名证书的目标唯一特征值、以及可执行文件对应的目标唯一特征值。
管理服务器比较获取到的第三方应用的签名证书的目标唯一特征值与验证请求信息携带的签名证书对应的唯一特征值,以及比较获取到的可执行文件对应的目标唯一特征值与验证请求信息携带的可执行文件对应的唯一特征值。
当签名证书的唯一特征值与签名证书的目标唯一特征值不同,或可执行文件对应的唯一特征值与可执行文件对应的目标唯一特征值不同时,执行S605;
当签名证书的唯一特征值与签名证书的目标唯一特征值相同,且可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同时,执行S606。
S605:若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值不同,或所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值不同,则根据所述终端的唯一标识向所述终端发送所述第三方应用具有潜在风险的通知消息。
S606:若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值相同,且所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同,则根据所述终端的唯一标识向所述终端发送所述第三方应用没有潜在风险的通知消息。
上述方案,管理服务器获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
管理服务器在对终端身份校验通过时,将需要防护的应用的安装信息同步至终端,能够保证需要防护的应用的安装信息的安全性,防止需要防护的应用的安装信息被泄露。
参见图7,图7是本发明实施例提供的一种终端的示意性框图。本实施例的终端7包括的各单元用于执行图3对应的实施例中的各步骤,具体请参阅图3以及图3对应的实施例中的相关描述,此处不赘述。本实施例的终端包括:第一获取单元701、第二获取单元702以及识别单元703。
第一获取单元701用于获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值。
第二获取单元702用于根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值。
识别单元703用于若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
上述方案,终端获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
终端通过校验目标应用的签名信息,检测目标应用的签名信息是否被篡改或被泄露,能够加强目标应用的风险防护,避免因安装或运行风险应用给用户带来困扰或经济损失。
终端可采用不同的方式识别第三方应用是否具有潜在风险,提高识别第三方风险应用的灵活性以及提高识别结果的可靠性。
参见图8,图8是本发明另一实施例提供的一种终端的示意性框图。本实施例的终端8包括的各单元用于执行图4对应的实施例中的各步骤,具体请参阅图4以及图4对应的实施例中的相关描述,此处不赘述。本实施例的终端包括:第一获取单元801、第一校验单元802、第二获取单元803以及第一识别单元804。第二获取单元803可以包括查找单元8031、第一发送单元8032以及第一接收单元8033。可选地,若目标应用为第三方应用,终端可以包括第一获取单元801、第二校验单元805、第二发送单元806、第二接收单元807以及第二识别单元808。
第一获取单元801用于获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值。
第一校验单元802用于获取所述目标应用的安装包的签名信息,并对所述签名信息进行校验;若所述签名信息校验通过,则通知第二获取单元803执行根据所述目标应用的安装包的包名以及版本信息从预设可信存储区域中获取目标唯一特征值。
第二获取单元803用于根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值。
可选地,当第二获取单元803包括查找单元8031、第一发送单元8032以及第一接收单元8033时,
查找单元8031用于根据所述目标应用的安装包的包名以及版本信息从本地的预设可信存储区域中查找所述目标应用对应的目标唯一特征值;
第一发送单元8032用于若查找单元8031未查找到所述目标唯一特征值,则向管理服务器发送获取请求信息;其中,所述获取请求信息用于请求获取所述目标应用对应的目标唯一特征值,所述获取请求信息携带终端的唯一标识、所述目标应用的安装包的包名以及版本信息,所述终端的唯一标识用于所述管理服务器对所述终端进行身份校验,所述目标应用的安装包的包名以及版本信息用于所述管理服务器在身份校验通过时,向所述终端返回所述目标应用对应的目标唯一特征值;
第一接收单元8033用于接收所述管理服务器根据所述获取请求信息返回的所述目标唯一特征值。
第一识别单元804用于若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
当目标应用为第三方应用,终端包括第一获取单元801、第二校验单元805、第二发送单元806、第二接收单元807以及第二识别单元808时,
第二校验单元805用于获取所述目标应用的安装包的签名证书的唯一特征值,并对所述签名证书的唯一特征值进行校验。
第二发送单元806用于若第二校验单元805的校验结果为所述签名证书的唯一特征值校验通过,则向管理服务器发送验证请求信息;其中,所述验证请求信息用于验证所述目标应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值;所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值用于所述管理服务器验证所述目标应用是否具有潜在风险,所述终端的唯一标识用于所述管理服务器返回验证结果;
第二接收单元807用于接收所述管理服务器根据所述验证请求信息返回的验证结果;
第二识别单元808用于根据所述验证结果识别所述目标应用是否具有潜在风险。
上述方案,终端获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
终端通过校验目标应用的签名信息,检测目标应用的签名信息是否被篡改或被泄露,能够加强目标应用的风险防护,避免因安装或运行风险应用给用户带来困扰或经济损失。
终端可采用不同的方式识别第三方应用是否具有潜在风险,提高识别第三方风险应用的灵活性以及提高识别结果的可靠性。
参见图9,图9是本发明实施例提供的一种服务器的示意性框图。本实施例的服务器9包括的各单元用于执行图5对应的实施例中的各步骤,具体请参阅图5以及图5对应的实施例中的相关描述,此处不赘述。本实施例的服务器包括:获取单元901以及同步单元902。
获取单元901用于获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值。
同步单元902用于将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
上述方案,管理服务器获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
参见图10,图10是本发明另一实施例提供的一种服务器的示意性框图。本实施例的服务器10包括的各单元用于执行图6对应的实施例中的各步骤,具体请参阅图6以及图6对应的实施例中的相关描述,此处不赘述。本实施例的服务器包括:第一获取单元1010以及同步单元1020。
第一获取单元101用于获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值。
同步单元1020用于将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
可选地,同步单元1020可以包括第一接收单元1021、根密钥获取单元1022、随机数生成单元1023、第一发送单元1024、校验单元1025、加密单元1026、第二发送单元1027以及第三发送单元1028。具体地:
第一接收单元1021用于接收所述终端发送的获取请求信息;其中,所述获取请求信息携带所述终端的唯一标识;
根密钥获取单元1022用于根据唯一标识与根密钥的预设对应关系,获取所述终端的唯一标识对应的根密钥;
随机数生成单元1023用于若根密钥获取单元1022获取到所述终端的唯一标识对应的根密钥,则生成第一随机数;
第一发送单元1024将随机数生成单元1023生成的所述第一随机数发送至所述终端;
第一发送单元1024用于接收所述终端发送的采用所述根密钥进行加密得到的第三随机数;其中,所述第三随机数由所述第一随机数以及所述终端产生的第二随机数组成;
校验单元1025用于采用所述根密钥对所述第三随机数进行解密,并对所述第三随机数中包含的所述第一随机数进行校验;
加密单元1026用于若校验单元1025对所述第三随机数中包含的所述第一随机数校验通过,则采用所述根密钥对所述第二随机数进行加密;
第二发送单元1027将加密单元1026加密后的第二随机数发送至所述终端;
第三发送单元1028用于若接收到所述终端发送的用于表示身份校验通过的通知信息,则将所述需要防护的应用的安装信息同步至终端;其中,所述通知信息由所述终端在采用所述根密钥对所述加密后的第二随机数进行解密得到所述第二随机数,并确认所述第二随机数为所述终端产生的第二随机数时发送。
可选地,服务器还可以包括第二接收单元1030、第二获取单元1040以及发送单元1050:第二接收单元1030用于接收所述终端发送的验证请求信息;其中,所述验证请求信息是所述终端在对第三方应用的安装包的签名证书的唯一特征值校验通过时发送,所述验证请求信息用于验证所述第三方应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述第三方应用的包名、版本信息和可执行文件对应的唯一特征值。
可选地,第二获取单元1040根据所述第三方应用的包名和版本信息,从需要防护的应用的安装信息中获取所述第三方应用的所述签名证书的目标唯一特征值、以及所述可执行文件对应的目标唯一特征值;
可选地,发送单元1050用于若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值不同,或所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值不同,则根据所述终端的唯一标识向所述终端发送所述第三方应用具有潜在风险的通知消息;
以及用于若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值相同,且所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同,则根据所述终端的唯一标识向所述终端发送所述第三方应用没有潜在风险的通知消息。
上述方案,管理服务器获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。由于安装包被篡改时,需要重新编译可执行文件,当可执行文件被重新编译时,其对应的唯一特征值将发生变化,因此通过可执行文件对应的唯一特征值识别安装包是否被篡改,能够有效识别被篡改的安装包,从而能够有效识别风险应用,进而提高终端信息的安全性。
管理服务器在对终端身份校验通过时,将需要防护的应用的安装信息同步至终端,能够保证需要防护的应用的安装信息的安全性,防止需要防护的应用的安装信息被泄露。
参见11,图11是本发明再一实施例提供的一种终端示意框图。如图所示的本实施例中的终端11可以包括:一个或多个处理器1101;一个或多个输入设备1102,一个或多个输出设备1103和存储器1104。上述处理器1101、输入设备1102、输出设备1103和存储器1104通过总线1105连接。存储器1102用于存储计算机程序,所述计算机程序包括程序指令,处理器1101用于执行存储器1102存储的程序指令。其中,处理器1101被配置用于调用所述程序指令执行:
获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;
根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;
若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
进一步地,处理器1101被配置具体用于调用所述程序指令执行:
根据所述目标应用的安装包的包名以及版本信息从本地的预设可信存储区域中查找所述目标应用对应的目标唯一特征值;
若未查找到所述目标唯一特征值,则向管理服务器发送获取请求信息;其中,所述获取请求信息用于请求获取所述目标应用对应的目标唯一特征值,所述获取请求信息携带终端的唯一标识、所述目标应用的安装包的包名以及版本信息,所述终端的唯一标识用于所述管理服务器对所述终端进行身份校验,所述目标应用的安装包的包名以及版本信息用于所述管理服务器在身份校验通过时,向所述终端返回所述目标应用对应的目标唯一特征值;
接收所述管理服务器根据所述获取请求信息返回的所述目标唯一特征值。
进一步地,处理器1101被配置还用于调用所述程序指令执行:获取所述目标应用的安装包的签名信息,并对所述签名信息进行校验;若所述签名信息校验通过,则执行所述根据所述目标应用的安装包的包名以及版本信息从预设可信存储区域中获取目标唯一特征值。
进一步地,处理器1101被配置还用于调用所述程序指令执行:
获取所述目标应用的安装包的签名证书的唯一特征值,并对所述签名证书的唯一特征值进行校验;
若所述签名证书的唯一特征值校验通过,则向管理服务器发送验证请求信息;其中,所述验证请求信息用于验证所述目标应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值;所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值用于所述管理服务器验证所述目标应用是否具有潜在风险,所述终端的唯一标识用于所述管理服务器返回验证结果;
接收所述管理服务器根据所述验证请求信息返回的验证结果;
根据所述验证结果识别所述目标应用是否具有潜在风险。
应当理解,在本发明实施例中,所称处理器1101可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备1102可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备1103可以包括显示器(LCD等)、扬声器等。
该存储器1104可以包括只读存储器和随机存取存储器,并向处理器1101提供指令和数据。存储器1104的一部分还可以包括非易失性随机存取存储器。例如,存储器1104还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器1101、输入设备1102、输出设备1103可执行本发明实施例提供的识别风险应用的方法的第一实施例和第二实施例中所描述的实现方式,也可执行本发明实施例所描述的终端的实现方式,在此不再赘述。
进一步地,在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:
获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;
根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;
若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
可选地,所述计算机程序被处理器执行时可以具体实现:
根据所述目标应用的安装包的包名以及版本信息从本地的预设可信存储区域中查找所述目标应用对应的目标唯一特征值;
若未查找到所述目标唯一特征值,则向管理服务器发送获取请求信息;其中,所述获取请求信息用于请求获取所述目标应用对应的目标唯一特征值,所述获取请求信息携带终端的唯一标识、所述目标应用的安装包的包名以及版本信息,所述终端的唯一标识用于所述管理服务器对所述终端进行身份校验,所述目标应用的安装包的包名以及版本信息用于所述管理服务器在身份校验通过时,向所述终端返回所述目标应用对应的目标唯一特征值;
接收所述管理服务器根据所述获取请求信息返回的所述目标唯一特征值。
可选地,所述计算机程序被处理器执行时还可以实现:
获取所述目标应用的安装包的签名信息,并对所述签名信息进行校验;
若所述签名信息校验通过,则执行所述根据所述目标应用的安装包的包名以及版本信息从预设可信存储区域中获取目标唯一特征值。
可选地,所述计算机程序被处理器执行时还可以实现:
获取所述目标应用的安装包的签名证书的唯一特征值,并对所述签名证书的唯一特征值进行校验;
若所述签名证书的唯一特征值校验通过,则向管理服务器发送验证请求信息;其中,所述验证请求信息用于验证所述目标应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值;所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值用于所述管理服务器验证所述目标应用是否具有潜在风险,所述终端的唯一标识用于所述管理服务器返回验证结果;
接收所述管理服务器根据所述验证请求信息返回的验证结果;
根据所述验证结果识别所述目标应用是否具有潜在风险。
所述计算机可读存储介质可以是前述任一实施例所述的终端的内部存储单元,例如终端的硬盘或内存。所述计算机可读存储介质也可以是所述终端的外部存储设备,例如所述终端上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述终端的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述服务商服务器所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
参见12,图12是本发明再一实施例提供的一种服务器示意框图。如图所示的本实施例中的服务器12可以包括:一个或多个处理器1201;一个或多个输入设备1202,一个或多个输出设备1203和存储器1204。上述处理器1201、输入设备1202、输出设备1203和存储器1204通过总线1205连接。存储器1202用于存储计算机程序,所述计算机程序包括程序指令,处理器1201用于执行存储器1202存储的程序指令。其中,处理器1201被配置用于调用所述程序指令执行:
获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;
将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
进一步地,处理器1201被配置具体用于调用所述程序指令执行:
接收所述终端发送的获取请求信息;其中,所述获取请求信息携带所述终端的唯一标识;
根据唯一标识与根密钥的预设对应关系,获取所述终端的唯一标识对应的根密钥;
若获取到所述终端的唯一标识对应的根密钥,则生成第一随机数并将所述第一随机数发送至所述终端;
接收所述终端发送的采用所述根密钥进行加密得到的第三随机数;其中,所述第三随机数由所述第一随机数以及所述终端产生的第二随机数组成;
采用所述根密钥对所述第三随机数进行解密,并对所述第三随机数中包含的所述第一随机数进行校验;
若对所述第三随机数中包含的所述第一随机数校验通过,则采用所述根密钥对所述第二随机数进行加密,并将加密后的第二随机数发送至所述终端;
若接收到所述终端发送的用于表示身份校验通过的通知信息,则将所述需要防护的应用的安装信息同步至终端;其中,所述通知信息由所述终端在采用所述根密钥对所述加密后的第二随机数进行解密得到所述第二随机数,并确认所述第二随机数为所述终端产生的第二随机数时发送。
进一步地,处理器1201被配置还用于调用所述程序指令执行:
接收所述终端发送的验证请求信息;其中,所述验证请求信息是所述终端在对第三方应用的安装包的签名证书的唯一特征值校验通过时发送,所述验证请求信息用于验证所述第三方应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述第三方应用的包名、版本信息和可执行文件对应的唯一特征值;
根据所述第三方应用的包名和版本信息,从需要防护的应用的安装信息中获取所述第三方应用的所述签名证书的目标唯一特征值、以及所述可执行文件对应的目标唯一特征值;
若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值不同,或所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值不同,则根据所述终端的唯一标识向所述终端发送所述第三方应用具有潜在风险的通知消息;
若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值相同,且所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同,则根据所述终端的唯一标识向所述终端发送所述第三方应用没有潜在风险的通知消息。
应当理解,在本发明实施例中,所称处理器1101可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备1202可以包括触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备1203可以包括显示器(LCD等)、扬声器等。
该存储器1204可以包括只读存储器和随机存取存储器,并向处理器1201提供指令和数据。存储器1204的一部分还可以包括非易失性随机存取存储器。例如,存储器1204还可以存储设备类型的信息。
具体实现中,本发明实施例中所描述的处理器1201、输入设备1202、输出设备1203可执行本发明实施例提供的识别风险应用的方法的第三实施例和第四实施例中所描述的实现方式,也可执行本发明实施例所描述的服务器的实现方式,在此不再赘述。
进一步地,在本发明的另一实施例中提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时实现:
获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;
将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
可选地,所述计算机程序被处理器执行时可以具体实现:
接收所述终端发送的获取请求信息;其中,所述获取请求信息携带所述终端的唯一标识;
根据唯一标识与根密钥的预设对应关系,获取所述终端的唯一标识对应的根密钥;
若获取到所述终端的唯一标识对应的根密钥,则生成第一随机数并将所述第一随机数发送至所述终端;
接收所述终端发送的采用所述根密钥进行加密得到的第三随机数;其中,所述第三随机数由所述第一随机数以及所述终端产生的第二随机数组成;
采用所述根密钥对所述第三随机数进行解密,并对所述第三随机数中包含的所述第一随机数进行校验;
若对所述第三随机数中包含的所述第一随机数校验通过,则采用所述根密钥对所述第二随机数进行加密,并将加密后的第二随机数发送至所述终端;
若接收到所述终端发送的用于表示身份校验通过的通知信息,则将所述需要防护的应用的安装信息同步至终端;其中,所述通知信息由所述终端在采用所述根密钥对所述加密后的第二随机数进行解密得到所述第二随机数,并确认所述第二随机数为所述终端产生的第二随机数时发送。
可选地,所述计算机程序被处理器执行时还可以实现:
接收所述终端发送的验证请求信息;其中,所述验证请求信息是所述终端在对第三方应用的安装包的签名证书的唯一特征值校验通过时发送,所述验证请求信息用于验证所述第三方应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述第三方应用的包名、版本信息和可执行文件对应的唯一特征值;
根据所述第三方应用的包名和版本信息,从需要防护的应用的安装信息中获取所述第三方应用的所述签名证书的目标唯一特征值、以及所述可执行文件对应的目标唯一特征值;
若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值不同,或所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值不同,则根据所述终端的唯一标识向所述终端发送所述第三方应用具有潜在风险的通知消息;
若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值相同,且所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同,则根据所述终端的唯一标识向所述终端发送所述第三方应用没有潜在风险的通知消息。
所述计算机可读存储介质可以是前述任一实施例所述的服务器的内部存储单元,例如服务器的硬盘或内存。所述计算机可读存储介质也可以是所述服务器的外部存储设备,例如所述服务器上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述服务器的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述商服务器所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的服务器和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种识别风险应用的方法,其特征在于,所述方法包括:
获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;
根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;
若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值,包括:
根据所述目标应用的安装包的包名以及版本信息从本地的预设可信存储区域中查找所述目标应用对应的目标唯一特征值;
若未查找到所述目标唯一特征值,则向管理服务器发送获取请求信息;其中,所述获取请求信息用于请求获取所述目标应用对应的目标唯一特征值,所述获取请求信息携带终端的唯一标识、所述目标应用的安装包的包名以及版本信息,所述终端的唯一标识用于所述管理服务器对所述终端进行身份校验,所述目标应用的安装包的包名以及版本信息用于所述管理服务器在身份校验通过时,向所述终端返回所述目标应用对应的目标唯一特征值;
接收所述管理服务器根据所述获取请求信息返回的所述目标唯一特征值。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
获取所述目标应用的安装包的签名信息,并对所述签名信息进行校验;
若所述签名信息校验通过,则执行所述根据所述目标应用的安装包的包名以及版本信息从预设可信存储区域中获取目标唯一特征值。
4.根据权利要求1所述的方法,其特征在于,若所述目标应用为第三方应用,所述方法还包括:
获取所述目标应用的安装包的签名证书的唯一特征值,并对所述签名证书的唯一特征值进行校验;
若所述签名证书的唯一特征值校验通过,则向管理服务器发送验证请求信息;其中,所述验证请求信息用于验证所述目标应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值;所述签名证书的唯一特征值、以及所述目标应用的安装包的包名、版本信息和可执行文件对应的唯一特征值用于所述管理服务器验证所述目标应用是否具有潜在风险,所述终端的唯一标识用于所述管理服务器返回验证结果;
接收所述管理服务器根据所述验证请求信息返回的验证结果;
根据所述验证结果识别所述目标应用是否具有潜在风险。
5.一种识别风险应用的方法,其特征在于,所述方法包括:
获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;
将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
6.根据权利要求5所述的方法,其特征在于,包括:所述将所述需要防护的应用的安装信息同步至终端,包括:
接收所述终端发送的获取请求信息;其中,所述获取请求信息携带所述终端的唯一标识;
根据唯一标识与根密钥的预设对应关系,获取所述终端的唯一标识对应的根密钥;
若获取到所述终端的唯一标识对应的根密钥,则生成第一随机数并将所述第一随机数发送至所述终端;
接收所述终端发送的采用所述根密钥进行加密得到的第三随机数;其中,所述第三随机数由所述第一随机数以及所述终端产生的第二随机数组成;
采用所述根密钥对所述第三随机数进行解密,并对所述第三随机数中包含的所述第一随机数进行校验;
若对所述第三随机数中包含的所述第一随机数校验通过,则采用所述根密钥对所述第二随机数进行加密,并将加密后的第二随机数发送至所述终端;
若接收到所述终端发送的用于表示身份校验通过的通知信息,则将所述需要防护的应用的安装信息同步至终端;其中,所述通知信息由所述终端在采用所述根密钥对所述加密后的第二随机数进行解密得到所述第二随机数,并确认所述第二随机数为所述终端产生的第二随机数时发送。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
接收所述终端发送的验证请求信息;其中,所述验证请求信息是所述终端在对第三方应用的安装包的签名证书的唯一特征值校验通过时发送,所述验证请求信息用于验证所述第三方应用是否具有潜在风险,所述验证请求信息携带所述终端的唯一标识、所述签名证书的唯一特征值、以及所述第三方应用的包名、版本信息和可执行文件对应的唯一特征值;
根据所述第三方应用的包名和版本信息,从需要防护的应用的安装信息中获取所述第三方应用的所述签名证书的目标唯一特征值、以及所述可执行文件对应的目标唯一特征值;
若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值不同,或所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值不同,则根据所述终端的唯一标识向所述终端发送所述第三方应用具有潜在风险的通知消息;
若所述签名证书的唯一特征值与所述签名证书的目标唯一特征值相同,且所述可执行文件对应的唯一特征值与所述可执行文件对应的目标唯一特征值相同,则根据所述终端的唯一标识向所述终端发送所述第三方应用没有潜在风险的通知消息。
8.一种终端,其特征在于,包括:
第一获取单元,用于获取待识别的目标应用的安装信息;其中,所述目标应用的安装信息包括所述目标应用的安装包的包名、版本信息以及可执行文件对应的唯一特征值;
第二获取单元,用于根据所述目标应用的安装包的包名以及版本信息获取所述目标应用对应的目标唯一特征值;其中,所述目标唯一值是预存的所述目标应用的可执行文件对应的唯一特征值;
识别单元,用于若所述可执行文件对应的唯一特征值与所述目标唯一特征值不同,则将所述目标应用识别为具有潜在风险的应用。
9.一种服务器,其特征在于,包括:
获取单元,用于获取应用服务器发送的需要防护的应用的安装信息;其中,所述需要防护的应用的安装信息包括安装包的包名、版本信息以及可执行文件对应的唯一特征值;
同步单元,用于将所述需要防护的应用的安装信息同步至终端;其中,所述可执行文件对应的唯一特征值用于终端对待识别的目标应用进行风险识别。
10.一种终端,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求1-4任一项的所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1-4任一项的所述方法。
12.一种服务器,其特征在于,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如权利要求5-6任一项的所述方法。
13.一种计算机可读存储介质,其特征在于,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求5-6任一项的所述方法。
CN201710664255.1A 2017-08-04 2017-08-04 一种识别风险应用的方法及服务器 Withdrawn CN107480519A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710664255.1A CN107480519A (zh) 2017-08-04 2017-08-04 一种识别风险应用的方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710664255.1A CN107480519A (zh) 2017-08-04 2017-08-04 一种识别风险应用的方法及服务器

Publications (1)

Publication Number Publication Date
CN107480519A true CN107480519A (zh) 2017-12-15

Family

ID=60597062

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710664255.1A Withdrawn CN107480519A (zh) 2017-08-04 2017-08-04 一种识别风险应用的方法及服务器

Country Status (1)

Country Link
CN (1) CN107480519A (zh)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259479A (zh) * 2017-12-28 2018-07-06 广州启生信息技术有限公司 业务数据处理方法、客户端与计算机可读存储介质
CN108449322A (zh) * 2018-02-13 2018-08-24 环球鑫彩(北京)彩票投资管理有限公司 身份注册、认证方法、系统及相关设备
CN108537011A (zh) * 2018-03-16 2018-09-14 维沃移动通信有限公司 一种应用权限处理方法、终端及服务器
CN108566374A (zh) * 2018-03-09 2018-09-21 深圳市元征科技股份有限公司 一种应用下载方法及其系统、区块链节点设备、终端
CN108595956A (zh) * 2018-04-26 2018-09-28 腾讯科技(深圳)有限公司 数字签名被盗用的识别方法及装置、电子设备、存储介质
CN108848094A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 数据安全验证方法、装置、系统、计算机设备及存储介质
CN108920957A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 数据安全检测的方法及装置
WO2019134272A1 (zh) * 2018-01-05 2019-07-11 武汉斗鱼网络科技有限公司 应用安装包二次打包检测方法、存储介质、设备及系统
CN110287087A (zh) * 2018-03-19 2019-09-27 百度在线网络技术(北京)有限公司 用于检测应用的方法和装置
CN110502900A (zh) * 2019-08-26 2019-11-26 Oppo广东移动通信有限公司 一种检测方法、终端、服务器及计算机存储介质
CN110968843A (zh) * 2018-09-30 2020-04-07 上海掌门科技有限公司 一种应用分发的风险控制方法、设备和存储介质
CN111414597A (zh) * 2019-01-07 2020-07-14 中国移动通信有限公司研究院 一种获取设备指纹的方法、装置及设备指纹服务器
WO2020177116A1 (zh) * 2019-03-07 2020-09-10 华为技术有限公司 仿冒app识别方法及装置
CN111931186A (zh) * 2020-08-12 2020-11-13 中国工商银行股份有限公司 软件风险识别方法及装置
CN112199644A (zh) * 2020-10-09 2021-01-08 平安科技(深圳)有限公司 移动终端应用程序安全检测方法、系统、终端及存储介质
CN113132421A (zh) * 2019-12-30 2021-07-16 Oppo广东移动通信有限公司 文件检测方法、装置、终端及存储介质
CN113127418A (zh) * 2019-12-30 2021-07-16 Oppo广东移动通信有限公司 文件检测方法、装置、终端及存储介质
CN114494841A (zh) * 2020-11-12 2022-05-13 亚信科技(中国)有限公司 物体识别方法、装置、电子设备及计算机可读存储介质
CN114547593A (zh) * 2020-11-18 2022-05-27 成都鼎桥通信技术有限公司 终端应用认证方法、装置及设备
CN114676463A (zh) * 2022-03-31 2022-06-28 安天科技集团股份有限公司 文件篡改检测方法、装置、电子设备及存储介质
CN117335988A (zh) * 2023-11-30 2024-01-02 中国信息通信研究院 App的电子标识生成、标注、安全校验方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551843A (zh) * 2009-05-06 2009-10-07 深圳市融创天下科技发展有限公司 一种移动通信装置应用软件包的签名方法
CN104751049A (zh) * 2015-03-09 2015-07-01 广东欧珀移动通信有限公司 一种应用程序安装方法及移动终端
CN105608369A (zh) * 2015-10-30 2016-05-25 周奇 应用软件的安装方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101551843A (zh) * 2009-05-06 2009-10-07 深圳市融创天下科技发展有限公司 一种移动通信装置应用软件包的签名方法
CN104751049A (zh) * 2015-03-09 2015-07-01 广东欧珀移动通信有限公司 一种应用程序安装方法及移动终端
CN105608369A (zh) * 2015-10-30 2016-05-25 周奇 应用软件的安装方法及装置

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259479A (zh) * 2017-12-28 2018-07-06 广州启生信息技术有限公司 业务数据处理方法、客户端与计算机可读存储介质
WO2019134272A1 (zh) * 2018-01-05 2019-07-11 武汉斗鱼网络科技有限公司 应用安装包二次打包检测方法、存储介质、设备及系统
CN110008661A (zh) * 2018-01-05 2019-07-12 武汉斗鱼网络科技有限公司 应用安装包二次打包检测方法、存储介质、设备及系统
CN108449322A (zh) * 2018-02-13 2018-08-24 环球鑫彩(北京)彩票投资管理有限公司 身份注册、认证方法、系统及相关设备
CN108449322B (zh) * 2018-02-13 2020-09-04 环球鑫彩(北京)彩票投资管理有限公司 身份注册、认证方法、系统及相关设备
CN108566374A (zh) * 2018-03-09 2018-09-21 深圳市元征科技股份有限公司 一种应用下载方法及其系统、区块链节点设备、终端
CN108537011A (zh) * 2018-03-16 2018-09-14 维沃移动通信有限公司 一种应用权限处理方法、终端及服务器
CN108537011B (zh) * 2018-03-16 2021-03-23 维沃移动通信有限公司 一种应用权限处理方法、终端及服务器
CN110287087A (zh) * 2018-03-19 2019-09-27 百度在线网络技术(北京)有限公司 用于检测应用的方法和装置
CN108595956A (zh) * 2018-04-26 2018-09-28 腾讯科技(深圳)有限公司 数字签名被盗用的识别方法及装置、电子设备、存储介质
CN108595956B (zh) * 2018-04-26 2023-02-17 腾讯科技(深圳)有限公司 数字签名被盗用的识别方法及装置、电子设备、存储介质
WO2019242163A1 (zh) * 2018-06-22 2019-12-26 平安科技(深圳)有限公司 数据安全验证方法、装置、系统、计算机设备及存储介质
CN108848094A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 数据安全验证方法、装置、系统、计算机设备及存储介质
CN108920957A (zh) * 2018-06-29 2018-11-30 北京奇虎科技有限公司 数据安全检测的方法及装置
CN110968843A (zh) * 2018-09-30 2020-04-07 上海掌门科技有限公司 一种应用分发的风险控制方法、设备和存储介质
CN110968843B (zh) * 2018-09-30 2023-05-09 上海掌门科技有限公司 一种应用分发的风险控制方法、设备和存储介质
CN111414597A (zh) * 2019-01-07 2020-07-14 中国移动通信有限公司研究院 一种获取设备指纹的方法、装置及设备指纹服务器
CN111414597B (zh) * 2019-01-07 2023-03-28 中国移动通信有限公司研究院 一种获取设备指纹的方法、装置及设备指纹服务器
WO2020177116A1 (zh) * 2019-03-07 2020-09-10 华为技术有限公司 仿冒app识别方法及装置
CN110502900A (zh) * 2019-08-26 2019-11-26 Oppo广东移动通信有限公司 一种检测方法、终端、服务器及计算机存储介质
CN113132421A (zh) * 2019-12-30 2021-07-16 Oppo广东移动通信有限公司 文件检测方法、装置、终端及存储介质
CN113127418A (zh) * 2019-12-30 2021-07-16 Oppo广东移动通信有限公司 文件检测方法、装置、终端及存储介质
CN113132421B (zh) * 2019-12-30 2022-11-04 Oppo广东移动通信有限公司 文件检测方法、装置、终端及存储介质
CN111931186A (zh) * 2020-08-12 2020-11-13 中国工商银行股份有限公司 软件风险识别方法及装置
CN111931186B (zh) * 2020-08-12 2023-09-08 中国工商银行股份有限公司 软件风险识别方法及装置
WO2022073340A1 (zh) * 2020-10-09 2022-04-14 平安科技(深圳)有限公司 移动终端应用程序安全检测方法、系统、终端及存储介质
CN112199644A (zh) * 2020-10-09 2021-01-08 平安科技(深圳)有限公司 移动终端应用程序安全检测方法、系统、终端及存储介质
CN114494841A (zh) * 2020-11-12 2022-05-13 亚信科技(中国)有限公司 物体识别方法、装置、电子设备及计算机可读存储介质
CN114547593A (zh) * 2020-11-18 2022-05-27 成都鼎桥通信技术有限公司 终端应用认证方法、装置及设备
CN114676463A (zh) * 2022-03-31 2022-06-28 安天科技集团股份有限公司 文件篡改检测方法、装置、电子设备及存储介质
CN117335988A (zh) * 2023-11-30 2024-01-02 中国信息通信研究院 App的电子标识生成、标注、安全校验方法及设备
CN117335988B (zh) * 2023-11-30 2024-03-12 中国信息通信研究院 App的电子标识生成、标注、安全校验方法及设备

Similar Documents

Publication Publication Date Title
CN107480519A (zh) 一种识别风险应用的方法及服务器
CN107276756A (zh) 一种获取根密钥的方法及服务器
US10078599B2 (en) Application access control method and electronic apparatus implementing the same
CN111835511A (zh) 数据安全传输方法、装置、计算机设备及存储介质
US9054865B2 (en) Cryptographic system and methodology for securing software cryptography
WO2019218919A1 (zh) 区块链场景下的私钥管理方法、装置及系统
CN107704765A (zh) 一种接口访问方法、服务器及计算机可读存储介质
CN108769027B (zh) 安全通信方法、装置、移动终端和存储介质
CN107786328A (zh) 一种生成密钥的方法、服务节点设备及计算机可读介质
CN107196907B (zh) 一种安卓so文件的保护方法及装置
US9659189B2 (en) Systems and methods of safeguarding user information while interacting with online service providers
CN107181714A (zh) 基于业务码的验证方法和装置、业务码的生成方法和装置
CN105446713A (zh) 安全存储方法及设备
CN107169343A (zh) 一种控制应用程序的方法及终端
CN107592636A (zh) 一种处理信息的方法、终端及服务器
CN107465730A (zh) 一种业务请求方法及终端
CN104021335B (zh) 基于可扩展密码服务框架的密码服务方法
CN107864039A (zh) 一种应用签名方法、终端以及计算机可读存储介质
CN107358114A (zh) 一种防止用户数据丢失的方法及终端
US10841287B2 (en) System and method for generating and managing a key package
CN106161031A (zh) 服务器密码生成方法、验证方法和装置
CN103885725B (zh) 一种基于云计算环境的虚拟机访问控制系统及其控制方法
Cooijmans et al. Secure key storage and secure computation in Android
US10845990B2 (en) Method for executing of security keyboard, apparatus and system for executing the method
CN114117388A (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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20171215