专利名称:一种可信计算机及可信性检测方法
技术领域:
本发明是关于计算机可信技术,特别是关于一种可信计算机及可信性检测方法。
背景技术:
计算机是一种重要的信息安全类设备。随着网络和信息化的飞速发展,信息安全已与政治安全、经济安全、国防安全、文化安全共同成为国家安全的重要组成部分。信息安全威胁作为一种新的非传统安全威胁,正在对政治稳定、经济发展、公共利益乃至国家安全造成重要影响。信息安全关系着企业、民生、经济、军事、国家等各个方面的安全。但是,现有的计算机中的多数处理器通过Local Bus与BIOS启动固件进行连接,无法实现对BIOS启动固件的度量(可信性检测),另外,也无法实现对芯片组及外围设备的度量。
可信计算平台是能够完成平台自身可信程度度量,同时可以被本地或远程实体提供可信认证的计算系统。在计算系统中,可以通过处理器实现可信计算机可信技术,但是多数现有的处理器(比如国产龙芯处理器等)来实现可信计算机的可信技术存在如下困难
发明内容
本发明提供一种可信计算机及可信性检测方法,以对BIOS及外围设备进行可信性检测。为了实现上述目的,本发明提供一种可信计算机,所述的可信计算机包括包含处理器、内存、芯片组及BIOS的主板,所述的内存、芯片组及BIOS分别连接所述的处理器,所述的处理器连接计算机外围设备,所述的可信计算机还包括可信平台控制模块,通过LPC连接所述的BI0S,并通过L0CALBUS连接所述的处理器;所述的可信平台控制模块用于对所述的BIOS、芯片组及外围设备进行度量,进行LOCAL BUS与LPC之间的总线转换。进一步地,所述的可信平台控制模块包括主机通讯模块,通过通讯总线与所述主板连接;硬件初始化模块,与所述的主板连接,用于对所述可信平台控制模块进行加电启动;主板启动控制模块,与所述的主板连接,用于对计算机系统进行复位或者向南桥待机电路发出POWER OFF信号;可信专用协议解析模块,连接所述的主机通讯模块,用于存储可信专用协议;配置管理模块,连接所述的可信专用协议解析模块及一读卡器,用于通过从所述读卡器的读取所述可信专用协议解析模块的控制信息,以供所述的可信专用协议解析模块选择具体的协议;度量控制模块,连接一可信密码模块TCM,用于对所述TCM的唯一启动IDKEY进行校验,并对所述的BIOS及外围设备进行度量。进一步地,所述的度量控制模块包括BI0S完整性度量与恢复模块,连接所述BI0S,用于通过LPC总线读取所述BIOS并根据确定的可信校验专用协议对所述BIOS进行完整性度量;外围设备度量模块,用于对所述的外围设备进行度量。进一步地,所述的可信平台控制模块为FPGA。为了实现上述目的,本发明提供一种可信性检测方法,应用于权利要求I所述的可信计算机,所述的方法包括所述的可信平台控制模块对与其连接的BIOS及外围设备进行度量;判断度量是否成功;如果度量,所述的可信平台控制模块向所述的处理器发送Rst_CPU对计算机系统进行复位。进一步地,如果度量失败,所述的可信平台控制模块向南桥待机电路发送POWEROFF信号关闭电源。进一步地,所述的可信平台控制模块向所述的处理器发送Rst_CPU对计算机系统进行复位,包括对所述的BIOS进行复位。进一步地,对所述的BIOS进行复位之前,所述的方法还包括进行L0CALBUS与LPC之间的总线转换,使得所述的处理器读取所述BIOS的内容。
本发明实施例的有益效果在于,本发明可以通过可信平台控制模块作为BIOS和处理器之间的纽带,对BIOS及外围设备进行可信性检测,可以防止CPU后面、序列号外泄等,为信息安全提供了保障。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例可信计算机的结构示意图;图2为本发明实施例可信平台控制模块的系统结构示意图;图3为本发明实施例可信平台控制模块106的结构示意图;图4为本发明实施例可信性检测方法流程图;图5为本发明实施例LOCAL BUS与LPC之间的总线转换示意图;图6为本发明实施例的电路时序控制方法流程图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。如图I所示,本实施例提供一种可信计算机,所述的可信计算机包括包含处理器101、内存102、芯片组103及BI0S104的主板,所述的内存102、芯片组103及BI0S104分别连接所述的处理器101,所述的处理器101连接计算机外围设备105,所述的可信计算机还包括可信平台控制模块106,通过LPC连接所述的BI0S104,并通过LOCAL BUS连接所述的处理器101。所述的可信平台控制模块106用于对所述的BI0S104、芯片组103及外围设备105进行度量,进行LOCAL BUS与LPC之间的总线转换。可选地,可信平台控制模块106可以为FPGA。外围设备可以包括存储器、光驱等设备,对存储器的序列号及光驱的序列号等进行度量可以防止存储器的序列号及光驱的序列号被篡改。处理器101例如可以为龙芯2F处理器,下面以龙芯2F处理器为例进行说明。龙芯2F处理器可以兼容MIPS处理器架构,通过PCI总线外扩配套桥片(南桥)107构建计算机的主要架构。龙芯2F处理器集成了北桥和DDR2 SDRAM控制器硬,通过DDR2SDRAM控制连接内存。龙芯2F处理器通过PCI总线连接配套桥片(南桥)107,南桥的选择方案可以为很多种方案,通过南桥可以扩展计算机所需要的USB,IDE, AC97,PS/2,UART2,并口。通过龙芯2F处理器前端总线PCI总线扩展其他的功能,如功能拓展功能控制芯片I (XGI V2)控制器扩展显示功能,以实现通常VGA和LVDS接口。 通过龙芯2F前端总线PCI总线拓展功能控制芯片2 (RTL 8110SC)控制器扩展千兆以太网功能,以实现IOM/1OOM/1000M以太网。通过龙芯2F前端总线PCI扩展功能控制芯片3 (ATP8620)(图I中的其他功能控制芯片中的一种)控制器扩展SATA接口。通过龙芯2F处理器的LOCAL BUS总线连接可信平台控制模块106,可信平台控制模块106通过LPC接口连接BI0S104(BI0S启动固件)。本发明的可信平台控制模块106有以下作用1)对BIOS进行度量;2)完成LOCALIO与LPC的总线转换功能;3)配合完成开机的时序控制,包含给出CPU的复位信号。主板的BI0S104模块通过可信平台控制模块106总线转换后通过L0CALBUS总线连接龙芯2F处理器,通过可信平台控制模块完成对BIOS模块的完整性度量后,向龙芯2F处理器发出复位操作信息,龙芯2F处理器通过BIOS读取指令,进行正常的启动。通常的计算机启动后直接通过本地总线如LPC总线从固件(BI0S104)中读取指令,但本发明通过加电时序控制,只有度量正确后,处理器才能复位启动,从固件中读取指令,进行正常的计算机启动过程。如对固件(BIOS)的完整性度量出现错误,计算机将通过时序逻辑进行关机断电。图2为本发明实施例可信平台控制模块的系统结构示意图;如图2所示,可信平台控制模块106在可信平台中处于龙芯2F处理器与可信BI0S104(图BIOS进行可信性检测之后可以成为可信BIOS)之间,龙芯2F处理器可以直接与可信平台控制模块106进行通信,但无法直接读取BI0S104内容,必须经过可信平台控制模块106的许可与总线转换读取BI0S104内容。可信平台控制模块106在系统启动初期(此时,除了可信平台控制模块工作夕卜,龙芯2F处理器等其他芯片组均处于带电状态未工作状态)完成对BIOS内容的完整性度量。所述的可信平台控制模块对与其连接的BIOS及外围设备进行度量可以是通过哈希算法进行度量。该算法的特性是对于任何长度的数据计算得到的哈希值均为128位,SP生成16个字节的哈希值数据。该16字节的哈希值数据即为度量结果。根据度量结果与安全控制策略决定是否允许芯片组控制器访问BI0S,如果可信BIOS完整性检验失败,可信平台控制模块106将启动恢复机制,从FLASH中恢复可信BIOS镜像;如果成功,可信平台控制模块106释放启动控制信号,并将龙芯2F处理器的LOCALBUS总线通过可信平台控制模块106的内部硬件逻辑连接到可信BIOS芯片上,此时系统就可以加载BIOS启动正常工作。当允许时,龙芯2F处理器从BIOS读取到第一条指令,开始BIOS的执行流程。在系统工作期间,可信平台控制模块106与芯片组控制器(图中未示出)进行通信,响应BIOS或可信软件发送的可信计算命令,完成可信功能服务。如图3所示,可信平台控制模块106可以包括主机通讯模块301,硬件初始化模块302,主板启动控制模块303,可信专用协议解析模块304,配置管理模块305,度量控制模块 306。主机通讯模块301通过通讯总线与所述主板300连接,负责通过各种总线与主板连接。如通过龙芯的LOCAL BUS本地总线与龙芯2F处理器进行通信。通过PCI总线与龙芯2F处理器的系统总线上的其他功能控制芯片连接。以读取比如硬盘的序列号、光驱的序列号,另外比较重要的是硬盘里面的操作系统内核文件等。 硬件初始化模块302与所述的主板300连接,用于对所述可信平台控制模块进行加电启动,当ATX电源5V电源供电正常后可信平台控制模块完成加电的初始化工作。初始化工作包含FPGA的复位,各个功能模块的初始化。主板启动控制模块303与所述的主板300连接,用于对计算机系统进行复位或者向南桥待机电路发出POWER OFF信号。可信平台控制模块软件完成对主板的可信BIOS的度量后,如果度量成功,该模块负责给控制Rst_CPU信号置整个系统为复位状态,此时计算机主板上的各种主要的芯片,如CPU、南桥、内存以及其他的外围10复位后,进行传统计算机的开机复位时序。如果度量失败,那么其将发出“ POWER OFF”信号,该信号给到南桥的“开机信号”,该信号为低低电平时,南桥芯片通过“PS_0N”信号,关闭ATX电源。可信专用协议解析模块304连接所述的主机通讯模块301,用于存储可信专用协议。该模块主要实现了多种可信校验的专用协议,该协议也通过读卡器确定专用协议用于开机后的可信计算使用。ー种典型的可信专用协议实现的方法是通过MD5哈希算法,该算法的特性是对于任何长度的数据计算得到的哈希值均为128位,即生成16个字节的哈希值数据。配置管理模块305连接所述的可信专用协议解析模块304及一读卡器307,用于通过从所述读卡器的读取所述可信专用协议解析模块的控制信息,以供所述的可信专用协议解析模块选择具体的协议。控制信息可以为专用协议ID信息。该ID信息供可信专用协议解析模块304选择具体的解析协议。度量控制模块306连接一可信密码模块TCM308,用于对所述TCM的唯一启动IDKEY进行校验,并对所述的BIOS及外围设备进行度量。如图3所示,度量控制模块306包括BI0S完整性度量与恢复模块309及外围设备度量模块310。BIOS完整性度量与恢复模块309连接所述可信BI0S311,用于通过LPC总线读取所述BIOS井根据确定的可信校验专用协议对所述可信BIOS进行完整性度量。外围设备度量模块310用于对外围设备进行度量。 计算机启动的BIOS信息存储在可信BI0S111中,可信BIOS的与普通的BIOS最大的区别在其与CPU是物理隔离的。其通过LPC总线与可信平台控制模块连接。可信平台控制模块完成了对计算机主板的各种物理控制器(可信BI0S,存储介质,光盘控制器等等物理ID)的度量。通过以上方法龙芯可信主板可信度量具备如下能力I :版本信息和Main Block (计算机硬件的主模块)进行完整性度量;2 :对平台启动部件,以及可信BIOS进行完整性度量;3 :操作系统内核进行完整性度量。如图4所示,本实施例提供一种可信性检测方法,应用于本发明的可信计算机,所述的方法包括步骤S401 :所述的可信平台控制模块106对与其连接的BIOS及外围设备进行度量,包括所述的可信平台控制模块通过哈希算法对与其连接的BIOS及外围设备进行度量。步骤S402 :判断度量是否成功;步骤S403 :如果度量,所述的可信平台控制模块106向所述的处理器发送Rst_CPU对计算机系统进行复位。较佳地,如果度量失败,该方法还包括步骤S404 :所述的可信平台控制模106向南桥待机电路发送POWER OFF信号关闭电源。进ー步地,所述的可信平台控制模块向所述的处理器发送Rst_CPU对计算机系统进行复位,包括对所述的BIOS进行复位,对所述的BIOS进行复位之前,所述的方法还包括进行LOCAL BUS与LPC之间的总线转换,使得所述的处理器读取所述BIOS的内容。LOCAL BUS总线接ロ主要信号如表I所示。表I
权利要求
1.一种可信计算机,所述的可信计算机包括包含处理器、内存、芯片组及BIOS的主 板,所述的内存、芯片组及BIOS分别连接所述的处理器,所述的处理器连接计算机外围设 备,其特征在于,所述的可信计算机还包括可信平台控制模块,通过LPC连接所述的BIOS, 并通过LOCAL BUS连接所述的处理器;所述的可信平台控制模块用于对所述的BIOS、芯片组及外围设备进行度量,进行LOCAL BUS与LPC之间的总线转换。
2.根据权利要求1所述的可信计算机,其特征在于,所述的可信平台控制模块包括 主机通讯模块,通过通讯总线与所述主板连接;硬件初始化模块,与所述的主板连接,用于对所述可信平台控制模块进行加电启动; 主板启动控制模块,与所述的主板连接,用于对计算机系统进行复位或者向南桥待机 电路发出POWER OFF信号;可信专用协议解析模块,连接所述的主机通讯模块,用于存储可信专用协议;配置管理模块,连接所述的可信专用协议解析模块及一读卡器,用于通过从所述读卡 器的读取所述可信专用协议解析模块的控制信息,以供所述的可信专用协议解析模块选择 具体的协议;度量控制模块,连接一可信密码模块TCM,用于对所述TCM的唯一启动ID KEY进行校 验,并对所述的BIOS及外围设备进行度量。
3.根据权利要求2所述的可信计算机,其特征在于,所述的度量控制模块包括BIOS完整性度量与恢复模块,连接所述BIOS,用于通过LPC总线读取所述BIOS并根据确定的可信校验专用协议对所述BIOS进行完整性度量;外围设备度量模块,用于对所述的外围设备进行度量。
4.根据权利要求1、2或3所述的可信计算机,其特征在于,所述的可信平台控制模块为 FPGA。
5.一种可信性检测方法,应用于权利要求1所述的可信计算机,其特征在于,所述的方 法包括所述的可信平台控制模块对与其连接的BIOS及外围设备进行度量;判断度量是否成功;如果度量,所述的可信平台控制模块向所述的处理器发送Rst_CPU对计算机系统进行 复位。
6.根据权利要求5所述的方法,其特征在于,如果度量失败,所述的可信平台控制模块 向南桥待机电路发送POWER OFF信号关闭电源。
7.根据权利要求5所述的方法,其特征在于,所述的可信平台控制模块向所述的处理 器发送Rst_CPU对计算机系统进行复位,包括对所述的BIOS进行复位。
8.根据权利要求7所述的方法,其特征在于,对所述的BIOS进行复位之前,所述的方法 还包括进行LOCAL BUS与LPC之间的总线转换,使得所述的处理器读取所述BIOS的内容。
9.根据权利要求5所述的方法,其特征在于,所述的可信平台控制模块对与其连接的 BIOS及外围设备进行度量,包括所述的可信平台控制模块通过哈希算法对与其连接的 BIOS及外围设备进行度量。
全文摘要
本发明提供一种可信计算机及可信性检测方法,所述的可信计算机包括包含处理器、内存、芯片组及BIOS的主板,所述的内存、芯片组及BIOS分别连接所述的处理器,所述的处理器连接计算机外围设备,其特征在于,所述的可信计算机还包括可信平台控制模块,通过LPC连接所述的BIOS,并通过LOCAL BUS连接所述的处理器;所述的可信平台控制模块用于对所述的BIOS、芯片组及外围设备进行度量,进行LOCAL BUS与LPC之间的总线转换。本发明可以通过可信平台控制模块作为BIOS和处理器之间的纽带,对BIOS及外围设备进行可信性检测,可以防止CPU后面、序列号外泄等,为信息安全提供了保障。
文档编号G06F21/00GK102663301SQ20121011011
公开日2012年9月12日 申请日期2012年4月13日 优先权日2012年4月13日
发明者刘军, 吴勇, 曾宝莲 申请人:北京国基科技股份有限公司