数据表安全处理的方法、装置、计算机设备和存储介质与流程

文档序号:17891996发布日期:2019-06-13 15:43阅读:134来源:国知局
数据表安全处理的方法、装置、计算机设备和存储介质与流程

本申请涉及密码加密技术领域,特别涉及一种数据表安全处理的方法、装置、计算机设备和存储介质。



背景技术:

当前,我国涉密部门(军队、军工、政府、金融行业、保险行业、电信行业等)中,80%以上的应用系统使用国外的数据库产品,容易产生数据泄露,特别是oracle数据库;数据是信息系统中最核心的资产,数据的丢失、破坏或泄漏,很可能会给企业带来难以估量的损失。因此,应当防止数据库中的数据发生外泄时泄露机密,而目前尚未有成熟可靠的数据库加密方案。



技术实现要素:

本申请的主要目的为提供一种数据表安全处理的方法、装置、计算机设备和存储介质,旨在对数据库中的数据表进行安全处理。

为实现上述目的,本申请提供了一种数据表安全处理的方法,包括以下步骤:

按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;所述第一数据表存储于第一数据库中;

按照所述敏感数据的敏感等级,选择对应的加密方式,以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置;

对所述第一数据库中的第一数据表进行数据脱敏处理。

进一步地,所述以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

以所述加密方式对所述敏感数据进行加密,并将加密后的敏感数据存储在所述第一数据库的第一数据表中。

进一步地,所述以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

在所述第一数据库中建立一个第二数据表,并将所述第一数据表中的敏感数据以所述加密方式进行加密后存储于所述第二数据表中。

进一步地,所述以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

提取所述第一数据库中第一数据表中的敏感数据,并对提取出的所述敏感数据以所述加密方式进行加密后存储于预设的第二数据库中。

进一步地,所述对所述第一数据库中的第一数据表进行数据脱敏处理的步骤之后,包括:

接收到用户的数据查询请求时,获取所述用户的用户信息,所述用户信息包括用户的账户信息;

根据所述用户的用户信息,确定所述用户的查询权限;

根据所述用户的查询权限,处理所述用户的查询请求。

进一步地,所述按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分的步骤,包括:

获取第一数据表中敏感数据的内容类型;

根据预设的内容类型与敏感等级的对应关系,获取对应所述第一数据表中敏感数据的敏感等级。

进一步地,所述加密方式包括对称加密算法、非对称加密算法以及哈希算法。

本申请还提供了一种数据表安全处理的装置,包括:

划分单元,用于按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;所述第一数据表存储于第一数据库中;

加密单元,用于按照所述敏感数据的敏感等级,选择对应的加密方式,并以选择出的加密方式对所述第一数据表中的敏感数据进行加密;

脱敏单元,用于对所述第一数据库中的第一数据表进行数据脱敏处理。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请中提供的数据表安全处理的方法、装置、计算机设备和存储介质,首先按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;然后按照所述敏感数据的敏感等级,选择对应的加密方式,以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置;最后再对所述第一数据库中的第一数据表进行数据脱敏处理,以完成对数据库中数据表的安全处理,防止数据泄露,保障数据安全。

附图说明

图1是本申请一实施例中数据表安全处理的方法步骤示意图;

图2是本申请另一实施例中数据表安全处理的方法步骤示意图;

图3是本申请一实施例中数据表安全处理的装置结构框图;

图4是本申请另一实施例中数据表安全处理的装置结构框图;

图5为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,为本发明一实施例中提出的一种数据表安全处理的方法,包括以下步骤:

步骤s1,按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;所述第一数据表存储于第一数据库中;

步骤s2,按照所述敏感数据的敏感等级,选择对应的加密方式,并以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置;

步骤s3,对所述第一数据库中的第一数据表进行数据脱敏处理。

在本实施例中,上述数据表安全处理的方法主要用于对第一数据库(例如oracle数据库,oracledatabase)中的数据表进行安全防护,保护数据库中的数据安全。上述第一数据库中存储有大量的第一数据表,其中,上述第一数据表中可能包括有用户的大量敏感数据,例如电话、证件号码、姓名等信息,敏感数据是不允许被泄露的,因此需要对上述第一数据库中第一数据表包含的敏感数据进行重点保护。

上述步骤s1中,不同敏感程度的敏感数据可以对应于不同的敏感等级,例如用户的身份证号码、手机号码的敏感等级可以高于用户的姓名、职业等信息的敏感等级。由于使用不同的敏感数据加密方式,其加密过程所占用的系统资源或者加密时间会有所述不同,其加密得到的数据安全性也不同;通常复杂的加密过程得到的数据安全性会更高,而加密过程较为简单的加密方式虽然加密时间短,但是加密得到的数据安全性较低;对应不同敏感等级的敏感数据如若都采用相同的加密方式,要么无法保障加密后数据的安全性,要么无法保障加密过程的加密效率(即加密时间长);因此,本实施例中,先对第一数据表中的敏感数据进行敏感等级划分。上述对敏感数据进行敏感等级划分可以是用户根据实际情况进行标注的,也可以是自动识别上述敏感数据的字段进行识别,一识别出其对应的敏感等级。

具体地,在一个实施例中,上述按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分的步骤可以是:

识别第一数据表中敏感数据的字段,以获取第一数据表中敏感数据的内容类型,该内容类型包括年龄、性别、姓名、手机号、身份证号码等类型;再根据预设的内容类型与敏感等级的对应关系,获取对应所述第一数据表中敏感数据的敏感等级。例如,手机号与身份证号码对应的敏感等级为最高,性别对应的敏感等级最低。

如上述步骤s2所述的,对应不同敏感等级的敏感数据选择采用不同的加密方式进行加密,对于敏感等级高的敏感数据则无需考虑加密时间,只需要保障其安全性即可。可以理解的是,可以预先设置敏感等级与加密方式的对应关系,根据该对应关系,则可以选择出对应敏感数据的加密方式。本实施例中,对上述敏感数据进行加密处理之后,即便上述敏感数据被泄露,也仅仅是泄露相应的密文。其它用户若要查看敏感数据,需要使用对应的密钥才能解密上述敏感数据;即便黑客获取到上述第一数据库中的第一数据表,也无法轻易获取到上述敏感数据,必须要进行敏感数据的解密,增加黑客获取上述敏感数据的成本。

通过上述步骤s2对敏感数据进行加密处理之后,虽然上述敏感数据被加密,但是黑客还是可以通过查询第一数据库中的第一数据表的明文字段(即未被加密的字段)查询到上述第一数据表。因此,本实施例中,如上述步骤s2所述的,对所述第一数据库中的所有第一数据表进行数据脱敏处理,数据脱敏通常是对某些数据通过脱敏规则进行数据的变形,实现敏感数据的可靠保护。本实施例中,对第一数据库中的所有第一数据表进行数据脱敏处理,数据脱敏处理之后,无权限的用户则无法通过明文字段查询到上述敏感数据。上述数据脱敏处理可采用常用的java脱敏算法、大数据脱敏平台等。

综上,本实施例中,不仅对第一数据库中的敏感数据进行加密,而且还对第一数据库中的所有第一数据表进行数据脱敏处理,可以避免不具备权限的用户查询到第一数据库中的第一数据表,避免敏感数据泄露。

在一实施例中,上述以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤s2,包括:

步骤s201,以所述加密方式对所述敏感数据进行加密,并将加密后的敏感数据存储在所述第一数据库的第一数据表中。

在本实施例中,采用一种共库存放方案,通过同一数据库存储上述敏感数据;即直接在所述第一数据库的第一数据表中对上述第一数据表中包含的敏感数据进行加密,即加密后的敏感数据还位于所述第一数据表中,此方法中无需增加第一数据库的加密数据存储,直接在第一数据表中进行加密。

在另一实施例中,上述以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤s2,包括:

步骤s202,在所述第一数据库中建立一个第二数据表,并将所述第一数据表中的敏感数据以所述加密方式进行加密后存储于所述第二数据表中。

在本实施例中,采用另一种共库存放方案,通过同一数据库存储上述敏感数据;即在上述第一数据库中预先建立一个第二数据表,并从所述第一数据表中提取出敏感数据,将提取出的敏感数据加密后存储在第二数据表中。通过不同的数据表管理不同的数据,便于管理以及设置相应的权限等。

为了便于从第二数据表中找到对应的敏感数据,上述第二数据表中还建立有一个哈希索引链接便于将上述第二数据表中的敏感数据索引至上述第一数据表中。

在又一实施例中,所述以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤s2,包括:

步骤s203,提取所述第一数据库中第一数据表中的敏感数据,并对提取出的所述敏感数据以所述加密方式进行加密后存储于预设的第二数据库中。

在本实施例中,采用了一种另库存放方案,通过不同的数据库存储上述敏感数据。即预先设置有一个第二数据库,该第二数据库可以是与第一数据库类型相同的数据库,其包括sql,nosql,hive等数据库。具体地,提取所述第一数据库中第一数据表中的敏感数据,然后对提取出的所述敏感数据进行加密后存储于第二数据库中。为了便于从第二数据库中找到对应的敏感数据,上述第二数据库中还建立有一个哈希索引链接,便于将上述第二数据库中的敏感数据索引至上述第一数据表中。优选地,上述第二数据库中建立有相应的数据表用于存储上述敏感数据。本实施例中,设置一个第二数据库存储加密后的敏感数据,便于对不同的数据库进行不同的权限管理,第二数据库不会影响第一数据库的管理。在同一个数据库中时,对于敏感数据以及其它非敏感数据的管理会受到限制,而设置不同的数据库时,对上述第一数据库的管理权限不会影响对上述第二数据库的管理权限,可在上述第二数据库对上述抽取的敏感数据进行单独处理,强化加密方案;同时强化日志、审计、权限管理等,可进一步地加强第二数据库中存储敏感数据的安全性。

参照图2,在一实施例中,上述对所述第一数据库中的第一数据表进行数据脱敏处理的步骤s3之后,包括:

步骤s4,接收到用户的数据查询请求时,获取所述用户的用户信息,所述用户信息包括用户的账户信息;

步骤s5,根据所述用户的用户信息,确定所述用户的查询权限;

步骤s6,根据所述用户的查询权限,处理所述用户的查询请求。

在本实施例中,在对上述第一数据库中的第一数据表进行数据脱敏处理之后,还设置有不同用户信息所对应的查询权限;上述用户信息通常为用户登录系统时的账户信息,根据该账户信息的类型便可以得出其对应的查询权限。对应不同的查询权限,针对用户的数据查询请求所作出的反馈不同。例如,没有查询权限的用户无法查询到第一数据库中对应的任何数据;具有普通查询权限的用户只能查询到上述第一数据库中进行数据脱敏之后的数据,即只能看到数据脱敏之后的数据,但依然无法获取到数据的真实内容;而具有敏感数据查询权限的用户则可以查询到上述第一数据库或者第二数据库中的敏感数据。上述没有查询权限、普通查询权限、敏感数据查询权限为预先定义的几种不同的查询权限。

若有用户发出数据查询请求以查询上述第一数据库中数据时,其在发出查询请求时会携带其用户信息。本实施例中,如上述步骤s4所述的,接收到用户的数据查询请求,从该用户的数据查询请求中获取到该用户的用户信息;进而如上述步骤s5所述的,根据所述用户的用户信息,确定所述用户的查询权限。上述第一数据库中可以储存有一个用户信息-查询权限的映射表,该映射表中存储有不同用户信息所对应的查询权限,根据该映射表以及获取的用户的用户信息,则可以确定发出数据查询请求的用户所具有的查询权限。最后,如上述步骤s6所述的,根据所述用户的查询权限,处理所述用户的查询请求,对于不同查询权限的用户,其查询的结果不同。例如,在本实施例中,若所述用户没有查询权限,则该用户无法查询到第一数据库中对应的任何数据;若所述用户具有普通查询权限,则在上述共库存放方案中或者另库存放方案中,其均只能查询到上述第一数据库(脱敏数据库)中进行数据脱敏之后的脱敏数据;即只能看到数据脱敏之后的数据,但依然不能获取到数据的真实内容;若所述用户具有敏感数据查询权限,在上述共库存放方案中,则可以查询到上述第一数据库中的敏感数据的真实内容。在上述另库存放方案中,则可以查看到第二数据库(加密的敏感数据库)中的敏感数据的真实内容。通常,上述具有敏感数据查询权限的用户为具有系统层级权限的用户(系统超级管理员)。

在上述实施例中,所述加密方式包括对称加密算法、非对称加密算法以及哈希算法。

具体地,上述对所述第一数据表中的敏感数据进行加密的步骤,包括:

使用aes加密算法,对所述第一数据表中的敏感数据进行加密;使用aes(advancedencryptionstandard,高级加密标准)加密算法,对所述敏感数据进行加密,上述aes加密算法是一种对称密钥加密算法,按照用户查询权限获取密钥,有效增加黑客破解上述敏感数据的破解成本。

或者,上述对所述第一数据表中的敏感数据进行加密的步骤,包括:将所述第一数据库嵌入到jar中,转换为jar包发布,并将所述jar包导包至java类中。该过程为一种java加密算法,上述jar包为一种加密包。

上述加密的jar包的优点包括:

1、加密算法及秘钥由系统维护,以jar包形式提供给用户使用。

2、同时支持linux和win环境下的加密及解密,自动识别环境。

3、经过加壳处理,普通反编译无法获取jar包中具体加密算法的实现。

4、秘钥由系统维护,并定期变更,历史数据根据特定秘钥解密,从而进一步增加系统安全性。

在又一实施例中,上述按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分的步骤s1之前,包括:

步骤s101,选择出所述第一数据库中满足预设条件的脏数据表,作为目标数据表;

步骤s102,对所述第一数据库中的目标数据表进行清理。

在本实施例中,预先对上述第一数据库中第一数据表进行清理,可以根据第一数据表的创建时间、数据存储量、数据类型等选择出目标数据表进行清理,清理一些无用数据或者陈旧数据等,即上述脏数据,降低数据库中的数据占用容量,提升数据库稳定性,避免数据库因存储不足造成崩溃;同时,还可以降低后续加密及脱敏处理的处理时间。

参照图3,本申请一实施例中还提供了一种数据表安全处理的装置,包括:

划分单元10,用于按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;所述第一数据表存储于第一数据库中;

加密单元20,用于按照所述敏感数据的敏感等级,选择对应的加密方式,以选择出的加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置;

脱敏单元30,用于对所述第一数据库中的第一数据表进行数据脱敏处理。

在本实施例中,上述数据表安全处理的处理主要用于对第一数据库(例如oracle数据库,oracledatabase)中的数据表进行安全防护,保护数据库中的数据安全。上述第一数据库中存储有大量的第一数据表,其中,上述第一数据表中可能包括有用户的大量敏感数据,例如电话、证件号码、姓名等信息,敏感数据是不允许被泄露的,因此需要对上述第一数据库中第一数据表包含的敏感数据进行重点保护。

上述划分单元10中,不同敏感程度的敏感数据可以对应于不同的敏感等级,例如用户的身份证号码、手机号码的敏感等级可以高于用户的姓名、职业等信息的敏感等级。由于使用不同的敏感数据加密方式,其加密过程所占用的系统资源或者加密时间会有所述不同,其加密得到的数据安全性也不同;通常复杂的加密过程得到的数据安全性会更高,而加密过程较为简单的加密方式虽然加密时间短,但是加密得到的数据安全性较低;对应不同敏感等级的敏感数据如若都采用相同的加密方式,要么无法保障加密后数据的安全性,要么无法保障加密过程的加密效率(即加密时间长);因此,本实施例中,先对第一数据表中的敏感数据进行敏感等级划分。上述对敏感数据进行敏感等级划分可以是用户根据实际情况进行标注的,也可以是自动识别上述敏感数据的字段进行识别,一识别出其对应的敏感等级。

具体地,在一个实施例中,上述划分单元10按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分的步骤可以是:

识别第一数据表中敏感数据的字段,以获取第一数据表中敏感数据的内容类型,该内容类型包括年龄、性别、姓名、手机号、身份证号码等类型;再根据预设的内容类型与敏感等级的对应关系,获取对应所述第一数据表中敏感数据的敏感等级。例如,手机号与身份证号码对应的敏感等级为最高,性别对应的敏感等级最低。

如上述加密单元20所述的,对应不同敏感等级的敏感数据选择采用不同的加密方式进行加密,对于敏感等级高的敏感数据则无需考虑加密时间,只需要保障其安全性即可。可以理解的是,可以预先设置敏感等级与加密方式的对应关系,根据该对应关系,则可以选择出对应敏感数据的加密方式。本实施例中,对上述敏感数据进行加密处理之后,即便上述敏感数据被泄露,也仅仅是泄露相应的密文。其它用户若要查看敏感数据,需要使用对应的密钥才能解密上述敏感数据;即便黑客获取到上述第一数据库中的第一数据表,也无法轻易获取到上述敏感数据,必须要进行敏感数据的解密,增加黑客获取上述敏感数据的成本。

通过上述加密单元20对敏感数据进行加密处理之后,虽然上述敏感数据被加密,但是黑客还是可以通过查询第一数据库中的第一数据表的明文字段(即未被加密的字段)查询到上述第一数据表。因此,本实施例中,如上述脱敏单元30所述的,对所述第一数据库中的所有第一数据表进行数据脱敏处理,数据脱敏通常是对某些数据通过脱敏规则进行数据的变形,实现敏感数据的可靠保护。本实施例中,对第一数据库中的所有第一数据表进行数据脱敏处理,数据脱敏处理之后,无权限的用户则无法通过明文字段查询到上述敏感数据。上述数据脱敏处理可采用常用的java脱敏算法、大数据脱敏平台等。

综上,本实施例中,不仅对第一数据库中的敏感数据进行加密,而且还对第一数据库中的所有第一数据表进行数据脱敏处理,可以避免不具备权限的用户查询到第一数据库中的第一数据表,避免敏感数据泄露。

在一实施例中,上述加密单元20,具体用于:

以所述加密方式对所述敏感数据进行加密,并将加密后的敏感数据存储在所述第一数据库的第一数据表中。

在本实施例中,采用一种共库存放方案,通过同一数据库存储上述敏感数据;即直接在所述第一数据库的第一数据表中对上述第一数据表中包含的敏感数据进行加密,即加密后的敏感数据还位于所述第一数据表中,此方法中无需增加第一数据库的加密数据存储,直接在第一数据表中进行加密。

在另一实施例中,上述加密单元20,具体用于:

在所述第一数据库中建立一个第二数据表,并将所述第一数据表中的敏感数据以所述加密方式进行加密后存储于所述第二数据表中。

在本实施例中,采用另一种共库存放方案,通过同一数据库存储上述敏感数据;即在上述第一数据库中预先建立一个第二数据表,并从所述第一数据表中提取出敏感数据,将提取出的敏感数据加密后存储在第二数据表中。通过不同的数据表管理不同的数据,便于管理以及设置相应的权限等。

为了便于从第二数据表中找到对应的敏感数据,上述第二数据表中还建立有一个哈希索引链接便于将上述第二数据表中的敏感数据索引至上述第一数据表中。

在又一实施例中,上述加密单元20,具体用于:

提取所述第一数据库中第一数据表中的敏感数据,并对提取出的所述敏感数据以所述加密方式进行加密后存储于预设的第二数据库中。

在本实施例中,采用了一种另库存放方案,通过不同的数据库存储上述敏感数据。即预先设置有一个第二数据库,该第二数据库可以是与第一数据库类型相同的数据库,其包括sql,nosql,hive等数据库。具体地,提取所述第一数据库中第一数据表中的敏感数据,然后对提取出的所述敏感数据进行加密后存储于第二数据库中。为了便于从第二数据库中找到对应的敏感数据,上述第二数据库中还建立有一个哈希索引链接,便于将上述第二数据库中的敏感数据索引至上述第一数据表中。优选地,上述第二数据库中建立有相应的数据表用于存储上述敏感数据。本实施例中,设置一个第二数据库存储加密后的敏感数据,便于对不同的数据库进行不同的权限管理,第二数据库不会影响第一数据库的管理。在同一个数据库中时,对于敏感数据以及其它非敏感数据的管理会受到限制,而设置不同的数据库时,对上述第一数据库的管理权限不会影响对上述第二数据库的管理权限,可在上述第二数据库对上述抽取的敏感数据进行单独处理,强化加密方案;同时强化日志、审计、权限管理等,可进一步地加强第二数据库中存储敏感数据的安全性。

参照图4,在一实施例中,上述数据表安全处理的装置还包括:

接收单元40,用于接收到用户的数据查询请求时,获取所述用户的用户信息,所述用户信息包括用户的账户信息;

确定单元50,用于根据所述用户的用户信息,确定所述用户的查询权限;

处理单元60,用于根据所述用户的查询权限,处理所述用户的查询请求。

在本实施例中,在对上述第一数据库中的第一数据表进行数据脱敏处理之后,还设置有不同用户信息所对应的查询权限;上述用户信息通常为用户登录系统时的账户信息,根据该账户信息的类型便可以得出其对应的查询权限。对应不同的查询权限,针对用户的数据查询请求所作出的反馈不同。例如,没有查询权限的用户无法查询到第一数据库中对应的任何数据;具有普通查询权限的用户只能查询到上述第一数据库中进行数据脱敏之后的数据,即只能看到数据脱敏之后的数据,但依然无法获取到数据的真实内容;而具有敏感数据查询权限的用户则可以查询到上述第一数据库或者第二数据库中的敏感数据。上述没有查询权限、普通查询权限、敏感数据查询权限为预先定义的几种不同的查询权限。

若有用户发出数据查询请求以查询上述第一数据库中数据时,其在发出查询请求时会携带其用户信息。本实施例中,如上述接收单元40所述的,接收到用户的数据查询请求,从该用户的数据查询请求中获取到该用户的用户信息;进而如上述确定单元50所述的,根据所述用户的用户信息,确定所述用户的查询权限。上述第一数据库中可以储存有一个用户信息-查询权限的映射表,该映射表中存储有不同用户信息所对应的查询权限,根据该映射表以及获取的用户的用户信息,则可以确定发出数据查询请求的用户所具有的查询权限。最后,如上述处理单元60所述的,根据所述用户的查询权限,处理所述用户的查询请求,对于不同查询权限的用户,其查询的结果不同。例如,在本实施例中,若所述用户没有查询权限,则该用户无法查询到第一数据库中对应的任何数据;若所述用户具有普通查询权限,则在上述共库存放方案中或者另库存放方案中,其均只能查询到上述第一数据库(脱敏数据库)中进行数据脱敏之后的脱敏数据;即只能看到数据脱敏之后的数据,但依然不能获取到数据的真实内容;若所述用户具有敏感数据查询权限,在上述共库存放方案中,则可以查询到上述第一数据库中的敏感数据的真实内容。在上述另库存放方案中,则可以查看到第二数据库(加密的敏感数据库)中的敏感数据的真实内容。通常,上述具有敏感数据查询权限的用户为具有系统层级权限的用户(系统超级管理员)。

在上述实施例中,所述加密方式包括对称加密算法、非对称加密算法以及哈希算法。

具体地,上述加密单元20对所述第一数据表中的敏感数据进行加密的过程,包括:

使用aes加密算法,对所述第一数据表中的敏感数据进行加密;使用aes(advancedencryptionstandard,高级加密标准)加密算法,对所述敏感数据进行加密,上述aes加密算法是一种对称密钥加密算法,按照用户查询权限获取密钥,有效增加黑客破解上述敏感数据的破解成本。

或者,上述加密单元20对所述第一数据表中的敏感数据进行加密的过程,包括:将所述第一数据库嵌入到jar中,转换为jar包发布,并将所述jar包导包至java类中。该过程为一种java加密算法,上述jar包为一种加密包。

上述加密的jar包的优点包括:

1、加密算法及秘钥由系统维护,以jar包形式提供给用户使用。

2、同时支持linux和win环境下的加密及解密,自动识别环境。

3、经过加壳处理,普通反编译无法获取jar包中具体加密算法的实现。

4、秘钥由系统维护,并定期变更,历史数据根据特定秘钥解密,从而进一步增加系统安全性。

在又一实施例中,上述数据表安全处理的装置,还包括:

选择单元,用于选择出所述第一数据库中满足预设条件的脏数据表,作为目标数据表;

清理单元,用于对所述第一数据库中的目标数据表进行清理。

在本实施例中,预先对上述第一数据库中第一数据表进行清理,可以根据第一数据表的创建时间、数据存储量、数据类型等选择出目标数据表进行清理,清理一些无用数据或者陈旧数据等,即上述脏数据,降低数据库中的数据占用容量,提升数据库稳定性,避免数据库因存储不足造成崩溃;同时,还可以降低后续加密及脱敏处理的处理时间。

参照图5,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图5所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据表等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据表安全处理的方法。

上述处理器执行上述数据表安全处理的方法的步骤:

按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;所述第一数据表存储于第一数据库中;

按照所述敏感数据的敏感等级,选择对应的加密方式,以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置;

对所述第一数据库中的第一数据表进行数据脱敏处理。

在一实施例中,上述处理器以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

以所述加密方式对所述敏感数据进行加密,并将加密后的敏感数据存储在所述第一数据库的第一数据表中。

在一实施例中,上述处理器以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

在所述第一数据库中建立一个第二数据表,并将所述第一数据表中的敏感数据以所述加密方式进行加密后存储于所述第二数据表中。

在一实施例中,上述处理器以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

提取所述第一数据库中第一数据表中的敏感数据,并对提取出的所述敏感数据以所述加密方式进行加密后存储于预设的第二数据库中。

在一实施例中,上述处理器对所述第一数据库中的第一数据表进行数据脱敏处理的步骤之后,包括:

接收到用户的数据查询请求时,获取所述用户的用户信息,所述用户信息包括用户的账户信息;

根据所述用户的用户信息,确定所述用户的查询权限;

根据所述用户的查询权限,处理所述用户的查询请求。

在一实施例中,上述处理器按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分的步骤,包括:

获取第一数据表中敏感数据的内容类型;

根据预设的内容类型与敏感等级的对应关系,获取对应所述第一数据表中敏感数据的敏感等级。

在一实施例中,所述加密方式包括对称加密算法、非对称加密算法以及哈希算法。

本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种数据表安全处理的方法,具体为:

按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;所述第一数据表存储于第一数据库中;

按照所述敏感数据的敏感等级,选择对应的加密方式,以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置;

对所述第一数据库中的第一数据表进行数据脱敏处理。

在一实施例中,上述处理器以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

以所述加密方式对所述敏感数据进行加密,并将加密后的敏感数据存储在所述第一数据库的第一数据表中。

在一实施例中,上述处理器以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

在所述第一数据库中建立一个第二数据表,并将所述第一数据表中的敏感数据以所述加密方式进行加密后存储于所述第二数据表中。

在一实施例中,上述处理器以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密并存储至指定位置的步骤,包括:

提取所述第一数据库中第一数据表中的敏感数据,并对提取出的所述敏感数据以所述加密方式进行加密后存储于预设的第二数据库中。

在一实施例中,上述处理器对所述第一数据库中的第一数据表进行数据脱敏处理的步骤之后,包括:

接收到用户的数据查询请求时,获取所述用户的用户信息,所述用户信息包括用户的账户信息;

根据所述用户的用户信息,确定所述用户的查询权限;

根据所述用户的查询权限,处理所述用户的查询请求。

在一实施例中,上述处理器按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分的步骤,包括:

获取第一数据表中敏感数据的内容类型;

根据预设的内容类型与敏感等级的对应关系,获取对应所述第一数据表中敏感数据的敏感等级。

在一实施例中,所述加密方式包括对称加密算法、非对称加密算法以及哈希算法。

综上所述,为本申请实施例中提供的数据表安全处理的方法、装置、计算机设备和存储介质,首先按照预设规则对第一数据表中敏感数据的敏感程度进行敏感等级划分;然后按照所述敏感数据的敏感等级,选择对应的加密方式,并以选择出的所述加密方式对所述第一数据表中的敏感数据进行加密;最后再对所述第一数据库中的第一数据表进行数据脱敏处理,以完成对数据库中数据表的安全处理,防止数据泄露,保障数据安全。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1