CN109657492A - 数据库管理方法、介质及电子设备 - Google Patents
数据库管理方法、介质及电子设备 Download PDFInfo
- Publication number
- CN109657492A CN109657492A CN201811517081.7A CN201811517081A CN109657492A CN 109657492 A CN109657492 A CN 109657492A CN 201811517081 A CN201811517081 A CN 201811517081A CN 109657492 A CN109657492 A CN 109657492A
- Authority
- CN
- China
- Prior art keywords
- data
- database
- ciphertext
- access
- access side
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例提供了一种数据库管理方法、介质及电子设备,该数据库管理方法包括:若接收到数据库访问方发送的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据;根据所述密钥数据对所述访问请求进行加密处理,得到加密后的请求数据;通过所述密文数据库响应所述加密后的请求数据,得到所述加密后的请求数据对应的响应结果;将所述响应结果转换为明文数据,并将所述明文数据返回给所述数据库访问方。本发明实施例的技术方案可以保证数据的安全存储,同时避免相关技术中对密文数据库的频繁加解密而导致性能较低的问题。
Description
技术领域
本发明涉及数据库技术领域,具体而言,涉及一种数据库管理方法、介质及电子设备。
背景技术
相关技术中提出的保证数据库中数据安全的方案主要有如下两个:方案1是通过对部分敏感信息进行脱敏或遮挡;方案2是通过对整个数据库完全进行加密来保证数据存储的安全。
但是由于方案1只保证了部分信息的安全,并且后台数据库中存储的信息仍旧是明文的,这样大量数据库管理员或数据库数据使用者仍旧可以直接看到敏感信息的明文;方案2虽然保证了数据的存储安全,但是在对数据库进行查询和统计计算时,必须在数据库解密之后才能进行,但是频繁加解密给数据库的性能带来较大影响,而且解密后的数据库仍然存在数据泄露的风险。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种数据库管理方法、介质及电子设备,进而至少在一定程度上可以保证数据的安全存储,同时避免相关技术中对密文数据库的频繁加解密而导致性能较低的问题。
本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
根据本发明实施例的第一方面,提供了一种数据库管理方法,包括:若接收到数据库访问方发送的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据;根据所述密钥数据对所述访问请求进行加密处理,得到加密后的请求数据;通过所述密文数据库响应所述加密后的请求数据,得到所述加密后的请求数据对应的响应结果;将所述响应结果转换为明文数据,并将所述明文数据返回给所述数据库访问方。
在本发明的一些实施例中,基于前述方案,所述密文数据库用于与指定的明文数据库进行数据同步,其中,所述密文数据库中存储的密文数据是所述明文数据库中包含的明文数据在加密后得到的数据。
在本发明的一些实施例中,基于前述方案,若接收到数据库访问方发送的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据,包括:若接收到所述数据库访问方发送的针对所述明文数据库和/或所述密文数据库的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据。
在本发明的一些实施例中,基于前述方案,在根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据之前,所述数据库管理方法还包括:在接收到所述数据库访问方发送的针对所述明文数据库的访问请求的情况下,验证所述数据库访问方的权限;若对所述数据库访问方的权限验证通过,则通过所述明文数据库响应所述访问请求;若对所述数据库访问方的权限验证未通过,则执行根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据的步骤。
在本发明的一些实施例中,基于前述方案,所述的数据库管理方法还包括:若接收到对数据库的写入请求,则将需要写入数据库的目标数据写入所述明文数据库中;在检测到所述目标数据成功写入所述明文数据库后,对所述目标数据进行加密,得到加密后的数据;将所述加密后的数据写入所述密文数据库中。
在本发明的一些实施例中,基于前述方案,所述密文数据库和所述明文数据库均对应有备份数据库;其中,若所述密文数据库和/或所述明文数据库包含有用于响应不同类型的访问请求的多个版本,则针对所述密文数据库和/或所述明文数据库的多个版本分别进行备份处理。
在本发明的一些实施例中,基于前述方案,根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据,包括:从所述访问请求中获取所述数据库访问方的标识信息;根据标识信息与密钥数据的对应关系,确定所述数据库访问方的密钥数据。
在本发明的一些实施例中,基于前述方案,根据标识信息与密钥数据的对应关系,确定所述数据库访问方的密钥数据,包括:基于已存储的密钥数据与标识信息的对应表,根据所述数据库访问方的标识信息查询所述数据库访问方的密钥数据;或基于密钥数据与标识信息的对应关系,根据所述数据库访问方的标识信息生成所述数据库访问方的密钥数据。
根据本发明实施例的第二方面,提供了一种数据库管理装置,包括:确定单元,用于在接收到数据库访问方发送的访问请求时,根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据;加密单元,用于根据所述密钥数据对所述访问请求进行加密处理,得到加密后的请求数据;响应单元,用于通过所述密文数据库响应所述加密后的请求数据,得到所述加密后的请求数据对应的响应结果;处理单元,用于将所述响应结果转换为明文数据,并将所述明文数据返回给所述数据库访问方。
在本发明的一些实施例中,基于前述方案,所述密文数据库用于与指定的明文数据库进行数据同步,其中,所述密文数据库中存储的密文数据是所述明文数据库中包含的明文数据在加密后得到的数据。
在本发明的一些实施例中,基于前述方案,所述确定单元配置为:在接收到所述数据库访问方发送的针对所述明文数据库和/或所述密文数据库的访问请求时,根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据。
在本发明的一些实施例中,基于前述方案,所述的数据库管理装置还包括:权限验证单元,用于在接收到所述数据库访问方发送的针对所述明文数据库的访问请求的情况下,验证所述数据库访问方的权限;所述响应单元还用于:在所述权限验证单元对所述数据库访问方的权限验证通过时,通过所述明文数据库响应所述访问请求;所述确定单元配置为,在所述权限验证单元对所述数据库访问方的权限验证未通过时,根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据。
在本发明的一些实施例中,基于前述方案,所述的数据库管理装置还包括:写入控制单元,用于在接收到对数据库的写入请求时,将需要写入数据库的目标数据写入所述明文数据库中;在检测到所述目标数据成功写入所述明文数据库后,对所述目标数据进行加密,得到加密后的数据;将所述加密后的数据写入所述密文数据库中。
在本发明的一些实施例中,基于前述方案,所述密文数据库和所述明文数据库均对应有备份数据库;其中,若所述密文数据库和/或所述明文数据库包含有用于响应不同类型的访问请求的多个版本,则针对所述密文数据库和/或所述明文数据库的多个版本分别进行备份处理。
在本发明的一些实施例中,基于前述方案,所述确定单元配置为:从所述访问请求中获取所述数据库访问方的标识信息;根据标识信息与密钥数据的对应关系,确定所述数据库访问方的密钥数据。
在本发明的一些实施例中,基于前述方案,所述确定单元配置为:基于已存储的密钥数据与标识信息的对应表,根据所述数据库访问方的标识信息查询所述数据库访问方的密钥数据;或基于密钥数据与标识信息的对应关系,根据所述数据库访问方的标识信息生成所述数据库访问方的密钥数据。
根据本发明实施例的第三方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的数据库管理方法。
根据本发明实施例的第四方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的数据库管理方法。
本发明实施例提供的技术方案可以包括以下有益效果:
在本发明的一些实施例所提供的技术方案中,通过根据访问请求确定与数据库访问方对应的用于访问密文数据库的密钥数据,以通过该密钥数据对访问请求进行加密处理得到加密后的请求数据,进而通过密文数据库响应该加密后的请求数据,并将得到的响应结果转换为明文数据返回给数据库访问方,使得能够将数据库访问方的访问请求交由密文数据库来进行响应,而密文数据库中的数据是经过加密的数据,因此降低了数据库中的数据遭到泄露的风险,保证了数据的安全存储。同时,由于密文数据库响应的是加密后的请求数据,即无需对密文数据库进行解密后再响应访问请求,因此也可以避免相关技术中对密文数据库的频繁加解密而导致性能较低的问题。此外,由于数据库访问方发送的是正常的访问请求,最终获取到的也是明文数据,可见本发明实施例中密文数据库的处理过程对数据库访问方来说与明文数据库并无差异,因此在保证数据安全性的前提下,也能够满足数据库访问方的访问需求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示意性示出了根据本发明的一个实施例的数据库管理方法的流程图;
图2示意性示出了根据本发明的一个实施例的根据访问请求确定与数据库访问方对应的用于访问密文数据库的密钥数据的流程图;
图3示意性示出了根据本发明的一个实施例的向数据库写入数据的流程图;
图4示意性示出了根据本发明的实施例的通过明文数据库和密文数据库保证数据安全的系统的框图;
图5示意性示出了根据本发明的一个实施例的数据库管理装置的框图;
图6示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示意性示出了根据本发明的一个实施例的数据库管理方法的流程图,该数据库管理方法的执行主体可以是连接至数据库的代理服务器或者数据库适配层等。
参照图1所示,根据本发明的一个实施例的数据库管理方法,包括如下步骤S110至步骤S140,详细说明如下:
在步骤S110中,若接收到数据库访问方发送的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据。
在本发明的一个实施例中,密文数据库可以是与指定的明文数据库进行数据同步的数据库,即密文数据库中存储的数据与明文数据库中存储的数据是相同的,只是密文数据库中存储的数据是经过加密后存储的。在这种明文数据库和密文数据库共存的场景下,不管是接收到的访问请求是针对密文数据库的访问请求,还是针对明文数据库的访问请求,都可以通过密文数据库来响应该访问请求,这样可以避免通过明文数据库进行响应而导致数据不安全的问题。
在本发明的一个实施例中,在这种明文数据库和密文数据库共存的场景下,如果接收到数据库访问方发送的针对明文数据库的访问请求,那么可以验证该数据库访问方的权限,当对该数据库访问方的权限验证通过时,可以通过明文数据库响应该访问请求;如果对数据库访问方的权限验证未通过,再确定与该数据库访问方对应的用于访问密文数据库的密钥数据,以便于通过密文数据库来响应访问请求。该实施例的技术方案使得可以向部分人员分配对明文数据库的访问权限,进而可以提高对数据库的管理灵活性。
在本发明的一个实施例中,在这种明文数据库和密文数据库共存的场景下,明文数据库和密文数据库可以分别设置对应的备份数据库。并且,若密文数据库包含有用于响应不同类型的访问请求的多个版本,则可以针对密文数据库的这多个版本分别进行备份处理;当然,若明文数据库包含有用于响应不同类型的访问请求的多个版本,则针对该明文数据库的多个版本也分别进行备份处理。
在本发明的一个实施例中,用于响应不同类型的访问请求的多个版本可以是响应不同查询请求的版本,比如可以针对查询大于某个值的数据的请求、查询等于某个值的数据的请求、对查询到的数据进行求和的请求、对查询到的数据进行求均值的请求等分别设置相应的版本,那么在进行备份时可以分别进行备份。
在本发明的一个实施例中,如图2所示,步骤S110中根据访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据的过程,包括如下步骤:
步骤S210,从访问请求中获取所述数据库访问方的标识信息。
在本发明的一个实施例中,数据库访问方的标识信息可以是数据库访问方的用户名、网络地址等用于对数据库访问方进行标识的信息。
步骤S220,根据标识信息与密钥数据的对应关系,确定所述数据库访问方的密钥数据。
在本发明的一个实施例中,可以基于已存储的密钥数据与标识信息的对应表,并根据数据库访问方的标识信息查询该数据库访问方的密钥数据。可选地,密钥数据与标识信息的对应表中的密钥数据可以是在数据库访问方注册时向其分配的,或者是数据库访问方自主提供的。
在本发明的另一个实施例中,也可以基于密钥数据与标识信息的对应关系,根据数据库访问方的标识信息生成该数据库访问方的密钥数据。比如,若密钥数据与标识信息的对应关系为设定的算法生成关系(如通过对数据库访问方的标识信息进行哈希运算来得到数据库访问方的密钥数据),那么可以根据该算法生成关系来生成数据库访问方的密钥数据。
继续参照图1所示,在步骤S120中,根据所述密钥数据对所述访问请求进行加密处理,得到加密后的请求数据。
在本发明的一个实施例中,对访问请求进行加密处理可以是对访问请求中包含的需要处理(如查询、删除、修改、添加等)的相关字段信息(或者也可以包含数据库表、相关字段的数据项等)进行加密处理。比如若访问请求是针对某个字段添加数据的请求,那么可以对该需要添加数据的字段进行加密,得到加密后的数据。
在步骤S130中,通过所述密文数据库响应所述加密后的请求数据,得到所述加密后的请求数据对应的响应结果。
在本发明的一个实施例中,比如若访问请求是针对某个字段来添加数据的请求,那么可以对该需要添加数据的字段(或者也可以包含数据库表、相关字段的数据项等,以下类似)进行加密,然后据此在密文数据库中找到相应的添加位置,以将加密后的数据添加至密文数据库;若访问请求是针对某个字段来删除数据的请求,那么可以对该需要删除数据的字段进行加密,然后据此在密文数据库中找到相应的删除位置,以将数据从密文数据库中删除;若访问请求是针对某个字段来修改数据的请求,那么可以对该需要修改数据的字段进行加密,然后据此在密文数据库中找到相应的修改位置,以对该位置处的数据进行修改;若访问请求是针对某个字段来查询数据的请求,那么可以对该需要查询数据的字段进行加密,然后据此在密文数据库中获取到相应的密文数据。
可见,本发明实施例中由于通过密文数据库响应请求数据的过程也是在密文的基础上进行的,因此无需将密文数据库进行解密处理,降低了密文数据库的处理负荷,并且也能够保证密文数据库的数据安全。
继续参照图1所示,在步骤S140中,将所述响应结果转换为明文数据,并将所述明文数据返回给所述数据库访问方。
在本发明的实施例中,由于数据库访问方发送的是正常的访问请求,最终获取到的也是明文数据,即本发明实施例中密文数据库的处理过程对数据库访问方来说与明文数据库并无差异,因此在保证数据安全性的前提下,也能够满足数据库访问方的访问需求。
在本发明的一个实施例中,基于明文数据库和密文数据库共存的场景,如图3所示,在向数据库写入数据时可以包括如下步骤:
步骤S310,若接收到对数据库的写入请求,则将需要写入数据库的目标数据写入所述明文数据库中。
步骤S320,在检测到所述目标数据成功写入所述明文数据库后,对所述目标数据进行加密,得到加密后的数据。
步骤S330,将所述加密后的数据写入所述密文数据库中。
在本发明的一个实施例中,为了保证明文数据库与密文数据库的数据同步,无论接收到对密文数据库的写入请求还是接收到对明文数据库的写入请求,都可以按照图3所示的各个步骤先将需要写入数据库的目标数据先写入明文数据库中,然后再加密写入密文数据库中。
在本发明的其它实施例中,也可以同时将需要写入数据库中的目标数据分别写入明文数据库和密文数据库,那么需要通过数据校验机制来保证该目标数据均成功写了明文数据库和密文数据库。比如,每次在向明文数据库和/或密文数据库写入数据之后,都校验是否写入成功,如果写入不成功,可以进行重试,当重试次数达到设定次数之后,若还未写入成功,则需要针对明文数据库和密文数据库都进行数据回滚处理,以保证明文数据库和密文数据库中的数据一致。
本发明前述实施例的技术方案使得能够将数据库访问方的访问请求交由密文数据库来进行响应,而密文数据库中的数据是经过加密的数据,因此降低了数据库中的数据遭到泄露的风险,保证了数据的安全存储。同时,由于密文数据库响应的是加密后的请求数据,即无需对密文数据库进行解密后再响应访问请求,因此也可以避免相关技术中对密文数据库的频繁加解密而导致性能较低的问题。此外,由于数据库访问方发送的是正常的访问请求,最终获取到的也是明文数据,因此密文数据库的处理过程对数据库访问方来说与明文数据库并无差异,进而可以在保证数据安全性的前提下,满足数据库访问方的访问需求。
以下结合附图介绍本发明的装置实施例。
图4示意性示出了根据本发明的实施例的通过明文数据库和密文数据库保证数据安全的系统的框图。
参照图4所示,根据本发明的实施例的通过明文数据库和密文数据库保证数据安全的系统,可以包括:明文数据库和密文数据库混合型架构子系统401、数据访问权限和密钥管理子系统402、代理服务器和密文计算管理子系统403、数据容灾备份管理子系统404和数据一致性保障管理子系统405。
明文数据库和密文数据库混合型架构子系统401用于实现明文数据及密文数据的存储。需要说明的是:如果是需要重新配置数据库系统,则可以直接配置明文数据库和密文数据库,其中,通过明文数据库来存储未加密的数据,通过密文数据库来存储加密后的数据,并且明文数据库和密文数据库实现数据同步。如果已有明文数据库,则可以在已有的明文数据库的基础上来配置密文数据库,然后从明文数据库向密文数据库中迁移数据,在迁移数据时需要对数据进行加密后再存储至密文数据库中,为了保证系统的兼容性和稳定性,明文数据库依然可以像未设置密文数据库之前一样进行操作,但是原来对明文数据库访问和使用的大部分人员及数据库管理者将通过代理服务器来访问密文数据库,只有极少数数据库管理人员可以访问明文数据库,这样可以有效保证数据安全,避免明文数据库中的数据遭到泄露。
在本发明的一个实施例中,对于明文数据库和密文数据库共存的系统,因为只有极少数拥有高级权限的数据库管理人员才能访问明文数据库,所以极大降低了明文数据库中的数据遭到泄漏的机会,并且即便明文数据库中的数据遭到泄露,那么由于能够访问明文数据库的人员较少,因此也能够便于排查来确定数据泄露者。
在本发明的一个实施例中,可以通过ACL(Access Control List,用户访问控制表,可以包含用户名、数据库名、数据库表名、访问权限、有效时间等信息)、用户操作行为日志文件(可以包含用户信息、访问服务器IP地址信息、操作信息、访问文件信息、时间戳等)来实现对用户登录后可访问内容的控制和跟踪。
数据访问权限和密钥管理子系统402用于实现密钥管理及权限控制。具体地,可以对明文数据库和密文数据库并存的架构下数据库管理和使用人员的数据访问权限进行严格的区分管理,严格限制数据库管理和使用人员访问明文数据库的权限。同时,数据访问权限和密钥管理子系统402可以生成数据库管理和使用人员在访问数据库时所使用的密钥数据。其中,可以通过相关人员的识别信息、密钥生成时间、随机数等信息来生成密钥,比如对这些信息进行哈希运算来得到密钥数据。
在本发明的一个实施例中,当生成数据库管理和使用人员的密钥数据之后,可以通过人员识别信息和密钥数据对应表来存储各个人员的密钥数据。当某个人员登录后,可以根据该人员的识别信息来确定其密钥数据,进而在该人员发送针对数据库的查询、修改等操作请求时,相关的数据信息(比如查询的字段、数据库表、数据项等信息)将通过其密钥数据并按照预先设定的算法,如AES(Advanced Encryption Standard,高级加密标准算法),进行加密处理。
代理服务器和密文计算管理子系统403用于响应人员的数据库处理请求。具体地,数据库管理和使用人员对数据库相关数据记录的查询、修改、增加、删除、统计等操作都可以通过代理服务器在密文数据库上的计算来完成。当某个人员登录后,若其需要对密文数据库进行查询、修改等操作,则系统会自动根据客户的识别信息从前述的对应表中提取相应的密钥数据,然后根据该密钥数据对相关的数据信息(比如该人员需要查询的字段、数据库表、数据项等)进行加密,然后在密文数据库中进行计算统计等处理,然后在需要将响应结果反馈给该人员时,会将响应结果解密为明文数据,这样使得密文数据库的处理过程对数据库访问者来说与明文数据库并无差异。可见,由于对密文数据库的相关操作也是在密文上进行的,绝大多数数据库管理人员及使用人员看到的只有密文数据库,因此可以有效减少敏感数据泄漏的机会。
数据容灾备份管理子系统404用于进行数据库容灾备份处理。具体地,明文数据库和密文数据库可以分别备份,并且对于适合不同数据库查询运算逻辑(如大于、等于、求和、求均值等逻辑)的多个版本的密文数据库或明文数据可以分别备份相应的版本。其中,在第一次进行备份时,由于数据量较大,可能需要经历较长的时间,而后续的备份过程可以采用增量数据备份的方式,即可以在每天业务不繁忙的时间点对每天新增或最新修改的数据进行备份。
数据一致性保障管理子系统405用于保证明文数据库和密文数据库的数据一致性。具体地,在涉及到数据库的写操作时,需要同时往明文数据库和密文数据库中写入相同的数据(当然向密文数据库中写入的新内容也是加密的),为应对各种可能出现的写失败情况及保证明文数据库和密文数据库的数据一致性,可以先向明文数据库中写入数据,并且在对明文数据库写入数据成功后,再向密文数据库写入相同的数据。
图5示意性示出了根据本发明的一个实施例的数据库管理装置的框图。
参照图5所示,根据本发明的一个实施例的数据库管理装置500,包括:确定单元502、加密单元504、响应单元506和处理单元508。
其中,确定单元502用于在接收到数据库访问方发送的访问请求时,根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据;加密单元504用于根据所述密钥数据对所述访问请求进行加密处理,得到加密后的请求数据;响应单元506用于通过所述密文数据库响应所述加密后的请求数据,得到所述加密后的请求数据对应的响应结果;处理单元508用于将所述响应结果转换为明文数据,并将所述明文数据返回给所述数据库访问方。
在本发明的一个实施例中,所述密文数据库用于与指定的明文数据库进行数据同步,其中,所述密文数据库中存储的密文数据是所述明文数据库中包含的明文数据在加密后得到的数据。
在本发明的一个实施例中,确定单元502配置为:在接收到所述数据库访问方发送的针对所述明文数据库和/或所述密文数据库的访问请求时,根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据。
在本发明的一个实施例中,所述的数据库管理装置500还包括:权限验证单元,用于在接收到所述数据库访问方发送的针对所述明文数据库的访问请求的情况下,验证所述数据库访问方的权限;所述响应单元506还用于:在所述权限验证单元对所述数据库访问方的权限验证通过时,通过所述明文数据库响应所述访问请求;所述确定单元502配置为,在所述权限验证单元对所述数据库访问方的权限验证未通过时,根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据。
在本发明的一个实施例中,所述的数据库管理装置500还包括:写入控制单元,用于在接收到对数据库的写入请求时,将需要写入数据库的目标数据写入所述明文数据库中;在检测到所述目标数据成功写入所述明文数据库后,对所述目标数据进行加密,得到加密后的数据;将所述加密后的数据写入所述密文数据库中。
在本发明的一个实施例中,所述密文数据库和所述明文数据库均对应有备份数据库;其中,若所述密文数据库和/或所述明文数据库包含有用于响应不同类型的访问请求的多个版本,则针对所述密文数据库和/或所述明文数据库的多个版本分别进行备份处理。
在本发明的一个实施例中,所述确定单元502配置为:从所述访问请求中获取所述数据库访问方的标识信息;根据标识信息与密钥数据的对应关系,确定所述数据库访问方的密钥数据。
在本发明的一个实施例中,所述确定单元502配置为:基于已存储的密钥数据与标识信息的对应表,根据所述数据库访问方的标识信息查询所述数据库访问方的密钥数据;或基于密钥数据与标识信息的对应关系,根据所述数据库访问方的标识信息生成所述数据库访问方的密钥数据。
由于本发明的示例实施例的数据库管理装置的各个功能模块与上述数据库管理方法的示例实施例的步骤对应,因此对于本发明装置实施例中未披露的细节,请参照本发明上述的数据库管理方法的实施例。
下面参考图6,其示出了适于用来实现本发明实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备的计算机系统600仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的数据库管理方法。
例如,所述的电子设备可以实现如图1中所示的:步骤S110,若接收到数据库访问方发送的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据;步骤S120,根据所述密钥数据对所述访问请求进行加密处理,得到加密后的请求数据;步骤S130,通过所述密文数据库响应所述加密后的请求数据,得到所述加密后的请求数据对应的响应结果;步骤S140,将所述响应结果转换为明文数据,并将所述明文数据返回给所述数据库访问方。
又如,所述的电子设备可以实现如图2和图3所示的各个步骤。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种数据库管理方法,其特征在于,包括:
若接收到数据库访问方发送的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据;
根据所述密钥数据对所述访问请求进行加密处理,得到加密后的请求数据;
通过所述密文数据库响应所述加密后的请求数据,得到所述加密后的请求数据对应的响应结果;
将所述响应结果转换为明文数据,并将所述明文数据返回给所述数据库访问方。
2.根据权利要求1所述的数据库管理方法,其特征在于,所述密文数据库用于与指定的明文数据库进行数据同步,其中,所述密文数据库中存储的密文数据是所述明文数据库中包含的明文数据在加密后得到的数据。
3.根据权利要求2所述的数据库管理方法,其特征在于,若接收到数据库访问方发送的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据,包括:
若接收到所述数据库访问方发送的针对所述明文数据库和/或所述密文数据库的访问请求,则根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据。
4.根据权利要求3所述的数据库管理方法,其特征在于,在根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据之前,所述数据库管理方法还包括:
在接收到所述数据库访问方发送的针对所述明文数据库的访问请求的情况下,验证所述数据库访问方的权限;
若对所述数据库访问方的权限验证通过,则通过所述明文数据库响应所述访问请求;
若对所述数据库访问方的权限验证未通过,则执行根据所述访问请求确定与所述数据库访问方对应的用于访问所述密文数据库的密钥数据的步骤。
5.根据权利要求2所述的数据库管理方法,其特征在于,还包括:
若接收到对数据库的写入请求,则将需要写入数据库的目标数据写入所述明文数据库中;
在检测到所述目标数据成功写入所述明文数据库后,对所述目标数据进行加密,得到加密后的数据;
将所述加密后的数据写入所述密文数据库中。
6.根据权利要求2所述的数据库管理方法,其特征在于,所述密文数据库和所述明文数据库均对应有备份数据库;
其中,若所述密文数据库和/或所述明文数据库包含有用于响应不同类型的访问请求的多个版本,则针对所述密文数据库和/或所述明文数据库的多个版本分别进行备份处理。
7.根据权利要求1至6中任一项所述的数据库管理方法,其特征在于,根据所述访问请求确定与所述数据库访问方对应的用于访问密文数据库的密钥数据,包括:
从所述访问请求中获取所述数据库访问方的标识信息;
根据标识信息与密钥数据的对应关系,确定所述数据库访问方的密钥数据。
8.根据权利要求7所述的数据库管理方法,其特征在于,根据标识信息与密钥数据的对应关系,确定所述数据库访问方的密钥数据,包括:
基于已存储的密钥数据与标识信息的对应表,根据所述数据库访问方的标识信息查询所述数据库访问方的密钥数据;或
基于密钥数据与标识信息的对应关系,根据所述数据库访问方的标识信息生成所述数据库访问方的密钥数据。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至8中任一项所述的数据库管理方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至8中任一项所述的数据库管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811517081.7A CN109657492B (zh) | 2018-12-12 | 2018-12-12 | 数据库管理方法、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811517081.7A CN109657492B (zh) | 2018-12-12 | 2018-12-12 | 数据库管理方法、介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657492A true CN109657492A (zh) | 2019-04-19 |
CN109657492B CN109657492B (zh) | 2021-01-15 |
Family
ID=66113772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811517081.7A Active CN109657492B (zh) | 2018-12-12 | 2018-12-12 | 数据库管理方法、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657492B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274611A (zh) * | 2020-02-04 | 2020-06-12 | 北京同邦卓益科技有限公司 | 数据脱敏方法、装置及计算机可读存储介质 |
CN112968899A (zh) * | 2021-02-26 | 2021-06-15 | 上海掌门科技有限公司 | 一种加密通信的方法与设备 |
CN113139194A (zh) * | 2020-01-20 | 2021-07-20 | 华控清交信息科技(北京)有限公司 | 公安数据查询方法、装置、终端设备和介质 |
CN113254997A (zh) * | 2021-05-27 | 2021-08-13 | 中国电信股份有限公司 | 防御数据库被拖库的方法、装置、电子设备和计算机介质 |
CN113656376A (zh) * | 2021-08-19 | 2021-11-16 | 平安科技(深圳)有限公司 | 一种数据处理方法、装置及计算机设备 |
CN114499901A (zh) * | 2020-10-26 | 2022-05-13 | 中国移动通信有限公司研究院 | 一种信息处理方法、装置、服务器、终端及数据平台 |
CN114611145A (zh) * | 2022-03-14 | 2022-06-10 | 穗保(广州)科技有限公司 | 一种基于互联网在线文档的数据安全共享平台 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471826A (zh) * | 2014-09-04 | 2016-04-06 | 中电长城网际系统应用有限公司 | 密文数据查询方法、装置和密文查询服务器 |
CN105915523A (zh) * | 2016-05-05 | 2016-08-31 | 云神科技投资股份有限公司 | 一种基于云计算安全架构装置的实现方法 |
CN105989482A (zh) * | 2015-02-04 | 2016-10-05 | 成都天地网信息科技有限公司 | 一种数据加密方法 |
CN107168998A (zh) * | 2017-03-30 | 2017-09-15 | 广东工业大学 | 一种基于保留格式的数据库透明加密方法 |
CN107592195A (zh) * | 2017-09-12 | 2018-01-16 | 北京电子科技学院 | 一种准全同态密文数据操作方法和系统 |
CN108132977A (zh) * | 2017-12-12 | 2018-06-08 | 华南农业大学 | 基于垂直划分的密文数据库查询方法及系统 |
-
2018
- 2018-12-12 CN CN201811517081.7A patent/CN109657492B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471826A (zh) * | 2014-09-04 | 2016-04-06 | 中电长城网际系统应用有限公司 | 密文数据查询方法、装置和密文查询服务器 |
CN105989482A (zh) * | 2015-02-04 | 2016-10-05 | 成都天地网信息科技有限公司 | 一种数据加密方法 |
CN105915523A (zh) * | 2016-05-05 | 2016-08-31 | 云神科技投资股份有限公司 | 一种基于云计算安全架构装置的实现方法 |
CN107168998A (zh) * | 2017-03-30 | 2017-09-15 | 广东工业大学 | 一种基于保留格式的数据库透明加密方法 |
CN107592195A (zh) * | 2017-09-12 | 2018-01-16 | 北京电子科技学院 | 一种准全同态密文数据操作方法和系统 |
CN108132977A (zh) * | 2017-12-12 | 2018-06-08 | 华南农业大学 | 基于垂直划分的密文数据库查询方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113139194A (zh) * | 2020-01-20 | 2021-07-20 | 华控清交信息科技(北京)有限公司 | 公安数据查询方法、装置、终端设备和介质 |
CN111274611A (zh) * | 2020-02-04 | 2020-06-12 | 北京同邦卓益科技有限公司 | 数据脱敏方法、装置及计算机可读存储介质 |
CN114499901A (zh) * | 2020-10-26 | 2022-05-13 | 中国移动通信有限公司研究院 | 一种信息处理方法、装置、服务器、终端及数据平台 |
CN112968899A (zh) * | 2021-02-26 | 2021-06-15 | 上海掌门科技有限公司 | 一种加密通信的方法与设备 |
CN113254997A (zh) * | 2021-05-27 | 2021-08-13 | 中国电信股份有限公司 | 防御数据库被拖库的方法、装置、电子设备和计算机介质 |
CN113656376A (zh) * | 2021-08-19 | 2021-11-16 | 平安科技(深圳)有限公司 | 一种数据处理方法、装置及计算机设备 |
CN113656376B (zh) * | 2021-08-19 | 2023-12-01 | 平安科技(上海)有限公司 | 一种数据处理方法、装置及计算机设备 |
CN114611145A (zh) * | 2022-03-14 | 2022-06-10 | 穗保(广州)科技有限公司 | 一种基于互联网在线文档的数据安全共享平台 |
Also Published As
Publication number | Publication date |
---|---|
CN109657492B (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657492A (zh) | 数据库管理方法、介质及电子设备 | |
CN108632284B (zh) | 基于区块链的用户数据授权方法、介质、装置和计算设备 | |
CN113711536B (zh) | 从区块链网络中提取数据 | |
US11784823B2 (en) | Object signing within a cloud-based architecture | |
US10776513B2 (en) | Device using secure storage and retrieval of data | |
US10614233B2 (en) | Managing access to documents with a file monitor | |
CN105453105B (zh) | 用于云数据安全的系统及方法 | |
US8886964B1 (en) | Protecting remote asset against data exploits utilizing an embedded key generator | |
CN109416720A (zh) | 跨重置维护操作系统秘密 | |
JP2018132931A (ja) | 承認システム、承認方法および承認プログラム | |
CA3176858A1 (en) | Data processing method and system | |
US11750652B2 (en) | Generating false data for suspicious users | |
US11063922B2 (en) | Virtual content repository | |
JP7223067B2 (ja) | ユーザリクエストを処理するための方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプロブラム | |
WO2019082442A1 (ja) | データ登録方法、データ復号方法、データ構造、コンピュータ、及びプログラム | |
US20140282842A1 (en) | User centric method and adaptor for digital rights management system | |
US9785791B2 (en) | Using a location authorization extension to provide access authorization for a module to access a computing system | |
CN109697371A (zh) | 数据库管理方法、装置、介质及电子设备 | |
US20150222431A1 (en) | Random identifier generation for offline database | |
US11044079B2 (en) | Enhanced key availability for data services | |
CN109495468A (zh) | 认证方法、装置、电子设备及存储介质 | |
CN110830428A (zh) | 区块链金融大数据处理方法及系统 | |
CN112528239A (zh) | 软件自动授权的方法和装置 | |
US9363081B2 (en) | License administration device and license administration method | |
KR20130124885A (ko) | 인증되지 않는 액세스를 방지하기 위해 클라우드 데이터에 보안을 제공하는 전자 장치 및 이의 보안 제공 방법 |
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 |