掌桥专利:专业的专利平台
掌桥专利
首页

基于可信根动态度量确定应用程序可信状态的方法、装置及相关产品

文献发布时间:2023-06-19 09:24:30


基于可信根动态度量确定应用程序可信状态的方法、装置及相关产品

技术领域

本申请涉及区块链技术领域,特别是涉及一种基于可信根动态度量确定应用程序可信状态的方法、装置及相关产品。

背景技术

现有技术中,在对区块链节点进行可信判断时,主要判断安装在区块链节点上的操作系统是否可信,其具体的过程为:在区块链节点上电的过程中但操作系统还没有启动之前,先后对BIOS、OS loader、OS按照先后顺序分别进行可信判断以及可信判断控制权的传递,如果最后判断出OS可信,则启动操作系统。

但是,从安全的角度来说,对于区块链节点来说,操作系统仅仅是影响其安全性的一个因素,在操作系统启动运行之后,区块链节点上还会运行大量的应用程序,这些应用程序是否可信,往往也会影响区块链节点的安全,尤其处于互联网时代,区块链节点处于整个互联网环境中,实际上应用程序是否可信就会遇到很大的挑战。

为此,亟待提供一种解决方案,以确定出应用程序的可信状态。

发明内容

基于上述问题,本申请实施例提供了一种基于可信根动态度量确定应用程序可信状态的方法、装置及相关产品。

本申请实施例公开了如下技术方案:

一种基于可信根动态度量确定应用程序可信状态的方法,其包括:

确定区块链节点的操作系统的可信根度量;

如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;

在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在本申请的一实施例中,在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改之前还包括:

在将所述应用程序加载到所述操作系统上时,提取所述应用程序的核心文件以及所述核心文件的标准完整性数据,并计算所述完整性数据对应的标准可信度量摘要值;

所述在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态包括:

通过构建的可信执行环境,确定所述所述应用程序的启动执行事件;

在所述启动执行事件的触发下,提取所述应用程序的实时完整性数据,并计算所述实时完整性数据的实时可信度量摘要值;

根据所述实时可信度量摘要值以及标准可信度量摘要值,确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在本申请的一实施例中,所述通过构建的可信执行环境,确定所述所述应用程序的启动执行事件,包括:通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件。

可选地,在本申请的一实施例中,所述通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件,包括:

所述通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控;

根据监控到进程创建事件,生成拦截请求;

在所述拦截请求的触发下,对所述所述应用程序的启动执行事件进行拦截。

可选地,在本申请的一实施例中,所述通过构建的可信执行环境,确定所述所述应用程序的启动执行事件,之前还包括:将可信执行环境挂钩到操作系统中的进程创建函数;

所述通过构建的可信执行环境,确定所述所述应用程序的启动执行事件,包括:通过挂钩到操作系统中的进程创建函数的可信执行环境,确定所述所述应用程序的启动执行事件。

可选地,在本申请的一实施例中,所述核心文件包括可执行文件以及动态库文件。

可选地,在本申请的一实施例中,在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改,之后包括:若确定出所述应用程序被篡改,则禁止所述应用程序运行;否则,允许所述所述应用程序运行。

可选地,在本申请的一实施例中,在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改,之前包括:对所述标准完整性数据进行备份;

在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改,之后还包括:利用备份的所述标准完整性数据对被篡改的所述应用程序进行修复。

一种基于可信根动态度量确定应用程序可信状态的装置,其包括:

可信根度量确定模块,用于确定区块链节点的操作系统的可信根度量;

控制权传递模块,用于当根据所述可信根度量确定出所述操作系统可信时将可信判断控制权传递给应用程序;

判断模块,用于在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在本申请的一实施例中,还包括:

提取模块,用于在将所述应用程序加载到所述操作系统上时,提取所述应用程序的核心文件以及所述核心文件的标准完整性数据;

计算模块,用于计算所述完整性数据对应的标准可信度量摘要值;

所述判断模块包括:

事件确定单元,用于通过构建的可信执行环境,确定所述所述应用程序的启动执行事件;

统计单元,用于在所述启动执行事件的触发下,提取所述应用程序的实时完整性数据,并计算所述实时完整性数据的实时可信度量摘要值;

判断单元,用于根据所述实时可信度量摘要值以及标准可信度量摘要值,确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在本申请的一实施例中,所述事件确定单元包括:

监控子单元,用于通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控;

事件确定子单元,用于根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件。

可选地,在本申请的一实施例中,所述监控子单元进一步用于通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,并根据监控到进程创建事件,生成拦截请求,以及在所述拦截请求的触发下,对所述所述应用程序的启动执行事件进行拦截。

可选地,在本申请的一实施例中,还包括:挂钩模块,用于将可信执行环境挂钩到操作系统中的进程创建函数;

所述事件确定单元进一步用于通过挂钩到操作系统中的进程创建函数的可信执行环境,确定所述所述应用程序的启动执行事件。

可选地,在本申请的一实施例中,所述核心文件包括可执行文件以及动态库文件。

可选地,在本申请的一实施例中,还包括:禁止模块,用于在确定出所述应用程序被篡改时禁止所述应用程序运行;否则,允许所述所述应用程序运行。

可选地,在本申请的一实施例中,还包括:

备份模块,用于对所述标准完整性数据进行备份;

修复模块,用于利用备份的所述标准完整性数据对被篡改的所述应用程序进行修复。

一种计算机存储介质,所述计算机存储介质上存储有被执行时执行任一项权利要求所述方法的可执行程序。

一种电子设备,其包括可信计算模块,所述可信计算模块包括,所述存储器上存储有可执行程序,所述处理器运行所述可执行程序时执行如下步骤:

确定区块链节点的操作系统的可信根度量;

如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;

在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在本申请的一实施例中,所述处理器在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改之前,还用于执行如下步骤:

在将所述应用程序加载到所述操作系统上时,提取所述应用程序的核心文件以及所述核心文件的标准完整性数据,并计算所述完整性数据对应的标准可信度量摘要值;

所述在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态包括:

通过构建的可信执行环境,确定所述所述应用程序的启动执行事件;

在所述启动执行事件的触发下,提取所述应用程序的实时完整性数据,并计算所述实时完整性数据的实时可信度量摘要值;

根据所述实时可信度量摘要值以及标准可信度量摘要值,确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在本申请的一实施例中,所述处理器执行通过构建的可信执行环境,确定所述所述应用程序的启动执行事件的步骤包括:通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件。

可选地,在本申请的一实施例中,所述处理器在执行通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件的步骤包括:

所述通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控;

根据监控到进程创建事件,生成拦截请求;

在所述拦截请求的触发下,对所述所述应用程序的启动执行事件进行拦截。

可选地,在本申请的一实施例中,所述处理器在执行通过构建的可信执行环境,确定所述所述应用程序的启动执行事件步骤,之前还用于将可信执行环境挂钩到操作系统中的进程创建函数;

所述处理器执行通过构建的可信执行环境,确定所述所述应用程序的启动执行事件的步骤包括:通过挂钩到操作系统中的进程创建函数的可信执行环境,确定所述所述应用程序的启动执行事件。

可选地,在本申请的一实施例中,所述核心文件包括可执行文件以及动态库文件。

可选地,在本申请的一实施例中,所述处理器执行在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改的步骤,之后还用于若确定出所述应用程序被篡改,则禁止所述应用程序运行;否则,允许所述所述应用程序运行。

可选地,在本申请的一实施例中,所述处理器执行在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改的步骤,之前还用于对所述标准完整性数据进行备份;

所述处理器执行在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改的步骤之后还用于利用备份的所述标准完整性数据对被篡改的所述应用程序进行修复。

本申请实施例的技术方案中,通过确定区块链节点的操作系统的可信根度量;如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改,从而提供了一种可确定出应用程序可信状态的方案,实现了对应用程序可信状态的确定,从而可实现对区块链节点的可信做出全面的评估。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中基于可信根动态度量确定应用程序可信状态的方法的流程示意图;

图2为本申请实施例中根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态的流程示意图;

图3为本申请实施例中确定所述所述应用程序的启动执行事件的流程示意图;

图4为本申请实施例中基于可信根动态度量确定应用程序可信状态的方法的流程示意图;

图5为本申请实施例中基于可信根动态度量确定应用程序可信状态的方法的流程示意图;

图6为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;

图7为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;

图8为本申请实施例中事件确定单元的结构示意图;

图9为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;

图10为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;

图11为本申请实施例中电子设备的结构示意图;

图12为本申请实施例中电子设备的硬件结构示意图。

具体实施方式

实施本申请实施例的任一技术方案必不一定需要同时达到以上的所有优点。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本申请实施例中基于可信根动态度量确定应用程序可信状态的方法的流程示意图;如图1所示,其包括:

S101、确定区块链节点的操作系统的可信根度量;

本实施例中,区块链节点可能属于专用电脑、以太网(Ethernet)交换机、接入点(access point)或网络访问服务器。

本实施例中,操作系统不做特别限定,可以是windows系统,linux系统等等。

本实施例中,可以基于静态可信度量计算区块链节点的操作系统的可信根度量。具体地,在区块链节点上配置有可信度量模块作为可信根,首先对该可信度量进行可信度量得到可信跟度量,通过该可信根度量得知可信根可信的话,则对该BIOS进行可信度量得到可信根度量,通过该可信跟度量得知BIOS可信的话,则对OS loader进行可信度量得到可信根度量,通过该该可信跟度量得知BIOS 可信的话,则对该OS进行可信度量得到可信根度量,通过该可信跟度量得知OS 可信的话,则确定操作系统可信,并启动操作系统,从而准确地评估出操作系统的可信状态。

具体地,在上述进行可信度量得到可信根度量过程中,是对使用到的代码的运行过程进行监控,确定其中函数的跳转关系等等是否按照预定的跳转关系执行。

进一步地,可以对使用到的代码进行哈希运算得到哈希值,再与代码按照预定跳转关系执行时进行哈希运算得到的哈希值进行比对,如果完全相同或者差异在可接收的范围内,则生成可信的结论,从而准确地评估出操作系统的可信状态。

本实施例中,上述步骤S101执行于操作系统的内核态,以在内核中执行上述步骤S101,从而保证了步骤S101处理过程的安全性。

可替代,在其他实施例中,也可以配置一个可信信息收集代理服务模块,比如虚拟机监视器,分别收集BIOS、OS Loader、OS的运行信息,并计算BIOS、 OS Loader、OS的可信跟度量,如果通过可信跟度量表明BIOS、OS Loader、OS 均可信,则启动操作系统,否则,不启动操作系统。通过这样非链式的方式避免了对信任链的依赖,也就无须信任关系的传递,快速地确定出了操作系统是否可信。

S102、如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;

本实施例中,考虑到应用程序的运行需要利用操作系统的资源,由此,只有在操作系统可信的基础上,即确定出所述操作系统可信时,再将可信判断控制权传递给应用程序,从而实现应用程序可信状态的准确判断,避免了错误的确定出应用程序的可信状态,比如应用程序实际上可信,但是却误判断为不可信,或者,应用程序不可信,却误判断出可信。

S103、在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

具体地,图2为本申请实施例中根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态的流程示意图;如图2所示,在步骤S103 之前还包括:在将所述应用程序加载到所述操作系统上时,提取所述应用程序的核心文件以及所述核心文件的标准完整性数据,并计算所述完整性数据对应的标准可信度量摘要值。

为此,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态可以包括如下步骤:

S113、通过构建的可信执行环境,确定所述所述应用程序的启动执行事件;

具体地,步骤S113中通过构建的可信执行环境,确定所述所述应用程序的启动执行事件时,可以通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件。

S123、在所述启动执行事件的触发下,提取所述应用程序的实时完整性数据,并计算所述实时完整性数据的实时可信度量摘要值;

本实施例,对所述完整性数据进行哈希运算得到实时可信度量摘要值。

S133、根据所述实时可信度量摘要值以及标准可信度量摘要值,确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

本实施例中,所述核心文件包括可执行文件以及动态库文件。本实施例,首先对可执行文件的完整性数据进行哈希运算得到实时可信度量摘要值,并与可执行文件正常运行时的完整数据所对应的标准可信度量摘要值进行比对,如果一致,则所述可执行文件可信;将可信判断的控制权传递给动态库文件,对动态库文件的完整性数据进行哈希运算得到实时可信度量摘要值,并与动态库文件正常运行时的完整数据所对应的标准可信度量摘要值进行比对,如果一致,则所述动态库可信。如果可执行文件以及动态库文件中有一个不可信,则可确定应用程序不可信,只有可执行文件以及动态库文件均可信,则可确定应用程序可信,即没有被篡改,否则,则确定应用程序不可信,即已被篡改。

本实施例中,如果所述实时可信度量摘要值与标准可信度量摘要值一致,则表明所述应用程序完全可信,所述实时可信度量摘要值离标准可信度量摘要值越远,表明所述应用程序不可信的程度越大,可信的程度越小。

为此,可以设置一个可信阈值,如果所述实时可信度量摘要值与标准可信度量摘要值的距离超过该可信阈值,则表明应用程序不可信。对于所述实时可信度量摘要值与标准可信度量摘要值的距离不超过该可信阈值的情形,可以根据距离的远近,设置可信的级别,比如:完全可信,基本可信等等。

图3为本申请实施例中确定所述所述应用程序的启动执行事件的流程示意图;如图3所示,包括:

S1131、通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控;

本实施例中,可以通过对操作系统的PE文件解析从而实现对对所述操作系统中的进程创建事件进行监控。

S1132、根据监控到进程创建事件,生成拦截请求;

S1133、在所述拦截请求的触发下,对所述所述应用程序的启动执行事件进行拦截。

本实施例中,在所述拦截请求的触发下首先确定出所述应用程序的路径信息,根据所述路径信息对所述所述应用程序的启动执行事件进行拦截,从而实现了准确且快速地拦截。

本实施例中,具体可以调用操作系统中的zwcreateprocess函数对所述所述应用程序的启动执行事件进行拦截。

可替代地,在其他实施例中,所述通过构建的可信执行环境,确定所述所述应用程序的启动执行事件,之前还包括:将可信执行环境挂钩到操作系统中的进程创建函数;为此,所述通过构建的可信执行环境,确定所述所述应用程序的启动执行事件可以具体包括:通过挂钩到操作系统中的进程创建函数的可信执行环境,确定所述所述应用程序的启动执行事件。

本实施例中,具体可通过修改系统的内核,从而依赖于HOOK的内核钩子将将可信执行环境挂钩到操作系统中的进程创建函数比如zwCreateprocessEX函数。

图4为本申请实施例中基于可信根动态度量确定应用程序可信状态的方法的流程示意图;如图4所示,其包括:

S401、确定区块链节点的操作系统的可信根度量;

S402、如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;

S403、在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

本实施例中,步骤S401-S403可参见类似上述实施例记载,在此不再赘述。

S404、若确定出所述应用程序被篡改,则禁止所述应用程序运行;

S405、若确定出所述应用程序未被篡改,则允许所述所述应用程序运行。

图5为本申请实施例中基于可信根动态度量确定应用程序可信状态的方法的流程示意图;如图5所示,其包括:

S501、确定区块链节点的操作系统的可信根度量;

S502、如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;

S503、对应用程序正常运行时的标准完整性数据进行备份;

S504、在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

S505、若所述应用程序不可信,则利用备份的所述标准完整性数据对被篡改的所述应用程序进行修复。

本实施例中,当确定出应用程序不可信,则首先对其隔离,之后再利用备份的所述标准完整性数据对被篡改的所述应用程序进行修复,从而提高了安全性。

图6为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;如图6所示,其包括:

可信根度量确定模块601,用于确定区块链节点的操作系统的可信根度量;

控制权传递模块602,用于当根据所述可信根度量确定出所述操作系统可信时将可信判断控制权传递给应用程序;

判断模块603,用于在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

图7为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;如图7所示,其包括:

可信根度量确定模块701,用于确定区块链节点的操作系统的可信根度量;

控制权传递模块702,用于当根据所述可信根度量确定出所述操作系统可信时将可信判断控制权传递给应用程序;

提取模块704,用于在将所述应用程序加载到所述操作系统上时,提取所述应用程序的核心文件以及所述核心文件的标准完整性数据;

计算模块705,用于计算所述完整性数据对应的标准可信度量摘要值;

所述判断模块703包括:

事件确定单元713,用于通过构建的可信执行环境,确定所述所述应用程序的启动执行事件;

统计单元723,用于在所述启动执行事件的触发下,提取所述应用程序的实时完整性数据,并计算所述实时完整性数据的实时可信度量摘要值;

判断单元733,用于根据所述实时可信度量摘要值以及标准可信度量摘要值,确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

图8为本申请实施例中事件确定单元的结构示意图;如图8所示,其包括:

监控子单元7131,用于通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控;

事件确定子单元7132,用于根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件。

进一步地,本实施例中,所述监控子单元7131进一步用于通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,并根据监控到进程创建事件,生成拦截请求,以及在所述拦截请求的触发下,对所述所述应用程序的启动执行事件进行拦截。

图9为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;如图9所示,在上述图7实施例的基础上,还包括:挂钩模块706,用于将可信执行环境挂钩到操作系统中的进程创建函数;

所述事件确定单元713进一步用于通过挂钩到操作系统中的进程创建函数的可信执行环境,确定所述所述应用程序的启动执行事件。

进一步地,在一实施例中,还可以包括:禁止模块,用于在确定出所述应用程序被篡改时禁止所述应用程序运行;否则,允许所述所述应用程序运行。

图10为本申请实施例中基于可信根动态度量确定应用程序可信状态的装置结构示意图;如图10所示,所述装置包括:

可信根度量确定模块1001,用于确定区块链节点的操作系统的可信根度量;

控制权传递模块1002,用于当根据所述可信根度量确定出所述操作系统可信时将可信判断控制权传递给应用程序;

判断模块1003,用于在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

备份模块1004,用于对所述应用程序正常运行时的标准完整性数据进行备份;

修复模块1005,用于在确定出应用程序不可信时利用备份的所述标准完整性数据对被篡改的所述应用程序进行修复。

本申请实施例还提供一种计算机存储介质,所述计算机存储介质上存储有被执行时执行任一项权利要求所述方法的可执行程序。

图11为本申请实施例中电子设备的结构示意图;如图11所示,其包括可信计算模块,所述可信计算模块包括存储器以及处理器,所述存储器上存储有可执行程序,所述处理器运行所述可执行程序时执行如下步骤:

确定区块链节点的操作系统的可信根度量;

如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;

在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

确定区块链节点的操作系统的可信根度量;

如果根据所述可信根度量确定出所述操作系统可信,则将可信判断控制权传递给应用程序;

在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在一实施例中,所述处理器在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改之前,还用于执行如下步骤:

在将所述应用程序加载到所述操作系统上时,提取所述应用程序的核心文件以及所述核心文件的标准完整性数据,并计算所述完整性数据对应的标准可信度量摘要值;

所述在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态包括:

通过构建的可信执行环境,确定所述所述应用程序的启动执行事件;

在所述启动执行事件的触发下,提取所述应用程序的实时完整性数据,并计算所述实时完整性数据的实时可信度量摘要值;

根据所述实时可信度量摘要值以及标准可信度量摘要值,确定所述应用程序的可信状态,以确定所述应用程序是否被篡改。

可选地,在一实施例中,所述处理器执行通过构建的可信执行环境,确定所述所述应用程序的启动执行事件的步骤包括:通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件。

可选地,在一实施例中,所述处理器在执行通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控,根据监控的到进程创建事件,确定所述所述应用程序的启动执行事件的步骤包括:

所述通过构建的可信执行环境对所述操作系统中的进程创建事件进行监控;

根据监控到进程创建事件,生成拦截请求;

在所述拦截请求的触发下,对所述所述应用程序的启动执行事件进行拦截。

可选地,在一实施例中,所述处理器在执行通过构建的可信执行环境,确定所述所述应用程序的启动执行事件步骤,之前还用于将可信执行环境挂钩到操作系统中的进程创建函数;

所述处理器执行通过构建的可信执行环境,确定所述所述应用程序的启动执行事件的步骤包括:通过挂钩到操作系统中的进程创建函数的可信执行环境,确定所述所述应用程序的启动执行事件。

可选地,在一实施例中,所述核心文件包括可执行文件以及动态库文件。

可选地,在一实施例中,所述处理器执行在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改的步骤,之后还用于若确定出所述应用程序被篡改,则禁止所述应用程序运行;否则,允许所述所述应用程序运行。

可选地,在一实施例中,所述处理器执行在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改的步骤,之前还用于对所述标准完整性数据进行备份;

所述处理器执行在所述可信判断控制权的触发下,根据设定的可信状态确定机制在构建的可信执行环境确定所述应用程序的可信状态,以确定所述应用程序是否被篡改的步骤之后还用于利用备份的所述标准完整性数据对被篡改的所述应用程序进行修复。

图12为本申请实施例中电子设备的硬件结构示意图;如图12所示,该电子设备的硬件结构可以包括:处理器1201,通信接口1202,计算机可读介质1203 和通信总线1204;

其中,处理器1201、通信接口1202、计算机可读介质1203通过通信总线1204完成相互间的通信;

可选的,通信接口1202可以为通信模块的接口,如GSM模块的接口;

其中,处理器1201具体可以配置为运行存储器上存储的可执行程序,从而执行上述任一方法实施例的所有处理步骤或者其中部分处理步骤。

处理器1201可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

本申请实施例的电子设备以多种形式存在,包括但不限于:

(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。

(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。

(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。

(4)服务器:提供计算服务的设备,服务器的构成包括处理器710、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。

(5)其他具有数据交互功能的电子装置。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块提示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

相关技术
  • 基于可信根动态度量确定应用程序可信状态的方法、装置及相关产品
  • 基于可信根度量进行应用程序的行为权限分配方法、装置及相关产品
技术分类

06120112150836