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

用于图形处理单元的安全环境制造技术

技术编号:11691795 阅读:76 留言:0更新日期:2015-07-08 11:15
根据一些实施例,可以为图形处理单元定义受保护的执行环境。此框架不仅防止工作负荷受在图形处理单元上运行的恶意软件的破坏,而且还防止工作负荷受在中央处理单元上运行的恶意软件的破坏。另外,信任框架还可以通过测量用于执行工作负荷的代码和数据结构,来促进安全执行的证明。如果此框架或受保护的执行环境的可信计算基础的一部分被损害,则可以远程修补该部分,在某些实施例中,修补可以在证据中被远程地证明。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】用于图形处理单元的安全环境背景本文一般涉及有时叫做“图形处理器”或图形处理单元的处理图形。处理图形越来越多遭受要求某些安全度的工作负荷。处理图形上的安全敏感的工作负荷依赖于操作系统来提供必要的安全性。然而,越来越多的恶意软件攻击暗示这些解决方案不满足若干个工作负荷的安全性要求。可能需要图形处理单元上的信任计算框架的工作负荷的示例包括其中浏览器将事务的一部分分摊到图形引擎的银行事务(bank transact1n),其中模式匹配的一部分被分摊到图形引擎的防病毒引擎,以及医学成像。另外,许多非安全性工作负荷还需要附加的安全性,诸如计算机辅助设计,以及在存在恶意软件的情况下需要无阻碍的执行的图形及其他工作负荷。另外,由于由图形处理器实现的功率、效率以及性能改善,安全敏感的工作负荷正在被分摊给处理图形。示例可包括加密功能、模式匹配基元、以及脸检测算法以及用于挖掘、炼油厂、财务计算及涉及货币的其他计算的某些工作负荷。安全敏感的工作负荷可能需要处理图形上的信任框架,该信任框架不仅实施工作负荷的执行的正确性,而且还将图形资产的访问严格控制到只有经过授权的实体。附图简述参考下面的图形来描述一些实施例:图1是本专利技术的一个实施例的示意图;图2是根据一个实施例的受保护的图形模块的生命周期的图示;图3是本专利技术的一个实施例的流程图;图4是一个实施例的系统描绘;以及图5是一个实施例的正面前视图。详细描述根据一些实施例,可以为处理图形定义受保护的执行环境。此框架不仅防止工作负荷受在图形处理单元上运行的恶意软件的破坏,而且还防止工作负荷受在中央处理单元上运行的恶意软件的破坏。另外,信任框架还可以通过测量用于执行工作负荷的代码和数据结构,来促进安全执行的证明。如果此框架或受保护的执行环境的可信计算基础的一部分被损害,则可以远程修补该部分,在某些实施例中,修补可以在证据(attestat1n)中被远程地证明。参考图1,常驻在处理图形上的受保护的图形模块,包含工作负荷在处理图形中的正确的执行所需的代码、数据,以及状态。类似于非安全图形工作负荷,由在中央处理单元(CPU)上运行的软件通过特殊CPU指令来创建受保护的图形模块。然而,在某些实施例中,受保护的图形模块只能在图形处理单元上执行。它可能具有向远程方断言执行的正确性的能力。在一个实施例中,模块依赖于安全飞地(enclave)基础设施来提供此断言。参见在2010年5月20日公开的专利合作条约公开申请号W0/2010/057065。在安全飞地中,在应用程序内构建了受保护的执行环境。操作系统使用一组特许指令来构建飞地。一旦构建了飞地,应用程序就可以使用一组无特权的指令来进入和退出飞地。飞地在存储器中被叫做飞地页面缓存的物理受保护的区域中执行。硬件确保属于飞地页面缓存的存储器页面只能被拥有那些页面的飞地访问,还确保恶意的有特权的软件不能以意外的方式重新定向来源于飞地的存储器访问。在飞地内执行的软件可以证明,由操作系统通过基于硬件的证据正确地构建飞地。存储器14中的图形页面缓存18保留由受保护的图形模块(PGM) 12使用的代码和数据。在一个实施例中,存储器的此部分在系统动态随机存取存储器(DRAM)中实现,并由存储器加密引擎用密码保护。在再一个实施例中,存储器的此部分在处理器包内作为静态随机存取存储器(SRAM)或嵌入式DRAM(eDRAM)来实现。存储器的此部分可以由操作系统图形驱动器使用一组有特权的CPU指令来管理。为了读取或写入或执行,它可能不能被它们中的任何一项访问。模块12驻留在图形页面缓存18内。在一个实施例中,图形页面缓存可以与飞地页面缓存16相结合。飞地10负责创建并初始化模块12。一旦由飞地10创建并初始化模块,处理图形上的各种硬件引擎可以使用特定入口点(entry point)进入模块12。另外,在模块启动之后,飞地本身可以执行安全计算的某些部分,并可以通过图形页面缓存18与模块进行通信。在这方面,飞地10是模块12的中央处理单元(CPU) 24对应物,它可以与模块12具有一对多关系O从开发人员的角度来看,飞地10和模块12两者都是可选实施例。在某些实施例中,应用程序开发人员可以判断应用程序是否需要由飞地和受保护的图形模块12的组合所提供的安全级别。如此,在存储器内,可以有飞地页面缓存16、包括模块12的图形页面缓存18,飞地10,以及用于保持需要的数据和/或指令的一个或多个经加密的表面20。处理图形26,如图2所示,包括受保护的图形模块12,而应用程序28驻留在CPU24内。CPU 24可包括准时制(准时制)执行引擎(抖动器(jitter)) 30以及飞地32。它也可以支持内核驱动器34。可以在中央处理单元24和处理图形26之间共享共享虚拟存储器36。共享系统存储器38可以存储飞地页面缓存16和图形页面缓存18。最初,应用程序28在CPU 24上启动。此应用程序通常是在其自己的进程中启动的回响(ring)3应用程序。应用程序创建飞地32和飞地页面缓存16。飞地可以包含用于创建受保护的图形模块12的元数据和元代码。飞地还包含用于将模块元代码从高级语言转换为可以被处理器和图形硬件识别的二进制格式的抖动器30。飞地还包含用于创建模块12的元数据和元代码。为创建模块12,飞地从图形工作负荷加载元代码和元数据,并使用合适的密码操作来测量或验证工作负荷。这由图2中的箭头I和2来表示。然后,飞地设置图形页面缓存18中的模块12的执行所需的处理器图形状态和数据结构。模块的调用按如下方式进行。飞地通过应用程序请求内核模式图形驱动器34通过将模块提供到相关元数据来执行模块。这由图2中的箭头3来表示。内核模式图形驱动器34(回响O)获取元数据,并根据元数据来设置图形引擎状态(箭头4)。然后,内核图形驱动器将处理图形通过如由箭头5所指示的环形缓冲器37指向模块12的入口点。内核模式图形驱动器通过适当地修改共享的虚拟存储器36表,来将图形页面缓存映射到图形地址空间。处理图形26执行模块12,如由箭头6所指示的。处理图形26内的图形调度器41,通知驱动器34,然后,该驱动器34关闭对为模块12的执行提供的图形页面缓存的访问。当模块12被再次调度供执行时,图形驱动器给图形页面缓存提供对模块的访问,并执行模块。在模块完成其执行之后,它将执行的其结果39写入到图形页面缓存内的输出地址,如由箭头6所指示的。在模块12的创建过程中,如在元数据中所指定的,前面的飞地随后读取输出,并将它提供到在飞地内执行的中央处理单元代码。根据一个实施例,模块12可以具有定义明确的格式的存储器以及用于测量模块的唯一组件并将它们绑定到结果的格式。微代码在由飞地执行时测量模块,将用密码签名的测量值提供到飞地。飞地包括模块的测量值和飞地的测量值,组合的数据用于使用飞地证据当前第1页1 2 3 4 本文档来自技高网...
用于图形处理单元的安全环境

【技术保护点】
一种方法,包括:通过在中央处理单元上提供用于在另一个处理单元上构建受保护的模块的飞地,在所述中央处理单元上为所述另一处理单元创建受信任的框架。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:P·德韦恩U·R·萨瓦高恩卡D·M·杜汉姆P·S·施米茨J·马丁M·A·戈德史密斯R·萨希塔F·X·麦克金C·V·罗扎斯B·韦布J·斯科特G·S·斯特隆靳康晓珠K·S·格雷瓦尔S·查博拉A·T·N·崔瓦迪
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1