[发明专利]一种基于全语法树解析的动态脱敏方法在审
申请号: | 201911313880.7 | 申请日: | 2019-12-19 |
公开(公告)号: | CN111125758A | 公开(公告)日: | 2020-05-08 |
发明(设计)人: | 杨海峰;王佩思 | 申请(专利权)人: | 北京安华金和科技有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F16/21;G06F16/22;G06F16/242 |
代理公司: | 天津盛理知识产权代理有限公司 12209 | 代理人: | 王利文 |
地址: | 100081 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 语法 解析 动态 方法 | ||
本发明涉及一种基于全语法树解析的动态脱敏方法,其技术特点是:对sql原语句进行全语法树解析;通过快速访问与需要脱敏的字段信息进行匹配,匹配得到匹配结果;如果匹配不成功,直接放行,如果匹配成功,进入语法树脱敏逻辑,对语法树进行改写并将改写后的语法树进行复原。本发明通过用户对敏感字段进行配置,基于sql语句做语法树分析,通过语法树获取语句的逻辑关系,然后通过快速遍历拿到所有解析的字段信息,从而判定查询出哪些字段以及字段的所属关系,最后在全语法树解析结果中,去和敏感字段信息进行匹配,从而实现脱敏操作,本发明可以广泛应用于各种传统数据库中敏感字段的脱敏操作,有效地防止敏感数据泄密,保证了用户数据的安全。
技术领域
本发明属于数据库安全技术领域,尤其是一种基于全语法树解析的动态脱敏方法。
背景技术
随着大数据的广泛应用,个人信息保护也遇到了前所未有的挑战。个人隐私信息如何得到保护,是数据库脱敏要解决问题的关键。数据库脱敏是对某些敏感信息按照脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护的一种技术。动态脱敏能够对生产库返回的数据进行实时脱敏处理,确保返回数据可用而且安全。
现有的动态脱敏方法,可以通过对不同的用户分配不同的权限,阻止用户对某些敏感字段的操作,但是这种方法会对用户的应用造成很多限制;也可以通过SQL语句改写的动态脱敏方法,但是通过语句改写的方法,也会有很多的限制,而且没有sql语句的层次关系,容易造成脱敏失败。
发明内容
本发明的目的在于克服现有技术的不足,提出一种设计合理、准确性高、实时性强且安全可靠的基于全语法树解析的动态脱敏方法。
本发明解决其技术问题是采取以下技术方案实现的:
一种基于全语法树解析的动态脱敏方法,包括以下步骤:
步骤1、对sql原语句进行全语法树解析;
步骤2、通过快速访问与需要脱敏的字段信息进行匹配,匹配得到匹配结果;
步骤3、如果匹配不成功,直接放行,如果匹配成功,进入语法树脱敏逻辑,对语法树进行改写并将改写后的语法树进行复原。
所述步骤1的具体实现方法为:sql语句的解析顶点信息为query,在query的叶子节点中会存在字段fields信息、表tables信息、where信息和order信息;语法树解析结果query field table分别是一块单独的内存。
所述步骤2得到的匹配结果包括脱敏信息字段和*字段。
所述步骤3的具体实现方法包括以下步骤:
⑴对单个字段进行判断,如果该字段不是*字段,则进入步骤⑵,否则进行如下处理:
①遍历和*相关联的表信息;
②对单表进行判断,如果是子查询的关系,则将节点展开得到一个新的query结构,进入步骤2;
③如果单表是关联表,则将关联表进行拆分,进入步骤②;
④如果是普通表,则通过表信息去和数据库进行交互,获到当前表查询出来的字段信息,并将当前节点的*替换为查询出来的字段信息,进入步骤⑺;
⑵如果字段为函数,则对函数中的参数进行判定,然后进入步骤⑴。
⑶如果字段为a+b形式,则将当前字段拆分为叶子节点,然后依次进入步骤⑴;
⑷如果字段为子查询,则将节点得到一个新的query结构,进入步骤2;
⑸如果字段是普通表,则获取当前字段以及所属表与配置的脱敏信息进行匹配,确定是否匹配成功;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京安华金和科技有限公司,未经北京安华金和科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911313880.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种食品加工机的控制方法
- 下一篇:一种前端配置方法、系统及电子设备