A processor [102] uses hardware encryption module [120] in the memory access path between input/output device [106] and memory [104] to encrypt and isolate security information. In some implementations, the encryption module is located in the memory controller [116] of the processor, and each memory access request provided to the memory controller includes a VM tag value identifying the source of the memory access request. The VM tag is determined based on the requester ID identifying the source of the memory access request. The encryption module performs encryption (for write access) or decryption (for read access) of data associated with memory access based on the encryption key associated with the VM tag.
【技术实现步骤摘要】
【国外来华专利技术】处理系统中的直接存储器访问授权
技术介绍
相关技术说明在许多处理器应用中,保护信息安全是一项重要特征。例如,处理器可以用在基础架构即服务(IAAS)环境中的服务器中,其中处理器执行一个或多个虚拟机(VM)并执行管理程序以在VM之中分割服务器硬件并将VM彼此隔离。因为可以代表不同的客户来执行不同的VM,所以需要保护每个VM所使用的信息(指令和数据)不被其他VM访问。常规上,管理程序通过为每个VM保持单独的存储器页表和其他逻辑实体来保持VM信息的隔离。然而,管理程序中的缺陷(例如,错误)可能导致管理程序本身易受攻击,使得一个VM可以访问另一个VM的信息。即使在诸如个人计算机的更私密的安全环境中,存储在存储器模块中的数据也可能被盗取,并且存储在其中的数据可能受到未经授权的访问。在一些安全环境中,由于难以识别DMA请求的发起者,所以从装置对安全存储器空间的直接存储器访问(DMA)是不可信的。例如,未授权实体可以经由未授权装置来请求DMA以访问安全存储器空间。附图说明通过参照附图,可以更好地理解本公开,并且本公开的诸多特征和优点对于本领域技术人员而言是显而易见的。在不同附图中使用相同的附图标记来表示相似或相同项。图1是根据一些实施方案的在存储器控制器处采用加密模块以安全地隔离信息的处理系统的框图。图2是示出根据一些实施方案的用于提供信息隔离的图1的处理系统的示例性实现方式的框图。图3是示出根据一些实施方案的用于提供信息隔离的图1的处理系统的另一示例性实现方式的框图。图4是示出根据一些实施方案的在图1-3的处理系统处使用转换后备缓冲器和页表来识别安全存储器访问的框图。图5是 ...
【技术保护点】
1.一种方法,其包括:在处理器[102]的输入/输出存储器管理单元(IOMMU)[120]处从输入/输出(IO)装置接收存储器访问请求以访问存储器[104]内的存储器空间,其中所述存储器访问请求包括存储器地址值和请求程序ID;在所述IOMMU处确定与所述请求程序ID相关联的识别标签值;以及使用对应于所述识别标签值的安全密钥[124]来访问所述存储器空间的所述存储器地址值处的数据。
【技术特征摘要】
【国外来华专利技术】2016.10.19 US 15/297,8681.一种方法,其包括:在处理器[102]的输入/输出存储器管理单元(IOMMU)[120]处从输入/输出(IO)装置接收存储器访问请求以访问存储器[104]内的存储器空间,其中所述存储器访问请求包括存储器地址值和请求程序ID;在所述IOMMU处确定与所述请求程序ID相关联的识别标签值;以及使用对应于所述识别标签值的安全密钥[124]来访问所述存储器空间的所述存储器地址值处的数据。2.根据权利要求1所述的方法,其中从所述IO装置接收所述存储器访问请求包括:从在所述IO装置上配置的虚拟功能(VF)[218]接收所述存储器访问请求。3.根据权利要求1所述的方法,其中确定识别标签值包括:基于所述请求程序ID,使用装置表[236]来查找所述识别标签值。4.根据权利要求1所述的方法,其还包括:识别与所述存储器访问请求相关联的虚拟机(VM)[204],其中所述安全密钥对应于所识别的VM。5.根据权利要求4所述的方法,其还包括:从与所述处理器分开的安全模块[108]接收所述安全密钥。6.根据权利要求1所述的方法,其还包括:响应于确定所述存储器访问请求将访问非安全存储器空间的所述存储器地址值处的数据,在不使用所述安全密钥的情况下访问所述非安全存储器空间处的数据。7.根据权利要求1所述的方法,其还包括:响应于确定所述存储器访问请求是访问安全存储器空间的所述存储器地址值处的数据的写入访问请求,使用所述安全密钥对用于写入到所述安全存储器空间的数据进行加密。8.根据权利要求1所述的方法,其还包括:响应于确定所述存储器访问请求是被授权来访问安全存储器空间的所述存储器地址值处的数据的读取访问请求,使用所述安全密钥对从所述安全存储器空间读取的数据进行解密。9.根据权利要求1所述的方法,其还包括:响应于在IOMMU处接收访问存储器映射I/O(MMIO)寄存器的请求,允许基于所述识别标签值来访问所述MMIO寄存器。10.根据权利要求1所述的方法,其还包括:将命令从虚拟机中写入到所述安全存储器空间;响应于所述命令,在所述IOMMU处执行所述命令;响应于执行所述命令,由所述IOMMU利用指定值重写所述存储器空间处的所述命令;以及所述虚拟机响应于读取所述安全存储器空间处的所述指定值来认证所述IO...
【专利技术属性】
技术研发人员:大卫·卡普兰,玛吉·陈,菲利普·恩吉,
申请(专利权)人:超威半导体公司,ATI科技无限责任公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。