使用与高速缓存行有关的存储器所有权位防止信任域访问.pdf
《使用与高速缓存行有关的存储器所有权位防止信任域访问.pdf》由会员分享,可在线阅读,更多相关《使用与高速缓存行有关的存储器所有权位防止信任域访问.pdf(53页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010217852.1 (22)申请日 2020.03.25 (30)优先权数据 16/456,718 2019.06.28 US (71)申请人 英特尔公司 地址 美国加利福尼亚州 (72)发明人 S查博拉V尚伯格 RL萨希塔 (74)专利代理机构 上海专利商标事务所有限公 司 31100 代理人 李炜黄嵩泉 (51)Int.Cl. G06F 21/57(2013.01) G06F 21/60(2013.01) H04L 9/08(2006.01) G06F 9/455(。
2、2006.01) (54)发明名称 使用与高速缓存行有关的存储器所有权位 防止信任域访问 (57)摘要 处理器包括处理器核以及耦合到该处理器 核的存储器控制器。 存储器控制器包括密码引 擎, 该密码引擎用于: 在针对高速缓存行的写入 请求中检测存储器中的位置的物理地址内的密 钥标识符(ID); 确定密钥ID是多个密钥ID中的信 任域密钥ID; 响应于确定了密钥ID是信任域密钥 ID, 对高速缓存行的所有权位置位以指示高速缓 存行属于信任域; 对高速缓存行进行加密以生成 经加密的数据; 确定与高速缓存行相关联的消息 认证码(MAC); 并且将所述高速缓存行的经加密 的数据、 所有权位以及MAC写。
3、入存储器。 权利要求书3页 说明书30页 附图19页 CN 112149125 A 2020.12.29 CN 112149125 A 1.一种处理器, 包括: 处理器核; 以及 存储器控制器, 耦合至所述处理器核, 所述存储器控制器包括密码引擎, 所述密码引擎 用于: 在针对高速缓存行的写入请求内检测存储器中的位置的物理地址中的密钥标识符ID; 确定所述密钥ID是多个密钥ID中的信任域密钥ID; 响应于确定了所述密钥ID是所述信任域密钥ID, 对所述高速缓存行的所有权位置位以 指示所述高速缓存行属于信任域; 对所述高速缓存行进行加密以生成经加密的数据; 确定与所述高速缓存行相关联的消息认证码。
4、MAC; 以及 将所述高速缓存行的所述经加密的数据、 所述所有权位以及所述MAC写入所述存储器。 2.根据权利要求1所述的处理器, 其特征在于, 所述存储器包括隔绝范围, 存储在所述 存储器中的与所述高速缓存行相关联的所述所有权位所被写入所述隔绝范围, 所述处理器 进一步包括管芯上高速缓存, 用于对针对所述处理器核的所述所有权位进行高速缓存。 3.根据权利要求1所述的处理器, 其特征在于, 为了确定所述MAC, 所述密码引擎进一步 用于对至少所述经加密的数据、 经加密的物理地址和所述所有权位的组合应用带密钥的散 列算法。 4.根据权利要求1所述的处理器, 其特征在于, 所述所有权位与所述高速缓。
5、存行的纠错 码ECC位一起被编码。 5.根据权利要求4所述的处理器, 其特征在于, 所述密码引擎进一步用于结合将所述高 速缓存行写入所述存储器来生成ECC计算, 其中所述所有权位被包括在所述ECC计算内。 6.根据权利要求1所述的处理器, 其特征在于, 响应于对所述高速缓存行的读取请求, 所述密码引擎进一步用于: 确定所述读取请求内的第二密钥ID是否是所述多个密钥ID中的信任域密钥ID; 以及 记录指示所述第二密钥ID是否是信任域密钥ID的访问类型位。 7.如权利要求6所述的处理器, 其特征在于, 所述密码引擎进一步用于: 确定所述访问类型位的值与所述所有权位的值匹配; 验证相对于所述MAC的。
6、完整性; 以及 响应于所述读取请求并且响应于MAC不匹配, 返回污染位以及与固定模式匹配的无效 数据。 8.根据权利要求7所述的处理器, 其特征在于, 所述密码引擎进一步用于对所述密码引 擎的密钥数据结构中的污染状态位置位, 所述污染状态位与所述密钥ID相关联。 9.如权利要求6所述的处理器, 其特征在于, 所述密码引擎进一步用于: 确定所述访问类型位的值与所述所有权位的值不匹配; 以及 响应于所述读取请求, 返回污染位以及与固定模式匹配的无效数据。 10.一种方法, 包括: 由处理器的存储器控制器在针对高速缓存行的写入请求内检测存储器中的位置的物 理地址中的密钥标识符ID; 由所述存储器控制。
7、器确定所述密钥ID是多个密钥ID中的信任域密钥ID; 权利要求书 1/3 页 2 CN 112149125 A 2 由所述存储器控制器响应于确定了所述密钥ID是所述信任域密钥ID, 对所述高速缓存 行的所有权位置位以指示所述高速缓存行属于信任域; 由所述存储器控制器对所述高速缓存行进行加密以生成经加密的数据; 由所述存储器控制器确定与所述高速缓存行相关联的消息认证码MAC; 以及 由所述存储器控制器将所述高速缓存行的所述经加密的数据、 所述所有权位以及所述 MAC写入所述存储器。 11.根据权利要求10所述的方法, 其特征在于, 所述存储器包括隔绝范围, 存储在所述 存储器中的与所述高速缓存行。
8、相关联的所述所有权位被写入所述隔绝范围, 所述方法进一 步包括: 将所述所有权位高速缓存在所述处理器的管芯上高速缓存中。 12.根据权利要求10所述的方法, 其特征在于, 确定所述MAC包括: 对至少所述经加密的 数据、 经加密的物理地址和所述所有权位的组合应用带密钥的散列算法。 13.如权利要求10所述的方法, 还包括: 将所述所有权位编码在所述高速缓存行的纠错码ECC内; 以及 结合将所述高速缓存行写入所述存储器来生成ECC计算, 所述ECC计算包括所述所有权 位。 14.如权利要求10所述的方法, 其特征在于, 响应于对所述高速缓存行的读取请求, 所 述方法进一步包括: 确定所述读取请求。
9、内的第二密钥ID是否为所述多个密钥ID中的信任域密钥ID; 以及 记录指示所述第二密钥ID是否为信任域密钥ID的访问类型位。 15.如权利要求14所述的方法, 进一步包括: 确定所述访问类型位的值与所述所有权位的值匹配; 验证相对于所述MAC的完整性; 以及 响应于所述读取请求并且响应于MAC不匹配, 返回污染位以及与固定模式匹配的无效 数据。 16.如权利要求15所述的方法, 进一步包括: 对所述存储器控制器的密钥数据结构中的 污染状态位置位, 所述污染状态位与所述密钥ID相关联。 17.如权利要求14所述的方法, 进一步包括: 确定所述访问类型位的值与所述所有权位的值不匹配; 以及 响应于。
10、所述读取请求, 返回污染位以及与固定模式匹配的无效数据。 18.一种系统, 包括: 存储器设备, 用于存储高速缓存行及相关联的所有权位; 处理器核; 以及 存储器控制器, 耦合在所述存储器设备与所述处理器核之间, 其中所述存储器控制器 包括密码引擎, 所述密码引擎用于: 在来自所述处理器核的针对高速缓存行的读取请求内检测所述存储器设备中的位置 的物理地址内的密钥标识符ID; 确定所述密钥ID是多个密钥ID中的信任域密钥ID; 从所述存储器读取所述高速缓存行; 以及 确定存储在所述存储器设备中的针对所述高速缓存行的所有权位是否被置位以指示 权利要求书 2/3 页 3 CN 112149125 A。
11、 3 所述高速缓存行属于信任域。 19.如权利要求18所述的系统, 其特征在于, 所述密码引擎进一步用于: 记录指示所述密钥ID是否为所述信任域密钥ID的访问类型位; 以及 确定所述访问类型位的值是否与所述所有权位的值匹配。 20.如权利要求19所述的系统, 其特征在于, 响应于确定了所述访问类型位的值与所述 所有权位的值匹配, 所述密码引擎进一步用于: 确定密钥数据结构中的与所述密钥ID相关联的污染状态位被置位; 以及 响应于所述读取请求, 返回污染位以及与固定模式匹配的无效数据。 21.如权利要求19所述的系统, 其特征在于, 响应于确定了所述访问类型位的值与所述 所有权位的值匹配, 所述。
12、密码引擎进一步用于: 确定密钥数据结构中的与所述密钥ID相关联的污染状态位未被置位; 验证相对于与所述高速缓存行一起存储的消息认证码MAC的完整性; 以及 响应于所述读取请求并且响应于MAC不匹配, 返回污染位以及与固定模式匹配的无效 数据。 22.如权利要求21所述的系统, 其特征在于, 所述密码引擎进一步用于: 确定密钥污染被启用; 以及 对密钥数据结构中与所述密钥ID相关联的污染状态位置位, 以指示所述密钥ID是无效 的。 23.至少一种机器可读介质, 包括多条指令, 所述多条指令响应于在计算设备上执行而 使得所述计算设备执行根据权利要求10至17中的任一项所述的方法。 24.一种设备,。
13、 包括用于执行如权利要求10至17中的任一项所述的方法的装置。 权利要求书 3/3 页 4 CN 112149125 A 4 使用与高速缓存行有关的存储器所有权位防止信任域访问 技术领域 0001 本公开涉及计算机系统, 更具体地, 涉及使用与高速缓存行有关的存储器所有权 位防止信任域访问。 背景技术 0002 现代计算系统采用盘加密来保护静态地存储在硬盘驱动器盘或其他数据存储上 的数据。 然而, 攻击者可以使用各种技术(包括总线扫描、 存储器扫描等)从存储器检取数 据。 存储器本身可以包括用于盘加密的密钥, 从而使在盘驱动器上被加密的数据暴露。 即使 首先对存储在存储器中的数据进行加密, 对。
14、经加密的数据的访问仍然允许进行各种类型的 重放攻击。 因此, 已经采用了各种技术来保护驻留在存储器的至少一些区域中的敏感数据。 这样做已变得具有挑战性, 尤其是在云或服务器环境中, 其中在同一服务器上可同时支持 (来自不同实体的)多个客户工作负载。 对不同实体的数据进行充分安全保护的要求也已扩 展到针对重放攻击的防护。 附图说明 0003 图1A是图示根据一个实现方式的示例计算系统的框图, 该示例计算系统使得信任 域(TD)架构与多密钥完全存储器加密(MK-TME)技术能够在虚拟化系统中共存。 0004 图1B是图示根据一个实现方式的使得TD架构与MK-TME技术能够共存的计算系统 的处理器的。
15、示例处理器核的框图。 0005 图2A是图示根据一个实现方式的划分为TD和MK-TME密钥ID的加密密钥标识符 (ID)空间的图。 0006 图2B是图示根据一个实现方式的使用与物理存储器地址级联的地址空间的M个位 编码并划分为TDX和MK-TMEi密钥ID的加密密钥ID的图。 0007 图2C是根据一个实现方式的由密钥ID索引并存储密钥ID与加密密钥的关联性的 微架构密钥加密表的图示。 0008 图2D是根据一个实现方式的由密钥ID索引并存储密钥ID向各种信任域的分配的 微架构密钥所有权表的图示。 0009 图3是根据一个实现方式的用于对TD进行软件攻击的方法的流程图。 0010 图4是图示。
16、根据一个实现方式的密码引擎与所有权位进行交互以跟踪高速缓存行 的TD所有权的功能流程图。 0011 图5是根据一个实现方式的用于在将高速缓存行写入存储器时写入所有权位的方 法的流程图。 0012 图6是根据一个实现方式的用于在读取存储器中的高速缓存行时读取所有权位的 方法的流程图。 0013 图7A-7B是根据各种实现方式的用于在高速缓存行读取操作期间使用所有权位和 密钥ID污染指示符的方法的流程图。 说明书 1/30 页 5 CN 112149125 A 5 0014 图8A是图示用于处理器的微架构的框图, 在该微架构中可使用本公开的一个实现 方式。 0015 图8B是图示根据本公开的至少一。
17、个实现方式而实现的有序流水线以及寄存器重 命名级、 乱序发布/执行流水线的框图。 0016 图9图示根据一个实现方式的用于处理设备的微架构的框图, 该处理设备包括使 用在高速缓存行上标记的所有权位来提供TD存储器访问校验的逻辑电路。 0017 图10是根据一个实现方式的计算机系统的框图。 0018 图11是根据另一实现方式的计算机系统的框图。 0019 图12是根据一个实现方式的片上系统的框图。 0020 图13图示出计算系统的框图的另一实现方式。 0021 图14图示出计算系统的框图的另一实现方式。 具体实施方式 0022 本公开的各方面针对一种处理器的存储器控制器, 其可以用所有权位标记存。
18、储在 系统存储器中的高速缓存行。 可以被包含在与高速缓存行相关联的元数据中的所有权位指 示该高速缓存行是否属于信任域(TD)。 可以在响应于确定位于写入请求的物理地址内的密 钥标识符(ID)属于TD而对高速缓存行写入时对所有权位置位。 在执行对高速缓存行的读取 时, 针对所有权位的值来校验读取请求中的密钥ID的访问类型(例如, 是否为TD密钥ID)。 如 果存在不匹配, 则存储器控制器可以响应于读取请求而返回污染位和与固定模式(例如, 全 零或全一)匹配的无效数据。 以此方式, 攻击者无法获得存储在高速缓存行中的针对TD的经 加密的数据的访问权。 尽管本公开的实现方式可以涉及云服务提供商(CS。
19、P)的客户, 但信任 域也可以是任何容器(例如, 虚拟机)、 操作系统或设备, 这些容器、 操作系统或设备以与同 一平台上可用的另一个容器、 操作系统或设备相比增强的安全性来处理。 0023 云服务器计算和虚拟计算环境为各种设备提供远程计算资源和远程数据存储资 源。 远程计算和数据存储使保护数据免受未经授权的人员和恶意软件的访问尤为重要。 保 护存储器中数据的一种方式是使用完全存储器加密(Total Memory Encryption, TME)技 术, 其中可以使用加密密钥对在处理器核上执行的软件的存储器访问进行加密。 例如, 当处 理器进行对存储器的写入请求时, 可以在将数据写入存储器的高。
20、速缓存行之前通过存储器 加密引擎(或其他密码引擎)对数据进行加密。 当从存储器读取数据时, 数据将以加密形式 发送到处理器。 一旦数据已到达处理器, 存储器加密引擎就可以用加密密钥对该数据进行 解密。 由于数据以明文形式保留在处理器中, 因此TME技术不需要对现有软件、 以及现有软 件与处理器交互的方式进行修改。 0024 在各种实现方式中, 在与多密钥完全存储器加密(MK-TME)技术一同起作用的TD基 础结构的上下文中, 提供了通过使用基于高速缓存行的所有权位提供的增加的安全性。 MK- TME技术是TME技术的扩展, 其提供了对多个加密密钥的支持, 从而允许进行分区的存储器 加密。 例如。
21、, MK-TME技术为操作系统(或虚拟计算环境中的管理程序, 也称为虚拟机监视器 (VMM)提供了不同加密密钥的使用来对与不同客户端/应用相关联的物理存储器的页进行 加密。 这些客户端/应用在本文中通常称为虚拟机(VM), 其中一个可以是管理程序, 但是客 户端/应用在不同的实现方式中可以是另一种类型。 TD基础架构指的是允许一些VM(称为 说明书 2/30 页 6 CN 112149125 A 6 TD)在高度安全的环境中执行, 在该高度安全的环境中, 甚至操作系统(或管理程序)可能也 不具有对属于TD的物理存储器页的访问权。 多密钥扩展尤其适用于诸如由CSP使用的架构 之类的多域架构, 因。
22、为所支持密钥的数量可以是依赖于实现方式的。 在一些实现方式中, MK-TMEi技术包括完整性保护, 例如, 经由消息认证码(MAC)验证, 因此有时被称为MK-TMEi 技术。 0025 在TD扩展(TDX)架构中, 可以存在与于不同的客户机(例如, VM)、 宾客操作系统、 主 机操作系统、 管理程序等对应的多个安全TD。 此外, 甚至由同一宾客操作系统内的同一客户 端运行的不同应用可以被安全地执行。 为了在存在多个TD时确保安全计算的可缩放性, 每 个TD都可以使用对于TD在外部操作的软件不可用的一个或多个私有密钥。 在一些实例中, 在一个安全域中执行的软件可具有对专用于那个特定域的私钥以。
23、及对可由多个域使用的 共享密钥的访问权。 例如, 在安全域内运行的软件可以将私钥用于其安全执行, 诸如, 读、 写 或运行操作。 另一方面, 相同的软件可以使用共享密钥来访问与其他域共享的结构或设备, 诸如, 打印机、 键盘、 鼠标、 监视器、 网络适配器、 路由器等 0026 尽管在MK-TME引擎中实现的密码机制被用来为TD数据提供机密性和完整性, 但它 们不足以针对所有攻击进行保护。 更具体地, 具有对TD密文数据的访问权的不受信任的软 件(例如, CSP软件)可通过推测性和非推测性手段两者损害数据的机密性和/或完整性。 这 些攻击通常称为重放攻击, 诸如, 为跟踪失败的登录尝试的计数器。
24、提供密文数据, 以重置计 数器并启用无限制的蛮力尝试来破解密码。 在建立重放攻击时, 攻击者可生成索引到密文 数据的存储器地址的字典, 然后使用该字典在稍后将密文存储到特定的存储器位置。 因此, 本公开的实现方式通过防止任何非TD代理访问密文(或加密的)数据来防止这种攻击, 这进 而可以防止重放攻击。 0027 在一个实现方式中, 处理器包括处理器核和耦合到处理器核的存储器控制器。 存 储器控制器包括密码引擎(诸如, MK-TME引擎), 以在对高速缓存行的写入请求内检测存储 器中的位置的物理地址内的密钥ID。 密码引擎可以进一步确定密钥ID是多个密钥ID中的信 任域密钥ID, 并且因此对高速。
25、缓存行的所有权位置位以指示高速缓存行属于信任域。 密码 引擎可以进一步高速缓存行进行加密以生成加密的数据, 并确定与高速缓存行相关联的 MAC。 该密码引擎可进一步向存储器写入加密的数据、 所有权位以及高速缓存行的MAC。 这可 以结束包括更新所有权位的写入。 0028 在另外的或替代的实现方式中, 系统包括用于存储高速缓存行和相关联的所有权 位的存储器设备、 处理器核以及耦合在该存储器设备与处理器核之间的存储器控制器。 存 储器控制器可以包括密码引擎, 以在来自处理器核(或其他系统代理)的对高速缓存行的读 取请求内检测存储器中的位置的物理地址内的密钥ID。 密码引擎可以进一步确定密钥ID是 。
26、多个密钥ID中的信任域密钥ID, 从存储器设备读取高速缓存行, 并且确定存储在存储器设 备中的针对高速缓存行的所有权位是否被置位为指示高速缓存行属于信任域。 如果所有权 位指示高速缓存行属于TD, 则存储器控制器可以继续对存储在高速缓存行处的经加密的数 据进行解密, 通过MAC校验来验证完整性, 并且假设完整性校验通过而返回未加密的数据。 否则, 如果所有权位不指示高速缓存行属于TD, 则存储器控制器可以响应于读取请求而返 回污染位和与固定模式匹配的无效数据。 0029 在实现方式中, 与存储器中的高速缓存行相关的所有权位的使用提供了许多优 说明书 3/30 页 7 CN 112149125 。
27、A 7 势。 一个优点是防止上述重放攻击, 在重放攻击中, 攻击者可以使用加密的数据在稍后时间 重放以破坏安全机制, 包括破解密码或对MAC进行蛮力确定以便通过完整性校验。 另一个优 点是在公开的系统(例如, 虚拟化服务器)引导时避免使用范围寄存器, 以便预留专用于由 TDX架构独占使用的大量系统存储器。 更具体地, 基于范围寄存器的解决方案将需要为TDX 用途预先预留大部分系统存储器, 从而使系统无法用于其他非安全用途, 包括用于VMM本 身。 如此多的系统存储器的不灵活预留使范围寄存器解决方案实现起来不切实际。 通过实 现取决于客户(例如, CSP租户)工作负载来灵活使用任意量的系统存储器。
28、, 将所有权位与存 储器中的高速缓存行一起使用提供类似的独占以由任何非TD代理访问。 0030 图1A图示示例计算系统100, 该示例计算系统100使TDX和MK-TMEi技术能够在支持 多个客户端设备102A、 102B和102C的虚拟化服务器110上共存。 计算系统100可以进一步包 括网络接口104以及共享硬件设备160A和160B。 虚拟化服务器110可以包括但不限于处理器 112、 存储器设备130以及一个或多个TD 150A、 150B和150C。 处理器112可执行虚拟机监视器 (VMM)或管理程序140、 TD资源管理器(TDRM)142, 其进而可运行一个或多个虚拟机(VM)。
29、155。 在各种实现方式中, 处理器112可包括一个或多个处理器核114、 一个或多个寄存器116(例 如, 硬件寄存器)、 高速缓存118、 所有权位(OB)高速缓存118A, 以及存储器控制器120, 例如, 存储器管理单元。 0031 在一个实现方式中, 存储器控制器120进而包括具有一个或多个密钥数据结构121 的密码引擎136(诸如, 在一个实现方式中的MK-TME引擎), 在该密钥数据结构121中存储密 钥加密表(KET)122和密钥所有权表(KOT)124, 这将参考图2C-2D更详细地讨论。 在另一实现 方式中, 如虚线所示(可选的), 密码引擎136位于存储器控制器120外部。
30、的非核中, 但仍耦合 至存储器控制器120。 OB高速缓存118A可以是管芯上高速缓存, 以供密码引擎136使用以对 来自存储器设备130的隔绝范围的所有权位进行高速缓存, 如将参考图4所讨论。 在各实现 方式中, 存储器设备130是以下中的任何一者: 动态随机存取存储器(DRAM)、 同步DRAM (SDRAM)、 静态存储器(诸如, 静态随机存取存储器SRAM)、 闪存、 数据存储设备或此类存储器 设备的组合。 为了简洁起见, 存储器设备130也简称为存储器130。 0032 在一个实现方式中, 虚拟化服务器110是运行虚拟化架构的CSP主机服务器, 其运 行MK-TME技术和TDX架构两。
31、者以实现客户端/租户应用的高效执行。 例如, 主机服务器可在 TD内执行高度敏感的应用, 使得管理程序140不具有对存储器页、 分配给TD的加密密钥以及 该TD的可信计算基础(TCB)的访问权。 同时, 虚拟化服务器110可使用MK-TME技术运行要求 较少的安全和隔离的应用, 其中, 管理程序140保留对存储器页以及在这些较不敏感的应用 中使用的加密密钥的控制。 管理程序140随后可使用不同的MK-TME密钥来将不同的应用彼 此隔离, 但仍保持在每个应用的TCB中。 0033 每个客户端设备102A、 102B、 102C可以是远程台式计算机、 平板电脑、 智能电话、 另 一个服务器、 薄客。
32、户端/瘦客户端等。 每个客户端设备可以在虚拟化服务器110中在TD 150A、 150B和150C中的一个或多个以及一个或多个VM 155中执行应用, 其中VM在每个相应 TD的TCB外部运行。 管理程序140可以执行虚拟机环境, 其中管理程序利用主机的硬件能力 并用于执行一个或多个宾客操作系统, 该一个或多个宾客操作系统支持从单独的客户端设 备102A、 102B和102C运行的客户端应用。 在一个实现方式中, 单个TD(诸如, TD 150A)可以向 单个客户端102A提供安全的执行环境, 并支持单个宾客OS。 在另一个实现方式中, 一个TD可 说明书 4/30 页 8 CN 112149。
33、125 A 8 以支持多个租户, 每个租户都运行单独的虚拟机并由在TD内部运行的租户虚拟机监视器 (租户VMM)来促进。 租户VMM(图1中未明确示出)可以与管理程序(主机VMM)140通信以访问 存储器130和处理器112。 TD 150A-C的执行状态可以由TDRM 142来进一步启用。 TDRM 142可 以是管理程序140的扩展, 也可以作为管理程序140所支持的单独资源。 0034 在实现方式中, TDRM 142和管理程序140充当TD的主机, 并控制TD对处理器112和 其他系统硬件的访问。 处理器112可以具有一个或多个处理器核114、 硬件寄存器116和高速 缓存118。 存。
34、储器控制器120可以控制存储器操作, 以包括使用密码引擎136来利用适当的加 密密钥对被写入存储器的数据进行加密并且对从存储器读取的数据进行解密。 处理器112 可以具有进入TDX模式的能力, 在TDX模式中, 将TDX指令加载到处理器112的硬件寄存器116 (诸如, 控制寄存器或型号专用寄存器)中, 以促进存储器与不属于该TD的TCB的任何软件的 隔离。 TDRM 142可以进入和退出TDX模式。 TDRM 142可充当主机, 并且具有对处理器和其他 平台硬件的控制。 TDRM 142可以向TD(例如, TD 150A)中的软件指派(多个)逻辑处理器, 但 是可以不在所指派的(多个)逻辑处。
35、理器上访问TD的执行状态。 类似地, TDRM 142可以将物 理存储器和I/O资源指派给TD, 但是由于多个单独的加密密钥以及对存储器的其他完整性/ 重放控制而不参与访问/骗取TD的存储器状态。 0035 TD表示可以支持包括VMM、 宾客操作系统和由一个或多个宾客OS托管的各种应用 软件的软件栈的软件环境。 每个TD可独立于其他TD操作, 并且使用由TDRM指派的(多个)逻 辑处理器、 存储器和I/O。 在TD中执行的软件能够以降低的特权操作, 使得TDRM可保留对平 台资源的控制。 另一方面, TDRM无法访问与TD相关联的数据, 并且无法以某种其他方式影响 TD的机密性或完整性。 00。
36、36 TDRM 142(或TDRM的管理程序部分)可以执行加密密钥的管理。 例如, TDRM可以将 不同的密钥指派给不同的TD, 在存储器加密引擎上配置密钥, 在要将密钥重新指派给不同 的TD时要求执行高速缓存转储清除, 等等。 在本公开的实现方式中, TD架构中的TDRM 142充 当用于TD的主机, 并且具有对核和其他平台硬件的完全控制。 TDRM 142将(多个)逻辑处理 器指派给TD中的软件。 然而, TDRM 142可能不具有对在所指派的(多个)逻辑处理器上的TD 的执行状态的访问权。 类似地, TDRM 142将物理存储器和I/O资源指派给TD, 但由于使用由 处理器针对每个TD实。
37、施的单独的加密密钥以及对存储器的其他完整性和重放控制而不参 与访问TD的存储器状态。 在TD中执行的软件以降低的特权操作, 使得TDRM 142可保留对平 台资源的控制。 然而, 可以不允许TDRM 142通过获得对TD的受信任计算基础的访问权来损 害TD的机密性或完整性。 0037 为了进一步提高TD中数据的安全性, TDX架构可以采用安全地生成的K个加密密 钥。 在一个实现方式中, TDRM 142可以使处理器112(例如, 使用指令TDCREATE)为每个TD生 成短时存储器加密密钥和对应的密钥标识符(ID)。 可以通过唯一密钥ID将加密密钥(例如, K个加密密钥)标识到处理器上运行的软。
38、件。 在一个实现方式中, 用于TD的密钥ID可以被附 加到与该TD相关联的物理存储器地址。 在启动过程中, 基本输入/输出系统(BIOS)(或其他 启动固件)可在物理存储器地址中为特定数量的密钥ID分配一定范围的位。 例如, 在一个实 现方式中, BIOS可以将一定范围的位存储在硬件寄存器116(诸如, 型号专用寄存器MSR)中。 在引导之后, 计算系统100可以从MSR检取该一定范围的位, 并且采用那些位来对物理存储 器地址内的密钥ID进行编码。 说明书 5/30 页 9 CN 112149125 A 9 0038 在各种实现方式中, 每个密钥ID可以是具有二进制表示的任何数字。 例如, 在。
39、一个 实现方式中, 可以使用从0开始并以K-1结束的K个连续数字的范围。 在另一实现方式中, 用 于加密密钥ID的表示的数字范围可以从不同的数字开始。 在一些实现方式中, 该范围不需 要是连续的。 加密密钥ID的二进制编码可以包括M个位, 其中M可以是整数, 从而使得M log2K以确保M个位的各种组合的总数2M不小于不同加密密钥的数量K。 0039 存储器130的物理页可以用加密密钥中的一个来加密。 如所讨论, 指示用于存储器 加密的加密密钥的密钥ID可以被添加到存储器(例如, 主机服务器的物理存储器)的物理页 的物理存储器地址, 这将在下文更详细地解释。 在将密钥ID附加到物理存储器地址的。
40、情况 下, 除非存储器操作请求包括页的物理存储器地址和用于对存储器的物理页进行加密/解 密的加密密钥的正确密钥ID两者, 否则由软件请求的存储器操作可能会失败。 存储器操作 可以是涉及存储器的物理页的 “读取” 、“写入” 或 “执行” 操作, 其可以涉及存储器130中的高 速缓存行。 0040 将受限密钥ID与分配给TD以用于私用的物理存储器的物理存储器地址的级联可 以防止对此类存储器的未授权或不安全的访问。 为了维持受限加密密钥与非受限加密密钥 的硬件隔离, 处理器112可能需要启用将密钥ID划分为受限TD密钥ID(例如, 分配给TDX)和 非受限MK-TME密钥ID(例如, 分配给管理程。
41、序、 TDRM、 OS或TD的TCB外部的其他软件), 并在执 行TDX架构期间在存储在处理器内的一个或多个数据结构(诸如例如, 微架构表)中维持此 划分。 在一些实现方式中, 引导软件或固件(例如, BIOS)可以设置此类划分并且将该划分的 标识存储在处理器112的硬件寄存器116中的一个硬件寄存器中, 该硬件寄存器116在计算 系统100的引导之后可以是软件可访问的。 这允许系统在主机服务器中运行TD架构和MK- TME技术两者, 以启用在TD内部运行的高度安全的虚拟机以及受MK-TME机制保护的未修改 的VM。 0041 在一个实现方式中, 为了维持与软件(诸如, 管理程序140)的隔离。
42、, 将密钥ID划分 为受限和非受限可以是静态的。 如果在引导后执行期间确定密钥ID的不同划分可能是最优 的, 则引导后软件(例如, 管理程序140)可以请求对密钥ID进行重新划分。 例如, 如果要求高 度安全的执行的应用的数量已增加, 则这可能是有利的。 在一些实现方式中, 这可以通过引 导后软件发起与请求修改密钥ID划分的引导固件/软件的握手机制来完成。 在握手完成并 确定密钥ID空间的新的期望划分之后, TDRM 142可以使用密钥ID保存当前在处理器上运行 的TD的执行状态, 并执行系统重新引导。 这可以提供灵活性, 以基于工作负载和计算系统的 当前状态在MK-TME和TDX之间定义密钥。
43、ID的划分。 0042 管理程序140可以将逻辑处理器、 物理存储器、 加密密钥ID、 I/O设备等指派给TD, 但不能访问TD的执行状态和/或存储在指派给TD的物理存储器中的数据。 处理器112可以利 用密码引擎136来使用受限的加密密钥以促进安全的数据存储和处置。 例如, 密码引擎136 可以在执行 “写入” 代码时将数据从一个或多个寄存器116或高速缓存118移动到存储器130 之前对该数据进行加密。 相反, 当在 “读取” 或 “执行” 命令之后将数据从存储器130移动到处 理器112时, 密码引擎136可以对数据进行解密。 0043 处理器112的每个处理器核114可以支持与逻辑处理。
44、器相对应的一个或多个硬件 线程。 在一些实现方式中, 处理器核114所支持的逻辑处理器可以由TDRM 142指派给TD 150A-C。 除了客户端虚拟机的基于TDX的实现方式之外, 虚拟化服务器110还可以针对一个 说明书 6/30 页 10 CN 112149125 A 10 或多个客户端设备102A-C执行TD外部的一个或多个VM 155。 然而, TD的信任计算基础外部 的软件(诸如, TDRM 142和管理程序140)可能不具有对分配给TD的物理存储器页和/或TD的 执行状态的访问权, 在TD外部操作的虚拟机针对由管理程序140进行的访问可能不是安全 的。 尽管如此, 在每个TD的TC。
45、B外部操作的虚拟机仍然可以是安全的而免受源自TD或其他虚 拟机的软件访问。 在一些实现方式中, 可通过密码引擎136使用一个或多个非受限加密密钥 来对在处理器112与存储器130之间移动的数据进行加密来防止此类访问。 术语 “非受限” 意 指密钥对于管理程序140是可访问的。 另一方面, 在一些实现方式中, 未授权的TD和VM可被 禁止将此类密钥用于存储器操作。 0044 另外, 在至少一些实现方式中, 可以共享非受限密钥中的一个或多个。 共享密钥可 由两个或更多个实体(诸如, 在TDX环境外部运行的TD和VM)访问。 共享密钥可以用于访问一 个或多个共享结构, 诸如共享硬件设备160A和16。
46、0B, 其可以是打印机、 键盘、 鼠标、 监视器、 网络适配器、 路由器等。 例如, 为了打印图像或文本页, 在TD 150A中操作的软件可能需要在 将数据传输到共享硬件设备之前使用共享密钥对数据加密并将经加密的数据存储在存储 器130中。 在一个实现方式中, 共享硬件设备160A可以经由网络接口104连接到虚拟化服务 器110。 在另一实现方式中, 共享硬件设备可以在虚拟化服务器110本地, 例如由共享硬件设 备160B所示。 0045 存储器控制器120用于控制(多个)处理器核114、 寄存器116、 高速缓存118和存储 器130之间的数据交换。 在一些实现方式中, KET 122用于存。
47、储加密密钥和加密密钥的密钥 ID, 并且KOT 124用于存储密钥ID向TD的分配。 存储器控制器120还可以耦合到在TDX架构外 部运行的VM。 0046 图1B是图示根据一个实现方式的使得TD架构与MK-TME技术能够共存的计算系统 的处理器的示例处理器核的框图。 在图1B所示的实现方式中, 每个处理器核114可以包括高 速缓存118A、 硬件虚拟化支持电路117和硬件寄存器116A。 每个处理器核102可以经由多核 处理器封装上的互连网络107与对应的高速缓存和归属代理(CHA)109通信, 并且与存在于 多核处理器封装外部的一个或多个系统代理170进行通信。 CHA 109可以以高速缓。
48、存行粒度 对归属在该存储器中(例如, 在其本地)的存储器的高速缓存行的副本进行高速缓存。 在不 同的实现方式中, 互连网络107是外围组件互连(PCITM)总线, 诸如, 外围组件互连快速 (PCIeTM)总线或另一定制总线。 系统代理170可以包括盘存储、 设备驱动器、 I/O设备等。 0047 处理器核114可以执行指令以运行多个硬件线程, 硬件线程也称为逻辑处理器, 包 括第一逻辑处理器119A、 第二逻辑处理器119B等, 直到第N逻辑处理器119n。 在一个实现方 式中, 第一逻辑处理器119A是虚拟机监视器(VMM)或管理程序。 多个虚拟机(VM)155可以由 VMM执行和控制。 。
49、另外, 如所讨论的, VMM可以将与对应的加密密钥相关联的密钥ID指派给在 计算系统100上操作的各种安全域(例如, VMM、 VM)。 0048 进一步参考图1B, 硬件寄存器116A可以例如包括多个通用寄存器(未示出, 例如 EAX、 EBX、 ECX、 EDX等)、 型号专用寄存器116B(或MSR)和控制寄存器116C(例如CR1、 CR2、 CR3 等)。 在一个实现方式中, 计算系统100是服务于多个域(例如, 不同工作负载, 诸如, 客户机、 操作系统、 应用或所支持的其他类型的工作负载之类)的服务器。 0049 另外参考图1A, 并且在各种实现方式中, 密码引擎136被具体化为。
50、能够执行本文所 述功能的微控制器、 微处理器、 功能块、 逻辑或其他电路或电路集合。 密码引擎136可以对缓 说明书 7/30 页 11 CN 112149125 A 11 存内部密钥数据结构121进行高速缓存, 密码引擎136可以使用内部密钥数据结构121来识 别要保护的域访问。 密钥数据结构121可以是能够被索引并存储在密码引擎136的硬件内的 表或其他数据结构。 在一个实现方式中, 硬件是高速缓存、 寄存器的集合或其他闪存。 0050 在各种实现方式中, 密钥数据结构121可以由密码引擎136的硬件或由受信任软件 控制和/或编程, 例如使用处理器112的密码引擎编程支持电路。 密钥数据结。
- 内容关键字: 使用 高速缓存 有关 存储器 所有 权位 防止 信任 访问
新能源汽车电池放置管理架.pdf
可自动定时模拟光照的土柱蒸发入渗系统.pdf
起重机用的稳定型起升机构.pdf
氛围灯一体仪表台.pdf
茶叶包装用封口装置.pdf
固体磷酸催化剂生产捏合设备.pdf
公路用整平机.pdf
电力线缆安装牵引装置.pdf
压力管道连接结构.pdf
雷达角反射器.pdf
旋转砖装置.pdf
钢渣转运吸尘装置.pdf
非甲烷总烃进样加热装置.pdf
会计票据粉碎装置.pdf
半导体散热装置.pdf
游乐设施安全检测装置.pdf
弯曲机的防摆动机构及弯曲机.pdf
斜顶多方向抽芯机构及注塑模具.pdf
手持式超声波成像设备.pdf
动态电压频率调节方法、控制器、装置、设备及存储介质.pdf
基于AI大语言模型的数据大屏生成方法及系统.pdf
消防轨道机器人.pdf
带有除沫器的气液分离罐.pdf
动物采血器.pdf
质检用金属探伤装置.pdf
用于巡检机器人的充电装置.pdf
基于扩散生成先验的人脸图像复原方法、装置及可读介质.pdf
单视图的三维重建方法、系统、设备及存储介质.pdf
微服务系统根因定位方法、设备及存储介质.pdf
纯化碳棒的制备方法及其制成的纯化碳棒.pdf
触点控制电路、控制方法、电子设备及存储介质.pdf
钻头水口冷压模具和成型装置及使用方法.pdf
一种从粗铟提纯出OLED用高纯铟的方法.pdf
一种数控圆锥滚子球基面磨床.pdf
一种制备磷酸铵副产桑树专用肥的生产方法.pdf
一种包装盒加工系统.pdf
一种带有止逆器的木工刨床.pdf
一种用于反应釜的气体导入装置.pdf
一种制备磷酸二氢钾副产枸杞专用肥的生产方法.pdf
水玻璃耐火混凝土及其制备方法.pdf
切边切断机、瓦楞纸板生产线及切断切边方法.pdf
用于输送液体的系统和润滑系统.pdf
钢筋表面清理抛丸机.pdf
一种碲基复合薄膜及其在MIM电容中的应用.pdf
锯床.pdf
一种手动海绵仿形切割机.pdf
一种制备磷酸二氢铵副产黄苓专用肥的生产方法.pdf
一种三聚氰胺双贴面三层实木热压板材制造工艺.pdf
一种双端面磨床电箱支架.pdf
一种主轴导轨与砂轮中心共面的双端面磨床.pdf
一种用于工件夹持的夹持方法及其夹持装置.pdf