本发明涉及数据安全技术领域,具体地说是一种对展示数据进行脱敏处理的方法。
背景技术:
随着大数据应用在信息时代的普及,其中蕴藏的巨大商业价值被逐步挖掘出来,大数据平台通过将所有数据整合起来,充分分析与挖掘数据的内在价值,为决策者提供数据统计,分析、数据产品与数据服务。
大数据平台接入数据中可能包括很多用户的隐私和敏感信息,如用户手机号码,地址等,这些数据存在可能泄漏的风险。大数据平台一般通过用户认证,权限管理以及数据加密等技术保证数据的安全,但是这并不能完全从技术上保证数据的安全。另一方面,没有访问用户数据权限的人员,也可能有对该数据进行分析挖掘的需求,数据的访问约束大大限制的充分挖掘数据价值的范围。实际生产过程中,应用场景会更加复杂,仅靠对数据访问权限的控制,满足不了实际需要,还需要结合其它的手段。
技术实现要素:
本发明为克服现有技术的不足,提供一种对展示数据进行脱敏处理的方法,能够安全、有效地保证用户敏感数据的私密性,可以配置不同脱敏策略对指定请求的敏感信息脱敏,同时可以配置不需要脱敏的岗位角色,具有灵活的扩展性。
为实现上述目的,设计一种对展示数据进行脱敏处理的方法,其特征在于:具体方法如下:
(1)客户端发送数据请求;
(2)过滤器拦截数据请求;
(3)判断该数据请求是否为需要数据脱敏的请求,是则继续判断登录的用户是否需要数据脱敏处理,否则正常输出客户端;
(4)判断登录的用户是否需要数据脱敏处理,是则调用请求接口得到待脱敏的数据,否则正常输出客户端;
(5)调用请求接口得到待脱敏的数据;
(6)从配置中心获取脱敏数据和脱敏政策,并构建脱敏器对象;
(7)调用脱敏器的脱敏方法并输入待脱敏的数据;
(8)脱敏数据处理完成后,接口将脱敏后的数据输出至客户端。
所述的请求接口为filter接口。
所述的脱敏器为虚拟脱敏器,可以根据自定义defaultmasker.yml配置文件。
一种数据脱敏器,其特征在于:所述的数据脱敏器包括:
主脱敏器,用于待脱敏数据的输入及脱敏后数据的输出;
脱敏查找器,用于查找需要脱敏的数据条目;
次脱敏器,用于根据脱敏策略进行数据脱敏处理。
所述的数据脱敏器的工作流程如下:
(1)待脱敏的数据输入主脱敏器后,由主脱敏器输送至脱敏查找器;
(2)脱敏查找器进行查找需要脱敏的数据条目,找到要脱敏的数据条目后,将该条目输入至次脱敏器;
(3)次脱敏器根据脱敏策略进行数据脱敏处理,并呈现出脱敏后的数据条目;
(4)次脱敏器将脱敏后的数据条目替换原有的数据条目,并将脱敏后的数据条目输送至主脱敏器;
(5)主脱敏器将脱敏后的数据条目输出显示。
本发明同现有技术相比,提供一种对展示数据进行脱敏处理的方法,能够安全、有效地保证用户敏感数据的私密性,可以配置不同脱敏策略对指定请求的敏感信息脱敏,同时可以配置不需要脱敏的岗位角色,具有灵活的扩展性。
附图说明
图1为本发明流程图。
图2为本发明框架结构示意图。
图3为实施例示意图。
具体实施方式
下面根据附图对本发明做进一步的说明。
在“涉及客户安全数据或者一些商业性敏感数据的情况下”对数据进行改造,说明要进行改造的数据是涉及到用户或者企业数据的安全,进行数据脱敏其实就是对这些数据进行加密,防止泄露。对于脱敏的程度,一般来说只要处理到无法推断原有的信息,不会造成信息泄露即可,如果修改过多,容易导致丢失数据原有特性。因此,在实际操作中,需要根据实际场景来选择适当的脱敏规则。
如图1所示,一种对展示数据进行脱敏处理的方法,具体方法如下:
(1)客户端发送数据请求;
(2)过滤器拦截数据请求;
(3)判断该数据请求是否为需要数据脱敏的请求,是则继续判断登录的用户是否需要数据脱敏处理,否则正常输出客户端;
(4)判断登录的用户是否需要数据脱敏处理,是则调用请求接口得到待脱敏的数据,否则正常输出客户端;
(5)调用请求接口得到待脱敏的数据;
(6)从配置中心获取脱敏数据和脱敏政策,并构建脱敏器对象;
(7)调用脱敏器的脱敏方法并输入待脱敏的数据;
(8)脱敏数据处理完成后,接口将脱敏后的数据输出至客户端。
请求接口为filter接口。
脱敏器为虚拟脱敏器,可以根据自定义defaultmasker.yml配置文件。
如图2所示,一种数据脱敏器,数据脱敏器包括:
主脱敏器,用于待脱敏数据的输入及脱敏后数据的输出;
脱敏查找器,用于查找需要脱敏的数据条目;
次脱敏器,用于根据脱敏策略进行数据脱敏处理。
数据脱敏器的工作流程如下:
(1)待脱敏的数据输入主脱敏器后,由主脱敏器输送至脱敏查找器;
(2)脱敏查找器进行查找需要脱敏的数据条目,找到要脱敏的数据条目后,将该条目输入至次脱敏器;
(3)次脱敏器根据脱敏策略进行数据脱敏处理,并呈现出脱敏后的数据条目;
(4)次脱敏器将脱敏后的数据条目替换原有的数据条目,并将脱敏后的数据条目输送至主脱敏器;
(5)主脱敏器将脱敏后的数据条目输出显示。
一、脱敏策略:
对输入字符序列进行脱敏,可以使用“*”或者“x”代替原有字符序列中需要隐藏的数据。可以根据需要使用不同的策略,也可以自定义脱敏策略。
二、脱敏配置规则:
系统默认提供一个defaultmasker.yml的配置文件,配置了脱敏的字段和方式,通过读取配置文件并转换成对象。如果默认配置中没有脱敏的字段或者想改变脱敏规则,可以自定义custommasker.yml配置来替换默认配置。
三、脱敏器:
创建一个抽象的数据脱敏器接口,内部定义一个脱敏的抽象方法,脱敏器处理类都实现这个接口实现自己的脱敏逻辑。
1、通用的基于静态(固定)偏移量的脱敏器
根据数据字段内容和脱敏字符偏移位获取需要脱敏的长度内容,用脱敏后的字符替换掉原有数据中需要脱敏的数据长度,得到的数据就是需要脱敏之后的数据内容。
2、正则表达脱敏器
根据自定义的custommasker.yml配置中的正则表达式规则,构建一个正则表达式对象,然后根据数据字段内容去匹配得到一个匹配后的对象。
匹配内容分成若干组,每一组都按照脱敏策略去替换,最后替换后的内容就是脱敏的数据。
四、脱敏器构建工厂:
初始化工厂类,根据脱敏策略构建全局的脱敏器。遍历脱敏配置对象,每一个脱敏字段都构建一个脱敏器,脱敏器构建规则:
1、默认使用基于位偏移的脱敏器,构建一个固定的脱敏偏移对象(包括两个属性起始偏移和结束偏移),如果配置了“排除开始字符”,则以该字符第一次出现的index为起始计算偏移起始位,根据默认的脱敏策略和脱敏偏移对象构建通用的基于固定偏移量的脱敏策略器对象。
2、如果使用自定义custommasker.yml配置来替换默认配置。且设置了正则表达式的脱敏规则,则优先使用正则表达式脱敏器。
然后创建一个map对象,保存所有需要脱敏字段和对应脱敏器,键是脱敏字段,值为对应脱敏器。
五、脱敏流程:
使用脱敏查找器递归遍历待脱敏的数据,查找需要数据脱敏的条目,根据每个字段键值判断是否需要脱敏处理,如果不需要脱敏的直接返回原数据;如果需要脱敏,则根据接口返回数据的键值获取到对应脱敏器统一处理的键值,再根据键值从上面map对象中获取对应脱敏器,然后执行脱敏器中配置的脱敏策略进行脱敏,最后将脱敏后的数据输出到客户端。
实施例一
如图3所示,第一步:新建一个过滤器类实现filter接口,并重新实现dofilter方法。
获取配置中心配置需要脱敏的请求路径和脱敏字段的json文件,key是请求路径,value是一个脱敏字段的json字符串,json字符串的key值是接口返回的属性名,value是脱敏器可以处理的属性名,把接口的属性名映射成脱敏器统一处理的属性名。并把json文件转换成一个map对象。
第二步:如果用户请求路径存在于脱敏配置中,表示用户请求数据包含敏感信息需要脱敏,根据key值得到脱敏字段对象。对于那些不需要脱敏的角色,可以在配置中心配置无需脱敏的角色,拥有该角色的用户看到的数据是没有脱敏的。
第三步:根据脱敏属性和脱敏策略构建一个脱敏器,将需要脱敏的数据传入脱敏方法,执行完脱敏方法得到的结果返回客户端。
1.一种对展示数据进行脱敏处理的方法,其特征在于:具体方法如下:
(1)客户端发送数据请求;
(2)过滤器拦截数据请求;
(3)判断该数据请求是否为需要数据脱敏的请求,是则继续判断登录的用户是否需要数据脱敏处理,否则正常输出客户端;
(4)判断登录的用户是否需要数据脱敏处理,是则调用请求接口得到待脱敏的数据,否则正常输出客户端;
(5)调用请求接口得到待脱敏的数据;
(6)从配置中心获取脱敏数据和脱敏政策,并构建脱敏器对象;
(7)调用脱敏器的脱敏方法并输入待脱敏的数据;
(8)脱敏数据处理完成后,接口将脱敏后的数据输出至客户端。
2.根据权利要求1所述的一种对展示数据进行脱敏处理的方法,其特征在于:所述的请求接口为filter接口。
3.根据权利要求1所述的一种对展示数据进行脱敏处理的方法,其特征在于:所述的脱敏器为虚拟脱敏器,可以根据自定义defaultmasker.yml配置文件。
4.一种数据脱敏器,其特征在于:所述的数据脱敏器包括:
主脱敏器,用于待脱敏数据的输入及脱敏后数据的输出;
脱敏查找器,用于查找需要脱敏的数据条目;
次脱敏器,用于根据脱敏策略进行数据脱敏处理。
5.根据权利要求3所述的一种数据脱敏器,其特征在于:所述的数据脱敏器的工作流程如下:
(1)待脱敏的数据输入主脱敏器后,由主脱敏器输送至脱敏查找器;
(2)脱敏查找器进行查找需要脱敏的数据条目,找到要脱敏的数据条目后,将该条目输入至次脱敏器;
(3)次脱敏器根据脱敏策略进行数据脱敏处理,并呈现出脱敏后的数据条目;
(4)次脱敏器将脱敏后的数据条目替换原有的数据条目,并将脱敏后的数据条目输送至主脱敏器;
(5)主脱敏器将脱敏后的数据条目输出显示。
技术总结