[发明专利]受完整性保护的命令缓冲区执行在审
申请号: | 202011017986.5 | 申请日: | 2020-09-24 |
公开(公告)号: | CN112989351A | 公开(公告)日: | 2021-06-18 |
发明(设计)人: | P·M·帕帕钱;R·拉尔 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F21/71 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 陈涵瀛;姜冰 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 完整性 保护 命令 缓冲区 执行 | ||
本发明的主题是“受完整性保护的命令缓冲区执行”。实施例涉及提供受完整性保护的命令缓冲区执行。设备的实施例包括:包括一个或多个命令缓冲区的计算机可读存储器,以及在通信上耦合到计算机可读存储器的处理装置,所述处理装置用于:从计算机可读存储器的命令缓冲区读取从主机装置接收的第一命令,第一命令可由处理装置上的一个或多个处理元件执行,第一命令包括指令和相关联的参数数据;使用与主机装置相关联的加密密钥、指令以及至少一部分的参数数据来计算第一认证标签;以及通过将第一认证标签与由主机装置计算并与命令相关联的第二认证标签进行比较来认证第一命令。
技术领域
本文中描述的实施例一般涉及数据处理领域,并且更特别地涉及受完整性保护的命令缓冲区执行。
背景技术
图形处理单元(GPU)广泛用于加速计算工作负载。诸如包括Intel®软件保护扩展(SGX)的可信执行环境(TEE)可用于保护主机计算装置上的用户数据和计算内核的机密性和完整性。为了将工作负载安全地卸载到诸如图形处理单元(GPU)或类似加速器的加速器装置,必须保护数据和内核的完整性,并且保护用于指示GPU设置计算内核的执行环境并启动内核的命令缓冲区的完整性。在一些示例中,命令缓冲区包含命令,该命令指示GPU中的命令处理器设置执行环境以用于GPGPU内核在GPU内部执行。计算内核在SIMD执行单元上执行。可通过用户空间软件在主机TEE内构造这些命令缓冲区,但是通过在TEE外部的内核模式驱动程序将命令缓冲区提交给GPU。内核模式驱动程序执行诸如在将命令提交给GPU之前审计命令以及修改命令中的虚拟地址之类的功能。因此,命令缓冲区可易于遭受恶意软件进行的未经授权的修改(即,命令及其参数的插入、删除或修改)。
GPU命令缓冲区是驻留在存储器中的复杂数据结构,其通常由通过指针链接在一起的命令批次组成。命令可包含内联数据(inline data),或经由指针引用外部数据。GPU中的命令处理器(又称为命令流播器)读取、解析和执行这些命令。命令缓冲区中的命令的读取和执行是交错的,即,命令缓冲区不被整体读取到GPU存储器中,而是被增量地读取和执行。此外,用于一个工作负载的命令执行可能被更高优先级的工作负载抢占,并在之后恢复。所有以上内容对以使得确保GPU只消耗经过完整性验证的命令和数据的这样的方式来保护命令缓冲区的完整性提出挑战。
附图说明
附图的图中通过示例的方式而非通过限制的方式示出这里描述的实施例,附图中类似参考数字指代相似要素。
图1是示出根据实施例的包括主机系统和相关联的图形处理器的计算系统体系结构的框图。
图2是示出根据实施例的命令缓冲区的结构的框图。
图3是示出根据实施例的命令缓冲区结构的具体示例的框图。
图4是示出根据实施例的标签记录和标签记录数组(tag record array)数据结构的框图。
图5是示出根据实施例的用于设置提供受完整性保护的命令缓冲区执行所必需的数据结构的高级操作的流程图。
图6是示出根据实施例的用于提供受完整性保护的命令缓冲区执行的方法中的操作的流程图。
图7是示出根据实施例的可适于使用消息认证码和失效跟踪来提供安全地址转换服务的计算体系结构的框图。
具体实施方式
本文中描述的实施例涉及提供受完整性保护的命令缓冲区执行。尽管在图形处理单元(GPU)环境的上下文中描述原理和技术,但是将了解,原理和技术同样适用于其它处理环境,例如适用于视频处理环境和/或人工智能(AI)过程,诸如神经网络处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011017986.5/2.html,转载请声明来源钻瓜专利网。