基于安全密码芯片的可信计算机系统及其可信引导方法_2

文档序号:9453377阅读:来源:国知局

[0013]上述的可信引导方法,安全度量策略文件可以为白名单策略,在白名单中列出的文件不需要度量;或为黑名单策略,在黑名单中列出的文件必须度量;主平台在使用任一文件之前都要查询安全度量策略文件,若安全度量策略要求度量某文件,主平台必须对其进行可信度量,度量的依据是度量基准值文件;主平台拒绝使用度量失败的文件。
[0014]上述的可信引导方法,所述度量基准值文件包括度量对象的文件标识和度量对象的基准值,度量对象的基准值由可信软件提供方生成,是可信软件提供方使用自身的私钥为度量对象生成的数字签名,用户无法伪造或篡改;在系统运行过程中,基准值文件会随度量对象的改变随时更新,包括增加新的度量对象及其基准值、删除已有度量对象及其基准值、修改已有度量对象的基准值;可信软件提供方的公钥已预先封装在安全密码芯片中。
[0015]上述的可信引导方法,主平台的度量工作由主处理器发起,由安全密码芯片完成,度量对象、度量基准值及度量结果经由高速通道传送,安全密码芯片处理度量请求具体包含如下步骤:
步骤(I).主处理器将度量对象内容及其度量基准值发送给安全密码芯片;
步骤(2).安全密码芯片计算度量对象的散列值,得到新算散列值;
步骤(3).安全密码芯片利用可信软件提供方的公钥对来自主处理器的度量基准值进行解签,得到度量对象的基准散列值;
步骤(4).安全密码芯片比对新算散列值和基准散列值,若两者相同,则度量成功,否贝IJ,度量失败,安全密码芯片将度量结果发送给主处理器。
[0016]上述的可信引导方法,封装在安全密码芯片内部的非易失性存储空间,如FlashMemory,由安全密码芯片自己管理,主处理器只能通过安全密码芯片提供的接口访问安全密码芯片内部的非易失性存储空间;安全密码芯片内部的非易失性存储空间中预存有主平台的CRTM和引导程序,用户无权更改。
[0017]本发明的有益效果:
1.在传统的可信计算机系统中,最先启动的是处理器,TPM只是系统的一个外部设备,处理器需要先执行一段代码以完成TPM及其通道的初始化,而后才能让TPM发挥作用,虽然TPM是可信计算的关键部件,但却不是最先运行的根部件;本发明中,安全密码芯片优先于主处理器启动运行,是主动部件,负责为主处理器准备最初的执行代码并唤醒主处理器,离开了安全密码芯片,主处理器因缺少最初的程序代码而无法启动,因而安全密码芯片无法绕过,是可信计算机系统的真正可信根,以安全密码芯片为可信根的可信引导更安全、更可
A+-.与巨O
[0018]2.在传统的可信计算机中,主处理器运行的第一段程序CRTM位于TPM外部,不受TPM保护,有可能被分析、篡改,所建立的可信链实际上并不可靠;在本发明中,CRTM、弓丨导程序等始终存储在安全密码芯片的非易失性存储空间中,受到安全密码芯片的物理性保护,外界无法修改,其可信性是确定的;并且CRTM是被安全密码芯片推送到主处理器的指令缓存单元的,随着主处理器的执行会自动消失,系统的其余部分,甚至主平台的操作系统内核都无法见到CRTM,更不可能分析、篡改CRTM,以CRTM为根的可信链更加可靠,建立在其上的可信链也更加可信安全。
[0019]3.在传统的可信计算机系统中,TPM仅提供度量值的计算服务,计算并返回一个度量对象的度量值,度量值与基准值的比对验证工作则由主处理器负责,脱离TPM保护,存在一定的安全风险;在本发明中,可信度量过程由安全密码芯片全权负责,一次性完成度量值的计算和验证两个工作,第三者无法介入度量过程;安全密码芯片在计算出度量值后直接在芯片内部进行度量值的验证工作,对外不返回度量值,只返回度量验证的结果,更加直接、快捷,降低了完整性度量的复杂性,提高了度量过程的安全可靠性;此外,度量基准值使用数字签名值而非散列值,且只有可信软件提供方提供的基准值才能通过安全密码芯片的可信度量,由于攻击者没有可信软件提供方的私钥,因而不能伪造出合法的度量基准值,由此提供了度量基准值的保护机制;可信度量失败时,系统自动进入修复模式,利用可信软件提供方的修复系统对可信计算机系统进行修复,解决了由于度量失败造成系统无法启动的问题,增强了本发明可信引导方法的健壮性。
[0020]【附图说明】:
图1为本发明的基于安全密码芯片的可信计算机系统硬件组成结构图;
图2为本发明的安全密码芯片组成框图;
图3为本发明的主处理器组成框图;
图4为本发明的可信引导方法流程示意图。
[0021]【具体实施方式】:
下面结合附图和技术方案对本发明作进一步详细的说明,并通过优选的实施例详细说明本发明的实施方式,但本发明的实施方式并不限于此。
[0022]实施例一,参见图1~3所示,一种基于安全密码芯片的可信计算机系统,其硬件组成包括主平台和安全密码芯片,安全密码芯片负责主平台的可信引导并为主平台提供度量服务,主平台负责日常处理工作;主平台包含主处理器、内存、外存、总线及外部设备,主处理器包含指令缓存单元和数据缓存单元,拥有附加的被动工作状态并遵守启动约定,处于被动工作状态的主处理器接收来自安全密码芯片的推送数据并将其存入指令缓存单元,并接收来自安全密码芯片的唤醒信号,将自己切换到正常工作状态,进入正常工作状态后,主处理器遵守启动约定直接从指令缓存单元中取指执行;安全密码芯片包含可信度量单元、安全存储单元、推送单元、唤醒单元,可信度量单元用于度量输入数据并输出度量结果,安全存储单元用于封装主平台的可信度量核心根CRTM和引导程序,推送单元用于向主处理器推送CRTM,唤醒单元用于向主处理器发送唤醒信号,处于主动工作模式的安全密码芯片主动向主处理器推送CRTM并向主处理器发送唤醒信号,此后安全密码芯片进入被动工作模式,接收请求并为主处理器提供服务
主处理器包含指令缓存单元、数据缓存单元、执行单元及二级缓存单元。执行单元执行指令缓存单元中的指令,而指令缓存单元中的指令和数据缓存单元中的数据来自于二级缓存单元。主处理器有一个附加的被动工作状态,遵循可信引导所需要的启动约定。
[0023]实施例二,与实施例一基本相同,不同之处在于:安全密码芯片通过通信通道与主处理器连接。通信通道包含专用通道SPI总线和高速通道PC1-E总线。安全密码芯片通过SPI总线与主处理器通讯,将主平台的可信度量核心根CRTM推送到主处理器的指令缓存单元;主处理器通过PC1-E总线与安全密码芯片通讯,完成两者之间的大数据量传输,如引导程序的加载、文件的可信度量和数据加解密等。
[0024]安全密码芯片包含片上处理器、密码协处理器、RAM、NandFlash及I/O总线。片上处理器负责与主处理器交互并协调安全密码芯片内部的工作。密码协处理器负责加解密和度量算法的运算。I/O总线用于安全密码芯片内部的连接和数据交换。NandFlash是非易失性存储,用于封装安全密码芯片自身的固件系统及主平台的可信度量核心根CRTM和引导程序,其中固件系统包含芯片自身启动运行所需的管理程序、对外提供服务所需的度量程序、密码程序及密码资源。安全密码芯片具有可信度量功能、安全存储功能、推送功能和唤醒功能,并具有主动和被动两种工作模式。系统开机时,安全密码芯片首先进入主动工作模式。
[0025]系统开机时,主处理器首先进入被动工作状态,接收来自安全密码芯片的可信度量核心根CRTM并将其存入二级缓存单元;被唤醒之后,主处理器进入正常工作状态,直接从指令缓存而不是内存中取指执行,因此主
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1