CN103038746A - 用于基础设施即服务云环境中的可信执行的方法和装置 - Google Patents

用于基础设施即服务云环境中的可信执行的方法和装置 Download PDF

Info

Publication number
CN103038746A
CN103038746A CN2011800369491A CN201180036949A CN103038746A CN 103038746 A CN103038746 A CN 103038746A CN 2011800369491 A CN2011800369491 A CN 2011800369491A CN 201180036949 A CN201180036949 A CN 201180036949A CN 103038746 A CN103038746 A CN 103038746A
Authority
CN
China
Prior art keywords
session key
buffer memory
encrypt
nuclear
decrypt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800369491A
Other languages
English (en)
Other versions
CN103038746B (zh
Inventor
法彼奥·R·麦诺
皮瑞·曼克鲁斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN103038746A publication Critical patent/CN103038746A/zh
Application granted granted Critical
Publication of CN103038746B publication Critical patent/CN103038746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提出了一种方法和装置,所述方法和装置被配置为提供虚拟机(VM)在虚拟化服务器上的可信执行,例如在基础设施及服务(laaS)云环境内提供的虚拟化服务器上执行VM。物理的多核CPU可被配置有硬件信任锚。该信任锚本身可被配置为管理当一个VM(或超级管理程序)在这些CPU核之一上被执行时用于加密/解密指令和数据的密钥。当由于异常而进行上下文切换时,信任锚交换用于加密/解密被分配给VM(或超级管理程序)的存储器和缓存的内容的会话密钥。

Description

用于基础设施即服务云环境中的可信执行的方法和装置
技术领域
本公开中提出的实施例一般而言涉及用于为虚拟化服务器提供计算基础设施的技术,更具体而言涉及用于基础设施即服务(laaS,Infrastructureas a Service)云环境中的可信虚拟机执行的方法和装置。
背景技术
服务器虚拟化技术允许多个虚拟机在单个物理计算系统上同时运行。目前,数据中心环境被用于建立例如物理计算系统(通常称作服务器)的大型群集,其中每个服务器运行多个虚拟机(VM)。这种方法已产生了能够提供巨大计算能力的数据中心。目前多个供应商允许用户提供虚拟机实例在数据中心的运营商所提供的虚拟化服务器上运行。以各种形式,这种一般的计算模型已被称作“云计算”或“基础设施及服务”(laaS),因为用户简单地在抽象硬件平台上运行其虚拟机实例,而无需拥有或管理该硬件平台。该方法允许给定用户迅速增加几十个(若非几百或几千个)虚拟机实例以响应于计算资源的需求变化。
同时,云计算和laaS供应商所面临的一个重要障碍是对于用户信任云供应商以及管理在服务器上运行的多个VM的超级管理程序(或虚拟机管理器(VMM))的实施的需求。目前,这是通过对云供应商具有的关于安全性的适当操作过程的审计和理解来实现的。这产生了信任感,但还没有一个强大的机制来保障在同一个中央处理单元(CPU)服务器插口中被执行的VM之间的有效分隔。
属于不同企业的VM被并置在同一个服务器中,这可能引起跨信道攻击(side attack)和安全问题。例如,当属于不同企业的VM在同一个CPU的不同核中被执行时,这些VM通过L3缓存(或通过绕过超级管理程序(hypervisor)所设置的存储器保护)来共享对存储器的访问。在技术人员的掌控下,这可以导致信息被从一个VM泄露到另一个VM。也就是说,来自一个企业的恶意VM可以试图获得对以另一个企业之名运行的VM的存储器的访问。
另一个问题是超级管理程序本身。即使超级管理程序被设计为实施不同VM之间的分隔,但由于超级管理程序出错或由于针对超级管理程序本身的明确攻击,数据仍可以从一个VM泄露到另一个VM。另外,另一组攻击可由作为云供应商人员一部分的恶意管理员发起。
附图说明
为使本公开的上述特征能得到更详细的理解,可以参照实施例对以上简要概述的公开进行更具体的说明,其中一些实施例在附图中示出。然而,应注意的是,附图仅示出了本公开的典型实施例,因此不应被认为限制其范围,本公开可以允许其他同等有效的实施例。
图1A至图1B为示出了根据本公开某些实施例的基础设施及服务(laaS)云环境中的可信执行的不同安全模型的方框图。
图2为示出了根据本公开某些实施例的被配置为提供在laaS环境下多个VM的可信执行的虚拟化服务器的组件的方框图。
图3为示出了根据本公开某些实施例的被配置为提供在laaS环境下的可信虚拟机执行的处理器构架的示例方框图。
图4进一步示出了根据本公开某些实施例的最初在图3中示出的CPU构架的各方面。
图5示出了根据本公开某些实施例的一种用于安全启动VM实例的方法。
图6示出了根据本公开某些实施例的一种用于在执行多个VM实例的多核CPU的一个处理核上执行上下文切换的方法。
具体实施方式
概述
此处所述的一个实施例包括一种用于在CPU的处理核上执行上下文切换的方法。所述方法通常可以包括接收处理核的传入执行上下文的指示并存储第一会话密钥。所述第一会话密钥是与处理核的当前执行上下文相关联的。所述方法还包括取回第二会话密钥,其中所述第二会话密钥是与传入执行上下文相关联的。所述方法还可以包括使用第二会话密钥初始化CPU上的加密/解密块。所述加密/解密块被布置在处理核与处理核所访问的缓存之间。
在一个具体实施例中,所述方法可以还包括处理核上的传入执行上下文。在该等情况下,加密/解密块使用第二会话密钥解密从缓存读取的数据并加密写入缓存的数据。加密/解密块本身可以提供流密码的硬件实施,并且其中使用第二会话密钥、随机数值和与读或写操作相关联的存储器地址为从缓存的读取操作生成密钥流。
本公开的另一个实施例包括具有存储器和中央处理单元(CPU)的系统。CPU通常可以包括处理核、缓存和信任锚。信任锚通常可以配置为接收处理核的传入执行上下文的指示,并存储第一会话密钥,其中所述第一会话密钥与处理核的当前执行上下文相关联。信任锚可被进一步配置为取回第二会话密钥,其中所述第二会话密钥与传入执行上下文相关联,并使用所述第二会话密钥初始化CPU上的加密/解密块,其中所述加密/解密块被布置在处理核与处理核所访问的缓存之间。
另一个实施例包括一种用于在多核CPU上执行多个虚拟机实例的方法。所述方法通常可以包括确定当在多核CPU的第一处理核上执行第一虚拟机实例时已发生异常,用信号通知与CPU耦合的信任锚第一处理核的传入执行上下文的指示,并存储第一会话密钥。所述第一会话密钥是与在处理核上被执行的第一虚拟机相关联的。所述方法还可以包括取回第二会话密钥,其中所述第二会话密钥与传入执行上下文相关联,并使用所述第二会话密钥初始化CPU上的加密/解密块,其中所述加密/解密块被布置在第一处理核与由多核CPU上的每个处理核共享的缓存之间。
示例性实施例的描述
此处所述的实施例提出了一种方法和装置,所述方法和装置被配置为提供虚拟机VM在虚拟化服务器上的可信执行,例如在基础设施及服务(laaS)云环境内提供的虚拟化服务器上执行VM。此处所述的一个实施例提供了在VM服务器上被执行的VM实例之间的存储器划分模型。该模型可以允许VM在不可信的云供应商基础设施中以可信方式执行。具体而言,此处所述的存储器划分技术允许虚拟化服务器启动加密的/签名的VM镜像,并且甚至在以较高执行特权运行的实体(例如超级管理程序)正在执行的情况下,防止在该虚拟化服务器上运行的其他实体访问给定VM的存储器。
另外,此处所述的实施例提供了一种基础设施,该基础设施可用于提供适当凭证(即,加密密钥)以使VM能在CPU核上可信执行。在这些VM共享对公共L3缓存的访问的情况下,这样做可以保护存储器免于被泄露(恶意地或以其他方式)给在其他核上运行的VM。
如此处更详细地说明,物理的多核CPU可以包括硬件信任锚组件。该信任锚可被配置为管理当VM或超级管理程序在多核CPU的一个核上被执行时用于加密/解密指令和数据的密钥。在一个实施例中,信任锚可以利用安全通信处理来接收与加密的VM启动镜像相关联的密钥。一旦被信任锚接收和存储,该密钥就可用于解密VM启动镜像并将其载入虚拟化服务器的存储器中。当超级管理程序执行上下文切换以执行由此产生的VM实例时,信任锚提供用于加密/解密存储器读写操作的会话密钥(与其他数据一起)。
在一个实施例中,共享的L3缓存和每个处理核本地的L2缓存之间的每个缓存线上的加密/解密块可以使用信任锚所提供的会话密钥、存储器地址和随机数在高级加密标准(AES)反击模式(AES-CTR)下操作以加密被写入L3缓存的数据。当从L3缓存(或从存储器)中读取数据时,相同的信息(例如密钥、随机数和存储器地址)被用于解密该数据。
当发生异常(例如计时中断、硬件访问等)时,信任锚交换出与正运行的VM实例相关联的密钥并选择用于新执行上下文的适当密钥。在一个实施例中,CPU可被配置为用信号通知信任锚被调度供执行的下一个VM实例(或超级管理程序)的执行上下文。例如,VT-x技术和AMD-V技术所提供的虚拟化扩展。另外,切换密钥和初始化信任锚中包含的加密引擎的处理可以比上下文切换本身需要较少的时钟周期。
为使本领域的普通技术人员能够作出和使用所提出的技术而进行以下说明。具体实施例和应用的说明仅作为示例而提供,对于本领域的技术人员来说各种修改将变得显而易见。在不脱离本公开范围的情况下,此处所述的一般原理可被应用于其他实施例和应用。因此,本公开不限于所示实施例,而是被赋予和此处所述原理及特征相一致的最广的范围。为清晰起见,与提出的想法相关的技术领域中已知的技术材料有关的特征未作详细说明。
图1A至图1B为示出了根据本公开某些实施例的基础设施及服务(laaS)云环境中的可信VM执行的不同模型的方框图。如图1A所示,堆栈模型105可被用来提供一种用于执行一个或多个虚拟机125的可信环境。具体而言,硬件锚芯片(例如可信平台模块(TPM)110)或等同物可被用于执行以下任务:安全密钥存储、签名实施/验证以及安全密钥输出等。TPM110形成了堆栈模型105中的第一信任链接。一旦TPM110验证了安全BIOS115,安全BIOS115就可以进而验证超级管理程序120未被修改。这样做扩展了从TPM110到安全BIOS115(并因此到超级管理程序120)的信任链。超级管理程序120一旦被启动,就遵循相同的过程以提起虚拟机125。也就是说,超级管理程序120一旦被安全BIOS115验证,就充当可信施动者的角色来验证和启动虚拟机实例125。之后,每个虚拟机125上的操作系统130均这样做以启动应用135。更简单地说,TPM110验证BIOS115,BIOS115验证超级管理程序120,超级管理程序120进而验证在超级管理程序120上被启动的每个VM125。因此,堆栈模型105依赖于该链中的每个元素均信任其前驱(predecessor)。
在堆栈模型105中,上层依赖于下层的信任。如果在该链上有任何断裂,则该系统是不安全的。另外,该链上的下层仍可预见哪些上层可能正在执行。更进一步的,甚至当超级管理程序验证并启动给定虚拟机125时,也不限制可信OS130和可信应用135执行的活动。因此,堆栈模型105不防止以其他方式验证的应用135(或VM125)访问属于由超级管理程序120执行的另一个VM的数据,例如在L3缓存中存储的数据。
图1B示出了根据本公开中介绍的一个实施例的替代信任模型。如图所示,信任模型150提供了星型模型,其中信任锚165位于中间而非底部。这样做允许信任锚165直接验证虚拟化服务器上的BIOS175和超级管理程序170。但进一步,这样做还允许信任锚165验证被传递到超级管理程序170以供执行的每个VM镜像(例如VM1155和VM2160)以及验证应用108的代码以在VM155和160上加载和执行。也就是说,与堆栈模型105不同,星型模型150提供了被配置为提供信任锚165的信任锚165。为了防止执行上下文之间的未授权访问,星型模型150从完整性保护(堆栈模型)转变为虚拟化服务器内的每个相关施动者的机密性。这样做可以用于为VM155、160提供安全的计算环境。例如,与堆栈模型105不同,星型模型150防止具有较高特权的施动者(例如超级管理程序170)访问其他施动者(例如VM155、160)的数据,并且甚至当这样的VM在多核处理器上的不同核上被同时执行且共享L3缓存和存储器时,防止一个VM访问属于另一个VM的数据。以下论述的图2至图4提供了在具有多核CPU的虚拟化服务器上实现图1B所示的星型模型150的示例性构架。
图2为示出了根据本公开某些实施例的被配置为提供在laaS环境下多个VM的可信执行的虚拟化服务器200的组件的方框图。虚拟化服务器200通常可以包括通过一个或多个互连线250连接的一些硬件计算组件。示例性地,虚拟化服务器200包括网络接口卡(NIC)251、存储器252、CPU253和存储设备254(例如本地连接的磁盘驱动器、固态设备(SSD)或诸如SAN的与远程存储器的连接)。
虚拟化服务器200允许多个虚拟机(VM)2301-3在服务器200上同时执行,共享虚拟化服务器200上存在的计算硬件。然而,虚拟机2301-3通常不直接知晓共享虚拟化服务器200上的计算硬件。相反,超级管理程序240可被配置为为每个虚拟机2301-3提供虚拟化的硬件元件。注意,虽然虚拟硬件分配对于OS及在每个虚拟机2301-3上运行的应用136来说看起来是不同的,但它们在虚拟化层之下被共享。也就是说,虚拟资源提供了对于底层物理资源的抽象化,并且这些底层物理资源在虚拟机2301-3之间被共享。
示例性地,存储器252包括管理三个虚拟机实例(VM)2301-3的超级管理程序240。每个VM2301-3为虚拟化计算平台提供虚拟CPU、存储器、存储器和网络接口。操作系统在每个VM2301-3上被启动并且用于加载和执行应用2321-3。在一个实施例中,超级管理程序240可以被实现为直接在虚拟化服务器200的计算硬件上运行的软件层。在这样的情况下,超级管理程序240可被配置为拦截一些(或所有)由在VM230上运行的OS进行的操作系统调用。
更一般而言,超级管理程序240浏览系统硬件并允许虚拟化服务器200托管VM2301-3。在一个实施例中,信任锚258可被用于验证超级管理程序240。也就是说,超级管理程序240(即存储磁盘上的超级管理程序240的镜像)可通过加密密钥被签名,并且信任锚258可被配置为在加载超级管理程序240之前获取对于验证超级管理程序240未被修改所需的密钥。例如,给定的laaS供应商(或超级管理程序供应商)可以使用私有/公共密钥对中的私有密钥签名超级管理程序代码。在某些情况下,公共密钥还可以由证书认证机构签名(并作为PKI证书的一部分而提供)。进而,信任锚258可以从PKI证书获得公有密钥并验证与超级管理程序240相关联的数字签名。
超级管理程序240一旦被验证,就可以启动并执行VM2301-3。另外,每个VM230也可以是被签名和/或加密的对象。例如,一个企业可以将使用VM加密会话密钥加密的VM镜像发送到虚拟化服务器200。在一个实施例中,信任锚258向该企业验证自身,以便在虚拟化服务器230上执行给定的VM230之前获得与该VM230相关联的VM镜像加密密钥。VM镜像加密密钥可用于解密被提交到虚拟化服务器200的加密的VM镜像。
另外,信任锚258可以为每个给定的VM230生成(或获取)一个存储器会话密钥,并使用该密钥加密/解密当一个VM在执行核256之一上执行时从缓存255读取和写入该缓存的信息。信任锚258可被配置为每当CPU253上的执行核256之一上的执行上下文被改变(即不同的VM2301-3之间或一个VM2301-3与超级管理程序240本身之间的上下文切换)时交换存储器会话密钥。
缓存255提供了由CPU253上的执行核256访问的高速存储器。虽然存储器252可在虚拟机230上被分割,但缓存255通常被不同的VM2301-3共享。例如,如图所示,CPU253可包括一个或多个执行核256。当不同的VM2301-3在不同的执行核256上被执行时,这些VM2301-3可以共享对缓存255的访问。在一个实施例中,信任锚258可以对每个VM230使用不同的存储器会话密钥来加密/解密对缓存255的每个读取/写入。这样做防止了在一个执行核256上执行的VM230访问缓存255中属于在一个不同执行核256上执行的另一个VM230的数据。另外,这样做还防止了超级管理程序240访问缓存255中属于给定VM2301-3的数据,尽管超级管理程序240通常具有较高的特权级。
图3为示出了根据本公开某些实施例的被配置为提供在laaS环境下的可信虚拟机执行的处理器构架示例的方框图。如图所示,CPU300包括两个不同的处理核305、310。并且每个CPU核305包括第1层(L1)指令和数据缓存和L2缓存。CPU300还包括信任锚315以及处理核305、310,每个处理核具有相关联的密钥生成组件3201-2和加密/解密块3251-2。示例性地,将处理核305、310连接到共享的L3缓存330的缓存线各自包括加密/解密块3251-2之一。L3缓存330连接到存储器控制器335,存储器控制器335进而连接到存储器340。
虽然CPU300图示了具有两个处理核305、310的示例性实施例,但本领域的普通技术人员将认识到此处所述的实施例可以较为容易地适应于具有更多个处理核的CPU。在这样的情况下,每个额外的CPU将包括与信任锚315的连接以及密钥生成组件320、连接到共享L3缓存330的加密/解密块。
在一个实施例中,信任锚315可被配置为管理处理核305、310上的多租户执行上下文(即多虚拟机镜像的执行)并且管理与外部世界的通信。例如,信任锚315可被配置为为加载和启动VM实例提供安全启动处理,以提供VM实例之间的安全上下文切换,基于执行上下文交换存储器会话密钥,并在VM执行期间提供安全密钥存储。另外,嵌入CPU300的信任锚315可在制造期间被提供公共/私有密钥对和由证书认证机构(CA)颁发的证书,证书认证机构将信任锚身份绑定到公有密钥。CPU型号和厂商名可以作为证书的属性被包含在内。在一个实施例中,信任锚315可以使用公共/私有密钥对来证明虚拟化服务器具有被配置有信任锚的多核CPU,并因此能够在其他不可信的云环境下启动并执行VM镜像。
此外,每当发生上下文切换时,信任锚315都可以从一个处理核305、310中接收指示。此类指示可以为传入执行上下文提供标识符。如以上所指出的,某些多核处理器提供了扩展指令集,扩展指令集允许从CPU上的处理核导出执行上下文。例如,通过
Figure BDA00002784690700091
VT-x技术和VMX指令集提供的虚拟化扩展提供了用于用信号通知在处理核上的执行上下文中的变化的指令(例如VMEXIT和VMRESUME指令)。
响应于来自核305、310之一的指示执行上下文中的变化的信号,信任锚315可以为新执行上下文配置与处理核305、310相关联的加密/解密块3251-2和密钥生成组件3201-2。当发生上下文切换时,信任锚交换出与处理核305、310上的当前执行上下文相关联的密钥并将其替换为与传入执行上下文相关联的密钥。已知的是,多核处理器上的VM实例之间(或VM实例与超级管理程序之间)的上下文切换需要为传入执行上下文恢复(或初始化)CPU核上的寄存器(例如状态、IR、一般用途、计数器)。在一个实施例中,信任锚315可被配置为使用比执行上下文切换本身(目前通常需要约20-30个时钟周期的过程)所需的较少时钟周期交换适当的加密密钥并初始化加密/解密块3251-2。这样做允许信任锚在不引入任何并行等待时间的情况下为传入VM实例(或超级管理程序)提供安全执行上下文。
加密/解密块325一旦被初始化,当数据在处理核305、310和L3缓存255之间的缓存线上移动时,就加密/解密该数据。在一个实施例中,加密/解密块3251-2提供了流密码的基于硬件的实施方式。已知的是,流密码是对称的密钥密码,其中明文与密钥流相结合以加密小单位的数据(例如每次一个位或字节)。在一个具体实施例中,加密/解密块可被配置为使用AES-CTR(先进加密标准-反击模式)作为流密码。使用流密码允许数据在处理核305、310与L3缓存330之间移动时被加密/解密而无需额外的时钟周期。相反,加密/解密块3251-2一旦被初始化,就可以简单地使用密钥流对被移动到具体核305、310/从该具体核被移动的每个位进行异或运算。因此,信任锚所提供的功能性位于每个处理核305、310的相邻处,并且保护在不同核上运行的VM所共享的任何元素(在该情况下为L3缓存330和存储器340)的安全。在一个实施例中,密钥生成组件3201-2可被配置为使用VM密钥、存储器地址和随机数(nonce)来生成由加密/解密块3251-2使用的密钥流。
存储器控制器335可被配置为在存储器340与L3缓存之间移动数据。例如,存储器控制器335可以选择将数据从L3缓存330转储到存储器340。在一个实施例中,当这样做时,存储器控制器335还向存储器340写入当数据被写入L3缓存330时用于加密该数据的随机数值。类似地,存储器控制器335可以在从存储器340读取加密的数据时取回适当的随机数值。
图4进一步示出了根据本公开某些实施例的最初在图3中示出的处理器构架的各方面。具体而言,图4示出了用于执行安全写操作401到L3缓存433并用于执行从L3缓存433安全读操作402的图3的处理器构架。
如图所示,当明文数据4051被从一个处理核本地的L2缓存移动到被多个处理核共享的L3缓存433时,写操作401加密该数据。示例性地,加密/解密块4101包含密钥4151、AES引擎4201、存储器地址4251和随机数4301。密钥4151由信任锚提供给加密/解密块4101。如以上所指出的,密钥4151对应于在多核CPU(例如图3所示的处理器构架)的处理核之一上被执行的VM(或超级管理程序)。存储器地址4251对应于被从L2缓存写入共享的L3缓存433的明文4051的存储器地址。随机数4301提供用于给定写操作的一次性值。典型地,随机数4301可以是对共享的L3缓存433的每次写入(和读取)的递增的计数值。然而,可替代地,随机数4301可以是从随机或伪随机噪声源生成的。
在一个实施例中,AES引擎420提供AES-CTR流密码的硬件实施,并且被配置为根据密钥材料(即根据密钥4151、存储器地址4251和随机数4301)生成密钥流。由此生成的密码流在明文4051从一个处理核上的L2缓存被转储到共享的L3缓存433时与该明文进行异或运算,产生密文4351。除了将由此产生的加密的数据写入L3缓存433之外,加密/解密块4101中的随机数值也被写入L3缓存433中(在图4中被示出为随机数4401)。在一个实施例中,加密/解密块4101可以包含通往L3缓存433的一个分开的缓存线,从而允许随机数4301(作为随机数4401)与使用密钥流被加密并作为密文4351被存储在L3缓存433中的明文4051并行地被存储在L3缓存433中。可替代地,随机数4301可以使用用于写入密文4351的相同缓存线被写入缓存433中。
读操作402与写操作401相似,但方向相反。为了从L3缓存433读取加密的数据4352,存储器地址4252和随机数4402被读入加密/解密块4102中。同样,密钥4152是与在多核处理器的一个处理核上被执行的VM(或超级管理程序)相关联的会话密钥,并且在该处理核上的上下文切换之间保持不变。存储器地址4252对应于被拖入L2缓存中的数据的存储器地址,并且随机数4302是当该数据被写入L3缓存433时用于加密该数据的随机数值。也就是说,由写操作401用来生成用于加密明文4051的密钥流的相同密钥材料被用于再生成相同的密钥流以解密来自L3缓存433的加密的数据4352。由此产生的密钥流然后与来自L3缓存433的加密的数据4352进行异或运算,并作为明文4052被写入L2缓存中。
图5示出了根据本公开某些实施例的一种用于安全启动VM实例的方法500。如图所示,方法500以步骤505开始,在该步骤中超级管理程序接收虚拟机的启动镜像以在虚拟化服务器上执行。例如,在一个实施例中,用户可以将VM启动镜像与对于在其上执行VM实例的虚拟化硬件系统的一套要求(例如处理器速度、存储器需求等)一同发送到云供应商。VM启动镜像可以使用由用户生成的VM镜像加密密钥进行加密。在一个实施例中,每个4kb的块被独立加密,使得块可以在不解密整个镜像的情况下在虚拟化服务器上的存储器之内和之外被解密和分页。
在步骤510中,超级管理程序尝试启动VM启动镜像。在步骤515中,超级管理程序判断VM启动镜像是否被加密。若是,超级管理程序则触发安全锚与提交了VM启动镜像供执行的用户之间的协商(或相关联的密钥服务)以获得用于加密VM启动镜像的VM镜像加密密钥。一旦获得信任锚,就用该密钥配置磁盘控制块(步骤520)。当被加密的VM启动镜像的存储器页面被从存储器读取并被存储在存储器中时,VM镜像加密密钥被用来解密这些存储器页面(或者加密从存储器转储到存储器的页面)。信任锚将与VM镜像相关联的VM镜像加密密钥存储在安全密钥存储器中。在步骤525中,信任锚还生成用于配置L3缓存与存储器之间以及L3缓存与每个处理核上的L2缓存之间的缓存线中的加密/解密块的存储器会话密钥。一旦CPU上的加密/解密块被配置,VM镜像就可以从存储器中读取并启动。超级管理程序然后可以启动VM镜像并对其进行调度以供执行(步骤530)。
在步骤535中,超级管理程序在处理核之一上执行VM镜像。当加密的VM镜像的一部分被从存储器读取时,磁盘控制块使用VM镜像加密密钥对其进行解密(步骤540)。当此类元素被写入L3缓存时,存储器会话密钥然后被用于对其再加密。当需要给定存储器地址的数据时,在一个处理核的L2缓存与共享的L3缓存之间的缓存线中的存储器会话密钥被用来解密从L3缓存读取(和写入L3缓存)的数据。因此,(在多个处理核之间共享的)L3缓存中的数据保持加密状态,直到被读取到(一个处理核本地的)L2缓存中。
如果VM启动镜像未被加密(步骤515),则信任锚仍可生成存储器会话密钥,以便加密/解密由VM(当在处理核上执行时)对L3缓存进行的所有写入/读取(步骤525)。在任一情况下,超级管理程序均可开始调度VM以供在多核CPU的处理核之一上执行(步骤530)。此外,当超级管理程序初始化上下文切换时,信任锚利用用于传入VM的适当的VM镜像加密密钥和存储器会话密钥配置CPU上的加密/解密块。
图6示出了根据本公开某些实施例的一种用于在执行多个VM实例的处理核上执行上下文切换的方法600。如图所示,方法600以步骤605开始,在该步骤中下一个VM实例(或超级管理程序)被选择供在CPU的一个处理核上执行。例如,当一个VM实例(或超级管理程序)正在CPU的一个处理核上被执行时,可能发生异常(例如计时中断、缓存缺失、硬件访问等)。当发生异常时,上下文切换可以被初始化以停驻当时在处理核上运行的VM实例(或超级管理程序),并调度下一个VM实例(或超级管理程序)以在该核上执行。
在一个实施例中,处理核可以用信号通知信任锚正被恢复到处理核的VM实例(或超级管理程序)的执行上下文(即传入执行上下文)的指示。例如,如以上所指出的,处理核可以执行VMEXIT和VMRESUME指令以用信号通知信任锚退出并传入切换上下文。
在步骤610中,当VM实例(或超级管理程序)被停驻并且传入执行上下文被初始化时,信任锚存储与当前执行上下文相关联的会话密钥。在步骤615中,选择的VM实例(或超级管理程序)的执行上下文被恢复。也就是说,CPU恢复对于重新开始执行与传入执行上下文相关联的VM实例(或超级管理程序)所需的任何寄存器值和相关联的系统状态。
在步骤620中,在当前执行上下文被停驻并且传入执行上下文被恢复时,信任锚可以取回用于与被恢复的执行上下文相关联的VM实例(或超级管理程序)的会话密钥,并且信任锚可以使用该会话密钥来初始化与执行上下文切换的处理核相关联的加密/解密块。一旦会话密钥被恢复,并且加密/解密块被初始化,VM实例(或超级管理程序)就可以开始在处理核上执行。如以上所指出的,从/向L3缓存的移动数据的每个读/写操作然后可以使用会话密钥和密钥材料(例如对L3缓存的任何读/写操作的存储器地址和随机数值)被加密。因此,通过传入执行上下文执行的存储器写入是利用对于该上下文唯一的密钥进行加密的。配置信任锚以基于执行上下文交换该类密钥,这确保了在CPU的处理核上被执行的每个单独的执行元素(即给定VM实例或超级管理程序)的存储器划分。因此,即使给定的VM实例试图访问另一个VM实例的L3缓存线,它并不能访问对于解密该缓存线所需的密钥。另外,如果超级管理程序试图读取在由给定VM实例存储在L3缓存线中的数据时,会产生同样的结果,尽管超级管理程序通常具有较高的特权级。在任一情况下,由于超级管理程序(和VM实例)不能访问其他VM实例的会话密钥,因此尝试的访问会产生垃圾数据。
综上所述,此处所述的实施例提供了用于在多核CPU上安全地执行多个虚拟机实例的技术。信任锚可被配置为管理用于加密/解密指令和数据(当在多核CPU的一个核上被执行时)并且执行加密/解密操作。当发生上下文切换时,信任锚可以恢复密钥(连同其他数据)以加密/解密从/向共享的L3缓存的存储器读取和写入。在一个实施例中,CPU可以用信号通知信任锚被调度供执行的下一个VM实例(或超级管理程序)的执行上下文。
有利地是,此处所述的利用信任锚配置多核CPU使得即使在不可信的云环境下和在不可信的超级管理程序上也能实现VM实例的可信执行。也就是说,此处所述的实施例,独立于可信或不可信的第三方供应商本身,为供应商中的VM执行提供了可信执行和存储器划分框架。在一个实施例中,CPU构架可被配置为以CPU处于星型中心的信任之星构架代替基于传统的可信链TPM方法的构架。
虽然上述内容针对本公开的实施例,但在不脱离本公开基本范围的情况下可以想到本公开其他更多的实施例,本公开的范围由权利要求决定。

Claims (14)

1.一种用于在CPU的一个处理核上执行上下文切换的方法,包括:
接收所述处理核的传入执行上下文的指示;
存储第一会话密钥,其中所述第一会话密钥与所述处理核的当前执行上下文相关联;
取回第二会话密钥,其中所述第二会话密钥与所述传入执行上下文相关联;以及
使用所述第二会话密钥初始化所述CPU上的加密/解密块,其中所述加密/解密块被布置在所述处理核与所述处理核所访问的缓存之间。
2.根据权利要求1所述的方法,还包括初始化所述处理核上的所述传入执行上下文,其中所述加密/解密块使用所述第二会话密钥加密或解密从所述缓存读取的数据。
3.根据权利要求1所述的方法,其中所述CPU包括多个处理核,并且其中每个处理核共享对所述缓存的访问。
4.根据权利要求1所述的方法,其中所述第一会话密钥和所述第二会话密钥被与所述CPU耦合的硬件信任锚存储。
5.根据权利要求1所述的方法,其中所述传入执行上下文引用在所述上下文切换之后将在所述处理核上被执行的第一虚拟机(VM)实例。
6.根据权利要求1所述的方法,其中所述传入执行上下文引用在所述上下文切换之后将在所述处理核上被执行的超级管理程序。
7.根据权利要求1所述的方法,其中所述加密/解密块提供流密码的硬件实施,并且其中为从缓存的读操作和向缓存的写操作之一生成密钥流,为所述读操作生成的密钥流是使用所述第二会话密钥、随机数值和与所述读操作相关联的存储器地址生成的,为所述写操作生成的密钥流是使用所述第二会话密钥、随机数值和与所述写操作相关联的存储器地址生成的。
8.一种计算系统,包括:
存储器;以及
CPU,所述CPU具有:
处理核,
缓存,和
信任锚,其中所述信任锚被配置为:
接收所述处理核的传入执行上下文的指示;
存储第一会话密钥,其中所述第一会话密钥与所述处理核的当前执行上下文相关联;
取回第二会话密钥,其中所述第二会话密钥与所述传入执行上下文相关联;以及
使用所述第二会话密钥初始化所述CPU上的加密/解密块,其中所述加密/解密块被布置在所述处理核与所述处理核所访问的缓存之间。
9.根据权利要求8所述的计算系统,其中所述处理核被配置为:在所述加密/解密块初始化之后,初始化所述处理核上的所述传入执行上下文,
其中所述加密/解密块使用所述第二会话密钥解密从所述缓存读取的数据,并且其中所述加密/解密块使用所述第二会话密钥加密被写入所述缓存的数据。
10.根据权利要求8所述的计算系统,其中所述CPU包括多个处理核,并且其中每个处理核共享对所述缓存的访问。
11.根据权利要求8所述的计算系统,其中所述第一会话密钥和所述第二会话密钥被所述硬件信任锚存储。
12.根据权利要求8所述的计算系统,其中所述传入执行上下文引用在上下文切换之后将在所述处理核上被执行的第一虚拟机(VM)实例。
13.根据权利要求8所述的计算系统,其中所述传入执行上下文引用在上下文切换之后将在所述处理核上被执行的超级管理程序。
14.根据权利要求8所述的计算系统,其中所述加密/解密块实现流密码,并且其中为从缓存的读操作和向缓存的写操作之一生成密钥流,为所述读操作生成的密钥流是使用所述第二会话密钥、随机数值和与所述读操作相关联的存储器地址生成的,为所述写操作生成的密钥流是使用所述第二会话密钥、随机数值和与所述写操作相关联的存储器地址生成的。
CN201180036949.1A 2010-05-27 2011-05-24 用于基础设施即服务云环境中的可信执行的方法和装置 Active CN103038746B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/789,189 2010-05-27
US12/789,189 US8812871B2 (en) 2010-05-27 2010-05-27 Method and apparatus for trusted execution in infrastructure as a service cloud environments
PCT/US2011/037799 WO2011149983A2 (en) 2010-05-27 2011-05-24 Method and apparatus for trusted execution in infrastructure as a service cloud environments

Publications (2)

Publication Number Publication Date
CN103038746A true CN103038746A (zh) 2013-04-10
CN103038746B CN103038746B (zh) 2017-03-29

Family

ID=45004732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180036949.1A Active CN103038746B (zh) 2010-05-27 2011-05-24 用于基础设施即服务云环境中的可信执行的方法和装置

Country Status (4)

Country Link
US (1) US8812871B2 (zh)
EP (1) EP2577449B1 (zh)
CN (1) CN103038746B (zh)
WO (1) WO2011149983A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509250A (zh) * 2017-02-28 2018-09-07 英特尔公司 具有受保护的访客机验证主机控制的安全公共云
CN110012074A (zh) * 2019-03-12 2019-07-12 北京可信华泰信息技术有限公司 一种云环境可信上下文管理方法

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201241662A (en) * 2010-12-21 2012-10-16 Ibm Virtual machine validation
US8495356B2 (en) * 2010-12-31 2013-07-23 International Business Machines Corporation System for securing virtual machine disks on a remote shared storage subsystem
KR20130114672A (ko) 2011-01-19 2013-10-17 인터내셔널 비지네스 머신즈 코포레이션 소프트웨어를 업데이트하는 장치 및 방법
US8799997B2 (en) * 2011-04-18 2014-08-05 Bank Of America Corporation Secure network cloud architecture
US8813192B2 (en) * 2011-05-04 2014-08-19 Novell, Inc. Techniques for establishing a trusted cloud service
US8943564B2 (en) * 2011-07-21 2015-01-27 International Business Machines Corporation Virtual computer and service
US20130166697A1 (en) * 2011-12-22 2013-06-27 Gregory P. Manning Multiconfiguration device cloud entity protocol
CN104067218B (zh) * 2011-12-28 2019-06-18 英特尔公司 分配存储器访问控制策略
US8838968B2 (en) 2012-05-14 2014-09-16 Ca, Inc. System and method for virtual machine data protection in a public cloud
US8817707B2 (en) * 2012-07-20 2014-08-26 Intel Corporation Mechanisms for roaming between 3GPP operators and WLAN service providers
US9262188B1 (en) * 2012-09-19 2016-02-16 Emc Corporation Virtual asset management in data center
RU2648941C2 (ru) 2012-10-12 2018-03-28 Конинклейке Филипс Н.В. Безопасная обработка данных виртуальной машиной
US9069766B2 (en) * 2012-11-02 2015-06-30 Microsoft Technology Licensing, Llc Content-based isolation for computing device security
US9298502B2 (en) * 2013-01-31 2016-03-29 Empire Technology Development Llc Pausing virtual machines using API signaling
KR101687275B1 (ko) * 2013-03-14 2016-12-16 인텔 코포레이션 공개 클라우드에서의 신뢰 데이터 프로세싱
US9292331B2 (en) 2013-03-15 2016-03-22 Bracket Computing, Inc. Expansion of services for a virtual data center guest
US9171163B2 (en) * 2013-03-15 2015-10-27 Intel Corporation Mutually assured data sharing between distrusting parties in a network environment
US10402407B2 (en) * 2013-06-17 2019-09-03 Lenovo (Singapore) Pte. Ltd. Contextual smart tags for content retrieval
GB2515536A (en) * 2013-06-27 2014-12-31 Ibm Processing a guest event in a hypervisor-controlled system
US9652331B2 (en) * 2013-10-24 2017-05-16 Sas Institute Inc. Techniques for creating a bootable image in a cloud-based computing environment
EP2884392B1 (en) * 2013-12-13 2018-08-15 Thales Triple software redundancy fault tolerant framework architecture
JP6224255B2 (ja) 2013-12-24 2017-11-01 インテル コーポレイション ヒューリスティック競合モデルを使用したクラウド計算スケジューリング
US10389709B2 (en) * 2014-02-24 2019-08-20 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources
US9503433B2 (en) 2014-03-27 2016-11-22 Intel Corporation Method and apparatus for cloud-assisted cryptography
EP2978159A1 (en) * 2014-07-21 2016-01-27 Nxp B.V. Nonce generation for encryption and decryption
US9553721B2 (en) * 2015-01-30 2017-01-24 Qualcomm Incorporated Secure execution environment communication
US9560078B2 (en) * 2015-02-04 2017-01-31 Intel Corporation Technologies for scalable security architecture of virtualized networks
US9954681B2 (en) * 2015-06-10 2018-04-24 Nxp Usa, Inc. Systems and methods for data encryption
US9781163B2 (en) * 2015-06-23 2017-10-03 EMC IP Holding Company LLC Trust overlays for disaggregated infrastructures
US9667606B2 (en) 2015-07-01 2017-05-30 Cyphermatrix, Inc. Systems, methods and computer readable medium to implement secured computational infrastructure for cloud and data center environments
US10230529B2 (en) * 2015-07-31 2019-03-12 Microsft Technology Licensing, LLC Techniques to secure computation data in a computing environment
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US10671546B2 (en) * 2015-09-30 2020-06-02 Hewlett Packard Enterprise Development Lp Cryptographic-based initialization of memory content
US9894061B2 (en) 2015-10-16 2018-02-13 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
US10241913B2 (en) * 2016-01-20 2019-03-26 International Business Machines Corporation Operating local caches for a shared storage device
CN105790932B (zh) * 2016-02-25 2018-08-14 四川长虹电器股份有限公司 一种通过使用机器码为基础的加密方法
US10585809B2 (en) * 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US10025924B1 (en) * 2016-08-26 2018-07-17 Parallels IP Holdings GmbH Taskless containers for enhanced isolation of users and multi-tenant applications
US10270596B2 (en) 2016-09-16 2019-04-23 International Business Machnines Corporation Generating memory dumps
US10423791B2 (en) 2017-04-27 2019-09-24 Microsoft Technology Licensing, Llc Enabling offline restart of shielded virtual machines using key caching
US10503892B2 (en) 2017-06-25 2019-12-10 Microsoft Technology Licensing, Llc Remote attestation for multi-core processor
US10708061B2 (en) 2017-06-25 2020-07-07 Microsoft Technology Licensing, Llc Secure key storage for multi-core processor
US10402567B2 (en) 2017-06-25 2019-09-03 Microsoft Technology Licensing, Llc Secure boot for multi-core processor
GB2563884B (en) * 2017-06-28 2020-01-08 Advanced Risc Mach Ltd Exception return instruction
US10848474B2 (en) 2018-02-26 2020-11-24 Red Hat, Inc. Firmware validation for encrypted virtual machines
US11029991B2 (en) 2019-03-08 2021-06-08 International Business Machines Corporation Dispatch of a secure virtual machine
US11537421B1 (en) 2019-06-07 2022-12-27 Amazon Technologies, Inc. Virtual machine monitor providing secure cryptographic operations
US11233631B2 (en) * 2019-10-09 2022-01-25 Google Llc Key management for encrypted data
FR3106909B1 (fr) 2020-01-31 2022-02-18 St Microelectronics Grenoble 2 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète
FR3106910B1 (fr) 2020-01-31 2022-02-18 St Microelectronics Grenoble 2 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique sans transmission de clé secrète
US20230185968A1 (en) * 2020-05-14 2023-06-15 Wibu-Systems Ag Method and Secure Element for Detecting a Trusted Electronic Assembly
US11847232B2 (en) * 2021-01-19 2023-12-19 Assa Abloy Ab Secure cloud processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004776A (zh) * 2006-01-09 2007-07-25 太阳微系统有限公司 用于基于保护域的安全性的方法和装置
CN101350044A (zh) * 2008-09-02 2009-01-21 中国科学院软件研究所 一种虚拟环境信任构建方法
CN101681401A (zh) * 2005-11-29 2010-03-24 Nxp股份有限公司 存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6101255A (en) * 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
US6983374B2 (en) 2000-02-14 2006-01-03 Kabushiki Kaisha Toshiba Tamper resistant microprocessor
US6895506B1 (en) * 2000-05-16 2005-05-17 Loay Abu-Husein Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism
JP4098478B2 (ja) * 2001-01-31 2008-06-11 株式会社東芝 マイクロプロセッサ
JP2002353960A (ja) * 2001-05-30 2002-12-06 Fujitsu Ltd コード実行装置およびコード配布方法
JP2003051819A (ja) * 2001-08-08 2003-02-21 Toshiba Corp マイクロプロセッサ
US7272832B2 (en) * 2001-10-25 2007-09-18 Hewlett-Packard Development Company, L.P. Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform
JP3880933B2 (ja) * 2003-01-21 2007-02-14 株式会社東芝 耐タンパマイクロプロセッサ及びキャッシュメモリ搭載プロセッサによるデータアクセス制御方法
JP2004287590A (ja) * 2003-03-19 2004-10-14 Matsushita Electric Ind Co Ltd デバッグシステム、マイクロプロセッサ及びデバッガ
US7222062B2 (en) 2003-12-23 2007-05-22 Intel Corporation Method and system to support a trusted set of operational environments using emulated trusted hardware
DE102004014435A1 (de) * 2004-03-24 2005-11-17 Siemens Ag Anordnung mit einem integrierten Schaltkreis
EP1870814B1 (en) * 2006-06-19 2014-08-13 Texas Instruments France Method and apparatus for secure demand paging for processor devices
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US7613921B2 (en) 2005-05-13 2009-11-03 Intel Corporation Method and apparatus for remotely provisioning software-based security coprocessors
US8001374B2 (en) * 2005-12-16 2011-08-16 Lsi Corporation Memory encryption for digital video
WO2010019916A1 (en) * 2008-08-14 2010-02-18 The Trustees Of Princeton University Hardware trust anchors in sp-enabled processors
US7870044B2 (en) 2008-10-02 2011-01-11 Verizon Patent And Licensing Inc. Methods, systems and computer program products for a cloud computing spot market platform
US8738932B2 (en) * 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8719593B2 (en) * 2009-05-20 2014-05-06 Harris Corporation Secure processing device with keystream cache and related methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101681401A (zh) * 2005-11-29 2010-03-24 Nxp股份有限公司 存储介质
CN101004776A (zh) * 2006-01-09 2007-07-25 太阳微系统有限公司 用于基于保护域的安全性的方法和装置
CN101350044A (zh) * 2008-09-02 2009-01-21 中国科学院软件研究所 一种虚拟环境信任构建方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108509250A (zh) * 2017-02-28 2018-09-07 英特尔公司 具有受保护的访客机验证主机控制的安全公共云
CN108509250B (zh) * 2017-02-28 2023-11-14 英特尔公司 具有受保护的访客机验证主机控制的安全公共云
CN110012074A (zh) * 2019-03-12 2019-07-12 北京可信华泰信息技术有限公司 一种云环境可信上下文管理方法
CN110012074B (zh) * 2019-03-12 2021-11-30 北京可信华泰信息技术有限公司 一种云环境可信上下文管理方法

Also Published As

Publication number Publication date
EP2577449A4 (en) 2017-07-05
WO2011149983A3 (en) 2012-03-29
EP2577449B1 (en) 2019-08-07
EP2577449A2 (en) 2013-04-10
US8812871B2 (en) 2014-08-19
US20110296201A1 (en) 2011-12-01
WO2011149983A2 (en) 2011-12-01
CN103038746B (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
CN103038746A (zh) 用于基础设施即服务云环境中的可信执行的方法和装置
CN103026347B (zh) 多核架构中的虚拟机内存划分
CN103069428B (zh) 不可信云基础设施中的安全虚拟机引导
US20220091998A1 (en) Technologies for secure device configuration and management
Mofrad et al. A comparison study of intel SGX and AMD memory encryption technology
CN108509250B (zh) 具有受保护的访客机验证主机控制的安全公共云
JP6484255B2 (ja) 信頼実行環境を含むホストのアテステーション
Jin et al. Architectural support for secure virtualization under a vulnerable hypervisor
US20190238323A1 (en) Key managers for distributed computing systems using key sharing techniques
Krautheim et al. Introducing the trusted virtual environment module: a new mechanism for rooting trust in cloud computing
JP4940460B2 (ja) 処理システム、方法およびデバイス
US10567362B2 (en) Method and system for an efficient shared-derived secret provisioning mechanism
WO2019104988A1 (zh) Plc的安全处理单元及其总线仲裁方法
US20190087354A1 (en) System, Apparatus And Method For Integrity Protecting Tenant Workloads In A Multi-Tenant Computing Environment
US11755753B2 (en) Mechanism to enable secure memory sharing between enclaves and I/O adapters
CN105678173B (zh) 基于硬件事务内存的vTPM安全保护方法
Kwon et al. Pros: Light-weight privatized se cure oses in arm trustzone
Park et al. CAFE: A virtualization-based approach to protecting sensitive cloud application logic confidentiality
WO2023027814A1 (en) Distributed trusted platform module key management protection for roaming data
CN114461340A (zh) 一种基于可信计算的容器实时迁移方法
Chu et al. Secure cryptography infrastructures in the cloud
US20240037217A1 (en) Digital content management through on-die cryptography and remote attestation
Hong et al. FASTEN: An FPGA

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant