1. 程式人生 > >資料脫敏介紹(大資料平臺 )

資料脫敏介紹(大資料平臺 )

資料脫敏(Data Masking),又稱資料漂白、資料去隱私化或資料變形。百度百科對資料脫敏的定義為:指對某些敏感資訊通過脫敏規則進行資料的變形,實現敏感隱私資料 的可靠保護。這樣,就可以在開發、測試和其它非生產環境以及外包環境中安全地使用脫敏後的真實資料集。

可以看到資料脫敏具有幾個關鍵點:敏感資料、脫敏規則、使用環境。

大資料平臺數據脫敏介紹

敏感資料,又稱隱私資料,常見的敏感資料有: 姓名、身份證號碼、地址、電話號碼、銀行賬號、郵箱地址、所屬城市、郵編、密碼類 ( 如賬戶查詢密碼、取款密碼、登入密碼等 )、組織機構名稱、營業執照號碼、銀行帳號、交易日期、交易金額等。

隨著大資料時代的到來,大資料商業價值的挖掘,使用者的精準定位,大資料中蘊藏的巨大商業價值被逐步挖掘出來,但是同時也帶來了巨大的挑戰–個人隱私資訊 的保護。個人資訊與個人行為(比如位置資訊、消費行為、網路訪問行為)等,這些都是人的隱私,也是我們所關注的一類敏感資訊,在大資料價值挖掘的基礎上如 何保護人的隱私資訊,也將是資料脫敏必須解決的難題。

脫敏規則,一般的脫敏規則分類為可恢復與不可恢復兩類。

  • 可恢復類,指脫敏後的資料可以通過一定的方式,可以恢復成原來的敏感資料,此類脫敏規則主要指各類加解密演算法規則。
  • 不可恢復類,指脫敏後的資料被脫敏的部分使用任何方式都不能恢復出。一般可分為替換演算法和生成演算法兩大類。替換演算法即將需要脫敏的部分使用定義好的字元或字串替換,生成類演算法則更復雜一些,要求脫敏後的資料符合邏輯規則,即是“看起來很真實的假資料”。

使用環境,主要指脫敏之後的資料在哪些環境中使用。普遍按照生產環境和非生產環境(開發、測試、外包、資料分析等)進行劃分。

在最近一期的Gartner關於資料脫敏的報告(Magic Quadrant for Data Masking Technology-2014年12月)中根據資料脫敏產品應用場景的將資料脫敏劃分為靜態資料脫敏(static data masking[SDM])和動態資料脫敏(dynamic data masking[DDM])。

靜態資料脫敏(SDM)與動態資料脫敏(DDM)主要的區別是:是否在使用敏感資料當時進行脫敏。

靜態資料脫敏(SDM)一般用在非生產環境,在敏感資料從生產環境脫敏完畢之後再在非生產環境使用,一般用於解決測試、開發庫需要生產庫的資料量與資料間的關聯,以排查問題或進行資料分析等,但又不能將敏感資料儲存於非生產環境的問題。

動態資料脫敏(DDM)一般用在生產環境,在訪問敏感資料當時進行脫敏,一般用來解決在生產環境需要根據不同情況對同一敏感資料讀取時需要進行不同級別脫敏的問題。

隱私資料脫敏技術

通常在大資料平臺中,資料以結構化的格式儲存,每個表有諸多行組成,每行資料有諸多列組成。根據列的資料屬性,資料列通常可以分為以下幾種型別:

  • 可確切定位某個人的列,稱為可識別列,如身份證號,地址以及姓名等。
  • 單列並不能定位個人,但是多列資訊可用來潛在的識別某個人,這些列被稱為半識別列,如郵編號,生日及性別等。美國的一份研究論文稱,僅使用郵編號,生日和性別資訊即可識別87%的美國人[3]。
  • 包含使用者敏感資訊的列,如交易數額,疾病以及收入等。
  • 其他不包含使用者敏感資訊的列。

所謂避免隱私資料洩露,是指避免使用資料的人員(資料分析師,BI工程師等)將某行資料識別為某個人的資訊。資料脫敏技術通過對資料進行脫敏,如移除識別列,轉換半識別列等方式,使得資料使用人員在保證可對#2(轉換後)半識別列,#3敏感資訊列以及#4其他列進行資料分析的基礎上,在一定程度上保證其無法根據資料反識別使用者,達到保證資料安全與最大化挖掘資料價值的平衡。

隱私資料洩露型別

隱私資料洩露可以分為多種型別,根據不同的型別,通常可以採用不同的隱私資料洩露風險模型來衡量防止隱私資料洩露的風險,以及對應不同的資料脫敏演算法對資料進行脫敏。一般來說,隱私資料洩露型別包括:

個人標識洩露。當資料使用人員通過任何方式確認資料表中某條資料屬於某個人時,稱為個人標識洩露。個人標識洩露最為嚴重,因為一旦發生個人標識洩露,資料使用人員就可以得到具體個人的敏感資訊。

屬性洩露,當資料使用人員根據其訪問的資料表瞭解到某個人新的屬性資訊時,稱為屬性洩露。個人標識洩露肯定會導致屬性洩露,但屬性洩露也有可能單獨發生。

成員關係洩露。當資料使用人員可以確認某個人的資料存在於資料表中時,稱為成員關係洩露。成員關係洩露相對風險較小,個人標識洩露與屬性洩露肯定意味著成員關係洩露,但成員關係洩露也有可能單獨發生。

大資料平臺數據脫敏介紹

隱私資料洩露風險模型

將資料開放給資料分析人員,同時就引入了隱私資料洩露的風險。在限制隱私資料洩露風險在一定範圍內的同時,最大化資料分析挖掘的潛力,是資料脫敏技術的最終目標。目前在隱私資料脫敏領域,有幾個不同的模型可以用來從不同角度衡量資料可能存在的隱私資料洩露風險。

K-Anonymity

隱私資料脫敏的第一步是對所有可標識列進行移除或是脫敏,使得攻擊者無法直接標識使用者。但是攻擊者還是有可能通過多個半標識列的屬性值識別個人。攻擊者可能通過社工(知道某個人的姓名,郵編,生日,性別等)或是其他包含個人資訊的以開放資料庫獲得特定個人的半標識列屬性值,並與大資料平臺數據進行匹配,從而得到特定個人的敏感資訊。如表一所示,如果攻擊者知道某使用者的郵編和年齡,就可以得到該使用者的疾病敏感資訊。為了避免這種情況的發生,通常需要對半標識列進行脫敏處理,如資料泛化等。資料泛化是將半標識列的資料替換為語義一致但更通用的資料,已上述資料為例,對郵編和年齡泛化後的資料如表二所示。

大資料平臺數據脫敏介紹

原始資訊

大資料平臺數據脫敏介紹

經過泛化後,有多條紀錄的半標識列屬性值相同,所有半標識列屬性值相同的行的集合被稱為相等集。例如,表二中1,2,3行是一個相等集,4,5,6行也是一個相等集。Sama- rati and Sweeney[4]引入了K-Anonymity用於衡量個人標識洩露的風險。 K-Anonymity定義如下:

K-Anonymity要求對於任意一行紀錄,其所屬的相等集內紀錄數量不小於k,即至少有k-1條紀錄半標識列屬性值與該條紀錄相同。

圖二中的資料是一個3-Anonymity的資料集。作為一個衡量隱私資料洩露風險的指標,K-Anonymity可用於衡量個人標識洩露的風險,理論上來說,對於K-Anonymity資料集,對於任意紀錄,攻擊者只有1/k的概率將該紀錄與具體使用者關聯。

L-Diversity

K-Anonymity可用於保護個人標識洩露的風險,但是無法保護屬性洩露的風險。對於K-Anonymity的資料集,攻擊者可能通過同質屬性攻擊與背景知識攻擊兩種方式攻擊使用者的屬性資訊。

同質屬性攻擊。對於圖二半標識列泛化後的資料集,假如攻擊者知道Bob郵編為47677,年齡為29,則Bob一定對應於前面三條記錄,從而可以確定Bob有心臟病。

背景知識攻擊。對於圖二半標識列泛化後的資料集,假如攻擊者知道Alice郵編為47673,年齡為36,則Alice一定對應於後面三條記錄,如果攻擊者知道Alice患有心臟病的機率很小,則能判斷Alice很有可能患有癌症。

Machanavajjhala et al. [5] 引入了L-Diversity用於衡量屬性洩露的風險,L-Diversity定義如下:

如果對於任意相等集內所有記錄對應的敏感資料的集合,包含L個”合適”值,則稱該相等集是滿足L-Deversity。如果資料集中所有相等集都滿足L-Deversity,則稱該資料集滿足L-Deversity。

所謂L個“合適”值,最簡單的理解就是L個不同值。基於圖二的資料通過插入干擾紀錄,一個3-Anonymity 2-Diversity的資料集如表三所示:

大資料平臺數據脫敏介紹

相對於K-Anonymity標準,符合L-Deversity標準的資料集顯著降低了屬性資料洩露的風險。對於滿足L-Diversity的資料集,理論上,攻擊者最多隻有1/L的概率能夠屬性洩露攻擊,將特定使用者與其敏感資訊關聯起來。一般來說是通過插入干擾資料構造符合L-Diversity標準的資料集,但是同資料泛化一樣,插入干擾資料也會導致表級別的資訊丟失。同時L-Diversity標準也有不足之處。

L-Diversity標準有可能很難或是沒有必要實現。例如,對於HIV的測試資料,測試結果列可能為陰性或是陽性。對於10000條記錄,可能99%的記錄都是陰性的,只有1%是陽性的。對於使用者來說兩種不同的測試結果敏感程度也是不同的,測試結果為陰性的使用者可能不介意其他人看到他的測試結果,但是測試結果為陽性的使用者可能更希望對別人保密。為了生成2-Deversity的測試資料集,會丟失大量的資訊,降低資料分析挖掘的價值。

L-Diversity標準無法防禦特定型別的屬性資料洩露。

傾斜攻擊如果敏感屬性分佈存在傾斜,L-Diversity標準很有可能無法抵禦屬性資料洩露。繼續以HIV測試資料為例,假如構造的資料集對於任意相等類測試結果都包含陰性與陽性,且陰性數量與陽性相同,該資料集肯定滿足2-Diversity。按照真實測試記錄的分佈,對於任意個人,攻擊者只能判斷其有1%的可能測試結果為陽性。但是對於2-Diversity資料集,攻擊者會判斷每個人有50%的可能測試結果為陽性。

相似性攻擊如果相等類的敏感屬性分佈滿足L-Diversity,但是屬性值相似或是內聚,攻擊者有可能從得到很重要的資訊。例如對於表四所示,病人資料滿足3-Diversity,攻擊者如果瞭解Bob郵編為47677,年齡為29,則可以確認Bob的工資收入在3-5K之間,且能確認Bob得了胃病相關的病,因為前三條的病都和胃病相關。

大資料平臺數據脫敏介紹

簡單來說,對於L-Diversity相同的相等集,敏感屬性值的分佈資訊對於保護屬性洩露至關重要。L-Diversity只是用來衡量相等集的不同屬性值數量,並沒有衡量不同屬性值的分佈,所以其在衡量屬性洩露風險上仍有不足之處。

T-Closeness

直觀的來說,隱私資訊洩露的程度可以根據攻擊者增量獲得的個人資訊衡量。假設攻擊者在訪問資料集之前已知的個人資訊為B0,然後假設攻擊者訪問所有半標識列都已移除的資料集,Q為資料集敏感資料的分佈資訊,根據Q,攻擊者更新後的個人資訊為B1.最後攻擊者訪問脫敏後的資料集,由於知道使用者的半標識列的資訊,攻擊者可以將某使用者與某相等集聯絡在一起,通過該相等集的敏感資料分佈資訊P,攻擊者更新後的個人資訊為B2.

L-Diversity約束是通過約束P的diverisity屬性,儘量減少B0和B2之間的資訊量差距,差距越小,說明隱私資訊洩露越少。T-Closeness約束則期望減少B1和B2之間的資訊量差距,減少攻擊者從敏感資料的全域性分佈資訊和相等集分佈資訊之間得到更多的個人隱私資訊。T-Closeness的定義如下:

如果一個相等類的敏感資料的分佈與敏感資料的全域性分佈之間的距離小於T,則稱該相等類滿足T-Closeness約束。如果資料集中的所有相等類都滿足T-Closeness,則稱該資料集滿足T-Closeness.

T-Closeness約束限定了半標識列屬性與敏感資訊的全域性分佈之間的聯絡,減弱了半標識列屬性與特定敏感資訊的聯絡,減少攻擊者通過敏感資訊的分佈資訊進行屬性洩露攻擊的可能性。不過同時也肯定導致了一定程度的資訊丟失,所以管理者通過T值的大小平衡資料可用性與使用者隱私保護。

常見資料脫敏演算法

K-Anonymity, L-Diversity和T-Closeness均依賴對半標識列進行資料變形處理,使得攻擊者無法直接進行屬性洩露攻擊,常見的資料變形處理方式如下:

大資料平臺數據脫敏介紹

大資料脫敏平臺

使用者隱私資料保護與挖掘使用者資料價值是兩個互相沖突的矛盾體,徹底的資料脫敏,需要抹去全部的使用者標識資訊,使得資料潛在的分析價值大大降低。另一方面,完全保留使用者隱私資料資訊,可最大化資料的分析價值,同時導致使用者隱私洩露的風險無法控制。因此大資料脫敏平臺的設計目標並不是實現工具演算法用來完全抹去全部的使用者標識資訊,而是包括如下幾個目標:

資料洩露風險可控。首先,實現基於大資料平臺的脫敏演算法庫,可並行,高效的按照脫敏規則對隱私資料進行脫敏。其次,基於資料脫敏的理論基礎,建立使用者隱私資料洩露風險的衡量模型,可定性定量的準確衡量資料可能發生洩露的風險。

可管理。結合大資料平臺的使用者認證體系,許可權管理體系,以及隱私資料不同保護級別的許可權管理體系,實現對隱私資料基於審批的資料訪問機制。結合公司制度,規範,法務等管理,實現在儘可能保護使用者隱私資料,減少資料洩露風險的前提下,最大化保留資料分析挖掘的價值。

可審計。對資料的訪問要保證可回溯,可審計,當發生資料洩露時,要保證能夠通過審計日誌找到對應的洩露人員。

大資料脫敏平臺的設計方向一般包括靜態大資料脫敏平臺和動態大資料脫敏平臺,所謂靜態和動態之分,主要在於脫敏的時機不同。對於靜態脫敏來說,資料管理員提前對資料進行不同級別的脫敏處理,生成不同安全級別的資料,然後授予不同使用者訪問不同安全級別資料的許可權。對於動態脫敏來說,管理員通過元資料管理不同使用者訪問具體資料的安全許可權,在使用者訪問資料的時候,動態的從原始資料中按照使用者許可權動態的進行脫敏處理。大資料平臺脫敏技術方案是一個非常有趣的課題,目前業界還沒有看到有成熟的方案,鑑於其對資料安全和資料價值的作用,非常值得深入研究,希望以後可以繼續以合適的方式分享我在這方面的研究與實踐。

總結

針對於大資料平臺對於資料脫敏的需求,本文分析了資料洩露可能帶來的風險,介紹了資料脫敏技術的理論基礎與實現方式,同時簡單分析了大資料平臺的隱私資料脫敏技術方向。本文討論的均是基於離線資料的資料脫敏,流式資料的脫敏技術無論是理論基礎與具體實踐大都還處在摸索的過程中,留待以後繼續探索。

【編輯推薦】

  1. 大資料從何而來?不得不知的7個數據源供應平臺
  2. 天雲大資料CEO雷濤:2016是大資料的“寒冬”,AI產業化的春天
  3. 走進大資料之拓撲資料分析方法
  4. 一篇對大資料深度思考的文章,讓你認識並讀懂大資料
  5. 制約大資料發展的核心因素是什麼?