CN104969201A - 用于调用特权操作的安全接口 - Google Patents

用于调用特权操作的安全接口 Download PDF

Info

Publication number
CN104969201A
CN104969201A CN201480005603.9A CN201480005603A CN104969201A CN 104969201 A CN104969201 A CN 104969201A CN 201480005603 A CN201480005603 A CN 201480005603A CN 104969201 A CN104969201 A CN 104969201A
Authority
CN
China
Prior art keywords
computing device
host computing
request
public keys
cipher key
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
CN201480005603.9A
Other languages
English (en)
Other versions
CN104969201B (zh
Inventor
埃里克·杰森·布兰德温
马修·肖恩·威尔逊
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN104969201A publication Critical patent/CN104969201A/zh
Application granted granted Critical
Publication of CN104969201B publication Critical patent/CN104969201B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • 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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

Abstract

描述了一组正式的接口(例如应用编程接口(API)),其使用安全方案例如不对称(或对称)密码术,以便授权和认证被发送到虚拟化层的请求。接口可被调用以在运行时间执行安全监控、监识撷取宽动态(forensic capture)和/或修补软件系统。除了上述以外,在权利要求书、具体实施方式和附图中还描述了其它方面。

Description

用于调用特权操作的安全接口
背景技术
随着越来越多的应用和服务正通过网络例如互联网变得可用,越来越多的内容、应用和/或服务提供者正借助于诸如云计算的技术。云计算通常是通过服务例如Web服务来提供对电子资源的访问的方法,其中用于支持那些服务的硬件和/或软件是动态可升级的以满足在任何给定时间的服务需要。用户或消费者通常会租借、租用或以其他方式支付通过云对资源的访问,且因此不必购买和维护所需的硬件和/或软件。
很多云计算提供者利用虚拟化来允许多个用户共享底层硬件和/或软件资源。虚拟化可允许计算服务器、存储设备或其它资源被划分成多个隔离的实例(例如虚拟机),每个实例由特定用户拥有。常常使用在主机计算设备上运行的管理程序托管这些虚拟机。关于这一点,管理程序和来宾账户操作系统内核充当安全增强机制。例如,管理程序通常控制在主机上的各种虚拟机,而内核控制在虚拟机上的各种进程。出于安全原因,将管理程序和内核二者制作成难以修改或改变。然而有时候,可能期望在运行时间出于诸如应用软件补丁、执行安全监控等原因来修改管理程序或内核的代码。
附图说明
将参考附图描述根据本公开的各种实施方案,其中:
图1示出根据各种实施方案的使用不对称密码术来签署用于执行特权操作的API请求的实例;
图2示出根据各种实施方案的可用于在内核或管理程序上执行特权操作的API的实例;
图3示出根据各种实施方案的服务提供者的资源中心环境的实例;
图4示出根据各种实施方案的用于提供可用于在管理程序或内核中执行特权操作的API的示例性流程;
图5示出根据各种实施方案的用于将已经使用公共密钥加密的请求解密的主机计算设备的示例性流程;
图6示出根据各种实施方案的可被利用的示例计算设备的一组通用部件的逻辑布置;以及
图7示出根据各种实施方案的用于实现各方面的环境的实例。
具体实施方式
在下面的描述中,各种实施方案将作为实例而不是作为限制在附图中示出。提及本公开中的各种实施方案并不一定是针对同一实施方案,且这样的提及指至少一个。虽然讨论了具体实现方式和其它细节,但是应理解,这仅仅为了例证性目的而完成。相关领域中的技术人员将认识到可使用其它部件和配置而不偏离所主张主题的范围和精神。
根据本公开的各种实施方案的系统和方法可克服在用于执行特权操作并修改计算资源例如操作系统内核和/或管理程序中的软件代码的常规方法中经历的一个或多个前述或其它缺点。特别是,各种实施方案提供使用安全方案例如不对称(或对称)密码术的一组正式接口(例如应用编程接口(API)),以便使特权操作能够被执行以及代码被安全地添加到操作系统(OS)内核和/或管理程序或在操作系统(OS)内核和/或管理程序上被修改。这些接口可被调用以在运行时间执行安全监控、监识撷取宽动态(forensic capture)和/或修补软件系统。
按照惯例,内核和管理程序用作规定各种进程和部件被允许执行哪些行动(例如应用可访问哪些存储器部分)的安全实施机制。如果允许自由地修改内核或管理程序,则整个系统的安全性可被危害,因为潜在地恶意的代理可容易允许他们自己访问以执行实质上任何行动。作为结果,通常有意地将内核和管理程序制作成难以改变。然而有时候,当系统正运行时可能期望修改这些部件。例如,管理程序或内核可具有需要进行修补的故障或错误,且修补它们而不重新启动整个系统可能是有利的。这可能在多租户共享资源环境(例如云计算环境)中是特别有用的,其中由服务提供者提供的单个主机服务器可为各种消费者托管多个虚拟机实例,且每个虚拟机可包括具有独立内核等的来宾账户操作系统。在各种实施方案中,在本公开全文中描述的接口(例如API)可实现对内核/管理程序代码的更新和其它修改以及很多其它特权操作。
根据各种实施方案,这组API可由代表其消费者托管应用和虚拟机实例的多租户共享资源环境的服务提供者(例如“云”计算提供者)实现。在服务提供者所拥有和操作的物理资源(例如主机计算设备和其它网络资源)上托管应用和虚拟机实例。根据实施方案,服务提供者可获取虚拟机图像并至少部分地基于虚拟机图像来为消费者提供一个或多个虚拟机实例。在一个实施方案中,每个虚拟机实例包括具有在服务提供者的计算资源上提供的其自己的内核和驱动器的来宾账户操作系统。当被提供时,虚拟机实例执行消费者的各种应用和/或其它服务。
根据实施方案,在主机计算设备上提供每个虚拟机实例。每个主机计算设备可托管一个或多个虚拟机实例。在至少一个实施方案中,主机计算设备还包括提供对硬件设备驱动器和设备的其它物理资源的访问并使一个或多个虚拟机实例能够访问这些资源的管理程序。
根据实施方案,一旦在主机计算设备上提供了虚拟机实例,本文所述的应用编程接口(API)就可用于提交请求以更新虚拟机的管理程序和/或内核的代码或执行与管理程序或内核相关联的一些其它特权操作。为了防止未授权方使用这些接口,签署方案(例如不对称密码术)可用于签署API请求。签署方案可利用私有密钥和相应的公共密钥,其中私有密钥可用于创建与私有密钥的所有者相关联的签名,而公共密钥可用于验证该签名以确保提交该请求的实体拥有私有密钥(即认证该请求)。在一个实施方案中,公共密钥被提供到主机计算设备,而私有密钥远程地存储在服务提供者的网络上的安全位置中。当需要修改内核或管理程序的代码时,可使用API发起请求,请求特权操作在管理程序或操作系统内核上执行。在这个实施方案中,使用私有密钥来签署请求。当主机计算设备接收到请求时,它尝试使用存储在主机计算设备上的公共密钥来验证请求的签名。如果成功地验证签名,则主机计算设备在管理程序和/或内核上执行特权操作,否则,如果不能使用公共密钥成功地验证请求的签名,则特权操作失败。
在另一实施方案中,可使用API来利用加密算法。在这个实施方案中,主机计算设备可在启动时间生成不对称密钥对。密钥对可包括公共密钥和私有密钥,其中公共密钥可用于将请求加密,且私有密钥可用于将使用公共密钥加密的请求解密。在这个实施方案中,在生成密钥对之后,主机计算设备公布公共密钥(例如向证书授权方或另一方),而私有密钥保留在主机计算设备上且从不离开主机计算设备。在这个实施方案中,当主机计算设备接收到使用公共密钥加密的请求时,主机计算设备可使用它的内部存储的私有密钥来将请求加密。以这种方式,一旦请求被加密,就没有一方可译解请求中的信息而不拥有私有密钥。此外,如果公共密钥被公布给CA,则任何请求方可通过检查由证书授权方(CA)发出的证书来确保公共密钥真正属于主机计算设备。
在一些可替代实施方案中,对称密码术可用来使发送到API的请求安全。与不对称密码术相反,对称密码术将需要签署方和主机来拥有用于签署请求的相同秘密密钥。由这两方持有的密钥可以是相同的,或可以有简单的转换来从彼此得到密钥。在对称密码术中,密钥代表在主机计算设备(例如内核或管理程序)和希望修改管理程序/内核的代码的任何请求方之间的共享秘密。在一些实施方案中,为了实现对称密码术,每个请求方对每个主机计算设备将有不同的密钥,这可能需要某个逻辑来管理在网络上的所有秘密密钥组合。
图1示出根据各种实施方案的使用不对称密码术来签署用于执行特权操作的API请求的实例100。在所示实施方案中,主机计算设备101可包括被示为管理程序102和domain0(Dom0)105的虚拟化层。Dom0105和管理程序102可三个一组地实施多个来宾账户,例如来宾账户111。来宾账户可以是虚拟机实例,每个虚拟机实例具有其自己各自的操作系统(OS)、内核、设备驱动器、调度程序等。在所示实施方案中,Dom-0105用于发起和管理在主机计算设备101上的其它来宾账户域。虽然虚拟化层在附图中被示为单独的部件,但是虚拟化层的其它实现是可能的且在本公开的范围内。例如,Dom0的函数或函数的子集以及由管理程序102影响的那些函数可合并到单个部件中。
根据实施方案,主机计算设备101提供可用于提交签署和/或加密的请求以在虚拟化层例如主机计算设备101的Dom-0内核106和管理程序102上执行特权操作的一组API 108。示例操作可包括用于改变管理程序和/或内核的运行存储器图像的操作。例如,特权操作可将补丁应用于管理程序/内核,读取存储器中的位置,修改在主机计算设备上执行的一个或多个变量,开始/停止在主机计算设备上执行的虚拟机实例,将虚拟机迁移到另一主机,等等。因为API请求可被签署和/或加密,在内核/管理程序之外的中间方可能不能够复制和/或读取请求。
根据实施方案,可使用包括私有密钥和公共密钥的不对称密钥对来签署API 108的请求。在一个实施方案中,公理化和串行化API的至少一些(或全部)变元,导致要签署的字符串。接着可经由基于散列的消息认证代码(HMAC)或不对称密码术签署该字符串,并发送到API 108。因为API的参数包括在签名中,得到请求(例如作出请求的代码)的潜在攻击者将不能够改变请求。
根据一些实施方案,请求可包含提供基于时间窗的重放保护的时间戳,其中请求仅在有限的持续时间期间保持有效。在一些实施方案中,请求可包括与主机计算设备101特别相关联的唯一值,例如序号或主机计算设备标识符(ID)。虽然这些值可以不是秘密的,包括它们可将请求绑定到特定的主机计算设备108。在那种情况下,潜在的攻击者将被防止对不同的设备重放请求。在一些实施方案中,可由在主机计算设备101中的可信平台模块(TPM)(未示出)认证请求,以便增加到主机计算设备的绑定的强度。
根据所示实施方案,用于签署API请求的私有密钥104不呈现在请求被呈送到的主机计算设备101上。相反,私有密钥104可存储在服务提供者的网络110上的安全位置103中或在另一可信位置中。作为结果,如果恶意代理存在于主机计算设备101上,则它们将不能够使用私有密钥104伪造请求。
主机计算设备101可包括可用于验证使用私有密钥104签署的请求的签名的一个或多个公共密钥(107、109)。在一个实施方案中,公共密钥107可被编译到主机计算设备101的内核106中。在另一实施方案中,公共密钥109可被编译到管理程序102中。在一些实施方案中,内核可存储与存储在管理程序上的公共密钥109不同的公共密钥107,而在其它实施方案中,相同的公共密钥可用于验证在管理程序和内核上的请求。在又一实施方案中,并不是将实际公共密钥存储在主机计算设备101上,而是相反主机计算设备101被配置来信任由特定的证书授权方(CA)证明的任何公共密钥。在那些实施方案中,主机计算设备可从请求程序接收请求,其中请求伴随有包括公共密钥的证书。主机计算设备将信任CA的证书且因此信任作为请求的部分被接收的公共密钥。不管公共密钥是否存储在主机计算设备上或连同证书一起被提供,公共密钥都可用于验证使用私有密钥104签署的API请求的签名。例如,如果用户(例如消费者、服务提供者的技术人员、第三方等)想要将更新应用于在内核106上的代码的某个部分,它们可得到私有密钥104的使用,并使用私有密钥104来签署API请求以修改代码的适当部分。当接收到请求时,内核106可尝试使用公共密钥来验证请求的签名,且如果验证是成功的,则执行必要的特权操作。
在可替代实施方案(未示出)中,如果利用了HMAC和对称密钥,则秘密密钥可被编译到内核或管理程序中。在那种情况下,秘密密钥可被弄乱并随着每个构造而改变,但实际上密钥可呈现于主机计算设备101上。可选地,可将整个请求加密到被编程到内核中的密钥,使得请求本身对发出它的代码是不透明的。
在一些实施方案中,可根据与请求一起提供的特定密钥(或根据拥有密钥的一方)应用一个或多个限制。例如,由一些行为者(即某些私有密钥)签署的请求可以只被允许开始/停止在主机上的来宾账户虚拟机或重新启动主机计算设备101。使用由其它行为者(例如服务提供者的OS队)持有的密钥签署的请求可被允许修改管理程序102的运行代码。在一个实施方案中,主机计算设备101可具有存储在其上的多个不同的公共密钥,其中每个公共密钥与私有密钥相关联,私有密钥与不同的实体(例如用户、队等)相关联。根据哪个实体的私有密钥用于签署请求,可允许或拒绝所请求的操作。在可替代实施方案中,主机计算设备101可只存储与一个私有密钥相关联的一个公共密钥,然而请求可包括提交请求的用户的身份。基于这个身份,主机计算设备101可应用对所请求的操作的执行的不同限制。例如,主机计算设备101可允许一个用户停止/开始来宾账户,而另一用户可被允许修改或更新管理程序。任何数量的这样的限制(例如在每密钥或每方基础上)是可能的且在本文所述的实施方案的范围内。
图2示出根据各种实施方案的可用来在虚拟化层(例如管理程序202和Dom-0205)上执行特权操作的API的实例200。在所示实施方案中,主机计算设备201(例如在主机计算设备201上的Dom-0205和/或管理程序202)在启动时间生成由不对称密钥对组成的加密身份。例如,当主机计算设备101正启动时,管理程序202生成包括私有秘钥207和公共密钥209的密钥对。类似地,当载入Dom-0205时,内核206可生成由私有密钥213和公共密钥214组成的密钥对。
在各种实施方案中,可以用某种方式公布公共密钥(209、213)。例如,可将公共密钥提供到证书授权方210。可替代地,可将公共密钥直接提供到请求方。可收集这个公共密钥,且可使用这个密钥来将请求加密。在这个实施方案中,由主机计算设备201生成的私有密钥(207、214)从不离开主机计算设备且不在任何其它地方存在。如果请求方211可以可靠地从主机201得到公共密钥,则它可保证使用公共密钥加密的请求可只由那个主机201(且只有那个主机)解密,因为请求只由从不离开主机计算设备201的私有密钥(207、213)解密。应注意,虽然图2示出实例,其中Dom0205和管理程序202都发出其自己各自的密钥对,但是这并不是对所有实施方案的要求或限制。在一些实施方案中,只有管理程序发出密钥对。在其它实施方案中,只有Dom-0内核发出密钥对。而在其它实施方案中,管理程序和Dom-0内核可共享密钥对。
在一些实施方案中,主机计算设备201可向证书授权方(CA)210提供公共密钥209。CA 210可以是向适当的请求方(例如请求方211)发出一个或多个数字证书(212、215)的实体。数字证书证明该方适当地拥有可用于将API请求加密的公共密钥。在这个实施方案中,CA的使用使请求方能够以某个确定度相信私有密钥实际上是针对主机计算设备201的。在一个实施方案中,CA是服务提供者的CA并在服务提供者的资源中心内运行。下面参考图3更详细地描述了资源中心。在另一实施方案中,CA 210是被请求方211(例如证书的所有者)和依赖于证书的主机201都信任的可信第三方。证书授权方在本领域中是公知的并在很多公共密钥基础设施(PKI)方案中使用。
在这个实施方案中,一旦CA 210向请求方211发出证书212,请求方211就可使用证书来做出API请求以执行有关内核206或管理程序202的特权操作。管理程序202或内核206可接着验证向特定方发出的由特定的CA签署的任何证书是有效的,并可相应地执行特权操作。
在各种实施方案中,可结合图1所示的技术来使用图2所示的技术。例如,图2的请求方211可具有其自己的私有密钥,请求方可使用该私有密钥来签署请求以执行特权操作。在这个实施方案中,请求被签署以确保真实性(即主机将确实地知道请求方生成请求)并被加密以确保隐私(即没有外部方可译解包含在请求中的信息)。
图3示出根据各种实施方案的服务提供者的资源中心环境的实例300。在所示实施方案中,服务提供者(例如云计算资源提供者)可维持一个或多个资源中心323(例如数据中心、服务器农场等),其存储服务提供者的物理资源(例如主机服务器等)。这些物理资源可用于托管可通过网络302例如互联网提供给用户301的多个来宾账户(例如虚拟机实例)。例如,当用户想要使用服务提供者的物理资源执行应用时,他或她可请求服务提供者为用户提供虚拟机,其将用于部署并执行应用。当对用户的应用的需求增长时,用户可请求更多的虚拟机被提供以使负载平衡,请求一个或多个虚拟专用网络(VPN)等的创建。
在所示实例中,服务提供者的资源中心323可包括主机服务器(306、307、308、309、310)的一个或多个机架321、322,其中在特定机架上的每个主机计算设备连接到单个机架(TOR)交换机(304、305)。这些TOR交换机可进一步连接到一个或多个其它交换机(324、325),其使主机服务器能够连接到网络。如在本公开全文中所使用的,网络可以是能够与彼此通信的设备的任何有线或无线网络,包括但不限于互联网或其它广域网(WAN)、蜂窝网络、局域网(LAN)、存储区域网(SAN)、内联网、外联网等。资源中心可包括资源的任何物理或逻辑分组,例如数据中心、服务器农场、内容分发网络(CDN)接入点(POP)等。
根据实施方案,每个主机托管设备可包括用于托管为服务提供者的消费者提供来代表那些消费者执行各种应用和服务的一个或多个来宾账户(例如虚拟机实例(313、314、315、316、317、318、319))的虚拟化层(例如与Dom-0组合的管理程序)。可给每个来宾账户(例如虚拟机)提供其自己的操作系统(OS),包括内核、驱动器、流程管理等。
当消费者希望得到虚拟机实例时,消费者可首先向服务提供者提交请求,指示他们想要使用的来宾账户(例如VM)的类型。服务提供者可执行流程以提供将在服务提供者的物理资源(例如主机计算设备)上托管的来宾账户。来宾账户可接着用于利用服务提供者的资源来代表消费者执行各种应用和服务。
根据实施方案,一旦来宾账户醒来并运行,修改就需要应用于虚拟化层(例如管理程序或内核)的代码,或某个其它特权操作可能需要被执行。例如,服务提供者可能希望将补丁或更新应用于在主机计算设备上托管VM的管理程序的代码。可替代地,消费者(或某个其它第三方)可能希望将更新应用于内核或管理程序的代码。在各种实施方案中,在本公开全文中描述的API使用户能够通过利用不对称(或对称)密码术以安全的方式修改代码。
图4示出根据各种实施方案的用于提供可用于在管理程序或内核中执行特权操作的API的示例性流程400。虽然这个图可以特定顺序描绘功能操作,但是流程不一定限于所示的特定顺序或操作。本领域中的技术人员将认识到可改变、重新布置、并行执行或以各种方式调适在这个或其它图中描绘的各种操作。此外,应理解,某些操作或操作的顺序可添加到流程或从流程省略,而不偏离各种实施方案的范围。此外,包含在本文中的流程旨在向本领域中的普通技术人员展示流程概念,而不是指定代码执行的实际顺序,其可实现为不同的流程或顺序、为了性能而优化或以其他方式以各种方式修改。
在操作401中,提供一个或多个应用编程接口(API),其可用于向主机计算设备提交已签署的请求。主机计算设备可包括虚拟化层(例如结合管理程序来操作的虚拟机监控器或Dom0)和一个或多个来宾账户(例如运行具有操作系统内核的来宾账户操作系统的虚拟机)。
在操作402中,生成不对称密钥对,包括私有密钥和相应的公共密钥。在一个实施方案中,不对称密钥对由在主机计算设备上的虚拟化层生成。在另一实施方案中,不对称密钥对可由其它实体或服务例如证书授权方生成。私有密钥可用于将信息加密,且公共密钥可用于将使用私有密钥加密的信息解密。
在操作403中,公共密钥存储在主机计算设备上。例如,公共密钥可被编译到虚拟化层例如Dom0中或管理程序中。可替代地,密钥可存储在主机计算设备的可信平台模块(TPM)上。
在操作404中,私有密钥存储在相对于主机计算设备在外部的安全位置上。在这个实施方案中,私有密钥不呈现在主机计算设备上,使得存在于其上的任何恶意代理将不访问私有密钥。
在操作405中,主机计算设备通过API接收请求,请求在虚拟化层上执行特权操作。根据实施方案,使用私有密钥来签署所接收的请求。
在操作406中,虚拟化层(例如内核或管理程序)尝试使用存储在主机计算设备上的公共密钥来证实请求的签名。如果证实请求的签名,则可在管理程序/内核上执行特权操作,如在操作407中所示的。如果不能使用公共密钥成功地证实签名,则特权操作失败(即不被执行)。
图5示出根据各种实施方案的由用于将已经使用公共密钥加密的请求解密的主机计算设备执行的示例性流程500。
在操作501中,主机计算设备生成不对称密钥对。例如,在主机计算设备上的启动流程可生成公共密钥和相应的私有密钥。在操作502中,公共密钥被公布到可信源。在一个实施方案中,可将公共密钥直接提供到将使用公共密钥来将请求加密的请求方。在另一实施方案中,可将公共密钥提供到证书授权方,其中证书授权方可将证书授予可能希望在内核或管理程序上执行特权操作的经认证方。在这个实施方案中,证书授权方可将公共密钥嵌在证书中并使用它自己的私有密钥签署证书。因此,接收证书方可验证公共密钥确实由CA证明是来自主机计算设备。
在操作504中,主机计算设备接收请求以执行特权操作。主机计算设备然后尝试使用存储在主机计算设备上的私有密钥将请求解密,如在操作505中所示的。如果请求可通过使用私有密钥被解密,则主机计算设备可在内核/管理程序上执行特权操作,如在操作506中所示的。
可鉴于下面的条款来描述本公开的各种实施方案:
1.一种用于使在虚拟化技术环境中的软件修改安全的计算机实现的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
提供被配置来接收被提交到主机计算设备的请求的至少一个应用编程接口(API),主机计算设备包括被配置来托管一个或多个来宾账户的虚拟化层;
存储能够用于将在主机计算设备上的信息加密的公共密钥,其中能够用于将信息加密的相应私有密钥存储在相对于主机计算设备在外部的安全位置上;
通过API由主机计算设备接收请求以在主机计算设备的虚拟化层中执行特权操作,使用存储在安全位置中的私有密钥来签署该请求;以及
如果使用公共密钥成功地证实请求的签名,则由虚拟化层执行特权操作,其中如果不能够使用公共密钥成功地证实请求的签名,则特权操作失败。
2.如条款1所述的计算机实现的方法,其中请求还包括与主机计算设备相关联的唯一值,且其中验证签名还包括确定包括在请求中的唯一值匹配被分配到主机计算设备的唯一值。
3.如条款1所述的计算机实现的方法,其中使用第二公共密钥来加密请求,第二公共密钥是与主机计算设备的虚拟化层相关联的加密身份,加密身份包括密钥对,密钥对包括第二公共密钥和用于将使用第二公共密钥加密的请求解密的第二私有密钥。
4.如条款1所述的计算机实现的方法,其中请求还包括促使请求只在有限的持续时间期间是有效的时间戳。
5.如条款1所述的计算机实现的方法,其中将公共密钥存储在主机计算设备上还包括:
接收由证书授权方发出的证书,证书包括公共密钥。
6.一种计算机实现的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
在主机计算设备的启动操作期间生成包括公共密钥和私有密钥的不对称密钥对;
公布公共密钥;
使用接口接收请求以在主机计算设备的虚拟化层中执行特权操作,该请求由至少公共密钥保护;
通过主机计算设备的虚拟化层来验证请求;以及
在主机计算设备的虚拟化层中执行特权操作。
7.如条款6所述的计算机实现的方法,其中使用相对于主机计算设备被远程地存储的第二私有密钥来签署请求,且其中使用主机计算设备可用的第二公共密钥来证实请求的签名。
8.如条款6所述的计算机实现的方法,其还包括:
将私有密钥只存储在主机计算设备的虚拟化层可访问的易失性存储器中。
9.如条款6所述的方法,其中公布公共密钥还包括:
将证书签署请求发送到被配置来将公共密钥嵌在证书中的证书授权方(CA)。
10.如条款6所述的计算机实现的方法,其中使用公共密钥来加密传输到主机计算设备的请求,且其中主机计算设备可操作来使用存储在主机计算设备上的私有密钥将请求解密。
11.如条款6所述的计算机实现的方法,其中特权操作是修改主机计算设备的虚拟化层的运行存储器图像的请求。
12.如条款6所述的计算机实现的方法,其中特权操作是执行下列各项的请求:
将补丁应用于在主机计算设备上的管理程序或内核中的至少一个;
读取在主机计算设备上托管的来宾账户的存储器中的位置;
修改在主机计算设备上执行的一个或多个变量;或
关闭或重新启动在主机计算设备上执行的来宾账户。
13.如条款6所述的计算机实现的方法,其中私有密钥存储在主机计算设备的可信平台模块(TPM)中。
14.如条款6所述的计算机实现的方法,其中请求还包括下列各项中的至少一个:
限制持续时间的时间戳,在该持续时间期间,请求保持有效;或
与主机计算设备相关联的唯一值。
15.如条款6所述的计算机实现的方法,其中公共密钥与对拥有公共密钥的一方允许的一组特权操作相关联,且其中验证请求包括确定特权操作包括在该组内。
16.一种计算系统,其包括:
至少一个处理器;以及
包括指令的存储器,当指令由处理器执行时促使计算系统:
经由应用编程接口(API)接收请求以在主机计算设备的虚拟化层上执行特权操作,使用至少一个密钥保护该请求;以及
尝试通过主机计算设备的虚拟化层验证请求;以及
如果成功地验证请求,则在主机计算设备的虚拟化层中执行特权操作。
17.如条款16所述的计算系统,其中由使用相对于主机计算设备被远程地存储的私有密钥生成的签名来保护请求,且其中使用主机计算设备可用的公共密钥来验证请求。
18.如条款17所述的计算系统,其中主机计算设备被配置来如果公共密钥包括在证书中则使用公共密钥,证书被发到被授权方并由主机计算设备所信任的证书授权方签署。
19.如条款16所述的计算系统,其中当启动时,主机计算设备被配置来:
生成包括第二公共密钥和第二私有密钥的不对称密钥对;以及
公布第二公共密钥并将第二私有密钥存储在主机计算设备上的易失性存储器中。
20.如条款19所述的计算系统,其中公布第二公共密钥还包括:
将证书签署请求发送到证书授权方以将第二公共密钥绑定到证书。
21.一种存储一个或多个序列的指令的非临时计算机可读存储介质,指令由一个或多个处理器可执行以:
提供向主机计算设备提交请求的接口,主机计算设备包括至少一个虚拟化层;
使用接口来接收请求以在主机计算设备的虚拟化层上执行特权操作,使用至少一个密钥来保护该请求,其中可在主机计算设备的虚拟化层中来验证所保护的请求;
尝试通过主机计算设备的虚拟化层验证请求;以及
如果成功地验证请求,则在主机计算设备的虚拟化层中执行特权操作。
22.如条款21所述的非临时计算机可读存储介质,其中使用相对于主机计算设备被远程地存储的签署私有密钥来签署请求,且其中使用主机计算设备可用的签署公共密钥来证实请求的签名。
23.如条款22所述的非临时计算机可读存储介质,其中主机计算设备被配置来如果签署公共密钥包括在证书中则使用签署公共密钥,证书被发到被授权方并由主机计算设备所信任的证书授权方签署。
24.如条款21所述的非临时计算机可读存储介质,其中由一个或多个处理器可执行的指令还包括促使一个或多个处理器执行下列各项的指令:
在主机计算设备的启动过程期间生成包括第二公共密钥和第二私有密钥的不对称密钥对;以及
公布第二公共密钥并将第二私有密钥存储在主机计算设备上。
25.如条款24所述的非临时计算机可读存储介质,其中公布第二公共密钥还包括:
将证书签署请求发送到证书授权方以将第二公共密钥附到证书。
图6示出示例性计算设备600的一组通用部件的逻辑布置。在这个实例中,设备包括用于执行可存储在存储器设备中的指令的处理器602或元件604。如将对本领域中的普通技术人员显而易见的,设备可包括很多类型的存储器、数据存储器或非临时计算机可读存储介质,例如用于由处理器602执行的程序指令的第一数据存储器、图像或数据的单独存储器、用于与其它设备共享信息的可移动存储器等。设备通常将包括某种类型的显示元件606,例如触摸屏或液晶显示器(LCD),虽然设备例如便携式媒体播放器可经由其它装置例如通过音频扬声器传送信息。如所讨论的,设备在很多实施方案中将包括能够从用户接收常规输入的至少一个输入元件608。这个常规输入可包括例如按钮、触控板、触摸屏、轮、操纵杆、键盘、鼠标、袖珍键盘或用户可用以将命令输入到设备的任何其它这样的设备或元件。然而在一些实施方案中,这样的设备可以根本不包括任何按钮,且可以只通过视觉和音频命令的组合来控制,使得用户可控制设备,而不必与设备接触。在一些实施方案中,图5的计算设备600可包括用于通过各种网络例如Wi-Fi、蓝牙、RF、有线或无线通信系统通信的一个或多个网络接口元件608。设备在很多实施方案中可与网络例如互联网通信,并可能够与其它这样的设备通信。
如所讨论的,根据所述实施方案,可在各种环境中实现不同的方法。例如,图7示出用于实现根据各种实施方案的方面的环境700的实例。如将认识到的,虽然基于Web的环境用于解释的目的,可在适当时使用不同的环境以实现各种实施方案。系统包括电子客户端设备702,其可包括能够通过适当的网络704发送并接收请求、消息或信息并将信息传送回给设备的用户的任何适当的设备。这样的客户端设备的实例包括个人计算机、蜂窝电话、手持消息发送设备、膝上型计算机、机顶盒、个人数据助理、电子书阅读器等。网络可包括任何适当的网络,包括内联网、互联网、蜂窝网络、局域网或任何其它这样的网络或其组合。用于这样的系统的部件可至少部分地取决于网络的类型和/或所选择的环境。用于经由这样的网络进行通信的协议和部件是公知的且将不在本文被更详细地讨论。在网络上的通信可经由有线或无线连接或其组合来启用。在这个实例中,网络包括互联网,因为环境包括用于接收请求并响应于其而供应内容的Web服务器706,虽然对于其它网络,可使用服务于类似的目的的可替代设备,如对本领域中的普通技术人员将显而易见的。
例证性实施方案包括至少一个应用服务器708和数据存储器710。应理解,可以有几个应用服务器、层或其它元件、流程或部件,其可被链接或以其他方式配置,可交互作用以执行任务例如从适当的数据存储器得到数据。如在本文使用的,术语“数据存储器”指能够在任何标准、分布式或群集环境中存储、访问和取回数据的任何设备或设备的组合,其可包括任何组合和数量的数据服务器、数据库、数据存储设备和数据存储介质。应用服务器可包括用于与如执行客户端设备的一个或多个应用的方面所需的数据存储器集成并处理大部分数据访问和应用的商业逻辑的任何适当的硬件和软件。应用服务器与数据存储器协作提供访问控制服务并能够生成传送给用户的内容例如文本、图形和/或视频,这些内容在这个实例中可由Web服务器以HTML、XML或另一适当的结构化语言的形式供应给用户。所有请求和响应的处理以及在客户端设备702和应用服务器708之间的内容的分发可由Web服务器706处理。应理解,Web和应用服务器不是必需的,且仅仅是示例性部件,因为本文讨论的结构化代码可在任何适当的设备或主机计算设备上执行,如在本文其它地方讨论的。
数据存储器710可包括几个单独的数据表、数据库或用于存储与特定的方面有关的其它数据存储机制和介质。例如,所示的数据存储器包括用于存储生产数据712和用户信息716的机制,其可用于为生产侧供应内容。数据存储器也被示为包括用于存储日志或会话数据714的机制。应理解,可以有可能需要存储在数据存储器中的很多其它方面,例如可在适当时存储在上面列出的机制的任一个中或在数据存储器710中的额外机制中的页面图像信息和访问权利信息。数据存储器710通过与其相关联的逻辑可操作来从应用服务器708接收指令,并响应于其而得到、更新或以其他方式处理数据。在一个实例中,用户可提交对某种类型的项目的搜索请求。在这种情况下,数据存储器可访问用户信息以验证用户的身份并可访问目录详细信息以得到关于那种类型的项目的信息。信息可接着被返回给用户,例如在用户能够经由用户设备702上的浏览器观看的网页上列出的结果中。可在浏览器的专用页面或窗口中查看感兴趣的特定项目的信息。
每个服务器通常将包括提供用于一般管理和那个服务器的操作的可执行程序指令的操作系统,且通常将包括计算机可读介质存储指令,其在由服务器的处理器执行时允许服务器执行其预期功能。操作系统的适当实现和服务器的一般功能是已知的或市场上可买到的,且容易由在本领域中的普通技术人员实现,特别是按照本文的公开。
环境在一个实施方案中是利用几个计算机系统和部件的分布式计算环境,计算机系统和部件经由通信链路使用一个或计算机网络或直接连接来互连。然而,本领域中的普通技术人员将认识到,这样的系统可同样好地在具有比图7所示的更少或更大数量的部件的系统中操作。因此,图7中的系统700的描绘应被理解为在本质上是例证性的而不是限制本公开的范围。
在本文讨论或建议的各种实施方案可在各种各样的操作环境中实现,操作环境在一些情况下可包括可用于操作多个应用中的任一个的一个或多个用户计算机、计算设备或处理设备。用户或客户端设备可包括多个通用计算机中的任一个,例如运行标准操作系统的桌上型或膝上型计算机以及运行移动软件并能够支持多个联网和消息发送协议的蜂窝、无线和手持设备。这样的系统还可包括允许各种市场上可买到的操作系统中的任一个和用于诸如发展和数据库管理的目的的其它已知应用的多个工作站。这些设备还可包括其它电子设备,例如哑终端、瘦客户端、游戏系统和能够经由网络进行通信的其它设备。
大部分实施方案利用本领域中的技术人员熟悉的、用于支持使用各种市场上可买到的协议中的任一个例如TCP/IP、OSI、FTP、UpnP、NFS、CIFS和AppleTalk的通信的至少一个网络。网络可以例如是局域网、广域网、虚拟专用网、互联网、内联网、外联网、公共交换电话网络、红外网络、无线网络和其任何组合。
在利用Web服务器的实施方案中,Web服务器可运行各种服务器或中层应用中的任一个,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和商业应用服务器。服务器也可能够例如通过执行一个或多个Web应用来执行在来自用户设备的响应请求中的程序或脚本,Web应用可被实现为用任何编程语言例如C、C#或C++或任何脚本语言例如Perl、Python或TCL以及其组合编写的一个或多个脚本或程序。服务器也可包括数据服务器,没有限制地包括在市场上从可买到的那些服务器。
环境可包括如上面讨论的各种数据存储器和其它存储器和存储介质。这些可存在于各种位置中,例如在一个或多个计算机本地(和/或存在于一个或多个计算机中的)或远离网络当中的任何或所有计算机的存储介质上。在特定的一组实施方案中,信息可存在于本领域中的技术人员熟悉的存取区域网络(“SAN”)中。类似地,用于执行属于计算机、服务器或其它网络设备的功能的任何必要的文件可在适当时在本地和/或远程地存储。在系统包括计算机化设备的场合,每个这样的设备可包括可经由总线电耦合的硬件元件,元件包括例如至少一个中央处理单元(CPU)、至少一个输入设备(例如鼠标、键盘、控制器、触摸屏或袖珍键盘)和至少一个输出设备(例如显示设备、打印机或扬声器)。这样的系统还可包括一个或多个存储设备,例如磁盘驱动器、光学存储设备和固态存储设备例如随机存取存储器(“RAM”)或只读存储器(“ROM”)以及可移动介质设备、存储卡、闪存卡等。
这样的设备还可包括计算机可读存储介质阅读器、通信设备(例如调制解调器、网卡(无线或有线)、红外通信设备等)和如上所述的工作存储器。计算机可读存储介质阅读器可连接于或被配置来接收代表远程、本地、固定和/或可移动存储设备的计算机可读存储介质以及用于临时和/或更永久地包含、存储、传输和取回计算机可读信息的存储介质。系统和各种设备还通常包括多个软件应用、模块、服务或位于至少一个工作存储器设备内的其它元件,包括操作系统和应用程序,例如客户端应用或Web浏览器。应认识到,可替代实施方案可具有偏离上面描述的元件的很多变形。例如,计算机化硬件也可被使用和/或特定的元件可在硬件、软件(包括便携式软件例如小应用程序)或两者中实现。此外,可使用到其它计算设备例如网络输入/输出设备的连接。
用于包含代码或代码的部分的存储介质和计算机可读介质可包括在本领域中已知或使用的任何适当的介质,包括存储介质和通信介质,例如但不限于在任何方法或技术中实现的、用于信息例如计算机可读指令、数据结构、程序模块或其它数据的存储和/或传输的易失性和非易失性、可移动和不可移动介质,包括RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字通用盘(DVD)或其它光学存储器、磁带、盒式磁带、磁性盘存储器或其它磁性存储设备或可用于存储期望信息并可由系统设备访问的任何其它介质。基于本文提供的本公开和教导,本领域中的普通技术人员将认识到实现各种实施方案的其它方式和/或方法。
说明书和附图相应地在例证性而不是限制性地意义上被看待。然而将显而易见的,可对其进行各种修改和变化而不偏离如在权利要求中阐述的本发明的更宽的精神和范围。

Claims (15)

1.一种计算机实现的方法,其包括:
在配置有可执行指令的一个或多个计算机系统的控制下,
在主机计算设备的启动操作期间生成包括公共密钥和私有密钥的不对称密钥对;
公布所述公共密钥;
使用接口接收请求以在所述主机计算设备的虚拟化层中执行特权操作,所述请求由至少所述公共密钥保护;
通过所述主机计算设备的所述虚拟化层来验证所述请求;以及
在所述主机计算设备的所述虚拟化层中执行所述特权操作。
2.如权利要求1所述的计算机实现的方法,其中使用相对于所述主机计算设备被远程地存储的第二私有密钥来签署所述请求,且其中使用所述主机计算设备可用的第二公共密钥来证实所述请求的签名。
3.如权利要求1所述的计算机实现的方法,其还包括:
将所述私有密钥只存储在所述主机计算设备的所述虚拟化层可访问的易失性存储器中。
4.如权利要求1所述的方法,其中公布所述公共密钥还包括:
将证书签署请求发送到被配置来将所述公共密钥嵌在证书中的证书授权方(CA)。
5.如权利要求1所述的计算机实现的方法,其中使用所述公共密钥来加密传输到所述主机计算设备的所述请求,且其中所述主机计算设备可操作来使用存储在所述主机计算设备上的所述私有密钥将所述请求解密。
6.如权利要求1所述的计算机实现的方法,其中所述特权操作是修改所述主机计算设备的所述虚拟化层的运行存储器图像的请求。
7.如权利要求1所述的计算机实现的方法,其中所述特权操作是执行下列各项的请求:
将补丁应用于在所述主机计算设备上的管理程序或内核中的至少一个;
读取在所述主机计算设备上托管的来宾账户的存储器中的位置;
修改在所述主机计算设备上执行的一个或多个变量;或
关闭或重新启动在所述主机计算设备上执行的来宾账户。
8.如权利要求1所述的计算机实现的方法,其中所述私有密钥存储在所述主机计算设备的可信平台模块(TPM)中。
9.如权利要求1所述的计算机实现的方法,其中所述请求还包括下列各项中的至少一个:
限制持续时间的时间戳,在所述持续时间期间,所述请求保持有效;或
与所述主机计算设备相关联的唯一值。
10.如权利要求1所述的计算机实现的方法,其中所述公共密钥与对拥有所述公共密钥的一方允许的一组特权操作相关联,且其中验证所述请求包括确定所述特权操作包括在所述组内。
11.一种计算系统,其包括:
至少一个处理器;以及
包括指令的存储器,当所述指令由所述处理器执行时促使所述计算系统:
经由应用编程接口(API)接收请求以在主机计算设备的虚拟化层上执行特权操作,使用至少一个密钥保护所述请求;以及
尝试通过所述主机计算设备的所述虚拟化层验证所述请求;以及
如果成功地验证所述请求,则在所述主机计算设备的所述虚拟化层中执行所述特权操作。
12.如权利要求11所述的计算系统,其中由使用相对于所述主机计算设备被远程地存储的私有密钥生成的签名来保护所述请求,且其中使用所述主机计算设备可用的公共密钥来验证所述请求。
13.如权利要求12所述的计算系统,其中所述主机计算设备被配置来如果所述公共密钥包括在证书中则使用所述公共密钥,所述证书被发到被授权方并由所述主机计算设备所信任的证书授权方签署。
14.如权利要求11所述的计算系统,其中当启动时,所述主机计算设备被配置来:
生成包括第二公共密钥和第二私有密钥的不对称密钥对;以及
公布所述第二公共密钥并将所述第二私有密钥存储在所述主机计算设备上的易失性存储器中。
15.如权利要求14所述的计算系统,其中公布所述第二公共密钥还包括:
将证书签署请求发送到证书授权方以将所述第二公共密钥绑定到证书。
CN201480005603.9A 2013-01-22 2014-01-22 用于调用特权操作的安全接口 Active CN104969201B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/746,737 US10063380B2 (en) 2013-01-22 2013-01-22 Secure interface for invoking privileged operations
US13/746,737 2013-01-22
PCT/US2014/012604 WO2014116743A1 (en) 2013-01-22 2014-01-22 Secure interface for invoking privileged operations

Publications (2)

Publication Number Publication Date
CN104969201A true CN104969201A (zh) 2015-10-07
CN104969201B CN104969201B (zh) 2019-06-28

Family

ID=51208708

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480005603.9A Active CN104969201B (zh) 2013-01-22 2014-01-22 用于调用特权操作的安全接口

Country Status (9)

Country Link
US (2) US10063380B2 (zh)
EP (1) EP2948854B1 (zh)
JP (1) JP6092428B2 (zh)
KR (1) KR101735982B1 (zh)
CN (1) CN104969201B (zh)
AU (1) AU2014209470B2 (zh)
CA (1) CA2898906C (zh)
SG (1) SG11201505651WA (zh)
WO (1) WO2014116743A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112214745A (zh) * 2019-07-11 2021-01-12 三叶草网络有限责任公司 经认证的外部生物特征读取器和验证设备
US11228449B2 (en) 2013-01-22 2022-01-18 Amazon Technologies, Inc. Secure interface for invoking privileged operations

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9860274B2 (en) 2006-09-13 2018-01-02 Sophos Limited Policy management
US9729517B2 (en) 2013-01-22 2017-08-08 Amazon Technologies, Inc. Secure virtual machine migration
US9503268B2 (en) 2013-01-22 2016-11-22 Amazon Technologies, Inc. Securing results of privileged computing operations
US8978122B1 (en) * 2013-03-29 2015-03-10 Emc Corporation Secure cross-tenancy federation in software-as-a-service system
GB2515536A (en) * 2013-06-27 2014-12-31 Ibm Processing a guest event in a hypervisor-controlled system
GB2518367B (en) * 2013-09-18 2020-07-22 Ibm Authorized remote access to an operating system hosted by a virtual machine
US9563419B2 (en) * 2014-02-20 2017-02-07 International Business Machines Corporation Managing deployment of application pattern based applications on runtime platforms
CN112422291B (zh) * 2014-08-12 2022-01-28 艾高特有限责任公司 基于零知识环境的社交网络引擎
GB2532415A (en) 2014-11-11 2016-05-25 Ibm Processing a guest event in a hypervisor-controlled system
US9787478B2 (en) 2015-06-10 2017-10-10 Qualcomm Incorporated Service provider certificate management
US10110566B2 (en) * 2015-07-21 2018-10-23 Baffle, Inc. Systems and processes for executing private programs on untrusted computers
CN105262592A (zh) * 2015-09-18 2016-01-20 浪潮(北京)电子信息产业有限公司 一种数据交互的方法及api接口
US9794292B2 (en) * 2015-10-26 2017-10-17 Amazon Technologies, Inc. Providing fine-grained access remote command execution for virtual machine instances in a distributed computing environment
CN106991298B (zh) * 2016-01-21 2021-02-02 斑马智行网络(香港)有限公司 应用程序对接口的访问方法、授权请求方法及装置
US10044701B2 (en) * 2016-05-24 2018-08-07 Vantiv, Llc Technologies for token-based authentication and authorization of distributed computing resources
US10318311B2 (en) * 2016-06-30 2019-06-11 Amazon Technologies, Inc. Memory allocation techniques at partially-offloaded virtualization managers
US9887975B1 (en) 2016-08-03 2018-02-06 KryptCo, Inc. Systems and methods for delegated cryptography
US20200136835A1 (en) * 2017-06-30 2020-04-30 Nokia Solutions And Networks Oy Sharing secure connection context via a trusted proxy
US10885212B2 (en) 2017-09-12 2021-01-05 Sophos Limited Secure management of process properties
KR102515891B1 (ko) * 2018-06-11 2023-03-29 삼성전자주식회사 전자장치, 그 제어방법 및 기록매체
US10853494B2 (en) * 2018-07-23 2020-12-01 Vmware, Inc. Binding a trusted virtual machine to a trusted host computer
US11392687B2 (en) * 2019-01-04 2022-07-19 Baidu Usa Llc Method and system for validating kernel objects to be executed by a data processing accelerator of a host system
US11336635B2 (en) * 2019-11-18 2022-05-17 Ciot Systems and methods for authenticating device through IoT cloud using hardware security module
CN111125597B (zh) * 2019-12-18 2023-10-27 百度在线网络技术(北京)有限公司 网页加载方法、浏览器、电子设备及存储介质
KR20210112923A (ko) 2020-03-06 2021-09-15 삼성전자주식회사 시스템 온 칩 및 이의 동작 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
CN101465848A (zh) * 2007-12-17 2009-06-24 国际商业机器公司 安全数字签名系统
US20100169948A1 (en) * 2008-12-31 2010-07-01 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US20120117625A1 (en) * 2010-11-09 2012-05-10 Microsoft Corporation Security system for computing resources pre-releases

Family Cites Families (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0692428A (ja) 1992-09-11 1994-04-05 Sony Corp 搬送方法
US5410602A (en) 1993-09-27 1995-04-25 Motorola, Inc. Method for key management of point-to-point communications
KR0172003B1 (ko) 1995-03-28 1999-03-30 김광호 컴퓨터 시스템 및 그 제어방법
US5638541A (en) 1995-08-25 1997-06-10 Intel Corporation System and method for managing power on desktop systems
US7020880B2 (en) 1997-01-08 2006-03-28 International Business Machines Corporation Modular application collaborator for providing inter-operability between applications and monitoring errors to trigger execution of required compensating actions to undo interrupted transaction
CA2255285C (en) 1998-12-04 2009-10-13 Certicom Corp. Enhanced subscriber authentication protocol
US6826715B1 (en) 1999-10-28 2004-11-30 Hewlett-Packard Development Company, L.P. Automatic capture and comparison of computer configuration data
US6826690B1 (en) 1999-11-08 2004-11-30 International Business Machines Corporation Using device certificates for automated authentication of communicating devices
JP3938852B2 (ja) 2001-06-20 2007-06-27 富士通株式会社 監視サービス価格提示方法,監視サービス価格提示プログラム,監視サービス価格提示装置
US6944300B2 (en) 2001-06-22 2005-09-13 International Business Machines Corporaton Method for migrating a base chip key from one computer system to another
JP2003051838A (ja) 2001-08-07 2003-02-21 Sony Corp アドレス管理システム、インタフェースid設定処理装置、通信端末装置、およびアドレス管理方法、並びにコンピュータ・プログラム
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
US7418596B1 (en) * 2002-03-26 2008-08-26 Cellco Partnership Secure, efficient, and mutually authenticated cryptographic key distribution
AU2003240323A1 (en) 2002-06-06 2003-12-22 Sxip Networks Srl Distributed hierarchical identity management
US20040064691A1 (en) * 2002-09-26 2004-04-01 International Business Machines Corporation Method and system for processing certificate revocation lists in an authorization system
JP2004254027A (ja) 2003-02-19 2004-09-09 Toshiba Corp サーバ装置、鍵管理装置、暗号通信方法及びプログラム
US20050044363A1 (en) * 2003-08-21 2005-02-24 Zimmer Vincent J. Trusted remote firmware interface
JP2005122561A (ja) 2003-10-17 2005-05-12 Canon Inc アプリケーションプロテクトシステム
US8295484B2 (en) * 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
EP2194476B1 (en) 2005-03-22 2014-12-03 Hewlett-Packard Development Company, L.P. Method and apparatus for creating a record of a software-verification attestation
US7636442B2 (en) 2005-05-13 2009-12-22 Intel Corporation Method and apparatus for migrating software-based security coprocessors
US8429630B2 (en) 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
US8364638B2 (en) 2005-09-15 2013-01-29 Ca, Inc. Automated filer technique for use in virtualized appliances and applications
US7797545B2 (en) * 2005-09-29 2010-09-14 Research In Motion Limited System and method for registering entities for code signing services
JP2007122303A (ja) 2005-10-27 2007-05-17 Hitachi Ltd 論理区画式計算機システム
JP5054317B2 (ja) 2006-02-08 2012-10-24 株式会社アイ・オー・データ機器 暗号鍵設定方法、ネットワークシステム、管理装置、情報処理端末、および暗号鍵設定プログラム
US9166782B2 (en) 2006-04-25 2015-10-20 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
US8130959B2 (en) 2006-09-07 2012-03-06 International Business Machines Corporation Rekeying encryption for removable storage media
US8407699B2 (en) * 2008-03-10 2013-03-26 Citrix Systems, Inc. System and method for managing code isolation
US20080134321A1 (en) * 2006-12-05 2008-06-05 Priya Rajagopal Tamper-resistant method and apparatus for verification and measurement of host agent dynamic data updates
US8380987B2 (en) 2007-01-25 2013-02-19 Microsoft Corporation Protection agents and privilege modes
US7913086B2 (en) * 2007-06-20 2011-03-22 Nokia Corporation Method for remote message attestation in a communication system
US9112681B2 (en) 2007-06-22 2015-08-18 Fujitsu Limited Method and apparatus for secure information transfer to support migration
US8453143B2 (en) 2007-09-19 2013-05-28 Vmware, Inc. Reducing the latency of virtual interrupt delivery in virtual machines
KR100953092B1 (ko) 2007-11-06 2010-04-19 한국전자통신연구원 Sso서비스 방법 및 시스템
US8208637B2 (en) 2007-12-17 2012-06-26 Microsoft Corporation Migration of computer secrets
US8259948B2 (en) 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
US7882070B2 (en) 2007-12-31 2011-02-01 Sap Ag System and method for UDDI data migration using standard UDDI v3 API
US8353015B2 (en) * 2008-01-09 2013-01-08 Microsoft Corporation Trusted internet identity
CN101953112A (zh) 2008-02-25 2011-01-19 松下电器产业株式会社 信息安全装置及信息安全系统
WO2009151445A1 (en) * 2008-06-10 2009-12-17 Hewlett-Packard Development Company, L.P. Method and apparatus for configuring a hypervisor during a downtime state
EP2316071A4 (en) 2008-06-19 2011-08-17 Servicemesh Inc CLOUD DATA PROCESSING GATEWAY, CLOUD DATA PROCESSING HYPERVISOR, AND METHOD FOR IMPLEMENTING THEM
US9075957B2 (en) 2008-08-04 2015-07-07 Sandisk Il Ltd. Backing up digital content that is stored in a secured storage device
US9715401B2 (en) 2008-09-15 2017-07-25 International Business Machines Corporation Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment
US9559842B2 (en) * 2008-09-30 2017-01-31 Hewlett Packard Enterprise Development Lp Trusted key management for virtualized platforms
US20100082960A1 (en) * 2008-09-30 2010-04-01 Steve Grobman Protected network boot of operating system
US8768843B2 (en) * 2009-01-15 2014-07-01 Igt EGM authentication mechanism using multiple key pairs at the BIOS with PKI
US8738932B2 (en) 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US9158912B2 (en) 2009-04-01 2015-10-13 Dell Products L.P. Method and apparatus for a virtual machine hosting network with user devices
US8392709B1 (en) * 2009-04-28 2013-03-05 Adobe Systems Incorporated System and method for a single request—single response protocol with mutual replay attack protection
US9768965B2 (en) * 2009-05-28 2017-09-19 Adobe Systems Incorporated Methods and apparatus for validating a digital signature
US8438256B2 (en) 2009-06-26 2013-05-07 Vmware, Inc. Migrating functionality in virtualized mobile devices
US20120117624A1 (en) 2009-07-03 2012-05-10 Telefonaktiebolaget Lm Ericsson (Publ) Method and Apparatus for use in an IP Multimedia Subsystem
US9565207B1 (en) * 2009-09-04 2017-02-07 Amazon Technologies, Inc. Firmware updates from an external channel
US8478725B2 (en) 2009-09-14 2013-07-02 Vmware, Inc. Method and system for performing live migration of persistent data of a virtual machine
KR20110035573A (ko) 2009-09-30 2011-04-06 주식회사 케이티 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법
US8631404B2 (en) 2010-02-18 2014-01-14 Red Hat Israel, Ltd. Mechanism for downloading hypervisor updates via a virtual hardware device using existing virtual machine-host channels
US8417885B2 (en) 2010-02-24 2013-04-09 Avaya Inc. Method and apparatus for high availability (HA) protection of a running virtual machine (VM)
WO2011114476A1 (ja) * 2010-03-17 2011-09-22 富士通株式会社 マルチコアプロセッサシステム、通知プログラム、および通知方法
JP2011211255A (ja) 2010-03-26 2011-10-20 Kyocera Corp データ転送システム、通信機器及びデータ転送方法
US8300831B2 (en) 2010-04-26 2012-10-30 International Business Machines Corporation Redundant key server encryption environment
US8473557B2 (en) 2010-08-24 2013-06-25 At&T Intellectual Property I, L.P. Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
KR20120050742A (ko) 2010-11-11 2012-05-21 삼성에스디에스 주식회사 커널 네이티브 에이피아이의 후킹 처리를 통한 디지털 저작권 관리 장치 및 방법
US8880667B2 (en) 2011-02-09 2014-11-04 Microsoft Corporation Self regulation of the subject of attestation
JP5648544B2 (ja) 2011-03-15 2015-01-07 富士通株式会社 スケジューリングプログラム、および情報処理装置
US20120324446A1 (en) * 2011-06-17 2012-12-20 Microsoft Corporation Virtual machine image composition and signing
US8732462B2 (en) * 2011-07-07 2014-05-20 Ziptr, Inc. Methods and apparatus for secure data sharing
US8832447B2 (en) * 2011-08-10 2014-09-09 Sony Corporation System and method for using digital signatures to assign permissions
JP2013058006A (ja) 2011-09-07 2013-03-28 Fuji Xerox Co Ltd 情報処理装置及び情報処理プログラム
EP2587715B1 (en) * 2011-09-20 2017-01-04 BlackBerry Limited Assisted certificate enrollment
US8694786B2 (en) * 2011-10-04 2014-04-08 International Business Machines Corporation Virtual machine images encryption using trusted computing group sealing
US9069586B2 (en) 2011-10-13 2015-06-30 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US8788843B2 (en) * 2011-10-28 2014-07-22 LogMeln, Inc. Storing user data in a service provider cloud without exposing user-specific secrets to the service provider
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US8914629B2 (en) 2012-01-30 2014-12-16 The Nielsen Company (Us), Llc Intercepting encrypted network traffic for internet usage monitoring
US8909939B1 (en) * 2012-04-04 2014-12-09 Google Inc. Distribution of cryptographic host keys in a cloud computing environment
US8688984B2 (en) * 2012-04-27 2014-04-01 Google Inc. Providing content to a user across multiple devices
US10255089B2 (en) * 2012-07-31 2019-04-09 Ca, Inc. Self-deleting virtual machines
US8924720B2 (en) * 2012-09-27 2014-12-30 Intel Corporation Method and system to securely migrate and provision virtual machine images and content
US10063380B2 (en) 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations
US9503268B2 (en) 2013-01-22 2016-11-22 Amazon Technologies, Inc. Securing results of privileged computing operations
US9729517B2 (en) 2013-01-22 2017-08-08 Amazon Technologies, Inc. Secure virtual machine migration

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
CN101465848A (zh) * 2007-12-17 2009-06-24 国际商业机器公司 安全数字签名系统
US20100169948A1 (en) * 2008-12-31 2010-07-01 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US20120117625A1 (en) * 2010-11-09 2012-05-10 Microsoft Corporation Security system for computing resources pre-releases

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11228449B2 (en) 2013-01-22 2022-01-18 Amazon Technologies, Inc. Secure interface for invoking privileged operations
CN112214745A (zh) * 2019-07-11 2021-01-12 三叶草网络有限责任公司 经认证的外部生物特征读取器和验证设备
CN112214745B (zh) * 2019-07-11 2022-03-01 三叶草网络有限责任公司 经认证的外部生物特征读取器和验证设备

Also Published As

Publication number Publication date
SG11201505651WA (en) 2015-08-28
AU2014209470B2 (en) 2017-04-06
WO2014116743A1 (en) 2014-07-31
US20190068379A1 (en) 2019-02-28
EP2948854B1 (en) 2017-11-29
JP2016509725A (ja) 2016-03-31
US11228449B2 (en) 2022-01-18
KR20150110652A (ko) 2015-10-02
US20140208096A1 (en) 2014-07-24
AU2014209470A1 (en) 2015-08-27
JP6092428B2 (ja) 2017-03-08
CN104969201B (zh) 2019-06-28
EP2948854A4 (en) 2016-09-28
US10063380B2 (en) 2018-08-28
KR101735982B1 (ko) 2017-05-15
CA2898906C (en) 2017-10-31
EP2948854A1 (en) 2015-12-02
CA2898906A1 (en) 2014-07-31

Similar Documents

Publication Publication Date Title
CN104969201B (zh) 用于调用特权操作的安全接口
JP6462103B2 (ja) 特権的コンピューティングオペレーションの結果の保護
CN108351944B (zh) 链式安全系统
CN105027107B (zh) 迁移计算资源的计算机实现的方法及计算系统
US9191394B2 (en) Protecting user credentials from a computing device
KR101712784B1 (ko) 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법
EP2278514B1 (en) System and method for providing secure virtual machines
US11888980B2 (en) Stateless service-mediated security module
CN112187803B (zh) 使用服务器的tpm的远程密码服务
CN102404314A (zh) 远程资源单点登录
WO2017159067A1 (ja) 情報処理装置およびエージェントシステム
CN116263817A (zh) 一种数据访问控制方法及相关系统

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