本文說明如何使用 Sensitive Data Protection 建立自動化資料轉換管道,以便將個人識別資訊 (PII) 等機密資料去識別化。此外,Cloud DLP 也提供權杖化 (匿名化) 等去識別化功能,可協助您對原始的機密識別資訊進行模糊處理,藉此降低資料處理風險,同時保留資料的實用性,方便您執行資料彙整或分析作業。為盡量降低處理大量機密資料的風險,您可以建立自動化資料轉換管道,以便建立去識別化副本。Sensitive Data Protection 可執行遮蓋、遮蔽、代碼化、特徵分塊等轉換,以及其他去識別化方法。如果資料集尚未分類,Sensitive Data Protection 也可以使用超過 100 個內建分類器檢查資料中的機密資訊。
本文適用於負責資料安全、資料處理或資料分析的技術人員。本指南假設您熟悉資料處理和資料隱私權,但不必是專家。
參考架構
下圖顯示參考架構,說明如何使用Google Cloud 產品,透過去識別化技術為機密資料集新增安全層。
此架構包含下列項目:
資料去識別化串流管道:使用 Dataflow 將文字中的機密資料去識別化。您可以重複使用管道,進行多項轉換和用途。
設定 (私密資料保護範本和金鑰) 管理:受管理的去識別化設定,只有少數人 (例如安全性管理員) 可以存取,避免去識別化方法和加密金鑰外洩。
資料驗證和重新識別管道:驗證去識別化資料的副本,並使用 Dataflow 管道大規模重新識別資料。
協助保護機密資料
確保使用者和員工的資料安全,是所有企業的重要任務之一。 Google Cloud 提供內建安全防護措施,包括儲存資料加密和傳輸中資料加密,有助於確保資料安全。
靜態資料加密:Cloud Storage
對大多數機構而言,維護資料安全至關重要。即使是中度機密資料遭到未經授權的存取,也可能損害您與顧客之間的信任、關係和信譽。Google 預設會加密儲存的靜態資料。根據預設,上傳至 Cloud Storage 值區的任何物件都會使用 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
的欄位中使用 infoTypeTransformations
方法,在欄位中的文字內找到 US_SOCIAL_SECURITY_NUMBER
的任何發現項目,並透過 recordTransformations
方法將這些項目遮蓋。
去識別化程序按複雜程度排序如下:
- 遮蓋:移除機密內容,但不取代內容。
- 遮蔽:將私密內容替換為固定字元。
- 加密:將機密內容替換為加密字串,可能可逆。
使用分隔符號分隔的資料
通常,資料是由以所選字元分隔的記錄組成,且每個資料欄都有固定類型,例如 CSV 檔案。對於這類資料,您可以直接套用去識別化轉換 (recordTransformations
),不必檢查資料。舉例來說,標示為 SSN
的資料欄應只包含 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 檔案的資料集,如下表所示。
資料欄名稱 | 檢查 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,因為 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 架構中心。