一种利用英特尔QuickAssist技术加速启动时间的方法技术

技术编号:27294242 阅读:23 留言:0更新日期:2021-02-06 12:03
本发明专利技术公开了一种利用英特尔QuickAssist技术加速启动时间的方法,属于UEFI固件的安全启动技术领域。该方法将英特尔QuickAssist技术扩展到UEFI固件领域,利用QuickAssist技术把UEFI安全启动过程中的固件映像哈希值计算从顺序执行变成并行执行,从而节省安全启动时间。本发明专利技术将固件映像的哈希值计算交给QuickAssist硬件负责,UEFI固件启动时跳过固件映像的测量,这样就把顺序的启动流程变成并行的启动流程,从而节省启动时间。从而节省启动时间。从而节省启动时间。

【技术实现步骤摘要】
一种利用英特尔QuickAssist技术加速启动时间的方法


[0001]本专利技术属于UEFI固件的安全启动
,具体涉及一种利用英特尔QuickAssist技术加速启动时间的方法。

技术介绍

[0002]UEFI固件启用了越来越多的功能来增强启动的安全性。这样,启动性能就成为Windows操作系统快速启动要求的一个严峻挑战。安全启动需要测量所有固件映像并将计算好的哈希值保存到TPM设备中。这个步骤通常需要200~300ms,约占整个快速启动时间的10%。
[0003]通常的解决方案是在快速启动时执行最少的启动步骤,只初始化必要的芯片组和启动设备。完整的启动流程则负责把必要的启动设备信息缓存下来,用于之后的快速启动。这样,快速启动可以只运行第一个引导选项直接进入操作系统,不需要初始化其他设备和提供系统配置,从而加速启动时间。现有的快速启动虽然优化了启动步骤,但是不能删除关键的启动步骤,它仍然需要测量所有的固件映像以满足安全启动的要求。

技术实现思路

[0004]针对现有技术中存在的问题,本专利技术要解决的技术问题在于提供一种利用英特尔QuickAssist技术加速启动时间的方法,把英特尔QuickAssist技术扩展到UEFI固件领域,利用QuickAssist技术把UEFI安全启动过程中的固件映像哈希计算从顺序执行变成并行执行,从而节省安全启动时间。
[0005]为了解决上述问题,本专利技术所采用的技术方案如下:
[0006]一种利用英特尔QuickAssist技术加速启动时间的方法,将英特尔QuickAssist技术扩展到UEFI固件领域,利用QuickAssist技术把UEFI安全启动过程中的固件映像哈希计算从顺序执行变成并行执行,从而节省安全启动时间。具体包括以下步骤:
[0007](1)UEFI固件进行EFI预初始化,然后立即查询设备资源;接下来判断QuickAssist硬件是否存在,若存在,进入步骤(2),否则按照常规程序完成系统启动;
[0008](2)打通访问硬件的PCI通道,分配PCI系统资源和DMA内存资源,然后发送相关命令,设置匹配的哈希算法,启动QuickAssist硬件,查询Flash上需要执行的FV映像,并把它们在Flash上的地址依次报给QuickAssist硬件进行哈希计算;
[0009](3)UEFI固件继续执行PEI和DXE,在DXE阶段结束的时候,查询QuickAssist硬件的状态,如果哈希值已经计算完成,直接进入步骤(4);如果哈希值没有计算完成,通过定时轮询的方式查询QuickAssist硬件的状态,直到完成哈希值计算,然后进入步骤(4);
[0010](4)UEFI固件获取哈希值,并写入TPM设备,完成系统启动工作。
[0011]所述利用英特尔QuickAssist技术加速启动时间的方法,在UEFI固件启动结束之前,哈希值还没有完成计算,UEFI固件将进入空闲模式,持续等待,直到获取哈希值。
[0012]所述利用英特尔QuickAssist技术加速启动时间的方法,系统启动的常规程序:按
照依次进行DXE运行阶段和BDS运行阶段,然后获取哈希值,并将哈希值写入TPM,完成操作系统的启动工作。
[0013]所述利用英特尔QuickAssist技术加速启动时间的方法,英特尔QuickAssist技术支持的对称密码函数包括:哈希/身份验证操作,分别为SHA-1,MD5,SHA-224,SHA-256,SHA-384,SHA-512。
[0014]所述利用英特尔QuickAssist技术加速启动时间的方法,所述UEFI固件使用SHA-1或SHA-256来计算固件映像的哈希值。
[0015]所述利用英特尔QuickAssist技术加速启动时间的方法,所述UEFI固件运行在1:1映射的连续物理内存中,并支持PCI设备和DMA操作。
[0016]所述利用英特尔QuickAssist技术加速启动时间的方法,定时轮询的时长为10毫秒。
[0017]有益效果:与现有的技术相比,本专利技术的优点包括:
[0018](1)本专利技术方法在UEFI固件中使用英特尔的QuickAssist技术,将固件映像的哈希计算交给QuickAssist硬件负责,UEFI固件启动时跳过固件映像的测量,这样就把顺序的启动流程变成并行的启动流程,从而节省启动时间。
[0019](2)本专利技术应用了英特尔QuickAssist技术并行计算固件映像哈希值,可以完全省去固件映像测量所需要的启动时间,达到提升整个安全启动时间10%的目标。
附图说明
[0020]图1为利用QuickAssist硬件的启动流程流程图;
[0021]图2为未利用QuickAssist硬件的启动流程流程图。
具体实施方式
[0022]为使本专利技术的上述目的、特征和优点能够更加明显易懂,下面结合具体实施例对本专利技术的具体实施方式做详细的说明。
[0023]实施例1
[0024]一种利用英特尔QuickAssist技术加速启动时间的方法,英特尔QuickAssist技术扩展到UEFI固件领域,利用QuickAssist技术把UEFI安全启动过程中的固件映像哈希计算从顺序执行变成并行执行,从而节省安全启动时间。
[0025]英特尔QuickAssist技术为高效加密和压缩性能提供硬件加速服务。支持的对称密码函数包括:哈希/身份验证操作(SHA-1,MD5,SHA-224,SHA-256,SHA-384,SHA-512)。硬件接口本质上是异步的,并由多个并行引擎(12个对称加密的英特尔通信芯片组8955)组成,支持并行计算。计算过程中需要使用DMA直接访问DRAM中的数据,而且发送到加速器的数据必须在物理内存上是连续存储的。
[0026]UEFI固件使用SHA-1或SHA-256来计算固件映像的哈希值。UEFI固件运行在1:1映射的连续物理内存中,并支持PCI设备和DMA操作。因此,QuickAssist硬件可以在UEFI固件环境中工作。一旦启用QuickAssist硬件,UEFI固件在启动过程中发现的固件映像可以立即报告给它。因为QuickAssist的硬件接口是异步的,所以UEFI固件可以继续执行启动流程,最后在加载操作系统之前,从QuickAssist硬件中获取计算出的哈希值,并写入TPM设备。在
大多数情况下,所有需要测量的固件映像的总个数小于10个,这些固件映像可以被QuickAssist多引擎并行处理,进一步的缩短了启动时间。具体操作步骤包括以下步骤:
[0027](1)UEFI固件进行EFI预初始化,然后立即查询设备资源;接下来判断QuickAssist硬件是否存在,若存在,进入步骤(2),否则按照常规程序完成系统启动;
[0028](2)打通访问硬件的PCI通道,分配PCI系统资源和DMA内存资源,然后发送相关命令,设置匹配的哈希算法,启动QuickA本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种利用英特尔QuickAssist技术加速启动时间的方法,其特征在于,英特尔QuickAssist技术扩展到UEFI固件领域,利用QuickAssist技术把UEFI安全启动过程中的固件映像哈希计算从顺序执行变成并行执行,从而节省安全启动时间。2.根据权利要求1所述利用英特尔QuickAssist技术加速启动时间的方法,其特征在于,具体包括以下步骤:(1)UEFI固件进行EFI预初始化,然后立即查询设备资源;接下来判断QuickAssist硬件是否存在,若存在,进入步骤(2),否则按照常规程序完成系统启动;(2)打通访问硬件的PCI通道,分配PCI系统资源和DMA内存资源,然后发送相关命令,设置匹配的哈希算法,启动QuickAssist硬件,查询Flash上需要执行的FV映像,并把它们在Flash上的地址依次报给QuickAssist硬件进行哈希计算;(3)UEFI固件继续执行PEI和DXE,在DXE阶段结束的时候,查询QuickAssist硬件的状态,如果哈希值已经计算完成,直接进入步骤(4);如果哈希值没有计算完成,通过定时轮询的方式查询QuickAssist硬件的状态,直到完成哈希值计算,然后进入步骤(4);(4)UEFI固件获取哈希值,并写入TPM设备,完成系统启动工作。3.根据权利...

【专利技术属性】
技术研发人员:高黎明谢乾吴平卢炬高杰张超曹胜明余彧
申请(专利权)人:江苏卓易信息科技股份有限公司上海百之敖信息科技有限公司昆山百敖电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1