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

保护存储器制造技术

技术编号:16672988 阅读:20 留言:0更新日期:2017-11-30 17:20
在实施例中,处理器包括:执行指令的至少一个核;以及存储器保护逻辑,用于对要存储到耦合到处理器的存储器的数据进行加密,基于加密数据生成消息认证码(MAC),MAC具有根据第一密钥的第一值,从存储器获得加密数据并且使用MAC验证加密数据,其中MAC将被进行密钥更新以具有根据第二密钥的第二值,而无需加密数据。描述和要求保护其他实施例。

【技术实现步骤摘要】
【国外来华专利技术】保护存储器
实施例涉及对存储器的保护。
技术介绍
对计算系统的基于存储器的攻击越来越多受到关注。由于缺乏机密性、完整性和回滚保护,各种各样的攻击可能发生以窃取有价值的数据(特别是当存储在存储器中时)并获得对系统的控制。现有解决方案提供部分保护以试图降低性能开销或提供更健壮的保护,但具有高性能和存储开销,这阻碍了广泛采用。附图说明图1是根据实施例的处理器的框图。图2是根据本专利技术的实施例的用于处理写入操作的方法的流程图。图3是根据本专利技术的实施例的用于处理读取操作的方法的流程图。图4是根据本专利技术的一个实施例的密钥更新(re-keying)方法的流程图。图5是根据本专利技术的另一个实施例的密钥更新方法的流程图。图6是根据本专利技术实施例的MAC存储区的框图。图7是可以使用实施例的示例系统的框图。图8是可以使用实施例的示例系统的框图。图9是根据本专利技术实施例的系统的框图。具体实施方式实施例提供一组用于对具有低延迟、带宽和存储开销的存储器系统实施机密性、完整性和回滚保护的技术。因此,实施例可以被用于广泛的应用并且更好地扩展以适应未来的产品。更具体地,实施例提供了总存储器保护(TMP)技术,使得要提供给耦合到诸如中央处理单元(CPU)、片上系统(SoC)或其他多核处理器的主系统处理器的存储器的所有信息通过机密性、完整性检查和回滚保护机制而得到保护。在实施例中,从处理器发送到片外存储器(例如动态随机存取存储器(DRAM)和/或非易失性随机存取存储器(RAM))的所有数据可以使用带密文窃取(ciphertextstealing)的基于XEX的调整码本(tweaked-codebook)模式,所谓的XTS高级加密标准(XTS-AES)加密来加密以提供机密性。更一般地,可以利用任何不引起存储开销以提供机密性的加密方案。这种技术的示例包括:电子码本(ECB)或其它AES模式,包括LRW,XEX或XTS。在实施例中,可以通过为发送到存储器的每个数据段生成诸如消息认证码(MAC)的完整性值来执行完整性。为了在MAC之间实现良好的冲突避免,可以为每个64字节(B)高速缓存行生成至少56比特(b)MAC。所产生的存储开销约为10%。可以通过执行用于生成MAC值的加密密钥(本文也称为MAC密钥)的周期性再生和MAC本身的再生来实现回滚保护,而不需要昂贵的计数器存储区。注意,整个受保护的存储器范围不必进行密钥更新,因为它足以更新MAC本身,这在实施例中仅消耗大约10%的受保护存储区。在相对较低的10%的存储开销和低性能开销的情况下,实施例可以跨整个系统存储器范围使用,并且可以跨从便携式设备延伸到服务器平台以及具有高存储器带宽要求的未来用途的广泛产品可扩展。防回滚保护可以确保攻击者在没有检测的情况下没有确定性的方式重放数据行。因此,实施例在最小的性能开销下提供了强大的安全保证。实施例可以通过避免使用基于计数器的加密技术来实现用于为系统存储器提供机密性、完整性和回滚保护的低开销可扩展解决方案。没有计数器,MAC存储区开销相对较低,可以进行MAC的定期密钥更新以进行回滚预防。与独立于数据(待加密)本身的计数器模式加密相反,实施例可以利用数据相关(非计数器)模式加密。因此,实施例还避免使用完整性树,,完整性树还会增加存储开销和额外的带宽开销以获得除了所请求的数据之外的树结果。此外,存储器保护的带宽开销可能相对较低,因为每个存储器访问可以包括至多一个其他访问以读/写MAC。对于MAC进行密钥更新将引起一些额外的带宽和延迟开销,但是对于许多应用,这些业务的大部分将在空闲时段期间执行,并且因此可以在延迟关键业务的突发期间阻止业务开销。在一些实现中,MAC值的本地缓存(例如在处理器的专用高速缓存存储器中)可以甚至更低地降低带宽开销。为了将MAC计算延迟保持在关键读取路径之外,可以基于密文而不是明文来计算MAC。由于MAC计算在加密完成后开始,所以这样的设计可能会为非关键写入路径增加延迟。然而,这种设计允许MAC检查在密文到达读取返回路径之后立即开始。如果在来自系统存储器的密文之后,MAC到达下一个周期,则可以掩蔽(mask)由于完整性检查而导致的读取响应延迟开销。更具体地,可以通过在发生仲裁的读取响应流水线的最后周期期间执行MAC比较来实现该掩蔽。如果读取响应流水线没有额外的周期来吸收此延迟,则可以使用惰性认证(lazyauthentication)来隐藏此延迟。在这种场景中,假设认证将成功,读取响应数据可被发送回请求者(例如,核)。如果MAC检查失败,则触发错误条件,以防止任何损坏的数据被提交到永久系统状态。可以实现回滚保护,其中攻击者无法确定性地回滚受保护的存储器。为了提供回滚保护,与每个数据行相关联的MAC是带密钥的MAC。在不同的实施例中,可以使用基于安全散列算法(SHA)或消息摘要算法(MD5)的密钥散列MAC(HMAC)。通过MAC值的定期密钥更新来提供回滚保护。为了保持该操作的开销较低,用于产生MAC的密钥可能在整个存储器区域中缓慢且连续地改变。保持移动指针移动通过存储器范围的MAC部分。存储在指针上方的位置的任何MAC都在新的密钥范围内,指针下方的MAC仍然在旧密钥的范围内。在这样的实施例中,在任何给定点上不多于两个密钥是活的,保持复杂度低。请注意,在对于给定的MAC的密钥更新之间的时期期间(称为回滚窗口),回滚攻击或许是可能的。然而,该窗口大小是非确定性的并且相对较短(例如,数分钟的数量级),从而显著增加了复杂性并且降低了进行成功的存储器回滚攻击的可能性。现在参考图1,示出了根据实施例的处理器的框图。如图1所示,处理器100被实现为多核处理器,并且可以采取片上系统(SoC)或其他多核处理器的形式。作为示例,实施例可以用于适用于并入各种计算系统的多核处理器,范围从便携式设备(例如智能电话,平板计算机等)到客户端计算机系统和服务器计算机系统。如图所示,处理器100包括多个核110a-110n。在不同的实施例中,核110可以是一组同构的核或异构的核的混合物。在一些情况下,核110可以被实现为有序、乱序或组合的这样的核。此外,存在图形处理单元(GPU)120。在一些情况下,提供单个图形处理器来执行使用与核110不同的流水线架构的专用图形处理。当然,应理解,在某些情况下,可以提供多个GPU,而在其他情况下,处理器可以不包括专用GPU。共享高速缓存130耦合到各种处理核。在实施例中,共享高速缓存130可以是在各种核和图形处理器之间共享的最后一级高速缓存(LLC)。进一步理解,核本身中可能存在附加级别的高速缓存层次结构,例如核或图形处理器内部的私有级别1和级别2高速缓存。当然,在其他实施例中可以存在其他高速缓存架构。为了执行如本文所述的总体存储器保护的目的,存在总存储器保护(TMP)模块140。理解的是,TMP模块140可以被实现为硬件、软件和/或固件的适当组合。在不同的处理器实现中,TMP模块140的电路可以以独立的方式实现,以充当共享高速缓存130和耦合到处理器100的给定存储器例如动态随机存取存储器(DRAM)或其他此类系统存储器之间的接口。在其他情况下,TMP模块140可以在处理器100的集成存储器控制器内实现,其用于对相关联的存储本文档来自技高网...
保护存储器

【技术保护点】
一种方法,包括:响应于读请求,在处理器的存储器保护逻辑中获得来自存储器的加密数据,并根据数据相关解密模式对所述加密数据进行解密以获得解密数据;基于所述加密数据生成验证完整性值;用第一密钥对加密的完整性值进行解密,所述加密的完整性值与所述加密数据相关联;以及基于解密的完整性值与所述验证完整性值的比较,将所述解密数据提供给目的地。

【技术特征摘要】
【国外来华专利技术】2015.03.27 US 14/669,2261.一种方法,包括:响应于读请求,在处理器的存储器保护逻辑中获得来自存储器的加密数据,并根据数据相关解密模式对所述加密数据进行解密以获得解密数据;基于所述加密数据生成验证完整性值;用第一密钥对加密的完整性值进行解密,所述加密的完整性值与所述加密数据相关联;以及基于解密的完整性值与所述验证完整性值的比较,将所述解密数据提供给目的地。2.根据权利要求1所述的方法,还包括:如果所述解密的完整性值与所述验证完整性值的比较导致不匹配,则报告完整性违背,而不向所述目的地提供所述解密数据。3.根据权利要求1所述的方法,还包括从所述处理器的高速缓存存储器获得所述加密的完整性值。4.根据权利要求1所述的方法,还包括:基于所述加密数据生成第一完整性值,并且用第一密钥对所述第一完整性值进行加密;之后,用所述第一密钥对所述第一完整性值进行解密;以及用第二密钥对所述第一完整性值进行加密,以获得所述加密的完整性值,其中,在密钥更新操作期间执行对所述第一完整性值的解密和用所述第二密钥进行对所述第一完整性值的加密。5.根据权利要求4所述的方法,还包括:在存储器请求和针对所述第一完整性值的密钥更新操作之间进行仲裁;以及当与所述密钥更新操作相关联的第一优先级大于与所述存储器请求相关联的第二优先级时,选择针对所述第一完整性值的密钥更新操作。6.根据权利要求1所述的方法,还包括根据密钥更新调度,对每个均与存储在所述存储器中的数据段相关联的多个完整性值进行密钥更新。7.根据权利要求6所述的方法,还保持指向要进行密钥更新的所述多个完整性值的下一个完整性值的指针。8.根据权利要求6所述的方法,还包括当所述存储器保护逻辑空闲时,对所述多个完整性值中的至少一些完整性值进行密钥更新。9.根据权利要求1所述的方法,还包括在所述解密的完整性值与所述验证完整性值的比较之前,将所述解密数据提供给所述目的地,并且如果所述比较导致不匹配,则产生错误以防止所述解密的数据被提交到所述处理器的状态。10.根据权利要求1所述的方法,还包括:响应于写请求,在所述存储器保护逻辑中接收来自核的未加密数据;根据数据相关加密模式对所述未加密数据进行加密以生成所述加密数据;以及将所述加密数据发送到所述存储器。11.根据权利要求10所述的方法,还包括:基于所述加密数据生成完整性值;用所述第一密钥对所述完整性值进行加密以获得所述加密的完整性值;以及将所述加密的完整性值发送到所述存储器,所述加密的完整性值要被与所述加密数据相关联地存储在所述存储器中。12.一种机器可读存储介质,其包括机器可读指令,所述指令当被执行时,实现根据权利要求1至11中任一项所述的方法。13.一种装置,包括用于执行根据权利要求1至11中任一项所述的方法的单元。14.一种处理器,包括:执行指令的至少一个核;以及存储器保护逻辑,用于对要被...

【专利技术属性】
技术研发人员:E·M·基申维斯凯S·查伯拉龙门J·欧D·M·德拉姆
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1