本發(fā)明涉及隱私保護(hù)安全技術(shù)領(lǐng)域,具體涉及一種針對(duì)地址信息的數(shù)據(jù)脫敏方法。
背景技術(shù):
隨著各行各業(yè)的快速發(fā)展,隨著國(guó)家信息化建設(shè)的大力開展,以及IT系統(tǒng)應(yīng)用的越來越普遍,企業(yè)內(nèi)部已經(jīng)積累了大量的敏感信息和數(shù)據(jù)。而這些數(shù)據(jù),在企業(yè)的很多工作場(chǎng)景中都會(huì)得到使用。例如,業(yè)務(wù)分析、開發(fā)測(cè)試、甚至一些外包業(yè)務(wù)等方面,使用的都是真實(shí)的業(yè)務(wù)數(shù)據(jù)和信息,這些敏感的數(shù)據(jù)就像一顆定時(shí)炸彈,一旦發(fā)生泄漏、損壞。不僅會(huì)給企業(yè)帶來極大的損失,還會(huì)對(duì)企業(yè)形象造成巨大的負(fù)面影響
數(shù)據(jù)脫敏(Data Masking)的概念最先由Adam和Wortmann于1989年提出。相關(guān)技術(shù)發(fā)展到現(xiàn)在,學(xué)術(shù)界提出了很多算法用于解決數(shù)據(jù)脫敏相關(guān)的問題,如噪聲干擾(noise disturbance),K-匿名(K-anonymous),微聚合(micro polymerization)等。在產(chǎn)業(yè)化方面,IBM、ORACLE和MICROSOFT等傳統(tǒng)數(shù)據(jù)庫大廠也推出了相應(yīng)的數(shù)據(jù)脫敏產(chǎn)品。IBM將數(shù)據(jù)脫敏集成到自己的關(guān)系型數(shù)據(jù)庫框架中。而Oracle以插件的方式提供數(shù)據(jù)脫敏的擴(kuò)展。Microsoft的方案可以實(shí)現(xiàn)在生產(chǎn)數(shù)據(jù)庫到測(cè)試數(shù)據(jù)庫的數(shù)據(jù)傳輸過程中部署用戶自定義轉(zhuǎn)換函數(shù)從而實(shí)現(xiàn)數(shù)據(jù)脫敏操作。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述現(xiàn)有技術(shù),本發(fā)明目的在于提供一種針對(duì)地址信息的數(shù)據(jù)脫敏方法,解決現(xiàn)有技術(shù)不能夠在不違反系統(tǒng)規(guī)則下保持改造的脫敏地址信息格式正確有效等技術(shù)問題;同時(shí)對(duì)于測(cè)試開發(fā),尤其是涉及到位置信息系統(tǒng)的測(cè)試開發(fā)具有積極意義,還適用于涉及到位置信息關(guān)聯(lián)的大數(shù)據(jù)分析。
為達(dá)到上述目的,本發(fā)明采用的技術(shù)方案如下:
一種針對(duì)地址信息的數(shù)據(jù)脫敏方法,包括如下步驟,
步驟1、獲取結(jié)構(gòu)化地址信息,再對(duì)結(jié)構(gòu)化地址信息進(jìn)行解析,獲得對(duì)應(yīng)的經(jīng)緯度信息;
步驟2、根據(jù)預(yù)定的規(guī)則,選擇出脫敏算法,利用脫敏算法對(duì)經(jīng)緯度信息進(jìn)行脫敏操作,獲得脫敏經(jīng)緯度信息;
步驟3、根據(jù)預(yù)定的條件,對(duì)脫敏經(jīng)緯度信息進(jìn)行條件判斷,當(dāng)不符合條件時(shí),跳轉(zhuǎn)至步驟2;
步驟4、對(duì)符合條件的脫敏經(jīng)緯度信息進(jìn)行反解析,獲得脫敏結(jié)構(gòu)化地址信息。
上述方法中,所述的步驟2,其中選擇出脫敏算法,包括在抖動(dòng)算法、隨機(jī)置亂算法或模糊化算法三種算法中選擇出一種算法或組合算法作為脫敏算法。
上述方法中,所述的步驟2,其中利用抖動(dòng)算法對(duì)經(jīng)緯度信息進(jìn)行脫敏操作,脫敏操作為
f(x)=x±random*sfactor
其中,random為[0,1]隨機(jī)值,sfactor為抖動(dòng)系數(shù),抖動(dòng)系數(shù)sfactor代表目標(biāo)值f(x)與原始值x之間的最大差異。
上述方法中,所述的步驟2,其中利用隨機(jī)置亂算法對(duì)經(jīng)緯度信息進(jìn)行脫敏操作,脫敏操作為
f(x)=(baseV±random*factor)%180
其中,baseV為坐標(biāo)中心點(diǎn),factor為坐標(biāo)半徑,若baseV=0,factor=180,則隨機(jī)置亂算法在經(jīng)緯度區(qū)間內(nèi)取隨機(jī)值。
上述方法中,所述的步驟2,其中利用模糊化算法對(duì)經(jīng)緯度信息進(jìn)行脫敏操作,脫敏操作為
其中,floor為向下取整函數(shù),可以去除小數(shù)點(diǎn)后的值,factor為模糊系數(shù),模糊系數(shù)factor代表地址模糊的程度。
上述方法中,所述的步驟3,包括如下步驟,
步驟3.1、選取預(yù)定的條件為地圖中定義國(guó)家、省份或城市的邊界范圍;
步驟3.2、根據(jù)邊界范圍,判斷脫敏經(jīng)緯度信息是否超越邊界范圍;
步驟3.3.1、當(dāng)脫敏經(jīng)緯度信息超越邊界范圍時(shí),跳轉(zhuǎn)至步驟2;
步驟3.3.3、當(dāng)脫敏經(jīng)緯度信息處于邊界范圍時(shí),進(jìn)行步驟4。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
(1)本發(fā)明提供的方法所產(chǎn)生的地址信息是真實(shí)有效的,能夠被程序解析運(yùn)算;
(2)本發(fā)明支持多種不同的脫敏算法對(duì)地址信息經(jīng)緯度進(jìn)行處理,具有良好的可擴(kuò)展性,可以根據(jù)需求適配不同的脫敏算法;
(3)本發(fā)明具有地址邊界檢查功能,能夠?qū)λ傻牡刂贩秶M(jìn)行限制,防止出現(xiàn)一些不合常理的地址數(shù)據(jù),如:某中國(guó)地理信息數(shù)據(jù)庫經(jīng)脫敏后出現(xiàn)若干國(guó)外地址;
(4)本發(fā)明支持對(duì)目標(biāo)地址格式輸出的自定義,能夠生成特定格式的地址信息,滿足不同國(guó)家的用戶習(xí)慣。
附圖說明
圖1為本發(fā)明的地址數(shù)據(jù)脫敏方法流程圖。
具體實(shí)施方式
本說明書中公開的所有特征,或公開的所有方法或過程中的步驟,除了互相排斥的特征和/或步驟以外,均可以以任何方式組合。
下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步說明:
實(shí)施例1
數(shù)值型關(guān)系數(shù)據(jù)庫水印機(jī)制的設(shè)計(jì):
一種針對(duì)地址信息的數(shù)據(jù)脫敏方法,具體包括以下步驟:
步驟1.地址解析
對(duì)數(shù)據(jù)的地址進(jìn)行解析,得到對(duì)應(yīng)的經(jīng)緯度信息;
地址信息通常由詳細(xì)到街道的結(jié)構(gòu)化地址得到經(jīng)緯度信息,例如:“北京市海淀區(qū)中關(guān)村南大街27號(hào)”地址解析的結(jié)果是經(jīng)度:116.31985,緯度:39.959836。
步驟2.進(jìn)行脫敏運(yùn)算
根據(jù)當(dāng)前系統(tǒng)配置對(duì)步驟1所解析的到的地址經(jīng)緯度信息進(jìn)行脫敏操作,所支持的脫敏算法包括但不限于抖動(dòng)、隨機(jī)置亂、模糊化等算法;
其中抖動(dòng)算法表示如下:
f(x)=x±random*sfactor
其中random為[0,1]隨機(jī)值,sfactor為抖動(dòng)系數(shù),代表目標(biāo)值與原始值之間的最大差異。
隨機(jī)置亂算法表示如下:
f(x)=(baseV±random*factor)%180
其中baseV為坐標(biāo)中心點(diǎn),factor為坐標(biāo)半徑,可用于控制坐標(biāo)區(qū)域,按180取余可保證所產(chǎn)生的值符合經(jīng)緯度坐標(biāo)區(qū)間,若baseV=0,factor=180,則隨機(jī)置亂算法在經(jīng)緯度區(qū)間內(nèi)取隨機(jī)值,
其中模糊化算法表示如下:
其中factor為模糊系數(shù),代表地址模糊的程度,factor值越大,模糊程度越小,模糊化算法會(huì)使得相近區(qū)域的地址都指向同一個(gè)地址;
步驟3.坐標(biāo)邊界檢查
根據(jù)系統(tǒng)配置對(duì)步驟2所生成的坐標(biāo)信息進(jìn)行檢查,檢查經(jīng)緯度信息是否越界,坐標(biāo)邊界的設(shè)定可以按照國(guó)家、省份、城市等設(shè)定,若步驟2所生成的坐標(biāo)信息越界,則返回步驟2,重新進(jìn)行脫敏運(yùn)算;
步驟4.地址反解析
根據(jù)步驟3所生成的經(jīng)緯度信息進(jìn)行反解析,得到地址信息
地址反解析,由經(jīng)緯度信息得到結(jié)構(gòu)化地址信息,例如:經(jīng)度:31.325152,緯度:120.558957地址反解析的結(jié)果是“江蘇省蘇州市虎丘區(qū)塔園路318號(hào)”。
實(shí)施例2
本發(fā)明一種針對(duì)地址信息的脫敏方法的一個(gè)實(shí)施例,包括以下步驟:
步驟一:調(diào)用百度地圖GeocodingAPI對(duì)輸入地址進(jìn)行解析,得到輸入地址的經(jīng)緯度信息。
步驟二:根據(jù)配置選擇脫敏算法,默認(rèn)算法為抖動(dòng)算法。
步驟三:對(duì)經(jīng)緯度值分別進(jìn)行脫敏運(yùn)算,得到脫敏后經(jīng)緯度值
步驟四:對(duì)步驟三所的到的經(jīng)緯度信息進(jìn)行檢查,默認(rèn)檢查范圍為國(guó)家,檢查步驟三所生成的經(jīng)緯度坐標(biāo)與輸入地址是否所屬同一國(guó)家,如檢查失敗,則重復(fù)步驟三。
步驟五:對(duì)步驟四所得到的符合條件的經(jīng)緯度坐標(biāo)調(diào)用百度地圖GeocodingAPI進(jìn)行地址反解析,根據(jù)設(shè)定的地址格式對(duì)返回地址進(jìn)行格式化操作,輸出脫敏后地址。
實(shí)施例3
下面以“成都市高新西區(qū)合信路口龍湖時(shí)代天驕17棟202號(hào)”為例,對(duì)該地址實(shí)現(xiàn)脫敏方法步驟如下:
通過百度地圖API地址解析查詢到輸入地址的經(jīng)緯度為30.759466,103.925618;
選擇脫敏方法,此處默認(rèn)選擇抖動(dòng)算法;
通過抖動(dòng)算法計(jì)算得到脫敏后經(jīng)緯度30.5753960000,104.3465050000;
對(duì)該地址坐標(biāo)進(jìn)行邊界檢查,默認(rèn)檢查其是否與輸入地址同屬一個(gè)國(guó)家;
調(diào)用百度地圖API對(duì)所得經(jīng)緯度進(jìn)行反解析,得到結(jié)果地址:四川省成都市雙流縣太平鎮(zhèn)桃源村。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何屬于本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。