CN105027494A - 公共云中的受信任的数据处理 - Google Patents
公共云中的受信任的数据处理 Download PDFInfo
- Publication number
- CN105027494A CN105027494A CN201380073102.XA CN201380073102A CN105027494A CN 105027494 A CN105027494 A CN 105027494A CN 201380073102 A CN201380073102 A CN 201380073102A CN 105027494 A CN105027494 A CN 105027494A
- Authority
- CN
- China
- Prior art keywords
- server
- key
- module
- data processing
- cloud
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0827—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
一般而言,本发明描述了用于公共云中的受信任的数据处理的系统和方法。系统可包括其中包括受信任的执行环境的云服务器,所述云服务器是多个云服务器中的一个,耦合到所述云服务器的云存储设备,以及,包括密钥服务器模块的RKM服务器,所述RKM服务器被配置成利用私钥对所述密钥服务器模块进行签名;以及,网关服务器,所述网关服务器被配置成将所述经签名的密钥服务器模块提供到所述云服务器,所述受信任的执行环境被配置成利用与私钥相关的公钥,来验证所述密钥服务器模块,并且启动所述密钥服务器模块,所述密钥服务器模块被配置成在所述网关服务器和所述密钥服务器模块之间建立安全通信信道,所述网关服务器被配置成通过所述安全通信信道,将密码密钥提供到所述密钥服务器模块。
Description
领域
本发明涉及数据处理,更具体而言,涉及公共云中的受信任的数据处理。
背景技术
降低成本以及提高效率是将公共云用于数据存储以及处理的主要动机。然而,存储在云中的数据可能容易受到云的其他客户机以及云提供商本身的攻击。具体而言,数据安全性,由于内部人员对基础设施的访问所造成的未经授权的数据泄露,以及共享的多承租人环境,所有的这些,都会造成这样的弱点。并非资源的物理分离,为提供安全性,对逻辑分离有较大的依赖。
加密是用于实现客户机数据与其他客户机的逻辑分离的一种技术。然而,由于需要保护主(根)密钥以及备份,灾难以及恢复,密钥管理难以实现。进一步,对于许多系统,例如,规章制度,可能要求用于实现可靠的审核的机制。失去对数据的控制可能会实现这样的顺从性复杂化。
附图简述
随着以下详细描述继续,并且经过参考附图,所要求保护的主题的多个实施例的特征和优点将变得明显,在附图中相似标号描绘相似部件,并且其中:
图1示出了根据本发明的各实施例的包括云服务和客户机系统的系统;
图2示出了根据本发明的各实施例的示例根密钥管理(RKM)服务器;
图3示出了根据本发明的各实施例的示例云服务器;
图4示出了根据本发明的各实施例的消费者网关服务器示例性操作的流程图;以及
图5示出了根据本发明的各实施例的与密钥服务器模块相关的示例性操作的流程图;以及
图6示出了根据本发明的各实施例的用于在云中进行数据处理的示例性操作的流程图;以及
图7示出了根据本发明的一个实施例的Apache Hadoop数据处理示例。
虽然下列“详细描述”将参考说明性实施例来进行,但是,许多替代方案、修改以及其变体将对所属领域的技术人员显而易见。
具体实施方式
一般而言,本发明描述了被配置成促进公共云中的安全数据处理的系统和方法。如此处所使用的,“云”是指多个互连的云服务器以及云存储设备,它们可以由多个客户机共享,它们被配置成向多个客户机(云消费者)提供数据存储和处理功能。系统和方法被配置成在上传到云之前加密数据,只在受信任的和/或安全环境中解密并处理数据,在从受信任的环境中传输结果之前加密处理的结果。系统和方法进一步被配置成通过被配置成向云提供密钥服务器模块的客户机系统,来保持密钥管理功能。密钥服务器模块被配置成在受信任的环境中执行,以证实客户机系统,并通过为此目的建立的安全信道,向数据处理模块提供密码密钥。数据处理模块被配置成在建立安全信道之前证实密钥服务器。可以由客户机系统中所包括的根密钥管理(RKM)服务器向密钥服务器模块提供密码密钥。客户机系统还可以包括被配置成在客户机系统、其他网络和/或云之间提供网络接口的网关服务器,如此处所描述的。RKM服务器被配置成在本地安全存储器中维护根密钥,并通过网关服务器和安全信道,向密钥服务器模块提供密码密钥。在某些实施例中,RKM服务器可以被包括在网关服务器中。在某些实施例中,RKM服务器可以与网关服务器分开并耦合到网关服务器。然后,密钥服务器模块可以将密封了其身份的密码密钥存储在安全存储器中。如此,可以阻止由云服务的其他用户和/或云服务提供商本身对客户机数据的访问。如此,可以由客户机系统中所包括的根密钥管理服务器保持密钥管理功能,从而促进对数据和密钥的控制以及审核。
图1示出了根据本发明的各实施例的系统100,该系统100包括云服务102,该云服务102可包括一个或多个服务器存储系统108a,...,108n以及一个或多个客户机系统104a,...,104m。客户机系统104a可包括网关服务器110、根密钥管理(“RKM”)服务器111、客户机数据存储器113(例如,网络附连存储)以及一个或多个计算设备112a,...,112n。服务器存储系统108a可包括一个或多个云服务器120a,...,120m,以及一个或多个云存储设备112a,...,112n。服务器存储系统108a,...,108n、客户机系统104a,...,104m,网关服务器110、计算设备112a,...,112n,云服务器120a,...,120m和云存储设备112a,...,112n可以通过多个网络106a,...,106n耦合。
计算设备112a,...,112n可包括,但不限于,台式计算机、膝上型计算机、平板电脑(例如,Galaxy等等)、超便携计算机、超移动计算机、上网本计算机、亚笔记本计算机、移动电话、智能电话(例如,基于的电话、基于的电话、基于的电话等等),功能电话、个人数字助理、企业数字助理、移动因特网设备、个人导航设备等等。计算设备112a,...,112n可以被配置成将数据从,例如,客户机数据存储器113上传到服务器存储系统108a,用于存储在一个或多个云存储设备112a,...,112n中,然后,可由一个或多个云服务器120a,...,120m处理,如此处所描述的。RKM服务器111被配置成在上传之前管理数据加密,并执行与密钥管理相关联的操作,如此处所描述的。
网关服务器110被配置成管理客户机系统104a和云服务102、网络106a和/或其他客户机系统104b,...,104m之间的通信。网关服务器110被配置成为RKM服务器111和/或计算设备112a,...,112m和云服务102提供代理服务器功能(即,被配置成充当媒介)。网关服务器110可包括处理器电路132、通信电路134和其中包括操作系统OS 138、一个或多个应用140的存储器电路136。处理器电路132可包括被配置成执行与网关服务器110相关联的操作的一个或多个处理器。通信电路134被配置成使用一个或多个通信协议,通过网络106n,与计算设备112a,...,112n、RKM服务器111和/或客户机数据存储器113,和/或通过网络106a,与云服务102,以有线和/或以无线方式进行通信,如此处所描述的。通信协议可以包括,但不限于,Wi-Fi、3G、4G、以太网和/或某种其他通信协议。
例如,用户可以通过计算设备112a请求对存储在客户机数据存储器113中的数据进行云处理。RKM服务器111被配置成提供密码密钥,用于对数据进行加密,然后,将经加密的数据上传到云服务102。然后,网关服务器110可以被配置成将经加密的数据上传到云服务102,用于存储在,例如,云存储设备122a,...,122n中的一个或多个中。被配置成执行如此处所描述的密钥管理功能的密钥服务器模块,可以通过网关服务器110,从RKM服务器111上传到云服务102。可以在数据之前,与数据一起,或在数据之后上传密钥服务器模块。密钥服务器模块可以在云中执行作为服务。可以通过被配置成对上传的数据执行数据处理操作的网关服务器110,上传一个或多个数据处理模块,如此处所描述的。然后,可以通过网关服务器110,从云服务102接收数据处理操作的结果,并被提供给发出请求的计算设备。
图2示出了根据本发明的各实施例的示例RKM服务器200。RKM服务器200对应于图1的RKM服务器111。RKM服务器200可包括处理器电路202、通信电路204,以及其中包括操作系统OS 208、一个或多个应用210、经加密的数据212和/或未加密的数据214的存储器电路206。处理器电路202可包括被配置成执行与RKM服务器200相关联的操作的一个或多个处理器。通信电路204被配置成使用一个或多个通信协议,通过网络106n与计算设备112a,...,112n,和/或通过网络106a与云服务102,以有线和/或以无线方式进行通信,如此处所描述的。通信协议可以包括,但不限于,Wi-Fi、3G、4G、以太网和/或某种其他通信协议。
RKM服务器200可包括受信任的执行环境TEE 220和安全存储器电路230。受信任的执行环境220被配置成提供受信任的执行和存储环境,例如,可以符合可信平台模块(TPM)协议,如此处所描述的。TEE 220可以以各种形式存在或通过各种技术来提供,诸如位于加利福尼亚州圣克拉拉市的英特尔公司所提供的受信任的执行技术(“TXT”)、可管理性引擎(“ME”)、位于英国剑桥的ARM Holdings所提供的TrustZone安全系统、虚拟化技术(“VT-x”),或微代码实施的线程和存储器访问隔离。对存储在安全存储器电路230中的数据的访问可以通过,例如,密码技术来限制。在某些实施例中,安全存储器电路可以被包括在TEE 220中。
TEE 220可包括安全处理模块221、一个或多个密码模块222、密钥生成器224、随机数生成器226和一个或多个根密钥228。安全处理模块221被配置成管理与云中的远程数据处理相关联的操作。密钥生成器224可以被配置成生成密码密钥,这些密码密钥由例如数据处理模块236在解密数据以及加密云中的结果时使用。根密钥228可以被用于生成一个或多个证书,例如,用于认证RKM服务器公钥,如此处所描述的。在某些实施例中,密钥可以是非对称的,且带有包括公钥以及私钥的密钥对。在某些实施例中,密钥可以是对称的秘密密钥。可以使用已知密码密钥生成技术来生成密钥。随机数生成器226被配置成支持密码功能。例如,随机数生成器226可以被配置成提供用于生成密码密钥的种子数,即,熵的源。
安全处理模块221可以被配置成从存储器电路206和/或从客户机数据存储器113检索数据。密码模块222可以被配置成对数据进行加密,安全处理模块221可以被配置成将经加密的数据212存储在存储器电路206和/或客户机数据存储器113中。例如,可以根据美国加密标准(AES),使用随机地生成的对称密钥,对数据进行加密。根据本发明,可以使用其他已知的密码技术。网关服务器110可被配置成从例如云服务102接收经加密的处理过的数据,并将经加密的数据存储到客户机数据存储器113中。然后,安全处理模块221可以被配置成将经加密的处理过的数据加载到存储器电路206中,用于解密。然后,经解密的数据可以被存储在客户机数据存储器113中,供计算设备112a,...,112n中的一个或多个检索。
数据可以对应于相对大的数据块。如此,加密和/或解密可相对耗时。在某些实施例中,密码模块222可以被配置成实现高级加密标准,新指令(AES-NI),例如,被配置成加速加密与解密,改善密钥生成和矩阵操纵,促进无进位(carry-less)乘法。如此,使用AES-NI,可以相对更快地执行加密和/或解密相对大的数据块。
安全存储器电路230被配置成存储密钥服务器模块232、密码(加密/解密)密钥234,并可以被配置成存储数据处理模块236。在某些实施例中,数据处理模块236可以存储在存储器206中。密钥服务器模块232被配置成使用例如云服务102执行与安全数据处理相关联的密钥服务器和密钥管理功能。密钥服务器模块232被配置成在云中的受信任的执行环境中执行,如此处所描述的。作为云数据处理的一部分,密码密钥234可以被用来加密和/或解密数据。密码密钥234可以由密码模块222生成,并在被上传到云(通过安全信道)之前存储在安全存储器电路230中。数据处理模块236被配置成在受信任的执行环境中执行,并在云中的受信任的执行环境中处理数据。
例如,数据处理模块236中的一个或多个可以被配置成执行与ApacheHadoop,支持数据密集的分布式应用的开源软件框架相关联的映射和缩小功能,如此处所描述的。数据处理模块236中的一个或多个可以被配置成执行其他数据处理活动。数据212包括经加密的数据,并可包括被上传到云之前的经加密的数据处理结果数据和/或经加密的数据。
密钥服务器模块232可以是经过数字签名的,并上传到云服务102。在某些实施例中,在上传之前,可以将密钥服务器模块232及其他信息组合,并进行数字签名。额外的信息可以被配置成标识密钥服务器模块232和/或可包括配置数据。可以类似地签名并上传被配置成在云中处理数据的数据处理模块236。如果在上传之后并在执行之前成功地认证密钥服务器模块232,则可以从密码密钥存储器234中检索并上传一个或多个密码密钥。然后,可以将检索到的密钥用于对上传的数据的操作中,如此处所描述的。在某些实施例中,可以与数据处理模块236和/或密码密钥234一起上传数据访问策略。例如,数据访问策略可包括与数据可以在何时,如何以及被谁访问相关联的策略。
如此,安全处理模块221可被配置成管理加密以及解密数据,用于上传到云服务102以及从云服务102检索。安全处理模块221可以进一步被配置成在密钥服务器模块232被提供到云服务108之后管理请求并评估与密钥服务器模块232相关的认证信息。如此,密码密钥管理可以与RKM服务器111和客户机系统104a伴随。
图3示出了示例云服务器300。云服务器300对应于一个云服务器,例如,云服务102中所包括的云服务器120a。当与图1和2一起阅读时,可以更好地理解下面的对云服务器300的描述。云服务器300可包括处理器电路302、通信电路304和存储器电路306。存储器电路306可包括操作系统308和一个或多个应用310。处理器电路302可包括被配置成执行与云服务器300相关联的操作的一个或多个处理器。通信电路304被配置成使用一个或多个通信协议,通过网络106a,106b,与客户机系统104a,...,104m,和/或一个或多个存储设备122a,...,122n,以有线和/或以无线方式进行通信,如此处所描述的。通信协议可以包括,但不限于,Wi-Fi、3G、4G、以太网和/或某种其他通信协议。
云服务器300可包括一个或多个受信任的执行环境TEE 320,322a,...,322m,323a,...,323n。受信任的执行环境320,322a,...,322m,323a,...,323n被配置成提供受信任的执行和存储环境,例如,可以符合可信平台模块(TPM)协议,如此处所描述的。TEE 320,322a,...,322m,323a,...,323n可以以各种形式存在或通过各种技术来提供,诸如位于加利福尼亚州圣克拉拉市的英特尔公司所提供的受信任的执行技术(“TXT”)、可管理性引擎(“ME”)、位于英国剑桥的ARM Holdings所提供的TrustZone安全系统、虚拟化技术(“VT-x”),或微代码实施的线程和存储器访问隔离。云服务器300示出了在密钥服务器模块,例如,密钥服务器模块324,以及数据处理模块,例如,数据处理模块330a,...,330m被加载到相应的TEE 320和/或322a,...,322m中之后云服务器的一个示例。在某些实施例中,密钥服务器模块324以及数据处理模块330a,...,330m可以被加载到TEE 320中。
TEE 323a,...,323n可以供其他云消费者(即,客户机)和/或计算设备112a,...,112n中的一个或多个使用。TEE 323a,...,323n被配置成不会被,例如,TEE 320干扰。例如,如果计算设备112a与要被,例如,TEE322a,...,322m执行的数据处理相关联,那么,一个或多个其他计算设备,例如,112b,...,112n可以被配置成使用TEE 323a,...,323n中的一个或多个。如此,单个受信任的执行环境被配置成与其他单个受信任的执行环境分开并不受它们的干扰。
TEE 320被配置成在执行密钥服务器模块324之前向网关服务器110提供密钥服务器模块324的远程证实。密钥服务器模块324可能已经被RKM服务器111通过网关服务器110,与数字签名一起,提供给TEE 320。数字签名可包括通过非对称的(即,公共/私有的)密钥对的私钥加密的密钥服务器模块的散列。公钥和私钥可以被包括在存储器电路206中所包括的密码密钥234中。网关服务器110可以被配置成向TEE 320提供公钥/私钥对的公钥,用于证实。在某些实施例中,公钥可以被包括在由RKM服务器111和/或证书颁发机构签名的证书中。在这些实施例中,证书公钥可以在上传密钥服务器模块324之前,通过,例如,安全信道,被提供到TEE 320。
然后,TEE 320可以被配置成散列密钥服务器模块324,并使用公钥,解密签名。如果散列结果匹配,那么,TEE 320被配置成关于密钥服务器模块324证实网关服务器110,由此,RKM服务器111。在包括证书的各实施例中,TEE 320可以被配置成首先在验证密钥服务器模块324之前确认,公钥对应于RKM服务器111的身份。如此,TEE 320被配置成确认密钥服务器模块324是通过网关服务器110从RKM服务器111上传的密钥服务器模块232。
然后,TEE 320可以被配置成执行密钥服务器模块324。然后,如果证实成功(即,如果密钥服务器模块324被验证),密钥服务器模块324可以被配置成与网关服务器110建立安全通信信道。可以使用已知技术,例如,密码方法,来建立安全信道。然后,密钥服务器模块324可以被配置成通过网关服务器110,从RKM服务器111接收一个或多个密码密钥326,并安全地将密钥存储到TEE 320中。
在某些实施例中,TEE 320可基于密钥服务器模块324的功能,被配置成“主”受信任的执行环境。TEE 322a,...,322m可被配置成相对于主TEE 320的“子”受信任的执行环境,例如,由于TEE 322a,...,322m分别包括可以依赖于密钥服务器模块324提供用于加密和/或解密数据的密码密钥的数据处理模块330a,...,330m,如此处所描述的。密钥服务器模块324可以被配置成在建立受信任的信道之前验证数据处理模块330a,...,330m。密钥服务器模块324可以被配置成与数据处理模块330a,...,330m建立受信任的和/或安全通信,以便密钥服务器模块324向TEE 322a,...,322m提供密码密钥。
每一数据处理模块330a,...,330m都被配置成在接收密码密钥之前提供证实。如此,每一数据处理模块330a,...,330m可能已经与数字签名一起被提供到云服务器300,数字签名可以用于(与公钥和/或证书一起)验证数据处理模块330a,...,330m。例如,RKM服务器111可以被配置成在网关服务器110向云服务器300提供数据处理模块330a,...,330m之前对每一数据处理模块330a,...,330m进行签名。在某些实施例中,数据处理模块330a,...,330m可以被配置成在密钥服务器模块324和相应的数据处理模块之间建立安全信道之前证实密钥服务器模块324。如果证实成功,则每一TEE 322a,...,322m被配置成确认每一数据处理模块330a,...,330m都对应于通过网关服务器110从RKM服务器111上传的相应的数据处理模块330a,...,330m,并允许相应的数据处理模块330a,...,330m在相应的TEE 322a,...,322m中执行。在某些实施例中,密钥服务器模块324可以被配置成向网关服务器110,并由此向RKM服务器111,传递数据处理模块是否被验证,如此处所描述的。
在操作中,每一数据处理模块330a,...,330m都被配置成从云存储设备122a,...,122n中的一个或多个检索一个或多个经加密的数据块,并将经加密的数据加载到相应的TEE 322a,...,322m中的相应的经加密的数据/结果存储器338a,...,338m中。每一数据处理模块330a,...,330m都被配置成与TEE 320建立安全通信信道,并从TEE 320中检索一个或多个密码密钥。在某些实施例中,密码密钥可以是对称的密钥。可以使用对称的密钥,因为它们是通过安全信道提供的,例如,通过网关服务器110,从RKM服务器111到TEE 320,并从TEE 320到TEE 322a,...,322m。使用对称密钥的加密和/或解密通常比使用非对称密钥对的公钥的加密和/或解密更快。
每一TEE 322a,...,322m都可包括被配置成对例如数据执行加密和/或解密的加密/解密模块332a,...,332m。经加密的数据338a,...,338m可以由相应的密码模块332a,...,332m来解密,经解密的数据334a,...,334m可以被存储在相应的TEE 322a,...,322m中。然后,数据处理模块330a,...,330m可以处理经解密的数据334a,...,334m,并将结果336a,...,336m存储到TEE 322a,...,322m安全存储器中。然后,密码模块332a,...,332m可以加密结果336a,...,336m,并在将经加密的结果存储在云存储设备122a,...,122n中的一个或多个中和/或将经加密的结果提供到网关服务器110之前将经加密的结果336a,...,336m存储在TEE 322a,...,322m中。在某些实施例中,经加密的数据和经加密的结果可以不存储在相应的TEE 322a,...,322m中。在这些实施例中,经加密的数据可以被加载到相应的TEE 322a,...,322m中,由密码模块332a,...,332m解密,并作为经解密的数据存储在TEE 322a,...,322m中。在处理之后,结果336a,...,336m可以由密码模块332a,...,332m加密,并存储在例如云存储设备122a,...,122n中和/或提供给网关服务器110。
如此,上传到云存储设备122a,...,122n的数据,在云存储设备和TEE322a,...,322m之间移动以及下载到网关服务器110的数据可以是加密的,相对来说免受来自的云服务102的其他客户机和/或云服务本身的干扰。当在云中时,数据可以只在被配置成提供安全存储并被配置成云服务102的其他客户机不可访问的受信任的执行环境中解密。
如此,根据本发明的系统和方法被配置成通过确保不安全的存储器中的和/或在非安全的信道上传播的数据是加密加密过的,促进公共云中的受信任的数据处理。数据在受信任的执行环境中被解密和处理。密钥管理通过被配置成提供证实的密钥服务器模块来提供,密码密钥由客户机RKM服务器和经过验证的密钥服务器模块管理。
图4示出了根据本发明的实施例的示例性操作的流程图400。操作可以例如由RKM服务器111和/或消费者网关服务器110执行。具体而言,流程图400描绘了被配置成进行一下操作的示例性操作:生成密码密钥,对数据进行加密,以及将经加密的数据,经签名的密钥服务器模块和经签名的数据处理模块提供给云。
流程图400的操作可以以开始402开始。操作404可包括生成密码密钥。例如,密码密钥可以在RKM服务器111中的受信任的执行环境中生成。在操作406中,可以对密钥服务器模块进行数字签名。例如,安全处理模块221可以被配置成散列密钥服务器模块,并使用非对称密钥对的私钥对散列进行加密。操作408可包括将经签名的密钥服务器模块上传到云服务102。在操作410中,可以对数据进行加密。例如,可以使用密码密钥中的至少一个,对数据进行加密。例如,密钥可对应于使用美国加密标准(AES)随机地生成的对称密钥。操作412可包括将经加密的数据上传到云,例如,云服务102。在操作414中,可以对一个或多个数据处理模块进行数字签名。在操作416中,可以将经签名的数据处理模块上传到云服务。在操作418中,程序流可以返回。
如此,被上传和/或存储在云存储设备中的数据在传输并存储之前可以是加密的。可以对密钥服务器模块和一个或多个数据处理模块进行数字签名,数字签名被配置成提供证实能力。
操作406和408一般比操作410到416在较少的时间内执行。换言之,密钥服务器模块被配置成为多个数据处理模块提供密钥管理功能。如此,一旦密钥服务器模块被上传,它可以被配置为密钥管理服务。类似地,例如,响应于来自计算设备112a,...,112n的进行数据处理的请求,已经被上传的经加密的数据可以由数据处理模块中的一个或多个重复地处理。如果经加密的数据已经被上传并存在于云服务102中,那么它不需要被再次上传。如此,被配置成提供密钥管理功能的密钥服务器模块,经加密的数据以及数据处理模块可以被上传到云。
图5示出了根据本发明的实施例的示例性操作的流程图500。操作可以例如由云服务器120a、网关服务器110和/或RM服务器111来执行。具体而言,流程图500描绘了被配置成提供密钥服务器模块以及数据处理模块的证实的受信任的执行环境的示例性操作。示例性操作进一步被配置成通过网关服务器110和云服务器120a之间的以及密钥服务器模块和数据处理模块之间的安全信道,提供密码密钥。
流程图500的操作可以从开始502开始。在操作504中,可以验证密钥服务器模块。例如,密钥服务器模块可以被配置成使用由RKM服务器111通过网关服务器110所提供的公钥,证实网关服务器和/或RKM服务器,该公钥对应于用于对密钥服务器模块进行数字签名的私钥。操作506可包括在云服务器受信任的执行环境中启动密钥服务器模块。操作508可包括在网关服务器和密钥服务器模块之间建立安全信道。在操作510中,可以通过安全信道上传由RKM服务器所提供的密码密钥。在操作512中,可以在一个或多个TEE中启动数据处理模块。在操作514中,可以验证数据处理模块。例如,数据处理模块可以被配置成使用由RKM服务器111通过网关服务器110所提供的公钥,证实密钥服务器模块,该公钥对应于用于对数据处理模块进行数字签名的私钥。在某些实施例中,数据处理模块可以被配置成证实网关服务器110和/或RKM服务器111。在操作516中,可以在密钥服务器TEE和数据处理TEE之间建立安全信道。密钥服务器模块可以被配置成在建立安全信道之前验证数据处理模块。操作518可包括由密钥服务器TEE通过安全信道向数据处理TEE提供密码密钥。在操作520中,程序流可以返回。
如此,在安全信道被建立之前以及在提供密码密钥之前,使用受信任的执行环境,可以证实(即,验证)密钥服务器模块和数据处理模块。公钥(可以被认证)可以用于被配置成确认在云中执行的密钥服务器模块和数据处理模块是由网关服务器从RKM服务器上传的模块的测量中。
图6示出了根据本发明的实施例的示例性操作的流程图600。操作可以例如由数据处理模块330a,...,330m来执行。具体而言,流程图600描绘了数据处理模块的示例性操作,数据处理模块被配置成从例如云存储设备检索经加密的数据,解密并处理数据并安全地在受信任的执行环境中对结果进行加密,并将经加密的结果返回到存储器和/或网关服务器,用于提供到发出请求的计算设备。
流程图600的操作可以从开始602开始。操作604可包括将经加密的数据从存储器加载到受信任的执行环境中。在操作606中,可以通过为该目的建立的安全信道从密钥服务器模块接收密码密钥。图6的操作606与图5的操作518互补。操作608可包括使用密码密钥来解密检索到的数据。在操作610中,可以处理经解密的数据,以产生结果。在操作612中,可以使用密码密钥来对结果进行加密。在操作614中,经加密的结果可以存储在云存储设备中和/或传输到例如网关服务器,用于提供到发出请求的计算设备。在某些实施例中,如果结果密钥被修改,操作616可包括将结果密钥提供到密钥服务器模块。在操作618中,程序流可以返回。
如此,当数据在传播和/或存储在不安全的存储器中时,可以通过加密来保护数据。可以在受信任的执行环境中对数据进行解密并处理,在存储或传输之前,可以对结果进行加密。
图7描绘了根据本发明的一个实施例的Apache Hadoop数据处理示例。具体而言,图7描绘了与Hadoop中的映射-缩小应用相关联的流。ApacheHadoop是支持数据密集的分布式应用的开源软件框架。它支持使用诸如云服务102之类的云服务来执行数据处理应用。Hadoop实现名为Map-Reduce的计算范例,其中,数据处理被分成许多小数据块,每一个数据块都可以在服务器存储系统中的任何云服务器中执行或反复执行。另外,它还提供可以将数据存储在云存储设备中的分布式文件系统(“HDFS”)。ApacheHadoop允许应用与成千上万的计算独立的计算机以及拍字节(petabyte)数据一起工作。如此,使用Hadoop框架(例如,Map-Reduce)的数据处理,可以使用根据本发明的系统以及方法来执行。下面包括了对使用Hadoop框架的数据处理的一般描述,后面跟着对图7的具体描述。
最初,客户机,例如,计算设备112a,通过网关服务器110,可以向Hadoop JobTracker队列提交映射-缩小处理作业。然后,可以计算HDFS数据的输入拆分。换言之,数据可以拆分成对应于拆分的块(“输入拆分”)。RKM服务器111可以被配置成对数据块进行加密,网关服务器110可以被配置成向例如云服务102上传经加密的块,在那里,它们可以被存储在共享存储器中。网关服务器还可以向云服务102上传密钥服务器模块705、映射器模块722a以及缩小器模块722b。
作业跟踪器被配置成协调数据处理作业。作业跟踪器被配置成将处理作业放置到内部队列中。作业调度器被配置成检索处理作业,并初始化它。然后,作业调度器可以从共享存储器中检索经加密的数据块,并为每一个拆分(块)创建一个映射。然后,任务跟踪器可以调度作业被拆分成的任务。作业调度器尝试在数据块驻留的相同节点上运行任务。换言之,作业调度器尝试使用存储数据拆分的云存储设备本地的云服务器来运行任务。
在数据拆分节点上,例如,云服务器120a,任务跟踪器创建运行映射或缩小任务的任务运行器的实例。任务运行器在受信任执行环境中启动任务。在第一次启动时,映射或缩小任务证实密钥服务器,检索用于数据拆分,用于写入中间结果以及用于对其节点或HDFS审核的密码密钥。映射或缩小应用从HDFS读取与拆分相关联的经加密的数据。然后,受信任的执行环境中的映射或缩小任务利用从密钥服务器模块检索到的块密钥,来解密数据,对明码(即,经解密的)数据执行数据处理应用。然后,映射或缩小任务对中间结果进行加密,并将经加密的中间结果写入到本地云存储设备,例如,硬盘驱动器。
然后,远程结果读取器可以使用Hadoop客户机应用,从HDFS中读取经加密的结果。然后,结果读取器可以证实密钥服务器模块,并检索用于解密和/或审核数据的密钥。
参考图7,示出了映射-缩小处理的映射阶段704和缩小阶段706。密钥服务器模块705、映射器722a、缩小器722b和编解码器与io格式化器724a,724b可以由例如RKM服务器111签名,并由网关服务器110上传到云服务器120a,如此处所描述的。然后,受信任的执行模块TEE 702可以包括密钥服务器模块705。密钥服务器模块705被配置成管理映射器722a和缩小器722b的密码密钥,如此处所描述的。TEE 702可以被配置成在启动密钥服务器模块705之前验证密钥服务器模块705,如此处所描述的。任务跟踪器720a、720b可以被配置成启动TEE 710a、710b并开始它们的相应的任务。例如,TEE 710a可以被配置成验证映射器722a,编解码器与io格式化器724a,TEE 710b可以被配置成验证缩小器722b,编解码器与io格式化器724b,如此处所描述的。映射器722a,编解码器与io格式化器724a,缩小器722b和/或编解码器&io格式化器724b可以被配置成证实密钥服务器模块705,如此处所描述的。然后,密钥服务器模块705可以被配置成在密钥服务器模块705和映射器722a和缩小器722b之间建立安全通信信道。
然后,映射器722a和缩小器722b可以被配置成使用这些安全信道从密钥服务器模块705检索密码密钥,如此处所描述的。数据节点守护进程(daemon)726a被配置成从经加密的HDFS文件块730读取经加密的数据,并将经加密的块提供到TEE 710a和映射器722a,其中可以使用来自密钥服务器模块705的密钥来解密这些块,处理它们,还使用来自密钥服务器模块705的密钥,对中间结果进行加密。然后,可以将经加密的中间结果写入到本地文件系统732。然后,可以由搅乱进程734进一步处理经加密的中间结果,搅乱进程734被配置成处理经加密的数据。然后,可以将搅乱的经加密的数据提供到缩小阶段706,具体而言,TEE 710b和缩小器722b,其中可以使用来自密钥服务器模块705的密钥来解密那些块,处理它们,还使用来自密钥服务器模块705的密钥,对结果进行加密。然后,可以由数据节点守护进程726b将经加密的结果写入到HDSF 736。
如此,使用Hadoop示例来说明,对通过非安全和/或不受信任的的信道移动的数据进行加密。可以对密钥服务器模块和数据处理模块(例如,映射器和缩小器)进行签名,上传,并可以在受信任的执行环境中验证。可以从非安全存储器中检索数据,并在受信任的执行环境中对其进行解密并处理。然后,可以对结果进行加密,供存储,或返回到非安全存储器。客户机,例如,RKM服务器111,可以保持对密钥的控制,可以在密钥服务器模块被允许执行和/或给任何数据处理模块提供密码密钥之前给其提供证实。如此,通过加密,来保护客户机数据,因此,其更安全,不太容易受到云服务的其他用户和/或云服务本身的破坏。
尽管图4到6示出了根据一实施例的各种操作,但是,可以理解,并非图4至6中所描绘的所有操作都是其他实施例所必需的。实际上,此处完全设想,在本发明的其他实施例中,图2至6中所描绘的操作和/或此处所描述的其他操作可以以在附图中的任何一个中没有专门示出的,但是仍完全符合本发明的方式组合。如此,涉及未正好在一个附图中示出的特征和/或操作的权利要求被视为在本发明的范围和内容内。
此处所描述的任何操作都可在包括一个或多个存储介质的系统中实现,一个或多个存储介质上单独或组合地存储有指令,该指令在被一个或多个处理器执行时执行这些方法。这里,处理器可以包括,例如,服务器CPU和/或其他可编程电路。此外,此处所描述的操作还可以跨多个物理设备(诸如一个以上的不同的物理位置处的处理结构)分发。该存储介质可包括任何类型的有形介质,例如包括硬盘、软盘、光盘、紧致盘只读存储器(CD-ROM)、可重写紧致盘(CD-RW)以及磁光盘的任何类型的盘;诸如只读存储器(ROM)、诸如动态和静态RAM之类的随机存取存储器(RAM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、固体盘(SSD)之类的半导体器件;磁卡或光卡;或适合于存储电子指令的任何类型的介质。其他实施例可以实现为由可编程控制设备执行的软件模块。存储介质可以是非瞬时的。
使用各种通信协议,网关服务器110可以被配置成与网络106a以及106n,RKM服务器111,计算设备112a,..,112n,客户机数据存储器113,客户机系统104b,...,104m和/或云服务102进行通信,云服务器120a,...,120m可以被配置成与网络106b以及106c,云存储设备122a,...,122n和/或服务器存储系统108b,...,108n进行通信。通信协议可以包括,但不仅限于,无线通信协议,诸如Wi-Fi、3G、4G和/或其他通信协议。Wi-Fi协议可以符合由电气电子工程师学会(IEEE)于2007年3月8日发布的标题为“IEEE 802.11-2007Standard,IEEE Standard for InformationTechnology-Telecommunications and Information Exchange BetweenSystems-Local and Metropolitan Area Networks-Specific Requirements-Part11:Wireless LAN Medium Access Control(MAC)and Physical Layer(PHY)Specifications”的802.11标准,和/或此标准的更高版本,或与它们兼容。
3G协议可以符合由国际电信联盟(ITU)于2000年发布的标题为“IMT-2000”的国际移动电信(IMT)标准,和/或此标准的更高版本或与它们兼容。4G协议可以符合由ITU于2008发布的标题为“IMT-Advanced”的IMT标准,和/或此标准的更高版本,或与它们兼容。
例如,网络106a,...,106n可以包括分组交换网络。使用选择的分组交换网络通信协议,网关服务器110可以被配置成与网络106a以及106n,RKM服务器111,计算设备112a,..,112n,客户机数据存储器113,客户机系统104b,...,104m和/或云服务102进行通信,云服务器120a,...,120m可以被配置成与网络106b以及106c,云存储设备122a,...,122n和/或服务器存储系统108b,...,108n进行通信。一个示例性通信协议可以包括可以能够允许使用传输控制协议/网际协议(TCP/IP)进行通信的以太网通信协议。以太网协议可以符合由电气电子工程师学会(IEEE)于2002年3月发布的标题为“IEEE 802.3标准”和/或此标准的更高版本或与它们兼容。另选地或另外地,使用X.25通信协议,网关服务器110可以被配置成与网络106a以及106n,RKM服务器111,计算设备112a,..,112n,客户机数据存储器113,客户机系统104b,...,104m和/或云服务102进行通信,云服务器120a,...,120m可以被配置成与网络106b以及106c,云存储设备122a,...,122n和/或服务器存储系统108b,...,108n进行通信。X.25通信协议可以符合由国际电信联盟-电信标准化部门(ITU-T)发布的标准或与其兼容。另选地或另外地,使用帧中继通信协议,网关服务器110一个帧中继被配置成与网络106a以及106n,RKM服务器111,计算设备112a,..,112n,客户机数据存储器113,客户机系统104b,...,104m和/或云服务102进行通信,云服务器120a,...,120m一个帧中继被配置成与网络106b以及106c,云存储设备122a,...,122n和/或服务器存储系统108b,...,108n进行通信。帧中继通信协议可以符合由国际电报电话咨询委员会(CCITT)和/或美国国家标准协会(ANSI)发布的标准或与其兼容。另选地或另外地,使用异步传输模式(ATM)通信协议,网关服务器110可以被配置成与网络106a以及106n,RKM服务器111,计算设备112a,..,112n,客户机数据存储器113,客户机系统104b,...,104m和/或云服务102进行通信,云服务器120a,...,120m可以被配置成与网络106b以及106c,云存储设备122a,...,122n和/或服务器存储系统108b,...,108n进行通信。ATM通信协议可以符合由ATM论坛在20018月发布的标题为“ATM-MPLS网络交互1.0”的ATM标准,和/或此标准的更高版本或与它们兼容。当然,不同的和/或以后开发的面向连接的网络通信协议也是同样地设想的。
受信任的执行环境TEE 220,320,322a,...,322m,323a,...,323n,702,710a,710b被配置成提供受信任的执行以及存储环境。TEE 220,320,322a,...,322m,323a,...,323n,702,710a,710b可以符合或兼容于由JTC1(国际标准化组织(ISO)的联合委员会),以及IEC(国际电工委员会)在2007年7月作为ISO/IEC标准11889发布的标题为“可信计算组,可信平台模块规范版本1.2”的可信平台模块标准,和/或此标准的更高版本。
AES对称密钥协议可以符合或兼容于由国家标准协会(NIST)于2001年11月26日发布的高级加密标准和/或此标准的更高版本。
Apache Hadoop是由Apache Software Foundation维护的开源软件框架。它支持在商用硬件的集群上,例如,云服务102,运行应用。Hadoop实现名为MapReduce的计算范例,其中,应用被分成许多工作小段,例如,数据块,每一个数据块都可以在集群中的任何节点(例如,云服务器120a,...,120m)中执行或反复执行。另外,它还提供将数据存储在计算节点(例如,存储设备122a,...,122n)上的分布式文件系统(Hadoop分布式文件系统(HDFS))。如此处所描述的,Apache Hadoop可以符合或兼容于2011年12月27日发布的版本1.0.0,和/或此框架的更高版本。
如在此处的任何实施例中所使用的,术语“模块”可以是指被配置成执行如前所述的操作中的任何一个的应用、软件,固件和/或电路。软件可以实现为记录非瞬时的计算机可读存储介质上的软件程序包、代码、指令,指令集和/或数据。固件可以实现如被硬编码(例如,非易失性)在存储器设备中的代码、指令或指令集和/或数据。
如本文所描述的任何实施例中所使用,“电路”可单独或以任何组合包括例如存储可由可编程电路执行的指令的硬连线电路、可编程电路,诸如包括一个或多个单个指令处理核的计算机处理器。模块可以共同地或分别地被实现为构成较大的系统的一部分的电路,例如,集成电路(IC)、片上系统(SoC)、台式计算机、膝上型计算机、平板电脑、服务器、智能电话等等。
如此,根据本发明的系统和方法被配置成促进公共云中的安全数据处理。在往返于云传输之前以及当存储在云中的不安全的存储器中时,可以对客户机数据进行加密。可以在云服务器中所包括的受信任的执行环境中解密客户机数据,用于处理。密钥管理功能可以由客户机系统中所包括的根密钥管理服务器所提供的密钥服务器模块来提供。可以对密钥服务器模块进行数字签名,并由,例如,网关服务器,上传到云,供在受信任的执行环境中执行。可以在在受信任的执行环境中执行之前验证密钥服务器模块。RKM服务器可以在本地安全存储器中维护根密钥,如果密钥服务器模块被验证,可以通过安全信道,向密钥服务器模块提供密码密钥。然后,密钥服务器模块可以将密封了其身份的密码密钥存储在安全存储器中。可以类似地对数据处理模块进行数字签名,其被配置成在一个或多个受信任的执行环境中执行数据处理功能。数据处理模块可以被配置成在接收密码密钥之前证实密钥服务器模块。
根据一个方面,提供了一种系统。该系统可包括其中包括第一受信任的执行环境的云服务器,所述云服务器是被配置成为多个客户机执行数据处理操作的多个云服务器中的一个;耦合到所述云服务器的云存储设备;包括密钥服务器模块的根密钥管理(“RKM”)服务器,所述RKM服务器被配置成利用第一私钥对所述密钥服务器模块进行签名;以及,网关服务器,所述网关服务器被配置成将所述经签名的密钥服务器模块提供到所述云服务器,所述第一受信任的执行环境被配置成利用与所述第一私钥相关的第一公钥,来验证所述密钥服务器模块,且如果所述密钥服务器模块被验证,则启动所述密钥服务器模块,所述密钥服务器模块被配置成在所述网关服务器和所述密钥服务器模块之间建立第一安全通信信道,所述网关服务器被配置成通过所述第一安全通信信道,将第一密码密钥提供到所述密钥服务器模块。
另一示例系统包括前述的组件,所述云服务器包括第二受信任的执行环境,所述RKM服务器被配置成利用第二私钥来对数据处理模块进行签名,以及,所述网关服务器被配置成将所述经签名的数据处理模块和多块经加密的数据提供到所述云服务器,所述多块经加密的数据包括所述经加密的数据块,所述云服务器被配置成将所述多块经加密的数据存储在所述云存储设备中,以及,所述第二受信任的执行环境被配置成启动所述数据处理模块,并利用与所述第二私钥相关的第二公钥,来验证所述数据处理模块。
另一示例系统包括前述的组件,所述密钥服务器模块被配置成在所述数据处理模块和所述密钥服务器模块之间建立第二安全通信信道,且如果所述数据处理模块被验证,则通过所述第二安全通信信道,将所述第一密码密钥提供到所述数据处理模块。
另一示例系统包括前述的组件,所述数据处理模块被配置成:将所述经加密的数据块加载到所述第二受信任的执行环境中,利用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块,处理所述经解密的数据块,以产生结果,加密所述结果,以及将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供给所述网关服务器中的至少一项。
另一示例系统包括前述的组件,RKM服务器被配置成生成第一密码密钥。
另一示例系统包括前述的组件,第一公钥由RKM服务器认证。
另一示例系统包括前述的组件,所述第一受信任的执行环境和所述第二受信任的执行环境是相同的受信任的执行环境。
另一示例系统包括前述的组件,所述数据处理模块被配置成使用由所述密钥服务器模块所提供的第二密码密钥来对所述结果进行加密。
根据另一方面,提供了一种方法。该方法可包括将密钥服务器模块从根密钥管理(“RKM”)服务器提供给被配置成为多个客户机执行数据处理操作的多个云服务器中的云服务器,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块;如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块;在网关服务器和所述密钥服务器模块之间建立第一安全通信信道;以及,通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块,所述第一密码密钥被配置成解密经加密的数据块。
另一示例方法包括前述的操作,还包括将多块经加密的数据从网关服务器提供到云服务器,所述多块经加密的数据包括所述经加密的数据块;将所述多块经加密的数据存储在所述云存储设备中;将数据处理模块从所述网关服务器提供到所述云服务器,所述数据处理模块是使用第二私钥签名的;在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块;以及,使用与所述第二私钥相关的第二公钥,验证所述数据处理模块;
另一示例方法包括前述的操作,还包括,如果数据处理模块被验证,则在数据处理模块以及密钥服务器模块之间建立第二安全通信信道的;以及,通过所述第二安全通信信道,将所述第一密码密钥从所述密钥服务器模块提供到所述数据处理模块。
另一示例方法包括前述的操作,还包括将经加密的数据块加载到第二受信任的执行环境中;使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块;通过所述数据处理模块,处理所述经解密的数据块,以产生结果;对所述结果进行加密;以及,将所述经加密的结果存储在所述云存储设备中或将所述经加密的结果提供给所述网关服务器中的至少一项。
另一示例方法包括前述的操作,还包括通过RKM服务器来生成第一密码密钥。
另一示例方法包括前述的操作,第一公钥由RKM服务器认证。
另一示例方法包括前述的操作,所述第一受信任的执行环境和所述第二受信任的执行环境是相同的受信任的执行环境。
另一示例方法包括前述的操作,使用由密钥服务器模块提供给数据处理模块的第二密码密钥,对结果进行加密。
根据另一方面,提供了一种系统。该系统包括单独或组合地存储指令的一个或多个存储介质,所述指令在被一个或多个处理器执行时导致以下操作,所述操作包括:将密钥服务器模块从根密钥管理(“RKM”)服务器提供到被配置成为多个客户机执行数据处理操作的多个云服务器中的一个云服务器,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块;如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块;在网关服务器和所述密钥服务器模块之间建立第一安全通信信道;以及,通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块,所述第一密码密钥被配置成解密经加密的数据块。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,将多块经加密的数据从网关服务器提供到云服务器,所述多块经加密的数据包括所述经加密的数据块;将所述多块经加密的数据存储在所述云存储设备中;将数据处理模块从所述网关服务器提供到所述云服务器,所述数据处理模块是使用第二私钥签名的;在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块;以及,使用与所述第二私钥相关的第二公钥,验证所述数据处理模块;
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,如果数据处理模块被验证,则在数据处理模块以及密钥服务器模块之间建立第二安全通信信道的;以及,通过所述第二安全通信信道,将所述第一密码密钥从所述密钥服务器模块提供到所述数据处理模块。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,将经加密的数据块加载到第二受信任的执行环境中;使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块;通过所述数据处理模块,处理所述经解密的数据块,以产生结果;对所述结果进行加密;以及,将所述经加密的结果存储在所述云存储设备中或将所述经加密的结果提供给所述网关服务器中的至少一项。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,由所述RKM服务器生成第一密码密钥。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,由所述RKM服务器认证所述第一公钥。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,所述第一受信任的执行环境和所述第二受信任的执行环境是相同的受信任的执行环境。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,使用由密钥服务器模块提供给数据处理模块的第二密码密钥,对结果进行加密。
根据一个方面,提供了一种系统。该系统可包括其中包括第一受信任的执行环境的云服务器,所述云服务器是被配置成为多个客户机执行数据处理操作的多个云服务器中的一个;耦合到所述云服务器的云存储设备;包括密钥服务器模块的根密钥管理(“RKM”)服务器,所述RKM服务器被配置成利用第一私钥对所述密钥服务器模块进行签名;以及,网关服务器,所述网关服务器被配置成将所述经签名的密钥服务器模块提供到所述云服务器,所述第一受信任的执行环境被配置成利用与所述第一私钥相关的第一公钥,来验证所述密钥服务器模块,如果所述密钥服务器模块被验证,则启动所述密钥服务器模块,所述密钥服务器模块被配置成在所述网关服务器和所述密钥服务器模块之间建立第一安全通信信道,所述网关服务器被配置成通过所述第一安全通信信道,将第一密码密钥提供给所述密钥服务器模块。
另一示例系统包括前述的组件,所述云服务器包括第二受信任的执行环境,所述RKM服务器被配置成利用第二私钥来对数据处理模块进行签名,以及,所述网关服务器被配置成将所述经签名的数据处理模块和多块经加密的数据提供到所述云服务器,所述多块经加密的数据包括所述经加密的数据块,所述云服务器被配置成将所述多块经加密的数据存储在所述云存储设备中,以及,所述第二受信任的执行环境被配置成启动所述数据处理模块,并利用与所述第二私钥相关的第二公钥,来验证所述数据处理模块。
另一示例系统包括前述的组件,所述密钥服务器模块被配置成在所述数据处理模块和所述密钥服务器模块之间建立第二安全通信信道,如果所述数据处理模块被验证,则通过所述第二安全通信信道,将所述第一密码密钥提供到所述数据处理模块。
另一示例系统包括前述的组件,所述数据处理模块被配置成:将所述经加密的数据块加载到所述第二受信任的执行环境中,使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块,处理所述经解密的数据块,以产生结果,对所述结果进行加密,以及,将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供到所述网关服务器中的至少一项。
另一示例系统包括前述的组件,RKM服务器被配置成生成第一密码密钥。
另一示例系统包括前述的组件,第一公钥由RKM服务器认证。
另一示例系统包括前述的组件,所述数据处理模块被配置成使用由所述密钥服务器模块所提供的第二密码密钥来对所述结果进行加密。
根据另一方面,提供了方法。该方法可包括将密钥服务器模块从根密钥管理(“RKM”)服务器提供给被配置成为多个客户机执行数据处理操作的多个云服务器中的云服务器,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块;如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块;在网关服务器和所述密钥服务器模块之间建立第一安全通信信道;以及,通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块,所述第一密码密钥被配置成解密经加密的数据块。
另一示例方法包括前述的操作,还包括将多块经加密的数据从网关服务器提供到云服务器,所述多块经加密的数据包括所述经加密的数据块;将所述多块经加密的数据存储在所述云存储设备中;将数据处理模块从所述网关服务器提供到所述云服务器,所述数据处理模块是使用第二私钥签名的;在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块;以及,使用与所述第二私钥相关的第二公钥,验证所述数据处理模块;
另一示例方法包括前述的操作,还包括,如果数据处理模块被验证,则在数据处理模块以及密钥服务器模块之间建立第二安全通信信道的;以及,通过所述第二安全通信信道,将所述第一密码密钥从所述密钥服务器模块提供到所述数据处理模块。
另一示例方法包括前述的操作,还包括将经加密的数据块加载到第二受信任的执行环境中;使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块;通过所述数据处理模块,处理所述经解密的数据块,以产生结果;对所述结果进行加密;以及,将所述经加密的结果存储在所述云存储设备中或将所述经加密的结果提供给所述网关服务器中的至少一项。
另一示例方法包括前述的操作,还包括通过RKM服务器来生成第一密码密钥。
另一示例方法包括前述的操作,第一公钥由RKM服务器认证。
另一示例方法包括前述的操作,所述第一受信任的执行环境和所述第二受信任的执行环境是相同的受信任的执行环境。
另一示例方法包括前述的操作,使用由密钥服务器模块提供给数据处理模块的第二密码密钥,对结果进行加密。
根据一个方面,提供了一种系统。该系统可包括其中包括第一受信任的执行环境的云服务器,所述云服务器是被配置成为多个客户机执行数据处理操作的多个云服务器中的一个;耦合到所述云服务器的云存储设备;包括密钥服务器模块的根密钥管理(“RKM”)服务器,所述RKM服务器被配置成利用第一私钥对所述密钥服务器模块进行签名;以及,网关服务器,所述网关服务器被配置成将所述经签名的密钥服务器模块提供到所述云服务器,所述第一受信任的执行环境被配置成利用与所述第一私钥相关的第一公钥,来验证所述密钥服务器模块,如果所述密钥服务器模块被验证,则启动所述密钥服务器模块,所述密钥服务器模块被配置成在所述网关服务器和所述密钥服务器模块之间建立第一安全通信信道,所述网关服务器被配置成通过所述第一安全通信信道,将第一密码密钥提供到所述密钥服务器模块。
另一示例系统包括前述的组件,所述云服务器包括第二受信任的执行环境,所述RKM服务器被配置成利用第二私钥来对数据处理模块进行签名,以及,所述网关服务器被配置成将所述经签名的数据处理模块和多块经加密的数据提供到所述云服务器,所述多块经加密的数据包括所述经加密的数据块,所述云服务器被配置成将所述多块经加密的数据存储在所述云存储设备中,以及,所述第二受信任的执行环境被配置成启动所述数据处理模块,并利用与所述第二私钥相关的第二公钥,来验证所述数据处理模块。
另一示例系统包括前述的组件,所述密钥服务器模块被配置成在所述数据处理模块和所述密钥服务器模块之间建立第二安全通信信道,如果所述数据处理模块被验证,则通过所述第二安全通信信道,将所述第一密码密钥提供给所述数据处理模块。
另一示例系统包括前述的组件,所述数据处理模块被配置成:将所述经加密的数据块加载到所述第二受信任的执行环境中,使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块,处理所述经解密的数据块,以产生结果,对所述结果进行加密,以及,将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供到所述网关服务器中的至少一项。
另一示例系统包括前述的组件,RKM服务器被配置成生成第一密码密钥。
另一示例系统包括前述的组件,第一公钥由RKM服务器认证。
根据另一方面,提供了一种方法。该方法可包括将密钥服务器模块从根密钥管理(“RKM”)服务器提供到被配置成对于多个客户机执行数据处理操作的多个云服务器中的一个云服务器,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块;如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块;在网关服务器和所述密钥服务器模块之间建立第一安全通信信道;以及,通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块,所述第一密码密钥被配置成解密经加密的数据块。
另一示例方法包括前述的操作,还包括将多块经加密的数据从网关服务器提供到云服务器,所述多块经加密的数据包括所述经加密的数据块;将所述多块经加密的数据存储在所述云存储设备中;将数据处理模块从所述网关服务器提供到所述云服务器,所述数据处理模块是使用第二私钥签名的;在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块;以及,使用与所述第二私钥相关的第二公钥,验证所述数据处理模块;
另一示例方法包括前述的操作,还包括,如果数据处理模块被验证,则在数据处理模块以及密钥服务器模块之间建立第二安全通信信道的;以及,通过所述第二安全通信信道,将所述第一密码密钥从所述密钥服务器模块提供到所述数据处理模块。
另一示例方法包括前述的操作,还包括将经加密的数据块加载到第二受信任的执行环境中;使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块;通过所述数据处理模块,处理所述经解密的数据块,以产生结果;对所述结果进行加密;以及,将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供到所述网关服务器中的至少一项。
另一示例方法包括前述的操作,还包括通过RKM服务器来生成第一密码密钥。
另一示例方法包括前述的操作,第一公钥由RKM服务器认证。
另一示例方法包括前述的操作,使用由密钥服务器模块提供给数据处理模块的第二密码密钥,对结果进行加密。
根据另一方面,提供了一种系统。该系统包括单独或组合地存储指令的一个或多个存储介质,所述指令在被一个或多个处理器执行时导致以下操作,所述操作包括:将密钥服务器模块从根密钥管理(“RKM”)服务器提供到被配置成对于多个客户机执行数据处理操作的多个云服务器中的一个云服务器,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块;如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块;在网关服务器和所述密钥服务器模块之间建立第一安全通信信道;以及,通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块,所述第一密码密钥被配置成解密经加密的数据块。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,将多块经加密的数据从网关服务器提供到云服务器,所述多块经加密的数据包括所述经加密的数据块;将所述多块经加密的数据存储在所述云存储设备中;将数据处理模块从所述网关服务器提供到所述云服务器,所述数据处理模块是使用第二私钥签名的;在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块;以及,使用与所述第二私钥相关的第二公钥,验证所述数据处理模块;
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,如果数据处理模块被验证,则在数据处理模块以及密钥服务器模块之间建立第二安全通信信道的;以及,通过所述第二安全通信信道,将所述第一密码密钥从所述密钥服务器模块提供到所述数据处理模块。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,将经加密的数据块加载到第二受信任的执行环境中;使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块;通过所述数据处理模块,处理所述经解密的数据块,以产生结果;对所述结果进行加密;以及,将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供到所述网关服务器中的至少一项。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,由所述RKM服务器生成第一密码密钥。
另一示例系统还包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,由所述RKM服务器认证所述第一公钥。
另一示例系统包括指令,所述指令,当由一个或多个处理器执行时,导致前述的操作,还包括,使用由密钥服务器模块提供给数据处理模块的第二密码密钥,对结果进行加密。
根据一个方面,提供了一种系统。该系统可包括其中包括第一受信任的执行环境的云服务器,所述云服务器是被配置成对于多个客户机执行数据处理操作的多个云服务器中的一个;耦合到所述云服务器的云存储设备;包括密钥服务器模块的根密钥管理(“RKM”)服务器,所述RKM服务器被配置成利用第一私钥对所述密钥服务器模块进行签名;以及,网关服务器,所述网关服务器被配置成将所述经签名的密钥服务器模块提供到所述云服务器,所述第一受信任的执行环境被配置成利用与所述第一私钥相关的第一公钥,来验证所述密钥服务器模块,如果所述密钥服务器模块被验证,则启动所述密钥服务器模块,所述密钥服务器模块被配置成在所述网关服务器和所述密钥服务器模块之间建立第一安全通信信道,所述网关服务器被配置成通过所述第一安全通信信道,将第一密码密钥提供到所述密钥服务器模块。
另一示例系统包括前述的组件,所述云服务器包括第二受信任的执行环境,所述RKM服务器被配置成利用第二私钥来对数据处理模块进行签名,以及,所述网关服务器被配置成将所述经签名的数据处理模块和多块经加密的数据提供到所述云服务器,所述多块经加密的数据包括所述经加密的数据块,所述云服务器被配置成将所述多块经加密的数据存储在所述云存储设备中,以及,所述第二受信任的执行环境被配置成启动所述数据处理模块,并利用与所述第二私钥相关的第二公钥,来验证所述数据处理模块。
另一示例系统包括前述的组件,所述密钥服务器模块被配置成在所述数据处理模块和所述密钥服务器模块之间建立第二安全通信信道,如果所述数据处理模块被验证,则通过所述第二安全通信信道,将所述第一密码密钥提供到所述数据处理模块。
另一示例系统包括前述的组件,所述数据处理模块被配置成:将所述经加密的数据块加载到所述第二受信任的执行环境中,使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块,处理所述经解密的数据块,以产生结果,对所述结果进行加密,以及,将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供到所述网关服务器中的至少一项。
另一示例系统包括前述的组件,RKM服务器被配置成生成第一密码密钥。
另一示例系统包括前述的组件,第一公钥由RKM服务器认证。
根据另一方面,提供了一种方法。该方法可包括将密钥服务器模块从根密钥管理(“RKM”)服务器提供到被配置成对于多个客户机执行数据处理操作的多个云服务器中的一个云服务器,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块;如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块;在网关服务器和所述密钥服务器模块之间建立第一安全通信信道;以及,通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块,所述第一密码密钥被配置成解密经加密的数据块。
另一示例方法包括前述的操作,还包括将多块经加密的数据从网关服务器提供到云服务器,所述多块经加密的数据包括所述经加密的数据块;将所述多块经加密的数据存储在所述云存储设备中;将数据处理模块从所述网关服务器提供到所述云服务器,所述数据处理模块是使用第二私钥签名的;在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块;以及,使用与所述第二私钥相关的第二公钥,验证所述数据处理模块;
另一示例方法包括前述的操作,还包括,如果数据处理模块被验证,则在数据处理模块以及密钥服务器模块之间建立第二安全通信信道的;以及,通过所述第二安全通信信道,将所述第一密码密钥从所述密钥服务器模块提供到所述数据处理模块。
另一示例方法包括前述的操作,还包括将经加密的数据块加载到第二受信任的执行环境中;使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块;通过所述数据处理模块,处理所述经解密的数据块,以产生结果;对所述结果进行加密;以及,将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供到所述网关服务器中的至少一项。
另一示例方法包括前述的操作,还包括通过RKM服务器来生成第一密码密钥。
另一示例方法包括前述的操作,第一公钥由RKM服务器认证。
另一示例方法包括前述的操作,使用由密钥服务器模块提供给数据处理模块的第二密码密钥,对结果进行加密。
根据一个方面,提供了一种系统。该系统可包括用于将密钥服务器模块从根密钥管理(“RKM”)服务器提供到被配置成对于多个客户机执行数据处理操作的多个云服务器中的一个云服务器的装置,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;用于使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块的装置;用于如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块的装置;用于在网关服务器和所述密钥服务器模块之间建立第一安全通信信道的装置;以及,用于通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块的装置,所述第一密码密钥被配置成解密经加密的数据块。
另一示例系统包括前述的组件,还包括用于将多块经加密的数据从网关服务器提供到云服务器的装置,所述多块经加密的数据包括所述经加密的数据块;用于将所述多块经加密的数据存储在所述云存储设备中的装置;用于将数据处理模块从所述网关服务器提供到所述云服务器的装置,所述数据处理模块是使用第二私钥签名的;用于在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块的装置;以及,用于使用与所述第二私钥相关的第二公钥,验证所述数据处理模块的装置;
另一示例系统包括前述的组件,还包括用于如果数据处理模块被验证,则在数据处理模块以及密钥服务器模块之间建立第二安全通信信道的装置;以及,用于从密钥服务器提供第一密码密钥的装置。
另一示例系统包括前述的组件,还包括用于将经加密的数据块加载到第二受信任的执行环境中的装置;用于使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块的装置;用于通过所述数据处理模块,处理所述经解密的数据块,以产生结果的装置;用于对所述结果进行加密的装置;以及,用于将所述经加密的结果存储在所述云存储设备中,或将所述经加密的结果提供到所述网关服务器中的至少一项的装置。
另一示例系统包括前述的组件,还包括用于通过RKM服务器来生成第一密码密钥的装置。
另一示例系统包括前述的组件,第一公钥由RKM服务器认证。
另一示例系统包括前述的组件,使用由密钥服务器模块提供给数据处理模块的第二密码密钥,对结果进行加密。
此处所使用的术语和表达被用作描述的术语,在使用这样的术语和表达时,没有排除所示出的和所描述的特征的任何等效内容(或其某些部分),应该认识到,在权利要求书的范围内,各种修改都是可以的。相应地,权利要求书旨在涵盖所有这样的等效内容。
Claims (17)
1.一种系统,包括:
包括第一受信任的执行环境的云服务器,所述云服务器是被配置成为多个客户机执行数据处理操作的多个云服务器中的一个;
耦合到所述云服务器的云存储设备;
包括密钥服务器模块的根密钥管理(“RKM”)服务器,所述RKM服务器被配置成利用第一私钥对所述密钥服务器模块进行签名;以及
网关服务器,所述网关服务器被配置成将所述经签名的密钥服务器模块提供到所述云服务器,
所述第一受信任的执行环境被配置成利用与所述第一私钥相关的第一公钥,来验证所述密钥服务器模块,且如果所述密钥服务器模块被验证,则启动所述密钥服务器模块,所述密钥服务器模块被配置成在所述网关服务器和所述密钥服务器模块之间建立第一安全通信信道,所述网关服务器被配置成通过所述第一安全通信信道,将第一密码密钥提供到所述密钥服务器模块。
2.如权利要求1所述的系统,其特征在于
所述云服务器包括第二受信任的执行环境,
所述RKM服务器被配置成利用第二私钥来对数据处理模块进行签名,以及
所述网关服务器被配置成将所述经签名的数据处理模块和多块经加密的数据提供到所述云服务器,所述多块经加密的数据包括所述经加密的数据块,
所述云服务器被配置成将所述多块经加密的数据存储在所述云存储设备中,以及
所述第二受信任的执行环境被配置成启动所述数据处理模块,并利用与所述第二私钥相关的第二公钥,来验证所述数据处理模块。
3.如权利要求2所述的系统,其特征在于,所述密钥服务器模块被配置成在所述数据处理模块和所述密钥服务器模块之间建立第二安全通信信道,且如果所述数据处理模块被验证,则通过所述第二安全通信信道,将所述第一密码密钥提供到所述数据处理模块。
4.如权利要求3所述的系统,其特征在于,所述数据处理模块被配置成:
将所述经加密的数据块加载到所述第二受信任的执行环境中,
利用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块,处理所述经解密的数据块以产生结果,加密所述结果,以及将所述经加密的结果存储在所述云存储设备中或将所述经加密的结果提供给所述网关服务器中的至少一项。
5.根据权利要求1到4中的任何一个所述的系统,其特征在于,所述RKM服务器被配置成生成所述第一密码密钥。
6.根据权利要求1到4中的任何一个所述的系统,其特征在于,所述第一公钥由所述RKM服务器来认证。
7.根据权利要求2到4中的任何一个所述的系统,其特征在于,所述第一受信任的执行环境和所述第二受信任的执行环境是相同的受信任的执行环境。
8.如权利要求4所述的系统,其特征在于,所述数据处理模块被配置成利用由所述密钥服务器模块所提供的第二密码密钥,来加密所述结果。
9.一种方法,包括:
将密钥服务器模块从根密钥管理(“RKM”)服务器提供给被配置成为多个客户机执行数据处理操作的多个云服务器中的云服务器,所述云服务器耦合到云存储设备,所述密钥服务器模块是使用第一私钥签名的;
使用与所述第一私钥相关的第一公钥,验证所述密钥服务器模块;
如果所述密钥服务器模块被验证,则在所述云服务器中的第一受信任的执行环境中启动所述密钥服务器模块;
在网关服务器和所述密钥服务器模块之间建立第一安全通信信道;以及
通过所述第一安全通信信道,将第一密码密钥从所述网关服务器提供到所述密钥服务器模块,所述第一密码密钥被配置成解密经加密的数据块。
10.如权利要求9所述的方法,其特征在于,进一步包括:
将多块经加密的数据从所述网关服务器提供到所述云服务器,所述多块经加密的数据包括所述经加密的数据块;
将所述多块经加密的数据存储在所述云存储设备中;
将数据处理模块从所述网关服务器提供到所述云服务器,所述数据处理模块是使用第二私钥签名的;
在所述云服务器中的第二受信任的执行环境中启动所述数据处理模块;以及
使用与所述第二私钥相关的第二公钥,验证所述数据处理模块。
11.如权利要求10所述的方法,其特征在于,进一步包括:
如果所述数据处理模块被验证,则在所述数据处理模块和所述密钥服务器模块之间建立第二安全通信信道;以及
通过所述第二安全通信信道,将所述第一密码密钥从所述密钥服务器模块提供到所述数据处理模块。
12.如权利要求11所述的方法,其特征在于,进一步包括:
将所述经加密的数据块加载到所述第二受信任的执行环境中;
使用所述第一密码密钥,解密所述经加密的数据块,以产生对应的经解密的数据块;
通过所述数据处理模块,处理所述经解密的数据块,以产生结果;
加密所述结果;以及
将所述经加密的结果存储在所述云存储设备中或将所述经加密的结果提供给所述网关服务器中的至少一项。
13.如权利要求9所述的方法,其特征在于,进一步包括:
由所述RKM服务器,生成所述第一密码密钥。
14.根据权利要求9所述的方法,其特征在于,所述第一公钥由所述RKM服务器来认证。
15.根据权利要求10所述的方法,其特征在于,所述第一受信任的执行环境和所述第二受信任的执行环境是相同的受信任的执行环境。
16.如权利要求12所述的方法,其特征在于,利用由所述密钥服务器模块向所述数据处理模块所提供的第二密码密钥,来加密所述结果。
17.一种系统,包括单独或组合地存储指令的一个或多个存储介质,所述指令在被一个或多个处理器执行时导致以下操作,所述操作包括:
根据权利要求9到16中的任何一个所述的操作。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/031144 WO2014142858A1 (en) | 2013-03-14 | 2013-03-14 | Trusted data processing in the public cloud |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105027494A true CN105027494A (zh) | 2015-11-04 |
CN105027494B CN105027494B (zh) | 2018-03-23 |
Family
ID=51534057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380073102.XA Active CN105027494B (zh) | 2013-03-14 | 2013-03-14 | 公共云中的受信任的数据处理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9118639B2 (zh) |
EP (1) | EP2974120B1 (zh) |
KR (1) | KR101687275B1 (zh) |
CN (1) | CN105027494B (zh) |
WO (1) | WO2014142858A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975870A (zh) * | 2016-05-19 | 2016-09-28 | 上海点荣金融信息服务有限责任公司 | 数据脱敏方法和系统 |
CN108268303A (zh) * | 2017-01-03 | 2018-07-10 | 北京润信恒达科技有限公司 | 一种操作请求方法、装置及系统 |
CN108449178A (zh) * | 2018-03-26 | 2018-08-24 | 北京豆荚科技有限公司 | 一种安全可信执行环境中根密钥的生成方法 |
CN110249336A (zh) * | 2017-01-26 | 2019-09-17 | 微软技术许可有限责任公司 | 使用签名密钥对可信执行环境的寻址 |
CN111917696A (zh) * | 2019-05-08 | 2020-11-10 | 百度(美国)有限责任公司 | 使用不可旁路的网关的基于tpm的安全多方计算系统 |
CN112438034A (zh) * | 2018-07-17 | 2021-03-02 | 华为技术有限公司 | 基于可信执行环境的可校验加密 |
WO2023236952A1 (zh) * | 2022-06-07 | 2023-12-14 | 华为云计算技术有限公司 | 一种云数据处理系统、方法及相关设备 |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9560019B2 (en) * | 2013-04-10 | 2017-01-31 | International Business Machines Corporation | Method and system for managing security in a computing environment |
EP3036680B1 (en) * | 2013-08-21 | 2018-07-18 | Intel Corporation | Processing data privately in the cloud |
EP2851833B1 (en) | 2013-09-20 | 2017-07-12 | Open Text S.A. | Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations |
US10824756B2 (en) | 2013-09-20 | 2020-11-03 | Open Text Sa Ulc | Hosted application gateway architecture with multi-level security policy and rule promulgations |
US10171501B2 (en) | 2013-09-20 | 2019-01-01 | Open Text Sa Ulc | System and method for remote wipe |
US9071581B2 (en) * | 2013-09-23 | 2015-06-30 | Nvidia Corporation | Secure storage with SCSI storage devices |
US12093426B2 (en) * | 2013-11-01 | 2024-09-17 | Anonos Ip Llc | Systems and methods for functionally separating heterogeneous data for analytics, artificial intelligence, and machine learning in global data ecosystems |
US20150201015A1 (en) * | 2014-01-13 | 2015-07-16 | Bigtera Limited | Storage system and operation method thereof |
US9792427B2 (en) * | 2014-02-07 | 2017-10-17 | Microsoft Technology Licensing, Llc | Trusted execution within a distributed computing system |
US10050787B1 (en) * | 2014-03-25 | 2018-08-14 | Amazon Technologies, Inc. | Authentication objects with attestation |
US10049202B1 (en) | 2014-03-25 | 2018-08-14 | Amazon Technologies, Inc. | Strong authentication using authentication objects |
US9652604B1 (en) | 2014-03-25 | 2017-05-16 | Amazon Technologies, Inc. | Authentication objects with delegation |
WO2015144764A1 (de) * | 2014-03-26 | 2015-10-01 | Continental Teves Ag & Co. Ohg | Verfahren und system zur verbesserung der datensicherheit bei einem kommunikationsvorgang |
US20150278539A1 (en) * | 2014-03-30 | 2015-10-01 | Lucas G. Scarasso | Location-based data security system |
TW201546649A (zh) * | 2014-06-05 | 2015-12-16 | Cavium Inc | 用於基於硬體安全模組的基於雲端的web服務安全管理的系統和方法 |
US9264419B1 (en) | 2014-06-26 | 2016-02-16 | Amazon Technologies, Inc. | Two factor authentication with authentication objects |
US20160036826A1 (en) * | 2014-07-29 | 2016-02-04 | Mcafee, Inc. | Secure content packaging using multiple trusted execution environments |
US9973475B2 (en) | 2014-10-22 | 2018-05-15 | Protegrity Corporation | Data computation in a multi-domain cloud environment |
DE102015000656A1 (de) * | 2015-01-20 | 2016-07-21 | Giesecke & Devrient Gmbh | Laufzeitumgebung für mobiles Endgerät, die ein Bereitstellen eines Sicherheits-Dienstes ermöglicht |
US10027637B2 (en) * | 2015-03-12 | 2018-07-17 | Vormetric, Inc. | Secure and control data migrating between enterprise and cloud services |
CA2980002A1 (en) * | 2015-03-20 | 2016-09-29 | Rivetz Corp. | Automated attestation of device integrity using the block chain |
CN107646189B (zh) * | 2015-04-10 | 2021-03-26 | Pcms控股公司 | 用于云计算过程的委托的系统和方法 |
US9665373B2 (en) | 2015-06-26 | 2017-05-30 | Intel Corporation | Protecting confidential data with transactional processing in execute-only memory |
US10068097B2 (en) * | 2015-08-12 | 2018-09-04 | Microsoft Technology Licensing, Llc | Data center privacy |
US10701039B2 (en) | 2015-09-25 | 2020-06-30 | Intel Corporation | Mutual approval for privacy-preserving computing |
US10015150B2 (en) | 2015-10-15 | 2018-07-03 | Pkware, Inc. | Systems and methods for Smartkey information management |
US11593075B2 (en) | 2015-11-03 | 2023-02-28 | Open Text Sa Ulc | Streamlined fast and efficient application building and customization systems and methods |
US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
US10861019B2 (en) * | 2016-03-18 | 2020-12-08 | Visa International Service Association | Location verification during dynamic data transactions |
US10902141B2 (en) | 2016-03-22 | 2021-01-26 | Koninklijke Philips N.V. | Method, software program product, device, and system for managing data flow from a cloud storage device |
US20180097809A1 (en) * | 2016-09-30 | 2018-04-05 | Intel Corporation | Securing access to cloud components |
US11075887B2 (en) * | 2016-10-24 | 2021-07-27 | Arm Ip Limited | Federating data inside of a trusted execution environment |
US10439803B2 (en) | 2016-11-14 | 2019-10-08 | Microsoft Technology Licensing, Llc | Secure key management |
IE20170239A1 (en) | 2016-11-14 | 2018-05-16 | Google Llc | System of Enclaves |
US10540652B2 (en) * | 2016-11-18 | 2020-01-21 | Intel Corporation | Technology for secure partitioning and updating of a distributed digital ledger |
KR20180071679A (ko) * | 2016-12-20 | 2018-06-28 | 삼성전자주식회사 | 사용자 단말 장치 및 그의 제어 방법 |
US10897360B2 (en) | 2017-01-26 | 2021-01-19 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment using clean room provisioning |
US10972265B2 (en) | 2017-01-26 | 2021-04-06 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment |
US10897459B2 (en) | 2017-01-26 | 2021-01-19 | Microsoft Technology Licensing, Llc | Addressing a trusted execution environment using encryption key |
US20180254898A1 (en) * | 2017-03-06 | 2018-09-06 | Rivetz Corp. | Device enrollment protocol |
US10956792B2 (en) * | 2017-08-09 | 2021-03-23 | Intel Corporation | Methods and apparatus to analyze time series data |
KR101994146B1 (ko) * | 2017-09-08 | 2019-06-28 | 충남대학교산학협력단 | 클라우드 컴퓨팅에서 사물인터넷 데이터의 보안을 위한 키 관리 방법 |
US20200092263A1 (en) * | 2018-09-14 | 2020-03-19 | Microsoft Technology Licensing, Llc | Secure device-bound edge workload receipt |
US11106441B2 (en) | 2018-09-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Secure device-bound edge workload delivery |
US10901918B2 (en) * | 2018-11-29 | 2021-01-26 | International Business Machines Corporation | Constructing flexibly-secure systems in a disaggregated environment |
US11251942B2 (en) * | 2019-01-09 | 2022-02-15 | Alibaba Group Holding Limited | Secure communication channel between encryption/decryption component and trusted execution environment |
EP3628087B1 (en) | 2019-03-26 | 2021-09-08 | Advanced New Technologies Co., Ltd. | Field-programmable gate array based trusted execution environment for use in a blockchain network |
CN111095899B (zh) * | 2019-04-26 | 2021-12-24 | 创新先进技术有限公司 | 针对可信执行环境的分布式密钥管理 |
CN110661803A (zh) * | 2019-09-27 | 2020-01-07 | 湖北省水利水电规划勘测设计院 | 一种闸门加密控制系统及方法 |
CN113139175A (zh) | 2020-01-19 | 2021-07-20 | 阿里巴巴集团控股有限公司 | 处理单元、电子设备以及安全控制方法 |
US11205003B2 (en) * | 2020-03-27 | 2021-12-21 | Intel Corporation | Platform security mechanism |
US11936691B2 (en) * | 2020-06-05 | 2024-03-19 | Queen's University At Kingston | Secure cloud communication architecture |
US11537733B2 (en) | 2020-07-03 | 2022-12-27 | Huawei Technologies Co., Ltd. | Database access control service in networks |
WO2024045141A1 (en) * | 2022-09-01 | 2024-03-07 | Huawei Cloud Computing Technologies Co., Ltd. | Confidential and performant lambda/function system in cloud |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080083036A1 (en) * | 2006-09-29 | 2008-04-03 | Microsoft Corporation | Off-premise encryption of data storage |
US20090271620A1 (en) * | 2008-04-28 | 2009-10-29 | Gosukonda Naga Venkata Satya Sudhakar | Techniques for secure data management in a distributed environment |
US20100042824A1 (en) * | 2008-08-14 | 2010-02-18 | The Trustees Of Princeton University | Hardware trust anchors in sp-enabled processors |
US20100211781A1 (en) * | 2009-02-16 | 2010-08-19 | Microsoft Corporation | Trusted cloud computing and services framework |
US20110264906A1 (en) * | 2010-04-27 | 2011-10-27 | Telefonaktiebolaget L M Ericsson (Publ) | Method and nodes for providing secure access to cloud computing for mobile users |
US20110296201A1 (en) * | 2010-05-27 | 2011-12-01 | Pere Monclus | Method and apparatus for trusted execution in infrastructure as a service cloud environments |
US20120173885A1 (en) * | 2010-12-30 | 2012-07-05 | Microsoft Corporation | Key management using trusted platform modules |
CN102598577A (zh) * | 2009-10-23 | 2012-07-18 | 微软公司 | 使用云认证进行认证 |
US8245037B1 (en) * | 2009-02-17 | 2012-08-14 | Amazon Technologies, Inc. | Encryption key management |
US20120265976A1 (en) * | 2011-04-18 | 2012-10-18 | Bank Of America Corporation | Secure Network Cloud Architecture |
US20120297183A1 (en) * | 2011-05-16 | 2012-11-22 | Prakash Umasankar Mukkara | Techniques for non repudiation of storage in cloud or shared storage environments |
US20120328105A1 (en) * | 2001-09-20 | 2012-12-27 | CloudByte,Inc. | Techniques for achieving tenant data confidentiality from cloud service provider administrators |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8479008B2 (en) * | 2010-12-15 | 2013-07-02 | Microsoft Corporation | Providing security services on the cloud |
US8566578B1 (en) * | 2011-02-17 | 2013-10-22 | Symantec Corporation | Method and system for ensuring compliance in public clouds using fine-grained data ownership based encryption |
-
2013
- 2013-03-14 US US13/994,451 patent/US9118639B2/en active Active
- 2013-03-14 WO PCT/US2013/031144 patent/WO2014142858A1/en active Application Filing
- 2013-03-14 CN CN201380073102.XA patent/CN105027494B/zh active Active
- 2013-03-14 EP EP13877980.6A patent/EP2974120B1/en active Active
- 2013-03-14 KR KR1020157021607A patent/KR101687275B1/ko active IP Right Grant
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120328105A1 (en) * | 2001-09-20 | 2012-12-27 | CloudByte,Inc. | Techniques for achieving tenant data confidentiality from cloud service provider administrators |
US20080083036A1 (en) * | 2006-09-29 | 2008-04-03 | Microsoft Corporation | Off-premise encryption of data storage |
US20090271620A1 (en) * | 2008-04-28 | 2009-10-29 | Gosukonda Naga Venkata Satya Sudhakar | Techniques for secure data management in a distributed environment |
US20100042824A1 (en) * | 2008-08-14 | 2010-02-18 | The Trustees Of Princeton University | Hardware trust anchors in sp-enabled processors |
US20100211781A1 (en) * | 2009-02-16 | 2010-08-19 | Microsoft Corporation | Trusted cloud computing and services framework |
US8245037B1 (en) * | 2009-02-17 | 2012-08-14 | Amazon Technologies, Inc. | Encryption key management |
CN102598577A (zh) * | 2009-10-23 | 2012-07-18 | 微软公司 | 使用云认证进行认证 |
US20110264906A1 (en) * | 2010-04-27 | 2011-10-27 | Telefonaktiebolaget L M Ericsson (Publ) | Method and nodes for providing secure access to cloud computing for mobile users |
US20110296201A1 (en) * | 2010-05-27 | 2011-12-01 | Pere Monclus | Method and apparatus for trusted execution in infrastructure as a service cloud environments |
US20120173885A1 (en) * | 2010-12-30 | 2012-07-05 | Microsoft Corporation | Key management using trusted platform modules |
US20120265976A1 (en) * | 2011-04-18 | 2012-10-18 | Bank Of America Corporation | Secure Network Cloud Architecture |
US20120297183A1 (en) * | 2011-05-16 | 2012-11-22 | Prakash Umasankar Mukkara | Techniques for non repudiation of storage in cloud or shared storage environments |
Non-Patent Citations (1)
Title |
---|
李成明: "云计算中可信虚拟存储的研究", 《中国优秀硕士学位论文全文数据库信息科技辑(2012)》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975870A (zh) * | 2016-05-19 | 2016-09-28 | 上海点荣金融信息服务有限责任公司 | 数据脱敏方法和系统 |
CN105975870B (zh) * | 2016-05-19 | 2018-10-23 | 上海点融信息科技有限责任公司 | 数据脱敏方法和系统 |
CN108268303A (zh) * | 2017-01-03 | 2018-07-10 | 北京润信恒达科技有限公司 | 一种操作请求方法、装置及系统 |
CN110249336A (zh) * | 2017-01-26 | 2019-09-17 | 微软技术许可有限责任公司 | 使用签名密钥对可信执行环境的寻址 |
CN108449178A (zh) * | 2018-03-26 | 2018-08-24 | 北京豆荚科技有限公司 | 一种安全可信执行环境中根密钥的生成方法 |
CN108449178B (zh) * | 2018-03-26 | 2020-12-22 | 北京豆荚科技有限公司 | 一种安全可信执行环境中根密钥的生成方法 |
CN112438034A (zh) * | 2018-07-17 | 2021-03-02 | 华为技术有限公司 | 基于可信执行环境的可校验加密 |
CN111917696A (zh) * | 2019-05-08 | 2020-11-10 | 百度(美国)有限责任公司 | 使用不可旁路的网关的基于tpm的安全多方计算系统 |
CN111917696B (zh) * | 2019-05-08 | 2022-09-23 | 百度(美国)有限责任公司 | 使用不可旁路的网关的基于tpm的安全多方计算系统 |
WO2023236952A1 (zh) * | 2022-06-07 | 2023-12-14 | 华为云计算技术有限公司 | 一种云数据处理系统、方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2974120B1 (en) | 2017-09-27 |
EP2974120A4 (en) | 2016-11-23 |
EP2974120A1 (en) | 2016-01-20 |
US9118639B2 (en) | 2015-08-25 |
KR20150107796A (ko) | 2015-09-23 |
WO2014142858A1 (en) | 2014-09-18 |
US20140281531A1 (en) | 2014-09-18 |
CN105027494B (zh) | 2018-03-23 |
KR101687275B1 (ko) | 2016-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105027494A (zh) | 公共云中的受信任的数据处理 | |
TWI601405B (zh) | 用於雲端輔助式密碼術之方法及設備 | |
US10841082B2 (en) | System and method for blockchain smart contract data privacy | |
CN110417750B (zh) | 基于区块链技术的文件读取和存储的方法、终端设备和存储介质 | |
CN102271037B (zh) | 基于在线密钥的密钥保护装置 | |
KR101608510B1 (ko) | 글로벌 플랫폼 규격을 사용하는 발행자 보안 도메인에 대한 키 관리 시스템 및 방법 | |
US9135464B2 (en) | Secure storage system for distributed data | |
CN103563278A (zh) | 保护加密的虚拟硬盘 | |
CN106027503A (zh) | 一种基于tpm的云存储数据加密方法 | |
CN111008094B (zh) | 一种数据恢复方法、设备和系统 | |
CN103516523A (zh) | 一种基于云存储的数据加密体系架构 | |
CN103546547A (zh) | 一种云存储文件加密系统 | |
CN104618096A (zh) | 保护密钥授权数据的方法、设备和tpm密钥管理中心 | |
EP3292654B1 (en) | A security approach for storing credentials for offline use and copy-protected vault content in devices | |
Shen et al. | SecDM: Securing data migration between cloud storage systems | |
Ponnuramu et al. | Data integrity proof and secure computation in cloud computing | |
Thilakanathan et al. | Secure multiparty data sharing in the cloud using hardware-based TPM devices | |
US11290277B2 (en) | Data processing system | |
US20240193255A1 (en) | Systems and methods of protecting secrets in use with containerized applications | |
Jang-Jaccard et al. | Portable key management service for cloud storage | |
US20220014365A1 (en) | Distributing encrypted data objects with encryption information as metadata | |
Yang et al. | A way of key management in cloud storage based on trusted computing | |
Hussain et al. | Securing Cloud Data using RSA Algorithm | |
Megha | Authentication of Financial Wallet System and Data Protection using BlockChain | |
US11683159B2 (en) | Hybrid content protection architecture |
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 |