CN112995109B - 数据加密系统、方法、数据处理方法、装置及电子设备 - Google Patents
数据加密系统、方法、数据处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112995109B CN112995109B CN201911302836.6A CN201911302836A CN112995109B CN 112995109 B CN112995109 B CN 112995109B CN 201911302836 A CN201911302836 A CN 201911302836A CN 112995109 B CN112995109 B CN 112995109B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- encryption processing
- processing request
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims abstract description 1031
- 238000000034 method Methods 0.000 title claims abstract description 186
- 238000004891 communication Methods 0.000 claims abstract description 82
- 238000012795 verification Methods 0.000 claims description 71
- 150000003839 salts Chemical class 0.000 claims description 43
- 230000008569 process Effects 0.000 claims description 34
- 238000003860 storage Methods 0.000 claims description 34
- 238000007726 management method Methods 0.000 claims description 31
- 238000013507 mapping Methods 0.000 claims description 24
- 238000003672 processing method Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 25
- 238000004590 computer program Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供一种数据加密系统、方法、数据处理方法、装置及电子设备。系统包括至少一个客户端和服务器;至少一个客户端中的任意一个客户端包括第一通信模块和第一处理模块;第一通信模块用于通过远程证明及安全通信协议与服务器建立通信连接,接收服务器返回的加密处理结果;第一处理模块用于生成加密处理请求,将加密处理请求通过第一通信模块发送至服务器;服务器包括可信执行环境、第二通信模块和第二处理模块;第二通信模块用于通过远程证明及安全通信协议获取加密处理请求;第二处理模块用于在可信执行环境中,对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果,并将加密处理结果通过第二通信模块返回至客户端。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据加密系统、方法、数据处理方法、装置及电子设备。
背景技术
云平台具备健全的安全防护能力,因此,在用户使用云数据库的同时,不用担心数据库被从外部攻破而造成数据泄露。但是,用户仍然对于自己数据的完全所有权存疑,因为数据对于云平台是可见的。用户会担心内部运维人员越权访问以及被云平台所使用,即便采用了安全传输层协议(Transport Layer Security,简称TLS)、透明数据加密(Transparent Data Encryption,简称TDE)、密钥BYOK等数据加密技术也只能保证数据在存储和传输时的安全,一旦加载到运行态的数据库中就脱离了保护,此时,在服务器端,其他用户或者管理人员以数据库管理员身份登录,或者以内存转储的方式窃取用户数据,从而无法保证用户数据使用的安全可靠性。
发明内容
有鉴于此,本发明实施例提供一种数据加密系统、方法、数据处理方法、装置及电子设备,以解决现有技术存在的无法保证用户数据使用的安全可靠性的问题。
第一方面,本发明实施例提供数据加密系统,包括:至少一个客户端和服务器;
所述至少一个客户端中的任意一个客户端,包括第一通信模块和第一处理模块;
所述第一通信模块,用于通过远程证明及安全通信协议与所述服务器建立通信连接,并接收所述服务器返回的加密处理结果;
所述第一处理模块,用于生成加密处理请求,并将所述加密处理请求通过所述第一通信模块发送至服务器;
所述服务器,包括可信执行环境、第二通信模块和第二处理模块;
所述第二通信模块,用于通过所述远程证明及安全通信协议获取加密处理请求;
所述第二处理模块,用于在所述可信执行环境中,对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果,并将加密处理结果通过所述第二通信模块返回至相对应的客户端。
第二方面,本发明实施例提供一种数据加密方法,包括:
获取用户针对云数据库输入的数据处理请求;
利用数据密钥对所述数据处理请求进行加密处理,获得加密处理请求;
将所述加密处理请求发送至服务器,以使所述服务器确定与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对所述数据密钥进行加密获得的;并通过所述加密数据密钥和根密钥在可信执行环境中对所述加密处理请求进行处理。
第三方面,本发明实施例提供一种数据加密装置,包括:
第一获取模块,用于获取用户针对云数据库输入的数据处理请求;
第一加密模块,用于利用数据密钥对所述数据处理请求进行加密处理,获得加密处理请求;
第一发送模块,用于将所述加密处理请求发送至服务器,以使所述服务器确定与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对所述数据密钥进行加密获得的;并通过所述加密数据密钥和根密钥在可信执行环境中对所述加密处理请求进行处理。
第四方面,本发明实施例提供了一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第二方面所述的数据加密方法。
第五方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第二方面所述的数据加密方法。
第六方面,本发明实施例提供一种数据加密方法,包括:
接收至少一个客户端发送的加密处理请求,所述加密处理请求与一云数据库相对应;
通过所述云数据库确定可信执行环境中的与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是由所述根密钥对数据密钥进行加密获得的,所述数据密钥与所述加密处理请求相对应;
利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果;
将所述加密处理结果发送至客户端。
第七方面,本发明实施例提供一种数据加密装置,包括:
第二接收模块,用于接收至少一个客户端发送的加密处理请求,所述加密处理请求与一云数据库相对应;
第二确定模块,用于通过所述云数据库确定可信执行环境中的与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是由所述根密钥对数据密钥进行加密获得的,所述数据密钥与所述加密处理请求相对应;
第二处理模块,用于利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果;
第二发送模块,用于将所述加密处理结果发送至客户端。
第八方面,本发明实施例提供了一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第六方面所述的数据加密方法。
第九方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第六方面所述的数据加密方法。
第十方面,本发明实施例提供了一种密钥管理方法,应用于服务器,所述服务器与至少一个客户端通信连接,所述方法包括:
获取所述至少一个客户端通过远程证明及安全通信协议发送的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对数据密钥进行加密获得的,所述数据密钥用于对数据处理请求进行加密处理;
将所述加密数据密钥和所述根密钥存储在密钥存储区域中。
第十一方面,本发明实施例提供了一种密钥管理装置,该密钥管理装置与至少一个客户端通信连接,该装置包括:
第三获取模块,用于获取所述至少一个客户端通过远程证明及安全通信协议发送的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对数据密钥进行加密获得的,所述数据密钥用于对数据处理请求进行加密处理;
第三管理模块,用于将所述加密数据密钥和所述根密钥存储在密钥存储区域中。
第十二方面,本发明实施例提供了一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第十方面所述的密钥管理方法。
第十三方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第十方面所述的密钥管理方法。
第十四方面,本发明实施例提供了一种数据处理方法,包括:
获取与加密处理请求相对应的用户标识信息和键值标识信息,所述加密处理请求是通过数据密钥对待处理请求进行加密处理获得的;
根据所述用户标识信息和键值标识信息,获得数据密钥的属性信息和通过根密钥对所述数据密钥进行加密处理后的加密数据密钥;
利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
第十五方面,本发明实施例提供了一种数据处理装置,包括:
第四获取模块,用于获取与加密处理请求相对应的用户标识信息和键值标识信息,所述加密处理请求是通过数据密钥对待处理请求进行加密处理获得的;
所述第四获取模块,还用于根据所述用户标识信息和键值标识信息,获得数据密钥的属性信息和通过根密钥对所述数据密钥进行加密处理后的加密数据密钥;
第四处理模块,用于利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
第十六方面,本发明实施例提供了一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第十四方面所述的数据处理方法。
第十七方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第十四方面所述的数据处理方法。
第十八方面,本发明实施例提供了一种数据更新方法,包括:
获取根密钥和数据密钥,所述根密钥用于对所述数据密钥进行加密处理,所述数据密钥用于对待处理数据进行加密处理;
识别根密钥是否为更新状态;
在所述根密钥为更新状态时,则根据更新后的根密钥对所述数据密钥进行加密处理。
第十九方面,本发明实施例提供了一种数据更新装置,包括:
第五获取模块,用于获取根密钥和数据密钥,所述根密钥用于对所述数据密钥进行加密处理,所述数据密钥用于对待处理数据进行加密处理;
第五识别模块,用于识别根密钥是否为更新状态;
第五处理模块,用于在所述根密钥为更新状态时,则根据更新后的根密钥对所述数据密钥进行加密处理。
第二十方面,本发明实施例提供了一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第十八方面所述的数据更新方法。
第二十一方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第十八方面所述的数据更新方法。
本发明实施例提供的技术方案,通过获取用户针对云数据库输入的数据处理请求,利用数据密钥对数据处理请求进行加密处理,获得加密处理请求,而后将加密处理请求发送至服务器,以使服务器确定与加密处理请求相对应的加密数据密钥和根密钥,并通过加密数据密钥和根密钥在可信执行环境中对加密处理请求进行处理;有效地实现了数据处理操作在服务器中的可信任的执行环境可信执行环境中实现,避免了数据库管理人员可以在服务器中获取用户数据或者以内存转储的方式窃取到用户数据,保证了数据使用和处理的安全可靠性,进而有效地提高了该方法的实用性,有利于市场的推广与应用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据加密系统的结构示意图;
图2为本发明实施例提供的一种数据加密系统的原理示意图;
图3为本发明实施例提供的一种数据加密方法的流程示意图一;
图4为本发明实施例提供的对所述数据处理请求进行加密处理,获得加密处理请求的流程示意图;
图5为本发明实施例提供的一种数据加密方法的流程示意图二;
图6为本发明实施例提供的一种数据加密方法的流程示意图三;
图7为本发明实施例提供的另一种数据加密方法的流程示意图一;
图8为本发明实施例提供的另一种数据加密方法的流程示意图二;
图9为本发明实施例提供的获取所述根密钥中包括的盐值和mac值的流程示意图;
图10为本发明实施例提供的基于所述盐值和mac值对所述根密钥进行校验的流程示意图;
图11为本发明实施例提供的利用所述根密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果的流程示意图;
图12为本发明实施例提供的通过所述根密钥对所述加密处理请求进行解密处理,获得与所述加密处理请求相对应的数据处理请求的流程示意图;
图13为本发明实施例提供的另一种数据加密方法的流程示意图三;
图14为本发明实施例提供的另一种数据加密方法的流程示意图四;
图15为本发明实施例提供的另一种数据加密方法的流程示意图五;
图16为本发明实施例提供的另一种数据加密方法的流程示意图六;
图17为本发明应用实施例提供的一种数据加密方法的示意图一;
图18为本发明应用实施例提供的一种数据加密方法的示意图二;
图19为本发明应用实施例提供的一种密钥管理方法的流程示意图;
图20为本发明应用实施例提供的一种数据处理方法的流程示意图;
图21为本发明应用实施例提供的一种数据更新方法的流程示意图;
图22为本发明实施例提供的一种数据加密装置的结构示意图;
图23为与图22所示实施例提供的数据加密装置对应的电子设备的结构示意图;
图24为本发明实施例提供的另一种数据加密装置的结构示意图;
图25为与图24所示实施例提供的数据加密装置对应的电子设备的结构示意图;
图26为本发明实施例提供的一种密钥管理装置的结构示意图;
图27为与图26所示实施例提供的密钥管理装置对应的电子设备的结构示意图;
图28为本发明实施例提供的一种数据处理装置的结构示意图;
图29为与图28所示实施例提供的数据处理装置对应的电子设备的结构示意图;
图30为本发明实施例提供的一种数据更新装置的结构示意图;
图31为与图30所示实施例提供的数据更新装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
术语解释:
TEE:Trusted Execution Environment,可信执行环境。TEE通常可以通过提供与外界隔离的安全执行环境,保护其内代码和数据不会被泄露或恶意篡改。
SGX:Software Guard Extensions,Intel CPU提供的一组安全指令集,能够为应用程序提供安全的隔离执行环境,是TEE的一种技术实现。
enclave:由SGX创建的隔离执行环境,其中包含了受保护的代码与数据。可以理解为广义TEE概念的一个具体实例。
为了便于理解本申请的技术方案,下面对现有技术进行简要说明:
在数据库中要实现对密文数据的查询与计算,可用的技术手段主要有两种:基于密码学的密文计算和基于TEE的密文计算。·
其中,基于密码学的密文计算,其实现原理主要是:通过设计特殊的加密算法和计算协议,支持在密文数据上的某些操作子集。例如:保序加密(Order PreservingEncryption)支持密文的比较操作,可检索加密(Searchable Encryption)支持密文的关键字搜索操作,同态加密(Homomorphic Encryption)支持密文的加法、乘法操作。但是,对于上述设计特殊的加密算法而言,每种特定的加密方式只能支持特定的操作,无法通用地支持所有操作。
另外,基于TEE的密文计算,其实现原理主要是:通过将密文数据传入TEE环境内以后解密,在明文数据上计算,对得到的结果加密后传出的方式,可以支持任意的数据计算操作。TEE保证了明文数据和其计算结果的隔离不泄密。但前提是需要用户信任TEE本身的安全性,例如:用户需要信任数据库服务器的虚拟机监视器Hypervisor,但是,Hypervisor也是服务提供方控制的,因此,对用户数据的应用和处理仍存在安全隐患。
下面结合如下的方法实施例以及附图对本发明实施例提供的数据加密方法的实现过程进行介绍。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本发明实施例提供的一种数据加密系统的结构示意图;为了解决现有技术中存在的上述技术问题,参考附图1所示,本实施例提供了一种数据加密系统,该数据加密系统包括至少一个客户端101和服务器102;
至少一个客户端101中的任意一个客户端101,包括第一通信模块1011和第一处理模块1012;
第一通信模块1011,用于通过远程证明及安全通信协议与服务器102建立通信连接,并接收服务器102返回的加密处理结果;
第一处理模块1012,用于生成加密处理请求,并将加密处理请求通过第一通信模块1011发送至服务器102;
服务器102,包括可信执行环境1021、第二通信模块1022和第二处理模块1023;
第二通信模块1022,用于通过远程证明及安全通信协议获取加密处理请求;
第二处理模块1023,用于在可信执行环境1021中,对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果,并将加密处理结果通过第二通信模块1022返回至相对应的客户端101。
其中,客户端101可以是任何具有一定计算能力的计算设备。客户端101的基本结构可以包括:至少一个处理器。处理器的数量取决于客户端101的配置和类型。客户端101也可以包括存储器,该存储器可以为易失性的,例如RAM,也可以为非易失性的,例如只读存储器(Read-Only Memory,ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(Operating System,OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,客户端101还包括一些基本配置,例如网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、鼠标、输入笔、打印机等。其它外围设备在本领域中是众所周知的,在此不做赘述。可选地,客户端101中可以为PC(personal computer)终端等。
服务器102是指可以在网络虚拟环境中提供计算处理服务的设备,通常是指利用网络进行信息规划的服务器102。在物理实现上,服务器102可以是任何能够提供计算服务,响应服务请求,并进行数据处理的设备,例如:可以是常规服务器、云服务器、云主机、虚拟中心等。服务器102的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
可信执行环境1021可以包括预先配置的enclave环境,服务器102中的enclave是由SGX提供一个可信执行环境,由SGX安全特性保证其上内容不会被外部获取。在服务器102与客户端101建立通信连接之后,为了满足不同客户端101的应用需求,服务器102中的第二处理模块1023,还用于:确定至少一个客户端101各自对应的加密处理等级;根据加密处理等级确定与至少一个客户端101相对应的至少一个可信执行环境1021。
可以理解的是,服务器102中可以配置有多个不同加密等级的可信执行环境1021,而不同的客户端101可以对应有不同的加密处理等级或者加密处理需求,在确定与至少一个客户端101所对应的加密处理等级或者加密处理需求之后,服务器102可以基于加密处理等级来确定与至少一个客户端101相对应的至少一个可信执行环境1021。举例来说,至少一个客户端101包括第一客户端和第二客户端,第一客户端的加密处理等级为第一等级,第二客户端的加密处理等级为第二等级,第二等级高于第一等级,此时,则可以基于第一等级为第一客户端配置第一可信执行环境,基于第二等级为第二客户端配置第二可信执行环境,其中,第二可信执行环境的处理等级高于第一可信执行环境,从而实现了可以基于不同的用户进行不同的数据处理操作,满足了用户的应用需求,并且也提高了该系统使用的灵活可靠性。
进一步的,在第一处理模块1012生成加密处理请求时,该第一处理模块1012可以用于:获取用户针对云数据库输入的数据处理请求;利用数据密钥对数据处理请求进行加密处理,生成加密处理请求。
在一些实例中,在第一处理模块1012生成加密处理请求时,该第一处理模块1012可以用于:获取与数据处理请求相对应的敏感数据;利用数据密钥对敏感数据进行加密处理,生成与数据处理请求相对应的加密处理请求。
具体的,数据处理请求可以为数据查询请求、数据识别请求、数据分析请求等等,用户可以根据具体的应用场景和应用需求针对云数据库输入不同的数据处理请求。另外,数据密钥用于对数据处理请求进行加密处理,具体的,可以对数据处理请求中需要进行保护的敏感数据进行加密处理,在利用数据密钥对数据处理请求进行加密处理,其安全性直接影响着数据处理请求中敏感数据的安全程度。在获取到数据处理请求之后,可以利用数据密钥对数据处理请求进行加密处理,从而可以获得加密数据请求。
举例来说,如图2所示,数据处理请求包括以下内容:用户姓名、金额信息、电话信息、居住地址信息、处理账户名称以及处理账户号码“190926”;通过对上述数据处理请求的分析识别,可以确定处理账户号码“190926”为敏感数据,其他为非敏感数据,此时,为了保证数据处理的安全可靠性,则可以对上述的敏感信息进行加密处理,从而可以获得加密处理请求,例如:加密处理请求包括以下内容:用户姓名、金额信息、电话信息、居住地址信息、处理账户名称以及处理账户号码“D3A478”,也即,将处理账户号码“190926”加密处理为“D3A478”,从而使得服务器102不会获取到数据处理请求中敏感数据的明文信息。
在获取到加密处理请求之后,可以通过远程证明及安全通信协议和第一处理模块1012将加密处理请求发送至服务器102,在服务器102获取到加密处理请求之后,在可信执行环境1021中,对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果,并将加密处理结果通过第二通信模块1022返回至相对应的客户端101。具体的,可以确定与加密处理请求相对应的加密数据密钥和根密钥,其中,加密数据密钥和根密钥可以是客户端101预先发送至服务器102的,从而使得服务器102可以根据加密数据密钥和根密钥在enclave中对加密处理请求进行处理操作。
在一些实例中,第一处理模块1012,还用于确定与加密处理请求相对应的加密数据密钥;
第一通信模块1011,还用于在加密数据密钥为首次应用时,则将加密数据密钥发送至服务器102。
在一些实例中,可信执行环境1021中包括:密钥存储区域,密钥存储区域用于存储与加密处理请求相对应的加密数据密钥和根密钥、根密钥校验表,根密钥校验表中存储有根密钥的校验信息。
具体的,在客户端101与服务器102建立连接后,通过基于SGX提供的远程证明(Remote Attestation,简称RA)及安全通信协议,将根密钥安全的发送到服务器102中的enclave。enclave可以使用根密钥解密从密钥仓库中的加密数据密钥得到数据密钥,从而能够解密加密数据处理请求,并提供对敏感数据的处理功能。
本实施例提供的数据加密系统,通过第一通信模块1011和第二通信模块1022实现至少一个客户端101与服务器102的通信连接,有效地保证了数据传输的安全可靠性;并且,服务器102在可信执行环境1021中对客户端101所接收到加密处理请求进行处理,获得加密处理结果,有效地避免了数据库管理人员可以在服务器102中获取用户数据或者以内存转储的方式窃取到用户数据,保证了数据使用和处理的安全可靠性,进而有效地提高了该系统的实用性,有利于市场的推广与应用。
在一些实例中,加密处理请求与一云数据库相对应;此时,在第二处理模块1023,还用于:通过云数据库,在密钥存储区域中确定可信执行环境1021中的与加密处理请求相对应的加密数据密钥和根密钥,加密数据密钥是由根密钥对数据密钥进行加密获得的,数据密钥与加密处理请求相对应;利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果。
在获取到加密处理请求所对应的云数据库之后,可以根据云数据库确定enclave中与加密处理请求相对应的加密数据密钥和根密钥,其中,根密钥用于对数据密钥进行加密处理,数据密钥用于对数据处理请求进行加密处理。具体的,本实施例对于根密钥的具体确定方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,本实施例中的确定与加密处理请求相对应的根密钥可以包括:获取与云数据库相对应的数据库标识信息。根据数据库标识信息确定与加密处理请求相对应的根密钥。
由于根密钥与云数据库之间存在对应关系,不同的云数据库可以对应有不同的根密钥,相同的云数据库对应有相同的根密钥。举例来说,在不同用户针对同一个云数据库输入不同的数据处理请求时,在将数据处理请求加密处理为加密处理请求之后,不同的加密处理请求可以对应有相同的根密钥。而同一个用户针对不同的云数据库输入相同或不同的数据处理请求时,在将数据处理请求加密处理为加密处理请求之后,相同或不同的加密处理请求可以对应有不同的根密钥;在获取到根密钥之后,可以利用根密钥读取相对应的数据密钥表,从而可以获取到加密数据密钥,而后服务器102可以利用根密钥和加密数据密钥对加密处理请求进行相应的处理操作。
具体的,第二处理模块1023利用根密钥和加密数据密钥对加密处理请求进行处理时,该第二处理模块1023可以用于执行:通过根密钥和加密数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求;在可信执行环境1021中,基于数据处理请求在云数据库中进行数据处理,获得与数据处理请求相对应的数据处理结果;通过根密钥和加密数据密钥对数据处理结果进行加密处理,获得加密处理结果。
在一些实例中,在第二处理模块1023通过根密钥和加密数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求时,第二处理模块1023还用于:通过根密钥读取相对应的数据密钥表,获得数据密钥的属性信息;根据属性信息和加密数据密钥查询密钥映射表,确定与加密数据密钥相对应的数据密钥,密钥映射表中存储有属性信息与数据密钥之间的映射关系;利用数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求。其中,属性信息包括:数据行标识信息和数据列标识信息。
举例来说,如图2所示,在服务器102获取到加密处理请求之后,加密处理请求包括经过加密处理的以下内容:用户姓名、金额信息、电话信息、居住地址信息、处理账户名称以及处理账户号码“D3A478”;而后确定该加密处理请求所对应的加密数据密钥和根密钥,而后通过所述根密钥读取相对应的数据密钥表,获得数据密钥的属性信息;根据所述属性信息和所述加密数据密钥查询密钥映射表,确定与所述加密数据密钥相对应的数据密钥;利用所述数据密钥对所述加密处理请求进行解密处理,获得与所述加密处理请求相对应的数据处理请求。在获取到数据处理请求之后,可以基于数据处理请求进行数据处理,获得数据处理结果。
而后利用数据密钥和根密钥对数据处理结果进行加密处理,从而可以确定与该加密处理请求相对应的加密处理结果,例如:姓名为FF01AC、余额为BA695A798B、电话号码为311B787CD2E83865,地址信息为ACCA00CFE0DAA04AEBB13126,从而可以将加密处理结果返回至客户端101,以使得客户端101可以对加密处理结果进行解密,最终获取到与数据处理请求相对应的数据处理结果。
本实施例中,通过接收客户端101发送的加密处理请求,确定enclave中的与加密处理请求相对应的根密钥,而后在enclave中,利用根密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果,有效地保证了在可信任的执行环境enclave中实现对数据的处理操作,避免了数据库管理人员可以在服务器102中获取用户数据或者以内存转储的方式窃取到用户数据,保证了数据使用和处理的安全可靠性,进而有效地提高了该系统的实用性,有利于市场的推广与应用。
在一些实例中,所述第二处理模块1023,还用于执行:在接收客户端101发送的加密处理请求之前,获取所述根密钥中包括的盐值和mac值;基于所述盐值和mac值对所述根密钥进行校验;在所述根密钥通过校验后,则允许利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理。
具体的,在第二处理模块1023获取所述根密钥中包括的盐值和mac值时,该第二处理模块1023具体用于执行:获取根密钥校验表,所述根密钥校验表中存储有根密钥的校验信息;基于所述根密钥校验表确定与所述根密钥相对应的盐值和mac值。
在所述第二处理模块1023基于所述盐值和mac值对所述根密钥进行校验时,该第二处理模块1023具体用于:基于所述盐值确定与所述根密钥相对应的理论mac值;在所述理论mac值与所述mac值相同时,则确定所述根密钥通过校验;或者,在所述理论mac值与所述mac值不同时,则确定所述根密钥未通过校验。
在一些实例中,所述第二通信模块1022,还用于:在确定所述根密钥未通过校验之后,向客户端101发送与所述根密钥相对应的校验反馈信息,以使所述客户端101根据所述校验反馈信息对所述根密钥进行调整。
本实施例中,有效地保证了服务器102只能在客户端101授权的情况下进行数据处理操作,而在客户端101未进行授权或者授权错误的情况下,均不能进行数据处理操作,避免了其他用户对数据的窃取操作,进一步保证了数据处理的安全可靠性。
此外,在一些实例中,所述第二处理模块1023,还用于:识别所述根密钥是否为更新状态;在所述根密钥为更新状态时,则根据更新后的根密钥对数据进行加密处理。
具体应用时,用户可以根据不同的应用场景和应用需求来对根密钥进行更新调整,例如:可以根据应用的时间段来对根密钥进行更新操作;或者,也可以根据数据处理请求所对应的云数据库对根密钥进行更新操作。因此,可以实时或者定期地对根密钥进行分析识别,以识别根密钥是否为更新状态,在根密钥与历史的根密钥不同时,则确定根密钥为更新状态,在根密钥与历史的根密钥相同时,则可以确定根密钥为未更新状态;在根密钥为更新状态时,则可以利用更新后的根密钥对数据进行加密处理。
本实施例中,通过识别根密钥是否为更新状态,在根密钥为更新状态时,则利用更新后的根密钥对数据进行加密处理,有效地实现了利用更新后的根密钥对数据(数据密钥)进行加密处理,从而可以获得与更新后的根密钥相对应的加密数据密钥,进而保证了数据处理的一致性。
在一些实例中,所述第二处理模块1023,还用于:识别所述数据密钥是否为更新状态;在所述数据密钥为更新状态时,则对所述数据密钥表中更新之前的数据密钥保持不变,并将更新后的所述数据密钥添加至所述数据密钥表中。
具体应用时,用户可以根据不同的应用场景和应用需求来对数据密钥进行更新调整,例如:可以根据应用的时间段来对数据密钥进行更新操作;或者,也可以根据数据处理请求所对应的云数据库对数据密钥进行更新操作。因此,可以实时或者定期地对数据密钥进行分析识别,以识别数据密钥是否为更新状态,在数据密钥与历史的数据密钥不同时,则确定数据密钥为更新状态,在数据密钥与历史的数据密钥相同时,则可以确定数据密钥为未更新状态;在数据密钥为更新状态时,则对数据密钥表中更新之前的数据密钥保持不变,并将更新后的数据密钥添加至数据密钥表中。
本实施例中,识别数据密钥是否为更新状态,在数据密钥为更新状态时,则对数据密钥表中更新之前的数据密钥保持不变,并将更新后的数据密钥添加至数据密钥表中;有效地实现了利用更新后的数据密钥可以对新的数据进行加密处理,从而可以获得与更新后的数据密钥相对应的加密数据,进而保证了数据处理的一致性。
在一些实例中,所述第二处理模块1023,还用于:在接收客户端101发送的加密处理请求之后,通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据;将所述加密数据发送至可信执行环境1021进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果;根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
由于服务器102获取到的加密处理请求中可以包括有加密数据和未加密数据,其中,加密数据可以包括与数据处理请求相对应的敏感数据,未加密数据可以包括与数据处理请求相对应的非敏感数据;为了提高数据处理的质量和效率,在服务器102对加密处理请求进行处理时,可以通过执行引擎对加密处理请求进行识别,获得与加密处理请求相对应的加密数据和未加密数据。
在执行引擎获取到加密数据之后,可以将加密数据发送至enclave进行处理,获得与加密数据相对应的第一数据结果,第一数据结果经过加密处理。而后通过执行引擎对未加密数据进行处理,获得与未加密数据相对应的第二数据结果,该第二数据结果未经过加密处理;而后执行引擎可以根据第一数据结果和第二数据结果获得与加密处理请求相对应的加密处理结果,这样不仅保证了加密处理结果获取的准确可靠性,并且也提高了数据处理的质量和效率。
在一些实例中,所述第二处理模块1023,还用于:获取与所述加密处理请求相对应的用户标识信息和键值标识信息;根据所述用户标识信息和键值标识信息获得数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥;利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
具体应用时,本实施例中的方法还可以支持用户通过用户标识信息和键值标识信息来查询与加密处理请求相对应的加密处理结果;具体的,在用户输入用户标识信息和键值标识信息时,服务器102可以获取与加密处理请求相对应的用户标识信息和键值标识信息,在获取到用户标识信息和键值标识信息之后,可以根据用户标识信息和键值标识信息获得数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥,其中,属性信息包括数据行标识信息和数据列标识信息;在获取到属性信息和加密数据密钥之后,可以利用属性信息和加密数据密钥确定与加密处理请求相对应的数据密钥,而后利用数据密钥可以对加密处理请求进行解密处理,从而可以获得数据处理请求,而后可以在enclave中进行数据处理操作,从而可以获得数据处理结果。为了保证数据处理结果传输的安全可靠性,可以对数据处理结果进行加密处理,进而可以获得与加密处理请求相对应的加密处理结果。在获得加密处理结果之后,服务器102可以将加密处理结果发送至客户端101,客户端101可以基于用户标识信息和键值标识信息对加密处理结果进行解密,进而与获得满足用户需求的数据处理结果。
下面结合方法实施例,针对服务器和客户端的应用场景和处理过程进行详细说明。
图3为本发明实施例提供的一种数据加密方法的流程示意图一;为了解决现有技术中存在的上述技术问题,参考附图3所示,本实施例提供了一种数据加密方法,该方法的执行主体可以为数据加密装置,该数据加密装置可以实现为软件、或者软件和硬件的组合,可选的,数据加密装置可以为客户端。具体的,该方法可以包括:
S101:获取用户针对云数据库输入的数据处理请求。
其中,数据处理请求可以为数据查询请求、数据识别请求、数据分析请求等等,用户可以根据具体的应用场景和应用需求针对云数据库输入不同的数据处理请求。
S102:利用数据密钥对数据处理请求进行加密处理,获得加密处理请求。
其中,数据密钥用于对数据处理请求进行加密处理,具体的,可以对数据处理请求中需要进行保护的敏感数据进行加密处理,在利用数据密钥对数据处理请求进行加密处理,其安全性直接影响着数据处理请求中敏感数据的安全程度。在获取到数据处理请求之后,可以利用数据密钥对数据处理请求进行加密处理,从而可以获得加密数据请求。具体实现时,一种可实现的方式为:利用数据密钥对数据处理请求的全部数据进行加密处理,获得加密处理请求。另一种可实现的方式为,利用数据密钥对数据处理请求中的部分数据进行加密处理,获得加密处理请求。为了减少数据处理资源的浪费,提高数据处理的质量和效率,可以对数据处理请求中的部分数据进行加密处理,具体的,参考附图4所示,本实施例中的利用数据密钥对数据处理请求进行加密处理,获得加密处理请求可以包括:
S1021:获取与数据处理请求相对应的敏感数据。
S1022:利用数据密钥对敏感数据进行加密处理,获得与数据处理请求相对应的加密处理请求。
在获取到数据处理请求之后,可以对数据处理请求进行分析识别,从而可以获得与数据处理请求相对应的敏感数据,该敏感数据可以包括以下至少之一:用户名信息、身份证信息、通讯号码信息等等;在获取到敏感数据之后,为了保证敏感数据不泄露,可以利用数据密钥对敏感数据进行加密处理,具体的,可以采用现有技术中的加密算法(保序加密算法、同态加密算法等等)对敏感数据进行加密处理,从而可以获得与敏感数据相对应的加密敏感数据,根据加密敏感数据和数据处理请求中的其他非敏感数据可以获得与待处理数据请求相对应的加密处理请求。
举例来说,数据处理请求包括以下内容:用户姓名、金额信息、电话信息、居住地址信息、处理账户名称以及处理账户号码“190926”;通过对上述数据处理请求的分析识别,可以确定处理账户号码“190926”为敏感数据,其他为非敏感数据,此时,为了保证数据处理的安全可靠性,则可以对上述的敏感信息进行加密处理,从而可以获得加密处理请求,例如:加密处理请求包括以下内容:用户姓名、金额信息、电话信息、居住地址信息、处理账户名称以及处理账户号码“D3A478”,也即,将处理账户号码“190926”加密处理为“D3A478”,从而使得服务器不会获取到数据处理请求中敏感数据的明文信息。
S103:将加密处理请求发送至服务器,以使服务器确定与加密处理请求相对应的加密数据密钥和根密钥,加密数据密钥是通过根密钥对数据密钥进行加密获得的;并通过加密数据密钥和根密钥在可信执行环境中对加密处理请求进行处理。
其中,服务器中的可信执行环境可以是enclave执行环境,具体的,enclave执行环境是由SGX提供一个可信执行环境,由SGX安全特性保证其上内容不会被外部获取。在客户端与服务器建立连接后,通过基于SGX提供的远程证明(Remote Attestation,简称RA)及安全通信协议,将根密钥安全的发送到服务器中的enclave。enclave可以使用根密钥解密从密钥仓库中的加密数据密钥得到数据密钥,从而能够解密加密数据处理请求,并提供对敏感数据的处理功能。
具体的,在获取到加密处理请求之后,可以将加密处理请求发送至服务器,在服务器获取到加密处理请求之后,可以确定与加密处理请求相对应的加密数据密钥和根密钥,其中,加密数据密钥和根密钥可以是客户端预先发送至服务器的,从而使得服务器可以根据加密数据密钥和根密钥在enclave中对加密处理请求进行处理操作。具体的,本实施例中的方法还可以包括:
S100:在与服务器进行首次通信连接时,利用远程证明及安全通信协议将根密钥发送至服务器中的enclave。
在客户端与服务器进行首次通信连接时,客户端并没有向服务器发送数据处理请求,此时,客户端可以利用远程证明及安全通信协议将根密钥发送至服务器中的enclave。其中,远程证明及安全通信协议可以对enclave进行身份认证,并保证客户端与服务器中的enclave进行安全的数据交互,本实施例对于远程证明及安全通信协议的具体确定方式和具体类型不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,只要能够实现对enclave进行身份认证,并保证客户端与服务器中的enclave进行安全的数据交互即可,在此不再赘述。
进一步的,在客户端向服务器发送加密数据密钥时,参考附图5所示,本实施例中的方法还可以包括:
S001:确定与加密处理请求相对应的加密数据密钥。
S002:在加密数据密钥为首次应用时,则将加密数据密钥发送至服务器。
具体的,在利用数据密钥对数据处理请求进行加密处理之后,可以获得加密处理请求,并确定与加密处理请求相对应的加密数据密钥,该加密数据密钥是通过根密钥对数据密钥进行加密处理获得的。在确定与加密处理请求相对应的加密数据密钥之后,可以对加密数据密钥的使用次数进行分析识别,在加密数据密钥为首次应用时,则可以将加密数据密钥发送至服务器,并存储在服务器中的数据密钥表中,以便后续enclave需要用到该加密数据密钥时,则可以从数据密钥表中读取到加密数据密钥;在加密数据密钥不是首次应用时,则说明此时的加密数据密钥已经存储在服务器中的数据密钥表中,此时则可以不需要将加密数据密钥发送至服务器,从而保证了服务器可以稳定地获取到加密数据密钥和根密钥,进而保证了该方法使用的稳定可靠性。
本实施例提供的数据加密方法,通过获取用户针对云数据库输入的数据处理请求,利用数据密钥对数据处理请求进行加密处理,获得加密处理请求,而后将加密处理请求发送至服务器,以使服务器确定与加密处理请求相对应的加密数据密钥和根密钥,并通过加密数据密钥和根密钥在enclave中对加密处理请求进行处理;有效地实现了数据处理操作在服务器中的可信任的执行环境enclave中实现,避免了数据库管理人员可以在服务器中获取用户数据或者以内存转储的方式窃取到用户数据,保证了数据使用和处理的安全可靠性,进而有效地提高了该方法的实用性,有利于市场的推广与应用。
图6为本发明实施例提供的一种数据加密方法的流程示意图三;在上述实施例的基础上,继续参考附图6所示,本实施例中的方法还可以包括:
S201:接收服务器发送的与加密处理请求相对应的加密处理结果。
S202:对加密处理结果进行解密处理,获得与数据处理请求相对应的数据处理结果。
在服务器接收到加密处理请求之后,可以根据加密处理请求进行相对应的数据处理操作,并可以获得与加密处理请求相对应的加密处理结果,在获得加密处理结果之后,服务器可以将加密处理结果发送至客户端,从而使得客户端可以获取到与加密处理请求相对应的加密处理结果,而后可以对加密处理结果进行解密处理操作,获得与数据处理请求相对应的数据处理结果。
本实施例中,通过接收服务器发送的加密处理结果,并对加密处理结果进行解密处理,获得与数据处理请求相对应的数据处理结果,有效地实现了数据处理结果在服务器端处于加密的状态,用户或者其他操作人员无法直接获知到数据处理结果的明文信息,只有客户端可以获取到与数据处理请求相对应的数据处理结果的明文信息,进一步保证了数据处理的安全可靠性,避免了在数据应用过程中对用户数据的泄露,进一步提高了该方法使用的安全可靠性。
图7为本发明实施例提供的另一种数据加密方法的流程示意图一;为了解决现有技术中存在的上述技术问题,参考附图7所示,本实施例提供了另一种数据加密方法,该方法的执行主体可以为数据加密装置,该数据加密装置可以实现为软件、或者软件和硬件的组合,可选的,数据加密装置可以为服务器,该服务器可以与客户端进行通信连接。具体的,该方法可以包括:
S301:接收至少一个客户端发送的加密处理请求,加密处理请求与一云数据库相对应。
在至少一个客户端将数据处理请求加密处理为加密处理请求之后,至少一个客户端可以将加密处理请求发送至服务器,从而使得服务器可以获取到加密处理请求,该加密处理请求与一云数据库相对应。
S302:通过云数据库确定可信执行环境中的与加密处理请求相对应的加密数据密钥和根密钥,加密数据密钥是由根密钥对数据密钥进行加密获得的,数据密钥与加密处理请求相对应。
其中,服务器中的可信执行环境可以是enclave执行环境。在获取到加密处理请求所对应的云数据库之后,可以根据云数据库确定enclave中与加密处理请求相对应的加密数据密钥和根密钥,其中,根密钥用于对数据密钥进行加密处理,数据密钥用于对数据处理请求进行加密处理。具体的,本实施例对于根密钥的具体确定方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,本实施例中的确定与加密处理请求相对应的根密钥可以包括:获取与云数据库相对应的数据库标识信息。根据数据库标识信息确定与加密处理请求相对应的根密钥。
由于根密钥与云数据库之间存在对应关系,不同的云数据库可以对应有不同的根密钥,相同的云数据库对应有相同的根密钥。举例来说,在不同用户针对同一个云数据库输入不同的数据处理请求时,在将数据处理请求加密处理为加密处理请求之后,不同的加密处理请求可以对应有相同的根密钥。而同一个用户针对不同的云数据库输入相同或不同的数据处理请求时,在将数据处理请求加密处理为加密处理请求之后,相同或不同的加密处理请求可以对应有不同的根密钥;在获取到根密钥之后,可以利用根密钥读取相对应的数据密钥表,从而可以获取到加密数据密钥,而后服务器可以利用根密钥和加密数据密钥对加密处理请求进行相应的处理操作。
S303:利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果。
在获取到根密钥和加密数据密钥之后,可以利用根密钥和加密数据密钥对加密处理请求进行处理,以获得与加密处理请求相对应的加密处理结果。其中,本实施例对于利用根密钥和加密数据密钥对加密处理请求进行处理的具体实现过程不做限定,例如:在enclave中,可以利用根密钥对加密数据密钥进行解密,而后利用数据密钥对加密处理请求进行解密,获得数据处理请求,而后基于数据处理请求在enclave中进行数据处理操作,从而可以获得相对应的数据处理结果,而后利用根密钥所对应的数据密钥对数据处理结果,获得与加密处理请求相对应的加密处理结果。当然的,本领域技术人员也可以根据具体的应用需求和设计需求采用其他的方式来实现,只要能够获得与加密处理请求相对应的加密处理结果即可,在此不再赘述。
S304:将加密处理结果发送至客户端。
在获得加密处理结果之后,可以将加密处理结果发送至客户端,从而使得客户端可以获得加密处理结果。
本实施例提供的数据加密方法,通过接收客户端发送的加密处理请求,确定enclave中的与加密处理请求相对应的根密钥,而后在enclave中,利用根密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果,有效地保证了在可信任的执行环境enclave中实现对数据的处理操作,避免了数据库管理人员可以在服务器中获取用户数据或者以内存转储的方式窃取到用户数据,保证了数据使用和处理的安全可靠性,进而有效地提高了该方法的实用性,有利于市场的推广与应用。
图8为本发明实施例提供的另一种数据加密方法的流程示意图二;在上述实施例的基础上,继续参考附图8所示,在接收客户端发送的加密处理请求之前,本实施例中的方法还可以包括:
S401:获取根密钥中包括的盐值和mac值。
其中,根密钥包括盐值和mac值,具体的,盐值属于随机值,一般情况下,在用户进行注册时,用于和用户密码进行组合而生成的随机数值为盐值,mac值是指媒体存取控制位址所对应的值。在获取到根密钥之后,可以对根密钥进行分析识别,从而可以获得根密钥中包括的盐值和mac值。具体的,参考附图9所示,获取根密钥中包括的盐值和mac值可以包括:
S4011:获取根密钥校验表,根密钥校验表中存储有根密钥的校验信息。
S4012:基于根密钥校验表确定与根密钥相对应的盐值和mac值。
具体的,根密钥校验表是预先存储在服务器中的数据信息,该根密钥校验表中存储有一个或多个根密钥的校验信息,用于实现对根密钥的校验操作。在获取到根密钥之后,可以根据根密钥的标识信息,在根密钥校验表中查找到根密钥所对应的盐值和mac值,该盐值和mac值分别为与根密钥相对应的标准值。
S402:基于盐值和mac值对根密钥进行校验。
在获取到根密钥所对应的盐值和mac值之后,可以基于盐值和mac值对根密钥进行校验,具体的,参考附图10所示,本实施例中的基于盐值和mac值对根密钥进行校验可以包括:
S4021:基于盐值确定与根密钥相对应的理论mac值。
S4022:在理论mac值与mac值相同时,则确定根密钥通过校验。或者,
S4023:在理论mac值与mac值不同时,则确定根密钥未通过校验。
在获取到盐值之后,可以基于盐值确定与根密钥相对应的理论mac值,在获取到理论mac值之后,可以将理论mac值与标准的mac值进行分析比较,在理论mac值与标准的mac值相同时,则说明根密钥的信息正确无误,进而可以确定根密钥通过校验;在理论mac值与mac值不同时,则说明根密钥的信息错误,进而可以确定根密钥未通过校验。
S403:在根密钥通过校验后,则允许利用根密钥和加密数据密钥对加密处理请求进行处理。
在对根密钥进行校验的结果为根密钥通过校验时,则说明客户端发送的根密钥没有问题,进而可以允许利用根密钥和加密数据密钥对加密处理请求进行处理。
可以想到的是,在确定根密钥未通过校验之后,说明客户端发送的根密钥存在错误,此时,为了保证该方法使用的稳定可靠性,本实施例中的方法还可以包括:
S404:向客户端发送与根密钥相对应的校验反馈信息,以使客户端根据校验反馈信息对根密钥进行调整。
在确定根密钥未通过校验之后,说明客户端发送的根密钥存在问题,此时服务器可以向客户端发送与根密钥相对应的校验反馈信息,该校验反馈信息可以标识根密钥未通过校验,以使客户端可以根据校验反馈信息对根密钥进行调整或者更新操作,从而保证了服务器只能在客户端授权的情况下进行数据处理操作,而在客户端未进行授权或者授权错误的情况下,均不能进行数据处理操作,避免了其他用户对数据的窃取操作,进一步保证了数据处理的安全可靠性。
在一些实例中,本实施例中的方法还可以包括:确定所述至少一个客户端各自对应的加密处理等级;根据所述加密处理等级确定与所述至少一个客户端相对应的至少一个可信执行环境。
具体的,服务器中可以配置有多个不同加密等级的可信执行环境,而不同的客户端可以对应有不同的加密处理等级或者加密处理需求,在确定与至少一个客户端所对应的加密处理等级或者加密处理需求之后,服务器可以基于加密处理等级来确定与至少一个客户端相对应的至少一个可信执行环境。举例来说,至少一个客户端包括第一客户端和第二客户端,第一客户端的加密处理等级为第一等级,第二客户端的加密处理等级为第二等级,第二等级高于第一等级,此时,则可以基于第一等级为第一客户端配置第一可信执行环境,基于第二等级为第二客户端配置第二可信执行环境,其中,第二可信执行环境的处理等级高于第一可信执行环境,从而实现了可以基于不同的用户进行不同的数据处理操作,满足了用户的应用需求,并且也提高了该系统使用的灵活可靠性。
图11为本发明实施例提供的利用根密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果的流程示意图;在上述实施例的基础上,继续参考附图11所示,本实施例对于利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果的具体实现方式不做限定,本领域技术人员可以根据具体的应用需求和设计需求进行设置,较为优选的,本实施例中的利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果可以包括:
S3031:通过根密钥和加密数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求。
其中,在获取到根密钥和加密数据密钥之后,可以利用根密钥和加密数据密钥对加密处理请求进行解密处理,从而可以获得与加密处理请求相对应的数据处理请求。具体的,参考附图12所示,本实施例中的通过根密钥和加密数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求可以包括:
S30311:通过根密钥读取相对应的数据密钥表,获得数据密钥的属性信息。
其中,数据密钥表中存储有数据密钥的属性信息,该属性信息可以包括:数据行标识信息和数据列标识信息。在获取到根密钥之后,可以通过根密钥读取相对应的数据密钥表,从而可以获取到数据密钥的属性信息。
S30312:根据属性信息和加密数据密钥查询密钥映射表,确定与加密数据密钥相对应的数据密钥,密钥映射表中存储有属性信息与数据密钥之间的映射关系。
在获取到属性信息之后,可以利用属性信息和加密数据密钥查询密钥映射表,该密钥映射表中存储有属性信息、加密数据密钥与数据密钥之间的映射关系,从而可以确定与加密数据密钥相对应的数据密钥,该数据密钥可以对加密数据请求进行解密处理。
S30313:利用数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求。
在获取到数据密钥之后,可以利用数据密钥对加密处理请求进行解密处理,从而可以获得与加密处理请求相对应的数据处理请求,从而使得数据处理请求可以在服务器中的enclave中进行相应的数据处理操作。
S3032:在enclave中,基于数据处理请求在云数据库中进行数据处理,获得与数据处理请求相对应的数据处理结果。
在enclave中,获取到数据处理请求之后,可以基于数据处理请求在云数据库中进行相应的数据处理操作,从而可以获得与数据处理请求相对应的数据处理结果。
S3033:通过根密钥和加密数据密钥对数据处理结果进行加密处理,获得加密处理结果。
在获取到数据处理结果之后,为了避免服务器可以获知到数据处理结果,可以在enclave中,通过根密钥和加密数据密钥对数据处理结果进行加密处理,从而可以获得加密处理结果,这样有效地实现了在将加密处理结果发送至客户端的过程中,服务器不会获得数据处理结果的明文信息,进一步避免了对用户数据的泄露和窃取操作,保证了数据使用的安全可靠性。
图13为本发明实施例提供的另一种数据加密方法的流程示意图三;在上述实施例的基础上,继续参考附图13所示,本实施例中的方法还可以包括:
S501:识别根密钥是否为更新状态。
S502:在根密钥为更新状态时,则根据更新后的根密钥对数据进行加密处理。
具体应用时,用户可以根据不同的应用场景和应用需求来对根密钥进行更新调整,例如:可以根据应用的时间段来对根密钥进行更新操作;或者,也可以根据数据处理请求所对应的云数据库对根密钥进行更新操作。因此,可以实时或者定期地对根密钥进行分析识别,以识别根密钥是否为更新状态,在根密钥与历史的根密钥不同时,则确定根密钥为更新状态,在根密钥与历史的根密钥相同时,则可以确定根密钥为未更新状态;在根密钥为更新状态时,则可以利用更新后的根密钥对数据进行加密处理。
本实施例中,通过识别根密钥是否为更新状态,在根密钥为更新状态时,则利用更新后的根密钥对数据进行加密处理,有效地实现了利用更新后的根密钥对数据(数据密钥)进行加密处理,从而可以获得与更新后的根密钥相对应的加密数据密钥,进而保证了数据处理的一致性。
图14为本发明实施例提供的另一种数据加密方法的流程示意图四;在上述实施例的基础上,继续参考附图14所示,本实施例中的方法还可以包括:
S601:识别数据密钥是否为更新状态。
S602:在数据密钥为更新状态时,则对数据密钥表中更新之前的数据密钥保持不变,并将更新后的数据密钥添加至数据密钥表中。
具体应用时,用户可以根据不同的应用场景和应用需求来对数据密钥进行更新调整,例如:可以根据应用的时间段来对数据密钥进行更新操作;或者,也可以根据数据处理请求所对应的云数据库对数据密钥进行更新操作。因此,可以实时或者定期地对数据密钥进行分析识别,以识别数据密钥是否为更新状态,在数据密钥与历史的数据密钥不同时,则确定数据密钥为更新状态,在数据密钥与历史的数据密钥相同时,则可以确定数据密钥为未更新状态;在数据密钥为更新状态时,则对数据密钥表中更新之前的数据密钥保持不变,并将更新后的数据密钥添加至数据密钥表中。
本实施例中,识别数据密钥是否为更新状态,在数据密钥为更新状态时,则对数据密钥表中更新之前的数据密钥保持不变,并将更新后的数据密钥添加至数据密钥表中;有效地实现了利用更新后的数据密钥可以对新的数据进行加密处理,从而可以获得与更新后的数据密钥相对应的加密数据,进而保证了数据处理的一致性。
图15为本发明实施例提供的另一种数据加密方法的流程示意图五;在上述实施例的基础上,继续参考附图15所示,在接收客户端发送的加密处理请求之后,本实施例中的方法还可以包括:
S701:通过执行引擎对加密处理请求进行识别,获得与加密处理请求相对应的加密数据和未加密数据。
S702:将加密数据发送至enclave进行处理,获得与加密数据相对应的第一数据结果,第一数据结果经过加密处理。
S703:通过执行引擎对未加密数据进行处理,获得与未加密数据相对应的第二数据结果。
S704:根据第一数据结果和第二数据结果获得与加密处理请求相对应的加密处理结果。
由于服务器获取到的加密处理请求中可以包括有加密数据和未加密数据,其中,加密数据可以包括与数据处理请求相对应的敏感数据,未加密数据可以包括与数据处理请求相对应的非敏感数据;为了提高数据处理的质量和效率,在服务器对加密处理请求进行处理时,可以通过执行引擎对加密处理请求进行识别,获得与加密处理请求相对应的加密数据和未加密数据。
在执行引擎获取到加密数据之后,可以将加密数据发送至enclave进行处理,获得与加密数据相对应的第一数据结果,第一数据结果经过加密处理。而后通过执行引擎对未加密数据进行处理,获得与未加密数据相对应的第二数据结果,该第二数据结果未经过加密处理;而后执行引擎可以根据第一数据结果和第二数据结果获得与加密处理请求相对应的加密处理结果,这样不仅保证了加密处理结果获取的准确可靠性,并且也提高了数据处理的质量和效率。
图16为本发明实施例提供的另一种数据加密方法的流程示意图六;在上述实施例的基础上,继续参考附图16所示,本实施例中的方法还可以包括:
S801:获取与加密处理请求相对应的用户标识信息和键值标识信息。
S802:根据用户标识信息和键值标识信息获得数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥。
S803:利用属性信息和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果。
具体应用时,本实施例中的方法还可以支持用户通过用户标识信息和键值标识信息来查询与加密处理请求相对应的加密处理结果;具体的,在用户输入用户标识信息和键值标识信息时,服务器可以获取与加密处理请求相对应的用户标识信息和键值标识信息,在获取到用户标识信息和键值标识信息之后,可以根据用户标识信息和键值标识信息获得数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥,其中,属性信息包括数据行标识信息和数据列标识信息;在获取到属性信息和加密数据密钥之后,可以利用属性信息和加密数据密钥确定与加密处理请求相对应的数据密钥,而后利用数据密钥可以对加密处理请求进行解密处理,从而可以获得数据处理请求,而后可以在enclave中进行数据处理操作,从而可以获得数据处理结果。为了保证数据处理结果传输的安全可靠性,可以对数据处理结果进行加密处理,进而可以获得与加密处理请求相对应的加密处理结果。在获得加密处理结果之后,服务器可以将加密处理结果发送至客户端,客户端可以基于用户标识信息和键值标识信息对加密处理结果进行解密,进而与获得满足用户需求的数据处理结果。
具体应用时,参考附图17-图18所示,本实施例提供了一种数据加密方法,该数据加密方法的执行主体包括客户端和服务器,客户端可以与服务器通信连接,在客户端和服务器执行该数据加密方法时,其实现原理如下:在用户针对数据库输入数据处理请求时,可以在服务器实现对数据以及数据库的全加密操作,这样可以避免在数据库运行的过程中,存在任何时刻的数据泄露隐患,保证了数据在服务器端全程以密文形式存在,同时仍然具备完整的数据库查询能力。
具体的,该方法可以包括:
step1:客户端获取用户针对云数据库输入的数据处理请求,并对数据处理请求进行加密处理,获得加密处理请求。
在获得数据处理请求之后,可以确定与该数据处理请求相对应的敏感数据,该敏感数据即为需要进行加密保护的数据;具体的,敏感数据可以是用户指定或者用户配置的;或者,敏感数据可以是通过对数据处理请求进行分析识别得到的;而后,可以利用数据密钥对敏感数据进行加密处理,获得加密处理请求,这样可以实现除了服务器中的enclave之外的第三方以及服务器只能获得加密处理请求(即数据处理请求的数据密文)。
其中,在利用数据密钥对敏感数据进行加密处理之后,数据密钥可以经过根密钥进行加密处理,从而可以获得加密数据密钥;在客户端与服务器进行首次通信连接时,可以远程证明及安全通信协议,将根密钥发送至服务器中的enclave。在加密数据密钥为首次应用时,则将加密数据密钥发送至服务器,以存储在服务器中的数据密钥表中;在加密数据密钥不是首次应用时,则不需要将加密数据密钥发送至服务器。
step2:将加密处理请求发送至服务器。
step3:服务器接收客户端发送的根密钥和/或加密数据密钥。
其中,服务器中包括有密钥仓库,密钥仓库提供了对根密钥的分发、更新、以及完整性校验等支持;具体的,该密钥仓库中可以存储两类密钥:一个是数据密钥,用于加密数据处理请求中的敏感数据,可以想到的是,不同的数据可以利用不同的数据密钥进行加密;而对于数据密钥而言,每个数据密钥都关联一组密钥属性,包括:根密钥属主(ownerID)、密钥ID(keyID)、属性信息(Attributes)、更新状态(updateStatus),其中,密钥ID与数据密钥一一对应,与ownerID一起可以唯一确定一个数据密钥;属性信息可以包括数据密钥关联的表名(tablename)和列名(columnname)信息。
另一个是根密钥,用于加密数据密钥,是用户访问加密数据的根凭据。在具体应用时,可以为每个数据库独立维护一个密钥仓库,用于管理以及在客户端和服务器之间进行同步密钥操作;具体的,密钥仓库中存储有服务器的内部密钥表,包括根密钥校验表、数据密钥表、密钥映射表,其中,根密钥校验表用于完整性校验服务,而根密钥的分发和更新则会对数据密钥表中数据密文进行加解密。服务器不提供根密钥的生成以及备份功能,用户需要自行承担根密钥的备份。另外,客户端或者enclave可以通过这些内部表进行同步数据操作。需要注意的是,密钥仓库内上述的密钥信息表可以作为普通的数据表,随着数据库一起自动进行备份、迁移,而不需要额外的处理。
另外,在服务器获取到根密钥之后,可以对根密钥的正确性进行验证,具体可以利用根密钥校验表来实现对根密钥的正确性校验,其中,根密钥校验表中存储有根密钥的完整性校验信息,包括盐值和mac值。当客户端将根密钥发送到enclave时,enclave可以从根密钥校验表中获得根密钥的盐值和mac值,而后利用盐值计算收到的根密钥的校验值,并将校验值与mac值进行比较,若校验值与mac值相同,则根密钥正确;若校验值与mac值不同,则根密钥不正确,从而实现了对根密钥的完整性校验。需要注意的是,根密钥校验表始终不会存储任何的根密钥。
此外,数据密钥表可以支持用户通过用户标识信息ownerID和键值标识信息keyID获取数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥,以实现授权用户可以正常读写云数据库内的数据。另外,在根密钥更新时,例如:客户端触发根密钥的更新操作,或者,服务器也可以主动提醒客户端进行根密钥的更新操作;则可以利用更新后的根密钥对数据密钥表中的数据(数据密钥)进行重新加密。当指定的数据密钥更新时,若利用更新后的数据密钥重新对数据进行加密操作,为了避免需要进行大量的数据处理操作,占用较多的数据处理资源,对于利用更新前的数据密钥进行加密处理的数据保持不变,而利用更新后的数据密钥对新的数据进行加密处理操作;也即:不更新旧的数据密钥所对应的数据密钥DEK字段内容,而在数据密钥表中插入新的数据密钥的记录,同时可以设置该旧数据密钥的更新状态,表示该数据密钥有更新。用户可以通过属性信息里的数据行标识信息(tablename)和数据列标识信息(columnname)从密钥映射表中获得最新数据密钥的ID信息。
密钥映射表可以维护属性信息(数据行标识信息tablename和数据列标识信息columnname)到用户标识信息和键值标识信息的映射关系。当数据密钥更新时,需要更新该表中的对应记录信息,确保属性信息始终能够映射到最新的数据密钥的ID信息。具体应用时,数据密钥表中存储了加密数据密钥及其关联的一组密钥属性。加密数据密钥是由ownerID指明的根密钥加密得到的。密钥属性则以明文形式存储。密钥属性中的ownerID和keyID能够唯一确定一个数据密钥,用户可以通过ownerID和keyID请求指定的数据密钥。然而,真实场景下,用户可能需要知道某张表某一列使用的数据密钥,直接通过ID的方式去索引数据密钥,要求用户知道ID与数据密钥的映射关系,这无疑是很困难的。为此,密钥仓库中引入了密钥映射表,该表存储表名和列名到数据密钥ID信息之间的映射关系。对用户而言,通过数据密钥ID即可知道所处理的表和列,因此,用户能够通过表名和列名从密钥映射表获得数据密钥ID信息,进而再通过数据密钥ID信息从数据密钥表获得数据密钥。
step3:服务器接收客户端发送的加密处理请求,通过云数据库确定enclave中的与加密处理请求相对应的加密数据密钥和根密钥,利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果。
在客户端将加密处理请求发送至服务器时,服务器中的数据处理执行引擎负责收发来自或者发往客户端的加密处理请求。当数据处理执行引擎需要处理被加密的敏感数据时,会将敏感数据所对应的加密处理请求转发到enclave。由于客户端可以将根密钥、加密数据密钥安全地与服务器中的enclave中进行共享,因此,在enclave内,可以对加密处理请求进行解密处理,获得敏感数据的明文,进而可以基于明文进行数据处理操作,该数据处理操作包括:数据查询操作、数据分析操作、数据识别操作等等,从而可以获得加密处理结果。
具体的,在通过根密钥和加密数据密钥对加密处理请求进行处理时,可以包括如下步骤:利用根密钥读取相对应的数据密钥表,获得数据密钥的属性信息和加密数据密钥,根据属性信息和加密数据密钥查询密钥映射表,确定与加密数据密钥相对应的数据密钥,而后利用数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求。在获得数据处理请求之后,可以在enclave中进行相应的数据处理操作,从而可以获得数据处理结果,为了保证数据的安全可靠性,可以对数据处理结果进行加密处理,从而可以获得加密处理结果,而后服务器可以将加密处理结果返回给客户端或者存储到数据库中。
另外,本应用实施例中的客户端提供了所有接入服务器所需要的通信接口API,包括根密钥管理、数据密钥管理、数据加解密等。SDK通过建立标准的数据库连接与服务器进行通信,并且复用数据库连接进行密钥管理,与enclave之间完成密钥共享。
具体实现时,本应用实施例的方法可以依赖于开源软件PostgreSQL,仅使用了二进制程序,不涉及修改代码;实现了无需对数据库内核做任何改造,即可直接兼容所有的数据库操作,如支持外存数据和任意查询。另外,该方法基于SGX的enclave来实现数据的加密处理过程,不依赖于SGX Sealing功能提供加密能力,用户只需要信任Intel提供的CPU芯片即可,无需信任服务提供方,进一步提高了数据使用的安全可靠性。此外,该方法还可以支持云上部署环境,通过引入内部密钥仓库的设计支持数据库在不同物理服务器上的任意迁移。此外,通过引入owner的概念,保证不同用户的数据无法进行混合计算,保证用户与用户之间数据的安全隔离;支持细粒度的密钥独立性能力,保证根密钥更新时无需对原有数据进行重新加密处理;支持增量数据更新,保证数据密钥更新时无需立即对原有数据进行重加密。
为了便于理解,举例一个例子进行说明:
客户端的数据处理请求包括以下信息:
选择信息:姓名、余额、移动电话,居住地址; |
发件人:账户; |
账户ID为“190926” |
通过对上述数据处理请求进行分析识别后,可以对数据处理请求中的敏感数据进行加密,从而可以获得加密处理请求,具体的,加密处理请求包括以下信息:
选择信息:姓名、余额、移动电话,居住地址; |
发件人:账户; |
账户ID为“D3A478” |
而后可以将加密处理请求发送至服务器,在服务器端针对加密处理请求进行分析处理,从而可以获得加密处理结果,具体的,加密处理结果可以包括以下信息:
名字:FF01AC |
余额:BA695A798B |
电话:311B787CD2E83865 |
地址:ACCA00CFE0DAA04AEBB13126 |
而后服务器可以将加密处理结果返回至客户端,客户端可以对加密处理结果进行解密,从而可以获得与数据处理请求相对应的数据处理结果,具体的,数据处理结果可以包括以下信息:
名字:Alice |
余额:188,888.00 |
电话:133 3333 3333 |
地址:文一西路969号 |
本应用实施例提供的方法,完全杜绝了服务器、云平台以及运维人员接触到用户数据的明文数据的可能,保证用户对其云上数据的完全所有权,确保:授权用户可以通过现有协议正常读写云端数据库内的数据,未授权用户无法获得被保护用户的明文数据;并且,在云端数据库在提供数据服务的过程中,全程无法获得用户的明文数据,有效地保证了用户数据使用的安全可靠性。
图19为本发明应用实施例提供的一种密钥管理方法的流程示意图;参考附图19所述,本实施例提供了一种密钥管理方法,该方法的执行主体可以是密钥管理装置,可以理解的是,密钥管理装置可以实现为软件、或者软件和硬件的组合。具体应用时,该密钥管理装置可以为服务器,该服务器可以与至少一个客户端通信连接。该方法可以包括:
S901:获取所述至少一个客户端通过远程证明及安全通信协议发送的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对数据密钥进行加密获得的,所述数据密钥用于对数据处理请求进行加密处理。
S902:将所述加密数据密钥和所述根密钥存储在密钥存储区域中。
具体的,在客户端获取到数据密钥和根密钥之后,可以利用数据密钥和根密钥对数据处理请求进行加密处理,在客户端对数据处理请求进行加密处理之后,可以将加密数据密钥和根密钥通过远程证明及安全通信协议发送至服务器,在服务器获取到加密数据密钥和根密钥之后,可以将加密数据密钥和根密钥存储在预设的密钥存储区域中,从而实现了可以对密钥存储区域中的加密数据密钥和根密钥进行迁移存储。
本实施例中,通过引入密钥存储区域,使得密钥存储区域中可以对加密数据密钥和根密钥进行存储管理,从而不仅便于实现云上的部署环境,并且还可以支持数据在不同的物理服务器上进行迁移,进一步提高了该方法使用的灵活可靠性。
图20为本发明应用实施例提供的一种数据处理方法的流程示意图;参考附图20所述,本实施例提供了一种数据处理方法,该方法的执行主体可以是数据处理装置,可以理解的是,数据处理装置可以实现为软件、或者软件和硬件的组合。具体的,该方法可以包括:
S1001:获取与加密处理请求相对应的用户标识信息和键值标识信息,所述加密处理请求是通过数据密钥对待处理请求进行加密处理获得的。
S1002:根据所述用户标识信息和键值标识信息,获得数据密钥的属性信息和通过根密钥对所述数据密钥进行加密处理后的加密数据密钥。
S1003:利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
其中,所述属性信息可以包括:数据行标识信息和数据列标识信息。
本实施例中上述步骤的具体实现过程、实现效果和实现原理与上述图16所示实施例中步骤的具体实现过程、实现效果和实现原理相类似,具体可参考上述陈述内容,在此不再赘述。
本实施例中,通过引入用户标识信息,从而有效地保证了不同用户的数据不会进行混合计算,使得用户之间的数据具有安全隔离;另外,通过数据行和数据列来对数据密钥进行管理,并且可以支持细粒度的密钥独立性能力,进而有效地提高了对数据密钥进行管理的质量和效率。
图21为本发明应用实施例提供的一种数据更新方法的流程示意图;参考附图21所述,本实施例提供了一种数据更新方法,该方法的执行主体可以是数据更新装置,可以理解的是,数据更新装置可以实现为软件、或者软件和硬件的组合。具体的,该方法可以包括:
S1101:获取根密钥和数据密钥,所述根密钥用于对所述数据密钥进行加密处理,所述数据密钥用于对待处理数据进行加密处理。
S1102:识别根密钥是否为更新状态。
S1103:在所述根密钥为更新状态时,则根据更新后的根密钥对所述数据密钥进行加密处理。
在一些实例中,本实施例中的方法还可以包括:
S1201:识别所述数据密钥是否为更新状态。
S1202:在所述数据密钥为更新状态时,则对数据密钥表中存储的更新之前的数据密钥保持不变,并将更新后的所述数据密钥添加至所述数据密钥表中。
本实施例中上述步骤的具体实现过程、实现效果和实现原理与上述图13-图14所示实施例中步骤的具体实现过程、实现效果和实现原理相类似,具体可参考上述陈述内容,在此不再赘述。
本实施例中,通过识别根密钥和数据密钥是否为更新状态,在根密钥为更新状态时,则可以根据更新后的根密钥对所述数据密钥进行加密处理;在数据密钥为更新状态时,则可以对数据密钥表中存储的更新之前的数据密钥保持不变,并将更新后的所述数据密钥添加至所述数据密钥表中;从而有效地实现了根密钥更新时无需对原有数据进行重加密;保证数据密钥更新时,支持增量数据更新,无需立即对原有数据进行重加密,从而提高了数据更新的质量和效率。
图22为本发明实施例提供的一种数据加密装置的结构示意图;参考附图22所示,本实施例提供了一种数据加密装置,该数据加密装置可以执行上述图3所对应的数据加密方法。具体的,该数据加密装置可以包括:第一获取模块11、第一加密模块12和第一发送模块13。其中,
第一获取模块11,用于获取用户针对云数据库输入的数据处理请求;
第一加密模块12,用于利用数据密钥对数据处理请求进行加密处理,获得加密处理请求;
第一发送模块13,用于将加密处理请求发送至服务器,以使服务器确定与加密处理请求相对应的加密数据密钥和根密钥,加密数据密钥是通过根密钥对数据密钥进行加密获得的;并通过加密数据密钥和根密钥在可信执行环境中对加密处理请求进行处理。
进一步的,在第一加密模块12利用数据密钥对数据处理请求进行加密处理,获得加密处理请求时,该第一加密模块12可以用于执行:获取与数据处理请求相对应的敏感数据;利用数据密钥对敏感数据进行加密处理,获得与数据处理请求相对应的加密处理请求。
进一步的,本实施例中的第一加密模块12还可以用于执行:在与服务器进行首次通信连接时,利用远程证明及安全通信协议将根密钥发送至服务器中的可信执行环境。
进一步的,本实施例中的第一发送模块13还可以用于执行:确定与加密处理请求相对应的加密数据密钥;在加密数据密钥为首次应用时,则将加密数据密钥发送至服务器。
进一步的,本实施例中的第一获取模块11和第一加密模块12,还可以用于执行以下步骤:
第一获取模块11,用于接收服务器发送的与加密处理请求相对应的加密处理结果;
第一加密模块12,用于对加密处理结果进行解密处理,获得与数据处理请求相对应的数据处理结果。
图22所示装置可以执行图3-图6、图17-图18所示实施例的方法,本实施例未详细描述的部分,可参考对图3-图6、图17-图18所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3-图6、图17-图18所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图22所示数据加密装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器、客户端等各种设备。如图23所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储支持电子设备执行上述图3-图6、图17-图18所示实施例中多数据加密方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:
获取用户针对云数据库输入的数据处理请求;
利用数据密钥对数据处理请求进行加密处理,获得加密处理请求;
将加密处理请求发送至服务器,以使服务器确定与加密处理请求相对应的加密数据密钥和根密钥,加密数据密钥是通过根密钥对数据密钥进行加密获得的;并通过加密数据密钥和根密钥在可信执行环境中对加密处理请求进行处理。
其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
进一步的,第一处理器21还用于执行前述图3-图6、图17-图18所示实施例中的全部或部分步骤。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图3-图6、图17-图18所示方法实施例中数据加密方法所涉及的程序。
图24为本发明实施例提供的另一种数据加密装置的结构示意图;参考附图24所示,本实施例提供了另一种数据加密装置,该数据加密装置可以执行上述图7所对应的数据加密方法。具体的,该数据加密装置可以包括:第二接收模块31、第二确定模块32、第二处理模块33和第二发送模块34。其中,
第二接收模块31,用于接收至少一个客户端发送的加密处理请求,加密处理请求与一云数据库相对应;
第二确定模块32,用于通过云数据库确定可信执行环境中的与加密处理请求相对应的加密数据密钥和根密钥,加密数据密钥是由根密钥对数据密钥进行加密获得的,数据密钥与加密处理请求相对应;
第二处理模块33,用于利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果;
第二发送模块34,用于将加密处理结果发送至客户端。
进一步的,在接收客户端发送的加密处理请求之前,本实施例中的第二处理模块33还用于执行:获取根密钥中包括的盐值和mac值;基于盐值和mac值对根密钥进行校验;在根密钥通过校验后,则允许利用根密钥和加密数据密钥对加密处理请求进行处理。
进一步的,在第二处理模块33获取根密钥中包括的盐值和mac值时,该第二处理模块33可以用于执行:获取根密钥校验表,根密钥校验表中存储有根密钥的校验信息;基于根密钥校验表确定与根密钥相对应的盐值和mac值。
进一步的,在第二处理模块33基于盐值和mac值对根密钥进行校验时,该第二处理模块33可以用于执行:基于盐值确定与根密钥相对应的理论mac值;在理论mac值与mac值相同时,则确定根密钥通过校验;或者,在理论mac值与mac值不同时,则确定根密钥未通过校验。
进一步的,在确定根密钥未通过校验之后,本实施例中的第二发送模块34还可以用于执行:向客户端发送与根密钥相对应的校验反馈信息,以使客户端根据校验反馈信息对根密钥进行调整。
进一步的,本实施例中的第二处理模块33还用于:确定所述至少一个客户端各自对应的加密处理等级;根据所述加密处理等级确定与所述至少一个客户端相对应的至少一个可信执行环境。
进一步的,在第二处理模块33利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果时,该第二处理模块33可以用于执行:通过根密钥和加密数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求;在可信执行环境中,基于数据处理请求在云数据库中进行数据处理,获得与数据处理请求相对应的数据处理结果;通过根密钥和加密数据密钥对数据处理结果进行加密处理,获得加密处理结果。
进一步的,在第二处理模块33通过根密钥和加密数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求时,该第二处理模块33可以用于执行:通过根密钥读取相对应的数据密钥表,获得数据密钥的属性信息;根据属性信息和加密数据密钥查询密钥映射表,确定与加密数据密钥相对应的数据密钥,密钥映射表中存储有属性信息与数据密钥之间的映射关系;利用数据密钥对加密处理请求进行解密处理,获得与加密处理请求相对应的数据处理请求。
进一步的,属性信息包括:数据行标识信息和数据列标识信息。
进一步的,本实施例中的第二处理模块33还可以用于执行:识别根密钥是否为更新状态;在根密钥为更新状态时,则获取位于数据密钥表中的与根密钥相对应的数据密钥字段;根据更新后的根密钥对数据进行加密处理。
进一步的,本实施例中的第二处理模块33还可以用于执行:识别数据密钥是否为更新状态;在数据密钥为更新状态时,则对数据密钥表中更新之前的数据密钥保持不变,并将更新后的数据密钥添加至数据密钥表中。
进一步的,在接收客户端发送的加密处理请求之后,本实施例中的第二处理模块33还可以用于执行:通过执行引擎对加密处理请求进行识别,获得与加密处理请求相对应的加密数据和未加密数据;将加密数据发送至可信执行环境进行处理,获得与加密数据相对应的第一数据结果,第一数据结果经过加密处理;通过执行引擎对未加密数据进行处理,获得与未加密数据相对应的第二数据结果;根据第一数据结果和第二数据结果获得与加密处理请求相对应的加密处理结果。
进一步的,本实施例中的第二处理模块33还可以用于执行:获取与加密处理请求相对应的用户标识信息和键值标识信息;根据用户标识信息和键值标识信息获得数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥;利用属性信息和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果。
图24所示装置可以执行图7-图18所示实施例的方法,本实施例未详细描述的部分,可参考对图7-图18所示实施例的相关说明。该技术方案的执行过程和技术效果参见图7-图18所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图24所示数据加密装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器、客户端等各种设备。如图25所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储支持电子设备执行上述图7-图18所示实施例中数据加密方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:
接收至少一个客户端发送的加密处理请求,加密处理请求与一云数据库相对应;
通过云数据库确定可信执行环境中的与加密处理请求相对应的加密数据密钥和根密钥,加密数据密钥是由根密钥对数据密钥进行加密获得的,数据密钥与加密处理请求相对应;
利用根密钥和加密数据密钥对加密处理请求进行处理,获得与加密处理请求相对应的加密处理结果;
将加密处理结果发送至客户端。
其中,电子设备的结构中还可以包括第二通信接口43,用于电子设备与其他设备或通信网络通信。
进一步的,第二处理器41还用于执行前述图7-图18所示实施例中的全部或部分步骤。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图7-图18所示方法实施例中数据加密方法所涉及的程序。
图26为本发明实施例提供的一种密钥管理装置的结构示意图;参考附图26所示,本实施例提供了一种密钥管理装置,该密钥管理装置可以执行上述图19所对应的密钥管理方法。具体的,该密钥管理装置与至少一个客户端通信连接,该装置包括:第三获取模块51和第三管理模块54。其中,
第三获取模块51,用于获取所述至少一个客户端通过远程证明及安全通信协议发送的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对数据密钥进行加密获得的,所述数据密钥用于对数据处理请求进行加密处理;
第三管理模块52,用于将所述加密数据密钥和所述根密钥存储在密钥存储区域中。
图26所示装置可以执行图19所示实施例的方法,本实施例未详细描述的部分,可参考对图19所示实施例的相关说明。该技术方案的执行过程和技术效果参见图19所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图26所示密钥管理装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器、客户端等各种设备。如图27所示,该电子设备可以包括:第三处理器61和第三存储器62。其中,第三存储器62用于存储支持电子设备执行上述图19所示实施例中密钥管理方法的程序,第三处理器61被配置为用于执行第三存储器62中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第三处理器61执行时能够实现如下步骤:
获取所述至少一个客户端通过远程证明及安全通信协议发送的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对数据密钥进行加密获得的,所述数据密钥用于对数据处理请求进行加密处理;
将所述加密数据密钥和所述根密钥存储在密钥存储区域中。
其中,电子设备的结构中还可以包括第三通信接口63,用于电子设备与其他设备或通信网络通信。
进一步的,第三处理器61还用于执行前述图19所示实施例中的全部或部分步骤。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图19所示方法实施例中密钥管理方法所涉及的程序。
图28为本发明实施例提供的一种数据处理装置的结构示意图;参考附图28所示,本实施例提供了一种数据处理装置,该数据处理装置可以执行上述图20所对应的数据处理方法。具体的,该数据处理装置可以包括:第四获取模块71和第四处理模块72。其中,
第四获取模块71,用于获取与加密处理请求相对应的用户标识信息和键值标识信息,所述加密处理请求是通过数据密钥对待处理请求进行加密处理获得的;
所述第四获取模块71,还用于根据所述用户标识信息和键值标识信息,获得数据密钥的属性信息和通过根密钥对所述数据密钥进行加密处理后的加密数据密钥;
第四处理模块72,用于利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
其中,所述属性信息包括:数据行标识信息和数据列标识信息。
图28所示装置可以执行图20所示实施例的方法,本实施例未详细描述的部分,可参考对图20所示实施例的相关说明。该技术方案的执行过程和技术效果参见图20所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图28所示数据处理装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器、客户端等各种设备。如图29所示,该电子设备可以包括:第四处理器81和第四存储器82。其中,第四存储器82用于存储支持电子设备执行上述图20所示实施例中数据处理方法的程序,第四处理器81被配置为用于执行第四存储器82中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第四处理器81执行时能够实现如下步骤:
获取与加密处理请求相对应的用户标识信息和键值标识信息,所述加密处理请求是通过数据密钥对待处理请求进行加密处理获得的;
根据所述用户标识信息和键值标识信息,获得数据密钥的属性信息和通过根密钥对所述数据密钥进行加密处理后的加密数据密钥;
利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
其中,电子设备的结构中还可以包括第四通信接口83,用于电子设备与其他设备或通信网络通信。
进一步的,第四处理器81还用于执行前述图20所示实施例中的全部或部分步骤。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图20所示方法实施例中数据处理方法所涉及的程序。
图30为本发明实施例提供的一种数据更新装置的结构示意图;参考附图30所示,本实施例提供了一种数据更新装置,该数据更新装置可以执行上述图21所对应的数据更新方法。具体的,该数据更新装置可以包括:第五获取模块91、第五识别模块92和第五处理模块93。其中,
第五获取模块91,用于获取根密钥和数据密钥,所述根密钥用于对所述数据密钥进行加密处理,所述数据密钥用于对待处理数据进行加密处理;
第五识别模块92,用于识别根密钥是否为更新状态;
第五处理模块93,用于在所述根密钥为更新状态时,则根据更新后的根密钥对所述数据密钥进行加密处理。
在一些实例中,本实施例中的第五识别模块92和第五处理模块93可以用于执行以下步骤:
第五识别模块92,用于识别所述数据密钥是否为更新状态;
第五处理模块93,用于在所述数据密钥为更新状态时,则对数据密钥表中存储的更新之前的数据密钥保持不变,并将更新后的所述数据密钥添加至所述数据密钥表中。
图30所示装置可以执行图21所示实施例的方法,本实施例未详细描述的部分,可参考对图21所示实施例的相关说明。该技术方案的执行过程和技术效果参见图21所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图30所示数据更新装置的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器、客户端等各种设备。如图31所示,该电子设备可以包括:第五处理器101和第五存储器102。其中,第五存储器102用于存储支持电子设备执行上述图21所示实施例中数据更新方法的程序,第五处理器101被配置为用于执行第五存储器102中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第五处理器101执行时能够实现如下步骤:
获取根密钥和数据密钥,所述根密钥用于对所述数据密钥进行加密处理,所述数据密钥用于对待处理数据进行加密处理;
识别根密钥是否为更新状态;
在所述根密钥为更新状态时,则根据更新后的根密钥对所述数据密钥进行加密处理。
其中,电子设备的结构中还可以包括第五通信接口103,用于电子设备与其他设备或通信网络通信。
进一步的,第五处理器101还用于执行前述图21所示实施例中的全部或部分步骤。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图21所示方法实施例中数据更新方法所涉及的程序。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程网络连接设备的处理器以产生一个机器,使得通过计算机或其他可编程网络连接设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程网络连接设备以特定方式楼层的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程网络连接设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (48)
1.一种数据加密系统,其特征在于,包括:至少一个客户端和服务器;
所述至少一个客户端中的任意一个客户端,包括第一通信模块和第一处理模块;
所述第一通信模块,用于通过远程证明及安全通信协议与所述服务器建立通信连接,并接收所述服务器返回的加密处理结果;
所述第一处理模块,用于生成加密处理请求,并将所述加密处理请求通过所述第一通信模块发送至服务器;
所述服务器,包括可信执行环境、第二通信模块和第二处理模块;
所述第二通信模块,用于通过所述远程证明及安全通信协议获取加密处理请求;
所述第二处理模块,用于在所述可信执行环境中,对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果,并将加密处理结果通过所述第二通信模块返回至相对应的客户端;
所述第二处理模块,还用于:
在接收客户端发送的加密处理请求之后,通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于所述可信执行环境之外;
将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;
通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果,所述第二数据结果未经过加密处理;
根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
2.根据权利要求1所述的系统,其特征在于,所述第一处理模块,用于:
获取用户针对云数据库输入的数据处理请求;
利用数据密钥对所述数据处理请求进行加密处理,生成所述加密处理请求。
3.根据权利要求1所述的系统,其特征在于,所述第一处理模块,用于:
获取与数据处理请求相对应的敏感数据;
利用数据密钥对所述敏感数据进行加密处理,生成与所述数据处理请求相对应的加密处理请求。
4.根据权利要求1所述的系统,其特征在于,
所述第一处理模块,还用于确定与所述加密处理请求相对应的加密数据密钥;
所述第一通信模块,还用于在所述加密数据密钥为首次应用时,则将所述加密数据密钥发送至服务器。
5.根据权利要求1所述的系统,其特征在于,所述第二处理模块,还用于:
确定所述至少一个客户端各自对应的加密处理等级;
根据所述加密处理等级确定与所述至少一个客户端相对应的至少一个可信执行环境。
6.根据权利要求1所述的系统,其特征在于,
所述可信执行环境中包括:密钥存储区域,所述密钥存储区域用于存储与加密处理请求相对应的加密数据密钥和根密钥、根密钥校验表,所述根密钥校验表中存储有所述根密钥的校验信息。
7.根据权利要求6所述的系统,其特征在于,所述加密处理请求与一云数据库相对应;所述第二处理模块,还用于:
通过所述云数据库,在所述密钥存储区域中确定所述可信执行环境中的与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是由所述根密钥对数据密钥进行加密获得的,所述数据密钥与所述加密处理请求相对应;
利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
8.根据权利要求7所述的系统,其特征在于,所述第二处理模块,还用于:
在接收客户端发送的加密处理请求之前,获取所述根密钥中包括的盐值和mac值;
基于所述盐值和mac值对所述根密钥进行校验;
在所述根密钥通过校验后,则允许利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理。
9.根据权利要求8所述的系统,其特征在于,所述第二处理模块,还用于:
获取根密钥校验表,所述根密钥校验表中存储有根密钥的校验信息;
基于所述根密钥校验表确定与所述根密钥相对应的盐值和mac值。
10.根据权利要求8所述的系统,其特征在于,所述第二处理模块,还用于:
基于所述盐值确定与所述根密钥相对应的理论mac值;
在所述理论mac值与所述mac值相同时,则确定所述根密钥通过校验;或者,
在所述理论mac值与所述mac值不同时,则确定所述根密钥未通过校验。
11.根据权利要求10所述的系统,其特征在于,所述第二通信模块,还用于:
在确定所述根密钥未通过校验之后,向客户端发送与所述根密钥相对应的校验反馈信息,以使所述客户端根据所述校验反馈信息对所述根密钥进行调整。
12.根据权利要求7所述的系统,其特征在于,所述第二处理模块,还用于:
通过所述根密钥和所述加密数据密钥对所述加密处理请求进行解密处理,获得与所述加密处理请求相对应的数据处理请求;
在所述可信执行环境中,基于所述数据处理请求在所述云数据库中进行数据处理,获得与所述数据处理请求相对应的数据处理结果;
通过所述根密钥和所述加密数据密钥对所述数据处理结果进行加密处理,获得加密处理结果。
13.根据权利要求12所述的系统,其特征在于,所述第二处理模块,还用于:
通过所述根密钥读取相对应的数据密钥表,获得数据密钥的属性信息;
根据所述属性信息和所述加密数据密钥查询密钥映射表,确定与所述加密数据密钥相对应的数据密钥,所述密钥映射表中存储有属性信息与数据密钥之间的映射关系;
利用所述数据密钥对所述加密处理请求进行解密处理,获得与所述加密处理请求相对应的数据处理请求。
14.根据权利要求13所述的系统,其特征在于,所述属性信息包括:数据行标识信息和数据列标识信息。
15.根据权利要求6-14中任意一项所述的系统,其特征在于,所述第二处理模块,还用于:
识别所述根密钥是否为更新状态;
在所述根密钥为更新状态时,则根据更新后的根密钥对数据进行加密处理。
16.根据权利要求6-14中任意一项所述的系统,其特征在于,所述第二处理模块,还用于:
识别所述数据密钥是否为更新状态;
在所述数据密钥为更新状态时,则对所述数据密钥表中更新之前的数据密钥保持不变,并将更新后的所述数据密钥添加至所述数据密钥表中。
17.根据权利要求6-14中任意一项所述的系统,其特征在于,所述第二处理模块,还用于:
获取与所述加密处理请求相对应的用户标识信息和键值标识信息;
根据所述用户标识信息和键值标识信息获得数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥;
利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
18.一种数据加密方法,其特征在于,包括:
获取用户针对云数据库输入的数据处理请求;
利用数据密钥对所述数据处理请求进行加密处理,获得加密处理请求;
将所述加密处理请求发送至服务器,以使所述服务器确定与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对所述数据密钥进行加密获得的;并通过所述加密数据密钥和根密钥在可信执行环境中对所述加密处理请求进行处理;
所述方法还包括:
接收服务器发送的与所述加密处理请求相对应的加密处理结果,所述加密处理结果根据第一数据结果和第二数据结果所获得,其中,所述第一数据结果通过对与所述加密处理请求相对应的加密数据进行加密处理所获得;所述第二数据结果通过对与所述加密处理请求相对应的未加密数据进行处理所获得,所述第二数据结果未经过加密处理,所述加密数据和所述未加密数据是通过执行引擎对所述加密处理请求进行识别所获得,其中,所述执行引擎位于所述可信执行环境之外;
对所述加密处理结果进行解密处理,获得与所述数据处理请求相对应的数据处理结果。
19.根据权利要求18所述的方法,其特征在于,利用数据密钥对所述数据处理请求进行加密处理,获得加密处理请求,包括:
获取与所述数据处理请求相对应的敏感数据;
利用数据密钥对所述敏感数据进行加密处理,获得与所述数据处理请求相对应的加密处理请求。
20.根据权利要求18所述的方法,其特征在于,所述方法还包括:
在与服务器进行首次通信连接时,利用远程证明及安全通信协议将所述根密钥发送至服务器中的可信执行环境。
21.根据权利要求18所述的方法,其特征在于,所述方法还包括:
确定与所述加密处理请求相对应的加密数据密钥;
在所述加密数据密钥为首次应用时,则将所述加密数据密钥发送至服务器。
22.一种数据加密方法,其特征在于,包括:
接收至少一个客户端发送的加密处理请求,所述加密处理请求与一云数据库相对应;
通过所述云数据库确定可信执行环境中的与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是由所述根密钥对数据密钥进行加密获得的,所述数据密钥与所述加密处理请求相对应;
利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果;
将所述加密处理结果发送至客户端;
在接收客户端发送的加密处理请求之后,所述方法还包括:
通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于所述可信执行环境之外;
将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;
通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果;
根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
23.根据权利要求22所述的方法,其特征在于,在接收客户端发送的加密处理请求之前,所述方法还包括:
获取所述根密钥中包括的盐值和mac值;
基于所述盐值和mac值对所述根密钥进行校验;
在所述根密钥通过校验后,则允许利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理。
24.根据权利要求23所述的方法,其特征在于,获取所述根密钥中包括的盐值和mac值,包括:
获取根密钥校验表,所述根密钥校验表中存储有根密钥的校验信息;
基于所述根密钥校验表确定与所述根密钥相对应的盐值和mac值。
25.根据权利要求23所述的方法,其特征在于,基于所述盐值和mac值对所述根密钥进行校验,包括:
基于所述盐值确定与所述根密钥相对应的理论mac值;
在所述理论mac值与所述mac值相同时,则确定所述根密钥通过校验;或者,
在所述理论mac值与所述mac值不同时,则确定所述根密钥未通过校验。
26.根据权利要求25所述的方法,其特征在于,在确定所述根密钥未通过校验之后,所述方法还包括:
向客户端发送与所述根密钥相对应的校验反馈信息,以使所述客户端根据所述校验反馈信息对所述根密钥进行调整。
27.根据权利要求22所述的方法,其特征在于,所述方法还包括:
确定所述至少一个客户端各自对应的加密处理等级;
根据所述加密处理等级确定与所述至少一个客户端相对应的至少一个可信执行环境。
28.根据权利要求27所述的方法,其特征在于,利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果,包括:
通过所述根密钥和所述加密数据密钥对所述加密处理请求进行解密处理,获得与所述加密处理请求相对应的数据处理请求;
在所述可信执行环境中,基于所述数据处理请求在所述云数据库中进行数据处理,获得与所述数据处理请求相对应的数据处理结果;
通过所述根密钥和所述加密数据密钥对所述数据处理结果进行加密处理,获得加密处理结果。
29.根据权利要求28所述的方法,其特征在于,通过所述根密钥和所述加密数据密钥对所述加密处理请求进行解密处理,获得与所述加密处理请求相对应的数据处理请求,包括:
通过所述根密钥读取相对应的数据密钥表,获得数据密钥的属性信息;
根据所述属性信息和所述加密数据密钥查询密钥映射表,确定与所述加密数据密钥相对应的数据密钥,所述密钥映射表中存储有属性信息与数据密钥之间的映射关系;
利用所述数据密钥对所述加密处理请求进行解密处理,获得与所述加密处理请求相对应的数据处理请求。
30.根据权利要求29所述的方法,其特征在于,所述属性信息包括:数据行标识信息和数据列标识信息。
31.根据权利要求22-30中任意一项所述的方法,其特征在于,所述方法还包括:
识别所述根密钥是否为更新状态;
在所述根密钥为更新状态时,则根据更新后的根密钥对数据进行加密处理。
32.根据权利要求22-30中任意一项所述的方法,其特征在于,所述方法还包括:
识别所述数据密钥是否为更新状态;
在所述数据密钥为更新状态时,则对所述数据密钥表中更新之前的数据密钥保持不变,并将更新后的所述数据密钥添加至所述数据密钥表中。
33.根据权利要求22-30中任意一项所述的方法,其特征在于,所述方法还包括:
获取与所述加密处理请求相对应的用户标识信息和键值标识信息;
根据所述用户标识信息和键值标识信息获得数据密钥的属性信息和通过根密钥进行加密处理后的加密数据密钥;
利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果。
34.一种密钥管理方法,其特征在于,应用于服务器,所述服务器与至少一个客户端通信连接,所述方法包括:
获取所述至少一个客户端通过远程证明及安全通信协议发送的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对数据密钥进行加密获得的,所述数据密钥用于对数据处理请求进行加密处理;
将所述加密数据密钥和所述根密钥存储在密钥存储区域中;
所述方法还包括:
接收客户端发送的加密处理请求;
通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于可信执行环境之外;
将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;
通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果;
根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
35.一种数据处理方法,其特征在于,包括:
获取与加密处理请求相对应的用户标识信息和键值标识信息,所述加密处理请求是通过数据密钥对待处理请求进行加密处理获得的;
根据所述用户标识信息和键值标识信息,获得数据密钥的属性信息和通过根密钥对所述数据密钥进行加密处理后的加密数据密钥;
利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果;
获得与所述加密处理请求相对应的加密处理结果,包括:
通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于可信执行环境之外;
将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;
通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果,所述第二数据结果未经过加密处理;
根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
36.根据权利要求35所述的方法,其特征在于,所述属性信息包括:数据行标识信息和数据列标识信息。
37.一种数据更新方法,其特征在于,包括:
获取根密钥和数据密钥,所述根密钥用于对所述数据密钥进行加密处理,所述数据密钥用于对待处理数据进行加密处理;
识别根密钥是否为更新状态;
在所述根密钥为更新状态时,则根据更新后的根密钥对所述数据密钥进行加密处理;
所述方法还包括:
获取加密处理请求;
通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于可信执行环境之外;
将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;
通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果,所述第二数据结果未经过加密处理;
根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
38.根据权利要求37所述的方法,其特征在于,所述方法还包括:
识别所述数据密钥是否为更新状态;
在所述数据密钥为更新状态时,则对数据密钥表中存储的更新之前的数据密钥保持不变,并将更新后的所述数据密钥添加至所述数据密钥表中。
39.一种数据加密装置,其特征在于,包括:
第一获取模块,用于获取用户针对云数据库输入的数据处理请求;
第一加密模块,用于利用数据密钥对所述数据处理请求进行加密处理,获得加密处理请求;
第一发送模块,用于将所述加密处理请求发送至服务器,以使所述服务器确定与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对所述数据密钥进行加密获得的;并通过所述加密数据密钥和根密钥在可信执行环境中对所述加密处理请求进行处理;
所述第一加密模块,还用于接收服务器发送的与所述加密处理请求相对应的加密处理结果,所述加密处理结果包括第一数据结果和第二数据结果,其中,所述第一数据结果通过对与所述加密处理请求相对应的加密数据进行加密处理所获得;所述第二数据结果通过对与所述加密处理请求相对应的未加密数据进行处理所获得,所述第二数据结果未经过加密处理,所述加密数据和所述未加密数据是通过执行引擎对所述加密处理请求进行识别所获得,其中,所述执行引擎位于所述可信执行环境之外;对所述加密处理结果进行解密处理,获得与所述数据处理请求相对应的数据处理结果。
40.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求18至21中任一项所述的数据加密方法。
41.一种数据加密装置,其特征在于,包括:
第二接收模块,用于接收至少一个客户端发送的加密处理请求,所述加密处理请求与一云数据库相对应;
第二确定模块,用于通过所述云数据库确定可信执行环境中的与所述加密处理请求相对应的加密数据密钥和根密钥,所述加密数据密钥是由所述根密钥对数据密钥进行加密获得的,所述数据密钥与所述加密处理请求相对应;
第二处理模块,用于利用所述根密钥和所述加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果;
第二发送模块,用于将所述加密处理结果发送至客户端;
所述第二处理模块,还用于在接收客户端发送的加密处理请求之后,通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于所述可信执行环境之外;将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果;根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
42.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求22至33中任一项所述的数据加密方法。
43.一种密钥管理装置,其特征在于,该密钥管理装置与至少一个客户端通信连接,该装置包括:
第三获取模块,用于获取所述至少一个客户端通过远程证明及安全通信协议发送的加密数据密钥和根密钥,所述加密数据密钥是通过根密钥对数据密钥进行加密获得的,所述数据密钥用于对数据处理请求进行加密处理;
第三管理模块,用于将所述加密数据密钥和所述根密钥存储在密钥存储区域中;
所述第三管理模块,还用于接收客户端发送的加密处理请求;通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于可信执行环境之外;将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果;根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
44.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求34所述的密钥管理方法。
45.一种数据处理装置,其特征在于,包括:
第四获取模块,用于获取与加密处理请求相对应的用户标识信息和键值标识信息,所述加密处理请求是通过数据密钥对待处理请求进行加密处理获得的;
所述第四获取模块,还用于根据所述用户标识信息和键值标识信息,获得数据密钥的属性信息和通过根密钥对所述数据密钥进行加密处理后的加密数据密钥;
第四处理模块,用于利用所述属性信息和加密数据密钥对所述加密处理请求进行处理,获得与所述加密处理请求相对应的加密处理结果;
所述第四处理模块,还用于通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于可信执行环境之外;将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果,所述第二数据结果未经过加密处理;根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
46.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求35-36中任意一项所述的数据处理方法。
47.一种数据更新装置,其特征在于,包括:
第五获取模块,用于获取根密钥和数据密钥,所述根密钥用于对所述数据密钥进行加密处理,所述数据密钥用于对待处理数据进行加密处理;
第五识别模块,用于识别根密钥是否为更新状态;
第五处理模块,用于在所述根密钥为更新状态时,则根据更新后的根密钥对所述数据密钥进行加密处理;
所述第五处理模块,还用于获取加密处理请求;通过执行引擎对所述加密处理请求进行识别,获得与所述加密处理请求相对应的加密数据和未加密数据,其中,所述执行引擎位于可信执行环境之外;将所述加密数据发送至可信执行环境进行处理,获得与所述加密数据相对应的第一数据结果,所述第一数据结果经过加密处理;通过执行引擎对所述未加密数据进行处理,获得与所述未加密数据相对应的第二数据结果,所述第二数据结果未经过加密处理;根据所述第一数据结果和第二数据结果获得与所述加密处理请求相对应的加密处理结果。
48.一种电子设备,其特征在于,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求37-38中任意一项所述的数据更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302836.6A CN112995109B (zh) | 2019-12-17 | 2019-12-17 | 数据加密系统、方法、数据处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302836.6A CN112995109B (zh) | 2019-12-17 | 2019-12-17 | 数据加密系统、方法、数据处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112995109A CN112995109A (zh) | 2021-06-18 |
CN112995109B true CN112995109B (zh) | 2023-05-26 |
Family
ID=76342330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911302836.6A Active CN112995109B (zh) | 2019-12-17 | 2019-12-17 | 数据加密系统、方法、数据处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112995109B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113449293A (zh) * | 2021-07-14 | 2021-09-28 | 上海交通大学 | 基于可信执行环境的密文搜索系统与方法 |
CN117574437B (zh) * | 2024-01-15 | 2024-06-28 | 杭州阿里云飞天信息技术有限公司 | 全密态数据库系统、数据处理方法、安全控制装置及设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885988A (zh) * | 2019-02-18 | 2019-06-14 | 四川迪佳通电子有限公司 | 基于可信执行环境的多媒体文件播放方法、多媒体设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8478996B2 (en) * | 2009-12-21 | 2013-07-02 | International Business Machines Corporation | Secure Kerberized access of encrypted file system |
US9800561B2 (en) * | 2014-11-06 | 2017-10-24 | Intel Corporation | Secure sharing of user annotated subscription media with trusted devices |
CN109905233B (zh) * | 2017-12-08 | 2022-07-29 | 阿里巴巴集团控股有限公司 | 一种设备数据处理方法及系统 |
CN110162981B (zh) * | 2019-04-18 | 2020-10-02 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN110430051B (zh) * | 2019-08-01 | 2022-08-05 | 北京永新视博数字电视技术有限公司 | 一种密钥存储方法、装置及服务器 |
CN110519260B (zh) * | 2019-08-23 | 2020-09-25 | 联想(北京)有限公司 | 一种信息处理方法及信息处理装置 |
CN110493272B (zh) * | 2019-09-25 | 2020-10-02 | 北京风信科技有限公司 | 使用多重密钥的通信方法和通信系统 |
-
2019
- 2019-12-17 CN CN201911302836.6A patent/CN112995109B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109885988A (zh) * | 2019-02-18 | 2019-06-14 | 四川迪佳通电子有限公司 | 基于可信执行环境的多媒体文件播放方法、多媒体设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112995109A (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
LU101903B1 (en) | System and method for storing and accessing private data of Hyperledger Fabric blockchain | |
US8850593B2 (en) | Data management using a virtual machine-data image | |
EP2396922B1 (en) | Trusted cloud computing and services framework | |
US10275603B2 (en) | Containerless data for trustworthy computing and data services | |
EP2396921B1 (en) | Trusted cloud computing and services framework | |
US11290446B2 (en) | Access to data stored in a cloud | |
WO2020042822A1 (zh) | 密码运算、创建工作密钥的方法、密码服务平台及设备 | |
CN105718794B (zh) | 基于vtpm对虚拟机进行安全保护的方法及系统 | |
CN113609221A (zh) | 数据存储方法、数据访问方法、装置和存储介质 | |
CN112995109B (zh) | 数据加密系统、方法、数据处理方法、装置及电子设备 | |
KR101251187B1 (ko) | 서버 기반 컴퓨팅 시스템 및 그 보안 관리 방법 | |
US20230021749A1 (en) | Wrapped Keys with Access Control Predicates | |
AU2021306830B2 (en) | Distributing encrypted data objects | |
JP2022511357A (ja) | データ暗号化に基づく目的に固有のアクセス制御方法、および装置 | |
US11683159B2 (en) | Hybrid content protection architecture | |
CN117879819B (zh) | 密钥管理方法、装置、存储介质、设备及算力服务系统 | |
CN113946864B (zh) | 一种机密信息获取方法、装置、设备及存储介质 | |
US20240048532A1 (en) | Data exchange protection and governance system | |
Giweli | Enhancing cloud computing security and privacy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231220 Address after: Room 1-2-A06, Yungu Park, No. 1008 Dengcai Street, Sandun Town, Xihu District, Hangzhou City, Zhejiang Province Patentee after: Aliyun Computing Co.,Ltd. Address before: Box 847, four, Grand Cayman capital, Cayman Islands, UK Patentee before: ALIBABA GROUP HOLDING Ltd. |