一种软件基本信任机制的处理方法及相关设备与流程

文档序号:12064196阅读:302来源:国知局
一种软件基本信任机制的处理方法及相关设备与流程

本发明涉及计算机软件领域,尤其涉及一种软件基本信任机制的处理方法及相关设备。



背景技术:

随着科学技术的快速发展,越来越多的软件产品被开发和应用,软件的功能越来越多,软件的复杂性也越来越高。在软件水平快速发展的同时,软件的安全性也变得日益严重,为了保证软件的安全可靠的运行,设备需要对运行的软件进行可信性评估。同一个系统的指令是确定的,但对不同操作主体的可信度而言可能是不一样。例如,一个受侵害的系统,对于软件用户是不可信的,对于黑客是可信的。对于一般用户而言,一个可信的系统软件是目前大多数用户的主要需求。

可信计算组织(Trusted Computing Group,TCG)提出对电脑进行软硬件改造,来提升电脑系统的安全性。TCG提供了一种可信计算技术,其主要思想是在硬件平台上引入安全芯片,逐级建立信任关系。例如,通过在电脑主板上引入安全硬件模块来逐级建立基本输入输出系统(Basic Input Output System,BIOS)、主引导记录(Main Boot Record,MBR)、操作系统装载器(Operating System Loader,OS Loader)到操作系统内核的信任链,并保证信任链的安全,最后在计算机硬件系统上构建一个解决系统完整性问题的可信的工作环境。然而,TCG规范中只提供了操作系统装载器层以下的信任链传递流程,但并未给出信任链传递在操作系统内核层的具体实现方法,即没有给出如何利用可信计算技术使得操作系统内核代码不被非法篡改,保证其可信性。

现有技术中,TCG提出为应用提供可信软件栈(TCG software stack,TSS)来为应用提供安全服务。然而,TSS是一种被动调用模式,而应用被动调用TSS,并不能使用安全硬件模块提供的可信和密码服务,因此TCG没有提供保密服务。



技术实现要素:

本发明实施例提供了一种软件基本信任机制的处理方法,用于主动对软件进行可信性度量,提高了软件的可信性。

本发明第一方面提供了一种软件基本信任机制的处理方法,包括:当目标软件启动时,对目标软件进行可信性度量并生成度量结果;根据所述度量结果生成判定结果;根据所述判定结果对所述目标软件进行处理。

结合本发明实施例的第一方面,在本发明实施例第一方面的第一种实现方式中,所述对目标软件进行可信性度量并生成度量结果包括:获取目标软件的安全性信息;根据所述安全性信息对所述目标软件进行度量并生成度量结果。

结合本发明实施例第一方面的第一种实现方式,在本发明实施例第一方面的第二种实现方式中,所述根据所述安全性信息对所述目标软件进行度量并生成度量结果包括:获取预置的度量策略,所述度量策略包括需要进行度量的度量点;根据所述预置的度量策略和所述安全信息对所述目标软件进行度量并生成度量结果。

结合本发明实施例的第一方面,在本发明实施例第一方面的第三种实现方式中,所述根据所述度量结果生成判定结果包括:将所述度量结果与预置的基准信息进行对比,所述预置的基准信息包括所述度量结果中各个度量点的可信阈值;生成判定结果,所述判定结果用于指示所述度量结果中的各个度量点的值是否满足对应的可信阈值。

结合本发明实施例第一方面的第三种实现方式,在本发明实施例第一方面的第四种实现方式中,所述根据所述判定结果对所述目标软件进行处理包括:确定不满足可信阈值的度量点为不可信度量点;根据预置的对应关系确定与所述不可信度量点对应的目标处理策略,所述预置的对应关系为不可信度量点与处理策略的对应关系;根据所述目标处理策略对所述目标软件进行处理。

结合本发明实施例第一方面的第四种实现方式,在本发明实施例第一方面的第五种实现方式中,所述目标处理策略包括执行、阻止、隔离或者审计。

本发明第二方面提供了一种终端,包括:第一处理单元,当目标软件启动时,用于对目标软件进行可信性度量并生成度量结果;生成单元,用于根据所述度量结果生成判定结果;第二处理单元,用于根据所述判定结果对所述目标软件进行处理。

结合本发明实施例的第二方面,在本发明实施例第二方面的第一种实现方式中,所述第一处理单元包括:获取子单元,用于获取目标软件的安全性信息;第一处理子单元,用于根据所述安全性信息对所述目标软件进行度量并生成度量结果。

结合本发明实施例第二方面的第一种实现方式,在本发明实施例第二方面的第二种实现方式中,所述第一处理子单元包括:获取模块,用于获取预置的度量策略,所述度量策略包括需要进行度量的度量点;处理模块,用于根据所述预置的度量策略和所述安全信息对所述目标软件进行度量并生成度量结果。

结合本发明实施例的第二方面,在本发明实施例第二方面的第三种实现方式中,所述生成单元包括:对比子单元,用于将所述度量结果与预置的基准信息进行对比,所述预置的基准信息包括所述度量结果中各个度量点的可信阈值;生成子单元,用于生成判定结果,所述判定结果用于指示所述度量结果中的各个度量点的值是否满足对应的可信阈值。

结合本发明实施例第二方面的第三种实现方式,在本发明实施例第二方面的第四种实现方式中,所述第二处理单元包括:第一确定子单元,用于确定不满足可信阈值的度量点为不可信度量点;第二确定子单元,用于根据预置的对应关系确定与所述不可信度量点对应的目标处理策略,所述预置的对应关系为不可信度量点与处理策略的对应关系;第二处理子单元,用于根据所述目标处理策略对所述目标软件进行处理。

结合本发明实施例第二方面的第四种实现方式,在本发明实施例第二方面的第五种实现方式中,所述目标处理策略包括执行、阻止、隔离或者审计。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,当目标软件启动时,对目标软件进行可信性度量并生成度量结果;根据所述度量结果生成判定结果;根据所述判定结果对所述目标软件进行处理。本发明实施例通过主动对软件进行可信性度量,提高了软件的可信性。

附图说明

图1为本发明实施例的网络架构示意图;

图2为本发明实施例软件基本信任机制的处理方法一个实施例示意图;

图3为本发明实施例软件基本信任机制的处理方法另一个实施例示意图;

图4为本发明实施例终端的一个实施例示意图;

图5为本发明实施例终端的另一个实施例示意图;

图6.a为本发明实施例终端的另一个实施例示意图;

图6.b为本发明实施例终端的另一个实施例示意图。

具体实施方式

本发明实施例提供了一种软件基本信任机制的处理方法,用于主动对软件进行可信性度量,提高了软件的可信性。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例进行描述。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例可应用于如图1所示的网络架构,在该网络架构中,软件基本信任机制包括基本信任基、度量机制、判定机制、控制机制、支撑机制和可信基准库,支撑机制用于支撑基本信任基、可信基准库和其他机制的执行。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图2,本发明实施例中软件基本信任机制的处理方法一个实施例包括:

201、当目标软件启动时,对目标软件进行可信性度量并生成度量结果。

目标软件已安装在使用终端上,由可信软件基础引导模块引导系统和程序,引导操作系统内核加载和目标软件的启动。当目标软件启动时,使用终端通过基本信任机基和度量机制对目标软件的关键部件进行可信性方面的度量,并生成相应的度量结果,保证软件的启动是可信的。在目标软件系统启动过程中,基本信任基承接可信硬件的信任链,可信硬件的信任链保证系统中的硬件也是可信的。信任链跟启动目标软件无关,只是信任信息的传递通道。

需要说明的是,基本信任基是可信软件基中最基础的部件,是具备基本的度量能力和扩展支持能力的软件的最小集合。基本信任基不依赖软件基本信任机制的其它部分,也不依赖终端的基础软件,只需利用终端的常规硬件的功能就能够正常工作。

可以理解的是,度量对象包括了目标软件中的要度量的各个方面。根据预置的度量策略的不同,度量对象可以包括不同的度量点,例如,度量点可以包括系统环境度量点、进程环境度量点、文件访问控制度量点、终端控制度量点和网络通信度量点等,还可以有其他度量点,具体此处不做限定。根据不同的度量策略,度量对象包括至少一个度量点。

202、根据度量结果生成判定结果。

根据度量机制得到的度量结果,通过判定机制对该度量结果进行判定。判定的依据为预置的可信基准库。判定机制在获取到度量结果后,将度量结果中各个度量点的度量值与可信基准库中对应度量点的可信阈值进行对比,可信阈值为预先设置的参数值,可以根据实际情况进行调整设置,以满足不同的安全策略。

需要说明的是,当一个度量点不符合判定标准,例如,当进程环境度量点的可信值为80,而进程环境度量点的可信阈值为100,那么判定机制确定该进程环境度量点不符合判定标准,即目标软件的进程环境度量点没有通过度量,是不可信的度量点。可信阈值还可以是其他数值,具体此处不做限定。

可以理解的是,判定结果是对度量结果中的各个度量点进行判定,度量结果中存在一定数量的度量点,则判定结果对应包括相同数量的度量点,且度量点是完全相同的。

203、根据判定结果对目标软件进行处理。

根据生成的判定结果对目标软件进行相应的处理。通过控制机制对目标软件进行处理,处理方式可以包括执行、阻止、隔离或审计,还可以有其他的处理方式,具体此处不做限定。

需要说明的是,当处理策略主要针对系统环境度量点和进程环境度量点的度量,对于其他度量点不做要求,那么当判定机制对度量结果进行判定时,可能存在多种情况。例如,若目标软件的系统环境度量点和进程环境度量点同时满足判定标准,则确定目标软件是可信的,执行目标软件。若目标软件的系统环境度量点和进程环境度量点中的任一个度量点满足判定标准,则确定目标软件是待确认的,对目标软件进行隔离操作。若目标软件的系统环境度量点和进程环境度量点都不满足判定标准,则确定目标软件是不可信的,对目标软件进行阻止操作。

判定标准可以包括至少一个标准,可以根据不同情况做不同的设定。例如,可以添加三个条件,也可以只有一个条件。若在执行的策略中包括三个条件时,通过预先设定,例如,满足其中两个条件就进行隔离操作,所有三个条件都不满足就进行阻止操作。

可以理解的是,当度量点比较多时,还可以按照需要将度量点设置为不同的优先级,优先级高的度量点的权重系数高,优先级低的度量点权重系数低,按照预置的标准进行权重系数的评估,当权重系数大于设置的阈值时,则认为目标软件可信;当权重系数小于设置的阈值时,则认为目标软件不可信;当权重系数等于设置的阈值时,可以先将目标软件进行隔离或审计,向终端发送目标软件正在启动的提示,根据用户的操作执行相应的处理。

本发明实施例中,当目标软件启动时,对目标软件进行可信性度量并生成度量结果;根据判定结果对目标软件进行处理;根据判定结果对目标软件进行相应处理。主动对软件进行可信性度量,提高了软件的可信性。

请参阅图3,本发明实施例中软件基本信任机制的处理方法另一个实施例包括:

301、当目标软件启动时,获取目标软件的安全性信息。

目标软件已安装在使用终端上,由可信软件基础引导模块引导系统和程序,引导操作系统内核加载和目标软件的启动。当目标软件启动时,终端获取目标软件的安全性信息,该安全性信息可以包括软件属性,例如软件哈希值、版本信息或数字签名等。安全性信息还可以包括软件格式或文件存储路径等,具体此处不做限定。

302、获取预置的度量策略。

终端从数据库中获取预置的度量策略,该度量策略包括需要进行度量的度量点。预置的度量策略确定需要度量的对象,即需要度量的度量点。

需要说明的是,度量对象包括了目标软件中的要度量的各个方面。根据预置的度量策略的不同,度量对象可以包括不同的度量点,例如,度量点可以包括系统环境度量点、进程环境度量点、文件访问控制度量点、终端控制度量点和网络通信度量点等,还可以有其他度量点,具体此处不做限定。根据不同的度量策略,度量对象包括至少一个度量点。

303、根据预置的度量策略和安全信息对目标软件进行可信性度量并生成度量结果。

终端根据预置的度量策略和安全信息对目标软件的关键部件进行可信性方面的度量,并生成相应的度量结果,保证软件的启动是可信的。在目标软件系统启动过程中,基本信任基承接可信硬件的信任链,可信硬件的信任链保证系统中的硬件也是可信的。信任链跟启动目标软件无关,只是信任信息的传递通道。

需要说明的是,基本信任基是可信软件基中最基础的部件,是具备基本的度量能力和扩展支持能力的软件的最小集合。基本信任基不依赖软件基本信任机制的其它部分,也不依赖终端的基础软件,只需利用终端的常规硬件的功能就能够正常工作。

304、将度量结果与预置的基准信息进行对比。

将度量结果与预置的基准信息进行对比得到对比结果,该预置的基准信息包括度量结果中各个度量点的可信阈值。

305、根据对比结果生成判定结果。

判定机制在获取到度量结果后,将度量结果中各个度量点的度量值与可信基准库中对应度量点的可信阈值进行对比,根据对比得到的对比结果,通过判定机制对该对比结果进行判定。对比的依据为预置的可信基准库,可信阈值为预先设置在可信基准库中的参数值,该参数值可以根据实际情况进行调整设置,以满足不同的安全策略。

需要说明的是,当一个度量点不符合判定标准,例如,当文件访问控制度量点的可信值为70,而文件访问控制度量点的可信阈值为75,那么判定机制确定该文件访问控制度量点不符合判定标准,即目标软件的文件访问控制度量点没有通过度量,是不可信的度量点。可信阈值还可以是其他数值,具体此处不做限定。

可以理解的是,判定结果是对度量结果中的各个度量点进行判定,度量结果中存在一定数量的度量点,则判定结果对应包括相同数量的度量点,且度量点是完全相同的。

306、确定度量点的属性。

确定不满足可信阈值的度量点为不可信度量点,满足可信阈值的度量点为可信度量点。

307、根据预置的对应关系确定与不可信度量点对应的目标处理策略。

终端中预先设置有度量点与处理策略的对应关系,根据该对应关系确定相应的目标处理策略。处理策略可以包括至少一种处理方式,处理方式包括执行、阻止、隔离或审计,还可以有其他的处理方式,具体此处不做限定。

308、根据目标处理策略对目标软件进行处理。

根据目标处理策略对目标软件进行相应的处理。例如,当处理策略主要针对系统环境度量点和进程环境度量点的度量,对于其他度量点不做要求或要求不高,那么当判定机制对度量结果进行判定时,可能存在多种情况。若目标软件的系统环境度量点和进程环境度量点同时满足判定标准,则确定目标软件是可信的,执行目标软件。若目标软件的系统环境度量点和进程环境度量点中的任一个度量点满足判定标准,则确定目标软件是待确认的,对目标软件进行隔离操作。若目标软件的系统环境度量点和进程环境度量点都不满足判定标准,则确定目标软件是不可信的,对目标软件进行阻止操作。

可以理解的是,当度量点比较多时,还可以按照需要将度量点设置为不同的优先级,优先级高的度量点的权重系数高,优先级低的度量点权重系数低,按照预置的标准进行权重系数的评估,当权重系数大于设置的阈值时,则认为目标软件可信;当权重系数小于设置的阈值时,则认为目标软件不可信;当权重系数等于设置的阈值时,可以先将目标软件进行隔离或审计,向终端发送目标软件正在启动的提示,根据用户的操作执行相应的处理。

本发明实施例中,当目标软件启动时,获取目标软件的安全性信息;获取预置的度量策略;根据预置的度量策略和安全信息对目标软件进行可信性度量并生成度量结果;将度量结果与预置的基准信息进行对比;根据对比结果生成判定结果;确定度量点的属性;根据预置的对应关系确定与不可信度量点对应的目标处理策略;根据目标处理策略对目标软件进行处理。主动对软件进行可信性度量,提高了软件的可信性。

上面对本发明实施例中软件基本信任机制的处理方法进行了描述,下面对本发明实施例中的终端进行描述,请参阅图4,本发明实施例中的终端包括:

第一处理单元401,当目标软件启动时,用于对目标软件进行可信性度量并生成度量结果;

生成单元402,用于根据度量结果生成判定结果;

第二处理单元403,用于根据判定结果对目标软件进行处理。

本发明实施例中,当目标软件启动时,第一处理单元401对目标软件进行可信性度量并生成度量结果;生成单元402根据判定结果对目标软件进行处理;第二处理单元403根据判定结果对目标软件进行相应处理。主动对软件进行可信性度量,提高了软件的可信性。

请参阅图5,本发明实施例中终端的另一个实施例,包括:

第一处理单元401,当目标软件启动时,用于对目标软件进行可信性度量并生成度量结果;

生成单元402,用于根据度量结果生成判定结果;

第二处理单元403,用于根据判定结果对目标软件进行处理。

可选的,第一处理单元401可进一步包括:

获取子单元4011,用于获取目标软件的安全性信息;

第一处理子单元4012,用于根据安全性信息对目标软件进行度量并生成度量结果。

可选的,第一处理子单元4012可进一步包括:

获取模块40121,用于获取预置的度量策略,度量策略包括需要进行度量的度量点;

处理模块40122,用于根据预置的度量策略和安全信息对目标软件进行度量并生成度量结果。

可选的,生成单元402可进一步包括:

对比子单元4021,用于将度量结果与预置的基准信息进行对比,预置的基准信息包括度量结果中各个度量点的可信阈值;

生成子单元4022,用于生成判定结果,判定结果用于指示度量结果中的各个度量点的值是否满足对应的可信阈值。

可选的,第二处理单元403可进一步包括:

第一确定子单元4031,用于确定不满足可信阈值的度量点为不可信度量点;

第二确定子单元4032,用于根据预置的对应关系确定与不可信度量点对应的目标处理策略,预置的对应关系为不可信度量点与处理策略的对应关系;

第二处理子单元4033,用于根据目标处理策略对目标软件进行处理。

本发明实施例中,当目标软件启动时,获取子单元4011获取目标软件的安全性信息;获取模块40121获取预置的度量策略;处理模块40122根据预置的度量策略和安全信息对目标软件进行可信性度量并生成度量结果;对比子单元4021将度量结果与预置的基准信息进行对比;生成子单元4022根据对比结果生成判定结果;第一确定子单元4031确定度量点的属性;第二确定子单元4032根据预置的对应关系确定与不可信度量点对应的目标处理策略;第二处理子单元4033根据目标处理策略对目标软件进行处理。主动对软件进行可信性度量,提高了软件的可信性。

上面图4至图5从模块化功能实体的角度对本发明实施例中的终端进行详细描述,下面从硬件处理的角度对本发明实施例中的终端进行详细描述。

图6.a是本发明实施例提供的终端的结构示意框图,参考图6.a。在采用集成的单元的情况下,图6.a示出了上述实施例中所涉及的终端的一种可能的结构示意图。终端600包括:处理单元602和通信单元603。处理单元602用于对终端的动作进行控制管理,例如,处理单元602用于支持终端执行图3中的步骤301至步骤308,和/或用于本文所描述的技术的其它过程。通信单元603用于支持终端与其他网络实体的通信。终端还可以包括存储单元601,用于存储终端的程序代码和数据。

其中,处理单元602可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital Signal Processor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元603可以是通信接口、收发器、收发电路等,其中,通信接口是统称,可以包括一个或多个接口,例如收发接口。存储单元601可以是存储器。

当处理单元602为处理器,通信单元603为通信接口,存储单元601为存储器时,本发明实施例所涉及的终端可以为图6.b所示的终端。

参阅图6.b所示,该终端610包括:处理器612、通信接口613、存储器611。可选的,终端610还可以包括总线614。其中,通信接口613、处理器612以及存储器611可以通过总线614相互连接;总线614可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线614可以分为地址总线、数据总线、控制总线等。为便于表示,图6.b中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

上述图6.a或图6.b所示的终端可以是车载终端或手持终端等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1