一种数据保护方法、装置、设备及介质制造方法及图纸

技术编号:25835997 阅读:22 留言:0更新日期:2020-10-02 14:16
本公开实施例涉及一种数据保护方法、装置、设备及介质,其中该方法包括:获取目标数据的数据加密请求;基于目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,其中,租户数据库密钥通过实例密钥加密;基于目标对象密钥对目标数据进行加密。采用上述技术方案,在实例密钥和对象密钥两层密钥的基础上,增加了通过实例密钥加密的租户数据库密钥,形成了三层密钥体系,避免了仅破解实例密钥即可得到租户数据库中数据,提高了加密强度,进而提高了数据的安全性。

【技术实现步骤摘要】
一种数据保护方法、装置、设备及介质
本公开涉及数据库
,尤其涉及一种数据保护方法、装置、设备及介质。
技术介绍
对数据进行加密,是数据库中保护数据安全的常用安全管理措施。数据加密方式可以包括两种:用户负责对数据进行加密,将加密后的数据之后存储到数据库中;采用数据库的透明加密,用户只需要将数据库对象定义为需要透明加密,由数据库负责对数据库对象包括的数据进行加密,这种方法对用户访问基本透明。透明加密中的加密处理涉及加密算法和密钥,在非多租户数据库中采用两层密钥体系进行数据加密,该两层密钥体系中包括实例密钥和对象密钥。但是对于多租户数据库,采用上述两层密钥体系时每个租户数据库的实例密钥是相同的,若实例密钥被破解,那么所有租户数据库同时泄密,加密强度较弱。
技术实现思路
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种数据保护方法、装置、设备及介质。本公开实施例提供了一种数据保护方法,所述方法包括:获取目标数据的数据加密请求;基于所述目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,其中,所述租户数据库密钥通过实例密钥加密;基于所述目标对象密钥对所述目标数据进行加密。本公开实施例还提供了一种数据保护装置,配置于租户数据库,所述装置包括:请求获取模块,用于获取目标数据的数据加密请求;对象密钥生成模块,用于基于所述目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,其中,所述租户数据库密钥通过实例密钥加密;r>加密模块,用于基于所述目标对象密钥对所述目标数据进行加密。本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的数据保护方法。本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的数据保护方法。本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例提供的数据保护方案,获取目标数据的数据加密请求,基于目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,其中,租户数据库密钥通过实例密钥加密,基于目标对象密钥对目标数据进行加密。采用上述技术方案,在实例密钥和对象密钥两层密钥的基础上,增加了通过实例密钥加密的租户数据库密钥,形成了三层密钥体系,避免了仅破解实例密钥即可得到租户数据库中数据,提高了加密强度,进而提高了数据的安全性。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为两层密钥体系的示意图;图2为本公开实施例提供的一种数据保护方法的流程示意图;图3为本公开实施例提供的一种三层密钥体系的示意图;图4为本公开实施例提供的另一种数据保护方法的流程示意图;图5为本公开实施例提供的一种租户数据库的加载操作的流程示意图;图6为本公开实施例提供的一种数据保护装置的结构示意图;图7为本公开实施例提供的一种电子设备的结构示意图。具体实施方式为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。目前,主数据库对租户数据库中的数据保护方式是采用的两层密钥体系,参见图1,图1为两层密钥体系的示意图,主数据库的数据库管理员(DatabaseAdministrator,DBA)生成一个实例密钥,然后可以为每个需要加密的数据库对象分配各自的对象密钥,该对象密钥由实例密钥加密后存储。图中数据库对象以表空间为例,对象密钥即为表空间密钥,示出了三个表空间密钥分别为表空间密钥1、表空间密钥2和表空间密钥3,表空间的数据采用对应的表空间密钥进行加密。上述两层密钥体系在多租户的架构下,每个租户数据库使用的实例密钥是相同的,若实例密钥被破解,那么所有租户数据库中的数据同时泄密,加密强度较弱,不能有效保护数据。为了解决上述问题,本公开实施例提供了一种数据保护方法,提高数据的加密强度。图2为本公开实施例提供的一种数据保护方法的流程示意图,该方法可以由数据保护装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图2所示,该方法包括:步骤101、获取目标数据的数据加密请求。目标数据可以为租户数据库中的数据,租户数据库可以理解为能够利用主数据库中部分资源的数据库,主数据库是指多容器数据库(ContainerDatabase,CDB),一个主数据库中可以包括多个租户数据库。数据加密请求为用于对租户数据库中的数据进行加密保护的请求。本公开实施例中,租户数据库添加目标数据时,可以同时发起针对该目标数据的数据加密请求。然后,本公开实施例可以由主数据库对目标数据进行加密,也可以由租户数据库对目标数据进行加密,本方案以主数据库为例进行说明。步骤102、基于目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,其中,租户数据库密钥通过实例密钥加密。其中,租户数据库密钥为本公开实施例中对应于租户数据库创建的密钥,该租户数据库密钥由实例密钥加密保护。在主数据库初始化时,可以创建数据库实例级别的实例密钥,该实例密钥可以由数据库管理员指定的密钥文件加密,也可以从外部获取密钥文件进行加密。在主数据库创建租户数据库时,可以创建租户数据库级别的租户数据库密钥,该租户数据库密钥采用上述实例密钥进行加密,之后可以存储在租户数据库目录中。可以理解的是,不同的租户数据库对应的租户数据库密钥可以不同。本公开实施例中,目标对象密钥、租户数据库密钥和实例密钥可以分开存储在外部存储器中,即每个密钥单独存储,以提高安全性。并且,本公开实施例对目标对象密钥、租户数据库密钥和实例密钥这三层密钥所采用的密钥算法均不作限定,可以采用相同的密钥算法,也可以采用不同的密钥算法,可以根据实际情况进行设定。具体的,基于目标数据所在租户数据库的目标租户数据库密钥生成目标对象密钥,包括:在租户数据库创建目标数据的目标对象时,创建初始对象密钥;采用目标租户数据库密钥对初始对象密钥进行加密,得到目标对象密钥。其中,目标对象为目标数据对应的数据库对象,本公开实施例对具体的数据库对象不作限定,例如数据库对象可以包括表空间、序列和存储过程等。针对目标数据创建需要加密本文档来自技高网...

【技术保护点】
1.一种数据保护方法,其特征在于,所述方法包括:/n获取目标数据的数据加密请求;/n基于所述目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,其中,所述租户数据库密钥通过实例密钥加密;/n基于所述目标对象密钥对所述目标数据进行加密。/n

【技术特征摘要】
1.一种数据保护方法,其特征在于,所述方法包括:
获取目标数据的数据加密请求;
基于所述目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,其中,所述租户数据库密钥通过实例密钥加密;
基于所述目标对象密钥对所述目标数据进行加密。


2.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据所在租户数据库的租户数据库密钥生成目标对象密钥,包括:
在所述租户数据库创建所述目标数据的目标对象时,创建初始对象密钥;
采用所述租户数据库密钥对所述初始对象密钥进行加密,得到所述目标对象密钥。


3.根据权利要求1所述的方法,其特征在于,基于所述目标对象密钥对所述目标数据进行加密之后,还包括:
基于实例级的临时密钥对所述租户数据库的卸载操作和/或加载操作进行加密管理。


4.根据权利要求3所述的方法,其特征在于,所述基于实例级的临时密钥对所述租户数据库的卸载操作进行加密管理,包括:
在执行所述租户数据库的卸载操作时,通过所述实例密钥解密所述租户数据库密钥,并基于所述临时密钥对所述租户数据库密钥重新进行加密。


5.根据权利要求3所述的方法,其特征在于,所述基于实例级的临时密钥对所述租户数据库的加载操作进行加密管理,包括:
在执行所述租户数据库的卸载操作之后的加载操作时,基于所述临时密钥解密所述租户数据库密钥,并通过待加载的新实例密钥对所述租户数据库密钥进行加密。

【专利技术属性】
技术研发人员:王建华车晓瑶冷建全
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1