CN107967424A - 一种插件的验证方法、装置、终端设备和存储介质 - Google Patents

一种插件的验证方法、装置、终端设备和存储介质 Download PDF

Info

Publication number
CN107967424A
CN107967424A CN201711065490.3A CN201711065490A CN107967424A CN 107967424 A CN107967424 A CN 107967424A CN 201711065490 A CN201711065490 A CN 201711065490A CN 107967424 A CN107967424 A CN 107967424A
Authority
CN
China
Prior art keywords
plug
module
application
verification
eap
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.)
Pending
Application number
CN201711065490.3A
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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology 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 Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711065490.3A priority Critical patent/CN107967424A/zh
Publication of CN107967424A publication Critical patent/CN107967424A/zh
Pending 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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种插件的验证方法、装置、终端设备和存储介质,所述的方法包括:应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块;所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证;在各级安全验证通过后,获取所述应用程序插件模块。从而能够防止获取有问题的应用程序插件模块,保证数据安全。

Description

一种插件的验证方法、装置、终端设备和存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种插件的验证方法及装置,一种终端设备和一种存储介质。
背景技术
随着终端技术的发展,终端设备的性能越来越好,因此越来越多手机游戏开始涌现。手机游戏丰富了人类的精神世界和物质世界,让人类的生活的品质更高,让人类的生活更快乐。
终端的手机游戏往往会设置一些插件,来辅助游戏应用的运行,如登录插件,支付插件等。但是,有时这些插件可能会被恶意篡改,如篡改登陆插件来获取登录信息,篡改支付插件劫持支付数据等,影响数据安全。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的插件的验证方法和相应的插件的验证装置。
依据本发明的一个方面,提供了一种插件的验证方法,包括:应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块;所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证;在各级安全验证通过后,获取所述应用程序插件模块。
可选的,所述安全验证包括接口级验证、消息摘要验证和签名验证。
可选的,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:所述SDK中的应用程序宿主模块通过接口获取所述应用程序插件模块的插件信息,依据所述插件信息执行对应的接口级验证,其中,所述插件信息包括:版本号和插件标识。
可选的,所述依据插件信息执行对应的接口级验证,包括:读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识;判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配;若匹配,确定所述接口级验证通过;若不匹配,确定所述接口级验证不通过。
可选的,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证。
可选的,所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证,包括:所述SDK中的应用程序宿主模块在下载插件包前,计算所述应用程序插件模块对应插件包的消息摘要;判断计算的消息摘要和获取的消息摘要是否匹配;若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过。
可选的,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证。
可选的,所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证,包括:所述SDK中的应用程序宿主模块在运行应用程序插件模块时,计算所述应用程序插件模块的签名;判断计算的签名和存储的插件签名是否匹配;若所述计算的签名和存储的插件签名匹配,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,确认所述签名验证不通过。
可选的,所述接口级验证为第一级安全验证,所述消息摘要验证为第二级验证,所述签名验证为第三级验证;所述第二级验证在第一级验证通过后执行,所述第三级验证在第二级验证通过后执行。
根据本发明的另一个方面,提供了一种插件的验证装置,包括:调用模块,用于应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块;验证模块,用于所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证;获取模块,用于在各级安全验证通过后,获取所述应用程序插件模块。
可选的,所述安全验证包括接口级验证、消息摘要验证和签名验证。
可选的,所述验证模块,包括:接口验证子模块,用于采用所述SDK 中的应用程序宿主模块通过接口获取所述应用程序插件模块的插件信息,依据所述插件信息执行对应的接口级验证,其中,所述插件信息包括:版本号和插件标识。
可选的,所述接口验证子模块,用于读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识;判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配;若匹配,确定所述接口级验证通过;若不匹配,确定所述接口级验证不通过。
可选的,所述验证模块,包括:消息摘要验证子模块,用于采用所述 SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证。
可选的,所述消息摘要验证子模块,用于采用所述SDK中的应用程序宿主模块在下载插件包前,计算所述应用程序插件模块对应插件包的消息摘要;判断计算的消息摘要和获取的消息摘要是否匹配;若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过。
可选的,所述验证模块,包括:签名验证子模块,用于采用所述SDK 中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证。
可选的,所述签名验证子模块,用于采用所述SDK中的应用程序宿主模块在运行应用程序插件模块时,计算所述应用程序插件模块的签名;判断计算的签名和存储的插件签名是否匹配;若所述计算的签名和存储的插件签名匹配,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,确认所述签名验证不通过。
可选的,所述接口级验证为第一级安全验证,所述消息摘要验证为第二级验证,所述签名验证为第三级验证;所述第二级验证在第一级验证通过后执行,所述第三级验证在第二级验证通过后执行。
根据本发明的另一个方面,提供了一种终端设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如本发明实施例中一个或多个所述的插件的验证方法。
根据本发明的另一个方面,提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如本发明实施例中一个或多个所述的插件的验证方法。
根据本发明的一种插件的验证方法及装置,应用可通过植入的SDK来获取应用程序插件模块,SDK中应用程序宿主模块可对应用程序插件模块执行至少一级安全验证,从而能够有效的检测出存在问题的应用程序插件模块,对于通过安全验证的应用程序插件模块可执行获取操作,取得了防止获取有问题的应用程序插件模块,保证数据安全的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例的一种插件的验证方法的步骤流程图;
图2示出了本发明另一个实施例的一种插件的验证方法的步骤流程图;
图3示出了本发明一个实施例的一种插件的验证装置的结构框图;
图4示出了本发明另一个实施例的一种插件的验证装置的结构框图;
图5示出的是与本发明实施例提供的终端设备相关的部分结构的框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了本发明一个实施例的一种插件的验证方法的步骤流程图。
步骤102,应用运行过程中调用植入的软件开发工具包(Software DevelopmentKit,SDK),以获取对应的应用程序插件模块。
步骤104,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证。
步骤106,在各级安全验证通过后,获取所述应用程序插件模块。
本申请实施例的终端设备包括手机,平板电脑等移动终端,移动终端上运行的游戏可称为手机游戏。移动终端上可运行各种应用程序,如游戏应用,购物应用,支付应用,播放器应用等,各应用通常会植入SDK,SDK可以为应用提供各种工具,辅助应用执行各种操作。本申请实施例的SDK可设置一应用程序宿主模块,该应用程序宿主模块用于对应用程序插件模块进行管理,包括安装,调用,维护,卸载等管理,相应地,母体插件管理的应用程序插件模块可简称为插件,因此应用程序宿主模块可维护各应用程序插件模块的插件信息,如插件标识,插件名称,插件版本,插件安装时间,更新时间等各种信息。
从而应用运行过程中,可通过植入的SDK中应用程序宿主模块来获取应用程序插件模块,如下载应用程序插件模块,运行应用程序插件模块等,为了防止调用的应用程序插件模块被篡改而影响数据安全,应用程序宿主模块可对应用程序插件模块执行至少一级安全验证操作,如验证插件标识,插件版本,插件签名等各种数据,其中,可根据需求对验证操作分级,如按照难以程度,按照计算量,按照处理阶段等分级,从而执行相应一级或多级安全验证操作,在各级安全验证通过后,获取该应用程序插件模块,如下载应用程序插件模块,运行应用程序插件模块等。反之,任一级安全验证未通过,则应用程序插件模块可能被篡改,可以忽略对该应用程序插件模块的调用,返回获取失败的信息,后续也可执行上报该应用程序插件模块问题给服务器,以及卸载应用程序插件模块,重新安装等操作。
综上,应用可通过植入的SDK来获取应用程序插件模块,SDK中应用程序宿主模块可对应用程序插件模块执行至少一级安全验证,从而能够有效的检测出存在问题的应用程序插件模块,对于通过安全验证的应用程序插件模块可执行获取操作,从而防止获取有问题的应用程序插件模块,保证数据安全。
本申请实施例中,所述安全验证包括接口级验证、消息摘要验证和签名验证。接口级验证即对于通过接口获取的数据进行校验;消息摘要验证即计算应用程序插件模块对应的消息摘要,基于消息摘要进行校验;签名验证即计算应用程序插件模块对应的签名,进行签名的验证。
其中,消息摘要(Message Digest)是唯一对应一个数据(文件)的固定长度的值,是通过一定的算法计算数据文件得到的,一旦数据文件发生变更,则消息摘要也会发生变更,因此也可看作是数据文件的数字指纹,可用于唯一标识一个数据文件。签名是在应用的特定字段写入的特定标记信息,标识该应用已通过签署者的审核,签名可以用于确定数据信息的完整性,进行身份验证等,签名通常采用非对称密钥生成。
上述安全验证方式可划分等级,如基于安全程度可将接口级验证作为一级安全验证,将消息摘要验证作为二级安全验证,将签名验证作为三级安全验证,等级越高越安全,即验证通过的数据越可靠。在实际处理中,可依据需求选择安全校验所需执行的一个或多个等级,从而执行相应的安全验证操作。
上述安全校验也可在不同阶段执行,例如接口级验证可在应用程序插件模块的各阶段执行,如在下载、调用、更新等阶段执行接口级验证;消息摘要验证可在下载应用程序插件模块时执行,验证下载的插件包是否被篡改、是否完整等;签名验证可在调用应用程序插件模块时执行,验证所调用的应用程序插件模块是否被篡改,也可在下载时执行。
其中,接口级验证的步骤包括:所述SDK中的应用程序宿主模块通过接口获取所述应用程序插件模块的插件信息,依据所述插件信息执行对应的接口级验证,其中,所述插件信息包括:版本号和插件标识。即SDK中的应用程序宿主模块可通过接口获取应用程序插件模块的插件信息,接口级验证所需的插件信息可包括:版本号和插件标识(Identity,ID),版本号为应用程序插件模块的版本信息,如为1.0.3,插件ID用于唯一标识一个应用程序插件模块,然后可基于该插件信息执行接口级验证,即验证插件信息是否正确。
其中,所述依据插件信息执行对应的接口级验证,包括:读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识;判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配;若匹配,确定所述接口级验证通过;若不匹配,确定所述接口级验证不通过。对于插件信息的获取,可读取所调用应用程序插件模块的插件名,按照命名规则从该插件名中获取对应的版本号和插件ID,其中,插件名通常是按照一定规则设置的,其上具有应用程序插件模块的版本号、插件ID、制作者等信息,例如插件名为 AASDK_10234_1.0.3.zip,则插件ID为10234,版本号为1.0.3,依据该命名规则可获取其中注明的版本号、插件ID,例如按照命名规则设置正则表达式,从而基于该正则表达式获取。应用程序宿主模块可将插件名中的插件标识和接口获取的插件标识进行比较,并且,将插件名中的插件ID和接口获取的插件ID进行比较,若插件标识和插件ID均相同,则接口级验证通过;若插件标识和插件ID任一相同,则接口级验证不通过。
消息摘要验证的步骤包括:所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证。即SDK中的应用程序宿主模块可以获取插件包,如在下载时获取插件包,然后计算该插件包的消息摘要,如MD5值,其中,若插件包被篡改导致其中数据变化,通常篡改的插件包的消息摘要就与原始插件包的消息摘要不同,因此可采用消息摘要执行所述应用程序插件模块的消息摘要验证,即可判断计算的消息摘要和获取的消息摘要是否匹配;若所述计算的消息摘要和获取的消息摘要匹配,表征插件包未被篡改,可确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,表征插件包可能被篡改,确定所述消息摘要验证不通过。
消息摘要可包括:MD5(Message-Digest Algorithm 5,消息摘要算法第五版)值,SHA(Aecure Hash Algorithm,安全哈希算法)值、base64值等。
其中,所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证,包括:所述SDK中的应用程序宿主模块在下载插件包时,计算所述应用程序插件模块对应插件包的消息摘要;判断计算的消息摘要和获取的消息摘要是否匹配;若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过。以下载插件包时验证消息摘要为例,可以在下载插件包时计算所述插件对应插件包的消息摘要,计算方法可依据要验证的消息摘要确定,并且应用程序宿主模块中也存有应用程序插件模块的消息摘要,该存储的消息摘要是应用程序宿主模块从服务器中请求获取的,因此计算的消息摘要的类型与存储的消息摘要的类型相同,如都是MD5值。然后将判断计算的消息摘要和获取的消息摘要是否匹配,如是否相同,若所述计算的消息摘要和获取的消息摘要匹配,表征插件包未被篡改,确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,表征插件包被篡改了,确定所述消息摘要验证不通过。
签名验证的步骤包括:所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证。即SDK中的应用程序宿主模块可以依据插件包计算该应用程序插件模块的签名,如在下载应用程序插件模块、运行应用程序插件模块前计算,其中,若插件包被篡改导致其中数据变化,篡改的插件包的签名就与原始插件包的全部不给不同,因此可与应用程序宿主模块中存储的签名进行比较来执行对所述应用程序插件模块的签名验证,如判断计算的签名和存储的插件签名是否匹配;若所述计算的签名和存储的插件签名匹配,表征插件包未被篡改,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,表征插件包被篡改了,确认所述签名验证不通过。其中,应用程序插件模块和应用程序宿主模块可以是相同开发者开发的,因此应用程序插件模块、应用程序宿主模块和SDK都可以采用相同的签名。
其中,所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证,包括:所述 SDK中的应用程序宿主模块在运行应用程序插件模块前,计算所述应用程序插件模块的签名;判断计算的签名和存储的插件签名是否匹配;若所述计算的签名和存储的插件签名匹配,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,确认所述签名验证不通过。以运行应用程序插件模块时验证为例,SDK中的应用程序宿主模块在运行应用程序插件模块前,可以获取所运行应用程序插件模块的插件包,计算该插件包的签名,然后判断计算的签名和存储的插件签名是否匹配,若所述计算的签名和存储的插件签名匹配,表征插件包未被篡改,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,表征插件包被篡改了,确认所述签名验证不通过。
上述接口级验证、消息摘要验证和签名验证可以在应用程序插件模块的不同阶段执行,且可以执行其中的一个或多个校验。若三个校验都执行,则可依据安全程度等划分级别,从而依据级别执行。一个示例中,所述接口级验证为第一级安全验证,所述消息摘要验证为第二级验证,所述签名验证为第三级验证;若三级验证均执行,则所述第二级验证可在第一级验证通过后执行,所述第三级验证可在第二级验证通过后执行。
参照图2,示出了本发明另一个实施例的一种插件的验证方法的步骤流程图。
步骤202,应用运行过程中调用植入的SDK,以获取对应的应用程序插件模块。
应用运行过程中,可通过植入的SDK中应用程序宿主模块来获取应用程序插件模块,如下载应用程序插件模块,运行应用程序插件模块等,因此对于应用需要的应用程序插件模块,可向SDK发出通知,SDK采用应用程序宿主模块来获取该应用程序插件模块,如应用程序宿主模块确定未安装该应用程序插件模块,则向服务器请求下载该应用程序插件模块,若应用程序宿主模块确定已安装该应用程序插件模块,则可获取该应用程序插件模块并运行,以为应用提供服务。其中。为了防止调用的应用程序插件模块被篡改而影响数据安全,在下载安装应用程序插件模块、运行应用程序插件模块等过程中均可执行安全验证。
步骤204,SDK中的应用程序宿主模块下载应用程序插件模块时通过接口获取所述应用程序插件模块的插件信息。
SDK中的应用程序宿主模块确定需要调用的应用程序插件模块未安装,则可向服务器该应用程序插件模块,因此可从服务器中获取该应用程序插件模块的插件信息,如插件ID,应用程序插件模块最新的版本号等,再通过接口获取所述应用程序插件模块的插件信息,获取对应的版本号和插件ID。
步骤206,读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识。
在下载应用程序插件模块的插件包时,可读取该插件包的插件名,按照命名规则确定正则表达式,从插件名中获取版本号和插件标识。
步骤208,判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配。
应用程序宿主模块可将插件名中的插件标识和接口获取的插件标识进行比较,并且,将插件名中的插件ID和接口获取的插件ID进行比较,若插件标识和插件ID均相同,即判断匹配,则接口级验证通过,可执行步骤210;若插件标识和插件ID任一相同,即判断不匹配,则接口级验证不通过,结束该流程。
步骤210,SDK中的应用程序宿主模块在下载插件包时,计算所述应用程序插件模块对应插件包的消息摘要。
若匹配,确定所述接口级验证通过,应用程序宿主模块中也存有应用程序插件模块的消息摘要,该存储的消息摘要是应用程序宿主模块从服务器中请求获取的,因此计算的消息摘要的类型与存储的消息摘要的类型相同,如都是MD5值、SHA值、或者都是base64值等。因此SDK中的应用程序宿主模块可以基于所存储消息摘要的类型,在下载插件包时按照相应算法计算所述应用程序插件模块对应插件包的消息摘要。
步骤212,判断计算的消息摘要和获取的消息摘要是否匹配。
若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过,执行步骤214;若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过,结束该流程。
步骤214,下载所述应用程序插件模块并安装。
在消息摘要验证通过后,可以下载该应用程序插件模块并安装该应用程序插件模块。其中,应用程序插件模块安装后通常需要应用在下次启动后才能使用,因此对于运行应用程序插件模块前的签名验证,可在应用下次启动后运行应用程序插件模块前执行签名验证。当前也可在下载所述应用程序插件模块并安装前验证签名。
步骤216,SDK中的应用程序宿主模块在运行应用程序插件模块前,计算所述应用程序插件模块的签名。
若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过,可在下载所述应用程序插件模块并安装后,应用下次启动调用前,可以获取所运行应用程序插件模块的插件包,计算该插件包的签名。并且获取应用程序宿主模块中存储的签名。
步骤218,判断计算的签名和存储的插件签名是否匹配。
若所述计算的签名和存储的插件签名匹配,确认所述签名验证通过,执行步骤220;若所述计算的签名和存储的插件签名不匹配,确认所述签名验证不通过,结束该流程。
步骤220,运行所述应用程序插件模块。
确认所述签名验证通过后,可运行该应用程序插件模块,给应用提供服务。如游戏应用调用支付插件验证该支付插件通过各级安全验证后,可运行该支付插件,从而给游戏应用提供支付服务,用户可以进行游戏的充值。又如游戏应用调用登录插件,确定该登录插件的签名验证不通过,说明登录插件被篡改了,可能有病毒恶意劫持用户信息,则不运行该登录插件,以防止泄露用户的登录信息。后续还可提供用户杀毒、重新下载登录插件等。
从而通过接口级验证、消息摘要验证和签名验证等执行安全验证,可依据不同的需求执行不同的验证操作,也可根据应用程序插件模块的不同阶段执行不同的安全验证。从而通过一级或多级安全验证保证数据安全,提供应用程序插件模块的安全性。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例还提供了一种插件的验证装置,应用于终端设备。
参照图3,示出了本发明一个实施例的一种插件的验证装置的结构框图。
调用模块302,用于应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块。
验证模块304,用于所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证。
获取模块306,用于在各级安全验证通过后,获取所述应用程序插件模块。
综上,应用可通过植入的SDK来获取应用程序插件模块,SDK中应用程序宿主模块可对应用程序插件模块执行至少一级安全验证,从而能够有效的检测出存在问题的应用程序插件模块,对于通过安全验证的应用程序插件模块可执行获取操作,从而防止获取有问题的应用程序插件模块,保证数据安全。
参照图4,示出了本发明一个实施例的一种插件的验证装置的结构框图。
调用模块302,用于应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块。
验证模块304,用于所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证。
获取模块306,用于在各级安全验证通过后,获取所述应用程序插件模块。
其中,所述安全验证包括接口级验证、消息摘要验证和签名验证。
所述验证模块304,包括:接口验证子模块3042、消息摘要验证子模块 3044和签名验证子模块3046。
接口验证子模块3042,用于采用所述SDK中的应用程序宿主模块通过接口获取所述应用程序插件模块的插件信息,依据所述插件信息执行对应的接口级验证,其中,所述插件信息包括:版本号和插件标识。
消息摘要验证子模块3044,用于采用所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证。
签名验证子模块3046,用于采用所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证。
其中,所述接口验证子模块3042,用于读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识;判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配;若匹配,确定所述接口级验证通过;若不匹配,确定所述接口级验证不通过。
所述消息摘要验证子模块3044,用于采用所述SDK中的应用程序宿主模块在下载插件包前,计算所述应用程序插件模块对应插件包的消息摘要;判断计算的消息摘要和获取的消息摘要是否匹配;若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过。
所述签名验证子模块3046,用于采用所述SDK中的应用程序宿主模块在运行应用程序插件模块时,计算所述应用程序插件模块的签名;判断计算的签名和存储的插件签名是否匹配;若所述计算的签名和存储的插件签名匹配,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,确认所述签名验证不通过。
其中,所述接口级验证为第一级安全验证,所述消息摘要验证为第二级验证,所述签名验证为第三级验证;所述第二级验证在第一级验证通过后执行,所述第三级验证在第二级验证通过后执行。
从而通过接口级验证、消息摘要验证和签名验证等执行安全验证,可依据不同的需求执行不同的验证操作,也可根据应用程序插件模块的不同阶段执行不同的安全验证。从而通过一级或多级安全验证保证数据安全,提供应用程序插件模块的安全性。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的终端设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本发明实施例一个示例中还提供的终端设备,如图5所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端设备可以为包括手机、平板电脑、PDA (Personal Digital Assistant,个人数字助理)、POS(Point of Sales,销售设备)、车载电脑等任意设备。
图5示出的是与本发明实施例提供的终端设备相关的部分结构的框图。参考图5,终端设备包括:射频(Radio Frequency,RF)电路510、存储器 520、输入单元530、显示单元540、传感器550、音频电路560、无线保真 (wireless fidelity,WiFi)模块570、处理器580、电源590以及摄像头5110 等部件。本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对终端设备的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统 (GlobalSystem of Mobile communication,GSM)、通用分组无线服务 (General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access, WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行终端设备的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(LiquidCrystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图5中,触控面板531与显示面板541是作为两个独立的部件来实现终端设备的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现终端设备的输入和输出功能。
终端设备还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在终端设备移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端设备还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与终端设备之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一终端设备,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,终端设备通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图5示出了WiFi模块570,但是可以理解的是,其并不属于终端设备的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器580可包括一个或多个处理单元;优选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
终端设备还包括给各个部件供电的电源590(比如电池),优选的,电源可以通过电源管理系统与处理器580逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
摄像头5110可以执行拍照的功能。
尽管未示出,终端设备还可以包括蓝牙模块等,在此不再赘述。
在本发明实施例还提供了一种终端设备,包括:一个或多个处理器;和,其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如本发明实施例中一个或多个所述的插件的验证方法。
在本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如本发明实施例中一个或多个所述的插件的验证方法。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明实施例公开了A1、一种插件的验证方法,包括:应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块;所述 SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证;在各级安全验证通过后,获取所述应用程序插件模块。
A2、如A1所述的方法,其中,所述安全验证包括接口级验证、消息摘要验证和签名验证。
A3、如A2所述的方法,其中,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:所述SDK中的应用程序宿主模块通过接口获取所述应用程序插件模块的插件信息,依据所述插件信息执行对应的接口级验证,其中,所述插件信息包括:版本号和插件标识。
A4、如A3所述的方法,其中,所述依据插件信息执行对应的接口级验证,包括:读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识;判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配;若匹配,确定所述接口级验证通过;若不匹配,确定所述接口级验证不通过。
A5、如A2所述的方法,其中,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证。
A6、如A5所述的方法,其中,所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证,包括:所述SDK中的应用程序宿主模块在下载插件包前,计算所述应用程序插件模块对应插件包的消息摘要;判断计算的消息摘要和获取的消息摘要是否匹配;若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过。
A7、如A2所述的方法,其中,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证。
A8、如A7所述的方法,其中,所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证,包括:所述SDK中的应用程序宿主模块在运行应用程序插件模块时,计算所述应用程序插件模块的签名;判断计算的签名和存储的插件签名是否匹配;若所述计算的签名和存储的插件签名匹配,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,确认所述签名验证不通过。
A9、如A2-A8任一所述的方法,其中,所述接口级验证为第一级安全验证,所述消息摘要验证为第二级验证,所述签名验证为第三级验证;所述第二级验证在第一级验证通过后执行,所述第三级验证在第二级验证通过后执行。
本发明实施例还公开了B10、一种插件的验证装置,包括:调用模块,用于应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块;验证模块,用于所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证;获取模块,用于在各级安全验证通过后,获取所述应用程序插件模块。
B11、如B10所述的装置,其中,所述安全验证包括接口级验证、消息摘要验证和签名验证。
B12、如B11所述的装置,其中,所述验证模块,包括:接口验证子模块,用于采用所述SDK中的应用程序宿主模块通过接口获取所述应用程序插件模块的插件信息,依据所述插件信息执行对应的接口级验证,其中,所述插件信息包括:版本号和插件标识。
B13、如B12所述的装置,其中,所述接口验证子模块,用于读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识;判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配;若匹配,确定所述接口级验证通过;若不匹配,确定所述接口级验证不通过。
B14、如B11所述的装置,其中,所述验证模块,包括:消息摘要验证子模块,用于采用所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证。
B15、如B14所述的装置,其中,
所述消息摘要验证子模块,用于采用所述SDK中的应用程序宿主模块在下载插件包前,计算所述应用程序插件模块对应插件包的消息摘要;判断计算的消息摘要和获取的消息摘要是否匹配;若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过;若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过。
B16、如B11所述的装置,其中,所述验证模块,包括:签名验证子模块,用于采用所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证。
B17、如B16所述的装置,其中,所述签名验证子模块,用于采用所述 SDK中的应用程序宿主模块在运行应用程序插件模块时,计算所述应用程序插件模块的签名;判断计算的签名和存储的插件签名是否匹配;若所述计算的签名和存储的插件签名匹配,确认所述签名验证通过;若所述计算的签名和存储的插件签名不匹配,确认所述签名验证不通过。
B18、如B11-B17任一所述的装置,其中,所述接口级验证为第一级安全验证,所述消息摘要验证为第二级验证,所述签名验证为第三级验证;所述第二级验证在第一级验证通过后执行,所述第三级验证在第二级验证通过后执行。
本发明实施例还公开了C19、一种终端设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如A1-A9中一个或多个所述的插件的验证方法。
本发明实施例还公开D20、一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如A1-A9中一个或多个所述的插件的验证方法。

Claims (10)

1.一种插件的验证方法,包括:
应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块;
所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证;
在各级安全验证通过后,获取所述应用程序插件模块。
2.如权利要求1所述的方法,其特征在于,所述安全验证包括接口级验证、消息摘要验证和签名验证。
3.如权利要求2所述的方法,其特征在于,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:
所述SDK中的应用程序宿主模块通过接口获取所述应用程序插件模块的插件信息,依据所述插件信息执行对应的接口级验证,其中,所述插件信息包括:版本号和插件标识。
4.如权利要求3所述的方法,其特征在于,所述依据插件信息执行对应的接口级验证,包括:
读取所述应用程序插件模块的插件名,按照对应的命名规则从所述插件名中获取对应的版本号和插件标识;
判断所述插件信息中的版本号和插件标识,与所述插件名中对应的版本号和插件标识是否匹配;
若匹配,确定所述接口级验证通过;
若不匹配,确定所述接口级验证不通过。
5.如权利要求2所述的方法,其特征在于,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:
所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证。
6.如权利要求5所述的方法,其特征在于,所述SDK中的应用程序宿主模块计算所述应用程序插件模块对应插件包的消息摘要,依据所述消息摘要执行所述应用程序插件模块的消息摘要验证,包括:
所述SDK中的应用程序宿主模块在下载插件包前,计算所述应用程序插件模块对应插件包的消息摘要;
判断计算的消息摘要和获取的消息摘要是否匹配;
若所述计算的消息摘要和获取的消息摘要匹配,确定所述消息摘要验证通过;
若所述计算的消息摘要和预存的消息摘要不匹配,确定所述消息摘要验证不通过。
7.如权利要求2所述的方法,其特征在于,所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证,包括:
所述SDK中的应用程序宿主模块计算所述应用程序插件模块的签名,依据计算的签名对所述应用程序插件模块执行签名验证。
8.一种插件的验证装置,包括:
调用模块,用于应用运行过程中调用植入的软件开发工具包SDK,以获取对应的应用程序插件模块;
验证模块,用于所述SDK中的应用程序宿主模块对所述应用程序插件模块执行至少一级安全验证;
获取模块,用于在各级安全验证通过后,获取所述应用程序插件模块。
9.一种终端设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述终端设备执行如权利要求1-7中一个或多个所述的插件的验证方法。
10.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得终端设备执行如权利要求1-7中一个或多个所述的插件的验证方法。
CN201711065490.3A 2017-11-02 2017-11-02 一种插件的验证方法、装置、终端设备和存储介质 Pending CN107967424A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711065490.3A CN107967424A (zh) 2017-11-02 2017-11-02 一种插件的验证方法、装置、终端设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711065490.3A CN107967424A (zh) 2017-11-02 2017-11-02 一种插件的验证方法、装置、终端设备和存储介质

Publications (1)

Publication Number Publication Date
CN107967424A true CN107967424A (zh) 2018-04-27

Family

ID=62000832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711065490.3A Pending CN107967424A (zh) 2017-11-02 2017-11-02 一种插件的验证方法、装置、终端设备和存储介质

Country Status (1)

Country Link
CN (1) CN107967424A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109145591A (zh) * 2018-09-10 2019-01-04 上海连尚网络科技有限公司 应用程序的插件加载方法
CN110443039A (zh) * 2019-08-09 2019-11-12 北京阿尔山区块链联盟科技有限公司 插件安全性的检测方法、装置以及电子设备
CN110569088A (zh) * 2019-09-09 2019-12-13 五八有限公司 客户端插件管理方法、装置、电子设备及存储介质
CN110704026A (zh) * 2018-07-10 2020-01-17 武汉斗鱼网络科技有限公司 软件开发工具包的调用方法、装置、终端及可读介质
CN113379418A (zh) * 2021-06-21 2021-09-10 上海盛付通电子支付服务有限公司 基于安全插件的信息验证方法、设备、介质及程序产品
CN113703822A (zh) * 2021-08-31 2021-11-26 三一专用汽车有限责任公司 一种差分升级方法、装置和作业机械

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552676A (zh) * 2009-05-06 2009-10-07 阿里巴巴集团控股有限公司 插件模块验证宿主模块合法性的方法、系统及设备
CN102880456A (zh) * 2012-07-31 2013-01-16 北京奇虎科技有限公司 一种创建插件方法及装置
CN103544013A (zh) * 2013-10-25 2014-01-29 优视科技有限公司 一种插件系统及插件管理方法
CN103677877A (zh) * 2012-09-12 2014-03-26 腾讯科技(深圳)有限公司 一种本地广告软件开发包升级的方法及装置
CN106156625A (zh) * 2016-08-01 2016-11-23 乐视控股(北京)有限公司 一种插件签名的方法及电子设备
CN106325937A (zh) * 2016-08-24 2017-01-11 乐视控股(北京)有限公司 一种第三方应用程序调用方法及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101552676A (zh) * 2009-05-06 2009-10-07 阿里巴巴集团控股有限公司 插件模块验证宿主模块合法性的方法、系统及设备
CN102880456A (zh) * 2012-07-31 2013-01-16 北京奇虎科技有限公司 一种创建插件方法及装置
CN103677877A (zh) * 2012-09-12 2014-03-26 腾讯科技(深圳)有限公司 一种本地广告软件开发包升级的方法及装置
CN103544013A (zh) * 2013-10-25 2014-01-29 优视科技有限公司 一种插件系统及插件管理方法
CN106156625A (zh) * 2016-08-01 2016-11-23 乐视控股(北京)有限公司 一种插件签名的方法及电子设备
CN106325937A (zh) * 2016-08-24 2017-01-11 乐视控股(北京)有限公司 一种第三方应用程序调用方法及电子设备

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110704026A (zh) * 2018-07-10 2020-01-17 武汉斗鱼网络科技有限公司 软件开发工具包的调用方法、装置、终端及可读介质
CN109145591A (zh) * 2018-09-10 2019-01-04 上海连尚网络科技有限公司 应用程序的插件加载方法
CN110443039A (zh) * 2019-08-09 2019-11-12 北京阿尔山区块链联盟科技有限公司 插件安全性的检测方法、装置以及电子设备
CN110569088A (zh) * 2019-09-09 2019-12-13 五八有限公司 客户端插件管理方法、装置、电子设备及存储介质
CN113379418A (zh) * 2021-06-21 2021-09-10 上海盛付通电子支付服务有限公司 基于安全插件的信息验证方法、设备、介质及程序产品
CN113379418B (zh) * 2021-06-21 2024-04-05 上海盛付通电子支付服务有限公司 基于安全插件的信息验证方法、设备、介质及程序产品
CN113703822A (zh) * 2021-08-31 2021-11-26 三一专用汽车有限责任公司 一种差分升级方法、装置和作业机械
CN113703822B (zh) * 2021-08-31 2022-11-01 三一专用汽车有限责任公司 一种差分升级方法、装置和作业机械

Similar Documents

Publication Publication Date Title
CN107967424A (zh) 一种插件的验证方法、装置、终端设备和存储介质
US9830459B2 (en) Privacy protection for mobile devices
CN107786504B (zh) Elf文件发布方法、elf文件校验方法、服务器及终端
CN104794396B (zh) 跨站式脚本漏洞检测方法及装置
KR102003850B1 (ko) 단말의 애플리케이션 제공 방법 및 그 단말
US20150302215A1 (en) Sensitive operation verification method, terminal device, server, and verification system
US20110191764A1 (en) Systems, methods, and apparatuses for facilitating distribution of firmware updates
CN107766747B (zh) 校验应用程序安装包完整性的方法、移动终端及服务器
CN105678553A (zh) 一种处理订单信息的方法、装置和系统
CN104735657B (zh) 安全终端验证方法、无线接入点绑定方法、装置及系统
CN108228230A (zh) Ufs固件的升级方法、终端及计算机可读存储介质
CN104850427B (zh) 一种代码升级方法及装置
CN107908952A (zh) 识别真机和模拟器的方法、装置和终端
CN107480518A (zh) 一种白名单更新方法和装置
CN107622200A (zh) 应用程序的安全性检测方法及装置
CN104965722B (zh) 一种显示信息的方法及装置
CN108574940A (zh) 一种来电呼叫的处理方法和装置
CN109873794A (zh) 一种拒绝服务攻击的防护方法及服务器
CN110196795A (zh) 检测移动终端应用运行状态的方法及相关装置
CN111931102A (zh) 一种构建页面的方法、装置及系统
CN108280341A (zh) 渠道号添加、安装包校验方法及装置
CN108549826A (zh) 应用程序的校验方法、终端、服务器及可读存储介质
CN107153792A (zh) 一种数据安全处理方法、装置及移动终端
CN109558732A (zh) 一种防止应用程序文件被篡改的方法及服务器
CN107465646B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180427

RJ01 Rejection of invention patent application after publication