数据库表内数据的加密方法、机器可读存储介质与计算机设备技术

技术编号:35999338 阅读:17 留言:0更新日期:2022-12-17 23:16
本发明专利技术提供了一种数据库表内数据的加密方法、存储介质与计算机设备。其中上述方法包括:获取触发检查数据表加密列的事件;对数据表的列信息进行扫描;根据列信息确定列信息对应的数据是否涉密;以及将数据涉密的列设置为加密列,并对加密列的数据执行加密。本发明专利技术的方案,不需要人工指定加密列,而是通过列信息识别出需要加密的数据,自主实现加密。加密列由数据库自动识别并自主加密,减少了人为操作操作,杜绝了人为操作的主观性,可以实现全面准确地加密,提高了数据库的安全性。提高了数据库的安全性。提高了数据库的安全性。

【技术实现步骤摘要】
数据库表内数据的加密方法、机器可读存储介质与计算机设备


[0001]本专利技术涉及数据库技术,特别是涉及一种数据库表内数据的加密方法、机器可读存储介质与计算机设备。

技术介绍

[0002]数据加密是防止数据库数据在存储或传输中失密的有效手段,加密的基本思想是根据一定的算法将原始数据(明文)变换为不可以直接识别的格式(密文)。数据库中涉及的数据加密主要涉及存储加密和存储加密。
[0003]作为存储加密的一种,透明存储加密是数据库内部的加密保护方式,对用户完全透明,也即透明存储加密是在数据库内对数据进行加密,授权用户读取数据时在对其进行解密,由于数据加密对用户透明,数据库的应用程序不需要做任何修改。
[0004]随着计算机安全意识的提高,为了提高安全性,数据库中越来越多的数据以采用透明存储方式对列加密的方式存储,现有的上述加密技术存在以下确定缺点:加密需要通过DDL(Data Definition Language,数据定义语言)语句指定目标列,而指定需要人为定义。这一方面增加了人为操作,另一方面人为定义的目标列主观性较强,可能会出现加密不全面或者过度加密的情况,从而影响了数据库的安全性和可靠性。上述缺陷在特别在数据库新增数据表或者原有数据表出现变化的情况下尤为明显。

技术实现思路

[0005]本专利技术的一个目的是要数据库实现对列数据自主加密。
[0006]本专利技术一个进一步的目的是提高数据库的数据安全性。
[0007]本专利技术一个进一步的目的是避免加密不全面。/>[0008]特别地,本专利技术提供了一种数据库表内数据的加密方法,其包括:
[0009]获取触发检查数据表加密列的事件;
[0010]对数据表的列信息进行扫描;
[0011]根据列信息确定列信息对应的数据是否涉密;以及
[0012]将数据涉密的列设置为加密列,并对加密列的数据执行加密。
[0013]可选地,根据列信息确定列信息对应的数据是否涉密的步骤包括:
[0014]从列信息中提取列名;
[0015]对列名进行语意分析;
[0016]判断语意分析的结果是否包含涉密特征;
[0017]若是,确定列信息对应的数据涉密。
[0018]可选地,根据列信息确定列信息对应的数据是否涉密的步骤包括:
[0019]根据列信息从数据库的元数据记录查询得出对应列的指定标记;
[0020]如果对应列上配置有设定类型的指定标记,则确定列信息对应的数据涉密。
[0021]可选地,设定类型的指定标记包括以下任意一项或多项:数据敏感标记、脱敏标记、访问控制显示标记、审计显示标记。
[0022]可选地,在根据列信息确定列信息对应的数据是否涉密的步骤之后还包括:
[0023]在根据列信息确定不涉密的情况下,扫描列信息对应的数据以判断数据是否涉密;
[0024]若是,确定将数据涉密的列设置为加密列,并对加密列的数据执行加密。
[0025]可选地,扫描列信息对应的数据以判断数据是否涉密的步骤包括:
[0026]确定数据的类型;
[0027]若数据为字符型数据,则扫描字符型数据是否含有预先定义的涉密字词;
[0028]若含有涉密字词,则判定数据涉密。
[0029]可选地,扫描列信息对应的数据以判断数据是否涉密的步骤包括:
[0030]确定数据的类型;
[0031]若数据为数值型数据,则扫描数值型数据是否超出预设的涉密值域;
[0032]若超出涉密值域,则判定数据涉密。
[0033]可选地,获取触发检查数据表加密列的事件的步骤包括:
[0034]获取定时检查的时间达到的事件,定时检查的周期通过数据配置参数指定;和/或
[0035]获取到数据操作者手动触发检查的事件。
[0036]根据本专利技术的另一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行时实现上述任一种的数据库表内数据的加密方法。
[0037]根据本专利技术的又一个方面,还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述任一种的数据库表内数据的加密方法。
[0038]本专利技术的数据库表内数据的加密方法,在确定出现触发检查加密列的情况后,对数据表的列信息进行扫描;根据列信息确定列信息对应的数据是否涉密;以及将数据涉密的列设置为加密列。该方法不需要人工指定加密列,而是通过列信息识别出需要加密的数据,自主实现加密。加密列由数据库自动识别并自主加密,减少了人为操作操作,杜绝了人为操作的主观性,可以实现全面准确地加密,提高了数据库的安全性。
[0039]进一步地,本专利技术的数据库表内数据的加密方法,在根据列信息无法确定数据涉密的情况下,还可以进一步通过对存储的数据分析,确定数据本身是否需要加密,使得数据加密更加全面。
[0040]根据下文结合附图对本专利技术具体实施例的详细描述,本领域技术人员将会更加明了本专利技术的上述以及其他目的、优点和特征。
附图说明
[0041]后文将参照附图以示例性而非限制性的方式详细描述本专利技术的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
[0042]图1是根据本专利技术一个实施例的数据库表内数据的加密方法的示意图;
[0043]图2是根据本专利技术一个实施例的数据库表内数据的加密方法中根据列信息确定加密列的流程示意图;
[0044]图3是根据本专利技术一个实施例的数据库表内数据的加密方法中根据数据确定加密列的流程示意图;
[0045]图4是根据本专利技术一个实施例的机器可读存储介质的示意图;以及
[0046]图5是根据本专利技术一个实施例的计算机设备的示意图。
具体实施方式
[0047]由于人工加密带有一定的主动性,有可能出现对数据加密不全面(加密不足)以及对无需加密的数据采取了加密措施(加密过度),前者导致安全性下降;而后者由于数据库加密增加查询处理的复杂化影响查询效率。两者都会在一定程度上影响数据库的性能。本实施例的数据库表内数据的加密方法的目的是实现对列数据自主加密,解决上述问题。
[0048]图1是根据本专利技术一个实施例的数据库表内数据的加密方法的示意图;该数据库表内数据的加密方法包括:
[0049]步骤S102,获取触发检查数据表加密列的事件。上述事件用于触发对数据表的加密检查。
[0050]在一些实施例中,数据库的加密检查可以周期性地启动。也即获取定时检查的时间达到的事件,定时检查的周期通过数据配置参数指定。数据库的使用者可以通过设置数据配置参数来改变数据库加密检查的周期间隔。例如每天检查一一次或者每周检查一次。
[0051]在另一些实施例中,数据库的加密检查可以按照操作者的手动设定启动。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种数据库表内数据的加密方法,包括:获取触发检查数据表加密列的事件;对所述数据表的列信息进行扫描;根据所述列信息确定所述列信息对应的数据是否涉密;以及将数据涉密的列设置为加密列,并对所述加密列的数据执行加密。2.根据权利要求1所述的数据库表内数据的加密方法,其中所述根据所述列信息确定所述列信息对应的数据是否涉密的步骤包括:从所述列信息中提取列名;对所述列名进行语意分析;判断所述语意分析的结果是否包含涉密特征;若是,确定所述列信息对应的数据涉密。3.根据权利要求1所述的数据库表内数据的加密方法,其中所述根据所述列信息确定所述列信息对应的数据是否涉密的步骤包括:根据所述列信息从所述数据库的元数据记录查询得出对应列的指定标记;如果所述对应列上配置有设定类型的指定标记,则确定所述列信息对应的数据涉密。4.根据权利要求3所述的数据库表内数据的加密方法,其中所述设定类型的指定标记包括以下任意一项或多项:数据敏感标记、脱敏标记、访问控制显示标记、审计显示标记。5.根据权利要求1所述的数据库表内数据的加密方法,其中在根据所述列信息确定所述列信息对应的数据是否涉密的步骤之后还包括:在所述根据所述列信息确定不涉密的情况下,扫描所述列信息对应的数据以判断所述数据是否涉密;若是,确定将数据涉密的列设置为加...

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

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

1