談談如何保護用于分析的敏感數據
數據驅動的解決方案幫助組織做出更好的決策,提高效率,為客戶創造更好的體驗,并最終帶來更多收入。但數據的增長速度超過了對此類信息的保護速度。隨著收集、存儲和處理的數據量不斷增加,數據工程師必須了解如何最好地處理個人信息以進行分析。
數據工程師經常花時間在兩項職責之間取得平衡:利用涉及敏感/個人數據的大量數據進行創新和推動變革,同時遵守管理數據處理和使用方式的嚴格標準。
如果沒有第二個責任,第一個責任就不可能實現。因此,許多數據隱私增強技術越來越受到關注,例如匿名化、假名化、合成數據生成、差異隱私和去識別個人數據的混合策略。
在本文中,我們將討論一些旨在處理數據隱私、最大限度降低泄露風險的重要策略。我們將主要關注簡單的技術,如抑制、格式保留標記化、加密散列、分箱和擾動。
假名化和匿名化之間的區別
數據可識別性可以與一系列可見性進行比較。一方面,數據是完全可見的,這意味著它可以用來識別個人。另一方面,數據完全不可見,細節匿名。匿名化和假名化是兩個可以改變數據可見性的過程,使組織能夠保護個人隱私,同時仍然允許數據用于分析和其他目的。
牢記這一范圍,我們現在可以將假名化定義為對數據集進行匿名化的過程,因此在不使用附加信息的情況下無法單獨識別數據主體。然而,這些數據仍然可以用于分析項目。主要優點是在保護個人隱私和允許數據有用之間取得平衡。然而,重要的是要記住,如果攻擊者有權訪問鏈接密鑰,假名數據仍然可以被重新識別。
對大型數據集進行偽匿名是一個特別復雜的過程,即使在數據共享之前,也需要在數據字典中將數據屬性明確標記為個人身份信息并由所有者簽名。實際上也很難驗證同意,說明數據將如何使用的確切目的。因此,我們通過將數據限制為證明模型假設所需的關鍵元素來最大限度地減少用于分析的數據。然后,我們將數據匿名化到用戶無法重新識別主體并將其鏈接到個人的程度,而無需使用所有者保管下存儲的其他數據。
專業提示:建議將數據隱私指標添加到數據字典中,例如每個數據屬性的敏感性和有用性,這樣以實現企業級持續治理。這使組織能夠以適當的敏感度跟蹤數據是否出于相關且商定的原因而被使用。
個人數據屬性
在使用給定數據集中進行分析之前查找個人標識符是保護個人隱私的重要一步。識別個人標識符的主要方法有兩種:
(1)直接標識符:這是可用于識別個人身份的個人數據,無需任何其他信息。示例包括:姓名、地址、電子郵件、電話號碼、護照號碼和駕駛執照號碼。
(2)間接標識符:這是可以與其他信息結合起來識別個人身份的個人數據。示例包括:出生日期、性別、種族和職業。
要在數據集中查找個人標識符,可以結合使用自動化工具和手動審核:
自動化工具:市場上有多種選項可以自動識別大型數據集的個人標識符信息 (PII) 列。然而,至關重要的是添加額外的分析檢查作為這些 AI 輔助工具的包裝器,以防止 PII 列的任何意外遺漏或錯誤識別。例如,在 Google Cloud 中,DLP 服務可用于通過掃描數據中的特定模式來識別標識符,自動對個人數據進行分類并進行相應的處理
手動審核:即使使用自動化工具,手動審核數據集以識別可能遺漏的任何個人標識符也很重要。這可以通過逐一檢查數據元素并檢查它們是否與任何示例匹配來完成。
識別個人標識符后,重要的是使用匿名化、假名化、合成數據生成、差異隱私和混合策略等技術來對數據進行去識別化,然后再將其用于分析。這些技術可用于刪除、屏蔽或掩蓋敏感信息,同時仍保留數據的分析實用性。
四種隱私增強技術
1、數據抑制
數據抑制是一種通過刪除或屏蔽某些信息來取消個人數據識別的技術。它通常用于刪除直接標識符,例如姓名、地址和電話號碼;以及間接標識符,例如出生日期和性別,您還可以隱藏未獲得客戶同意的特定行。
關鍵考慮因素:實施簡單、完全匿名、不需要分析,并且可以在受抑制的個人或敏感數據上實現,并且不可能進行重新識別。
下面是一個簡單的示例,說明如何在 Python 中使用數據抑制來去識別個人數據:
2. 數據標記化
數據標記化是用非敏感隨機字符串(通常稱為標記)替換單個敏感數據的過程。令牌用作對原始數據的引用,但不能用于猜測這些值。這是因為,與加密不同,標記化不使用數學過程將敏感信息轉換為標記。沒有可用于導出令牌原始數據的密鑰或算法。相反,標記化使用數據庫或安全文件存儲(稱為令牌庫),它存儲敏感值和令牌之間的關系。然后,通常通過加密來保護保險庫中的真實數據。
對于基于表和基于文件的標記化,可以應用格式保留標記化,這是一種保留原始數據的格式和長度,同時用唯一標記替換它的技術。
機器學習(ML)模型投入運行后,代幣價值可用于支持業務運營。如果需要檢索真實數據。例如,在識別實際電子郵件地址以對交叉銷售預測采取行動的情況下,令牌被提交到保管庫,并且索引用于獲取客戶電子郵件地址以在授權過程中使用。對于最終用戶來說,該操作幾乎是由瀏覽器或應用程序立即無縫執行的。他們可能甚至不知道數據以不同的格式存儲在云中。
關鍵考慮因素:格式保留令牌與真實數據之間不存在數學關系,因此采用分析沒有風險。只要金庫高度安全。
3. 安全密鑰加密散列和加密
加密散列和加密轉換是去標識化方法,用加密或散列值替換原始敏感數據值。這里的一些關鍵技術包括:
- 安全密鑰加密哈希是一種涉及使用密鑰創建輸入字符串的加密哈希的方法,類似于 HMAC,并且通常被認為是比僅使用哈希函數更安全的方法。對于非常大的數據集,具有主鍵行為的唯一標識符可以通過這種方式取消標識。
- 格式保留加密 (FPE)是一種在加密時保留信息格式的加密算法。它涉及用使用格式保留加密生成的加密值替換輸入值。下面是一個簡單的示例,說明如何在 Python 中使用 FPE 來去識別個人數據 (CCN):
確定性加密方案是一種密碼系統,即使單獨執行加密算法,它也始終為給定的明文和密鑰生成相同的密文。它將輸入值替換為在合成初始化向量模式 (AES-SIV) 下使用 AES 生成的令牌。
關鍵考慮因素:這些技術在很大程度上依賴于安全密鑰的使用才能發揮作用,因此它們大多部署在安全且受限的分析生態系統中,具有安全存儲密鑰的功能。
Python中有用的技術: pyfpe、cryptography、pycryptodome都是可用于實現上述技術的Python庫
4.數據概括
數據概括涉及將敏感列分類到箱或組中進行分析、刪除細節并創建更概括的視圖。該技術與其他假名化方法相結合,對于大型數據集特別有效。
分箱:
數值分箱:在此方法中,首先對數值數據進行排序,然后將排序后的值分配到多個桶或箱中。它也稱為分桶或離散化。例如,當您需要開發流失預測模型的功能時,可以將數據分組為年齡范圍(例如 18-30、30-65),而不是顯示一個人的確切年齡
Python 中有用的技術: Pandas、OptBinning。例如,可以使用 qcut、cut 等 Pandas 函數進行基于五分位數的分箱。
分類重新編碼:
通過將相似的分類數據點分組在一起,分類記錄或分箱可以降低數據的粒度。這可以通過創建更廣泛的類別或用更通用的類別替換特定類別來完成。
例如,假設您有一個客戶人口統計數據集,其中包含有關人們職業的信息。原始數據可能具有以下類別:“老師”、“護士”、“工程師”和“建筑師”。為了保護個人隱私,您可以使用分類重新編碼將類似的職業分組在一起。例如,您可以將“教師”和“護士”分組到一個更廣泛的類別(稱為“教育和醫療保健”)中,將“工程師”和“建筑師”分組到一個更廣泛的類別(稱為“建筑和設計”)中。
另一個例子是,對于位置數據,我們可以將數據分組為更大的區域,例如省、市或地區,而不是顯示確切的地址。
關鍵注意事項:當需要執行特征工程以根據模型訓練要求概括客戶信息時,請使用分類分箱。
Python 中的有用技術:在 Pandas 中,您可以利用 Replace() 和 map() 函數,它們可用于將特定類別替換為更通用的類別
5. 數據擾動
數據擾動是一種通過向數據添加隨機噪聲來保護數據集中個人隱私的技術。這使得攻擊者很難推斷有關數據集中各個記錄的敏感信息,同時仍然允許對數據中的總體趨勢和模式進行有意義的分析。
以下是 Python 中數據擾動的示例:
需要用于對數據集進行偽匿名的技術高度依賴于每個單獨的用例、數據集中的 PII 類型以及數據存儲的環境。
除了上面討論的技術之外,還有其他新興和先進的數據隱私增強技術,例如人工智能合成數據生成、聯邦學習、安全多方計算、同態加密、圖像等非結構化數據中的匿名 PII ,使用機器學習生成模型的 PDF,仍在進行廣泛的研究,值得關注。
這就引出了所有數據從業者可能需要考慮的一個重要問題——申請后如何檢查數據是否是偽匿名的?在數據管道的每個階段,設置額外的測試以降低重新識別的風險至關重要。研究人員開發的統計方法(例如 t-Closeness、l-Diversity 和 k-Anonymity)也可以通過提供閾值和值來幫助實現這一目標,這些閾值和值可以幫助估計可重新識別性,進而幫助了解數據集的偽匿名化程度。
隱私工程是分析中的一個難題,但隨著捕獲的數據量不斷增加,它對于分析項目的重要性只會繼續增長。作為數據從業者,我們將在構建基礎設施方面發揮至關重要的作用,以確保有效利用不斷增長的數據,同時負責任地存儲和部署。