2020-04-10 10:24·
古人雲,“魚,我所欲也,熊掌亦我所欲也;二者不可得兼”。大數據時代,數據挖掘誠可貴,例如各類APP通過收集我們的行為信息進行購買商品與美食預測和推薦,提高用戶體驗和提升效率;然而,隱私保護價更高,例如敏感的個人信息(姓名、家庭住址和手機號碼等)被某些機構收集,為了某種利益被非法販賣或泄露,定向電信詐騙由此而生,山東徐玉玉案件給社會敲響了警鍾。在大數據的應用場景下,在滿足數據安全和隱私保護的同時,實現數據的流動和價值的最大化/最優化成為“數據控制者”或“數據處理者”普遍訴求。幸運的是,經過信息技術的發展和革新,“魚和熊掌兼得”成為可能:數據處理者/控制者不但能收獲到那條“魚”(價值挖掘),也能得到預想的那只“熊掌”(隱私保護)。
一、數據脫敏
數據脫敏,也稱為數據漂白(英文稱為Data Masking或Data Desensitization)。由於其處理高效且應用靈活等優點,是目前工業界處理敏感類數據(個人信息,企業運營、交易等敏感數據)普遍采用的一種技術,在金融、運營商、企業等有廣泛應用。廣義地講,人臉圖像打碼(馬賽克)實際也是一種圖片脫敏技術:通過部分的屏蔽和模糊化處理以保護“自然人”的隱私。但本文討論的是傳統的(狹義的)脫敏技術——即數據庫(結構化數據)的脫敏。
場景
數據庫是企業存儲、組織以及管理數據的主要方式。幾乎所有的業務場景都與數據庫或多或少有所關聯。在高頻訪問、查詢、處理和計算的復雜環境中,如何保障敏感信息和隱私數據的安全性是關鍵性問題。對於個人信息使用和處理場景,主要有以測試、培訓、數據對外發布、數據分析等為目的場景。舉一個測試場景例子。假如小明是測試人員,在進行產品測試過程中,需要使用一些用戶個人信息示例數據。如果可以直接訪問和下載用戶個人信息的原始數據,那么有隱私泄露的風險(他可能將用戶個人信息賣給另一家公司)。
為了避免風險,可對所有數據項逐一進行加密。但這引起了一個問題——數據的密文數據雜亂無章,已經失去了測試和驗證價值。那么是否可以在數據可用性(Data Utility)和隱私保密性(Privacy Protection)進行折中呢,答案是肯定的。如示意圖1中,小明需要訪問用戶信息數據庫,服務器根據小明的權限對數據顆粒度進行管控和脫敏處理,,比如僅保留姓、年齡進行模糊處理(四舍五入)、電話號碼屏蔽中間四位。那么小明無法得到准確無誤的用戶信息,或者猜測次數過多(猜測概率過低)帶來的攻擊成本不足以支撐小明的攻擊動機(鋌而走險)。
圖1 測試場景:使用脫敏數據
需求
個人信息或其他敏感信息的處理,必須滿足兩個要求:
1.數據保密性(Data confidentiality):對於個人信息,稱為隱私保密性(Privacy Protection)。需要保證潛在的攻擊者無法逆推出准確的敏感信息,對於一些關鍵信息無法獲取。
2.數據可用性(Data Utility):保證被處理后的數據,仍然保持某些統計特性或可分辨性,在某些業務場景中是可用的。
這兩個指標是一對矛盾。如何調節與平衡:哪些數據字段需要加強保密?哪些字段可以暴露更多信息?屏蔽多少信息可達安全/應用?這些需要分析和研究具體應用場景,再一步細化兩個指標需求(場景需求的定制化)。比如某一個APP的業務場景,需要統計和分析APP用戶的年齡分布,為了保護用戶隱私,需進行處理和失真,但需盡可能保留年齡字段的統計分布。如何達到呢?下面即將介紹。
技術原理
數據脫敏是解決上述需求的關鍵技術。所謂脫敏,是對敏感數據通過替換、失真等變換降低數據的敏感度,同時保留一定的可用性、統計性特征。為了達到這個目標,有一系列的方法/策略可以使用。以下表格列舉一些典型的脫敏方法/策略。具體使用哪種脫敏方法,需要根據業務場景,如數據的使用目的、以及脫敏級別等需求去選擇和調整。如上述統計APP用戶年齡分布的例子,可使用重排的方法保證數據的統計分布。
圖2 常見脫敏方法/策略
其中,保留格式加密(Format-Preserving Encryption,FPE)是一種特殊的加密方式,其輸出的密文格式仍然與明文相同。比如中國聯通手機號15266661234,通過FPE加密可以實現仍然輸出的是聯通手機號15173459527。FPE加密應用時,需考慮格式及分段約束,這與一般的對稱分組加密不同。為了規范FPE技術實施,美國NIST發布了FF1標准算法,可用於保險號、銀行卡號、社保卡號等數字標識符的加密與脫敏。
應用
按照使用場景,可將脫敏分為 靜態脫敏(Static Data Masking, SDM)、動態脫敏(Dynamic Data Masking, DDM) ,本文介紹是前者。靜態脫敏一般用於非生產環境中(測試、統計分析等),當敏感數據從生產環境轉移到非生產環境時,這些原始數據需要進行統一的脫敏處理,然后可以直接使用這些脫敏數據;動態脫敏一般用於生產環境中,在訪問敏感數據當時進行脫敏,根據訪問需求和用戶權限進行“更小顆粒度”的管控和脫敏。一般來說,動態脫敏實現更為復雜。脫敏在多個安全公司已經實現了應用,IBM,Informatica公司是比較著名的代表。
二、匿名化
匿名化技術(Anonymization)可以實現個人信息記錄的匿名,理想情況下無法識別到具體的“自然人”。主要有兩個應用方向:個人信息的數據庫發布或挖掘(Privacy Preserving Data Publishing,PPDP,或Privacy Preserving Data Mining, PPDM)。
場景
一個經典的場景,是醫療信息公開場景。醫療信息涉及患者個人信息以及疾病隱私,十分敏感;但對於保險行業的定價、以及數學科學家對疾病因素等各項研究,這些數據具有巨大的價值所在。為了保護患者的身份和隱私,讓人很容易想到的是刪除身份有關信息,即去標識化(De-identification)。關於此,一個經典案例,美國馬薩諸塞州發布了醫療患者信息數據庫(DB1),去掉患者的姓名和地址信息,僅保留患者的{ZIP, Birthday, Sex, Diagnosis,…}信息。另外有另一個可獲得的數據庫(DB2),是州選民的登記表,包括選民的{ZIP, Birthday, Sex, Name, Address,…}詳細個人信息。攻擊者將這兩個數據庫的同屬性段{ ZIP, Birthday, Sex}進行鏈接和匹配操作,可以恢復出大部分選民的醫療健康信息,從而導致選民的醫療隱私數據被泄露[1]。
圖3 鏈接攻擊:兩個數據庫的鏈接
需求
1.無法重識別( De-identification ):通俗地講,如何使得發布數據庫的任意一條記錄的隱私屬性(疾病記錄、薪資等)不能對應到某一個“自然人”。
2.數據可用性(Data Utility):盡可能保留數據的使用價值,最小化數據失真程度,滿足一些基本或復雜的數據分析與挖掘。
技術原理
為了滿足以上需求,一般使用匿名化技術(Anonymization)。在學術研究上,最早由美國學者Sweeney提出,設計了K匿名化模型(K-Anonymity)[1]。即通過對個人信息數據庫的匿名化處理,可以使得除隱私屬性外,其他屬性組合相同的值至少有K個記錄。為了展示匿名化過程,下圖給出了關於薪資的個人信息匿名化的例子。
圖4 2-匿名化示例:保護薪資隱私信息
對於大尺寸的數據表,如何實現K-匿名化的目標呢?這是算法實現和復雜度優化的問題,目前有基於泛化樹和基於聚類的匿名化實現方法。除K-匿名化外,還發展和衍生出了(α, k)-匿名 ((α, k)–Anonymity)[2]、L-多樣性 (L-Diversity)[3] 和T-接近性 (T-closeness)[4]模型。在具體應用時,需要根據業務場景(隱私保護程度和數據使用目的)進行選擇。
概念辨析
需辨別的是, 匿名化(Anonymization)、假名化(Pseudonymization)、去標識化(De-identification) 三個概念有些聯系,但不盡相同,卻常常被混為一談。
1.假名化(Pseudonymization):將身份屬性的值重新命名,如將數據庫的名字屬性值通過一個姓名表進行映射,通常這個過程是可逆。該方法可以基本完好保存個人數據的屬性,但重識別風險非常高。一般需要通過法規、協議等進行約束不合規行為保證隱私的安全性。
2.去標識化(De-identification):將一些直接標識符刪除,如上表所示,去掉身份證號、姓名和手機號等標識符,從而降低重識別可能性。嚴格來說,根據攻擊者的能力,仍然有潛在的重識別風險,見圖3。
3.匿名化(Anonymization):通過匿名化處理,攻擊者無法實現“重識別”數據庫的某一條個人信息記錄對應的人,即切斷“自然人”身份屬性與隱私屬性的關聯。
一般來說,這三種方法對數據可用性依次降低,但隱私保密性越來越高。
三、差分隱私
差分隱私(Differential Privacy, DP)具有嚴格的數學模型,無需先驗知識的假設,安全性級別可量化可證明。是近年來學術界隱私保護研究熱點之一,同時,一些企業應用將差分隱私技術應用到數據采集場景中。
場景
一個典型的場景:統計數據庫開放,比如某家醫院提供醫療信息統計數據接口,某一天張三去醫院看病,攻擊者在張三去之前(第一次)查詢統計數據接口,顯示糖尿病患者是人數是99人,去之后攻擊者再次查詢,顯示糖尿病患者是100人。那么攻擊者推斷,張三一定患病。該例子應用到了背景(先驗)知識和差分攻擊思想。
圖5 攻擊場景:應用背景知識和差分攻擊獲取隱私信息
需求
上述場景要求設計一種算法:即使攻擊者擁有一定背景知識(先驗知識),攻擊者查詢公開數據庫,只能獲得全局統計信息(可能存在一定誤差),無法精確到某一個具體的記錄(“自然人”的記錄)
技術原理
為了這個需求,差分隱私技術(Differential Privacy, DP)應運而生。這項技術最早由微軟研究者Dwork 在2011年提出[5]。DP可以確保數據庫插入或刪除一條記錄不會對查詢或統計結果造成顯著影響,數學化描述如下:
和
分別指相鄰的數據集(差別只有一條記錄),
是某種DP算法,它對於任意的輸出 ,兩個數據集輸出的概率幾乎接近(小於
)那么稱為滿足 隱私。如何實現這個目標呢?一般來說,通過在查詢結果加入噪聲(如Laplace噪聲),使得查詢結果在一定范圍內失真,並且保持兩個相鄰數據庫概率分布幾乎相同。那么DP方法可以抵抗差分攻擊引起的隱私泄露。比如上述場景,第一次查詢結果是99個,第二次查詢 概率為 結果為99個,
的概率結果是100個,那么攻擊者無法准確地確認張三是否患病。
應用
以上介紹的是中心化的差分隱私 (Centralized Differential Privacy ,CDP)。隨着研究的進展,出現了本地差分隱私(Local Differential Privacy, LDP)。LDP在用戶側進行,服務器無法獲得真實的隱私信息,其核心思想是隨機化算法,即每一個采集的數據都加入了噪聲。若采集的數據足夠多,那么得到相對准確的統計分布。LDP的原理注定它十分適用於用戶隱私數據的采集。一些IT公司開始應用該項技術,比如iPhone使用LDP技術用戶隱私,在可獲得統計行為的同時,避免用戶隱私的泄露。如圖3是iPhone手機提供的說明例子(感興趣讀者可去手機查找和研究)[6],每一個用戶的表情加入了噪聲,是不准確的,但經過大量用戶的頻率統計,是相對准確的;Google也進行類似的應用,通過Chrome瀏覽器使用LDP技術采集用戶行為統計數據。
圖6 iPhone使用本地差分隱私技術:采集用戶表情信息
四、同態加密
同態加密不同於傳統的加密,它是應對新的安全場景出現的一項新型密碼技術。它的出現,顛覆了人們對密碼算法認知。使得密文處理和操作,包括檢索、統計、甚至AI任務都成為可能。
場景
假設創業公司C擁有一批數據量大且夾雜個人信息的數據,需要多方進行共享和處理。為了降低成本,他選擇使用廉價的不可信第三方平台:公有雲。但為了保障傳輸和存儲過程的數據安全,公司員工C1在數據上傳前,對數據進行了加密,再將得到的密文數據上傳到共有雲。公司員工C2,需在共有雲上執行一個數據分析和統計的任務。
圖7 雲平台的安全計算場景
需求
以上的場景可提煉出兩個需求:
\1. 安全需求 :除了公司C員工可解密數據外,其他人包括第三方平台無法解密和查看數據,即需要保障個人隱私數據的安全性;
\2. 處理需求: 存儲在第三方平台的密文數據,仍然可以進行基本運算(加減乘除)、統計、分析和檢索等操作。處理后的密文數據,返回給公司C的員工,得到結果和預期是一致的。
技術原理
同態加密滿足上述需求的一項關鍵的技術之一。假設 是兩個明文, 是加密函數,那么其存在以下性質,
該性質在數學上稱為同態性。通俗地講,在密文域進行 操作
相當於在明文域進行
操作。這種性質使得密文域的數據處理、分析或檢索等成為可能。如下示意圖所示,假設員工C1上傳兩個密文數據
(對應兩個明文數據)到不可信的雲平台中,員工C2提交兩個明文數據 的任務,那么雲計算平台對應執行密文的操作是:
。從始至終,雲平台一直沒有接觸到相關的明文信息,從而防止了第三方竊取導致的隱私數據泄露。
圖8 同態加密在雲平台的應用
應用
同態加密過程需要消耗大量的計算資源。但目前開始有一些開始朝向應用發展:同態加密逐步開展了標准化進程;另外創業公司Duality在定制服務器通過同態加密,實現隱私保護與AI任務等應用,可參考鏈接 《Duality: 基於同態加密的數據分析和隱私保護方案》 。
五、小結
大數據時代,隱私保護誠可貴,數據挖掘價更高。根據實際應用場景,處理和平衡數據可用性(Data Utility) 和隱私保密性(Privacy Protection),是大數據時代下的數據安全的關鍵性問題之一。在保留一定的數據可用性、統計性等基礎上,通過失真等變換實現降低數據敏感度——數據脫敏;通過“去識別化”實現隱私保護——匿名化;通過加噪來抵抗差分攻擊——差分隱私;甚至將個人敏感信息直接加密,然后在密文數據上直接統計與機器學習——同態加密。
然而,其中一些技術在具體的場景落地時,仍然面臨着諸多挑戰,如數據可用性和隱私保護如何實現自適應調節;高維、大數據集的效率問題如何優化等是值得深入研究的問題。
筆者將“大數據時代下的數據安全”該主題分成三篇文章分別進行介紹: 法律法規篇、技術場景篇、實踐體系篇 ,本文是這個系列中的第二篇:技術場景篇。接下來我們將陸續發表其他兩篇。本文提供只是一個引子和簡介,希望能起到拋磚引玉的作用,與各位專家或數據安全愛好者共同探討與分享有趣的話題。
參考資料:
[1].Sweeney L. K-anonymity: A model for protecting privacy. International Journal of Uncertainty, Fuzziness and Knowledge-based Systems, 2002,10(5):557-570.
[2].Wong R C, Li J, Fu A W, et al. (α, k)-anonymity: An enhanced kanonymity model for privacy-preserving data publishing [C]. The 12thACM SIGKDD International Conference on Knowledge Discovery andData Mining, Philadelphia, PA, USA, August 20-23, 2006.
[3].l-diversity:Pri-vacy beyondk-anonymity. Machanavajjhala A,Gehrke J,Kifer D,et al. Proceedings of the 22th International Conference on Data Engineering . 2006
[4].Li N H, Li T C, Venkatasubramanian S. t-Closeness-privacy beyond kanonymity and l -diversity [C]. IEEE 23rd International Conference on Data Engineering, Istanbul, Turkey, April 15-20, 2007: 106-115.
[5].Dwork C. Differential privacy[J]. Encyclopedia of Cryptography and Security, 2011: 338-340.
[6].