CN117574437A - 全密态数据库系统、数据处理方法、安全控制装置及设备 - Google Patents
全密态数据库系统、数据处理方法、安全控制装置及设备 Download PDFInfo
- Publication number
- CN117574437A CN117574437A CN202410056599.4A CN202410056599A CN117574437A CN 117574437 A CN117574437 A CN 117574437A CN 202410056599 A CN202410056599 A CN 202410056599A CN 117574437 A CN117574437 A CN 117574437A
- Authority
- CN
- China
- Prior art keywords
- data processing
- data
- request
- database
- processing request
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 638
- 238000000034 method Methods 0.000 claims abstract description 85
- 230000008569 process Effects 0.000 claims abstract description 53
- 238000012423 maintenance Methods 0.000 claims description 21
- 230000005540 biological transmission Effects 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 7
- 238000012986 modification Methods 0.000 abstract description 11
- 230000004048 modification Effects 0.000 abstract description 11
- 238000004590 computer program Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000009795 derivation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000012550 audit Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种全密态数据库系统、数据处理方法、安全控制装置及设备。全密态数据库系统包括:安全控制模块和数据处理引擎,安全控制模块设置于全密态数据库所对应的可信区域中,用于获取数据处理请求,对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理,数据处理请求包括经过加密处理后的敏感数据;数据处理引擎与安全控制模块通信连接,且设置于全密态数据库所对应的可信区域中,用于对解密处理请求进行处理,获得数据处理结果。本实施例提供的技术方案,有效地实现了无需对数据库内核进行改造即可进行稳定的数据处理操作,不仅保证了数据处理的安全可靠性,并且还降低了数据库的改造成本。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种全密态数据库系统、数据处理方法、安全控制装置及设备。
背景技术
随着科学技术的飞速发展,人们对数据使用安全的要求越来越高,从而使得加密数据库的应用越来越广泛。目前,加密数据库提供有结构化查询语句(Structured QueryLanguage,简称SQL)算子层面上的密态计算接口,通过上述密态计算接口可以实现数据库对密态数据的处理操作。
然而,在SQL算子层面的密态计算接口需要对数据库内核进行更新调整或者重新配置来实现,这样不仅复杂度较高,并且也增加了数据库的改造成本。
发明内容
本发明实施例提供了一种全密态数据库系统、数据处理方法、安全控制装置及设备,无需对数据库内核进行改造即可稳定地实现数据的处理操作,降低了全密态数据库的改造成本。
第一方面,本发明实施例提供一种全密态数据库系统,包括:
安全控制模块,设置于全密态数据库所对应的可信区域中,用于获取数据处理请求,对所述数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理;其中,所述数据处理请求包括经过加密处理后的敏感数据;
所述数据处理引擎,与所述安全控制模块通信连接,且设置于所述全密态数据库所对应的可信区域中,用于对所述解密处理请求进行处理,获得数据处理结果。
第二方面,本发明实施例提供一种数据处理方法,应用于全密态数据库系统,所述全密态数据库系统包括通信连接的安全控制模块和数据处理引擎,所述安全控制模块和数据处理引擎均位于全密态数据库所对应的可信区域中;所述方法包括:
所述安全控制模块获取数据处理请求,所述数据处理请求包括经过加密处理后的敏感数据;
所述安全控制模块对所述数据处理请求进行解密,获得解密处理请求,并将所述解密处理请求发送至数据处理引擎进行处理;
所述数据处理引擎对所述解密处理请求进行处理,获得数据处理结果。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第二方面中的数据处理方法。
第四方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第二方面中的数据处理方法。
第五方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第二方面中的数据处理方法中的步骤。
第六方面,本发明实施例提供了一种数据处理方法,应用于安全控制模块,所述安全控制模块通信连接有数据处理引擎,且所述安全控制模块和所述数据处理引擎均位于全密态数据库所对应的可信区域中;所述方法包括:
获取数据处理请求,所述数据处理请求包括经过加密处理后的敏感数据;
对所述数据处理请求进行解密,获得解密处理请求,并将所述解密处理请求发送至数据处理引擎进行处理,以使所述数据处理引擎对所述解密处理请求进行处理,获得数据处理结果。
第七方面,本发明实施例提供了一种安全控制装置,所述安全控制装置通信连接有数据处理引擎,且所述安全控制装置和所述数据处理引擎均位于全密态数据库所对应的可信区域中;所述安全控制装置包括:
第二获取模块,用于获取数据处理请求,所述数据处理请求包括经过加密处理后的敏感数据;
第二处理模块,用于对所述数据处理请求进行解密,获得解密处理请求,并将所述解密处理请求发送至数据处理引擎进行处理,以使所述数据处理引擎对所述解密处理请求进行处理,获得数据处理结果。
第八方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第六方面中的数据处理方法。
第九方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第六方面中的数据处理方法。
第十方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第六方面中的数据处理方法中的步骤。
本实施例提供的全密态数据库系统、数据处理方法、安全控制装置及设备,通过安全控制模块获取数据处理请求,由于数据处理请求为密文的处理请求,因此,在安全控制模块获取到数据处理请求之后,通过对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理,而后利用数据处理引擎对解密处理请求进行处理,从而有效地实现了基于全密态数据库的数据加密处理操作,由于安全控制模块与用于执行数据处理操作的数据处理引擎相互独立,且安全控制模块和数据处理引擎均位于全密态数据库所对应的可信区域中,有效地实现了无需对数据库内核进行改造即可进行稳定的数据处理操作,并且还降低了数据库的改造成本,进一步保证了该系统的实用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种全密态数据库系统的原理示意图;
图2为本发明实施例提供的一种全密态数据库系统的结构示意图;
图3为本发明实施例提供的另一种全密态数据库系统的结构示意图;
图4为本发明实施例提供的基于全密态数据库系统所实现的数据处理操作的流程图;
图5为本发明实施例提供的一种数据处理方法的流程示意图;
图6为与图5所示实施例提供的数据处理方法对应的电子设备的结构示意图;
图7为本发明实施例提供的另一种数据处理方法的流程示意图;
图8为本发明实施例提供的一种安全控制装置的结构示意图;
图9为与图8所示实施例提供的安全控制装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
术语定义:
可信执行环境:Trusted Execution Environment,简称TEE,可以提供与外界隔离的安全执行环境,通过安全执行环境可以保护其内代码和数据不会被泄露或恶意篡改,TEE运行时的实例称之为enclave。
远程认证:RemoteAttestation,简称RA,用于证明目标服务运行在可信的TEE环境中、且目标服务代码功能与预期相符;第三方应用可以使用RA与目标服务建立端到端的认证信道,并进一步建立安全信道。
可信区域:TrustedDomain,即用户需要信任该域内的服务。
全密态安全网关:SecureGateway,简称SecureGW,作用于数据库连接链路上,提供额外的安全功能,例如:数据加解密、数据授权鉴定等。
数据密钥:Data Encryption Key,简称DEK,用于加密用户数据。
主密钥:Master Encryption Key,简称MEK,用于加密数据密钥DEK。
透明数据加密:TransparentDataEncryption,简称TDE,是一种对应用无感的透明落盘加解密方案,数据在落盘前使用用户指定密钥进行加密,从磁盘读取加载到内存前进行解密,在内存中存储的数据为明文。
为了便于理解本实施例中技术方案的实现原理和实现效果,下面先对相关技术进行简要说明:
全密态数据库采用机密计算能力,使得数据在用户侧(客户端)进行加密之后,在非受信的服务端全程只需要以密文形式存在,但是仍然支持所有的数据库事务、查询、分析等操作,这样不仅可以最小化人员、平台管理等不可控因素所容易造成的潜在数据安全隐患,并且可以有效杜绝云数据库服务(或应用服务等数据拥有者以外的任何人)接触到用户的明文数据,避免云端数据发生泄漏,同时还能够防止研发运维窃取数据、无惧数据库账号泄露。客户能够完全拥有数据的所有权,确保:(1)数据库在提供数据服务的过程中,外部无法获得用户的明文数据;(2)授权用户可以通过现有协议正常读写数据库内的数据;(3)未授权用户无法获得被保护用户的明文数据。
目前,全密态数据库一般通过提供结构化查询语句(Structured QueryLanguage,简称SQL)算子层面上的密态计算接口来实现数据库对密态数据的处理操作。然而,上述方式存在缺陷:
(1)密态SQL算子在使用形式上与普通数据库有差异,这使得应用接入数据库时,通常需要进行适配,应用侧的改造成本高;
(2)数据库对密态数据的处理能力受密态SQL算子的实现丰富度限制,功能只是普通数据库的子集,很难满足应用多样化需求;
(3)在密态SQL算子实现上,通常需要对数据库内核进行改造,这样不仅改造的复杂性较大,并且工程成本高。
为了解决上述技术问题,本实施例提供了一种全密态数据库系统、数据处理方法、安全控制装置及设备,参考附图1所示,全密态数据库系统可以包括:设置于全密态数据库所对应的可信区域中的安全控制模块200和数据处理引擎300,上述的安全控制模块200与客户端100通信连接,以使得用户可以通过客户端100来对全密态数据库系统进行应用,在一些实例中,数据处理引擎300可以位于数据库内核中,并且,此时的数据库内核中可以主要包括用于实现数据处理操作的数据处理引擎300。
其中,全密态数据库系统可以实现为云服务器或者云服务平台,云服务平台能够提供全密态数据库的服务,具体可以通过对外提供服务接口来实现,用户调用该服务接口以使用相应的服务。服务接口包括软件开发工具包(Software Development Kit,简称SDK)、应用程序接口(Application Programming Interface,简称API)等形式。或者,在物理实现上,全密态数据库系统可以是任何能够提供计算服务,响应于数据处理请求,并进行处理的设备,例如:可以是集群服务器、常规服务器、云服务器、云主机、虚拟中心等。全密态数据库系统的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
上述的客户端100可以是任何具有一定数据传输能力的计算设备,具体实现时,客户端100可以是手机、个人电脑PC、平板电脑、设定应用程序等等。此外,客户端100的基本结构可以包括:至少一个处理器。处理器的数量取决于客户端100的配置和类型。客户端100也可以包括存储器,该存储器可以为易失性的,例如:随机存取存储器(Random AccessMemory,缩写RAM),也可以为非易失性的,例如只读存储器(Read-Only Memory,简称ROM)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(OperatingSystem,简称OS)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,客户端100还包括一些基本配置,例如:网卡芯片、IO总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如:键盘、鼠标、输入笔、打印机等。其它外围设备在本领域中是众所周知的,在此不做赘述。
在上述本实施例中,客户端100可以与安全控制模块200进行网络连接,该网络连接可以是无线或有线网络连接。若客户端100与安全控制模块200是通信连接,该移动网络的网络制式可以为2G(GSM)、2.5G(GPRS)、3G(WCDMA、TD-SCDMA、CDMA2000、UTMS)、4G(LTE)、4G+(LTE+)、WiMax、5G、6G等中的任意一种。
在本申请实施例中,客户端100可以生成、存储或者获取与全密态数据系统相对应的原始处理请求,为了避免出现数据泄漏的情况,保证数据运算的安全性,可以对明文的原始处理请求进行加密处理,获得数据处理请求,为了能够实现数据处理操作,可以将密文的数据处理请求发送至全密态数据库系统,这样有效地实现了将明文的原文处理请求以密文的方式发送至全密态数据系统,以使得全密态数据系统获得密文的数据处理请求。
安全控制模块200,用于获取客户端100发送的数据处理请求,该数据处理请求中可以包括经过加密处理后的敏感数据,由于安全控制模块200位于全密态数据库所对应的可信区域中,因此,在获取到数据处理请求之后,可以对数据处理请求进行解密处理,获得明文的解密处理请求,为了稳定地实现数据处理操作,可以将明文的解密处理请求发送至数据处理引擎300进行处理。
数据处理引擎300,用于获取安全控制模块200所发送的解密处理请求,而后可以基于解密处理请求进行相对应的数据处理操作,并获得明文的数据处理结果,从而有效地实现了基于全密态数据库的数据处理操作。
在上述实现过程中,通过设置于全密态数据库所对应的可信区域中的安全控制模块和数据处理引擎进行全密态数据库的数据处理操作,由于安全控制模块与用于执行数据处理操作的数据处理引擎相互独立,从而有效地实现了无需对数据库内核进行改造即可稳定地实现数据的处理操作,这样不仅降低了数据库的改造成本,并且数据处理的复杂度较低。
下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图2为本发明实施例提供的一种全密态数据库系统的结构示意图;参考附图2所示,本实施例提供了一种全密态数据库系统,该全密态数据库系统无需对数据库内核进行改造即可稳定地实现数据处理操作,具体的,该全密态数据库系统可以包括:
安全控制模块200,设置于全密态数据库所对应的可信区域中,用于获取数据处理请求,对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎300进行处理;其中,数据处理请求包括经过加密处理后的敏感数据;
数据处理引擎300,与安全控制模块200通信连接,且设置于全密态数据库所对应的可信区域中,用于对解密处理请求进行处理,获得数据处理结果。
其中,全密态数据库对应有可信区域,可信区域为用户信任的区域,在可信区域内的服务可以被用户所信任,具体的,用户可以根据应用需求或者设置需求对设置于可信区域内的服务进行灵活配置或者调整操作;为了能够基于全密态数据库进行稳定、安全的数据处理操作,全密态数据库系统中的安全控制模块200和数据处理引擎300可以位于全密态数据库所对应的可信区域中。
另外,对于安全控制模块200和数据处理引擎300而言,不同的应用场景可以实现不同的部署方式,例如,参考附图2所示,数据库内核位于可信区域中,数据处理引擎300位于数据库内核中,安全控制模块200位于数据库内核之外,且与数据库内核通信连接,此时,位于数据库内核中的数据为明文数据。或者,参考附图3所示,数据库内核位于可信区域中,安全控制模块200和数据处理引擎300均位于数据库内核中。上述不同的部署方式可以适用于不同的应用场景,从而有效地实现了可以将安全控制模块200和数据处理引擎300灵活、稳定地的部署在可信区域中,不仅保证了数据处理的安全可靠性,并且还提高了全密态数据库系统实现的灵活可靠性。
对于上述图2中的安全控制模块200和数据处理引擎300的布局方式而言,当用户未经过安全控制模块200对可信区域中的数据处理引擎300进行访问操作时,则无法防止上述场景中的数据泄露风险,举例来说,在用户获取到数据库内核的登录方式之后,可以在可信区域内直连数据处理引擎,此时总是可以看到数据明文,针对上述情况,任何安全隔离技术都无法防止内部的主动泄露。当上述场景中存在数据泄露的情况时,则可以通过数据库日志和审计等管理手段进行事后追责操作,以便对非法用户进行相对应的防护或者处罚操作,例如:可以禁用用户的本地登录方式。
对于上述图3中的安全控制模块200和数据处理引擎300的布局方式而言,由于安全控制模块200和数据处理引擎300均位于数据库内核中,此时的安全控制模块200可以防止大部分对数据库内核进行的数据访问操作;但是,当用户通过本地登录后,并利用dump数据库运行时内存的方式则可以直接查看到存储在数据库内核中的数据明文,即此时并不能防止上述场景中存在的数据泄露风险。当上述场景中存在数据泄露的情况时,则可以通过数据库与操作系统日志和审计等管理手段进行事后追责操作,以便对非法用户进行相对应的防护或者触发操作,例如:可以禁用用户的本地登录方式。
具体的,当用户针对全密态数据库存在数据处理需求时,可以使得全密态数据库系统中的安全控制模块200获取数据处理请求,其中,该数据处理请求中包括经过加密处理后的敏感数据,即数据处理请求可以为密文的请求信息。在一些实例中,安全控制模块200可以通信连接有客户端,用户通过客户端生成明文的数据处理请求,并对明文的数据处理请求中的敏感数据进行加密,从而可以获得经过加密处理的数据处理请求,在客户端获取到经过加密处理的数据处理请求之后,可以将加密的数据处理请求发送至安全控制模块200,从而使得安全控制模块200可以被动地获取到数据处理请求。
在另一些实例中,安全控制模块200不仅可以被动地获取到数据处理请求,还可以主动地获取到数据处理请求,此时,安全控制模块200可以通信连接有预设设备,预设设备可以按照预设周期生成数据处理请求(例如:设备维护请求、数据安全性检查请求等等),该数据处理请求包括经过加密处理的敏感数据,而后安全控制模块200可以主动地通过预设设备获取到数据处理请求,从而使得安全控制模块200可以稳定地获取到数据处理请求。
由于安全控制模块200位于全密态数据库所对应的可信区域中,在可信区域中可以基于明文的数据处理请求进行处理操作,因此,在获取到密文的数据处理请求之后,可以对数据处理请求进行解密操作,在一些实例中,对数据处理请求进行解密,获得解密处理请求可以包括:获取数据处理请求中包括的敏感数据;确定用于对敏感数据进行处理的解密密钥,其中,解密密钥可以是通过随机数值和用户主密钥进行派生处理所获得;利用解密密钥对数据处理请求进行解密,获得解密处理请求,该解密处理请求为经过解密处理操作之后所获得的处理请求,从而有效地保证了对解密处理请求进行分析处理的稳定可靠性。
为了能够基于全密态数据库实现数据处理操作,在安全控制模块200获取到解密处理请求之后,可以将解密处理请求发送至数据处理引擎300进行处理,从而使得数据处理引擎300稳定地获取到解密处理请求,而后数据处理引擎300可以对解密处理请求进行处理,获得数据处理结果,由于数据处理引擎300位于全密态数据库所对应的可信区域中,从而有效地实现了可以稳定地进行数据处理操作。
另外,对于全密态数据库系统而言,全密态数据库中的数据可以以明文的形式存在于内存中,为了能够保证数据处理的安全可靠性,可以将全密态数据库中的存储数据进行落盘存储,具体的,数据处理引擎300可以连接有存储区域,在存储区域为本地存储区域时,该存储区域与数据处理引擎300直连;在存储区域为云存储区域时,该存储区域与数据处理引擎300网络连接。对于全密态数据库中的存储数据而言,可以利用透明数据加密(TransparentDataEncryption,简称TDE)技术对全密态数据库中的存储数据进行加密处理,获得加密数据,并将加密数据存储在存储区域中,从而保证了数据处理的安全可靠性。
本实施例提供的全密态数据库系统,通过安全控制模块获取数据处理请求,由于数据处理请求为密文的处理请求,因此,在安全控制模块获取到数据处理请求之后,通过对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理,而后利用数据处理引擎对解密处理请求进行处理,从而有效地实现了基于全密态数据库的数据加密处理操作,由于安全控制模块与用于执行数据处理操作的数据处理引擎相互独立,且安全控制模块和数据处理引擎均位于全密态数据库所对应的可信区域中,有效地实现了无需对数据库内核进行改造即可进行稳定的数据处理操作,并且还降低了数据库的改造成本,进一步保证了该系统的实用性,有利于市场的推广与应用。
在上述实施例的基础上,参考附图2-图3所示,安全控制模块200不仅可以直接通过客户端获取到数据处理请求,还可以通过数据库接入模块400获取到数据处理请求,此时,该系统还可以包括:与安全控制模块200和客户端通信连接的数据库接入模块400,数据库接入模块400用于:通过客户端获取原始处理请求;在原始处理请求中包括敏感数据时,对敏感数据进行加密,获得数据处理请求;将数据处理请求发送至安全控制模块200。
其中,数据库接入模块400可以设置于安全控制模块200与客户端之间,或者,数据库接入模块400可以设置于客户端内,即数据库接入模块400可以与客户端集成为一体,只要能够使得客户端可以通过数据库接入模块400针对全密态数据库进行相对应的数据处理操作即可。具体的,当用户针对全密态数据库存在数据处理需求时,可以使得客户端生成或者获取原始处理请求,在一些实例中,客户端生成或者获取原始处理请求可以包括:显示人机交互界面;获取用户在人机交互界面输入的执行操作;基于执行操作生成或者获取原始处理请求。或者,原始处理请求不仅可以通过人机交互操作所获得,还能够通过预设的定时任务所获得,此时,在另一些实例中,客户端生成或者获取原始处理请求可以包括:获取预设定时周期;在时间满足预设设定周期时,则可以生成或者获取原始处理请求,从而有效地保证了对原始处理请求进行获取的准确可靠性。或者,原始处理请求可以通过预设的应用代码逻辑所生成,本领域技术人员可以根据具体的应用场景或者应用需求对原始处理请求的获取方式进行灵活调整或者配置操作,只要能够保证对原始处理请求进行获取的稳定可靠性即可,在此不再赘述。
具体的,客户端所生成的原始处理请求为明文的处理数据,为了能够实现基于全密态数据库的数据处理操作,客户端可以将明文的原始处理请求发送至数据库接入模块400,从而使得数据库接入模块400可以稳定地通过客户端获取原始处理请求。由于原始处理请求为明文的处理请求,为了能够保证数据处理的安全可靠性,可以先识别原始处理请求中是否包括敏感数据,其中,识别原始处理请求是否包括敏感数据可以包括:获取用于对原始处理请求进行分析处理的加密规则信息,利用加密规则信息对原始处理请求进行分析处理,以识别原始处理请求是否包括敏感数据。
在原始处理请求中不包括敏感数据时,则说明此时的原始处理请求不涉及需要进行加密操作的相关数据,此时,数据库接入模块400可以直接将原始处理请求发送至安全控制模块200进行相对应的数据处理操作;在原始处理请求中包括敏感数据时,则说明此时的原始处理请求涉及需要进行加密操作的相关数据,因此,为了能够保证数据处理的安全可靠性,在数据库接入模块400获取到原始处理请求之后,可以对原始处理请求中的敏感数据进行加密处理,从而可以获得数据处理请求,该数据处理请求即为密文的请求信息,而后者可以将数据处理请求发送至安全控制模块200,从而有效地保证了安全控制模块200可以稳定地获取到数据处理请求。
另外,本实施例对于对原始处理请求中的敏感数据进行加密处理操作的具体实现方式不做限定,在一些实例中,加密处理操作可以通过预设加密算法或者预设机器学习模型所实现,此时,在数据库接入模块400对敏感数据进行加密,获得数据处理请求时,数据库接入模块400用于:获取用于对敏感数据进行加密处理操作的预设加密算法或者预设机器学习模型;利用预设加密算法或者预设机器学习模型对原始处理请求中的敏感数据进行加密处理,获得数据处理请求。
在另一些实例中,不仅可以通过预设加密算法或者预设机器学习模型来实现加密处理操作,还可以通过数据加密密钥对原始处理请求中的敏感数据进行加密处理操作,此时,在数据库接入模块400对敏感数据进行加密,获得数据处理请求时,数据库接入模块400用于:获取与原始处理请求相对应的主密钥以及用于对敏感数据进行加密的随机数值;基于主密钥和随机数值,生成数据加密密钥;利用数据加密密钥对敏感数据进行加密,获得数据处理请求。
具体的,在数据库接入模块400获取到原始处理请求时,可以获取与原始处理请求相对应的主密钥,在一些实例中,获取与原始处理请求相对应的主密钥可以包括:获取预先配置的原始处理请求与主密钥之间的映射关系,具体的,主密钥可以与原始处理请求中的用户身份标识之间存在映射关系;基于映射关系和原始处理请求来获取与原始处理请求相对应的主密钥,这样可以实现不同用户所执行的用于实现同一功能的原始处理请求可以对应有不同的主密钥。或者,与原始处理请求相对应的主密钥可以存储在预设区域中,此时,通过访问预设区域可以获取与原始处理请求相对应的主密钥,从而有效地保证了对主密钥进行获取的准确可靠性。
需要注意的是,对于与原始处理请求相对应的主密钥而言,不同类型的原始处理请求可以对应有不同的主密钥,在一些实例中,在原始处理请求为第一类型运维请求时,与原始处理请求相对应的主密钥为空值,其中,第一类型运维请求用于实现与用户数据无关的运维操作,例如:原始处理请求可以为系统启动请求、系统停止请求、实例建立请求等等,上述的数据可以是指存储在全密态数据库中的用户数据;在原始处理请求为第二类型运维请求时,则与原始处理请求相对应的主密钥为非空值,不同用户所对应的非控制的主密钥可以不同,其中,第二类型运维请求用于实现与用户数据有关的运维操作,例如:原始处理请求可以为数据写入请求、数据更新请求、数据编辑请求等等。
在获取到原始处理请求之后,为了能够准确地对原始处理请求进行稳定的加密处理操作,数据库接入模块400还可以获取用于对敏感数据进行加密的随机数值,在获取到主密钥和随机数值之后,可以对主密钥和随机数值进行分析处理,具体的,基于主密钥和随机数值,生成数据加密密钥可以包括:利用预设算法或者预设机器学习模型对主密钥和随机数值进行分析处理,从而可以稳定地生成数据加密密钥。在获取到数据加密密钥之后,利用数据加密密钥对原始处理请求中的敏感数据进行加密处理,从而有效地保证了对数据处理请求进行获取的准确可靠性。
本实施例中,数据库接入模块通过客户端获取原始处理请求;在原始处理请求中包括敏感数据时,数据库接入模块可以对敏感数据进行加密,获得数据处理请求;将数据处理请求发送至安全控制模块,这样有效地保证了对密文的数据处理请求进行获取的准确可靠性,保证了该全密态数据库系统的实用性。
在上述实施例的基础上,继续参考附图2所示,由于数据库接入模块400获取到原始处理请求之后,数据库接入模块400可以基于主密钥生成数据加密密钥,并可以利用数据加密密钥对敏感数据进行加密操作,并可以将加密处理后的数据处理请求发送至安全控制模块200,而安全控制模块200获取到加密处理后的数据处理请求之后,需要对加密处理后的数据处理请求进行解密处理操作,为了能够稳定地对加密处理后的数据处理请求进行解密处理操作,数据库接入模块400需要将用于对原始处理请求进行加密处理的主密钥传输至安全控制模块200,为了能够稳定地实现主密钥的安全传输操作,本实施例中的数据库接入模块400还用于:获取用于对主密钥进行加密传输的公钥;利用公钥对主密钥进行加密,获得加密主密钥;将加密主密钥发送至安全控制模块200,以使安全控制模块200基于与公钥相对应的私钥对加密主密钥进行处理,获取主密钥,并利用主密钥对数据处理请求进行解密。
具体的,由于主密钥是用户预先配置的用于实现数据处理操作的信息,若以明文的方式对主密钥在全密态数据库中进行传输,则会增加数据泄露的风险。因此,为了避免对明文的主密钥在全密态数据库系统中进行传输操作,在数据库接入模块400获取到与原始处理请求相对应的主密钥之后,可以获取用于对主密钥进行加密传输的公钥,在一些实例中,获取用于对主密钥进行加密传输的公钥可以包括:显示人机交互界面;获取用户在人机交互界面中输入的执行操作;基于执行操作获取用于对主密钥进行加密传输的公钥。或者,公钥可以是全密态数据库系统所分配的,此时,获取用于对主密钥进行加密传输的公钥可以包括:数据库接入模块400响应于所获得的原始处理请求,生成公钥获取请求;并将公钥获取请求发送至安全控制模块200,安全控制模块200响应于公钥获取请求,获取与公钥获取请求相对应的预设分配公钥,并将预设分配公钥发送至数据库接入模块400,从而使得数据库接入模块400可以稳定地获取到用于对主密钥进行加密传输的公钥。
为了能够实现对主密钥进行加密传输操作,在获取到公钥和主密钥之后,可以利用公钥对主密钥进行加密,获得加密主密钥;在获取到加密主密钥之后,可以将加密主密钥发送至安全控制模块200,以使安全控制模块200基于与公钥相对应的私钥对加密主密钥进行处理,获取主密钥,并利用主密钥对数据处理请求进行解密,这样实现了对密文的主密钥在数据库接入模块400和安全控制模块200之间进行安全地传输操作,进而保证了数据处理的安全可靠性。
在上述实施例的基础上,继续参考附图2-图3所示,本实施例中的全密态数据库系统不仅可以实现加密的数据处理操作,获得数据处理结果,并可以实现对数据处理结果进行安全地传输操作,以使客户端可以稳定地查看到数据处理结果,具体的,本实施例中的数据处理引擎300、安全控制模块200和数据库接入模块400用于执行以下步骤:
数据处理引擎300,还用于在获得数据处理结果之后,将数据处理结果发送至安全控制模块200;
安全控制模块200,还用于在数据处理结果中包括敏感数据时,则生成加密密钥,利用加密密钥对数据处理结果进行加密,获得加密处理结果,并将加密处理结果和随机数值发送至数据库接入模块400,其中,加密密钥通过随机数值以及与数据处理请求相对应的主密钥所确定;
数据库接入模块400,用于基于随机数值对加密处理结果进行解密,获得解密处理结果,并将解密处理结果发送至客户端。
具体的,在数据处理引擎300获取到数据处理结果之后,可以将明文的数据处理结果发送至安全控制模块200,在安全控制模块200获取到数据处理结果之后,可以先识别数据处理结果中是否包括敏感数据,在一些实例中,安全控制模块200中存储有或者缓存有用于判断敏感数据的加密规则信息,此时,识别数据处理结果中是否包括敏感数据可以包括:获取存储在安全控制模块200中存储的加密规则信息,利用加密规则信息对数据处理结果进行分析处理,以识别数据处理结果中是否包括敏感数据。
在数据处理结果中不包括敏感数据时,则安全控制模块200可以直接将数据处理结果发送至数据库接入模块400,以使得数据库接入模块400可以将数据处理结果发送至客户端,以使得用户通过客户端可以直接查看到数据处理结果。在数据处理结果中包括敏感数据时,为了保证数据处理的安全可靠性,安全控制模块200可以生成用于对数据处理结果中的敏感数据进行加密操作的加密密钥,其中,加密密钥可以通过随机数值以及与数据处理请求相对应的主密钥所确定,具体的,主密钥可以与数据处理请求中的用户身份标识相对应,在一些实例中,加密密钥可以利用密钥导出函数(Key derivation function,简称KDF) 算法或者其他预设加密算法对随机数值以及主密钥进行派生处理所获得。
在获取到加密密钥之后,为了能够稳定地对数据处理结果进行安全传输操作,可以利用加密密钥对数据处理结果进行加密,获得加密处理结果,并将加密处理结果和随机数值发送至数据库接入模块400,其中,加密密钥通过随机数值以及与数据处理请求相对应的主密钥所确定。在数据库接入模块400获取到加密处理结果和随机数值之后,可以基于随机数值对加密处理结果进行解密处理操作,从而可以获得解密处理结果,为了能够使得用户能够查看到明文的解密处理结果,在数据库接入模块400获得解密处理结果之后,可以将解密处理结果发送至客户端。
本实施例中,在获得数据处理结果之后,数据处理引擎300可以将数据处理结果发送至安全控制模块200;在数据处理结果中包括敏感数据时,安全控制模块200可以生成加密密钥,而后可以利用加密密钥对数据处理结果进行加密,获得加密处理结果,并将加密处理结果和随机数值发送至数据库接入模块400,在数据库接入模块400获取到加密处理结果之后,可以基于随机数值对加密处理结果进行解密,获得解密处理结果,并将解密处理结果发送至客户端,从而有效地实现了可以稳定地对数据处理结果进行安全、可靠地传输操作,进一步提高了该全密态数据库系统的实用性。
在上述实施例的基础上,继续参考附图2-图3所示,在安全控制模块200获取数据处理请求之后,为了保证数据处理的安全可靠性,本实施例中的安全控制模块200还能够实现对数据处理操作的用户身份进行合法性识别操作,此时,本实施例中的安全控制模块200还用于:获取与数据处理请求相对应的用户身份标识;基于用户身份标识,判断数据处理请求的用户是否为授权用户;在用户为授权用户时,则基于与用户身份标识相对应的主密钥对数据处理请求进行加密,以使客户端获得满足预期要求的明文的数据处理结果;在用户为非授权用户时,则基于与用户身份标识不存在对应关系的主密钥对数据处理请求进行加密,以使客户端无法获得满足预期要求的明文的数据处理结果。
具体的,在安全控制模块200获取到数据处理请求之后,为了能够保证数据处理操作的安全可靠性,安全控制模块200可以获取与数据处理请求相对应的用户身份标识,在一些实例中,用户身份标识可以通过预设映射关系来获得,此时,获取与数据处理请求相对应的用户身份标识可以包括:获取用于对数据处理请求进行分析处理的预设映射关系,基于预设应用关系和数据处理请求,确定与数据处理请求相对应的用户身份标识。
在获取到用户身份标识之后,可以基于预设白名单来判断数据处理请求的用户是否为授权用户,基于用户身份标识,判断数据处理请求的用户是否为授权用户可以包括:获取用于对数据处理请求的用户进行分析处理的预设白名单,预设白名单中包括多个授权用户的标准身份标识;识别预设白名单中是否存在与用户身份标识相匹配的标准身份标识;在预设白名单中存在与用户身份标识相匹配的标准身份标识时,则确定用户为授权用户;在预设白名单中不存在与用户身份标识相匹配的标准身份标识时,则确定用户为非授权用户。
在另一些实例中,不仅可以通过预设白名单来判断用户是否为授权用户,还可以结合用户是否对应有主密钥来判断用户是否为授权用户,此时,在安全控制模块200基于用户身份标识,判断数据处理请求的用户是否为授权用户时,安全控制模块200还用于:检测用户身份标识是否对应有主密钥;在用户身份标识未对应有主密钥时,则确定用户为非授权用户;在用户身份标识对应有主密钥时,则基于主密钥与注册主密钥,判断数据处理请求的用户是否为授权用户。
具体的,在获取到用户身份标识之后,可以利用预设映射关系来检测用户身份标识是否对应有主密钥,在用户身份标识未对应有主密钥时,则可以确定用户为非授权用户;在用户身份标识对应有主密钥时,可以直接确定用户为授权用户。或者,为了能够进一步保证对用户是否为授权用户进行判断的准确可靠性,在用户身份标识对应有主密钥时,可以进一步基于主密钥与注册主密钥来判断数据处理请求的用户是否为授权用户。此时,基于主密钥与注册主密钥,判断数据处理请求的用户是否为授权用户可以包括:获取用于对主密钥和注册主密钥进行分析处理的预设机器学习模型或者神经网络模型,将主密钥和注册主密钥发送至预设机器学习模型或者神经网络模型中,获得机器学习模型或者神经网络模型输出的判断结果,该判断结果用于标识数据处理请求的用户是否为授权用户。
在另一些实例中,不仅可以通过预设机器学习模型或者神经网络模型来判断用户是否为授权用户,还可以直接对主密钥和注册主密钥进行分析计算来实现授权用户的判断操作,此时,基于主密钥与注册主密钥,判断数据处理请求的用户是否为授权用户可以包括:对主密钥进行计算,获得与主密钥相对应的计算哈希值,对注册主密钥进行计算,获得与注册主密钥相对应的注册哈希值,对计算哈希值和注册哈希值进行分析匹配,在计算哈希值与注册哈希值相匹配时,则确定用户为授权用户;在计算哈希值与注册哈希值不匹配时,则确定用户为非授权用户,这样稳定地实现了对用户是否为授权用户进行准确的判断或者识别操作。
在确定用户为授权用户时,则说明此时的用户能够安全地进行数据处理操作,进而可以基于与用户身份标识相对应的主密钥对数据处理请求进行加密,以使客户端获得满足预期要求的明文的数据处理结果,即用户能够获得想要的数据处理结果,例如:在数据处理请求为用户想要查询近3个月内某一产品的销售量的请求时,通过全密态数据库系统的数据处理操作,返回的数据处理结果可以为“近3个月内某一产品的销售量为100万件”。
在用户为非授权用户时,则说明此时的用户不能安全进行数据处理操作,进而可以基于与用户身份标识不存在对应关系的主密钥对数据处理请求进行加密,其中,与用户身份标识不存在对应关系的主密钥可以包括以下任意之一:随机生成的主密钥,预先配置的默认主密钥等等,由于数据处理请求并不是基于与用户身份标识相对应的主密钥进行加密处理操作所获得的,在安全控制模块200无法对加密的数据处理结果进行正确的解密操作,从而使得客户端无法通过数据库接入模块400获取到满足预期要求的明文的数据处理结果,即使客户端无法获得满足预期要求的明文的数据处理结果,例如:在数据处理请求为用户想要查询近3个月内某一产品的销售量的请求时,通过全密态数据库系统的数据处理操作,返回的数据处理结果可以为“产品的单价为17元/件”,显然的,数据处理结果与上述的数据处理请求并不对应,因此使得用户无法完成预设的数据处理操作。
在又一些实例中,在用户为授权用户之后,本实施例中的安全控制模块200可以对用户针对数据处理请求是否存在访问权限进行判断,此时,本实施例中的安全控制模块200还用于:基于用户身份标识,确定用户的访问权限;基于访问权限,判断用户针对数据处理请求所对应的数据是否具有访问权限;在具有访问权限时,则允许基于与用户身份标识相对应的主密钥对数据处理请求进行加密;在不具有访问权限时,则禁止基于与用户身份标识相对应的主密钥对数据处理请求进行加密。
对于全密态数据库系统而言,不同的用户可以配置有不同访问权限的用户,例如:用户甲可以针对全密态数据库系统中的所有数据具有访问权限,用户乙可以针对全密态数据库系统中的部分数据具有访问权限,用户丙针对全密态数据库系统中的任何数据不具有任何访问权限。因此,在确定用户为授权用户时,为了能够保证数据处理的安全可靠性,在获取到用户身份标识之后,可以基于用户身份标识来确定用户的访问权限,具体的,可以基于预设映射关系和用户身份标识来确定用户的访问权限。
在确定用户的访问权限之后,可以基于访问权限来判断用户针对数据处理请求所对应的数据是否具有访问权限,在一些实例中,基于访问权限,判断用户针对数据处理请求所对应的数据是否具有访问权限可以包括:获取数据处理请求所对应的数据所对应的访问权限需求;判断访问权限是否满足访问权限需求;在访问权限满足访问权限需求时,则确定用户针对数据处理请求所对应的数据具有访问权限;在访问权限不满足访问权限需求时,则确定用户针对数据处理请求所对应的数据不具有访问权限。
在用户针对数据处理请求所对应的数据具有访问权限时,则说明此时的用户不仅为合法的授权用户,并且还具有相对应的数据访问权限,进而则允许基于与用户身份标识相对应的主密钥对数据处理请求进行加密;相对应的,在用户针对数据处理请求所对应的数据不具有访问权限时,则说明此时的用户虽然为合法的授权用户,但是不具有相对应的数据访问权限,进而可以禁止基于与用户身份标识相对应的主密钥对数据处理请求进行加密,这样有效地保证了数据处理的安全可靠性。
本实施例中,通过安全控制模块200获取与数据处理请求相对应的用户身份标识;基于用户身份标识判断数据处理请求的用户是否为授权用户;在用户为授权用户时,则基于与用户身份标识相对应的主密钥对数据处理请求进行加密,以使客户端获得满足预期要求的明文的数据处理结果;在用户为非授权用户时,则基于与用户身份标识不存在对应关系的主密钥对数据处理请求进行加密,以使客户端无法获得满足预期要求的明文的数据处理结果,这样有效地实现了允许授权用户进行合法的数据处理操作,并能够得到正确的数据处理结果;禁止非授权用户进行正常的数据处理操作,即用户无法获得正确的数据处理结果,从而有效地保证了全密态数据库系统使用的安全可靠性。
在上述任意一个实施例的基础上,继续参考附图2-图3所示,本实施例中的安全控制模块200不仅可以实现安全、可靠地数据处理操作,还能够实现对密文元数据进行管理操作,此时,本实施例中的安全控制模块200还用于:获取与密文元数据相对应的数据写入请求,其中,密文元数据包括用于实现加密数据处理操作的以下至少之一:用于识别敏感数据的加密规则信息、用户身份校验码、加密算法参数,且密文元数据存储在元数据库中;确定数据写入请求所对应的用户签名信息;基于用户签名信息,识别数据写入请求是否为合法请求;在数据写入请求为合法请求时,则允许基于数据写入请求将密文元数据存储在元数据库中;在数据写入请求为非法请求时,则禁止基于数据写入请求将密文元数据存储在元数据库中。
具体的,在用户调用全密态数据库系统进行数据处理操作时,全密态数据库系统可以对用于实现数据处理操作的密文元数据进行缓存、存储以及管理操作,其中,密文元数据可以包括以下至少之一:用于识别敏感数据的加密规则信息、用户身份校验码、加密算法参数,上述的管理操作可以包括以下至少之一:密文元数据的写入操作、密文元数据的更新操作、密文元数据的删除操作等等,下面以对密文元数据的写入操作作为对密文元数据的管理操作为例进行说明:
在用户针对密文元数据存在数据写入需求时,则可以使得安全控制模块200获取与密文元数据相对应的数据写入请求,在获取到数据写入请求之后,可以对数据写入请求的合法性进行验证操作,此时,可以先确定数据写入请求所对应的用户签名信息,而后可以基于用户签名信息来识别数据写入请求是否为合法请求,具体的,在用户签名信息与数据写入请求所对应的注册签名信息相匹配时,则可以确定数据写入请求为合法请求;在用户签名信息与数据写入请求所对应的注册签名信息不匹配时,则可以确定数据写入请求为非法请求。
在确定数据写入请求为合法请求时,则说明此时可以对密文元数据进行合法的写入操作,进而则允许基于数据写入请求将密文元数据存储在元数据库中;在数据写入请求为非法请求时,为了保证密文元数据的合法存储和管理操作,则可以禁止基于数据写入请求将密文元数据存储在元数据库中。
本实施例中,通过安全控制模块200获取与密文元数据相对应的数据写入请求,确定数据写入请求所对应的用户签名信息;基于用户签名信息识别数据写入请求是否为合法请求;在数据写入请求为合法请求时,则允许基于数据写入请求将密文元数据存储在元数据库中;在数据写入请求为非法请求时,则禁止基于数据写入请求将密文元数据存储在元数据库中,从而有效地实现了对密文元数据进行合法的写入操作,相类似的,可以利用相类似的实现方式和实现过程实现对密文元数据的其他管理操作,例如:密文元数据的写操作和读操作,上述的写操作可以包括以下至少之一:写入操作、更新操作、删除等等,上述的读操作可以包括查询操作,从而可以实现对密文元数据的合法性、完整性保护操作,进一步提高了该全密态数据库系统使用的安全可靠性。
具体应用时,参考附图2-图4所示,本应用实施例提供了一种通用的全密态数据库系统,该全密态数据库系统可以包括数据库接入模块、安全控制模块、数据处理引擎,数据库接入模块通信连接有客户端,或者,数据库接入模块可以设置于客户端中,安全控制模块与数据库接入模块和数据处理引擎通信连接,上述的安全控制模块与数据处理引擎可以位于可信区域中,在一些实例中,安全控制模块可以位于全密态的数据库代理服务中,即安全控制模块可以在全密态的数据库代理服务上合并实现,此时的全密态的数据库代理服务为授信节点。对于安全控制模块和数据处理引擎而言,在一些实例中,数据处理引擎可以位于全密态数据库的内核中,而安全控制模块可以位于全密态数据库的内核之外;或者,安全控制模块和数据处理引擎均位于全密态数据库的内核中。
具体的,基于上述的全密态数据库系统可以实现数据处理操作,该数据处理操作可以包括以下步骤:
步骤1:用户在客户端发起查询请求SQL,该查询请求SQL为明文的请求SQL,而后可以将明文的请求SQL发送至数据库接入模块;
步骤2:数据库接入模块获取到明文的请求SQL之后,可以对明文请求SQL进行加密处理,获得加密SQL,而后可以将加密后的密文SQL发送至安全控制模块;
其中,安全控制模块起着“数据操作控制”的作用,对于数据库用户访问而言,包括普通数据库用户远程访问(应用视角)、以及运维数据库用户本地访问(运维视角)都需要通过安全控制模块,这样可以确保查询始终仅能看到密文。
步骤3:安全控制模块获取到密文SQL之后,对密文SQL进行解密操作,获得明文SQL,并可以将明文SQL发送至数据处理引擎(数据库内核);
具体的,在安全控制模块获取到密文SQL之后,可以对密文SQL中的敏感数据进行解密处理,从而可以还原得到明文的SQL。
步骤4:在数据处理引擎获取到明文SQL之后,可以基于明文SQL执行查询计算,获得数据处理结果,而后可以将明文的数据处理结果返回给安全控制模块;
步骤5:安全控制模块获取到明文的数据处理结果之后,可以获取用户预先配置的加密规则,利用加密规则判断明文的数据处理结果中是否包括敏感数据;若包括敏感数据,则随机生成本地会话的随机数值,基于随机数值动态计算得到数据密钥DEK,而后可以使用数据密钥DEK对数据处理结果中的敏感数据进行加密,获得密文数据结果,并将密文数据结果发送至数据库接入模块。
其中,基于随机数值动态计算得到数据密钥DEK可以包括:获取用户主密钥,基于KDF算法对随机数值和用户主密钥进行动态派生操作,从而可以获得数据密钥DEK,具体的,DEK=KDF(MEK,nonce),nonce为随机数值(例如8B随机数)、MEK为用户主密钥,KDF为预设的加密算法,DEK为数据密钥。
在获取到密文数据结果之后,可以将随机数值与密文数据结果一同发送至数据库接入模块,具体的,在获取到密文数据结果和随机数值之后,可以对随机数值和密文数据结果进行拼接处理,获得拼接处理结果,而后可以将拼接处理结果发送至数据库接入模块。例如:在nonce为随机数值,DEK为数据密钥,data为敏感数据,则密文数据结果可以为Enc(DEK, data),对随机数值与密文数据结果的拼接结果为Cipher,该Cipher=nonce || Enc(DEK, data),随机数值可以拼接在密文数据结果的包头位置、包尾位置或者中间位置等等,本领域技术人员可以根据具体的应用场景或者应用需求对拼接的方式进行灵活调整或者配置操作,只要能够稳定地生成拼接结果即可,在此不再赘述。
需要注意的是,对于全密态数据库系统而言,全密态数据库系统可以具有不同的使用模式,即全密态数据库模式和普通数据库模式,具体的,在安全控制模块中配置有用于识别敏感数据的加密规则时,则确定全密态数据库系统处于全密态数据模式;在安全控制模块中未配置有用于识别敏感数据的加密规则时,则确定全密态数据库系统处于普通数据库模式。具体应用时,用户可以根据应用需求或者设计需求对安全控制模块中的加密规则进行灵活配置或者调整操作,从而有效地实现了对全密态数据库系统的使用模式进行灵活调整或者配置操作。
另外,为了能够提高全密态数据库系统使用的安全可靠性,对加密规则进行配置的角色/账号与数据库的登录账号相互独立,这样即使数据库账号泄露,也不影响管理安全性。
步骤6:在数据库接入模块获取到密文数据结果时,对密文处理结果进行解密操作,获得明文处理结果,并将明文处理结果发送至客户端。
其中,在密文数据结果包括多条查询记录时,数据库接入模块可以逐个处理查询记录,并对其中的密文内容进行解密,从而可以获得明文处理结果,具体的,对其中的密文内容进行解密可以包括:获取密文数据处理结果中包括的随机数值,以相同的方式动态计算得到解密密钥DEK,而后可以利用解密密钥DEK进行解密,获得明文处理结果。
步骤7:对于全密态数据库系统中的存储数据或者缓存数据而言,可以利用透明数据加密算法TDE对全密态数据库系统中的存储数据或者缓存数据进行加密操作,并将加密后的数据存储在预设区域中,上述的存储数据或者缓存数据可以包括加密规则、日志文件、配置数据或者运行数据等等。
其中,数据在数据库内核(DBKernel)始终以明文方式存在于内存中,在落盘存储时,可以结合TDE技术进行加密,保证落盘安全。此外,本实施例中的全密态数据库系统可以实现密文元数据的管理操作,其中,密文元数据可以包含用户配置的加密规则信息、用户身份校验码、加密数据所使用算法参数等,全密态数据库系统可以将密文元数据信息持久化到数据库内部保护表中,并提供统一的管理功能。
对于数据库内部保护表而言,可以提供完整性保护,这样可以实现任何写入操作均需要验证写入操作为合法用户签发、验证通过后由全密态模块进行写入,而数据库内部保护表中数据不可被全密态模块之外的任何用户修改,这样有效地保证了数据存储的安全可靠性。
本应用实施例提供的全密态数据库系统,以旁路安全控制模块的方式提供安全防护,对数据库内核可以做到无侵入,易于工程实现,且具备通用性;并且,全密态数据库系统可以支持所有已有的SQL算子,目前的SQL算子可不经修改直接在全密态数据库上执行,例如:支持明文SQL进行模糊匹配查询等等,同时,该全密态系统方案不需要在客户端做额外改造,仅需几行配置即可接入,已有代码无需任何修改,该全密态数据库系统可以兼容存量数据库,数据库可无感升级到全密态数据库,也可以无感回滚成普通数据库,从而保证了该全密态数据库系统使用的灵活可靠性。
具体的,通过在已有的数据库实例前置一个安全控制模块,使用用户提供的密钥对查询结果中对加密规则中指定的敏感数据进行加密,结果以密文方式返回给数据库接入模块;再由数据库接入模块完成对密文结果的解密,还原得到明文结果,并返回给客户端,在上述整个过程中,除了数据库内核以及应用客户端,查询结果始终以密文形式存在,并且功能应用透明,安全控制模块作为数据库服务的一个部分,所有数据库访问都经由安全控制模块,确保无论是远程访问还是本地访问,都无法绕过安全检查,从而保证了数据处理的安全可靠性;另外,通过在数据库内核中集成有安全控制模块,使得查询结果从内核返回前就已完成结果加密,可以降低或者防止平台用户本地访问(平台视角)以后端登录直连数据库内核的方式绕过安全控制模块进行访问控制,以能够查询获得数据明文的风险,即使数据库管控和运维也只能看到密文查询结果,从而保证了数据使用的安全可靠性,进一步提高了该系统的实用性,有利于市场的推广与应用。
图5为本发明实施例提供的一种数据处理方法的流程示意图;参考附图5所示,本实施例提供了一种数据处理方法,该方法的执行主体为全密态数据库系统,即该数据处理方法可以应用于全密态数据库系统,参考附图2-图4所示,全密态数据库系统可以包括通信连接的安全控制模块和数据处理引擎,安全控制模块和数据处理引擎均位于全密态数据库所对应的可信区域中。基于上述的全密态数据库系统,该数据处理方法可以包括:
步骤S501:安全控制模块获取数据处理请求,数据处理请求包括经过加密处理后的敏感数据;
步骤S502:安全控制模块对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理;
步骤S503:数据处理引擎对解密处理请求进行处理,获得数据处理结果。
在一些实例中,在安全控制模块获取数据处理请求之前,方法还包括:获取用户注册请求;显示用户注册页面;响应于用户在用户注册页面上的执行操作,获得用户注册信息以及注册主密钥。
在一些实例中,通过数据库接入模块获取客户端发送的原始处理请求,其中,数据库接入模块与安全控制模块和客户端通信连接;在原始处理请求中包括敏感数据时,通过数据库接入模块对敏感数据进行加密,获得数据处理请求;通过数据库接入模块将数据处理请求发送至安全控制模块。
在一些实例中,对敏感数据进行加密,获得数据处理请求可以包括:获取与原始处理请求相对应的主密钥以及用于对敏感数据进行加密的随机数值;基于主密钥和随机数值,生成数据加密密钥;利用数据加密密钥对敏感数据进行加密,获得数据处理请求。
在一些实例中,在原始处理请求为第一类型运维请求时,与原始处理请求相对应的主密钥为空值,其中,第一类型运维请求用于实现与用户数据无关的运维操作,用户数据存储在全密态数据库中;
在原始处理请求为第二类型运维请求时,则与原始处理请求相对应的主密钥为非空值,其中,第二类型运维请求用于实现与用户数据有关的运维操作。
在一些实例中,本实施例中的方法可以包括:获取用于对主密钥进行加密传输的公钥;利用公钥对主密钥进行加密,获得加密主密钥;将加密主密钥发送至安全控制模块,以使安全控制模块基于与公钥相对应的私钥对加密主密钥进行处理,获取主密钥,并利用主密钥对数据处理请求进行解密。
在一些实例中,在获得数据处理结果之后,本实施例中的方法可以包括:通过数据处理引擎将数据处理结果发送至安全控制模块;在数据处理结果中包括敏感数据时,通过安全控制模块生成加密密钥,利用加密密钥对数据处理结果进行加密,获得加密处理结果,并将加密处理结果和随机数值发送至数据库接入模块,其中,加密密钥通过随机数值以及与数据处理请求相对应的主密钥所确定;通过数据库接入模块基于随机数值对加密处理结果进行解密,获得解密处理结果,并将解密处理结果发送至客户端。
在一些实例中,在获取数据处理请求之后,本实施例中的方法可以包括:通过安全控制模块获取与数据处理请求相对应的用户身份标识;基于用户身份标识,判断数据处理请求的用户是否为授权用户;在用户为授权用户时,则基于与用户身份标识相对应的主密钥对数据处理请求进行加密,以使客户端获得满足预期要求的明文的数据处理结果;在用户为非授权用户时,则基于与用户身份标识不存在对应关系的主密钥对数据处理请求进行加密,以使客户端无法获得满足预期要求的明文的数据处理结果。
在一些实例中,基于用户身份标识,判断数据处理请求的用户是否为授权用户可以包括:检测用户身份标识是否对应有主密钥;在用户身份标识未对应有主密钥时,则确定用户为非授权用户;在用户身份标识对应有主密钥时,则基于主密钥与注册主密钥,判断数据处理请求的用户是否为授权用户。
在一些实例中,在用户为授权用户之后,本实施例中的方法还可以包括:通过安全控制模块基于用户身份标识,确定用户的访问权限;基于访问权限,判断用户针对数据处理请求所对应的数据是否具有访问权限;在具有访问权限时,则允许基于与用户身份标识相对应的主密钥对数据处理请求进行加密;在不具有访问权限时,则禁止基于与用户身份标识相对应的主密钥对数据处理请求进行加密。
在一些实例中,安全控制模块和数据处理引擎位于数据库内核中,数据库内核位于可信区域中;或者,
数据处理引擎位于数据库内核中,安全控制模块位于数据库内核之外,且与数据库内核通信连接,数据库内核位于可信区域中。
在一些实例中,本实施例中的方法可以包括:通过安全控制模块获取与密文元数据相对应的数据写入请求,其中,密文元数据包括用于实现加密数据处理操作的以下至少之一:用于识别敏感数据的加密规则信息、用户身份校验码、加密算法参数,且密文元数据存储在元数据库中;确定数据写入请求所对应的用户签名信息;基于用户签名信息,识别数据写入请求是否为合法请求;在数据写入请求为合法请求时,则允许基于数据写入请求将密文元数据存储在元数据库中;在数据写入请求为非法请求时,则禁止基于数据写入请求将密文元数据存储在元数据库中。
需要注意的是,本实施例中的数据处理方法的具体执行步骤、步骤实现原理和步骤实现效果与上述图1-图4中全密态数据库系统的具体执行步骤、步骤实现原理和步骤实现效果相类似,本实施例未详细描述的部分,可参考对图1-图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图4所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图5所示数据处理方法的执行主体可实现为一电子设备。参考附图6所示,本实施例中的数据处理方法的执行主体可以实现为一全密态数据库系统,全密态数据库系统包括通信连接的安全控制模块和数据处理引擎,安全控制模块和数据处理引擎均位于全密态数据库所对应的可信区域中;具体的,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图6所示实施例中提供的数据处理方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:安全控制模块获取数据处理请求,数据处理请求包括经过加密处理后的敏感数据;安全控制模块对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理;数据处理引擎对解密处理请求进行处理,获得数据处理结果。
进一步的,第一处理器21还用于执行前述图5所示实施例中的全部或部分步骤。其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图5所示方法实施例中的数据处理方法所涉及的程序。
此外,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行图5所示方法实施例中的数据处理方法。
图7为本发明实施例提供的另一种数据处理方法的流程示意图;参考附图7所示,本实施例提供了另一种数据处理方法,该方法的执行主体为安全控制模块,参考附图2-图4所示,安全控制模块通信连接有数据处理引擎,且安全控制模块和数据处理引擎均位于全密态数据库所对应的可信区域中。基于上述的安全控制模块,该数据处理方法可以包括:
步骤S701:获取数据处理请求,数据处理请求包括经过加密处理后的敏感数据;
步骤S702:对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理,以使数据处理引擎对解密处理请求进行处理,获得数据处理结果。
需要注意的是,本实施例中的数据处理方法的具体执行步骤、步骤实现原理和步骤实现效果与上述图1-图4中安全控制模块的具体执行步骤、步骤实现原理和步骤实现效果相类似,本实施例未详细描述的部分,可参考对图1-图4所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1-图4所示实施例中的描述,在此不再赘述。
图8为本发明实施例提供的一种安全控制装置的结构示意图;参考附图8所示,本实施例提供了一种安全控制装置,该安全控制装置通信连接有数据处理引擎,且安全控制装置和数据处理引擎均位于全密态数据库所对应的可信区域中;本实施例中的安全控制装置可以执行上述图7所示的数据处理方法,具体的,该安全控制装置可以包括:
第二获取模块31,用于获取数据处理请求,数据处理请求包括经过加密处理后的敏感数据;
第二处理模块32,用于对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理,以使数据处理引擎对解密处理请求进行处理,获得数据处理结果。
图8所示装置可以执行图7所示实施例的方法,本实施例未详细描述的部分,可参考对图7所示实施例的相关说明。该技术方案的执行过程和技术效果参见图7所示实施例中的描述,在此不再赘述。
在一个可能的设计中,图8所示安全控制装置的结构可实现为一电子设备。如图9所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储相对应电子设备执行上述图7所示实施例中提供的数据处理方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:获取数据处理请求,数据处理请求包括经过加密处理后的敏感数据;对数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理,以使数据处理引擎对解密处理请求进行处理,获得数据处理结果。
进一步的,第二处理器41还用于执行前述图7所示实施例中的全部或部分步骤。
其中,电子设备的结构中还可以包括第二通信接口43,用于电子设备与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图7所示方法实施例中数据处理方法所涉及的程序。
此外,本发明实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述图7所示方法实施例中数据处理方法中的步骤。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种全密态数据库系统,其特征在于,包括:
安全控制模块,设置于全密态数据库所对应的可信区域中,用于获取数据处理请求,对所述数据处理请求进行解密,获得解密处理请求,并将解密处理请求发送至数据处理引擎进行处理;其中,所述数据处理请求包括经过加密处理后的敏感数据;
所述数据处理引擎,与所述安全控制模块通信连接,且设置于所述全密态数据库所对应的可信区域中,用于对所述解密处理请求进行处理,获得数据处理结果。
2.根据权利要求1所述的系统,其特征在于,所述系统还包括:与所述安全控制模块和客户端通信连接的数据库接入模块,所述数据库接入模块,用于:
通过所述客户端获取原始处理请求;
在所述原始处理请求中包括敏感数据时,对所述敏感数据进行加密,获得数据处理请求;
将所述数据处理请求发送至所述安全控制模块。
3.根据权利要求2所述的系统,其特征在于,在所述数据库接入模块对所述敏感数据进行加密,获得数据处理请求时,所述数据库接入模块用于:
获取与所述原始处理请求相对应的主密钥以及用于对所述敏感数据进行加密的随机数值;
基于所述主密钥和随机数值,生成数据加密密钥;
利用所述数据加密密钥对所述敏感数据进行加密,获得数据处理请求。
4.根据权利要求3所述的系统,其特征在于,
在所述原始处理请求为第一类型运维请求时,与所述原始处理请求相对应的主密钥为空值,其中,所述第一类型运维请求用于实现与用户数据无关的运维操作,所述用户数据存储在全密态数据库中;
在所述原始处理请求为第二类型运维请求时,则与所述原始处理请求相对应的主密钥为非空值,其中,所述第二类型运维请求用于实现与用户数据有关的运维操作。
5.根据权利要求3所述的系统,其特征在于,所述数据库接入模块还用于:
获取用于对所述主密钥进行加密传输的公钥;
利用所述公钥对所述主密钥进行加密,获得加密主密钥;
将所述加密主密钥发送至所述安全控制模块,以使所述安全控制模块基于与所述公钥相对应的私钥对所述加密主密钥进行处理,获取主密钥,并利用所述主密钥对所述数据处理请求进行解密。
6.根据权利要求3所述的系统,其特征在于,
所述数据处理引擎,还用于在获得数据处理结果之后,将所述数据处理结果发送至所述安全控制模块;
所述安全控制模块,还用于在所述数据处理结果中包括敏感数据时,则生成加密密钥,利用所述加密密钥对所述数据处理结果进行加密,获得加密处理结果,并将所述加密处理结果和所述随机数值发送至所述数据库接入模块,其中,所述加密密钥通过随机数值以及与所述数据处理请求相对应的主密钥所确定;
所述数据库接入模块,用于基于所述随机数值对所述加密处理结果进行解密,获得解密处理结果,并将所述解密处理结果发送至客户端。
7.根据权利要求1所述的系统,其特征在于,在所述安全控制模块获取数据处理请求之后,所述安全控制模块还用于:
获取与所述数据处理请求相对应的用户身份标识;
基于所述用户身份标识,判断所述数据处理请求的用户是否为授权用户;
在所述用户为授权用户时,则基于与所述用户身份标识相对应的主密钥对所述数据处理请求进行加密,以使客户端获得满足预期要求的明文的数据处理结果;
在所述用户为非授权用户时,则基于与所述用户身份标识不存在对应关系的主密钥对所述数据处理请求进行加密,以使客户端无法获得满足预期要求的明文的数据处理结果。
8.根据权利要求7所述的系统,其特征在于,在所述安全控制模块基于所述用户身份标识,判断所述数据处理请求的用户是否为授权用户时,所述安全控制模块用于:
检测所述用户身份标识是否对应有主密钥;
在所述用户身份标识未对应有主密钥时,则确定所述用户为非授权用户;
在所述用户身份标识对应有主密钥时,则基于所述主密钥与注册主密钥,判断所述数据处理请求的用户是否为授权用户。
9.根据权利要求7所述的系统,其特征在于,在所述用户为授权用户之后,所述安全控制模块,还用于:
基于所述用户身份标识,确定所述用户的访问权限;
基于所述访问权限,判断用户针对所述数据处理请求所对应的数据是否具有访问权限;
在具有访问权限时,则允许基于与所述用户身份标识相对应的主密钥对所述数据处理请求进行加密;
在不具有访问权限时,则禁止基于与所述用户身份标识相对应的主密钥对所述数据处理请求进行加密。
10.根据权利要求1-9中任意一项所述的系统,其特征在于,
所述安全控制模块和所述数据处理引擎位于数据库内核中,所述数据库内核位于可信区域中;或者,
所述数据处理引擎位于数据库内核中,所述安全控制模块位于所述数据库内核之外,且与所述数据库内核通信连接,所述数据库内核位于可信区域中。
11.根据权利要求1-9中任意一项所述的系统,其特征在于,所述安全控制模块,还用于:
获取与密文元数据相对应的数据写入请求,其中,所述密文元数据包括用于实现加密数据处理操作的以下至少之一:用于识别敏感数据的加密规则信息、用户身份校验码、加密算法参数,且所述密文元数据存储在元数据库中;
确定所述数据写入请求所对应的用户签名信息;
基于所述用户签名信息,识别所述数据写入请求是否为合法请求;
在所述数据写入请求为合法请求时,则允许基于所述数据写入请求将所述密文元数据存储在所述元数据库中;
在所述数据写入请求为非法请求时,则禁止基于所述数据写入请求将所述密文元数据存储在所述元数据库中。
12.一种数据处理方法,其特征在于,应用于全密态数据库系统,所述全密态数据库系统包括通信连接的安全控制模块和数据处理引擎,所述安全控制模块和数据处理引擎均位于全密态数据库所对应的可信区域中;所述方法包括:
所述安全控制模块获取数据处理请求,所述数据处理请求包括经过加密处理后的敏感数据;
所述安全控制模块对所述数据处理请求进行解密,获得解密处理请求,并将所述解密处理请求发送至数据处理引擎进行处理;
所述数据处理引擎对所述解密处理请求进行处理,获得数据处理结果。
13.一种数据处理方法,其特征在于,应用于安全控制模块,所述安全控制模块通信连接有数据处理引擎,且所述安全控制模块和所述数据处理引擎均位于全密态数据库所对应的可信区域中;所述方法包括:
获取数据处理请求,所述数据处理请求包括经过加密处理后的敏感数据;
对所述数据处理请求进行解密,获得解密处理请求,并将所述解密处理请求发送至数据处理引擎进行处理,以使所述数据处理引擎对所述解密处理请求进行处理,获得数据处理结果。
14.一种安全控制装置,其特征在于,所述安全控制装置通信连接有数据处理引擎,且所述安全控制装置和所述数据处理引擎均位于全密态数据库所对应的可信区域中;所述安全控制装置包括:
第二获取模块,用于获取数据处理请求,所述数据处理请求包括经过加密处理后的敏感数据;
第二处理模块,用于对所述数据处理请求进行解密,获得解密处理请求,并将所述解密处理请求发送至数据处理引擎进行处理,以使所述数据处理引擎对所述解密处理请求进行处理,获得数据处理结果。
15.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述权利要求12-13中任意一项的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410056599.4A CN117574437B (zh) | 2024-01-15 | 2024-01-15 | 全密态数据库系统、数据处理方法、安全控制装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410056599.4A CN117574437B (zh) | 2024-01-15 | 2024-01-15 | 全密态数据库系统、数据处理方法、安全控制装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117574437A true CN117574437A (zh) | 2024-02-20 |
CN117574437B CN117574437B (zh) | 2024-06-28 |
Family
ID=89886546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410056599.4A Active CN117574437B (zh) | 2024-01-15 | 2024-01-15 | 全密态数据库系统、数据处理方法、安全控制装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117574437B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103217A1 (en) * | 2015-10-09 | 2017-04-13 | Microsoft Technology Licensing, Llc | Controlling secure processing of confidential data in untrusted devices |
US20180131517A1 (en) * | 2016-11-09 | 2018-05-10 | Sap Se | Secure Database Featuring Separate Operating System User |
EP3447667A1 (de) * | 2017-08-23 | 2019-02-27 | Bundesdruckerei GmbH | Kryptographische sicherung für eine verteilte datenspeicherung |
CN112699399A (zh) * | 2021-03-22 | 2021-04-23 | 阿里云计算有限公司 | 加密数据库系统、实现加密数据库系统的方法以及装置 |
CN112995109A (zh) * | 2019-12-17 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 数据加密系统、方法、数据处理方法、装置及电子设备 |
CN113672973A (zh) * | 2021-07-20 | 2021-11-19 | 深圳大学 | 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统 |
CN114285867A (zh) * | 2021-12-24 | 2022-04-05 | 北京航空航天大学云南创新研究院 | 基于联盟链与属性加密的空铁联运数据共享方法和系统 |
CN114338201A (zh) * | 2021-12-30 | 2022-04-12 | 北京可信华泰信息技术有限公司 | 数据处理方法及其装置、电子设备及存储介质 |
WO2023155696A1 (zh) * | 2022-02-17 | 2023-08-24 | 阿里巴巴(中国)有限公司 | 数据库的操作方法、系统、存储介质以及计算机终端 |
CN116956308A (zh) * | 2023-08-07 | 2023-10-27 | 北京火山引擎科技有限公司 | 数据库处理方法、装置、设备及介质 |
-
2024
- 2024-01-15 CN CN202410056599.4A patent/CN117574437B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170103217A1 (en) * | 2015-10-09 | 2017-04-13 | Microsoft Technology Licensing, Llc | Controlling secure processing of confidential data in untrusted devices |
US20180131517A1 (en) * | 2016-11-09 | 2018-05-10 | Sap Se | Secure Database Featuring Separate Operating System User |
EP3447667A1 (de) * | 2017-08-23 | 2019-02-27 | Bundesdruckerei GmbH | Kryptographische sicherung für eine verteilte datenspeicherung |
CN112995109A (zh) * | 2019-12-17 | 2021-06-18 | 阿里巴巴集团控股有限公司 | 数据加密系统、方法、数据处理方法、装置及电子设备 |
CN112699399A (zh) * | 2021-03-22 | 2021-04-23 | 阿里云计算有限公司 | 加密数据库系统、实现加密数据库系统的方法以及装置 |
CN113672973A (zh) * | 2021-07-20 | 2021-11-19 | 深圳大学 | 基于可信执行环境的risc-v架构的嵌入式设备的数据库系统 |
CN114285867A (zh) * | 2021-12-24 | 2022-04-05 | 北京航空航天大学云南创新研究院 | 基于联盟链与属性加密的空铁联运数据共享方法和系统 |
CN114338201A (zh) * | 2021-12-30 | 2022-04-12 | 北京可信华泰信息技术有限公司 | 数据处理方法及其装置、电子设备及存储介质 |
WO2023155696A1 (zh) * | 2022-02-17 | 2023-08-24 | 阿里巴巴(中国)有限公司 | 数据库的操作方法、系统、存储介质以及计算机终端 |
CN116956308A (zh) * | 2023-08-07 | 2023-10-27 | 北京火山引擎科技有限公司 | 数据库处理方法、装置、设备及介质 |
Non-Patent Citations (3)
Title |
---|
李新明;张功萱;施超;宋斌;: "可信计算机平台密钥管理", 南京理工大学学报(自然科学版), no. 04, 30 August 2010 (2010-08-30) * |
汤伟;陆松年;杨树堂;: "基于可信平台的多级安全访问控制模型研究", 信息安全与通信保密, no. 06, 10 June 2009 (2009-06-10) * |
王斌;吴钦章;王春鸿;孙永泉;杜中平;: "基于安全控制模块的高可信计算机研究", 系统工程与电子技术, no. 02, 15 February 2010 (2010-02-15) * |
Also Published As
Publication number | Publication date |
---|---|
CN117574437B (zh) | 2024-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11971980B2 (en) | Using trusted execution environments to perform a communal operation for mutually-untrusted devices | |
US10666647B2 (en) | Access to data stored in a cloud | |
CN101079882B (zh) | 基于态势的数据保护 | |
KR100737628B1 (ko) | 고정형 토큰 및 이동형 토큰 모두를 이용한 어테스테이션 | |
US12093371B2 (en) | Data distribution using a trusted execution environment in an untrusted device | |
CN110489996B (zh) | 一种数据库数据安全管理方法及系统 | |
CN109923548A (zh) | 通过监管进程访问加密数据实现数据保护的方法、系统及计算机程序产品 | |
WO2022028289A1 (zh) | 数据加密方法、数据解密方法、装置、终端和存储介质 | |
US11947659B2 (en) | Data distribution across multiple devices using a trusted execution environment in a mobile device | |
US11611587B2 (en) | Systems and methods for data privacy and security | |
NL2033980B1 (en) | New method for trusted data decryption based on privacy-preserving computation | |
US20240362344A1 (en) | Encrypted file control | |
CN112995109B (zh) | 数据加密系统、方法、数据处理方法、装置及电子设备 | |
CN113901507B (zh) | 一种多参与方的资源处理方法及隐私计算系统 | |
CN117574437A (zh) | 全密态数据库系统、数据处理方法、安全控制装置及设备 | |
GB2603593A (en) | Secure smart containers for controlling access to data | |
CN113468610A (zh) | 去中心化可信访问控制框架及其运行方法 | |
CN108270735A (zh) | 一种数据防泄漏方法及设备 | |
Yang et al. | A Design of Code Protection Scheme Based on the Combination of OPTEE and Encrypted File System | |
CN118013547A (zh) | 一种基于用户层的内存加解密方法、系统及相关设备 | |
KR20230077414A (ko) | 스마트홈에 구비되는 디지털 금고 서비스 제공 방법 및 시스템 | |
NZ618683B2 (en) | Access control to data stored in a cloud | |
CN108965573A (zh) | 一种Android混合模式移动应用内部资源的保护方法和装置 |
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 |