当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于低开销的存储器重播保护的并行化的计数器攀树制造技术

技术编号:11438843 阅读:134 留言:0更新日期:2015-05-13 08:16
处理器包括提供对存储器区域的重播和保密性保护的存储器加密引擎。存储器加密引擎沿着计数器树状结构执行低开销并行化的攀树。存储器加密引擎在接收到传入的对于受保护的存储器区域的读取请求时,执行依赖关系检查操作,以标识传入的读取请求和进程中的请求之间的依赖关系,并且当进程中的请求是当前未挂起的读取请求时,去除依赖关系。

【技术实现步骤摘要】
【国外来华专利技术】用于低开销的存储器重播保护的并行化的计数器攀树
本专利技术涉及计算机系统;更具体而言,涉及对存储在计算机系统的存储器中的数据的保护。
技术介绍
现代的处理器被设计成保护存储器中的敏感数据免遭硬件和软件攻击。某些处理器提供用于进行加密、完整性以及重播保护的加密机制。存储器加密保护常驻存储器数据的保密性。另一方面,完整性保护防止攻击者导致对存储器中的密文(即,经加密的数据,而不是明文(未加密的数据))的隐藏的修改,重播保护消除对密文的任何未检测到的临时的替换。在没有这样的保护的情况下,带有对系统的物理访问的攻击者能够记录数据线的快照,并在稍后的时间点重播它们。存储器加密主要被设计为防止其中当数据线移入和移出处理器管芯时攻击者试图悄悄地观察数据线的被动攻击。某些处理器包括在数据被存储到存储器的受保护的区域之前加密敏感数据的加密模块。在对受保护的区域的存储器读取时,在被馈送给处理器之前,数据线被解密。可以基于用户所需的安全级别,选择加密与解密算法。对加密的一个可能的选择是计数器模式加密。在计数器模式加密中,加密/解密数据线的加密任务与数据本身分离。计数器模式加密的一个示例使用AESk加密算法来加密与每一数据线唯一地相关联但是独立于数据的种子。CryptoPad=AESk(种子);加密=明文XORCryptoPad;解密=密文XORCryptoPad.为确保计数器模式加密的安全性,种子需要在空间上并且在时间上唯一。可以通过使用数据线的地址作为种子的组分,来实现空间唯一性。另一方面,可以通过将每个线计数器与接受加密的数据线相关联,实现时间唯一性。每当相关联的数据线被写回到存储器时,增大此计数器。此计数器充当数据线的版本。某些处理器实现在树的最低级别存储每一被保护数据线的版本的计数器树状结构。树的较高级别存储计数器的层次结构。计数器树状结构存储在存储器中,存储在处理器内的顶级计数器除外。此计数器树状结构通过一连串验证操作,保护存储器区域免遭重播攻击。向被保护数据线的写入修改计数器树的每一级别中的对应的树节点。当读取被保护数据线时,处理器验证计数器树的每一级别中的对应的树节点的值,以认证读取结果。如果请求与过程中的请求中的任何一个共享计数器树状结构的任何级别的树节点,则现有的重播保护算法挂起对传入的请求的处理。如此,对不同的存储器请求的处理被串行化,这会增大存储器访问等待时间并使系统性能劣化。附图简述此处所描述的本专利技术的各实施例是作为示例说明的,而不仅限于各个附图的图形。图1是示出了根据一实施例的包括存储器加密引擎的处理器的框图。图2示出了根据一实施例的由计数器模式加密所使用的计数器树状结构的示例。图3A-3C示出了根据一实施例的依赖关系链的示例。图4示出了根据一实施例的存储器加密引擎内的组件。图5是示出了根据一实施例的并行化攀树的方法的流程图。图6是示出了根据一实施例的要由存储器加密引擎响应于传入的读取请求执行的操作的流程图。图7A是根据一个实施例的有序和无序流水线的框图。图7B是根据一个实施例的有序和无序核的框图。图8A-B是根据一个实施例的更具体的示例性有序核架构的框图。图9是根据一个实施例的处理器的框图。图10是根据一个实施例的系统的框图。图11是根据一个实施例的第二系统的框图。图12是根据本专利技术的实施例的第三系统的框图。图13是根据一个实施例的芯片上系统(SoC)的框图。实施例的描述在下面的描述中,阐述了很多具体细节。然而,应该理解,本专利技术的各实施例可以在没有这些具体细节的情况下实施。在其他情况下,没有详细示出已知的电路、结构,以及技术,以便不至于使对本描述的理解变得模糊。本专利技术的各实施例提供用于并行地处理读取请求以由此显著降低对受保护的存储器的访问等待时间的重播保护机制。重播保护机制删除了由现有的请求挂起算法施加的读取请求的串行化。重播保护机制跟踪通过对读取请求的并行处理产生的复制的请求,并防止复制的操作被执行多次,以降低开销。在一个实施例中,由位于处理器管芯上的增强的存储器加密引擎(也被称为MEE)执行该机制,以分别对于被动和主动攻击执行数据加密和完整性/重播保护。应该指出的是,此处所描述的各实施例适用于使用计数器树以便进行重播保护的一类计数器模式加密方法。此处所描述的MEE只表示一个实例,并在下面的描述中被用作一个示例。在统计上,读取请求构成向存储器控制器发出的全部请求的大部分。因此,对读取请求的并行处理可以实现显著的性能改善。图1是示出了为进行保密性、完整性和重播保护执行存储器加密操作的处理器110的实施例的框图。处理器110可以用于下列系统中,包括但不仅限于,台式计算机、平板电脑、膝上型计算机、上网本、笔记本电脑、个人数字助理(PDA)、服务器、工作站、蜂窝电话、移动计算设备、智能电话、因特网设备或任何其他类型的计算设备。在另一个实施例中,处理器110可以用于片上系统(SOC)系统中。处理器110包括一个或多个处理核140以执行系统的指令。处理核140包括但不仅限于,取出指令的预取逻辑,解码指令的解码逻辑,执行指令的执行逻辑等等。处理器110包括高速缓存指令和/或数据的高速缓存160。高速缓存160包括但不仅限于,处理器110内的高速缓存存储器的一级、二级和末级高速缓存(LLC)165,或任何其他配置。存储器控制器130执行使处理器510能访问包括易失性存储器和/或非易失性存储器的主存储器120并与其进行通信的功能。在一个实施例中,存储器控制器130耦合到包括MEE150的系统代理180。在一个实施例中,MEE150位于末级高速缓存165和存储器控制器130之间,以执行对进出主存储器120的受保护的区域125的数据线的加密、解密和认证。MEE150位于处理器管芯上,而存储器120位于处理器管芯之外。根据本专利技术的一实施例,MEE150并行地处理多个存储器读取请求,以改善对受保护的区域125的访问等待时间。MEE150执行计数器模式加密,其中,加密种子在时间上和在空间上对于数据线是独特的。如上文所描述的,可以通过使用要被访问的数据线的地址,实现空间唯一性,而可以通过使用充当数据线的版本的计数器来实现时间唯一性。在一个实施例中,MEE150还使用计数器树状结构来保护主存储器120的受保护的区域125中的数据线。数据线的版本是此计数器树状结构的一部分。下面将参考图2详细描述计数器树状结构的实施例。图2示出了根据本专利技术的一实施例的用于完整性和重播保护的计数器树状结构。应该指出的是,此处所描述的计数器模式加密表示一个示例;本专利技术的各实施例可以与计数器模式加密的替代机制一起使用。在替换实施例中,在计数器树状结构中可以比在图2中所示出的多一些或少一些级别。计数器树状结构包括树节点的级别的层次结构。顶部(根)级别包括存储在处理器管芯的内部存储中的管芯上的计数器(即,L3计数器210)的序列。内部存储包括但不仅限于,管芯上的静态随机存取存储器(SRAM)、寄存器组,以及处理器管芯中的任何其他合适的存储器。由于L3计数器210位于处理器管芯上,因此,它们的内容受信任,没有受被动和主动攻击的危险。然而,受信任的边界(示为虚线205)在L3计数器210结束。在一个实施例中,较低级别的计数器树在处理器管芯的外面本文档来自技高网...
用于低开销的存储器重播保护的并行化的计数器攀树

【技术保护点】
一种处理器,包括:一个或多个处理核;以及,耦合到一个或多个处理核的存储器加密引擎,所述存储器加密引擎在接收到传入的对于通过计数器模式加密和计数器树状结构保护的存储器区域的读取请求时,执行依赖关系检查操作,以标识所述传入的读取请求和进程中的请求之间的依赖关系,并且当所述进程中的请求是当前未挂起的读取请求时,去除所述依赖关系。

【技术特征摘要】
【国外来华专利技术】2012.10.05 US 13/646,1051.一种处理器,包括:一个或多个处理核;以及,耦合到一个或多个处理核的存储器加密引擎,所述存储器加密引擎在接收到传入的对于通过计数器模式加密和计数器树状结构保护的存储器区域的读取请求时,执行依赖关系检查操作,以标识所述传入的读取请求和进程中的请求之间的依赖关系,并且当所述进程中的请求是当前未挂起的读取请求时,去除所述依赖关系。2.如权利要求1所述的处理器,其特征在于,所述进程中的请求是依赖关系链的尾部,并在所述计数器树状结构中与所述传入的读取请求共享树节点。3.如权利要求1所述的处理器,其特征在于,所述存储器加密引擎将并行地处理所述传入的读取请求和所述进程中的请求,以便读取所述存储器区域。4.如权利要求1所述的处理器,其特征在于,所述存储器加密引擎进一步包括请求跟踪器电路以跟踪通过对读取请求的并行处理产生的复制的请求,并防止复制的操作由所述存储器加密引擎执行。5.如权利要求4所述的处理器,其特征在于,所述请求跟踪器电路将跟踪由所述存储器加密引擎的组件排队的未完成的请求。6.如权利要求1所述的处理器,其特征在于,所述存储器加密引擎,当接收到对于所述存储器区域的读取请求时,将向所述计数器树状结构中的将被所述读取请求访问的树节点的第一子集发出共享的锁定请求,以由此在共享的模式下锁定树节点的所述第一子集,当接收到对于所述存储器区域的写入请求时,将向所述计数器树状结构中的将被所述写入请求访问的树节点的第二子集发出排它性写入锁定请求,以由此在排它性模式下锁定第二节点。7.如权利要求6所述的处理器,其特征在于,如果所述传入的请求导致对树节点的所述第二子集的访问,或如果所述传入的请求是在所述共享的模式下或在所述排它性模式下导致对被锁定的节点的访问的另一个写入请求,则所述存储器加密引擎将挂起传入的请求。8.一种由处理器执行的方法,包括:由处理器中的存储器加密引擎,接收传入的对于读取通过计数器模式加密和计数器树状结构保护的存储器区域的读取请求;标识所述传入的读取请求和进程中的请求之间的依赖关系;以及当所述进程中的请求是当前未挂起的读取请求时,去除所述依赖关系。9.如权利要求8所述的方法,其特征在于,所述进程中的请求是依赖关系链的尾部,并在所述计数器树状结构中与所述传入的读取请求共享树节点。10.如权利要求8所述的方法,其特征在于,去除所述依赖关系进一步包括:并行地处理所述传入的读取请求和所述进程中的请求,以便读取所述存储器区域。11.如权利要求8所述的方法,其特征在于,去除所述依赖关系进一步包括:跟踪通过对读取请求的并行处理产生的复制的请求;以及防止复制的操作被所述存储器加密引擎执行。12.如权利要求11...

【专利技术属性】
技术研发人员:S·查博拉U·R·萨瓦高恩卡D·M·杜汉姆N·L·库雷M·朗C·V·罗扎斯A·T·纳兰德拉崔瓦迪
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1