
大數(shù)據(jù)平臺(tái)通過(guò)將所有數(shù)據(jù)整合起來(lái),充分分析與挖掘數(shù)據(jù)的內(nèi)在價(jià)值,為業(yè)務(wù)部門提供數(shù)據(jù)平臺(tái),數(shù)據(jù)產(chǎn)品與數(shù)據(jù)服務(wù)。大數(shù)據(jù)平臺(tái)接入的數(shù)據(jù)中可能包括很多用戶的隱私和敏感信息,如用戶在酒店的入住紀(jì)錄,用戶支付信息等,這些數(shù)據(jù)存在可能泄漏的風(fēng)險(xiǎn)。
大數(shù)據(jù)平臺(tái)一般通過(guò)用戶認(rèn)證,權(quán)限管理以及數(shù)據(jù)加密等技術(shù)保證數(shù)據(jù)的安全,但是這并不能完全從技術(shù)上保證數(shù)據(jù)的安全。
嚴(yán)格的來(lái)說(shuō),任何有權(quán)限訪問用戶數(shù)據(jù)的人員,如ETL工程師或是數(shù)據(jù)分析人員等,均有可能導(dǎo)致數(shù)據(jù)泄漏的風(fēng)險(xiǎn)。
另一方面,沒有訪問用戶數(shù)據(jù)權(quán)限的人員,也可能有對(duì)該數(shù)據(jù)進(jìn)行分析挖掘的需求,數(shù)據(jù)的訪問約束大大限制的充分挖掘數(shù)據(jù)價(jià)值的范圍。
實(shí)際生產(chǎn)過(guò)程中,應(yīng)用場(chǎng)景會(huì)更加復(fù)雜,僅靠類似這樣的訪問控制,滿足不了生產(chǎn)的需要,還需要結(jié)合其它的途徑,而數(shù)據(jù)脫敏就是一種有效的方式,既能滿足日常生產(chǎn)的需要,又能保護(hù)數(shù)據(jù)安全。
數(shù)據(jù)脫敏,具體指對(duì)某些敏感信息通過(guò)脫敏規(guī)則進(jìn)行數(shù)據(jù)的變形,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù)。
這樣可以使數(shù)據(jù)本身的安全等級(jí)降級(jí),就可以在開發(fā)、測(cè)試和其它非生產(chǎn)環(huán)境以及外包或云計(jì)算環(huán)境中安全地使用脫敏后的真實(shí)數(shù)據(jù)集。
借助數(shù)據(jù)脫敏技術(shù),屏蔽敏感信息,并使屏蔽的信息保留其原始數(shù)據(jù)格式和屬性,以確保應(yīng)用程序可在使用脫敏數(shù)據(jù)的開發(fā)與測(cè)試過(guò)程中正常運(yùn)行。
數(shù)據(jù)脫敏方案作為大數(shù)據(jù)平臺(tái)整體數(shù)據(jù)安全解決方案的重要組成部分,是構(gòu)建安全可靠的大數(shù)據(jù)平臺(tái)必不可少的功能特性。
本文首先分析了數(shù)據(jù)泄露可能帶來(lái)的風(fēng)險(xiǎn),然后詳細(xì)介紹了數(shù)據(jù)脫敏技術(shù)的理論基礎(chǔ)與常用算法,最后介紹了一個(gè)基于大數(shù)據(jù)平臺(tái)的數(shù)據(jù)脫敏解決方案。
隱私數(shù)據(jù)脫敏技術(shù)
通常在大數(shù)據(jù)平臺(tái)中,數(shù)據(jù)以結(jié)構(gòu)化的格式存儲(chǔ),每個(gè)表有諸多行組成,每行數(shù)據(jù)有諸多列組成。根據(jù)列的數(shù)據(jù)屬性,數(shù)據(jù)列通??梢苑譃橐韵聨追N類型:
- 可確切定位某個(gè)人的列,稱為可識(shí)別列,如身份證號(hào),地址以及姓名等。
- 單列并不能定位個(gè)人,但是多列信息可用來(lái)潛在的識(shí)別某個(gè)人,這些列被稱為半識(shí)別列,如郵編號(hào),生日及性別等。美國(guó)的一份研究論文稱,僅使用郵編號(hào),生日和性別信息即可識(shí)別87%的美國(guó)人[3]。
- 包含用戶敏感信息的列,如交易數(shù)額,疾病以及收入等。
- 其他不包含用戶敏感信息的列。
所謂避免隱私數(shù)據(jù)泄露,是指避免使用數(shù)據(jù)的人員(數(shù)據(jù)分析師,BI工程師等)將某行數(shù)據(jù)識(shí)別為某個(gè)人的信息。
數(shù)據(jù)脫敏技術(shù)通過(guò)對(duì)數(shù)據(jù)進(jìn)行脫敏,如移除識(shí)別列,轉(zhuǎn)換半識(shí)別列等方式,使得數(shù)據(jù)使用人員在保證可對(duì)#2(轉(zhuǎn)換后)半識(shí)別列,#3敏感信息列以及#4其他列進(jìn)行數(shù)據(jù)分析的基礎(chǔ)上,在一定程度上保證其無(wú)法根據(jù)數(shù)據(jù)反識(shí)別用戶,達(dá)到保證數(shù)據(jù)安全與最大化挖掘數(shù)據(jù)價(jià)值的平衡。
隱私數(shù)據(jù)泄露類型
隱私數(shù)據(jù)泄露可以分為多種類型,根據(jù)不同的類型,通常可以采用不同的隱私數(shù)據(jù)泄露風(fēng)險(xiǎn)模型來(lái)衡量防止隱私數(shù)據(jù)泄露的風(fēng)險(xiǎn),以及對(duì)應(yīng)不同的數(shù)據(jù)脫敏算法對(duì)數(shù)據(jù)進(jìn)行脫敏。一般來(lái)說(shuō),隱私數(shù)據(jù)泄露類型包括:
- 個(gè)人標(biāo)識(shí)泄露:
當(dāng)數(shù)據(jù)使用人員通過(guò)任何方式確認(rèn)數(shù)據(jù)表中某條數(shù)據(jù)屬于某個(gè)人時(shí),稱為個(gè)人標(biāo)識(shí)泄露。個(gè)人標(biāo)識(shí)泄露最為嚴(yán)重,因?yàn)橐坏┌l(fā)生個(gè)人標(biāo)識(shí)泄露,數(shù)據(jù)使用人員就可以得到具體個(gè)人的敏感信息。- 屬性泄露:
當(dāng)數(shù)據(jù)使用人員根據(jù)其訪問的數(shù)據(jù)表了解到某個(gè)人新的屬性信息時(shí),稱為屬性泄露。個(gè)人標(biāo)識(shí)泄露肯定會(huì)導(dǎo)致屬性泄露,但屬性泄露也有可能單獨(dú)發(fā)生。- 成員關(guān)系泄露:
當(dāng)數(shù)據(jù)使用人員可以確認(rèn)某個(gè)人的數(shù)據(jù)存在于數(shù)據(jù)表中時(shí),稱為成員關(guān)系泄露。成員關(guān)系泄露相對(duì)風(fēng)險(xiǎn)較小,個(gè)人標(biāo)識(shí)泄露與屬性泄露肯定意味著成員關(guān)系泄露,但成員關(guān)系泄露也有可能單獨(dú)發(fā)生。
隱私數(shù)據(jù)風(fēng)險(xiǎn)泄露模型
將數(shù)據(jù)開放給數(shù)據(jù)分析人員,同時(shí)就引入了隱私數(shù)據(jù)泄露的風(fēng)險(xiǎn)。
在限制隱私數(shù)據(jù)泄露風(fēng)險(xiǎn)在一定范圍內(nèi)的同時(shí),最大化數(shù)據(jù)分析挖掘的潛力,是數(shù)據(jù)脫敏技術(shù)的最終目標(biāo)。
目前在隱私數(shù)據(jù)脫敏領(lǐng)域,有幾個(gè)不同的模型可以用來(lái)從不同角度衡量數(shù)據(jù)可能存在的隱私數(shù)據(jù)泄露風(fēng)險(xiǎn)。
K-Anonymity
隱私數(shù)據(jù)脫敏的第一步是對(duì)所有可標(biāo)識(shí)列進(jìn)行移除或是脫敏,使得攻擊者無(wú)法直接標(biāo)識(shí)用戶。
但是攻擊者還是有可能通過(guò)多個(gè)半標(biāo)識(shí)列的屬性值識(shí)別個(gè)人。
攻擊者可能通過(guò)社工(知道某個(gè)人的姓名,郵編,生日,性別等)或是其他包含個(gè)人信息的以開放數(shù)據(jù)庫(kù)獲得特定個(gè)人的半標(biāo)識(shí)列屬性值,并與大數(shù)據(jù)平臺(tái)數(shù)據(jù)進(jìn)行匹配,從而得到特定個(gè)人的敏感信息。
如表一所示,如果攻擊者知道某用戶的郵編和年齡,就可以得到該用戶的疾病敏感信息。
表1(原始 病人信息)
為了避免這種情況的發(fā)生,通常需要對(duì)半標(biāo)識(shí)列進(jìn)行脫敏處理,如數(shù)據(jù)泛化等。
數(shù)據(jù)泛化是將半標(biāo)識(shí)列的數(shù)據(jù)替換為語(yǔ)義一致但更通用的數(shù)據(jù),已上述數(shù)據(jù)為例,對(duì)郵編和年齡泛化后的數(shù)據(jù)如表二所示。
表2(3-Anonymity 病人信息)
經(jīng)過(guò)泛化后,有多條紀(jì)錄的半標(biāo)識(shí)列屬性值相同,所有半標(biāo)識(shí)列屬性值相同的行的集合被稱為相等集。
例如,表二中1,2,3行是一個(gè)相等集,4,5,6行也是一個(gè)相等集。
Sama- rati and Sweeney[4]引入了K-Anonymity用于衡量個(gè)人標(biāo)識(shí)泄露的風(fēng)險(xiǎn)。 K-Anonymity定義如下:
K-Anonymity要求對(duì)于任意一行紀(jì)錄,其所屬的相等集內(nèi)紀(jì)錄數(shù)量不小于k,即至少有k-1條紀(jì)錄半標(biāo)識(shí)列屬性值與該條紀(jì)錄相同。
圖二中的數(shù)據(jù)是一個(gè)3-Anonymity的數(shù)據(jù)集。
作為一個(gè)衡量隱私數(shù)據(jù)泄露風(fēng)險(xiǎn)的指標(biāo),K-Anonymity可用于衡量個(gè)人標(biāo)識(shí)泄露的風(fēng)險(xiǎn),理論上來(lái)說(shuō),對(duì)于K-Anonymity數(shù)據(jù)集,對(duì)于任意紀(jì)錄,攻擊者只有1/k的概率將該紀(jì)錄與具體用戶關(guān)聯(lián)。
L-Diversity
K-Anonymity可用于保護(hù)個(gè)人標(biāo)識(shí)泄露的風(fēng)險(xiǎn),但是無(wú)法保護(hù)屬性泄露的風(fēng)險(xiǎn)。
對(duì)于K-Anonymity的數(shù)據(jù)集,攻擊者可能通過(guò)同質(zhì)屬性攻擊與背景知識(shí)攻擊兩種方式攻擊用戶的屬性信息。
- 同質(zhì)屬性攻擊。對(duì)于圖二半標(biāo)識(shí)列泛化后的數(shù)據(jù)集,假如攻擊者知道Bob郵編為47677,年齡為29,則Bob一定對(duì)應(yīng)于前面三條記錄,從而可以確定Bob有心臟病。
- 背景知識(shí)攻擊。對(duì)于圖二半標(biāo)識(shí)列泛化后的數(shù)據(jù)集,假如攻擊者知道Alice郵編為47673,年齡為36,則Alice一定對(duì)應(yīng)于后面三條記錄,如果攻擊者知道Alice患有心臟病的幾率很小,則能判斷Alice很有可能患有癌癥。
Machanavajjhala et al. [5] 引入了L-Diversity用于衡量屬性泄露的風(fēng)險(xiǎn),L-Diversity定義如下:
如果對(duì)于任意相等集內(nèi)所有記錄對(duì)應(yīng)的敏感數(shù)據(jù)的集合,包含L個(gè)"合適"值,則稱該相等集是滿足L-Deversity。
如果數(shù)據(jù)集中所有相等集都滿足L-Deversity,則稱該數(shù)據(jù)集滿足L-Deversity。
所謂L個(gè)“合適”值,最簡(jiǎn)單的理解就是L個(gè)不同值。
基于圖二的數(shù)據(jù)通過(guò)插入干擾紀(jì)錄,一個(gè)3-Anonymity 2-Diversity的數(shù)據(jù)集如表三所示:
表3 3-Anonymity 2-Diversity 病人信息
相對(duì)于K-Anonymity標(biāo)準(zhǔn),符合L-Deversity標(biāo)準(zhǔn)的數(shù)據(jù)集顯著降低了屬性數(shù)據(jù)泄露的風(fēng)險(xiǎn)。
對(duì)于滿足L-Diversity的數(shù)據(jù)集,理論上,攻擊者最多只有1/L的概率能夠?qū)傩孕孤豆簦瑢⑻囟ㄓ脩襞c其敏感信息關(guān)聯(lián)起來(lái)。
一般來(lái)說(shuō)是通過(guò)插入干擾數(shù)據(jù)構(gòu)造符合L-Diversity標(biāo)準(zhǔn)的數(shù)據(jù)集,但是同數(shù)據(jù)泛化一樣,插入干擾數(shù)據(jù)也會(huì)導(dǎo)致表級(jí)別的信息丟失。
同時(shí)L-Diversity標(biāo)準(zhǔn)也有不足之處。
- L-Diversity標(biāo)準(zhǔn)有可能很難或是沒有必要實(shí)現(xiàn)。
例如,對(duì)于HIV的測(cè)試數(shù)據(jù),測(cè)試結(jié)果列可能為陰性或是陽(yáng)性。
對(duì)于10000條記錄,可能99%的記錄都是陰性的,只有1%是陽(yáng)性的。
對(duì)于用戶來(lái)說(shuō)兩種不同的測(cè)試結(jié)果敏感程度也是不同的,測(cè)試結(jié)果為陰性的用戶可能不介意其他人看到他的測(cè)試結(jié)果,但是測(cè)試結(jié)果為陽(yáng)性的用戶可能更希望對(duì)別人保密。
為了生成2-Deversity的測(cè)試數(shù)據(jù)集,會(huì)丟失大量的信息,降低數(shù)據(jù)分析挖掘的價(jià)值。
- L-Diversity標(biāo)準(zhǔn)無(wú)法防御特定類型的屬性數(shù)據(jù)泄露。
- 傾斜攻擊
如果敏感屬性分布存在傾斜,L-Diversity標(biāo)準(zhǔn)很有可能無(wú)法抵御屬性數(shù)據(jù)泄露。
繼續(xù)以HIV測(cè)試數(shù)據(jù)為例,假如構(gòu)造的數(shù)據(jù)集對(duì)于任意相等類測(cè)試結(jié)果都包含陰性與陽(yáng)性,且陰性數(shù)量與陽(yáng)性相同,該數(shù)據(jù)集肯定滿足2-Diversity。
按照真實(shí)測(cè)試記錄的分布,對(duì)于任意個(gè)人,攻擊者只能判斷其有1%的可能測(cè)試結(jié)果為陽(yáng)性。
但是對(duì)于2-Diversity數(shù)據(jù)集,攻擊者會(huì)判斷每個(gè)人有50%的可能測(cè)試結(jié)果為陽(yáng)性。
- 相似性攻擊
如果相等類的敏感屬性分布滿足L-Diversity,但是屬性值相似或是內(nèi)聚,攻擊者有可能從得到很重要的信息。
例如對(duì)于表四所示,病人數(shù)據(jù)滿足3-Diversity,攻擊者如果了解Bob郵編為47677,年齡為29,則可以確認(rèn)Bob的工資收入在3-5K之間,且能確認(rèn)Bob得了胃病相關(guān)的病,因?yàn)榍叭龡l的病都和胃病相關(guān)。
表4 3-Diversity 病人信息簡(jiǎn)單來(lái)說(shuō),對(duì)于L-Diversity相同的相等集,敏感屬性值的分布信息對(duì)于保護(hù)屬性泄露至關(guān)重要。
L-Diversity只是用來(lái)衡量相等集的不同屬性值數(shù)量,并沒有衡量不同屬性值的分布,所以其在衡量屬性泄露風(fēng)險(xiǎn)上仍有不足之處。
T-Closeness
直觀的來(lái)說(shuō),隱私信息泄露的程度可以根據(jù)攻擊者增量獲得的個(gè)人信息衡量。
假設(shè)攻擊者在訪問數(shù)據(jù)集之前已知的個(gè)人信息為B0,然后假設(shè)攻擊者訪問所有半標(biāo)識(shí)列都已移除的數(shù)據(jù)集,Q為數(shù)據(jù)集敏感數(shù)據(jù)的分布信息,根據(jù)Q,攻擊者更新后的個(gè)人信息為B1。
最后攻擊者訪問脫敏后的數(shù)據(jù)集,由于知道用戶的半標(biāo)識(shí)列的信息,攻擊者可以將某用戶與某相等集聯(lián)系在一起,通過(guò)該相等集的敏感數(shù)據(jù)分布信息P,攻擊者更新后的個(gè)人信息為B2。
L-Diversity約束是通過(guò)約束P的diverisity屬性,盡量減少B0和B2之間的信息量差距,差距越小,說(shuō)明隱私信息泄露越少。
T-Closeness約束則期望減少B1和B2之間的信息量差距,減少攻擊者從敏感數(shù)據(jù)的全局分布信息和相等集分布信息之間得到更多的個(gè)人隱私信息。
T-Closeness的定義如下:
如果一個(gè)相等類的敏感數(shù)據(jù)的分布與敏感數(shù)據(jù)的全局分布之間的距離小于T,則稱該相等類滿足T-Closeness約束。
如果數(shù)據(jù)集中的所有相等類都滿足T-Closeness,則稱該數(shù)據(jù)集滿足T-Closeness。
T-Closeness約束限定了半標(biāo)識(shí)列屬性與敏感信息的全局分布之間的聯(lián)系,減弱了半標(biāo)識(shí)列屬性與特定敏感信息的聯(lián)系,減少攻擊者通過(guò)敏感信息的分布信息進(jìn)行屬性泄露攻擊的可能性。
不過(guò)同時(shí)也肯定導(dǎo)致了一定程度的信息丟失,所以管理者通過(guò)T值的大小平衡數(shù)據(jù)可用性與用戶隱私保護(hù)。
常見數(shù)據(jù)脫敏算法
K-Anonymity, L-Diversity和T-Closeness均依賴對(duì)半標(biāo)識(shí)列進(jìn)行數(shù)據(jù)變形處理,使得攻擊者無(wú)法直接進(jìn)行屬性泄露攻擊,常見的數(shù)據(jù)變形處理方式如下:

此外,K-Anonymity, L-Diversity和T-Closeness約束可能還需要生成干擾數(shù)據(jù),敏感數(shù)據(jù)干擾項(xiàng)的生成策略與方法也是保證K-Anonymity, L-Diversity和T-Closeness的重要條件,在這里篇幅有限,就不過(guò)多介紹,請(qǐng)參考引用中的相關(guān)論文[4,5,6]。
大數(shù)據(jù)脫敏平臺(tái)
用戶隱私數(shù)據(jù)保護(hù)與挖掘用戶數(shù)據(jù)價(jià)值是兩個(gè)互相沖突的矛盾體,徹底的數(shù)據(jù)脫敏,需要抹去全部的用戶標(biāo)識(shí)信息,使得數(shù)據(jù)潛在的分析價(jià)值大大降低。
另一方面,完全保留用戶隱私數(shù)據(jù)信息,可最大化數(shù)據(jù)的分析價(jià)值,同時(shí)導(dǎo)致用戶隱私泄露的風(fēng)險(xiǎn)無(wú)法控制。
因此大數(shù)據(jù)脫敏平臺(tái)的設(shè)計(jì)目標(biāo)并不是實(shí)現(xiàn)工具算法用來(lái)完全抹去全部的用戶標(biāo)識(shí)信息,而是包括如下幾個(gè)目標(biāo):
- 數(shù)據(jù)泄露風(fēng)險(xiǎn)可控。
首先,實(shí)現(xiàn)基于大數(shù)據(jù)平臺(tái)的脫敏算法庫(kù),可并行,高效的按照脫敏規(guī)則對(duì)隱私數(shù)據(jù)進(jìn)行脫敏。其次,基于數(shù)據(jù)脫敏的理論基礎(chǔ),建立用戶隱私數(shù)據(jù)泄露風(fēng)險(xiǎn)的衡量模型,可定性定量的準(zhǔn)確衡量數(shù)據(jù)可能發(fā)生泄露的風(fēng)險(xiǎn)。- 可管理。
結(jié)合大數(shù)據(jù)平臺(tái)的用戶認(rèn)證體系,權(quán)限管理體系,以及隱私數(shù)據(jù)不同保護(hù)級(jí)別的權(quán)限管理體系,實(shí)現(xiàn)對(duì)隱私數(shù)據(jù)基于審批的數(shù)據(jù)訪問機(jī)制。結(jié)合公司制度,規(guī)范,法務(wù)等管理,實(shí)現(xiàn)在盡可能保護(hù)用戶隱私數(shù)據(jù),減少數(shù)據(jù)泄露風(fēng)險(xiǎn)的前提下,最大化保留數(shù)據(jù)分析挖掘的價(jià)值。- 可審計(jì)。
對(duì)數(shù)據(jù)的訪問要保證可回溯,可審計(jì),當(dāng)發(fā)生數(shù)據(jù)泄露時(shí),要保證能夠通過(guò)審計(jì)日志找到對(duì)應(yīng)的泄露人員。
大數(shù)據(jù)脫敏平臺(tái)的設(shè)計(jì)方向一般包括靜態(tài)大數(shù)據(jù)脫敏平臺(tái)和動(dòng)態(tài)大數(shù)據(jù)脫敏平臺(tái),所謂靜態(tài)和動(dòng)態(tài)之分,主要在于脫敏的時(shí)機(jī)不同。
- 對(duì)于靜態(tài)脫敏來(lái)說(shuō),數(shù)據(jù)管理員提前對(duì)數(shù)據(jù)進(jìn)行不同級(jí)別的脫敏處理,生成不同安全級(jí)別的數(shù)據(jù),然后授予不同用戶訪問不同安全級(jí)別數(shù)據(jù)的權(quán)限。
- 對(duì)于動(dòng)態(tài)脫敏來(lái)說(shuō),管理員通過(guò)元數(shù)據(jù)管理不同用戶訪問具體數(shù)據(jù)的安全權(quán)限,在用戶訪問數(shù)據(jù)的時(shí)候,動(dòng)態(tài)的從原始數(shù)據(jù)中按照用戶權(quán)限動(dòng)態(tài)的進(jìn)行脫敏處理。
大數(shù)據(jù)平臺(tái)脫敏技術(shù)方案是一個(gè)非常有趣的課題,目前業(yè)界還沒有看到有成熟的方案,鑒于其對(duì)數(shù)據(jù)安全和數(shù)據(jù)價(jià)值的作用,非常值得深入研究。
美團(tuán)數(shù)據(jù)倉(cāng)庫(kù)脫敏
敏感數(shù)據(jù)梳理
在數(shù)據(jù)脫敏進(jìn)行之前,首先要確定哪些數(shù)據(jù)要作為脫敏的目標(biāo)。根據(jù)美團(tuán)特有的業(yè)務(wù)場(chǎng)景和數(shù)據(jù)安全級(jí)別劃分(絕密、高保密、保密、可公開,四個(gè)級(jí)別), 主要從“高保密”等級(jí)的敏感數(shù)據(jù),開始進(jìn)行梳理。
這里把敏感數(shù)據(jù)分成四個(gè)維度進(jìn)行梳理,用戶、商家、終端、公司。
- 從用戶維度進(jìn)行梳理可能有這些敏感字段如下:手機(jī)號(hào)碼、郵件地址、賬號(hào)、地址、固定電話號(hào)碼等信息(此外個(gè)人隱私數(shù)據(jù)相關(guān)還有如:種族、政治觀點(diǎn)、宗教信仰、基因等)
- 從商家維度進(jìn)行梳理:合同簽訂人,合同簽訂人電話等(不排除全局敏感數(shù)據(jù):如商家團(tuán)購(gòu)品類等)
- 從用戶終端維度進(jìn)行梳理:能夠可能標(biāo)識(shí)終端的唯一性字段,如設(shè)備id。
- 從公司角度進(jìn)行梳理:交易金額、代金卷密碼、充值碼等
確定脫敏處理方法
梳理出了敏感數(shù)據(jù)字段,接下來(lái)的工作就是如何根據(jù)特定的應(yīng)用場(chǎng)景對(duì)敏感字段實(shí)施具體的脫敏處理方法。
常見的處理方法如下幾種有:
- 替換:如統(tǒng)一將女性用戶名替換為F,這種方法更像“障眼法”,對(duì)內(nèi)部人員可以完全保持信息完整性,但易破解。
- 重排:序號(hào)12345重排為54321,按照一定的順序進(jìn)行打亂,很像“替換”, 可以在需要時(shí)方便還原信息,但同樣易破解。
- 加密:編號(hào)12345加密為23456,安全程度取決于采用哪種加密算法,一般根據(jù)實(shí)際情況而定。
- 截?cái)啵?3811001111截?cái)酁?38,舍棄必要信息來(lái)保證數(shù)據(jù)的模糊性,是比較常用的脫敏方法,但往往對(duì)生產(chǎn)不夠友好。
- 掩碼: 123456 -> 1xxxx6,保留了部分信息,并且保證了信息的長(zhǎng)度不變性,對(duì)信息持有者更易辨別, 如火車票上得身份信息。
- 日期偏移取整:20130520 12:30:45 -> 20130520 12:00:00,舍棄精度來(lái)保證原始數(shù)據(jù)的安全性,一般此種方法可以保護(hù)數(shù)據(jù)的時(shí)間分布密度。
但不管哪種手段都要基于不同的應(yīng)用場(chǎng)景,遵循下面兩個(gè)原則:
- remain meaningful for application logic(盡可能的為脫敏后的應(yīng)用,保留脫敏前的有意義信息)
- sufficiently treated to avoid reverse engineer(最大程度上防止黑客進(jìn)行破解)
以這次脫敏一個(gè)需求為例:
美團(tuán)一般的業(yè)務(wù)場(chǎng)景是這樣的,用戶在網(wǎng)站上付款一筆團(tuán)購(gòu)單之后,會(huì)將團(tuán)購(gòu)密碼,發(fā)到用戶對(duì)應(yīng)的手機(jī)號(hào)上。
這個(gè)過(guò)程中,從用戶的角度來(lái)看團(tuán)購(gòu)密碼在未被用戶消費(fèi)之前,對(duì)用戶來(lái)說(shuō)是要保密的,不能被公開的,其次美團(tuán)用戶的手機(jī)號(hào)也是要保密的,因?yàn)楣_之后可能被推送一些垃圾信息,或者更嚴(yán)重的危害。
從公司內(nèi)部數(shù)據(jù)分析人員來(lái)看,他們有時(shí)雖然沒有權(quán)限知道用戶團(tuán)購(gòu)密碼,但是他們想分析公司發(fā)送的團(tuán)購(gòu)密碼數(shù)量情況,這是安全允許;
再有數(shù)據(jù)分析人員雖然沒有權(quán)限知道用戶具體的手機(jī)號(hào)碼,但是他們需要統(tǒng)計(jì)美團(tuán)用戶手機(jī)的地區(qū)分布情況,或者運(yùn)營(yíng)商分布差異,進(jìn)而為更上層的決策提供支持。
根據(jù)這樣的需求,可以對(duì)團(tuán)購(gòu)密碼做加密處理保證其唯一性,也保留其原有的數(shù)據(jù)格式,在保密的同時(shí)不影響數(shù)據(jù)分析的需求。
同樣,將用戶的手機(jī)號(hào)碼的前7位,關(guān)于運(yùn)營(yíng)商和地區(qū)位置信息保留,后四位進(jìn)行模糊化處理。
這樣同樣也達(dá)到了保護(hù)和不影響統(tǒng)計(jì)的需求。
因此從實(shí)際出發(fā)遵循上面的兩個(gè)處理原則,第一階段在脫敏工具集中,確定了如下4種基本類型的脫敏方案(對(duì)應(yīng)4個(gè)udf):
脫敏方法確定實(shí)施范圍與步驟
通過(guò)上面字段的梳理和脫敏方案的制定,對(duì)美團(tuán)數(shù)據(jù)倉(cāng)庫(kù)中涉及到得敏感字段的表進(jìn)行脫敏處理。
在數(shù)據(jù)倉(cāng)庫(kù)分層理論中,數(shù)據(jù)脫敏往往發(fā)生在上層,最直接的是在對(duì)外開放這一層面上。
在實(shí)際應(yīng)用中,既要參考分層理論,又要從美團(tuán)現(xiàn)有數(shù)據(jù)倉(cāng)庫(kù)生產(chǎn)環(huán)境的體系出發(fā),主要在數(shù)據(jù)維度層(dim),以及基礎(chǔ)服務(wù)數(shù)據(jù)層(fact)上實(shí)施脫敏。
這樣,可以在下游相關(guān)數(shù)據(jù)報(bào)表以及衍生數(shù)據(jù)層的開發(fā)過(guò)程中使用脫敏后的數(shù)據(jù),從而避免出現(xiàn)數(shù)據(jù)安全問題。
確認(rèn)處理的表和字段后,還要確保相關(guān)上下游流程的正常運(yùn)行, 以及未脫敏的敏感信息的正常產(chǎn)出與存儲(chǔ)(通過(guò)更嚴(yán)格的安全審核來(lái)進(jìn)行訪問)。
以用戶信息表user為例,脫敏步驟如下:
1.首先生產(chǎn)一份ndm_user未脫敏數(shù)據(jù),用于未脫敏數(shù)據(jù)的正常產(chǎn)出。
2.對(duì)下游涉及的所有依賴user生產(chǎn)流程進(jìn)行修改,來(lái)確保脫敏后的正常運(yùn)行,這里主要是確認(rèn)數(shù)據(jù)格式,以及數(shù)據(jù)源的工作。
3.根據(jù)對(duì)應(yīng)的脫敏方法對(duì)user表中對(duì)應(yīng)的字段進(jìn)行脫敏處理。通過(guò)上面的幾個(gè)步驟的實(shí)施,完成了第一階段的數(shù)據(jù)脫敏工作。
在數(shù)據(jù)脫敏方案設(shè)計(jì)與實(shí)施過(guò)程中, 我們覺得更重要的還是從特定的應(yīng)用場(chǎng)景出發(fā)進(jìn)行整體設(shè)計(jì),兼顧了數(shù)據(jù)倉(cāng)庫(kù)建設(shè)這一重要考量維度。
數(shù)據(jù)脫敏實(shí)施為公司數(shù)據(jù)安全的推進(jìn),提供了有力支持。
當(dāng)然,我們第一階段脫敏的工具集還相對(duì)較少,需要補(bǔ)充。 脫敏的技術(shù)架構(gòu)還有待完善和更加自動(dòng)化。
總結(jié)
針對(duì)于大數(shù)據(jù)平臺(tái)對(duì)于數(shù)據(jù)脫敏的需求,本文分析了數(shù)據(jù)泄露可能帶來(lái)的風(fēng)險(xiǎn),介紹了數(shù)據(jù)脫敏技術(shù)的理論基礎(chǔ)與實(shí)現(xiàn)方式,同時(shí)簡(jiǎn)單分析了大數(shù)據(jù)平臺(tái)的隱私數(shù)據(jù)脫敏技術(shù)方向。
本文討論的均是基于離線數(shù)據(jù)的數(shù)據(jù)脫敏,流式數(shù)據(jù)的脫敏技術(shù)無(wú)論是理論基礎(chǔ)與具體實(shí)踐大都還處在摸索的過(guò)程中[7],留待以后繼續(xù)探索。
引用
- 我國(guó)隱私保護(hù)相關(guān)法律報(bào)告
- 索尼用戶隱私數(shù)據(jù)泄露事件
- Uniqueness of Simple Demographics in the U.S. Population
- Protecting Privacy when Disclosing Information: k-Anonymity and Its Enforcement through Generalization and Suppression
- ?-Diversity: Privacy Beyond k-Anonymity
- Enhancing Cloud Security Using Data Anonymization
- CASTLE: Continuously Anonymizing Data Streams
參見:
大數(shù)據(jù)與數(shù)據(jù)脫敏:https://zhuanlan.zhihu.com/p/20824603
美團(tuán)數(shù)據(jù)倉(cāng)庫(kù)-數(shù)據(jù)脫敏:https://tech.meituan.com/data_mask.html




