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

文档序号:9453377阅读:来源:国知局
处理器的执行从CRTM开始,而CRTM是由安全密码芯片推送出来的。CRTM完成最急需的初始化工作,如设置存储控制器、PC1-E总线等,以便从安全密码芯片中加载引导程序。引导程序由主处理器通过PC1-E总线从安全密码芯片中读入,是主处理器执行的第二段程序,引导程序利用安全密码芯片度量并加载操作系统内核,操作系统内核利用安全密码芯片度量并加载应用程序等,从而建立起可信链。
[0026]在使用可信计算机系统之前,需要对系统进行初始安装。初装所需要的系统镜像由可信软件提供方提供,包含主平台的操作系统内核文件、度量基准值文件、安全度量策略文件、系统配置文件、应用程序文件、内核模块文件、共享库文件、脚本文件、数据文件等,在安装过程中,安装工具还要利用安全密码芯片对系统镜像进行可信度量,因而在初装之后,计算机系统中的软件是可信的。在系统运行过程中,用户可以安装新软件,但新软件也必须来自可信软件提供方,否则新软件将无法启动运行。
[0027]实施例三,参见图4所示,一种基于安全密码芯片的可信计算机系统的可信引导方法,具体包含如下步骤:
步骤1.可信计算机系统加电后,主处理器进入被动工作状态;
步骤2.安全密码芯片先启动运行,进入主动工作模式;安全密码芯片处理器从NandFlash中将安全密码芯片自身的固件系统加载到安全密码芯片内置的RAM中并执行,对安全密码芯片及SPI总线进行初始化,初始化完成之后,从NandFlash中读取主平台的可信度量核心根CRTM,并通过SPI总线将CRTM推送给主处理器;
步骤3.主处理器接收推送来的CRTM,将其保存在指令缓存单元中;
步骤4.安全密码芯片完成CRTM的推送之后,向主处理器发送唤醒信号,而后进入被动工作模式,将自己转化成主处理器的一个外部密码设备,此后,安全密码芯片进入等待状态,等待来自主处理器的操作请求;
步骤5.主处理器被信号唤醒后,进入正常工作状态,执行指令缓存单元中的可信度量核心根CRTM,获得可信计算机系统的控制权,初始化系统的存储控制器、高速通道PC1-E总线等,将安全密码芯片转化成主处理器的外部密码设备,通过PC1-E总线向安全密码芯片发出读引导程序的请求;
步骤6.安全密码芯片响应读引导程序的请求,从内置NandFlash中读出引导程序,将其发送给主处理器;
步骤7.主处理器将引导程序存入内存,执行引导程序,初始化外存,从外存中读取操作系统内核文件,从度量基准值文件中取出该操作系统内核文件的度量基准值,并将操作系统内核文件及基准值通过PC1-E总线发送给安全密码芯片,请求度量操作系统内核;步骤8.安全密码芯片处理度量请求,度量操作系统内核,将度量结果发送给主处理器;
步骤9.如果度量失败,主处理器进入系统修复模式,否则,主处理器将操作系统内核放入内存的适当位置,执行操作系统内核,完成主平台的初始化,请求安全密码芯片度量主平台的系统配置文件和安全度量策略文件;
步骤10.安全密码芯片处理度量请求,将度量结果发送给主处理器;
步骤11.如果度量失败,主处理器进入系统修复模式,否则,主处理器根据配置文件、用户请求和安全度量策略,请求安全密码芯片度量应用程序文件;
步骤12.安全密码芯片响应处理度量请求,将度量结果发送给主处理器;
步骤13.如果度量失败,主处理器进入应用修复模式,否则,主处理器加载并执行应用程序,使可信计算机系统进入正常工作状态。
[0028]实施例四,与实施例三基本相同,不同之处在于:引导程序根据主平台的配置,按照预定的引导顺序,尝试从主平台的外存中读入操作系统内核文件和度量基准值文件;主平台的外存包括U盘、光盘、硬盘;如果无法从第一号外存中成功读入操作系统内核和度量基准值文件,引导程序将尝试从第二号外存中读入,以此类推,直到成功读入或尝试完所有的外存设备;如果尝试完所有外存都无法成功读入操作系统内核和度量基准值文件,则进入系统修复模式。
[0029]进入系统修复模式后,计算机关机,管理员在USB 口中插入修复U盘或在光驱中插入修复光盘,而后重启系统;重启之后,引导程序将从U盘或光盘中启动修复系统,引导用户对系统进行修复;进入应用修复模式后,系统向用户报告程序启动失败,
用于初始安装的系统镜像在可信软件提供方制作的光盘或U盘上,其中包含初装用的操作系统内核和度量基准值文件;修复U盘或光盘是由可信软件提供方制作的,其中包括操作系统内核、修复工具、度量基准值等文件。
[0030]安全度量策略为白名单安全策略,在白名单中列出不需要度量的文件;或为黑名单安全策略,在黑名单中列出需要度量的文件。
[0031]度量基准值文件包括度量对象的文件标识、度量对象的基准值,度量对象的基准值由可信软件提供方生成,是可信软件提供方使用自身的私钥为度量对象生成的数字签名,其余用户无法伪造或篡改,度量基准值文件在系统运行过程中随度量对象的安装、卸载或者升级而随时更新,可信软件提供方的公钥已预置在安全密码芯片中。
[0032]主平台的度量工作由主处理器发起,由安全密码芯片完成,度量对象、度量基准值及度量结果经由高速通道传送,安全密码芯片处理度量请求具体包含如下步骤:
步骤(I).主处理器将度量对象及其度量基准值发送给安全密码芯片;
步骤(2).安全密码芯片计算度量对象的散列值,其中,度量对象由主处理器根据安全度量策略按需进行选择,包含操作系统内核文件、应用程序文件、系统配置文件、内核模块文件、共享库文件、脚本文件、数据文件;
步骤(3).安全密码芯片对基准值进行解签,得到基准散列值,其中,解签使用可信软件提供方的公钥,该公钥已预先封装到安全密码芯片的固件系统中;
步骤(4).安全密码芯片将计算得到的散列值与对应基准散列值进行比对,若相同,则判定度量成功,否则,判定度量失败。
[0033]实施例五,与实施例四基本相同,不同之处在于:将安全密码芯片内置的NandFlash分成两个区,隐藏区和安全数据管理区,其中隐藏区用于存储安全密码芯片自身的固件系统及主平台的可信度量核心根CRTM和引导程序,固件系统包含芯片自身启动运行所需的管理程序、对外提供服务所需的度量程序、密码程序及密码资源,固件系统由片上处理器执行,CRTM、引导程序由主处理器执行;安全数据管理区用于存储主处理器的备份数据,备份数据包含可信计算机系统启动所需的关键启动文件,关键启动文件包含主平台操作系统内核文件、度量基准值文件、安全度量策略文件以及系统启动所需的基本应用程序文件和系统配置文件。
[0034]初装完成后,将系统镜像中的关键启动文件备份到安全密码芯片的安全数据管理区中。将关键启动文件备份到安全密码芯片的具体步骤包括:将关键启动文件内容、度量基准值及该文件的绝对路径发给安全密码芯片;安全密码芯片根据文件绝对路径检查安全数据管理区中的文件,若需要备份的文件已存在,则无需备份,否则,根据基准值对需要备份的文件进行可信性备份检查,将通过备份检查的文件写入安全数据管理区。由于备份文件的基准值不可伪造,安全数据管理区内的备份文件均为可信的,安全密码芯片只提供备份接口,不提供删除文件接口,文件一旦备份,用户将无法从安全密码芯片中删除。
[0035]如果可信计算机系统无法正常启动,则进入系统修复模式,系统修复模式的具体执行步骤包括:从备份度量基准值文件中提取相应的关键启动文件的基准值,对关键启动文件进行再次度量,若再次度量
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1