【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
计算机安全的一个方面涉及保护计算机系统不受恶意的软件(也被称为“恶意软件”)侵害。恶意软件有多种形式;然而,许多常见种类的恶意软件对计算机存储器中未授权的位置执行写操作或者其它访问。例如,某些恶意软件在引导过程的初始阶段期间攻击低级系统代码(例如,平台初始化固件、引导加载程序、操作系统内核等)。可以由所谓的“bootkits”或者“rootkits”来使用这样的攻击以获得对系统的控制并且逃避检测。典型的计算机系统通过执行“安全引导”或者“安全启动”来检测并防止恶意软件的执行。为此,计算系统可以包括安全引擎或者安全协处理器,它们被配置为在引导过程期间,在对低级系统代码进行加载之前而验证其完整性。例如,在引导过程的初始化之后,计算系统的安全引擎可以生成用于对该计算系统的主处理器进行初始化所需要的固件的哈希。随后,安全引擎可以将该哈希与对应于该固件的纯正版本的已知良好的哈希或校验和值进行比较。如果确定这两个哈希是匹配的,则可以允许该执行该固件以使得主处理器或计算系统的其它组件被初始化。嵌入式系统和片上系统(SoC)系统在计算生态系统中变得越来越普遍。在典型的SoC系统中,由将其自身的静态随机存取存储器(SRAM)嵌入在SoC中的集成的安全引擎或者安全协处理器来管理安全引导过程。为了确保从头开始的安全引导,在允许执行低级系统代码之前,必须由集成的安全引擎对该低级系统代码进行验证。通常而言,必须首先将这样的低级系统代码存储在该集成的安全引擎的SRAM上。从而,待由集成的安全引擎进行验证的任何低级系统代码的大小有效地受到嵌入到该SoC中的SRAM的大小的限制。另 ...
【技术保护点】
一种用于执行安全引导的计算设备,所述计算设备包括:所述计算设备的安全引擎,其包括用于执行以下操作的安全引导模块:(i)连续地确定针对初始引导固件的多个块中的每个块的哈希值,其中,连续地确定所述哈希值包括:(a)从所述计算设备的存储器中取回所述多个块中的每个块,(b)将所取回的每个块存储在所述安全引擎的安全存储器中,(c)确定针对存储在所述安全存储器中的每个块的所述哈希值;以及(ii)根据所确定的针对所述初始引导固件的每个块的所述哈希值来生成聚合的哈希值;以及包括高速缓存RAM和处理器初始化模块的处理器,所述处理器用于:(i)将所述聚合的哈希值和与所述初始引导固件相关联的参考校验和值进行比较,以确定所述聚合的哈希值是否与所述参考校验和值相匹配;并且(ii)响应于确定所述聚合的哈希值与所述参考校验和值相匹配而完成所述处理器的初始化,其中,所述安全引导模块或者所述处理器初始化模块用于将存储在所述安全存储器中的每个块复制到所述处理器的所述高速缓存RAM。
【技术特征摘要】
【国外来华专利技术】1.一种用于执行安全引导的计算设备,所述计算设备包括:所述计算设备的安全引擎,其包括用于执行以下操作的安全引导模块:(i)连续地确定针对初始引导固件的多个块中的每个块的哈希值,其中,连续地确定所述哈希值包括:(a)从所述计算设备的存储器中取回所述多个块中的每个块,(b)将所取回的每个块存储在所述安全引擎的安全存储器中,(c)确定针对存储在所述安全存储器中的每个块的所述哈希值;以及(ii)根据所确定的针对所述初始引导固件的每个块的所述哈希值来生成聚合的哈希值;以及包括高速缓存RAM和处理器初始化模块的处理器,所述处理器用于:(i)将所述聚合的哈希值和与所述初始引导固件相关联的参考校验和值进行比较,以确定所述聚合的哈希值是否与所述参考校验和值相匹配;并且(ii)响应于确定所述聚合的哈希值与所述参考校验和值相匹配而完成所述处理器的初始化,其中,所述安全引导模块或者所述处理器初始化模块用于将存储在所述安全存储器中的每个块复制到所述处理器的所述高速缓存RAM。2.根据权利要求1所述的计算设备,其中,所述安全引擎包括与所述计算设备的所述处理器不同的安全协处理器。3.根据权利要求1所述的计算设备,其中,确定针对存储在所述安全存储器中的每个块的所述哈希值包括使用加密哈希函数来确定存储在所述安全存储器中的每个块的所述哈希值。4.根据权利要求3所述的计算设备,其中,所述加密哈希函数包括安全哈希算法。5.根据权利要求1所述的计算设备,其中,所述初始引导固件的所述多个块中的每个块具有相等的存储器大小。6.根据权利要求1所述的计算设备,其中,所述初始引导固件的所述多个块中的每个块具有小于或者等于所述安全引擎的所述安全存储器的存储器存储容量的存储器大小。7.根据权利要求1所述的计算设备,其中,完成所述处理器初始化的初始化包括:(i)跳到存储在所述高速缓存RAM中的所述初始引导固件的起始位置,以及(ii)执行所述初始引导固件。8.根据权利要求1所述的计算设备,其中,所述安全引导模块还用于将所述聚合的哈希值发送至所述处理器。9.根据权利要求1所述的计算设备,其中,所述处理器还用于响应于确定所述聚合的哈希值与所述参考校验和值不匹配而执行安全功能。10.根据权利要求9所述的计算设备,其中,执行安全功能包括执行以下操作中的至少一项操作:关闭所述计算设备、禁用所述计算设备、或者重新引导所述计算设备。11.根据权利要求1所述的计算设备,其中,所述安全引导模块还用于对用于所述计算设备的平台初始化固件进行认证;并且其中,所述处理器还用于:(i)从所述安全引擎的所述安全存储器中取回经认证的平台初始化固件;并且(ii)执行从所述安全引擎的所述安全存储器中取回的所述经认证的平台初始化固件,以将所述处理器的高速缓存的一部分初始化为所述高速缓存RAM。12.根据权利要求11所述的计算设备,其中,对所述平台初始化固件进行认证还包括:(i)从所述计算设备的所述存储器中取回所述平台初始化固件;(ii)通知所述处理器已经对所述平台初始化固件进行了认证。13.根据权利要求11所述的计算设备,其中,所述初始引导固件包括阶段-1引导加载程序;并且其中,所述平台初始化固件包括在执行所述阶段-1引导加载程序之前,由所述处理器执行的阶段-0引导加载程序。14.根据权利要求1-13中的任何一项所述的计算设备,其中,连续地确定针对初始引导固件的所述多个块中的每个块的所述哈希值包括:(i)从所述计算设备的所述存储器中取回初始引导固件的所述多个块中的第一块,(ii)将所取回的所述初始引导固件的所述第一块存储在所述安全引擎的所述安全存储器中,(iii)确定与存储在所述安全存储器中的所述初始引导固件的所述第一块相对应的第一哈希值,(iv)响应于将所述初始引导固件的所述第一块存储在所述高速缓存RAM中而从所述计算设备的所述存储器中取回初始引导固件的所述多个块中的第二块,(v)将所取回的所述初始引导固件的所述第二块存储在所述安全引擎的所述安全存储器中,以及(vi)确定与存储在所述安全存储器中的所述初始引导固件的所述第二块相对应的第二哈希值;其中,将存储在所述安全存储器中的每个块复制到所述高速缓存RAM包括:(i)响应于确定所述第一哈希值而将存储在所述安全存储器中的所述初始引导固件的所述第一块复制到所述高速缓存RAM,(ii)响应于确定所述第二哈希值而将存储在所述安全存储器中的所述初始引导固件的所述第二块复制到所述高速缓存RAM;并且其中,生成所述聚合的哈希值包括根据所确定的第一哈希值和第二哈希值而生成所述聚合的哈希值。15.根据权利要求14所述的计算设备,其中,所述安全引导模块还用于确定所述初始引导固件的所述第二块是否是所述初始引导固件的所述多个块中的最后的块。16.根据权利要求15所述的计算设备,其中,响应于确定所述初始引导固件的所述第二块不是所述最后的块:(i)所述安全引导模块还用于(a)连续地取回所述初始引导固件的所述多个块的每个剩余的块,(b)确定针对所取回的每个剩余的块的哈希值;并且(ii)所述安全引导模块或者所述处理器初始化模块将所取回的每个剩余的块复制到所述高速缓存RAM;并且其中,生成所述聚合的哈希值包括根据所确定的第一哈希值、所确定的第二哈希值、以及所确定的针对取回的所述剩余的块中的每个块的哈希值来生成所述聚合的哈希值。17.根据权利要求15所述的计算设备,其中,生成所述聚合的哈希值包括响应于确定所述初始引导固件的所述第二块是所述最后的块而生成所述聚合的哈希值。18.根据权利要求1-13中的任何一项所述的计算设备,其中,连续地确定针对初始引导固件的所述多个块中的每个块的所述哈希值包括:(i)从所述...
【专利技术属性】
技术研发人员:K·科塔里,N·J·约克,B·P·王,G·邢,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。