本文說明如何使用 Sensitive Data Protection 建立自動化資料轉換管道,將個人識別資訊 (PII) 等機密資料去識別化。此外,Cloud DLP 也提供權杖化 (匿名化) 等去識別化功能,可協助您對原始的機密識別資訊進行模糊處理,藉此降低資料處理風險,同時保留資料的實用性,方便您執行資料彙整或分析作業。如要盡可能降低處理大量機密資料的風險,您可以使用自動化資料轉換管道,建立去識別化的副本。Sensitive Data Protection 可執行遮蓋、遮罩、代碼化、特徵分塊等轉換,以及其他去識別化方法。如果資料集尚未經過特徵化,Sensitive Data Protection 也可以使用超過 100 個內建分類器,檢查資料是否含有機密資訊。
本文適用於負責資料安全性、資料處理或資料分析的技術人員。本指南假設您熟悉資料處理和資料隱私權,但不需要是專家。
參考架構
下圖顯示使用Google Cloud 產品的參考架構,透過去識別化技術為機密資料集新增一層安全性。
架構包含下列項目:
資料去識別化串流管道:使用 Dataflow 將文字中的機密資料去識別化。您可以重複使用管道,進行多項轉換和用途。
設定 (Sensitive Data Protection 範本和金鑰) 管理:受管理的去識別化設定,僅限少數人 (例如安全管理員) 存取,避免洩漏去識別化方法和加密金鑰。
資料驗證和重新識別管道:驗證去識別化資料的副本,並使用 Dataflow 管道大規模重新識別資料。
協助保護機密資料
確保使用者和員工的資料安全性,是所有企業的重要工作之一。 Google Cloud 提供內建安全措施,有助於確保資料安全性,包括加密儲存的資料和傳輸中的資料。
靜態資料加密:Cloud Storage
對大多數組織來說,維護資料安全性至關重要。即使是中等機密資料,未經授權存取也可能破壞您與客戶之間的信任、關係和信譽。Google 預設會加密儲存的靜態資料。根據預設,上傳至 Cloud Storage bucket 的任何物件都會使用Google-owned and Google-managed encryption key加密。如果資料集使用現有的加密方法,且在上傳前需要非預設選項,Cloud Storage 會提供其他加密選項。詳情請參閱「資料加密選項」。
傳輸中資料加密:Dataflow
資料傳輸時,靜態加密功能不會生效。傳輸中的資料會受到安全網路通訊協定的保護,這稱為傳輸中加密。根據預設,Dataflow 會使用 Google-owned and Google-managed encryption keys。與本文件相關聯的教學課程會使用自動化管道,該管道會使用預設的 Google-owned and Google-managed encryption keys。
Sensitive Data Protection 資料轉換
Sensitive Data Protection 主要執行兩種類型的轉換:
recordTransformations 和 infoTypeTransformations 方法都能對資料中的機密資訊進行去識別化和加密。例如,您可以將 US_SOCIAL_SECURITY_NUMBER 欄中的值轉換為無法識別,或使用權杖化技術模糊處理,同時保持參照完整性。
您可以使用 infoTypeTransformations 方法檢查機密資料並轉換發現項目。舉例來說,如果您有非結構化或自由文字資料,infoTypeTransformations 方法可協助您識別句子中的 SSN,並加密 SSN 值,同時保留其餘文字。您也可以定義自訂 infoTypes 方法。
使用結構化或表格型資料時,recordTransformations 方法可讓您為每個欄位套用轉換設定。使用 recordTransformations 方法,您可以對該欄位中的每個值套用相同的轉換,例如使用 SSN 欄做為欄位或標頭名稱,對欄中的每個值進行雜湊或權杖化。
使用 recordTransformations 方法時,您也可以混用 infoTypeTransformations 方法,只套用至指定欄位中的值。舉例來說,您可以針對名為 comments 的欄位,在 recordTransformations 方法中使用 infoTypeTransformations 方法,遮蓋在該欄位文字中找到的任何 US_SOCIAL_SECURITY_NUMBER 發現項目。
去識別化程序按複雜程度遞增排列如下:
- 遮蓋:移除機密內容,不替換內容。
- 遮蓋:將機密內容替換為固定字元。
- 加密:以加密字串取代機密內容,可能可反向還原。
使用分隔資料
資料通常由所選字元分隔的記錄組成,每欄都有固定類型,例如 CSV 檔案。對於這類資料,您可以直接套用去識別化轉換 (recordTransformations),而不必檢查資料。舉例來說,標示為 SSN 的資料欄應只包含身分證字號資料。您不需要檢查資料,就能知道 infoType 偵測工具是 US_SOCIAL_SECURITY_NUMBER。不過,標示為 Additional Details 的任意形式資料欄可能包含私密資訊,但 infoType 類別事先未知。如果是任意形式的資料欄,您必須先檢查 infoTypes 偵測工具 (infoTypeTransformations),再套用去識別化轉換。Sensitive Data Protection 允許這兩種轉換類型並存於單一去識別化範本中。Sensitive Data Protection 包含超過 100 個內建 infoTypes 偵測工具。您也可以建立自訂類型或修改內建 infoTypes 偵測工具,找出貴組織專屬的機密資料。
判斷轉換類型
請根據用途決定要使用 recordTransformations 還是 infoTypeTransformations 方法。由於使用 infoTypeTransformations 方法需要更多資源,因此成本較高,建議您只在資料類型不明的情況下使用此方法。您可以使用 Google Cloud Pricing Calculator 評估執行 Sensitive Data Protection 的費用。
為舉例說明轉換作業,本文件會參照含有固定資料欄 CSV 檔案的資料集,如下表所示。
| Column name | 檢查 infoType (自訂或內建) |
Sensitive Data Protection 轉換類型 |
|---|---|---|
Card Number
|
不適用 | 確定性加密 (DE) |
Card Holder's Name
|
不適用 | 確定性加密 (DE) |
Card PIN
|
不適用 | 加密雜湊 |
SSN (Social Security Number)
|
不適用 | 遮罩 |
Age
|
不適用 | 資料分組 |
Job Title
|
不適用 | 資料分組 |
Additional Details
|
內建:IBAN_CODE、EMAIL_ADDRESS、PHONE_NUMBER
自訂:
ONLINE_USER_ID
|
替換 |
下表列出資料欄名稱,並說明各欄所需的轉換類型。舉例來說,Card Number 資料欄包含需要加密的信用卡號碼,但由於資料類型 (infoType) 已知,因此不需要檢查。
建議只在 Additional Details 資料欄執行檢查轉換。這個資料欄為任意形式,可能包含 PII,在本範例中,應偵測並去識別化。
下表中的範例呈現五種不同的去識別化轉換:
雙向權杖化:以確定性權杖取代原始資料,保留參照完整性。您可以使用權杖彙整資料,或在匯總分析中使用權杖。您可以使用建立權杖時所用的相同金鑰,反轉或取消權杖化資料。雙向權杖化有兩種方法:
- 確定性加密 (DE):以 base64 編碼的加密值取代原始資料,且不保留原始字元集或長度。
- 使用 FFX 格式保留加密 (FPE-FFX):使用 FFX 模式的格式保留加密,將原始資料替換為產生的權杖。FPE-FFX 的設計會保留輸入文字的長度和字元集。由於缺乏驗證和初始化向量,輸出權杖的長度可能會增加。其他方法 (例如 DE) 可提供更強大的安全性,建議用於權杖化用途,除非長度和字元集保留是嚴格要求,例如與舊版資料系統的回溯相容性。
使用密碼雜湊進行單向權杖化:以雜湊值取代原始值,保留參照完整性。不過,與雙向權杖化不同,單向方法無法反向操作。雜湊值是使用以 SHA-256 為基礎的訊息驗證碼 (HMAC-SHA-256) 對輸入值產生。
遮罩:以指定字元部分或完全取代原始資料。
資料分組:將較容易識別的值替換為較不易識別的值。
取代:如果 偵測到, 則以權杖或
infoType的名稱取代原始資料。
選取方法
最佳去識別化方法會因用途而異。舉例來說,如果舊版應用程式正在處理去識別化記錄,則格式保留可能很重要。如果您處理的是格式嚴格的 10 位數號碼,FPE 會保留輸入內容的長度 (10 位數) 和字元集 (數字),以支援舊版系統。
不過,如果不需要嚴格的格式設定來確保與舊版相容性 (例如 Card Holder's Name 欄中的值),則建議選擇 DE,因為其驗證方式更強。FPE 和 DE 都能反轉或去權杖化權杖。如果您不需要去權杖化,密碼雜湊可提供完整性,但權杖無法反轉。
其他方法 (例如遮蓋、分桶、日期移位和替換) 適用於不需要保留完整性的值。舉例來說,將年齡值 (例如 27) 歸入年齡範圍 (20-30) 後,仍可進行分析,同時降低可能導致識別個人的獨特性。
權杖加密金鑰
如要進行加密去識別化轉換,必須使用加密編譯金鑰,也稱為權杖加密金鑰。用於去識別化加密的權杖加密金鑰,也可用於重新識別原始值。安全建立及管理權杖加密金鑰,不在本文討論範圍內。不過,請留意下列重要原則,相關教學課程會用到:
- 請避免在範本中使用明文金鑰。請改用 Cloud KMS 建立包裝金鑰。
- 為每個資料元素使用不同的權杖加密金鑰,降低金鑰遭盜用的風險。
- 輪替權杖加密金鑰。雖然您可以輪替包裝金鑰,但輪替權杖加密金鑰會破壞權杖化的完整性。金鑰輪替後,您需要重新權杖化整個資料集。
Sensitive Data Protection 範本
如要大規模部署,請使用 Sensitive Data Protection 範本完成下列作業:
- 使用 Identity and Access Management (IAM) 啟用安全性控管功能。
- 將設定資訊和去識別化方式與要求實作分離。
- 重複使用一組轉換。您可以將去識別化和重新識別範本用於多個資料集。
BigQuery
參考架構的最後一個元件是在 BigQuery 中查看及處理去識別化資料。BigQuery 是 Google 的資料倉儲工具,包含無伺服器基礎架構、BigQuery ML,以及將 Sensitive Data Protection 做為原生工具執行的功能。在參考架構範例中,BigQuery 是去識別化資料的資料倉儲,也是自動重新識別資料管道的後端,可透過 Pub/Sub 共用資料。
後續步驟
- 瞭解如何使用 Sensitive Data Protection 檢查儲存空間和資料庫中的機密資料。
- 瞭解其他模式辨識解決方案。
- 如要查看更多參考架構、圖表和最佳做法,請瀏覽 Cloud Architecture Center。