CN106599679A - 应用程序的可信度量方法及装置 - Google Patents

应用程序的可信度量方法及装置 Download PDF

Info

Publication number
CN106599679A
CN106599679A CN201611155432.5A CN201611155432A CN106599679A CN 106599679 A CN106599679 A CN 106599679A CN 201611155432 A CN201611155432 A CN 201611155432A CN 106599679 A CN106599679 A CN 106599679A
Authority
CN
China
Prior art keywords
application program
credible
application
trusted
tolerance
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
CN201611155432.5A
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.)
China Standard Software Co Ltd
Original Assignee
China Standard Software 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 China Standard Software Co Ltd filed Critical China Standard Software Co Ltd
Priority to CN201611155432.5A priority Critical patent/CN106599679A/zh
Publication of CN106599679A publication Critical patent/CN106599679A/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

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

Abstract

本发明提供了一种应用程序的可信度量方法及装置。所述方法包括:接收到针对应用程序的指定请求;调用所述终端设备内的系统调用接口,并利用所述系统调用接口拦截所述指定请求;判断所述应用程序是否为可信应用程序;当确定所述应用程序为可信应用程序时,解除对所述指定请求的拦截,并针对所述应用程序执行与所述指定请求对应的操作。该技术方案实现了对应用程序的可信度量功能,避免不可信的应用程序在终端设备中运行、以及真实可信的应用程序因其他因素(例如未在白名单中)而被拒接执行的情况,且为程序开发人员提供了方便。

Description

应用程序的可信度量方法及装置
技术领域
本发明涉及信息安全技术领域,特别是涉及一种应用程序的可信度量方法及装置。
背景技术
随着科学技术的快速发展,互联网技术正以其不可阻挡的趋势影响着社会的发展和人们的生活,网络环境中的信息在现代化生活中发挥的作用也越来越大,已经成为市场竞争的重要手段。恰恰是因为这些信息资源在竞争日益激烈的今天发挥着举足轻重的地位,越来越多的企业或个人试图用网络病毒、恶意软件、网络攻击等不正当手段盗取这些资源,损害大众的利益。因此,如何保证网络环境下的信息安全也成为当今研究的热门话题。
目前,网络环境中多种多样的网络攻击手段的攻击目标是计算机终端上的操作系统及运行在系统上的应用程序,所以保证信息安全必须首先从计算机终端系统的安全和应用程序的安全着手,才能从根本上解决这些问题。传统的安全解决方案大多采用纯软件形态或专用硬件设备实现,但前者容易受计算平台内运行的其它软件或网络通信的影响,无法应对现有的安全威胁;后者虽然安全性较高,但造价高昂且容易受产品异构性的影响。
针对上述问题,提出了一种可信计算。可信计算在计算和通信系统中广泛使用,基于硬件安全模块支持下的可信计算平台,然后在该平台上通过软硬件结合的方式构建可信计算环境,以提高系统以及运行在其上的应用程序整体的安全性。目前,可信计算已在Windows、Linux系统以及移动终端得到了支持,然而,这些可信计算大多均只能保障操作系统的安全,针对应用程序的可信度量方法仍然较少,因此目前尚无一种很好的可信度量方法能够针对应用程序的安全性进行校验。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用程序的可信度量方法及装置。
依据本发明的一个方面,提供了一种应用程序的可信度量方法,应用于终端设备,所述方法包括:
接收到针对应用程序的指定请求;
调用所述终端设备内的系统调用接口,并利用所述系统调用接口拦截所述指定请求;
判断所述应用程序是否为可信应用程序;
当确定所述应用程序为可信应用程序时,解除对所述指定请求的拦截,并针对所述应用程序执行与所述指定请求对应的操作。
可选地,所述指定请求为安装请求;判断所述应用程序是否为可信应用程序,包括:
调用由终端系统管理的可信计算平台的可信服务提供层TSP接口;
利用所述可信服务提供层TSP接口判断所述应用程序是否通过所述可信计算平台的可信验证机制,其中,所述可信验证机制包括所述可信计算平台对所述应用程序的完整性验证、身份认证中的至少一项;
若是,则确定所述应用程序为可信应用程序。
可选地,针对所述应用程序执行与所述指定请求对应的操作,包括:
调用所述终端设备内的强制访问控制接口,利用所述强制访问控制接口生成用于表明所述应用程序被允许执行的安全标识;
调用所述可信计算平台的可信度量接口,利用所述可信度量接口计算所述应用程序的第一可信度量值;
将所述安全标识插入所述应用程序中,并将所述第一可信度量值存储至所述终端设备的可信存储根中。
可选地,所述指定请求为运行请求;判断所述应用程序是否为可信应用程序,包括:
获取所述应用程序中预先插入的度量标识,所述度量标识用于表明所述应用程序是否被允许执行,以及从所述终端设备的可信存储根中获取所述应用程序的第二可信度量值;
根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序。
可选地,根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序,包括:
根据所述度量标识判断所述应用程序是否被允许执行;
若是,则调用由终端系统管理的可信计算平台的可信度量接口,并利用所述可信度量接口计算所述应用程序的第三可信度量值;
对比所述第二可信度量值和所述第三可信度量值,并判断所述对比结果是否一致;
若是,则确定所述应用程序为可信应用程序。
可选地,根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序,还包括:
当所述对比结果不一致时,利用所述第三可信度量值替换所述第二可信度量值。
可选地,判断所述应用程序是否为可信应用程序,还包括:
当所述应用程序中不包含预先插入的度量标识时,确定所述应用程序为不可信应用程序。
可选地,所述终端设备的系统为Linux操作系统。
依据本发明的另一个方面,提供了一种应用程序的可信度量装置,设置于终端设备,所述装置包括:
接收模块,适于接收到针对应用程序的指定请求;
拦截模块,适于调用所述终端设备内的系统调用接口,并利用所述系统调用接口拦截所述指定请求;
判断模块,适于判断所述应用程序是否为可信应用程序;
执行模块,适于当确定所述应用程序为可信应用程序时,解除对所述指定请求的拦截,并针对所述应用程序执行与所述指定请求对应的操作。
可选地,所述指定请求为安装请求;所述判断模块还适于:
调用由终端系统管理的可信计算平台的可信服务提供层TSP接口;
利用所述可信服务提供层TSP接口判断所述应用程序是否通过所述可信计算平台的可信验证机制,其中,所述可信验证机制包括所述可信计算平台对所述应用程序的完整性验证、身份认证中的至少一项;
若是,则确定所述应用程序为可信应用程序。
可选地,所述执行模块还适于:
调用所述终端设备内的强制访问控制接口,利用所述强制访问控制接口生成用于表明所述应用程序被允许执行的安全标识;
调用所述可信计算平台的可信度量接口,利用所述可信度量接口计算所述应用程序的第一可信度量值;
将所述安全标识插入所述应用程序中,并将所述第一可信度量值存储至所述终端设备的可信存储根中。
可选地,所述指定请求为运行请求;所述判断模块还适于:
获取所述应用程序中预先插入的度量标识,所述度量标识用于表明所述应用程序是否被允许执行,以及从所述终端设备的可信存储根中获取所述应用程序的第二可信度量值;
根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序。
可选地,所述判断模块还适于:
根据所述度量标识判断所述应用程序是否被允许执行;
若是,则调用由终端系统管理的可信计算平台的可信度量接口,并利用所述可信度量接口计算所述应用程序的第三可信度量值;
对比所述第二可信度量值和所述第三可信度量值,并判断所述对比结果是否一致;
若是,则确定所述应用程序为可信应用程序。
可选地,所述判断模块还适于:
当所述对比结果不一致时,利用所述第三可信度量值替换所述第二可信度量值。
可选地,所述判断模块还适于:
当所述应用程序中不包含预先插入的度量标识时,确定所述应用程序为不可信应用程序。
可选地,所述终端设备的系统为Linux操作系统。
采用本发明实施例提供的技术方案,能够在接收到针对应用程序的指定请求时调用终端设备内的系统调用接口拦截指定请求,且仅在判定应用程序为可信应用程序时再解除对指定请求的拦截,并针对应用程序执行与指定请求对应的操作,使得该技术方案至少具有以下技术效果:首先,实现了对应用程序的可信度量功能,避免不可信的应用程序在终端设备中运行、以及真实可信的应用程序因其他因素(例如未在白名单中)而被拒接执行的情况,且为程序开发人员提供了方便;其次,能够在应用程序每次发出指定请求时都进行可信度量,相较于现有技术中按照对应用程序添加的是否可信的标签进行判断的方法而言,该技术方案能够避免应用程序被修改后按照标签判断是否可信不够准确的情况,提高了可信度量的准确度;再次,该技术方案中对应用程序的可信度量方法无需用户手动添加或修改任何文件,因此实现了应用程序可信度量的自动化,为用户提供了许多方便;再次,该技术方案无需遍历终端设备中的其他应用程序,仅需对当前发出指定请求的应用程序进行可信度量即可,因此节省了大量时间,使得应用程序的可信度量更加简单高效。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一个实施例的一种应用程序的可信度量方法的示意性流程图;
图2是根据本发明具体实施例一的一种应用程序的可信度量方法的示意性流程图;
图3是根据本发明具体实施例二的一种应用程序的可信度量方法的示意性流程图;
图4是根据本发明一个实施例的一种应用程序的可信度量装置的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1是根据本发明一个实施例的一种应用程序的可信度量方法的示意性流程图。如图1所示,该方法应用于终端设备,终端设备的系统可以是Linux操作系统,且一般性地可包括以下步骤S101-S104:
步骤S101,接收到针对应用程序的指定请求。
步骤S102,调用终端设备内的系统调用接口,并利用系统调用接口拦截指定请求。
步骤S103,判断应用程序是否为可信应用程序。
步骤S104,当确定应用程序为可信应用程序时,解除对指定请求的拦截,并针对应用程序执行与指定请求对应的操作。
采用本发明实施例提供的技术方案,能够在接收到针对应用程序的指定请求时调用终端设备内的系统调用接口拦截指定请求,且仅在判定应用程序为可信应用程序时再解除对指定请求的拦截,并针对应用程序执行与指定请求对应的操作,使得该技术方案至少具有以下技术效果:首先,实现了对应用程序的可信度量功能,避免不可信的应用程序在终端设备中运行、以及真实可信的应用程序因其他因素(例如未在白名单中)而被拒接执行的情况,且为程序开发人员提供了方便;其次,能够在应用程序每次发出指定请求时都进行可信度量,相较于现有技术中按照对应用程序添加的是否可信的标签进行判断的方法而言,该技术方案能够避免应用程序被修改后按照标签判断是否可信不够准确的情况,提高了可信度量的准确度;再次,该技术方案中对应用程序的可信度量方法无需用户手动添加或修改任何文件,因此实现了应用程序可信度量的自动化,为用户提供了许多方便;再次,该技术方案无需遍历终端设备中的其他应用程序,仅需对当前发出指定请求的应用程序进行可信度量即可,因此节省了大量时间,使得应用程序的可信度量更加简单高效。
以下对上述实施例中的步骤S101-S104进行详细说明。
首先执行步骤S101,即接收到针对应用程序的指定请求。其中,指定请求可以是应用程序可能发出的任何请求,例如安装或导入请求、运行请求等。
然后执行步骤S102,即调用终端设备内的系统调用接口,并利用系统调用接口拦截指定请求。其中,系统调用接口是终端系统内核(例如Linux内核)与上层应用程序进行交互通信的唯一接口。在一个实施例中,可使用函数形式来调用系统调用接口,具体的函数调用方法为现有技术,在此不再赘述。
在拦截指定请求之后,继续执行步骤S103,即判断应用程序是否为可信应用程序。上述指出,指定请求可以是应用程序可能发出的任何请求,例如安装或导入请求、运行请求等。因此,根据指定请求的不同,判断应用程序是否为可信应用程序的方法也有所不同。以下通过不同实施例来说明如何判断应用程序是否为可信应用程序。
在一个实施例中,指定请求为安装请求(或者导入请求),此时可按照下述方式判断应用程序是否为可信应用程序:首先,调用由终端系统管理的可信计算平台的可信服务提供层TSP接口;其次,利用可信服务提供层TSP接口判断应用程序是否通过可信计算平台的可信验证机制;若是,则确定应用程序为可信应用程序;反之,若否,则确定应用程序为不可信应用程序。
该实施例中,可信验证机制包括可信计算平台对应用程序的完整性验证、身份认证中的至少一项。具体的,在对应用程序进行完整性验证时,可通过调用终端设备上安装的第三方校验工具进行完整性验证,也可以利用应用程序的自校验功能进行完整性验证。例如,通过比较哈希值来验证应用程序的完整性,即利用预设的哈希函数对应用程序的文件进行哈希值计算,并将计算得到的哈希值与初始计算的正确的哈希值进行比较,如果比较结果相同,则说明应用程序完整,如果比较结果不相同,则说明应用程序有可能已被修改,此时可确定应用程序不完整。在对应用程序进行身份认证时,可对应用程序对应的由第三方证书支持的数字签名代码进行认证,如果数字签名代码正确,则说明应用程序通过身份认证,如果数字签名代码不正确,则说明应用程序未通过身份认证。
在一个实施例中,指定请求为运行请求,此时可按照下述方式判断应用程序是否为可信应用程序:首先,获取应用程序中预先插入的度量标识,该度量标识用于表明应用程序是否被允许执行,以及从终端设备的可信存储根中获取应用程序的第二可信度量值;其次,根据获取到的度量标识及第二可信度量值判断应用程序是否为可信应用程序。其中,第二可信度量值是预先利用可信计算平台的可信度量接口计算并存储至终端设备的可信存储根中的。度量标识包括安全标识或者危险标识,当度量标识为安全标识时,表明应用程序被允许执行;当度量标识为危险标识时,表明应用程序不被允许执行。
具体的,在根据度量标识及第二可信度量值判断应用程序是否为可信应用程序时,可按照下述方法进行判断:首先,根据度量标识判断应用程序是否被允许执行;其次,若应用程序被允许执行,则调用由终端系统管理的可信计算平台的可信度量接口,并利用可信度量接口计算应用程序的第三可信度量值;再次,对比第二可信度量值和第三可信度量值,并判断对比结果是否一致;最后,若对比结果一致,则确定应用程序为可信应用程序。反之,若应用程序中获取不到度量标识(即应用程序中不包含度量标识)、或者应用程序不被允许执行、或者应用程序被允许执行但第二可信度量值和第三可信度量值的对比结果不一致时,可确定应用程序为不可信应用程序。
上述实施例中,当第二可信度量值和第三可信度量值的对比结果不一致时,还可利用第三可信度量值替换第二可信度量值并存储至终端设备的可信存储根中,使得下次判断应用程序是否为可信应用程序时能够根据更新后的第三可信度量值进行判断,从而使判断结果更加准确。
当确定应用程序为可信应用程序时,继续执行步骤S104,即解除对指定请求的拦截,并针对应用程序执行与指定请求对应的操作。该步骤中,根据指定请求的不同,针对应用程序所执行的操作也有所不同。以下分别针对不同的指定请求说明针对应用程序执行何种操作。
在一个实施例中,指定请求为安装请求(或者导入请求),此时可按照如下方式针对应用程序执行与指定请求对应的操作:首先,调用终端设备内的强制访问控制接口,利用强制访问控制接口生成用于表明应用程序被允许执行的安全标识;其次,调用可信计算平台的可信度量接口,利用可信度量接口计算应用程序的第一可信度量值;最后,将安全标识插入应用程序中,并将第一可信度量值存储至终端设备的可信存储根中。该实施例中,利用强制访问控制接口生成安全标识的步骤和利用可信度量接口计算第一可信度量值的步骤不分先后,即除上述执行方式之外,还可以先利用可信度量接口计算应用程序的第一可信度量值,然后用强制访问控制接口生成用于表明应用程序被允许执行的安全标识;还可以同时执行生成安全标示和计算第一可信度量值的步骤。
上述实施例中,由于强制访问控制接口的主要任务是用于将终端系统中的信息分密级和类进行管理,以保证每个用户只能访问到那些被标明可以由其访问的信息的一种访问约束机制,因此利用强制访问控制接口为应用程序生成安全标识,能够使应用程序的安全性更高,且能够准确判断出该应用程序是否允许当前用户安装或运行,从而提高用户使用应用程序的安全性。此外,本实施例通过将安全标识插入应用程序中以及将可信度量值存储至可信存储根中,使得该技术方案通过插桩技术即可实现对应用程序的可信度量,无需用户手动添加或修改任何文件,为用户提供了许多方便。
在一个实施例中,指定请求为运行请求,此时如果确定应用程序为可信应用程序,则可直接解除对运行请求的拦截,并运行该应用程序。
以下通过两个具体实施例来说明本发明提供的应用程序的可信度量方法。
实施例一
在具体实施例一中,指定请求为安装请求。图2是根据该实施例一示出的一种应用程序的可信度量方法的示意性流程图。如图2所示,该方法应用于Linux操作系统的终端设备,且该方法包括以下步骤S201-S209:
步骤S201,接收到针对应用程序的安装请求。
步骤S202,调用终端设备内的系统调用接口,并利用系统调用接口拦截安装请求。
步骤S203,调用由终端系统管理的可信计算平台的可信服务提供层TSP接口,并利用该TSP接口判断应用程序是否通过可信计算平台的可信验证机制;若是,则执行步骤S204;若否,则执行步骤S209。
其中,可信验证机制包括可信计算平台对应用程序的完整性验证、身份认证中的至少一项。具体的,可通过比较哈希值来验证应用程序的完整性,即利用预设的哈希函数对应用程序的文件进行哈希值计算,并将计算得到的哈希值与初始计算的正确的哈希值进行比较,如果比较结果相同,则说明应用程序完整,如果比较结果不相同,则说明应用程序有可能已被修改,此时可确定应用程序不完整。并且,可对应用程序对应的由第三方证书支持的数字签名代码进行认证,如果数字签名代码正确,则说明应用程序通过身份认证,如果数字签名代码不正确,则说明应用程序未通过身份认证。当确认应用程序完整且通过身份认证时,确定该应用程序通过可信计算平台的可信验证机制。
步骤S204,确定应用程序为可信应用程序。
步骤S205,调用终端设备内的强制访问控制接口,利用强制访问控制接口生成用于表明应用程序被允许执行的安全标识。
步骤S206,调用可信计算平台的可信度量接口,利用可信度量接口计算应用程序的第一可信度量值。
步骤S207,将安全标识插入应用程序中,并将第一可信度量值存储至终端设备的可信存储根中。
步骤S208,解除对安装请求的拦截,并安装该应用程序。
步骤S209,确定应用程序为不可信应用程序,并拒绝安装该应用程序。
该实施例一对步骤S205和步骤S206的执行顺序不作限定,即可以按照上述方法先执行步骤S205,再执行步骤S206;也可以先执行步骤S206,在执行步骤S205;还可以同时执行步骤S205和步骤S206。
实施例二
在具体实施例二中,指定请求为运行请求。图3是根据该实施例二示出的一种应用程序的可信度量方法的示意性流程图。如图3所示,该方法应用于Linux操作系统的终端设备,且该方法包括以下步骤S301-S309:
步骤S301,接收到针对应用程序的运行请求。
步骤S302,调用终端设备内的系统调用接口,并利用系统调用接口拦截运行请求。
步骤S303,获取应用程序中预先插入的度量标识,该度量标识用于表明应用程序是否被允许执行,以及从终端设备的可信存储根中获取应用程序的第二可信度量值。
其中,度量标识包括安全标识或者危险标识,当度量标识为安全标识时,表明应用程序被允许执行;当度量标识为危险标识时,表明应用程序不被允许执行。
步骤S304,根据度量标识判断应用程序是否被允许执行;若是,则执行步骤S305;若否,则执行步骤S309。
步骤S305,调用由终端系统管理的可信计算平台的可信度量接口,并利用可信度量接口计算应用程序的第三可信度量值。
步骤S306,对比第二可信度量值和第三可信度量值,并判断对比结果是否一致;若是,则执行步骤S307;若否,则执行步骤S309。
步骤S307,确定应用程序为可信应用程序。
步骤S308,解除对运行请求的拦截,并运行该应用程序。
步骤S309,确定应用程序为不可信应用程序,并拒绝运行该应用程序。
由上述实施例一和实施例二可知,本发明提供的技术方案能够在接收到针对应用程序的指定请求(安装请求或运行请求)时调用终端设备内的系统调用接口拦截指定请求,且仅在判定应用程序为可信应用程序时再解除对指定请求的拦截,并针对应用程序执行与指定请求对应的操作,使得该技术方案至少具有以下技术效果:首先,实现了对应用程序的可信度量功能,避免不可信的应用程序在终端设备中运行、以及真实可信的应用程序因其他因素(例如未在白名单中)而被拒接执行的情况,且为程序开发人员提供了方便;其次,能够在应用程序每次发出指定请求时都进行可信度量,相较于现有技术中按照对应用程序添加的是否可信的标签进行判断的方法而言,该技术方案能够避免应用程序被修改后按照标签判断是否可信不够准确的情况,提高了可信度量的准确度;再次,该技术方案中对应用程序的可信度量方法无需用户手动添加或修改任何文件,因此实现了应用程序可信度量的自动化,为用户提供了许多方便;再次,该技术方案无需遍历终端设备中的其他应用程序,仅需对当前发出指定请求的应用程序进行可信度量即可,因此节省了大量时间,使得应用程序的可信度量更加简单高效。
图4是根据本发明一个实施例的一种应用程序的可信度量装置的示意性框图。如图4所示,该装置设置于终端设备,且该装置包括:
接收模块410,适于接收到针对应用程序的指定请求;
拦截模块420,与接收模块410相耦合,适于调用终端设备内的系统调用接口,并利用系统调用接口拦截指定请求;
判断模块430,与拦截模块420相耦合,适于判断应用程序是否为可信应用程序;
执行模块440,与判断模块430相耦合,适于当确定应用程序为可信应用程序时,解除对指定请求的拦截,并针对应用程序执行与指定请求对应的操作。
在一个实施例中,指定请求为安装请求;判断模块430还适于:
调用由终端系统管理的可信计算平台的可信服务提供层TSP接口;
利用可信服务提供层TSP接口判断应用程序是否通过可信计算平台的可信验证机制,其中,可信验证机制包括可信计算平台对应用程序的完整性验证、身份认证中的至少一项;
若是,则确定应用程序为可信应用程序。
在一个实施例中,执行模块440还适于:
调用终端设备内的强制访问控制接口,利用强制访问控制接口生成用于表明应用程序被允许执行的安全标识;
调用可信计算平台的可信度量接口,利用可信度量接口计算应用程序的第一可信度量值;
将安全标识插入应用程序中,并将第一可信度量值存储至终端设备的可信存储根中。
在一个实施例中,指定请求为运行请求;判断模块430还适于:
获取应用程序中预先插入的度量标识,度量标识用于表明应用程序是否被允许执行,以及从终端设备的可信存储根中获取应用程序的第二可信度量值;
根据度量标识及第二可信度量值判断应用程序是否为可信应用程序。
在一个实施例中,判断模块430还适于:
根据度量标识判断应用程序是否被允许执行;
若是,则调用由终端系统管理的可信计算平台的可信度量接口,并利用可信度量接口计算应用程序的第三可信度量值;
对比第二可信度量值和第三可信度量值,并判断对比结果是否一致;
若是,则确定应用程序为可信应用程序。
在一个实施例中,判断模块430还适于:
当对比结果不一致时,利用第三可信度量值替换第二可信度量值。
在一个实施例中,判断模块430还适于:
当应用程序中不包含预先插入的度量标识时,确定应用程序为不可信应用程序。
在一个实施例中,终端设备的系统为Linux操作系统。
采用本发明实施例提供的装置,能够在接收到针对应用程序的指定请求时调用终端设备内的系统调用接口拦截指定请求,且仅在判定应用程序为可信应用程序时再解除对指定请求的拦截,并针对应用程序执行与指定请求对应的操作,使得该技术方案至少具有以下技术效果:首先,实现了对应用程序的可信度量功能,避免不可信的应用程序在终端设备中运行、以及真实可信的应用程序因其他因素(例如未在白名单中)而被拒接执行的情况,且为程序开发人员提供了方便;其次,能够在应用程序每次发出指定请求时都进行可信度量,相较于现有技术中按照对应用程序添加的是否可信的标签进行判断的方法而言,该技术方案能够避免应用程序被修改后按照标签判断是否可信不够准确的情况,提高了可信度量的准确度;再次,该技术方案中对应用程序的可信度量方法无需用户手动添加或修改任何文件,因此实现了应用程序可信度量的自动化,为用户提供了许多方便;再次,该技术方案无需遍历终端设备中的其他应用程序,仅需对当前发出指定请求的应用程序进行可信度量即可,因此节省了大量时间,使得应用程序的可信度量更加简单高效。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的应用程序的可信度量装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。

Claims (16)

1.一种应用程序的可信度量方法,应用于终端设备,所述方法包括:
接收到针对应用程序的指定请求;
调用所述终端设备内的系统调用接口,并利用所述系统调用接口拦截所述指定请求;
判断所述应用程序是否为可信应用程序;
当确定所述应用程序为可信应用程序时,解除对所述指定请求的拦截,并针对所述应用程序执行与所述指定请求对应的操作。
2.根据权利要求1所述的方法,其中,所述指定请求为安装请求;判断所述应用程序是否为可信应用程序,包括:
调用由终端系统管理的可信计算平台的可信服务提供层TSP接口;
利用所述可信服务提供层TSP接口判断所述应用程序是否通过所述可信计算平台的可信验证机制,其中,所述可信验证机制包括所述可信计算平台对所述应用程序的完整性验证、身份认证中的至少一项;
若是,则确定所述应用程序为可信应用程序。
3.根据权利要求2所述的方法,其中,针对所述应用程序执行与所述指定请求对应的操作,包括:
调用所述终端设备内的强制访问控制接口,利用所述强制访问控制接口生成用于表明所述应用程序被允许执行的安全标识;
调用所述可信计算平台的可信度量接口,利用所述可信度量接口计算所述应用程序的第一可信度量值;
将所述安全标识插入所述应用程序中,并将所述第一可信度量值存储至所述终端设备的可信存储根中。
4.根据权利要求1所述的方法,其中,所述指定请求为运行请求;判断所述应用程序是否为可信应用程序,包括:
获取所述应用程序中预先插入的度量标识,所述度量标识用于表明所述应用程序是否被允许执行,以及从所述终端设备的可信存储根中获取所述应用程序的第二可信度量值;
根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序。
5.根据权利要求4所述的方法,其中,根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序,包括:
根据所述度量标识判断所述应用程序是否被允许执行;
若是,则调用由终端系统管理的可信计算平台的可信度量接口,并利用所述可信度量接口计算所述应用程序的第三可信度量值;
对比所述第二可信度量值和所述第三可信度量值,并判断所述对比结果是否一致;
若是,则确定所述应用程序为可信应用程序。
6.根据权利要求5所述的方法,其中,根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序,还包括:
当所述对比结果不一致时,利用所述第三可信度量值替换所述第二可信度量值。
7.根据权利要求4-6中任一项所述的方法,其中,判断所述应用程序是否为可信应用程序,还包括:
当所述应用程序中不包含预先插入的度量标识时,确定所述应用程序为不可信应用程序。
8.根据权利要求1所述的方法,其中,所述终端设备的系统为Linux操作系统。
9.一种应用程序的可信度量装置,设置于终端设备,所述装置包括:
接收模块,适于接收到针对应用程序的指定请求;
拦截模块,适于调用所述终端设备内的系统调用接口,并利用所述系统调用接口拦截所述指定请求;
判断模块,适于判断所述应用程序是否为可信应用程序;
执行模块,适于当确定所述应用程序为可信应用程序时,解除对所述指定请求的拦截,并针对所述应用程序执行与所述指定请求对应的操作。
10.根据权利要求9所述的方法,其中,所述指定请求为安装请求;所述判断模块还适于:
调用由终端系统管理的可信计算平台的可信服务提供层TSP接口;
利用所述可信服务提供层TSP接口判断所述应用程序是否通过所述可信计算平台的可信验证机制,其中,所述可信验证机制包括所述可信计算平台对所述应用程序的完整性验证、身份认证中的至少一项;
若是,则确定所述应用程序为可信应用程序。
11.根据权利要求10所述的方法,其中,所述执行模块还适于:
调用所述终端设备内的强制访问控制接口,利用所述强制访问控制接口生成用于表明所述应用程序被允许执行的安全标识;
调用所述可信计算平台的可信度量接口,利用所述可信度量接口计算所述应用程序的第一可信度量值;
将所述安全标识插入所述应用程序中,并将所述第一可信度量值存储至所述终端设备的可信存储根中。
12.根据权利要求9所述的方法,其中,所述指定请求为运行请求;所述判断模块还适于:
获取所述应用程序中预先插入的度量标识,所述度量标识用于表明所述应用程序是否被允许执行,以及从所述终端设备的可信存储根中获取所述应用程序的第二可信度量值;
根据所述度量标识及所述第二可信度量值判断所述应用程序是否为可信应用程序。
13.根据权利要求12所述的方法,其中,所述判断模块还适于:
根据所述度量标识判断所述应用程序是否被允许执行;
若是,则调用由终端系统管理的可信计算平台的可信度量接口,并利用所述可信度量接口计算所述应用程序的第三可信度量值;
对比所述第二可信度量值和所述第三可信度量值,并判断所述对比结果是否一致;
若是,则确定所述应用程序为可信应用程序。
14.根据权利要求13所述的方法,其中,所述判断模块还适于:
当所述对比结果不一致时,利用所述第三可信度量值替换所述第二可信度量值。
15.根据权利要求12-14中任一项所述的方法,其中,所述判断模块还适于:
当所述应用程序中不包含预先插入的度量标识时,确定所述应用程序为不可信应用程序。
16.根据权利要求9所述的方法,其中,所述终端设备的系统为Linux操作系统。
CN201611155432.5A 2016-12-14 2016-12-14 应用程序的可信度量方法及装置 Pending CN106599679A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611155432.5A CN106599679A (zh) 2016-12-14 2016-12-14 应用程序的可信度量方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611155432.5A CN106599679A (zh) 2016-12-14 2016-12-14 应用程序的可信度量方法及装置

Publications (1)

Publication Number Publication Date
CN106599679A true CN106599679A (zh) 2017-04-26

Family

ID=58801281

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611155432.5A Pending CN106599679A (zh) 2016-12-14 2016-12-14 应用程序的可信度量方法及装置

Country Status (1)

Country Link
CN (1) CN106599679A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189473A (zh) * 2019-04-08 2019-08-30 全球能源互联网研究院有限公司 一种计费控制系统的可信度量认证交互方法及装置
CN111949977A (zh) * 2019-05-14 2020-11-17 阿里巴巴集团控股有限公司 一种对应用的可信监测方法、设备、系统及存储介质
CN112733149A (zh) * 2021-01-12 2021-04-30 北京旋极安辰计算科技有限公司 一种操作系统中可信静态度量策略自学习的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458743A (zh) * 2007-12-12 2009-06-17 中国长城计算机深圳股份有限公司 一种保护计算机系统安全的方法
US20110247045A1 (en) * 2010-03-30 2011-10-06 Authentic8, Inc. Disposable browsers and authentication techniques for a secure online user environment
CN102436566A (zh) * 2012-01-12 2012-05-02 冶金自动化研究设计院 一种动态可信度量方法及安全嵌入式系统
US20140258700A1 (en) * 2013-03-11 2014-09-11 Microsoft Corporation Dynamically loaded measured environment for secure code launch
CN104951708A (zh) * 2015-06-11 2015-09-30 浪潮电子信息产业股份有限公司 一种文件度量和保护的方法及装置
CN105260653A (zh) * 2015-10-20 2016-01-20 浪潮电子信息产业股份有限公司 一种基于Linux的程序安全加载方法及系统
CN105608385A (zh) * 2015-12-29 2016-05-25 南京理工大学 基于嵌入式可信计算模块的嵌入式设备可信启动方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458743A (zh) * 2007-12-12 2009-06-17 中国长城计算机深圳股份有限公司 一种保护计算机系统安全的方法
US20110247045A1 (en) * 2010-03-30 2011-10-06 Authentic8, Inc. Disposable browsers and authentication techniques for a secure online user environment
CN102436566A (zh) * 2012-01-12 2012-05-02 冶金自动化研究设计院 一种动态可信度量方法及安全嵌入式系统
US20140258700A1 (en) * 2013-03-11 2014-09-11 Microsoft Corporation Dynamically loaded measured environment for secure code launch
CN104951708A (zh) * 2015-06-11 2015-09-30 浪潮电子信息产业股份有限公司 一种文件度量和保护的方法及装置
CN105260653A (zh) * 2015-10-20 2016-01-20 浪潮电子信息产业股份有限公司 一种基于Linux的程序安全加载方法及系统
CN105608385A (zh) * 2015-12-29 2016-05-25 南京理工大学 基于嵌入式可信计算模块的嵌入式设备可信启动方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李飞 等: "《无线通信安全理论与技术》", 西安电子科技大学出版社, pages: 236 - 243 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110189473A (zh) * 2019-04-08 2019-08-30 全球能源互联网研究院有限公司 一种计费控制系统的可信度量认证交互方法及装置
CN110189473B (zh) * 2019-04-08 2021-07-06 全球能源互联网研究院有限公司 一种计费控制系统的可信度量认证交互方法及装置
CN111949977A (zh) * 2019-05-14 2020-11-17 阿里巴巴集团控股有限公司 一种对应用的可信监测方法、设备、系统及存储介质
CN111949977B (zh) * 2019-05-14 2024-02-27 阿里巴巴集团控股有限公司 一种对应用的可信监测方法、设备、系统及存储介质
CN112733149A (zh) * 2021-01-12 2021-04-30 北京旋极安辰计算科技有限公司 一种操作系统中可信静态度量策略自学习的方法

Similar Documents

Publication Publication Date Title
US11163858B2 (en) Client software attestation
US11477036B2 (en) Devices and methods for application attestation
US9064094B1 (en) Protected resource access control utilizing intermediate values of a hash chain
Paracha et al. IoTLS: understanding TLS usage in consumer IoT devices
US10659237B2 (en) System and method for verifying integrity of an electronic device
CN110866243B (zh) 登录权限校验方法、装置、服务器及存储介质
WO2011146305A2 (en) Extending an integrity measurement
US11418499B2 (en) Password security
US20200074122A1 (en) Cryptographic operation processing method, apparatus, and system, and method for building measurement for trust chain
CN109960903A (zh) 一种应用加固的方法、装置、电子设备及存储介质
CN104933366A (zh) 一种移动终端应用程序处理方法
Buhov et al. Pin it! Improving Android network security at runtime
CN106599679A (zh) 应用程序的可信度量方法及装置
US20200265135A1 (en) Protecting a software program against tampering
Luvanda et al. Identifying threats associated with man-in-the middle attacks during communications between a mobile device and the back end server in mobile banking applications
Kuchhal et al. Evaluating the Security Posture of Real-World FIDO2 Deployments
CN118300814A (zh) 一种跨平台登录方法及系统
CN105873030A (zh) 一种对终端应用进行副署签名的方法
KR20140103004A (ko) 사용자 인증 장치 및 방법
CN111245600B (zh) 基于区块链技术的鉴权认证方法和系统
CN115879087A (zh) 一种面向电力终端的安全可信启动方法及系统
CN105120460A (zh) 一种移动应用数据处理方法
CN108234399B (zh) 一种接口通信方法及终端
Ankur et al. Finding Vulnerabilities in E-Governance Apps of Android Platform
KR20150043954A (ko) 모바일 단말의 보안 엔진의 접근 제어 시스템 및 방법

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170426