本发明涉及隐私保护安全技术领域,具体涉及一种针对地址信息的数据脱敏方法。
背景技术:
随着各行各业的快速发展,随着国家信息化建设的大力开展,以及IT系统应用的越来越普遍,企业内部已经积累了大量的敏感信息和数据。而这些数据,在企业的很多工作场景中都会得到使用。例如,业务分析、开发测试、甚至一些外包业务等方面,使用的都是真实的业务数据和信息,这些敏感的数据就像一颗定时炸弹,一旦发生泄漏、损坏。不仅会给企业带来极大的损失,还会对企业形象造成巨大的负面影响
数据脱敏(Data Masking)的概念最先由Adam和Wortmann于1989年提出。相关技术发展到现在,学术界提出了很多算法用于解决数据脱敏相关的问题,如噪声干扰(noise disturbance),K-匿名(K-anonymous),微聚合(micro polymerization)等。在产业化方面,IBM、ORACLE和MICROSOFT等传统数据库大厂也推出了相应的数据脱敏产品。IBM将数据脱敏集成到自己的关系型数据库框架中。而Oracle以插件的方式提供数据脱敏的扩展。Microsoft的方案可以实现在生产数据库到测试数据库的数据传输过程中部署用户自定义转换函数从而实现数据脱敏操作。
技术实现要素:
针对上述现有技术,本发明目的在于提供一种针对地址信息的数据脱敏方法,解决现有技术不能够在不违反系统规则下保持改造的脱敏地址信息格式正确有效等技术问题;同时对于测试开发,尤其是涉及到位置信息系统的测试开发具有积极意义,还适用于涉及到位置信息关联的大数据分析。
为达到上述目的,本发明采用的技术方案如下:
一种针对地址信息的数据脱敏方法,包括如下步骤,
步骤1、获取结构化地址信息,再对结构化地址信息进行解析,获得对应的经纬度信息;
步骤2、根据预定的规则,选择出脱敏算法,利用脱敏算法对经纬度信息进行脱敏操作,获得脱敏经纬度信息;
步骤3、根据预定的条件,对脱敏经纬度信息进行条件判断,当不符合条件时,跳转至步骤2;
步骤4、对符合条件的脱敏经纬度信息进行反解析,获得脱敏结构化地址信息。
上述方法中,所述的步骤2,其中选择出脱敏算法,包括在抖动算法、随机置乱算法或模糊化算法三种算法中选择出一种算法或组合算法作为脱敏算法。
上述方法中,所述的步骤2,其中利用抖动算法对经纬度信息进行脱敏操作,脱敏操作为
f(x)=x±random*sfactor
其中,random为[0,1]随机值,sfactor为抖动系数,抖动系数sfactor代表目标值f(x)与原始值x之间的最大差异。
上述方法中,所述的步骤2,其中利用随机置乱算法对经纬度信息进行脱敏操作,脱敏操作为
f(x)=(baseV±random*factor)%180
其中,baseV为坐标中心点,factor为坐标半径,若baseV=0,factor=180,则随机置乱算法在经纬度区间内取随机值。
上述方法中,所述的步骤2,其中利用模糊化算法对经纬度信息进行脱敏操作,脱敏操作为
其中,floor为向下取整函数,可以去除小数点后的值,factor为模糊系数,模糊系数factor代表地址模糊的程度。
上述方法中,所述的步骤3,包括如下步骤,
步骤3.1、选取预定的条件为地图中定义国家、省份或城市的边界范围;
步骤3.2、根据边界范围,判断脱敏经纬度信息是否超越边界范围;
步骤3.3.1、当脱敏经纬度信息超越边界范围时,跳转至步骤2;
步骤3.3.3、当脱敏经纬度信息处于边界范围时,进行步骤4。
与现有技术相比,本发明的有益效果:
(1)本发明提供的方法所产生的地址信息是真实有效的,能够被程序解析运算;
(2)本发明支持多种不同的脱敏算法对地址信息经纬度进行处理,具有良好的可扩展性,可以根据需求适配不同的脱敏算法;
(3)本发明具有地址边界检查功能,能够对所生成的地址范围进行限制,防止出现一些不合常理的地址数据,如:某中国地理信息数据库经脱敏后出现若干国外地址;
(4)本发明支持对目标地址格式输出的自定义,能够生成特定格式的地址信息,满足不同国家的用户习惯。
附图说明
图1为本发明的地址数据脱敏方法流程图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合附图对本发明做进一步说明:
实施例1
数值型关系数据库水印机制的设计:
一种针对地址信息的数据脱敏方法,具体包括以下步骤:
步骤1.地址解析
对数据的地址进行解析,得到对应的经纬度信息;
地址信息通常由详细到街道的结构化地址得到经纬度信息,例如:“北京市海淀区中关村南大街27号”地址解析的结果是经度:116.31985,纬度:39.959836。
步骤2.进行脱敏运算
根据当前系统配置对步骤1所解析的到的地址经纬度信息进行脱敏操作,所支持的脱敏算法包括但不限于抖动、随机置乱、模糊化等算法;
其中抖动算法表示如下:
f(x)=x±random*sfactor
其中random为[0,1]随机值,sfactor为抖动系数,代表目标值与原始值之间的最大差异。
随机置乱算法表示如下:
f(x)=(baseV±random*factor)%180
其中baseV为坐标中心点,factor为坐标半径,可用于控制坐标区域,按180取余可保证所产生的值符合经纬度坐标区间,若baseV=0,factor=180,则随机置乱算法在经纬度区间内取随机值,
其中模糊化算法表示如下:
其中factor为模糊系数,代表地址模糊的程度,factor值越大,模糊程度越小,模糊化算法会使得相近区域的地址都指向同一个地址;
步骤3.坐标边界检查
根据系统配置对步骤2所生成的坐标信息进行检查,检查经纬度信息是否越界,坐标边界的设定可以按照国家、省份、城市等设定,若步骤2所生成的坐标信息越界,则返回步骤2,重新进行脱敏运算;
步骤4.地址反解析
根据步骤3所生成的经纬度信息进行反解析,得到地址信息
地址反解析,由经纬度信息得到结构化地址信息,例如:经度:31.325152,纬度:120.558957地址反解析的结果是“江苏省苏州市虎丘区塔园路318号”。
实施例2
本发明一种针对地址信息的脱敏方法的一个实施例,包括以下步骤:
步骤一:调用百度地图GeocodingAPI对输入地址进行解析,得到输入地址的经纬度信息。
步骤二:根据配置选择脱敏算法,默认算法为抖动算法。
步骤三:对经纬度值分别进行脱敏运算,得到脱敏后经纬度值
步骤四:对步骤三所的到的经纬度信息进行检查,默认检查范围为国家,检查步骤三所生成的经纬度坐标与输入地址是否所属同一国家,如检查失败,则重复步骤三。
步骤五:对步骤四所得到的符合条件的经纬度坐标调用百度地图GeocodingAPI进行地址反解析,根据设定的地址格式对返回地址进行格式化操作,输出脱敏后地址。
实施例3
下面以“成都市高新西区合信路口龙湖时代天骄17栋202号”为例,对该地址实现脱敏方法步骤如下:
通过百度地图API地址解析查询到输入地址的经纬度为30.759466,103.925618;
选择脱敏方法,此处默认选择抖动算法;
通过抖动算法计算得到脱敏后经纬度30.5753960000,104.3465050000;
对该地址坐标进行边界检查,默认检查其是否与输入地址同属一个国家;
调用百度地图API对所得经纬度进行反解析,得到结果地址:四川省成都市双流县太平镇桃源村。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。