CN107667347B - 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术 - Google Patents

用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术 Download PDF

Info

Publication number
CN107667347B
CN107667347B CN201680030134.5A CN201680030134A CN107667347B CN 107667347 B CN107667347 B CN 107667347B CN 201680030134 A CN201680030134 A CN 201680030134A CN 107667347 B CN107667347 B CN 107667347B
Authority
CN
China
Prior art keywords
security engine
enclave
computing device
platform
platform services
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.)
Active
Application number
CN201680030134.5A
Other languages
English (en)
Other versions
CN107667347A (zh
Inventor
M·维耶
C·V·罗扎斯
V·R·斯卡拉塔
F·X·麦基恩
B·张
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN107667347A publication Critical patent/CN107667347A/zh
Application granted granted Critical
Publication of CN107667347B publication Critical patent/CN107667347B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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

Abstract

用于安全访问平台安全服务的技术包括具有处理器和安全引擎的计算设备。计算设备使用处理器的安全飞地支持在计算设备的虚拟机中建立平台服务飞地。平台服务飞地经由第一认证会话从应用程序飞地接收平台服务请求,并经由第二认证会话将平台服务请求发送到由主机环境建立的虚拟安全引擎。第一和第二认证会话可以分别通过基于报告的证明和基于引证的证明来进行认证。虚拟安全引擎经由虚拟安全引擎与安全引擎建立的长期配对会话将平台服务请求发送到安全引擎。安全引擎使用与其他平台服务飞地共享的硬件资源来执行平台服务请求。描述和要求保护其他实施例。

Description

用于虚拟化访问由融合式可管理性和安全引擎提供的安全服 务的技术
相关专利申请的交叉引用
本申请要求于2015年6月26日提交的题目为“TECHNOLOGIES FOR VIRTUALIZEDACCESS TO SECURITY SERVICES PROVIDED BY A CONVERGED MANAGEABILITY ANDSECURITY ENGINE”的美国发明专利申请序号14/752,259的优先权。
背景技术
许多当前的计算设备包括一个或多个协处理器或其他嵌入式控制器以提供安全和可管理性服务。这些协处理器可以被称为可管理性引擎或安全引擎。通常,可管理性引擎或安全引擎可以包括在计算设备的存储器控制器、I/O控制器或其他控制逻辑中,例如作为平台控制器集线器(PCH)的一部分。
Figure BDA0001480612490000011
公司制造的某些片上系统将处理器和集成控制电路并入同一封装中,并包括融合式可管理性和安全引擎(CSME)。
当前的处理器可以提供对可信执行环境(例如安全飞地(secure enclave),也称为架构飞地)的支持。安全飞地包括由处理器保护以防止未经授权的访问的存储器段(包括代码和/或数据),未经授权的访问包括未经授权的读取和写入。此外,处理器可以密码方式证明特定的安全飞地是真实的且未被改变的。某些计算设备可以建立单个平台服务安全飞地,其提供对由CSME的底层硬件提供的安全服务的访问。
附图说明
本文描述的概念在附图中通过示例而非限制的方式进行了说明。为了说明的简单和清楚,附图中所示的元件不一定按比例绘制。在适当的情况下,在附图中重复参考标记,以表明相应或相似的元件。
图1是用于虚拟化访问安全服务的计算设备的至少一个实施例的简化框图;
图2是可由图1的计算设备建立的环境的至少一个实施例的简化框图;
图3是可由图1的计算设备建立的另一环境的至少一个实施例的简化框图;
图4A和图4B是可由图1和图2的计算设备执行的用于虚拟化访问安全服务的方法的至少一个实施例的简化流程图;且
图5是可以由图1和图3的计算设备执行的用于虚拟化访问安全服务的另一种方法的至少一个实施例的简化流程图。
具体实施方式
虽然本公开的概念易于进行各种修改和替代形式,但是其具体实施例已经在附图中通过示例的方式示出,并且将在本文中进行详细描述。然而,应当理解,不意图将本公开的概念限制为所公开的特定形式,而是相反,意图是覆盖与本公开和所附权利要求一致的所有修改方案、等同方案和替代方案。
说明书中对“一个实施例”、“实施例”、“示例性实施例”等的提及表示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以或不可以必然包括该特定的特征、结构或特性。此外,这样的短语不一定指代相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合其他实施例来实现这样的特征、结构或特性在本领域技术人员的知识内,无论是否明确描述。此外,应当意识到,列表中以“A,B和C中的至少一个”的形式包括的项目可以意味着(A);(B);(C):(A和B);(A和C);(B和C);或(A,B和C)。类似地,以“A,B或C中的至少一个”的形式列出的项目可以是(A);(B);(C):(A和B);(A和C);(B和C);或(A,B和C)。
在一些情况下,所公开的实施例可以以硬件、固件、软件或其任何组合中实现。所公开的实施例还可以被实现为由一个或多个暂时的或非暂时的机器可读(例如,计算机可读)存储介质承载或存储的指令,其可由一个或多个处理器读取和执行。机器可读存储介质可以被实现为用于以机器可读的形式存储或发送信息的任何存储设备、机构或其他物理结构(例如,易失性或非易失性存储器,介质盘或其他介质设备)。
在附图中,可以以具体的布置和/或顺序示出一些结构或方法特征。然而,应当意识到,可能不需要这种具体的布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性附图中所示的不同的方式和/或顺序布置。另外,在特定附图中包括结构或方法特征并不意味着在所有实施例中都需要这样的特征,并且在一些实施例中可以不包括这些特征或者可以将其与其它特征组合。
现在参考图1,在说明性的实施例中,用于安全服务器访问的计算设备100包括具有安全飞地支持122和安全引擎132的处理器120。在使用中,如下面更详细描述的,计算设备100执行一个或多个虚拟机,并且每个虚拟机使用安全飞地支持122建立平台服务飞地。平台服务飞地提供安全和隔离的执行环境。平台服务飞地可以从相关虚拟机内执行的应用程序飞地接收平台服务请求。在一些实施例中,在计算设备100的主机环境内执行的虚拟安全引擎与安全引擎132建立长期配对会话。每个平台服务飞地将平台服务请求发送到虚拟安全引擎,虚拟安全引擎将平台服务请求发送到安全引擎132。安全引擎132使用共享硬件资源来服务该请求。在一些实施例中,每个平台服务飞地与安全引擎132建立单独的长期配对会话。在这些实施例中,每个平台服务飞地经由主机消息传递服务将平台服务请求发送到安全引擎132。安全引擎132使用专用于每个平台服务飞地的硬件资源来服务请求。因此,计算设备100允许对由安全引擎132提供的平台服务的可扩展的、安全的访问。
计算设备100可以被实现为能够执行本文描述的功能的任何类型的计算或计算机设备,包括但不限于计算机,台式计算机,工作站,服务器,膝上型计算机,笔记本计算机,平板计算机,移动计算设备,可穿戴计算设备,网络设备,web设备,分布式计算系统,基于处理器的系统和/或消费者电子设备。如图1所示,计算设备100示例性地包括处理器120、输入/输出子系统124、存储器126、数据存储设备128、通信电路130、安全引擎132和非易失性存储器136。当然,在其他实施例中,计算设备100可以包括其他或附加组件,例如在台式计算机中常见的那些组件(例如,各种输入/输出设备)。另外,在一些实施例中,一个或多个说明性组件可以并入或以其他方式形成另一组件的一部分。例如,在一些实施例中,存储器126或其部分可以并入处理器120中。
处理器120可以被实施为能够执行本文所描述的功能的任何类型的处理器。处理器120可以被实施为单核或多核处理器、数字信号处理器、微控制器或其他处理器或处理/控制电路。如上所述,处理器120包括安全飞地支持122。安全飞地支持122允许处理器120建立一个被称为安全飞地的可信执行环境,其中执行代码可被测量、验证和/或以其他方式确定为真实的。此外,包括在安全飞地中的代码和数据可以被加密或以其他方式保护,以防止在安全飞地之外执行的代码访问。例如,包括在安全飞地中的代码和数据可以被处理器120的硬件保护机制保护,同时被执行或者被存储在处理器120的某个受保护的高速缓存存储器中。包括在安全飞地中的代码和数据可以当存储在共享高速缓存或主存储器126中时被加密。安全飞地支持122可以被实现为一组处理器指令扩展,其允许处理器120在存储器126中建立一个或多个安全飞地。例如,安全飞地支持122可以实施为
Figure BDA0001480612490000041
软件防护扩展(SGX)技术。
存储器126可被实施为能够执行本文描述的功能的任何类型的易失性或非易失性存储器或数据存储。在操作中,存储器126可以存储在计算设备100的操作期间使用的各种数据和软件,例如操作系统、应用、程序、库和驱动器。存储器126经由I/O子系统124通信地耦合到处理器120,I/O子系统124可被实施为促进与处理器120、存储器126和计算设备100的其他组件的输入/输出操作的电路和/或组件。例如,I/O子系统124可以被实施为或以其它方式包括存储器控制器集线器、输入/输出控制集线器、平台控制器集线器、集成控制电路、固件设备、通信链路(即点到点链路、总线链路、电线、电缆、光导、印刷电路板迹线等)和/或促进输入/输出操作的其他组件和子系统。在一些实施例中,I/O子系统124可以形成片上系统(SoC)的一部分,并且与处理器120、存储器126、安全引擎132以及计算设备100的其他组件一起并入单个集成电路芯片上。
数据存储设备128可被实施为被配置用于数据的短期或长期存储的任何类型的设备或(多个)设备,例如存储器设备和电路、存储卡、硬盘驱动器、固态驱动器或其他数据存储设备。在一些实施例中,数据存储设备128可用于存储一个或多个安全飞地的内容。当由数据存储设备128存储时,可以对安全飞地的内容加密以防止未经授权的访问。
计算设备100的通信电路130可以被实施为能够通过网络实现计算设备100与其他远程设备之间的通信的任何通信电路、设备或其集合。通信电路130可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和相关协议(例如,以太网,
Figure BDA0001480612490000052
Figure BDA0001480612490000051
WiMAX等)来实现这种通信。
安全引擎132可以实施为能够向计算设备100提供安全相关服务的任何硬件组件或电路。特别地,安全引擎132可以包括微处理器、微控制器或能够独立且安全地执行来自处理器120的固件和/或其他代码的其他嵌入式控制器。安全引擎132可以通过诸如主机嵌入式控制器接口(HECI)的专用总线与处理器120和/或计算设备100的其他组件进行通信。安全引擎132还可以提供计算设备100的远程配置、控制或管理。在说明性实施例中,安全引擎132实施为并入计算设备100的片上系统(SoC)中的融合式安全和可管理性引擎(CSME)。在一些实施例中,安全引擎132可以实施为可管理性引擎、带外处理器、可信平台模块(TPM)或其他安全引擎设备或设备集合。此外,在一些实施例中,安全引擎132还能够使用通信电路130或独立于计算设备100的状态(例如,独立于主处理器120的状态)的专用通信电路进行通信,也称为“带外”通信。安全引擎132还包括可用于向计算设备100提供诸如单调计数器服务或可信时间服务的平台服务的一个或多个硬件组件。在说明性的实施例中,安全引擎132包括重放保护单调计数器134。
非易失性存储器136可以被实施为被配置为当计算设备100断电或从电源断开时用于持续数据存储的任何设备。在说明性的实施例中,非易失性存储器136是闪存芯片。在其他实施例中,非易失性存储器136可被实施为与电池备用或其它非易失性存储器耦合的少量互补金属氧化物半导体(“CMOS”)存储器。非易失性存储器136可以用于存储用于计算设备100的平台固件。非易失性存储器136的一部分可以被分区或以其它方式保留以供安全引擎132使用,例如用于存储安全引擎132的固件。另外,非易失性存储器136可以包括重放保护数据(RPDATA)138。RPDATA138可以被实施为一个或多个128位重放保护的数据存储位置。安全引擎132可以使用RPDATA138(例如,通过重放保护单调计数器134或相关固件)来向计算设备100提供平台服务。非易失性存储器136通常具有与数据存储设备128相比相对小的存储容量,例如在RPDATA138中包括8到16个128位值。在一些实施例中,非易失性存储器136可被并入到计算设备100的一个或多个其他组件中,例如并入到I/O子系统124中。
现在参考图2,在说明性的实施例中,计算设备100在操作期间建立环境200。说明性环境200包括由安全引擎132建立的虚拟机监视器(VMM)204、一个或多个虚拟机206、虚拟安全引擎模块220和安全引擎模块224。每个虚拟机206包括一个或多个应用程序208和平台服务模块212。环境200还可以包括主机平台服务模块226。如图所示,VMM 204、虚拟安全引擎模块220、主机平台服务模块226以及一个或多个应用程序208可以由计算设备100的主机环境202建立。虚拟机206不包括在主机环境202中。环境200的各个模块可以被实施为硬件、固件、软件或其组合。例如,环境200的各种模块、逻辑和其他组件可以形成处理器120、安全引擎132或计算设备100的其他硬件组件的一部分,或以其他方式被它们建立。这样,在一些实施例中,环境200的任何一个或多个模块可以被实施为电气设备的电路或集合(例如,平台服务电路,虚拟安全引擎电路等)。
VMM 204可以被实施为允许在计算设备100上执行虚拟化工作负载的任何虚拟机监视器、管理程序或其他组件。VMM 204可以对计算设备100进行完全控制,例如通过在非虚拟化主机模式,例如ring 0级和/或VMX根模式中执行。每个虚拟机206被配置为在计算设备100上执行虚拟化的工作负载,诸如执行访客操作系统和/或应用程序208。每个虚拟机206可以以有限许可访客模式执行,该模式限制对计算设备100的某些硬件的访问,例如VMX非根模式。尽管被示为包括两个虚拟机206a、206b,但是应当理解,计算设备100可以建立许多虚拟机206。
每个应用程序208可以实施为被配置为由计算设备100执行的任何用户应用程序、系统应用程序、模块、脚本或其他计算机程序。应用程序208可以被实施为本机应用程序、web应用程序、字节码、源代码或可由计算设备100执行的任何其他代码。每个应用程序208使用处理器120的安全飞地支持122建立一个或多个应用程序飞地210。每个应用程序飞地210可以实施为安全飞地,其包括经过认证和保护以防止处理器120进行未经授权的访问和/或由修改的代码和/或数据,例如使用
Figure BDA0001480612490000071
SGX技术建立的安全飞地。因此,应用程序飞地210在应用程序208内提供隔离和安全的执行环境。尽管被示为包括单个应用程序208和应用程序飞地210,但是应当理解,每个虚拟机206可以建立多个应用程序208和/或应用程序飞地210。另外,如图2所示,在一些实施例中,计算设备100可以在任何访客虚拟机206之外的主机环境202中执行一个或多个应用程序208和/或应用程序飞地210。
每个平台服务模块212被配置为建立平台服务飞地214。类似于应用程序飞地210,每个平台服务飞地214可被实施为包括被认证和保护以免处理器120进行未经授权访问和/或修改的代码和/或数据的安全飞地,诸如使用
Figure BDA0001480612490000072
SGX技术建立的安全飞地。因此,平台服务飞地214在虚拟机206内提供隔离且安全的执行环境。
每个平台服务模块212还被配置为通过平台服务飞地214经由与应用程序飞地210的认证通信会话来接收平台服务请求。每个平台服务模块212还被配置为通过平台服务飞地214,经由与虚拟安全引擎222的认证通信会话将平台服务请求发送到虚拟安全引擎222。平台服务请求可以包括单调计数器请求或可信时间请求。在一些实施例中,每个平台服务模块212可以被配置为通过平台服务飞地214将从应用程序飞地210接收到的平台服务请求代理到虚拟安全引擎222。在一些实施例中,每个平台服务模块212可以是被配置为通过平台服务飞地214对应用程序飞地210执行基于报告的证明并且通过平台服务飞地214对虚拟安全引擎222执行基于引证的远程证明。这些功能可以由一个或更多子模块,例如安全引擎代理模块216和/或证明模块218来执行。
虚拟安全引擎模块220被配置为在计算设备100的主机环境202中建立虚拟安全引擎222。换言之,虚拟安全引擎222在VMM 204和/或主机操作系统的监督下执行,对计算设备100的硬件进行直接的、非虚拟的访问。例如,虚拟安全引擎222可以以VMX根模式执行。虚拟安全引擎222可以作为VMM 204或主机操作系统的一部分(例如,作为可加载模块,驱动程序或其他组件)或作为用户级组件(例如,作为服务器进程、模块、驱动程序或其他用户级组件)来执行。
虚拟安全引擎模块220还被配置为通过虚拟安全引擎222建立与安全引擎132的长期认证通信会话,并且通过主机虚拟安全引擎222响应于从平台服务飞地214接收到平台服务请求,经由长期认证通信会话向安全引擎132发送平台服务请求。
如上所述,安全引擎132建立安全引擎模块224。例如,安全引擎模块224可以被实施为安全引擎132的可加载的固件组件。安全引擎模块224被配置为,通过安全引擎132利用安全引擎132的硬件资源来执行平台服务请求。例如,硬件资源可以包括非易失性存储器136的重放保护单调计数器134和/或重放保护数据存储区域(RPDATA)138。
主机平台服务模块226被配置为建立虚拟化感知的平台服务飞地228。与应用程序飞地210和平台服务飞地214类似,每个虚拟化感知的平台服务飞地228可被实施为安全飞地,包括被认证和保护以免受处理器120的未经授权的访问和/或修改的代码和/或数据,例如使用
Figure BDA0001480612490000081
SGX技术建立的安全飞地。因此,平台服务飞地214在计算设备100的主机环境202内提供隔离且安全的执行环境。主机平台服务模块226还被配置为在虚拟化感知的平台服务飞地228内建立虚拟安全引擎222。因此,在一些实施例中,虚拟安全引擎222可以在隔离和安全的执行环境中执行。
主机平台服务模块226还被配置为由虚拟安全引擎222确定虚拟安全引擎222是否建立在主机环境202中,而不是在虚拟机206内。如果虚拟安全引擎222被确定为建立在主机环境202中,则虚拟安全引擎222可以如上所述建立与安全引擎132的长期认证通信会话。如果虚拟安全引擎222被确定为未建立在主机环境202中(例如,虚拟安全引擎222被确定为建立在虚拟机206中),则虚拟安全引擎222可以建立与在主机环境202中建立的虚拟安全引擎222的认证通信会话。
现在参考图3,在说明性的实施例中,计算设备100在操作期间建立环境300。说明性的环境300包括由安全引擎132建立的虚拟机监视器(VMM)204、一个或多个虚拟机206、安全引擎通信模块312和多实例安全引擎模块314。每个虚拟机206均包括一个或多个应用程序208和平台服务模块304。如图所示,虚拟机监视器204和安全引擎通信模块312可由计算设备100的主机环境302建立。虚拟机206不包括在主机环境302中。环境300的各个模块可以被实施为硬件、固件、软件或其组合。例如,环境300的各种模块、逻辑和其他组件可以形成处理器120、安全引擎132或计算设备100的其他硬件组件的一部分,或以其他方式由其构建。因此,在一些实施例中,环境300的任何一个或多个模块可被实施为电气设备的电路或集合(例如,平台服务电路、多实例安全引擎电路等)。
如图所示,VMM 204可以管理多个虚拟机206,并且每个虚拟机206可以执行多个应用程序208和/或应用程序飞地210。这些组件的描述类似于图2的对应组件的描述,因此在本文中不重复,以提高本公开的清楚性。
每个平台服务模块304被配置为建立平台服务飞地306。与应用程序飞地210类似,每个平台服务飞地306可被实施为这样的安全飞地:该安全飞地包括经过认证和保护以免处理器120进行未经授权访问和/或修改的代码和/或数据,例如使用
Figure BDA0001480612490000091
SGX技术建立的安全飞地。因此,平台服务飞地306在虚拟机206内提供隔离且安全的执行环境。
每个平台服务模块304还被配置为由平台服务飞地306建立与安全引擎132的长期认证通信会话。每个平台服务模块304被配置通过平台服务飞地306经由与应用程序飞地210的认证通信会话接收平台服务请求。每个平台服务模块304被配置为通过平台服务飞地306经由长期认证通信会话向安全引擎132发送平台服务请求。在一些实施例中,每个平台服务模块304可被配置为通过平台服务飞地306将从应用程序飞地210接收的平台服务请求代理到如下所述建立的安全引擎消息传递服务。在一些实施例中,每个平台服务模块304可以被配置为通过平台服务飞地306对应用程序飞地210执行基于报告的证明以建立经认证的通信会话。这些功能可以由一个或多个子模块执行,诸如安全引擎代理模块308和/或证明模块310。
安全引擎通信模块312被配置为在计算设备100的主机环境302中建立安全引擎消息传递服务。安全引擎通信模块312还被配置为通过安全引擎消息传递服务来将从平台服务飞地306接收到的平台服务请求经由主机嵌入式控制器接口发送到安全引擎132。
如上所述,安全引擎132建立多实例安全引擎模块314。例如,多实例安全引擎模块314可以被实施为安全引擎132的可加载固件组件。多实例安全引擎模块314被配置为通过安全引擎132利用安全引擎132的硬件资源来执行平台服务请求。硬件资源与利用平台服务飞地306建立的长期认证通信会话相关联。例如,硬件资源可以包括非易失性存储器136的重放保护的单调计数器134和/或重放保护的数据存储区域(RPDATA)138。
现在参考图4A和4B,在使用中,计算设备100可以执行用于对由安全引擎132提供的安全服务进行虚拟访问的方法400。方法400从框402开始,其中计算设备100使用处理器120的安全飞地支持122(例如利用
Figure BDA0001480612490000101
SGX技术)加载一个或多个安全飞地。特别地,计算设备100为由VMM 204建立的每个虚拟机206加载平台服务飞地214。另外,计算设备100可以为在虚拟机206内运行的应用程序208加载一个或多个应用程序飞地210。在一些实施例中,计算设备100可以在主机环境202中加载虚拟化感知的平台服务飞地228。为了加载每个安全飞地,计算设备100可以执行一个或多个处理器指令来创建安全飞地,将存储器页面添加到安全飞地,并完成对安全飞地的测量。当存储器页面被添加到安全飞地中时,安全飞地支持122可以基于存储器页面的内容和添加存储器页面的顺序来更新安全日志。完成安全飞地可以生成基于安全日志的测量,例如通过基于安全日志生成安全哈希值。在安全飞地完成后,其他存储器页面可能不会添加到安全飞地。如下面进一步描述的那样,安全飞地的测量可用于认证每个安全飞地。另外,尽管示出为在框402中加载安全飞地,但是应当理解,在一些实施例中,计算设备100可以在其他时间加载安全飞地。例如,当应用程序208被执行时,应用程序208可加载一个或多个应用程序飞地210,并且可以在创建额外的虚拟机206时加载附加的平台服务飞地214。
在框404中,计算设备100使用SIGMA密钥交换协议与安全引擎132建立长期配对会话。长期配对会话可以被实施为例如跨重新启动持续的配对会话。计算设备100可以使用长期配对会话来建立持续直到计算设备100重新启动的短期临时会话。计算设备100使用在计算设备100的主机环境202中建立的虚拟安全引擎(vCSME)220来建立长期SIGMA配对会话。例如,虚拟安全引擎222可以由在任何虚拟机206之外的VMM 204和/或主机操作系统来建立或者作为在任何虚拟机206之外的VMM 204和/或主机操作系统的一部分。在一些实施例中,在框406中,计算设备100使用已经被提供给主机虚拟安全引擎222的增强型隐私标识符(EPID)证书来建立SIGMA配对会话。虚拟安全引擎222可以是被配备有EPID证书的计算设备100的唯一组件,并且因此是可以与安全引擎132建立SIGMA配对会话的计算设备100的唯一组件。
在一些实施例中,在框408中,计算设备100可以使用由虚拟化感知的平台服务飞地228建立的虚拟安全引擎222来建立配对会话。虚拟化感知的平台服务飞地228可以确定其是正在虚拟机206中执行还是在计算设备100的主机环境202中执行。例如,虚拟化感知的平台服务飞地228可以确定对安全引擎132的直接访问是否可用,例如通过HECI总线。如果虚拟化感知的平台服务飞地228在主机环境202中操作,则虚拟化感知的平台服务飞地228可以在虚拟化感知的平台服务飞地228内加载或以其他方式建立虚拟安全引擎222。如果虚拟化感知的平台服务飞地228不在主机环境202中操作,则虚拟化感知的平台服务飞地228可以执行与在虚拟机206中操作的平台服务飞地214相同的操作,如下文进一步描述的。
在框410中,在虚拟机206内操作的应用程序飞地210建立与在同一虚拟机206内操作的平台服务飞地214的认证通信会话。认证通信会话验证应用程序飞地210是真实的并没有被篡改。在一些实施例中,在同一虚拟机206内运行的多个应用程序飞地210可以建立与相同的平台服务飞地214的认证通信会话。在一些实施例中,在框412中,应用程序飞地210和平台服务飞地214可以执行基于报告的证明流程以建立认证通信会话。证明证实应用程序飞地210是有效的安全飞地并且应用程序飞地210是真实的(即,应用程序飞地210未被篡改)。为了执行基于报告的认证,计算设备100可以执行
Figure BDA0001480612490000111
SGX技术安全飞地本地证明流程。计算设备100可以生成应用程序飞地210的测量。该测量可以被实施为取决于添加到应用程序飞地210的存储器页面的内容以及存储器页被添加到应用程序飞地210的顺序的密码安全值。例如,测量可以被实施为在应用程序飞地210的构造期间生成的安全日志的密码散列。可以使用处理器120的专门的处理器指令诸如EREPORT指令来生成测量。测量也可以绑定到计算设备100的硬件。例如,测量可以包括使用与由计算设备100建立的平台服务飞地214相关联的加密密钥(例如,报告密钥)生成的消息认证码(MAC)。
在框414中,应用程序飞地210使用认证通信会话向访客平台服务飞地214发送平台服务请求。平台服务请求可以包括对要发送到安全引擎132的安全相关服务的任何请求。例如,计算设备100可以暴露到安全引擎132的请求/响应消息接口。在该示例中,平台服务请求可以包括获得和/或更新RPDATA138的当前值的请求。应用程序飞地210可以使用任何安全通信链路将数据传送到访客平台服务飞地214。在一些实施例中,在框416应用程序飞地210使用安全网络远程过程调用(RPC)将平台服务请求发送到访客平台服务飞地214。例如,可以使用通过TCP的安全套接字发送平台服务请求。
在框418中,访客平台服务飞地214建立与在计算设备100的主机环境202内操作的虚拟安全引擎222(vCSME)的认证通信会话。如上所述,认证通信会话验证应用程序飞地210和/或平台服务飞地214是真实的并且没有被篡改。在一些实施例中,在多个虚拟机206内操作的多个平台服务飞地214可以建立与同一虚拟安全引擎222的认证通信会话。在一些实施例中,在框420中,平台服务飞地214和虚拟安全引擎222可执行基于引证的证明流程以建立认证通信会话。如上所述,证明证实应用程序飞地210和/或平台服务飞地214是有效的安全飞地,并且应用程序飞地210和/或平台服务飞地214是真实的(即应用程序飞地210和/或平台服务飞地214未被篡改)。
为了执行基于引证的证明,计算设备100可以执行
Figure BDA0001480612490000121
SGX技术安全飞地远程证明流程。如上所述,计算设备100可以生成应用程序飞地210和/或平台服务飞地214的测量。该测量可以实施为取决于添加到应用程序飞地210和/或平台服务飞地214的存储器页面的内容以及存储器页面被添加到应用程序飞地210和/或平台服务飞地214的顺序的密码安全值。例如,测量可以实施为在构建应用程序飞地210和/或平台服务飞地214期间生成的安全日志的密码散列。可以使用处理器120的专门的处理器指令(例如EREPORT指令)来产生测量。测量还可以绑定到计算设备100的硬件。例如,测量可以包括使用与平台服务飞地214或由计算设备100建立的其他飞地(例如,引证飞地)相关联的加密密钥(例如,报告密钥)生成的消息认证码(MAC)。计算设备100可以使用与计算设备100相关联的特定于设备的私有密钥创建的签名代替测量的MAC,以基于该报告生成引证。
在框422中,访客平台服务飞地214将平台服务请求转发到在主机环境202中操作的虚拟安全引擎222。访客平台服务飞地214可以使用任何安全通信链路将数据传送到虚拟安全引擎222。在一些实施例中,在框424中,访客平台服务飞地214使用安全网络远程过程调用(RPC)将平台服务请求发送到虚拟安全引擎222。例如,可以使用通过TCP的安全套接字发送平台服务请求。在一些实施例中,在框426中,访客平台服务飞地214可以将平台服务请求代理给虚拟服务引擎。例如,访客平台服务飞地214可以建立安全引擎消息传递服务,其提供与由虚拟安全引擎222和/或安全引擎132提供的安全引擎消息传递服务相同的接口。因此,在一些实施例中,应用程序飞地210可以生成可以被发送到虚拟安全引擎222或直接发送到安全引擎132而不进行修改的平台服务请求。
在框428中,虚拟安全引擎222将平台服务请求发送到安全引擎132。如上所述,虚拟安全引擎222是直接与安全引擎132通信的计算设备100的唯一组件,并且因此虚拟安全引擎222可以发送源自在多个虚拟机206内操作的多个应用程序飞地210和平台服务飞地214的平台安全请求。在一些实施例中,在框430中,计算设备100可以通过HECI总线与安全引擎132进行通信。如上所述,虚拟安全引擎222和安全引擎132可以使用长期配对信息来按需建立短期临时会话,并且使用该安全信道通过HECI总线传送请求和响应消息。例如,虚拟安全引擎222和安全引擎132之间的消息可以使用在使用AES-GCM的短期协议交换期间导出的共享秘密密钥进行加密和完整性保护。
在框432中,如图4B所示,安全引擎132使用诸如重放保护单调计数器(RPMC)134和/或重放保护数据(RPDATA)138之类的平台硬件来执行平台服务请求。安全引擎132可以获得或更新值并通过HECI总线返回对虚拟安全引擎222的响应。在一些实施例中,在框434中,安全引擎132可以访问存储在非易失性存储器136中的RPDATA138。例如,如上所述,安全引擎132可以获得或更新RPDATA138。在一些实施例中,在框436中,安全引擎132可以访问RPMC 134。在一些实施例中,在框438中,安全引擎132可以访问可信时间源。
在框440中,虚拟安全引擎222向访客平台服务飞地214发送平台服务响应。平台服务响应可以包括从安全引擎132接收的计数器数据、状态数据或其他数据,并且可以由安全引擎132或虚拟安全引擎222生成。在框442中,在一些实施例中,虚拟安全引擎222可以使用安全网络远程过程调用(例如使用通过TCP的安全套接字)将平台服务响应发送到访客平台服务飞地214。
在框444中,访客平台服务飞地214将平台服务响应发送到应用程序飞地210。在接收到平台服务响应之后,应用程序飞地210和/或应用程序208可以使用平台服务响应来执行一个或多个安全操作。例如,应用程序飞地210和/或应用程序208可以使用平台服务响应来跟踪数据库文件的哈希值和/或MAC值,或者使用平台服务响应来实现一个或多个单调计数器来跟踪数据库文件的版本。在框446中,在一些实施例中,平台服务飞地214可以使用安全网络远程过程调用(例如,使用通过TCP的安全套接字)来发送平台服务响应到应用程序飞地210。在返回平台服务响应之后,方法400循环回到图4A所示的框410,其中计算设备100可以处理附加的平台服务请求。
现在参考图5,在使用中,计算设备100可以执行用于对由安全引擎132提供的安全服务进行虚拟访问的方法500。方法500从框502开始,其中计算设备100使用处理器120的安全飞地支持122加载一个或多个安全飞地,例如,使用
Figure BDA0001480612490000141
SGX技术。特别地,计算设备100为由VMM 204建立的每个虚拟机206加载平台服务飞地306。另外,计算设备100可以加载针对在虚拟机206内操作的应用程序208的一个或多个应用程序飞地210。为加载每个安全飞地,计算设备100可以执行一个或多个处理器指令来创建安全飞地,向安全飞地添加存储器页面,并且完成安全飞地的测量。当存储器页面被添加到安全飞地中时,安全飞地支持122可以基于存储器页面的内容和添加存储器页面的顺序来更新安全日志。完成安全飞地可以生成基于安全日志的测量,例如通过基于安全日志生成安全哈希值。在安全飞地完成后,其他存储器页面可能不会添加到安全飞地。如下面进一步描述的那样,安全飞地的测量可用于认证每个安全飞地。另外,尽管在框502中示出为加载安全飞地,但是应当理解,在一些实施例中,计算设备100可以在其他时间加载安全飞地。例如,当应用程序208被执行时,应用程序208可加载一个或多个应用程序飞地210,并且可以在创建额外的虚拟机206时加载附加的平台服务飞地306。
在框504中,虚拟机206的访客平台服务飞地306利用SIGMA密钥交换协议与安全引擎132建立长期配对会话。在具有多个虚拟机206的实施例中,每个虚拟机206的平台服务飞地306可以建立与安全引擎132的不同的长期SIGMA配对会话。在一些实施例中,在框506中,平台服务飞地306使用已经被提供给平台服务飞地306的增强型隐私标识符(EPID)证书来建立SIGMA配对会话。
在框508中,在虚拟机206内操作的应用程序飞地210与在同一虚拟机206内操作的平台服务飞地306建立认证通信会话。认证通信会话验证应用程序飞地210是真实的并且未被篡改用。在一些实施例中,在相同的虚拟机206内操作的多个应用程序飞地210可以建立与相同的平台服务飞地306的认证通信会话。在一些实施例中,在框510中,应用程序飞地210和平台服务飞地306可以执行基于报告的证明流程以建立认证通信会话。证明证实应用程序飞地210是有效的安全飞地,并且应用程序飞地210是真实的(即,应用程序飞地210未被篡改)。为了执行基于报告的证明,计算设备100可以执行
Figure BDA0001480612490000151
SGX技术安全飞地本地证明流程。计算设备100可以生成应用程序飞地210的测量。测量可以被实施为取决于添加到应用程序飞地210的存储器页面的内容以及存储器页面被添加到应用程序飞地210的顺序的密码安全值。例如,测量可以被实施为在应用程序飞地210的构造期间生成的安全日志的密码散列。可以使用处理器120的诸如EREPORT指令的专门处理器指令来生成测量。测量也可以绑定到计算设备100的硬件。例如,测量可以包括使用与由计算设备100建立的平台服务飞地306相关联的加密密钥(例如,报告密钥)生成的消息认证码(MAC)。
在框512中,应用程序飞地210使用认证通信会话向访客平台服务飞地306发送平台服务请求。平台服务请求可以包括对要发送到安全引擎132的安全相关服务的任何请求。例如,计算设备100可以暴露到安全引擎132的请求/响应消息接口。在该示例中,计算设备100可以提供与安全引擎132进行通信的简单应用编程接口(API),例如以STATUS=SendAndReceive(IN CSME_Service_handle,IN PS_Command,IN pse_message,OUT csme_message,OUT Resp_code)的形式来暴露功能。到安全引擎132的潜在消息可以包括用于以下的消息:建立平台服务飞地306到安全引擎132长期配对以建立新的RPDATA138;得到128位RPDATA138;更新RPDATA138并返回新视图;删除平台服务飞地306到安全引擎132长期配对;查询活动配对的列表;进入恢复模式进行RPDATA138清理;和/或释放在恢复模式下标识的任何无效配对。应用程序飞地210可以使用任何安全通信链路将数据传送到访客平台服务飞地306。在一些实施例中,在框514中,应用程序飞地210使用安全网络远程过程调用(RPC)向访客平台服务飞地306发送平台服务请求。例如,可以使用通过TCP的安全套接字发送平台服务请求。
在框516中,访客平台服务飞地306将平台服务请求转发到在主机环境302中操作的安全引擎132消息传递服务。访客平台服务飞地306可以使用任何安全通信链路将数据传送到主机环境302。在一些实施例中,在框518中,访客平台服务飞地306使用安全网络远程过程调用(RPC)将平台服务请求发送到安全引擎132消息传递服务。例如,可以使用通过TCP的安全套接字发送平台服务请求。
在框520中,主机环境302中的安全引擎132消息传递服务通过HECI总线将平台服务请求发送到安全引擎132。主机环境302的安全引擎132消息传递服务可以转发从由多个虚拟机206建立的多个平台服务飞地306接收的平台服务请求。由于主机环境302中的消息传递服务是与安全引擎132直接通信的唯一实体,所以VMM 204和/或虚拟机206可能不会将HECI总线和/或HECI驱动器暴露给在虚拟机206内执行的平台服务飞地306或其他访客软件。主机环境302中的消息传递服务和安全引擎132可以使用长期配对信息来按需建立短期临时会话,并且使用该安全信道来通过HECI总线传送请求和响应消息。例如,消息传递服务和安全引擎132之间的消息可以使用在使用AES-GCM的短期协议交换期间导出的共享秘密密钥进行加密和完整性保护。
在框522中,安全引擎132使用专用于访客平台服务飞地306的平台硬件来执行平台服务请求。安全引擎132可以例如使用诸如已经和与平台服务飞地306的长期SIGMA配对相关联的重放保护单调计数器(RPMC)134和/或重放保护数据(RPDATA)138的一部分的硬件。因此,由安全引擎132支持的平台服务飞地306的总数可能受到可用硬件资源的限制,例如用于RPDATA138的非易失性存储器136中的可用空间。在执行服务请求之后,安全引擎132可以得到或更新值并且通过HECI总线返回响应。在一些实施例中,在框524中,安全引擎132可访问存储在非易失性存储器136中的与平台服务飞地306的特定SIGMA长期配对会话相关联的RPDATA138。在一些实施例中,在框526中,安全引擎132可以访问RPMC134。在一些实施例中,在框528中,安全引擎132可访问可信时间源。
在框530中,主机环境302的安全引擎132消息传递服务向访客平台服务飞地306发送平台服务响应。平台服务响应可以包括从安全引擎132接收的计数器数据、状态数据或其他数据,并且可以由安全引擎132或消息传递服务生成。可以使用任何适当的技术来传输平台服务响应,包括使用安全网络远程过程调用,例如通过TCP的安全套接字。
在框532中,访客平台服务飞地306将平台服务响应发送到应用程序飞地210。在接收到平台服务响应之后,应用程序飞地210和/或应用程序208可以使用平台服务响应执行一个或多个安全操作。例如,应用程序飞地210和/或应用程序208可以使用平台服务响应来跟踪数据库文件的哈希值和/或MAC值,或者使用平台服务响应来实现一个或多个单调计数器来跟踪数据库文件的版本。可以使用任何适当的技术来传输平台服务响应,包括使用安全网络远程过程调用,例如通过TCP的安全套接字。在返回平台服务响应之后,方法500循环回到框508以继续处理平台服务请求。
示例
以下提供本文公开的技术的示例性示例。技术的实施例可以包括以下描述的示例中的任何一个或多个,以及任何组合。
示例1包括用于提供安全相关的平台服务的计算设备,所述计算设备包括:包括安全飞地支持的处理器;平台服务模块,用于:(i)通过由所述处理器建立的与所述计算设备的虚拟机相关联的访客平台服务飞地,经由与由所述处理器建立的与虚拟机相关联的应用程序飞地的第一认证通信会话接收平台服务请求,并且(ii)通过访客平台服务飞地经由与由计算设备的主机环境建立的主机虚拟安全引擎的第二认证通信会话将平台服务请求发送到主机虚拟安全引擎;虚拟安全引擎模块,用于:(i)通过所述虚拟安全引擎建立与所述计算设备的安全引擎的长期认证通信会话,以及(ii)通过主机虚拟安全引擎,响应于接收到平台服务请求,经由长期认证通信会话,向安全引擎发送平台服务请求;以及安全引擎模块,用于通过安全引擎利用安全引擎的硬件资源执行平台服务请求。
示例2包括示例1的主题,并且其中平台服务请求包括单调计数器请求或可信时间请求。
示例3包括示例1和2中任一项的主题,并且其中安全引擎的硬件资源包括重放保护数据存储区域。
示例4包括示例1-3中任一项的主题,并且还包括证明模块,用于通过访客平台服务飞地对应用程序飞地执行基于报告的证明以建立与应用程序飞地的第一认证通信会话;并且通过访客平台服务飞地对主机虚拟安全引擎执行基于引证的远程证明,以建立与主机虚拟安全引擎的第二认证通信会话。
示例5包括示例1-4中任一项的主题,并且其中,通过访客平台服务飞地来接收平台服务请求包括经由与应用程序飞地的安全网络连接来接收平台服务请求;并且通过访客平台服务飞地发送平台服务请求包括经由与主机虚拟安全引擎的安全网络连接来发送平台服务请求。
示例6包括示例1-5中任一项的主题,并且其中,通过访客平台服务飞地发送平台服务请求包括通过访客平台服务飞地代理从该应用程序飞地接收的平台服务请求代理给主机虚拟安全引擎。
示例7包括示例1-6中任一项的主题,并且其中通过主机虚拟安全引擎经由长期认证通信会话将平台服务请求发送到安全引擎包括经由主机嵌入式控制器接口发送平台服务请求。
示例8包括示例1-7中任一项的主题,还包括主机平台服务模块,用于通过计算设备的处理器在计算设备的主机环境中建立主机平台服务飞地;通过主机平台服务飞地在计算设备的主机环境中建立主机虚拟安全引擎;并通过主机虚拟安全引擎确定主机虚拟安全引擎是否在主机环境中建立;其中建立与所述计算设备的所述安全引擎的所述长期认证通信会话包括响应于在所述主机环境中建立所述主机虚拟安全引擎的确定来建立所述长期认证通信会话。
示例9包括示例1-8中任一项的主题,并且其中平台服务模块还用于(i)通过由计算设备的处理器建立的与计算设备的第二虚拟机相关联的第二访客平台服务飞地经由与所述第二应用程序飞地的第三认证通信会话接收来自第二应用程序飞地的第二平台服务请求,以及(ii)通过所述第二访客平台服务飞地将所述第二平台服务请求经由与所述主机虚拟安全引擎的第四认证通信会话发送到所述主机虚拟安全引擎;虚拟安全引擎模块还用于通过主机虚拟安全引擎响应于接收到第二平台服务请求,经由长期认证通信会话向安全引擎发送第二平台服务请求;并且安全引擎模块还用于通过安全引擎利用安全引擎的硬件资源执行第二平台服务请求。
示例10包括示例1-9中任一项的主题,并且其中安全引擎包括融合式可管理性和安全引擎。
示例11包括示例1-10中任一项的主题,并且其中所述计算设备包括片上系统,所述片上系统包括处理器和安全引擎。
示例12包括示例1-11中任一项的主题,并且其中建立长期认证通信会话包括建立与提供给计算设备的主机虚拟安全引擎的EPID证书的SIGMA配对会话。
示例13包括示例1-12中任一项的主题,并且其中主机环境包括虚拟机监视器或主机操作系统。
示例14包括用于提供安全相关的平台服务的计算设备,所述计算设备包括:包括安全飞地支持的处理器;平台服务模块,用于:(i)通过处理器建立与计算设备的虚拟机相关联的访客平台服务飞地,(ii)通过访客平台服务飞地建立与所述计算设备的安全引擎的长期认证通信会话,(iii)通过所述访客平台服务飞地经由与由所述处理器建立的与所述虚拟机相关联的应用程序飞地的认证通信会话接收平台服务请求,以及(iv)通过所述访客平台服务飞地响应于所述平台服务请求的接收,经由所述长期认证通信会话向所述安全引擎发送所述平台服务请求;以及多实例安全引擎模块,用于通过所述安全引擎使用所述安全引擎的硬件资源来执行所述平台服务请求,其中所述硬件资源与所述长期认证通信会话相关联。
示例15包括示例14的主题,并且其中平台服务请求包括单调计数器请求或可信时间请求。
示例16包括示例14和15中任一个的主题,并且其中安全引擎的硬件资源包括重放保护的数据存储区域。
示例17包括示例14-16中任一项的主题,并且还包括证明模块,用于通过访客平台服务飞地对应用程序飞地执行基于报告的证明以建立与应用程序飞地的认证通信会话。
示例18包括示例14-17中任一项的主题,并且其中,通过访客平台服务飞地接收平台服务请求包括经由安全网络连接来接收平台服务请求。
示例19包括示例14-18中任一项的主题,并且还包括安全引擎通信模块,用于在所述计算设备的主机环境中建立安全引擎消息传递服务;并且通过所述安全引擎消息传递服务经由主机嵌入式控制器接口将所述平台服务请求发送到所述安全引擎;其中,通过所述访客平台服务飞地经由所述长期认证通信会话向所述安全引擎发送所述平台服务请求包括通过所述访客平台服务飞地将从所述应用程序飞地接收到的所述平台服务请求代理给所述安全引擎消息传递服务。
示例20包括示例14-19中任一项的主题,并且其中平台服务模块还用于:(i)通过处理器建立与计算设备的第二虚拟机相关联的第二访客平台服务飞地,(ii)通过第二访客平台服务飞地与计算设备的安全引擎建立第二长期认证通信会话,(iii)通过第二访客平台服务飞地经由与由处理器建立的与第二虚拟机相关联的第二应用程序飞地的第二认证通信会话接收第二平台服务请求,以及(iv)通过第二访客平台服务飞地响应于接收到第二平台服务请求而经由所述第二长期认证通信会话将所述第二平台服务请求发送到所述安全引擎;并且所述多实例安全引擎模块进一步通过所述安全引擎利用所述安全引擎的第二硬件资源执行第二平台服务请求,其中所述第二硬件资源与所述第二长期认证通信会话相关联。
示例21包括示例14-20中任一项的主题,并且其中安全引擎包括融合式可管理性和安全引擎。
示例22包括示例14-21中任一项的主题,并且其中计算设备包括片上系统,片上系统包括处理器和安全引擎。
示例23包括示例14-22中任一项的主题,并且其中建立长期认证通信会话包括使用提供给计算设备的访客平台服务飞地的EPID证书来建立SIGMA配对会话。
示例24包括用于提供安全相关的平台服务的方法,所述方法包括:通过计算设备的主机环境建立的虚拟安全引擎,与计算设备的安全引擎建立长期认证通信会话;通过计算设备的处理器在计算设备的虚拟机中建立的访客平台服务飞地,经由与由处理器在虚拟机中建立的应用程序飞地的第一认证通信会话接收平台服务请求;通过访客平台服务飞地,经由与主机虚拟安全引擎的第二认证通信会话向主机虚拟安全引擎发送平台服务请求;通过所述主机虚拟安全引擎响应于接收到所述平台服务请求,经由所述长期认证通信会话向所述安全引擎发送所述平台服务请求;以及通过所述安全引擎使用所述安全引擎的硬件资源执行所述平台服务请求。
示例25包括示例24的主题,并且其中平台服务请求包括单调计数器请求或可信时间请求。
示例26包括示例24和25中任一项的主题,并且其中安全引擎的硬件资源包括重放保护的数据存储区域。
示例27包括示例24-26中任一项的主题,并且还包括通过访客平台服务飞地对应用程序飞地执行基于报告的证明以建立与应用程序飞地的第一认证通信会话;并通过访客平台服务飞地对主机虚拟安全引擎执行基于引证的远程证明,以与主机虚拟安全引擎建立第二认证通信会话。
示例28包括示例24-27中任一项的主题,并且其中通过访客平台服务飞地接收平台服务请求包括:经由与应用程序飞地的安全网络连接来接收平台服务请求;并且通过访客平台服务飞地发送平台服务请求包括:经由与主机虚拟安全引擎的安全网络连接来发送平台服务请求。
示例29包括示例24-28中任一项的主题,并且其中通过访客平台服务飞地发送平台服务请求包括通过访客平台服务飞地将从应用程序飞地接收的平台服务请求代理给主机虚拟安全引擎。
示例30包括示例24-29中任一项的主题,并且其中通过主机虚拟安全引擎经由长期认证通信会话向安全引擎发送平台服务请求包括经由主机嵌入式控制器接口发送平台服务请求。
示例31包括示例24-30中任一项的主题,并且还包括:通过计算设备的处理器在计算设备的主机环境中建立主机平台服务飞地;通过主机平台服务飞地在计算设备的主机环境中建立主机虚拟安全引擎;以及通过所述主机虚拟安全引擎确定所述主机虚拟安全引擎是否在所述主机环境中建立;其中建立与计算设备的安全引擎的长期认证通信会话包括响应于确定主机虚拟安全引擎在主机环境中建立而建立长期认证通信会话。
示例32包括示例24-31中任一项的主题,并且还包括:通过由计算设备的处理器在计算设备的第二虚拟机中建立的第二访客平台接收服务飞地,经由与第二应用程序飞地的第三认证通信会话从第二应用程序飞地接收第二平台服务请求;通过所述第二访客平台服务飞地经由与所述主机虚拟安全引擎的第四认证通信会话向所述主机虚拟安全引擎发送第二平台服务请求;通过所述主机虚拟安全引擎响应于接收到所述第二平台服务请求,经由所述长期认证通信会话向所述安全引擎发送所述第二平台服务请求;以及通过所述安全引擎使用所述安全引擎的硬件资源执行所述第二平台服务请求。
示例33包括示例24-32中任一项的主题,并且其中安全引擎包括融合式可管理性和安全引擎。
示例34包括示例24-33中任一项的主题,并且其中所述计算设备包括片上系统,片上系统包括处理器和安全引擎。
示例35包括示例24-34中任一项的主题,并且其中建立长期认证通信会话包括使用提供给计算设备的主机虚拟安全引擎的EPID证书来建立SIGMA配对会话。
示例36包括示例24-35中任一项的主题,并且其中主机环境包括虚拟机监视器或主机操作系统。
示例37包括用于提供与安全相关的平台服务的方法,所述方法包括通过计算设备的处理器在计算设备的虚拟机中建立访客平台服务飞地;通过访客平台服务飞地建立与计算设备的安全引擎的长期认证通信会话;通过所述访客平台服务飞地经由与所述处理器在所述虚拟机中建立的应用程序飞地的认证通信会话来接收平台服务请求;通过访客平台服务飞地响应于接收到平台服务请求,经由长期认证通信会话向安全引擎发送平台服务请求;以及通过所述安全引擎使用所述安全引擎的硬件资源执行所述平台服务请求,其中所述硬件资源与所述长期认证通信会话相关联。
示例38包括示例37的主题,并且其中平台服务请求包括单调计数器请求或可信时间请求。
示例39包括示例37和38中任一项的主题,并且其中安全引擎的硬件资源包括重放保护的数据存储区域。
示例40包括示例37-39中任一项的主题,并且还包括通过访客平台服务飞地对应用程序飞地执行基于报告的证明以建立与应用程序飞地的经认证的通信会话。
示例41包括示例37-40中任一项的主题,并且其中通过访客平台服务飞地接收平台服务请求包括经由安全网络连接接收平台服务请求。
示例42包括示例37-41中任一项的主题,并且其中通过访客平台服务飞地经由长期认证通信会话将平台服务请求发送给安全引擎包括通过访客平台服务飞地将从应用程序飞地接收到的平台服务请求代理给由计算设备的主机环境建立的安全引擎消息传递服务;以及通过所述安全引擎消息传递服务经由主机嵌入式控制器接口向所述安全引擎发送所述平台服务请求。
示例43包括示例37-42中任一项的主题,并且还包括:通过计算设备的处理器在计算设备的第二虚拟机中建立第二访客平台服务飞地;通过所述第二访客平台服务飞地建立与所述计算设备的安全引擎的第二长期认证通信会话;通过所述第二访客平台服务飞地经由与由处理器在第二虚拟机中建立的第二应用程序飞地的第二认证通信会话接收第二平台服务请求;通过所述第二访客平台服务飞地响应于接收到所述第二平台服务请求,将所述第二平台服务请求经由所述第二长期认证通信会话发送到所述安全引擎;以及通过所述安全引擎使用所述安全引擎的第二硬件资源执行所述第二平台服务请求,其中所述第二硬件资源与所述第二长期认证通信会话相关联。
示例44包括示例37-43中任一项的主题,并且其中安全引擎包括融合式可管理性和安全引擎。
示例45包括示例37-44中任一项的主题,并且其中计算设备包括片上系统,片上系统包括处理器和安全引擎。
示例46包括示例37-45中任一项的主题,并且其中建立长期认证通信会话包括使用提供给计算设备的访客平台服务飞地的EPID证书来建立SIGMA配对会话。
示例47包括一种计算设备,该计算设备包括:处理器;以及存储器,其中存储有多个指令,当由处理器执行时,多个指令使得计算设备执行示例24-46中任一个的方法。
示例48包括一个或多个机器可读存储介质,其包括存储在其上的多个指令,多个指令响应于被执行而导致计算设备执行示例24-46中任一项的方法。
示例49包括计算设备,其包括用于执行示例24-46中任一项的方法的单元。
示例50包括用于提供安全相关的平台服务的计算设备,所述计算设备包括:用于通过由所述计算设备的主机环境建立的虚拟安全引擎建立与所述计算设备的安全引擎的长期认证通信会话的单元;用于通过由所述计算设备的处理器在所述计算设备的虚拟机中建立的访客平台服务飞地经由与所述处理器在所述虚拟机中建立的应用程序飞地的第一认证通信会话接收平台服务请求的单元;用于通过访客平台服务飞地经由与所述主机虚拟安全引擎的第二认证通信会话将所述平台服务请求发送到所述主机虚拟安全引擎的单元;用于通过主机虚拟安全引擎响应于接收到平台服务请求,经由长期认证通信会话向安全引擎发送平台服务请求的单元;以及用于通过安全引擎使用该安全引擎的硬件资源执行平台服务请求的单元。
示例51包括示例50的主题,并且其中平台服务请求包括单调计数器请求或可信时间请求。
示例52包括示例50和51中任一项的主题,并且其中安全引擎的硬件资源包括重放保护的数据存储区域。
示例53包括示例50-52中任一项的主题,并且还包括用于通过访客平台服务飞地对应用程序飞地执行基于报告的证明以建立与应用程序飞地的第一认证通信会话的单元;以及用于通过所述访客平台服务飞地执行对所述主机虚拟安全引擎执行基于引证的远程证明以与所述主机虚拟安全引擎建立第二认证通信会话的单元。
示例54包括示例50-53中任一项的主题,并且其中用于通过访客平台服务飞地接收平台服务请求的单元包括用于经由与所述应用程序飞地的安全网络连接来接收平台服务请求的单元;并且用于通过访客平台服务飞地发送平台服务请求的单元包括用于经由与主机虚拟安全引擎的安全网络连接发送平台服务请求的单元。
示例55包括示例50-54中任一个的主题,并且其中通过访客平台服务飞地发送平台服务请求的单元包括用于通过访客平台服务飞地将从应用程序收到的平台服务请求代理给主机虚拟安全引擎的单元。
示例56包括示例50-55中任一项的主题,并且其中通过主机虚拟安全引擎将平台服务请求经由长期认证通信会话发送到安全引擎的单元包括:经由主机嵌入式控制器接口发送平台服务请求的单元。
示例57包括示例50-56中任一项的主题,并且还包括用于通过计算设备的处理器在计算设备的主机环境中建立主机平台服务飞地的单元;用于通过所述主机平台服务飞地在所述计算设备的主机环境中建立所述主机虚拟安全引擎的单元;以及用于通过所述主机虚拟安全引擎确定所述主机虚拟安全引擎是否在所述主机环境中建立的单元;其中用于与计算设备的安全引擎建立长期认证通信会话的单元包括用于响应于确定主机虚拟安全引擎在主机环境中建立而建立长期认证通信会话的单元。
示例58包括示例50-57中任一项的主题,并且还包括用于通过计算设备的处理器在计算设备的第二虚拟机中建立的第二访客平台服务飞地经由与第二应用程序飞地的第三认证通信会话从第二应用程序飞地接收第二平台服务请求的单元;用于通过所述第二访客平台服务飞地经由与所述主机虚拟安全引擎的第四认证通信会话向所述主机虚拟安全引擎发送第二平台服务请求的单元;用于通过所述主机虚拟安全引擎响应于接收到所述第二平台服务请求,经由所述长期认证通信会话向所述安全引擎发送所述第二平台服务请求的单元;以及用于通过安全引擎使用安全引擎的硬件资源执行第二平台服务请求的单元。
示例59包括示例50-58中任一项的主题,并且其中安全引擎包括融合式可管理性和安全引擎。
示例60包括示例50-59中任一项的主题,并且其中所述计算设备包括片上系统,所述片上系统包括所述处理器和所述安全引擎。
示例61包括示例50-60中任一项的主题,并且其中建立长期认证通信会话包括使用提供给计算设备的主机虚拟安全引擎的EPID证书来建立SIGMA配对会话。
示例62包括示例50-61中任一项的主题,并且其中主机环境包括虚拟机监视器或主机操作系统。
示例63包括用于提供安全相关的平台服务的计算设备,所述计算设备包括:用于通过计算设备的处理器在所述计算设备的虚拟机中建立访客平台服务飞地的单元;用于通过访客平台服务飞地建立与计算设备的安全引擎的长期认证通信会话的单元;用于通过访客平台服务飞地经由与由所述处理器在所述虚拟机中建立的应用程序飞地的认证通信会话接收平台服务请求的单元;用于通过所述访客平台服务飞地响应于接收到所述平台服务请求,经由所述长期认证通信会话向所述安全引擎发送所述平台服务请求的单元;以及用于通过所述安全引擎使用所述安全引擎的硬件资源执行所述平台服务请求的单元,其中所述硬件资源与所述长期认证通信会话相关联。
示例64包括示例63的主题,并且其中平台服务请求包括单调计数器请求或可信时间请求。
示例65包括示例63和64中任一项的主题,并且其中安全引擎的硬件资源包括重放保护的数据存储区域。
示例66包括示例63-65中任一项的主题,并且还包括用于通过访客平台服务飞地对应用程序飞地执行基于报告的证明以建立与应用程序飞地的认证通信会话的单元。
示例67包括示例63-66中任一项的主题,并且其中用于通过访客平台服务飞地接收平台服务请求的单元包括用于经由安全网络连接接收平台服务请求的单元。
示例68包括示例63-67中任一项的主题,并且其中用于通过访客平台服务飞地经由长期认证通信会话向安全引擎发送平台服务请求的单元包括用于通过访客平台服务飞地将从应用程序飞地接收的平台服务请求代理给由计算设备的主机环境建立的安全引擎消息传递服务的单元;以及用于通过安全引擎消息传递服务经由主机嵌入式控制器接口将平台服务请求发送到安全引擎的单元。
示例69包括示例63-68中任一项的主题,并且还包括:用于通过计算设备的处理器在计算设备的第二虚拟机中建立第二访客平台服务飞地的单元;用于通过第二访客平台服务飞地建立与计算设备的安全引擎的第二长期认证通信会话的单元;用于通过第二访客平台服务飞地经由与由处理器在第二虚拟机中建立的第二应用程序飞地的第二认证通信会话接收第二平台服务请求的单元;用于通过所述第二访客平台服务飞地响应于接收到所述第二平台服务请求,将所述第二平台服务请求经由所述第二长期认证通信会话发送到所述安全引擎的单元;以及用于通过所述安全引擎使用所述安全引擎的第二硬件资源执行所述第二平台服务请求的单元,其中所述第二硬件资源与所述第二长期认证通信会话相关联。
示例70包括示例63-69中任一项的主题,并且其中安全引擎包括融合式可管理性和安全引擎。
示例71包括示例63-70中任一项的主题,并且其中所述计算设备包括片上系统,片上系统包括处理器和安全引擎。
示例72包括示例63-71中任一项的主题,并且其中建立长期认证通信会话包括使用提供给计算设备的访客平台服务飞地的EPID证书来建立SIGMA配对会话。

Claims (25)

1.一种用于提供安全相关的平台服务的计算设备,所述计算设备包括:
处理器,其包括安全飞地支持;
平台服务模块,用于:(i)通过由所述处理器建立的、与所述计算设备的虚拟机相关联的访客平台服务飞地,经由与由所述处理器建立的、与所述虚拟机相关联的应用程序飞地的第一认证通信会话来接收平台服务请求,以及(ii)通过所述访客平台服务飞地,经由与由所述计算设备的主机环境建立的主机虚拟安全引擎的第二认证通信会话将所述平台服务请求发送到所述主机虚拟安全引擎;
虚拟安全引擎模块,用于:(i)通过所述虚拟安全引擎,建立与所述计算设备的安全引擎的长期认证通信会话,以及(ii)通过所述主机虚拟安全引擎,响应于接收到所述平台服务请求,经由所述长期认证通信会话将所述平台服务请求发送到所述安全引擎;以及
安全引擎模块,用于通过所述安全引擎,利用所述安全引擎的硬件资源执行所述平台服务请求。
2.根据权利要求1所述的计算设备,其中,所述平台服务请求包括单调计数器请求或可信时间请求。
3.根据权利要求1所述的计算设备,其中,所述安全引擎的硬件资源包括重放保护的数据存储区域。
4.根据权利要求1所述的计算设备,还包括证明模块,用于:
通过所述访客平台服务飞地,对所述应用程序飞地执行基于报告的证明,以建立与所述应用程序飞地的所述第一认证通信会话;以及
通过所述访客平台服务飞地,对所述主机虚拟安全引擎执行基于引证的远程证明,以建立与所述主机虚拟安全引擎的所述第二认证通信会话。
5.根据权利要求1所述的计算设备,其中:
通过所述访客平台服务飞地接收所述平台服务请求包括:经由与所述应用程序飞地的安全网络连接来接收所述平台服务请求;并且
通过所述访客平台服务飞地发送所述平台服务请求包括:经由与所述主机虚拟安全引擎的安全网络连接发送所述平台服务请求。
6.根据权利要求5所述的计算设备,其中,通过所述访客平台服务飞地发送所述平台服务请求包括:通过所述访客平台服务飞地,将从所述应用程序飞地接收到的所述平台服务请求代理给所述主机虚拟安全引擎。
7.根据权利要求1所述的计算设备,还包括主机平台服务模块,用于:
通过所述计算设备的处理器,在所述计算设备的主机环境中建立主机平台服务飞地;
通过所述主机平台服务飞地,在所述计算设备的主机环境中建立所述主机虚拟安全引擎;以及
通过所述主机虚拟安全引擎,确定是否在所述主机环境中建立了所述主机虚拟安全引擎;
其中,与所述计算设备的所述安全引擎建立所述长期认证通信会话包括:响应于确定在所述主机环境中建立了所述主机虚拟安全引擎而建立所述长期认证通信会话。
8.根据权利要求1所述的计算设备,其中:
所述平台服务模块还用于(i)通过所述计算设备的处理器建立的、与所述计算设备的第二虚拟机相关联的第二访客平台服务飞地,经由与第二应用程序飞地的第三认证通信会话来接收来自所述第二应用程序飞地的第二平台服务请求,以及(ii)通过所述第二访客平台服务飞地,经由与所述主机虚拟安全引擎的第四认证通信会话将所述第二平台服务请求发送到所述主机虚拟安全引擎;
所述虚拟安全引擎模块还用于:通过所述主机虚拟安全引擎,响应于接收到所述第二平台服务请求,经由所述长期认证通信会话将所述第二平台服务请求发送到所述安全引擎;以及
所述安全引擎模块还用于:通过所述安全引擎,利用所述安全引擎的硬件资源执行所述第二平台服务请求。
9.根据权利要求1所述的计算设备,其中,建立所述长期认证通信会话包括与提供给所述计算设备的所述主机虚拟安全引擎的EPID证书建立SIGMA配对会话。
10.一种用于提供安全相关的平台服务的方法,所述方法包括:
通过由计算设备的主机环境建立的虚拟安全引擎,建立与所述计算设备的安全引擎的长期认证通信会话;
通过由所述计算设备的处理器在所述计算设备的虚拟机中建立的访客平台服务飞地,经由与由所述处理器在所述虚拟机中建立的应用程序飞地的第一认证通信会话来接收平台服务请求;
通过所述访客平台服务飞地,经由与主机虚拟安全引擎的第二认证通信会话将所述平台服务请求发送到所述主机虚拟安全引擎;
通过所述主机虚拟安全引擎,响应于接收到所述平台服务请求,经由所述长期认证通信会话将所述平台服务请求发送到所述安全引擎;以及
通过所述安全引擎,使用安全引擎的硬件资源执行所述平台服务请求。
11.根据权利要求10所述的方法,其中,所述安全引擎的硬件资源包括重放保护的数据存储区域。
12.根据权利要求10所述的方法,还包括:
通过所述访客平台服务飞地,对所述应用程序飞地执行基于报告的证明,以建立与所述应用程序飞地的所述第一认证通信会话;以及
通过所述访客平台服务飞地,对所述主机虚拟安全引擎执行基于引证的远程证明,以建立与所述主机虚拟安全引擎的所述第二认证通信会话。
13.根据权利要求10所述的方法,还包括:
通过所述计算设备的处理器,在所述计算设备的主机环境中建立主机平台服务飞地;
通过所述主机平台服务飞地,在所述计算设备的主机环境中建立所述主机虚拟安全引擎;以及
通过所述主机虚拟安全引擎,确定是否在所述主机环境中建立了所述主机虚拟安全引擎;
其中,建立与所述计算设备的所述安全引擎的所述长期认证通信会话包括:响应于确定在所述主机环境中建立了所述主机虚拟安全引擎而建立所述长期认证通信会话。
14.根据权利要求10所述的方法,还包括:
通过所述计算设备的处理器在所述计算设备的第二虚拟机中建立的第二访客平台服务飞地,经由与第二应用程序飞地的第三认证通信会话来接收来自所述第二应用程序飞地的第二平台服务请求;
通过所述第二访客平台服务飞地,经由与所述主机虚拟安全引擎的第四认证通信会话将所述第二平台服务请求发送到所述主机虚拟安全引擎;
通过所述主机虚拟安全引擎,响应于接收到所述第二平台服务请求,经由所述长期认证通信会话将所述第二平台服务请求发送到所述安全引擎;以及
通过所述安全引擎,使用所述安全引擎的硬件资源来执行所述第二平台服务请求。
15.一种用于提供安全相关的平台服务的计算设备,所述计算设备包括:
处理器,其包括安全飞地支持;
平台服务模块,用于:(i)通过所述处理器,建立与所述计算设备的虚拟机相关联的访客平台服务飞地,(ii)通过所述访客平台服务飞地,建立与所述计算设备的安全引擎的长期认证通信会话,(iii)通过所述访客平台服务飞地,经由与由所述处理器建立的、与所述虚拟机相关联的应用程序飞地的认证通信会话来接收平台服务请求,以及(iv)通过所述访客平台服务飞地,响应于所述平台服务请求的接收,经由所述长期认证通信会话将所述平台服务请求发送到所述安全引擎;以及
多实例安全引擎模块,用于:通过所述安全引擎,利用所述安全引擎的硬件资源执行所述平台服务请求,其中,所述硬件资源与所述长期认证通信会话相关联。
16.根据权利要求15所述的计算设备,其中,所述安全引擎的硬件资源包括重放保护的数据存储区域。
17.根据权利要求15所述的计算设备,其中,通过所述访客平台服务飞地接收所述平台服务请求包括经由安全网络连接接收所述平台服务请求。
18.根据权利要求17所述的计算设备,还包括安全引擎通信模块,用于:
在所述计算设备的主机环境中,建立安全引擎消息传递服务;以及
通过所述安全引擎消息传递服务,经由主机嵌入式控制器接口将所述平台服务请求发送到所述安全引擎;
其中,通过所述访客平台服务飞地经由所述长期认证通信会话将所述平台服务请求发送到所述安全引擎包括:通过所述访客平台服务飞地,将从所述应用程序飞地接收到的所述平台服务请求代理给所述安全引擎消息传递服务。
19.根据权利要求15所述的计算设备,其中:
所述平台服务模块还用于:(i)通过所述处理器,建立与所述计算设备的第二虚拟机相关联的第二访客平台服务飞地,(ii)通过所述第二访客平台服务飞地,建立与所述计算设备的安全引擎的第二长期认证通信会话,(iii)通过所述第二访客平台服务飞地,经由与由所述处理器建立的、与所述第二虚拟机相关联的第二应用程序飞地的第二认证通信会话来接收第二平台服务请求,以及(iv)通过所述第二访客平台服务飞地,响应于所述第二平台服务请求的接收,经由所述第二长期认证通信会话将所述第二平台服务请求发送到所述安全引擎;并且
所述多实例安全引擎模块还用于:通过所述安全引擎,利用所述安全引擎的第二硬件资源来执行所述第二平台服务请求,其中,所述第二硬件资源与所述第二长期认证通信会话相关联。
20.根据权利要求15所述的计算设备,其中,建立所述长期认证通信会话包括使用提供给所述计算设备的所述访客平台服务飞地的EPID证书建立SIGMA配对会话。
21.一种用于提供安全相关的平台服务的方法,所述方法包括:
通过计算设备的处理器,在所述计算设备的虚拟机中建立访客平台服务飞地;
通过所述访客平台服务飞地,建立与所述计算设备的安全引擎的长期认证通信会话;
通过所述访客平台服务飞地,经由与由所述处理器在所述虚拟机中建立的应用程序飞地的认证通信会话来接收平台服务请求;
通过所述访客平台服务飞地,响应于接收到所述平台服务请求,经由所述长期认证通信会话将所述平台服务请求发送到所述安全引擎;以及
通过所述安全引擎,使用所述安全引擎的硬件资源来执行所述平台服务请求,其中,所述硬件资源与所述长期认证通信会话相关联。
22.根据权利要求21所述的方法,其中,所述安全引擎的硬件资源包括重放保护的数据存储区域。
23.根据权利要求21所述的方法,其中,通过所述访客平台服务飞地接收所述平台服务请求包括经由安全网络连接来接收所述平台服务请求。
24.根据权利要求23所述的方法,其中,通过所述访客平台服务飞地经由所述长期认证通信会话将所述平台服务请求发送到所述安全引擎包括:
通过所述访客平台服务飞地,将从所述应用程序飞地接收到的所述平台服务请求代理给由所述计算设备的主机环境建立的安全引擎消息传递服务;以及
通过所述安全引擎消息传递服务,经由主机嵌入式控制器接口来将所述平台服务请求发送到所述安全引擎。
25.根据权利要求21所述的方法,还包括:
通过所述计算设备的处理器,在所述计算设备的第二虚拟机中建立第二访客平台服务飞地;
通过所述第二访客平台服务飞地,建立与所述计算设备的安全引擎的第二长期认证通信会话;
通过所述第二访客平台服务飞地,经由与由所述处理器在所述第二虚拟机中建立的第二应用程序飞地的第二认证通信会话来接收第二平台服务请求;
通过所述第二访客平台服务飞地,响应于接收到所述第二平台服务请求,经由所述第二长期认证通信会话将所述第二平台服务请求发送到所述安全引擎;以及
通过所述安全引擎,使用所述安全引擎的第二硬件资源来执行所述第二平台服务请求,其中,所述第二硬件资源与所述第二长期认证通信会话相关联。
CN201680030134.5A 2015-06-26 2016-05-26 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术 Active CN107667347B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/752,259 2015-06-26
US14/752,259 US9716710B2 (en) 2015-06-26 2015-06-26 Technologies for virtualized access to security services provided by a converged manageability and security engine
PCT/US2016/034333 WO2016209526A1 (en) 2015-06-26 2016-05-26 Technologies for virtualized access to security services provided by a converged manageability and security engine

Publications (2)

Publication Number Publication Date
CN107667347A CN107667347A (zh) 2018-02-06
CN107667347B true CN107667347B (zh) 2021-07-09

Family

ID=57586171

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680030134.5A Active CN107667347B (zh) 2015-06-26 2016-05-26 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术

Country Status (4)

Country Link
US (1) US9716710B2 (zh)
EP (1) EP3314520A4 (zh)
CN (1) CN107667347B (zh)
WO (1) WO2016209526A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10846438B2 (en) * 2014-07-24 2020-11-24 Nuvoton Technology Corporation RPMC flash emulation
US10210323B2 (en) * 2016-05-06 2019-02-19 The Boeing Company Information assurance system for secure program execution
US10877785B2 (en) * 2017-01-24 2020-12-29 Microsoft Technology Licensing, Llc Enclave abstraction model
CN107395665B (zh) * 2017-05-22 2020-04-24 创新先进技术有限公司 一种区块链业务受理及业务共识方法及装置
US11349822B2 (en) * 2017-11-20 2022-05-31 Fortanix, Inc. Runtime encryption plugin for a key management system
GB201801676D0 (en) 2018-02-01 2018-03-21 Microsoft Technology Licensing Llc Database system
GB201801679D0 (en) 2018-02-01 2018-03-21 Microsoft Technology Licensing Llc Database transaction log writing and integrity checking
JP7090800B2 (ja) * 2018-04-20 2022-06-24 ヴィシャール・グプタ 分散型文書およびエンティティ検証エンジン
CN112005237B (zh) 2018-04-30 2024-04-30 谷歌有限责任公司 安全区中的处理器与处理加速器之间的安全协作
CN112005230B (zh) * 2018-04-30 2024-05-03 谷歌有限责任公司 通过统一的安全区接口管理安全区创建
WO2019212580A1 (en) 2018-04-30 2019-11-07 Google Llc Enclave interactions
US11169935B2 (en) * 2018-06-20 2021-11-09 Intel Corporation Technologies for low-latency cryptography for processor-accelerator communication
DE102018120344A1 (de) * 2018-08-21 2020-02-27 Pilz Gmbh & Co. Kg Automatisierungssystem zur Überwachung eines sicherheitskritischen Prozesses
CN110874468B (zh) * 2018-08-31 2024-02-09 华为技术有限公司 应用程序安全保护方法以及相关设备
US11048800B2 (en) * 2018-12-17 2021-06-29 Intel Corporation Composable trustworthy execution environments
US10970103B2 (en) * 2018-12-28 2021-04-06 Intel Corporation Technologies for hybrid virtualization and secure enclave policy enforcement for edge orchestration
TWI728572B (zh) * 2019-07-04 2021-05-21 新唐科技股份有限公司 具有快閃記憶體仿真功能之控制器及其控制方法
CN113569245A (zh) * 2020-04-28 2021-10-29 阿里巴巴集团控股有限公司 处理装置、嵌入式系统、片上系统以及安全控制方法
CN114268507B (zh) * 2021-12-30 2023-12-05 天翼物联科技有限公司 一种基于sgx的网络云安全优化方法、系统及相关介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN102289386A (zh) * 2010-06-21 2011-12-21 英特尔公司 通过部分虚拟化机器的统一存储设备
CN102473224A (zh) * 2009-12-22 2012-05-23 英特尔公司 提供安全应用执行的方法和装置
WO2015094261A1 (en) * 2013-12-19 2015-06-25 Intel Corporation Policy-based trusted inspection of rights managed content

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108668B2 (en) * 2006-06-26 2012-01-31 Intel Corporation Associating a multi-context trusted platform module with distributed platforms
US8844040B2 (en) * 2009-03-20 2014-09-23 Citrix Systems, Inc. Systems and methods for using end point auditing in connection with traffic management
US9087200B2 (en) * 2009-12-22 2015-07-21 Intel Corporation Method and apparatus to provide secure application execution
US9015706B2 (en) * 2010-07-08 2015-04-21 Symantec Corporation Techniques for interaction with a guest virtual machine
US8972746B2 (en) * 2010-12-17 2015-03-03 Intel Corporation Technique for supporting multiple secure enclaves
EP2891062A1 (en) * 2012-08-28 2015-07-08 Vce Company, Llc Integrated computing platform deployed in an existing computing environment
US9525564B2 (en) * 2013-02-26 2016-12-20 Zentera Systems, Inc. Secure virtual network platform for enterprise hybrid cloud computing environments
US9983894B2 (en) * 2013-09-25 2018-05-29 Facebook, Inc. Method and system for providing secure system execution on hardware supporting secure application execution
US9329855B2 (en) * 2014-02-07 2016-05-03 Vmware, Inc. Desktop image management for virtual desktops using a branch reflector

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410803A (zh) * 2006-01-24 2009-04-15 思杰系统有限公司 用于提供对计算环境的访问的方法和系统
CN102473224A (zh) * 2009-12-22 2012-05-23 英特尔公司 提供安全应用执行的方法和装置
CN102289386A (zh) * 2010-06-21 2011-12-21 英特尔公司 通过部分虚拟化机器的统一存储设备
WO2015094261A1 (en) * 2013-12-19 2015-06-25 Intel Corporation Policy-based trusted inspection of rights managed content

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Innovative instructions and software model for isolated execution;Frank McKeen;《Proceedings of the 2nd International Workshop on Hardware and Architectural Support for Security and Privacy》;20130630;全文 *
Virtual monotonic counters and count-limited objects using a TPM without a trusted OS;Luis F. G. Sarmenta;《Proceedings of the first ACM workshop on Scalable trusted computing》;20061130;全文 *

Also Published As

Publication number Publication date
US20160381005A1 (en) 2016-12-29
CN107667347A (zh) 2018-02-06
WO2016209526A1 (en) 2016-12-29
US9716710B2 (en) 2017-07-25
EP3314520A4 (en) 2019-03-20
EP3314520A1 (en) 2018-05-02

Similar Documents

Publication Publication Date Title
CN107667347B (zh) 用于虚拟化访问由融合式可管理性和安全引擎提供的安全服务的技术
US11741234B2 (en) Technologies for fast launch of trusted containers
US11416415B2 (en) Technologies for secure device configuration and management
KR102110273B1 (ko) 체인 보안 시스템들
EP3582129B1 (en) Technologies for secure hardware and software attestation for trusted i/o
US9264220B2 (en) Secure virtual machine provisioning
EP3540626B1 (en) Enclave launch and authentication
US11568088B2 (en) Method, processor and device for checking the integrity of user data
WO2019104988A1 (zh) Plc的安全处理单元及其总线仲裁方法
US20200104528A1 (en) Data processing method, device and system
US20200127850A1 (en) Certifying a trusted platform module without privacy certification authority infrastructure
US11620411B2 (en) Elastic launch for trusted execution environments
US11943337B2 (en) Secure reliable application environments
US11748520B2 (en) Protection of a secured application in a cluster
CN113485785A (zh) 一种虚拟化可信平台模块实现方法、安全处理器及存储介质
KR101953444B1 (ko) 하드웨어 수준 보안을 보장하는 가상화 기반 소프트웨어 보안 방법 및 이를 이용하는 장치
US10691356B2 (en) Operating a secure storage device
CN107346395B (zh) 一种可信平台模块tpm部署方法、装置及系统
US11748484B2 (en) Tri-level secure separation kernel
US20230281324A1 (en) Advanced elastic launch for trusted execution environments
Weiß et al. Integrity verification and secure loading of remote binaries for microkernel-based runtime environments
CN117194284A (zh) 一种内存访问方法、初始化方法及其相关装置
Feller et al. dctpm: A generic architecture for dynamic context management
Cui et al. Trusted Terminal Design of Distributed Environment

Legal Events

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