一种计算机可信认证系统、方法、设备及可读存储介质与流程

文档序号:26103307发布日期:2021-07-30 18:14阅读:95来源:国知局
一种计算机可信认证系统、方法、设备及可读存储介质与流程

本发明属于安全认证技术领域,涉及一种计算机可信认证系统、方法、设备及可读存储介质。



背景技术:

可信pc基于处理器平台,融合可信计算技术,对pc机的各种rom(例如bios等)、各种硬件环境(例如处理器,内存,磁盘,pcie设备等)、操作系统内核及相关配置文件以及运行的软件等进行完整性保护,防止被非法篡改;通过白名单技术,阻止未知程序的执行,可以有效抵御木马、病毒等非法程序的执行;另外还可以通过对应用程序的安装实行签名验签机制阻止来路不明的程序的安装,只有通过正规渠道签名后的程序才允许安装,可以有效阻止在办公pc上安装各种非必要软件,保证办公环境的安全、可信、可靠。

关键信息基础设施行业pc替代的时候优先考虑化,同时根据合规性要求,应用可信计算技术。可信计算是一种旨在增强计算机系统可信性的综合性信息安全技术。

可信计算的基本思想是:在计算机系统中,首先构建一个信任根,从信任根开始到硬件平台、到操作系统、再到应用,一级度量一级,一级信任一级,把这种信任扩展到整个计算机系统,并采取防护措施,确保计算资源的数据完整性和行为的预期性,从而确保整个计算机系统的可信。

国际可信计算组织(trustedcomputinggroup,tcg)用实体行为的预期性来定义可信:一个实体是可信的,如果它的行为总是以预期的方式达到预期的目标。tcg认为可信性主要是安全性。

在各种信息安全措施中,硬件系统的安全和操作系统的安全是信息系统安全的基础,密码技术、网络安全技术等是关键技术;现在的技术趋势是软件定义一切,但软件是运行在硬件之上,只有从软硬件底层做起,综合采取措施,才能比较有效地解决信息系统安全问题。

可信计算是一种运算和防护并存主动免疫的新计算模式,可信计算安全的起点、基础以及强度相比传统安全技术有本质的区别,可信计算基于硬件密码芯片,从平台加电开始,到应用程序执行,构建完整的信任链,逐级认证,未获认证的程序不能执行,从而使信息系统实现自身免疫,构建起高安全等级的主动防御体系。

pc用于个人办公使用,使用的随意性较大,个人安全防护能力和意识较弱,在使用过程中会频繁启动(每天一次),由于个人喜好,喜欢安装一些非工作必须软件,并且喜欢浏览一些非正规网站或者通过邮件打开一些来路不明的附件等,导致pc机很容易成为攻击者的跳板被挟持,从而通过个人pc机入侵单位办公网络,给单位带来无法预知的损失。



技术实现要素:

本发明的目的在于解决现有技术中的问题,提供一种计算机可信认证系统、方法、设备及可读存储介质。

为达到上述目的,本发明采用以下技术方案予以实现:

一种计算机可信认证方法,包括以下步骤:

对bios固件进行验证签名,若验证签名通过,继续启动操作系统;否则,进行告警,并中止操作系统启动,反馈至终端,由用户决定是否继续系统的启动;

对计算机中的各种固件及硬件进行可信度量验证,若可信度量验证通过,继续启动操作系统;否则,进行告警,并中止系统启动,反馈至终端,由用户决定是否继续系统的启动;

对grub进行可信度量验证,若可信度量验证通过,启动操作系统;否则,进行告警,并中止系统启动,反馈至终端,由用户决定是否继续系统的启动;

构建可信基准库;

根据可信基准库判断文件的可信状态,若是可信的,允许对文件的访问;否则,表示文件已被篡改,阻止对文件的访问。

本发明进一步的改进在于:

所述对bios固件进行验证签名的具体方法如下:

处理器在加电启动时,调用bios固件验签功能,利用内置的公钥证书对bios固件进行验签,验签通过时,计算bios固件的摘要值,将其扩展到寄存器pcr0中,并将控制权转交给bios,验签不通过时终止控制权的转交,并进行告警。

所述对grub进行可信度量验证的具体方法如下:

grub在将控制权转交给内核之前,计算grub的配置文件grub.cfg、内核文件vmlinuz和初始盘文件initramfs计算摘要值;

对可信验证对象的可信状态进行验证。

所述摘要值的计算方法如下:

首先计算对象的摘要值,获得一个32位的hash值;

将获得的32位hash值作为输入,使用摘要算法对输入的32位hash值再次计算,得到一个新的摘要值;

将新的摘要值扩展到pcr中,作为对象的度量值;

将度量的日志信息写入到日志存储nv中,日志信息包括时间、度量对象、度量对象的hash值。

所述对可信状态进行验证的具体方法如下:

从nv存储区中读取基准值信息;

从pcr中读取出对应的摘要值信息;

比较基准值信息和摘要值信息,并将比较信息写入到日志存储nv中,日志信息包括时间、可信验证对象、可信验证对象的基准值、可信验证对象的度量值以及可信状态;

如果比较的结果一致,则表示可信验证对象没有被篡改,是可信的,允许系统继续启动;否则,表示可信验证对象被篡改了,验证不可信,阻止系统启动,并在终端提示用户,等待用户的决定;

如果用户输入继续系统启动的指令后,继续后续启动,否则不做任何处理。

所述构建可信基准库的具体方法如下:

计算文件的摘要值hash1;

计算文件绝对路径的摘要值hash2;

摘要值hash1和摘要值hash2连接后得到摘要值hash3,hash3=(hash1+hash2);

将摘要值hash3作为输入,使用硬件算法sm3计算摘要值得到摘要值hash4;

将摘要值hash4作为文件的基准值写入到文件的扩展属性中,同时写入文件名、文件的修改时间。

所述判断文件可信状态的具体方法如下:

获取文件的修改时间time1;

获取文件扩展属性中存储的文件的基准修改时间time2;

比较修改时间time1和修改时间time2,如果相等,则表示文件没有被篡改,文件是可信的允许,如果不相等,则表示文件可能被篡改,需要计算文件的摘要值来判断文件的可信状态;

通过和基准库构建过程同样的算法计算文件的摘要值hash5;

从文件的扩展属性中读取摘要值hash4;

比较基准值信息hash4和摘要值hash5,如果结果相同,则表示文件没有被篡改,是可信的,允许对文件的访问,如果结果不同,则表示文件被篡改,文件不可信,阻止对文件的访问。

一种计算机可信认证系统,包括:

处理器,所述处理器对bios固件进行验证签名,若验证签名通过,继续启动操作系统;否则,进行告警,并中止系统启动,反馈至终端,由用户决定是否继续系统的启动;

可信bios,所述可信bios用于对计算机中的各种固件及硬件进行可信度量验证,若可信度量验证通过,继续启动操作系统;否则,进行告警,并中止系统启动,反馈至终端,由用户决定是否继续系统的启动;

可信grub,所述可信grub用于对grub进行可信度量验证,若可信度量验证通过,启动操作系统;否则,进行告警,并中止系统启动,反馈至终端,由用户决定是否继续系统的启动;

可信验证模块,所述可信验证模块集成与操作系统内,用于根据根据可信基准库判断文件的可信状态,若是可信的,允许对文件的访问;否则,表示文件已被篡改,阻止对文件的访问。

一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。

一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。

与现有技术相比,本发明具有以下有益效果:

本发明可以从底层硬件开始到操作系统启动,再到实际软件的运行等保证可信pc设备的软硬件环境始终处于一个安全可信的状态,系统中不会安装未经授权的软件,非法程序、木马病毒等无法执行,可以有效保障办公环境的安全。本发明可信计算对于“震网”、“火焰”、“心脏滴血”、apt攻击、0day攻击、供应链攻击等一批新型网络攻击武器及攻击方式具有突出的优越性和强大的防御能力。

本发明将可信计算技术纳入到系统的整体安全上,基于平台的可信pc能够保障pc在使用过程中的软硬件的完整性、攻击者无法通过刷新rom、更换配件、替换操作系统、植入木马等手段来达到攻击的目录,使可信pc始终运行在一个安全可信的环境下。

附图说明

为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为可信pc操作系统可信启动验证流程图;

图2为可信pc应用程序可信验证流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。

在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

下面结合附图对本发明做进一步详细描述:

参见图1和图2,本发明实施例公开了一种计算机可信认证系统,包括处理器、可信bios、可信计算模块以及可信验证模块。

处理器作为可信计算根,构建可信链;处理器具备可信启动功能,即要求处理器作为可信根,内置要度量验证的bios的签名信息,在系统加电启动时,处理器首先获得控制权,对bios固件进行验证签名,验证签名不通过时进行告警,并中止系统启动,并在终端提示后,由用户决定是否继续系统的启动,用户确认允许系统启动后,则继续系统的后续启动。验证签名通过后,计算bios固件的hash值,将其扩展到可信计算模块对应的pcr0中,作为可信链的第一级。

处理器验证bios签名信息的具体方法如下:

步骤1-1,由bios厂商通过其私钥对bios的固件进行签名,并将签名用证书以及签名信息提交给处理器厂商;

步骤1-2,处理器厂商在出厂初始化时,将bios厂商的公钥证书及签名信息导入到处理器中;

步骤1-3,处理器在加电启动时,调用bios固件验签功能,利用内置的公钥证书对bios固件进行验签,验签通过时,计算bios固件的摘要值,将其扩展到可信计算模块的平台配置寄存器pcr0中,并将控制权转交给bios,验签不通过时终止控制权的转交,并进行告警。

可信bios支持可信度量验证功能;可信bios内置对可信pc平台中的各种固件及硬件进行可信度量验证的功能模块。可信bios进行可信度量验证的具体方法如下:

步骤2-1,bios获得控制权后,对包括处理器、内存、显卡、硬盘、pcie设备、启动分区等进行自检,并在自检的过程中计算这些设备的摘要值;

步骤2-2,将摘要值扩展到可信计算模块的平台配置寄存器的pcr1~pcr7中,作为可信链的第二级。

步骤2-3,与基准库中的基准摘要值进行比对,如果不一致则中止系统启动,并在终端提示用户有验证不可信的对象,由用户决定是否继续系统的启动,用户输入”y”后即表示接受并同意该不可信状态、允许系统继续启动,否则不做任何处理。

可信计算模块可以支持tcm1.0或者tpm2.0标准;可信计算模块可以贴片到pc主板中,也可以在主板上预留接口,通过模块的方式插装使用,可信计算模块可以连接到spi、lpc或者pcie总线上,提供灵活的多形式的接入方式。

可信grub,可信grub可以对引导程序、操作系内核及相关配置进行可信验证,验证不可信时中止系统启动;可信grub的可信度量及验证功能以grub模块的形式安装到系统中,并通过grub的配置文件grub.cfg来配置启动,grub启动过程中首先解析配置文件grub.cfg,加载可信验证模块对操作系统内核、虚拟文件系统、各个启动模块进行度量验证,并将度量结果扩展到可信验证模块的pcr8~pcr11中,作为可信链的第三级。可信grub的具体验证方法如下:

步骤3-1,grub在将控制权转交给内核之前,计算grub的配置文件grub.cfg、内核文件vmlinuz和初始盘文件initramfs计算摘要值;摘要值的计算方法如下:

1)首先使用软件sha256算法计算对象的摘要值,获得一个32位的hash值;

2)将获得的32位hash值作为输入然后使用可信计算模块的硬件sm3摘要算法对输入的32位摘要值再次计算得到一个新的摘要值;

3)将该摘要值扩展到可信计算模块的pcr中,作为对象的度量值;并将度量的日志信息写入到日志存储nv中,日志信息包括时间、度量对象、度量对象的hash值。

步骤3-2,对可信验证对象的可信状态进行验证,验证方法如下:

1)从可信计算模块的nv存储区中读取出基准值信息;

2)从pcr中读取出对应的摘要值信息;

3)比较基准值信息和摘要值信息,并将比较信息写入到日志存储nv中,日志信息包括时间、可信验证对象、可信验证对象的基准值、可信验证对象的度量值以及可信状态(trusted/untrusted);

4)如果比较的结果一致,则表示可信验证对象没有被篡改,是可信的,允许系统继续启动,如果比较的结果不一致,则表示可信验证对象被篡改了,验证不可信,阻止系统启动,并在终端提示用户,等待用户的决定;

5)如果用户想要继续系统的启动、则输入”y”后,系统会继续后续启动,否则不做任何处理。

可信验证模块可以阻止对系统文件、程序的非法篡改、未知程序的安装以及未知程序的运行等。本发明操作系统支持应用程序可信验证功能,应用程序可信验证功能的方法如下:

步骤4-1,可信基准库的构建:可信基准库的构建过程如下:

1)使用软件算法计算文件的摘要值hash1;

2)通过软件算法计算文件绝对路径的摘要值hash2;

3)hash1和hash2的摘要值连接后得到摘要值hash3=(hash1+hash2);

4)将hash3作为输入,使用可信计算模块的硬件算法sm3计算摘要值得到hash4,将hash4的值作为文件的基准值写入到文件的扩展属性中,同时写入的还有文件名、文件的修改时间;

步骤4-2,文件可信状态的判断:文件可信状态的判断过程如下:

1)获取文件的修改时间time1;

2)获取文件扩展属性中存储的文件的基准修改时间time2;

3)比较time1和time2,如果相等,则表示文件没有被篡改,文件是可信的允许,如果不相等,则表示文件可能被篡改了,需要计算文件的摘要值来判断文件的可信状态;

4)通过和基准库构建过程同样的算法计算文件的摘要值hash5;

5)从文件的扩展属性中读取基准值信息hash4;

6)比较hash4和hash5的值,如果结果相同,则表示文件没有被篡改,是可信的,允许对文件的访问,如果结果不同,则表示文件被篡改了,文件不可信,阻止对文件的访问。

本发明一实施例提供的终端设备。该实施例的终端设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,例如语音识别程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤,例如图1所示。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如非文本表征提取模块,用于对输入的语音特征相连进行识别,输出语句所对应的非文本表征,捕捉整个时间序列中的特殊值,判断整句话是否存在明显的语气、腔调的改变。

所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。

所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器、存储器。

所述处理器可以是中央处理单元(centralprocessingunit,处理器),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端设备的各种功能。

所述终端设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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