敏感数据的脱敏访问方法及系统与流程

文档序号:31474994发布日期:2022-09-10 00:14阅读:286来源:国知局
敏感数据的脱敏访问方法及系统与流程

1.本发明涉及数据安全技术领域,尤其涉及一种敏感数据的脱敏访问方法及系统。


背景技术:

2.目前,对于海事敏感数据,当用户需要访问时,通常是直接下发裸数据,导致数据的安全性存在隐患,通用的数据脱敏处理方法是直接在数据库中对数据进行无效化、随机化或替换化等处理,无法实现动态灵活的脱敏。


技术实现要素:

3.本发明所要解决的技术问题是针对脱敏方法无法实现动态灵活的脱敏的问题,提供一种敏感数据的脱敏访问方法及系统。
4.一个方面,提供一种敏感数据的脱敏访问方法,包括:
5.根据敏感数据的特征构建正则表达式,根据所述正则表达式对目标数据库中的数据表进行扫描,确定所述目标数据库中的敏感数据;
6.获取用户端发出的对所述目标数据库的访问请求,根据所述访问请求判断是否访问所述敏感数据;
7.当所述用户端访问所述敏感数据时,通过sql改写技术对所述敏感数据进行脱敏。
8.作为可选的一种方案,根据敏感数据的特征构建正则表达式之前,还包括:
9.根据敏感数据所在领域的数据使用情况,编制安全分类分级管理规定,根据所述安全分类分级管理规定确定敏感数据清单;
10.根据所述敏感数据清单确定所述敏感数据的特征。
11.作为可选的一种方案,根据所述正则表达式对目标数据库中的数据表进行扫描,确定所述目标数据库中的敏感数据,具体包括:
12.根据所述正则表达式对目标数据库中的数据表进行扫描,确定所述数据表中的字段数据与所述正则表达式的匹配度,将匹配度大于预设阈值的字段数据作为敏感数据。
13.作为可选的一种方案,当所述用户端访问所述敏感数据时,通过sql改写技术对所述敏感数据进行脱敏,具体包括:
14.当所述用户端访问所述敏感数据时,通过sql改写技术对所述敏感数据进行代理网关模式脱敏、透明网关模式脱敏或软件代理模式脱敏。
15.作为可选的一种方案,获取用户端发出的对所述目标数据库的访问请求之后,还包括:
16.判断所述用户端对所述目标数据库的查询权限,根据所述查询权限判断是否响应或阻断所述用户端的访问。
17.另一方面,提供一种敏感数据的脱敏访问系统,包括:扫描单元、通信单元和脱敏单元,其中:
18.所述扫描单元用于根据敏感数据的特征构建正则表达式,根据所述正则表达式对
目标数据库中的数据表进行扫描,确定所述目标数据库中的敏感数据;
19.所述通信单元用于获取用户端发出的对所述目标数据库的访问请求,根据所述访问请求判断是否访问所述敏感数据;
20.所述脱敏单元用于当所述用户端访问所述敏感数据时,通过sql改写技术对所述敏感数据进行脱敏。
21.作为可选的一种方案,还包括:
22.数据分级单元,用于根据敏感数据所在领域的数据使用情况,编制安全分类分级管理规定,根据所述安全分类分级管理规定确定敏感数据清单;根据所述敏感数据清单确定所述敏感数据的特征。
23.作为可选的一种方案,所述扫描单元具体用于根据所述正则表达式对目标数据库中的数据表进行扫描,确定所述数据表中的字段数据与所述正则表达式的匹配度,将匹配度大于预设阈值的字段数据作为敏感数据。
24.作为可选的一种方案,所述脱敏单元具体用于当所述用户端访问所述敏感数据时,通过sql改写技术对所述敏感数据进行代理网关模式脱敏、透明网关模式脱敏或软件代理模式脱敏。
25.作为可选的一种方案,还包括:
26.权限判断单元,用于判断所述用户端对所述目标数据库的查询权限,根据所述查询权限判断是否响应或阻断所述用户端的访问。
27.上述技术方案中的一个技术方案具有如下优点或有益效果:通过正则表达式确定数据库中的敏感数据,当用户访问敏感数据时,通过sql改写技术对敏感数据进行脱敏处理,解决了目前海事敏感数据下发裸数据的问题,可以对不同的用户端进行动态灵活的脱敏。
28.本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
29.图1为本发明脱敏访问方法的实施例提供的流程示意图;
30.图2为本发明脱敏访问方法的其他实施例提供的流程示意图;
31.图3为本发明脱敏访问方法的实施例提供的敏感数据识别流程示意图;
32.图4为本发明脱敏访问方法的实施例提供的敏感对象识别流程示意图;
33.图5为本发明脱敏访问方法的实施例提供的sql改写技术流程示意图;
34.图6为本发明脱敏访问方法的实施例提供的动态脱敏方法示意图。
具体实施方式
35.以下结合附图对本发明的原理和特征进行描述,所举实施例只用于解释本发明,并非用于限定本发明的范围。
36.如图1所示,为本发明脱敏访问方法的实施例提供的流程示意图,该敏感数据的脱敏访问方法包括:
37.s1,根据敏感数据的特征构建正则表达式,根据正则表达式对目标数据库中的数
据表进行扫描,确定目标数据库中的敏感数据;
38.需要说明的是,敏感数据可以是各个领域的数据,例如,可以为海事数据、航空数据或作战数据等,以下实施方式中以海事数据为例进行说明。
39.对于不同的敏感数据,其结构不同,因此特征也不同,则正则表达式不同,例如,如图3所示,提供了一种以身份证号为示例的敏感数据识别说明。本步骤中,扫描数据库中数据表,根据敏感数据清单梳理的正则表达式匹配规则进行全表扫描,如果匹配上,则认为发现了敏感数据。例如,对于身份证号,长度为18位,前6位为地区码,中间8位为yyyymmdd格式的日期,那么可以据此设计正则表达式,根据身份证号的正则表达式扫描字段,发现身份证号字段满足地区码和日期的要求,则认为身份证号字段为敏感字段。
40.如图3所示,还可以根据百家姓码表匹配用户的姓名,从而提高匹配的准确度,最终通过数据字典匹配的得到匹配结果。
41.又例如,以船舶识别号为例,船舶识别号以cn开头,加上11位阿拉伯数字组成。cn代表中国,11位阿拉伯数字的前四位表示船舶安放龙骨的年份,第5至10位是随机编号,第11位是校验码。这样正则表达式可以简单表示为:^cn[0-9]{11}。
[0042]
通过对敏感数据的特征进行挖掘,结合字段类型与样本数据,对指定的数据库表中的字段数据进行对比综合分析,可以得到数据与正则表达式的规则的匹配度。当匹配度达到事先设定的阀值时,则认为数据与该规则匹配。样本数据越多,则敏感数据的识别率越高。
[0043]
如图4所示,提供了另一种敏感对象识别的流程示意图,可以实现敏感数据的自动识别,通过自动发现准生产数据源产生的全量数据和增量数据,对金额、日期等数据进行列名正则匹配,对电子邮件、ip、车牌号、身份证号、银行卡号、组织机构代码与社会统一信用代码等进行内容正则匹配,并进行内容格式检验、码表检验和内容程序检验,最终得到敏感元数据集合。
[0044]
得到敏感元数据集合后,用户就可以进行人工检验敏感数据,可以上传敏感元数据定义文件或在线修改敏感元数据定义。
[0045]
s2,获取用户端发出的对目标数据库的访问请求,根据访问请求判断是否访问敏感数据;
[0046]
可选地,可以对不同的用户端设置不同的访问权限,对敏感数据分级访问。
[0047]
例如,可以将敏感数据分为3个级别,依次是极度敏感、非常敏感和一般敏感,可以在收到访问请求后,根据访问请求中包含的用户端的ip地址或识别码等,识别出当前用户终端的访问级别,从而确定是否有对当前敏感数据进行访问的权限。
[0048]
s3,当用户端访问敏感数据时,通过sql改写技术对敏感数据进行脱敏。
[0049]
需要说明的是,根据sql语句语义,查找需要脱敏处理的字段,进行脱敏函数替换,并对select*、where子语句、prepare等特殊情况进行处理。改写完毕,将修改后的语句提交到数据库执行,将结果返回给用户。此时用户得到的便是脱敏后的数据。
[0050]
例如,假设用户想访问身份证号码,那么可以将身份证中间8位的出生日期修改为xxxxxxxx,从而实现身份证号码的脱敏。
[0051]
如图5所示,提供了一种示例性的sql改写技术流程示意图,首先,可以识别用户权限,判断当前用户是否有访问敏感数据的权限,然后,匹配脱敏策略,应理解,脱敏策略可以
根据用户的实际需求进行设置,例如,可以将敏感数据替换为xx,也可以将敏感数据替换为空白等。
[0052]
然后,对敏感数据的sql进行解析,根据敏感源策略管理模块中关于数据库中数据源配置的脱敏策略对敏感数据的sql进行改写,执行改写后的sql。
[0053]
需要说明的是,敏感源策略管理模块是预先建立的存储有敏感源脱敏策略的数据库,在进行sql改写时,可以根据用户端发出的调用指令或预先设置的调用程序直接调用其中存储的脱敏策略,具体存储的脱敏策略的种类可以根据实际需求设置。
[0054]
此外,如果在解析sql时,还可以针对非动态脱敏任务配置范围的数据库访问进行阻断,例如客户端ip、数据库用户、操作访问时间段、客户端工具等。
[0055]
本实施例提供的脱敏访问方法,通过正则表达式确定数据库中的敏感数据,当用户访问敏感数据时,通过sql改写技术对敏感数据进行脱敏处理,解决了目前海事敏感数据下发裸数据的问题,可以对不同的用户端进行动态灵活的脱敏。
[0056]
如图2所示,提供了一种更为优选的脱敏流程,下面结合图2,对本发明一些可选的步骤改进进行说明。
[0057]
可选地,在一些可能的实施方式中,根据敏感数据的特征构建正则表达式之前,还包括:
[0058]
根据敏感数据所在领域的数据使用情况,编制安全分类分级管理规定,根据安全分类分级管理规定确定敏感数据清单;
[0059]
根据敏感数据清单确定敏感数据的特征。
[0060]
以海事数据为例,可以根据部海事局《海事数据安全分类分级管理规定》,梳理海事数据敏感数据清单,并对海事一体化库标准层数据进行扫描识别。
[0061]
通过对敏感数据所在领域的数据使用情况进行分析和梳理,确定安全分类分级管理规定,能够更精准地确定敏感数据的特征。
[0062]
可选地,在一些可能的实施方式中,根据正则表达式对目标数据库中的数据表进行扫描,确定目标数据库中的敏感数据,具体包括:
[0063]
根据正则表达式对目标数据库中的数据表进行扫描,确定数据表中的字段数据与正则表达式的匹配度,将匹配度大于预设阈值的字段数据作为敏感数据。
[0064]
应理解,预设阈值可以根据实际需求设置,例如,以简单的匹配为例,假设一个5位长度的数字为敏感数据,那么阈值可以为设置为80%,即只要4位数字匹配上了,那么就可以认为该数据为敏感数据,该阈值是可以调整的,例如,为了匹配结果更加精准,可以将阈值设置的更高。
[0065]
通过上述步骤进行匹配,能够更加灵活地设置阈值,从而实现敏感数据的灵活脱敏。
[0066]
可选地,在一些可能的实施方式中,当用户端访问敏感数据时,通过sql改写技术对敏感数据进行脱敏,具体包括:
[0067]
当用户端访问敏感数据时,通过sql改写技术对敏感数据进行代理网关模式脱敏、透明网关模式脱敏或软件代理模式脱敏。
[0068]
如图6所示,提供了动态脱敏方法示意图,提供了示例性的3种实现方式,其中,代理网关模式是在核心交换机与中间件服务器之间设置了动态脱敏服务器,通过提供代理服
务器的方式,用户只需要将访问数据库的ip地址修改为代理服务器的地址,就可以实现数据库的访问。
[0069]
透明网关模式是在核心交换机与中间件服务器之间设置了新增交换机和动态脱敏服务器,可以变更网络拓扑模型,原理同代理网关模式,不再赘述。
[0070]
软件代理模式是在数据库中加入了探针,当用户访问敏感数据时,探针进行工作,对数据进行脱敏,这种方式不需要架设额外的服务器,但对生产环境操作系统和数据库有一定的影响。
[0071]
通过上述方式,能够灵活地实现敏感数据的脱敏。
[0072]
可选地,在一些可能的实施方式中,获取用户端发出的对目标数据库的访问请求之后,还包括:
[0073]
判断用户端对目标数据库的查询权限,根据查询权限判断是否响应或阻断用户端的访问。
[0074]
应理解,可以默认所有用户对所有数据表的alter..drop、update、delete、truncate、drop等的危害操作进行阻断,可针对不同用户进行差异化配置。针对非经审批的数据库访问行为进行阻断。默认对所有用户对所有数据表的select查询权限开放,如需特别敏感表进行访问权限,可针对不同用户进行差异化配置。
[0075]
通过查询权限判断,及时阻断用户的操作,能够提高数据访问的安全性。
[0076]
本发明还提供一种敏感数据的脱敏访问系统,包括:扫描单元、通信单元和脱敏单元,其中:
[0077]
扫描单元用于根据敏感数据的特征构建正则表达式,根据正则表达式对目标数据库中的数据表进行扫描,确定目标数据库中的敏感数据;
[0078]
通信单元用于获取用户端发出的对目标数据库的访问请求,根据访问请求判断是否访问敏感数据;
[0079]
脱敏单元用于当用户端访问敏感数据时,通过sql改写技术对敏感数据进行脱敏。
[0080]
本实施例提供的脱敏访问系统,通过正则表达式确定数据库中的敏感数据,当用户访问敏感数据时,通过sql改写技术对敏感数据进行脱敏处理,解决了目前海事敏感数据下发裸数据的问题,可以对不同的用户端进行动态灵活的脱敏。
[0081]
可选地,在一些可能的实施方式中,还包括:
[0082]
数据分级单元,用于根据敏感数据所在领域的数据使用情况,编制安全分类分级管理规定,根据安全分类分级管理规定确定敏感数据清单;根据敏感数据清单确定敏感数据的特征。
[0083]
可选地,在一些可能的实施方式中,扫描单元具体用于根据正则表达式对目标数据库中的数据表进行扫描,确定数据表中的字段数据与正则表达式的匹配度,将匹配度大于预设阈值的字段数据作为敏感数据。
[0084]
可选地,在一些可能的实施方式中,脱敏单元具体用于当用户端访问敏感数据时,通过sql改写技术对敏感数据进行代理网关模式脱敏、透明网关模式脱敏或软件代理模式脱敏。
[0085]
可选地,在一些可能的实施方式中,还包括:
[0086]
权限判断单元,用于判断用户端对目标数据库的查询权限,根据查询权限判断是
否响应或阻断用户端的访问。
[0087]
应理解,上述实施方式为与在先方法实施方式对应的产品实施方式,关于产品实施方式的说明可以参考在先方法实施方式的说明,在此不再赘述。
[0088]
应理解,在不违背本发明构思的前提下,本领域技术人员可以将上述实施方式进行任意组合,均在本发明的保护范围内。
[0089]
读者应理解,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0090]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例仅仅是示意性的,例如,步骤的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个步骤可以结合或者可以集成到另一个步骤,或一些特征可以忽略,或不执行。
[0091]
上述方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0092]
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1