美團資料倉儲 資料脫敏

2021-08-19 06:45:51 字數 2728 閱讀 8478

在資料倉儲建設過程中,資料安全扮演著重要角色,因為隱私或敏感資料的洩露,會對資料主體(客戶,員工和公司)的財產、名譽、人身安全、以及合法利益造成嚴重損害。因此我們需要嚴格控制對倉庫中的資料訪問,即什麼樣的人員或者需求才可以訪問到相關的資料。這就要求對資料本身的敏感程度進行安全級別劃分。資料有了安全等級的劃分,才能更好管理對資料訪問控制,以此來保護好資料安全。

舉個例子簡單的說明下,例如我們倉庫中有一張關於註冊使用者的基本資訊表user,其中有手機號mobile,暱稱username兩個字段。我們在劃分資料安全層級的時,將使用者mobile的安全等級劃分為l2要高於username的等級l1,並規定只有訪問許可權達到l2的運營部門才能訪問mobile欄位。這樣在公司各個部門需要訪問註冊使用者基本資訊表user時,我們只需檢查訪問者是否來自運營部門,如果是運營部可以訪問mobile,如果不是只能訪問username資訊了。這樣就有效的防止使用者手機號被不相關工作人員洩露出去,同時也不影響查詢使用者username的需求。

但是往往在實際生產過程中,應用場景會更加複雜,僅靠類似這樣的訪問控制,滿足不了生產的需要,還需要結合其它的途徑,而資料脫敏就是一種有效的方式,既能滿足日常生產的需要,又能保護資料安全。

資料脫敏,具體指對某些敏感資訊通過脫敏規則進行資料的變形,實現敏感隱私資料的可靠保護。這樣可以使資料本身的安全等級降級,就可以在開發、測試和其它非生產環境以及外包或雲計算環境中安全地使用脫敏後的真實資料集。借助資料脫敏技術,遮蔽敏感資訊,並使遮蔽的資訊保留其原始資料格式和屬性,以確保應用程式可在使用脫敏資料的開發與測試過程中正常執行。

在資料脫敏進行之前,我們首先要確定哪些資料要作為脫敏的目標。我們根據美團特有的業務場景和資料安全級別劃分(絕密、高保密、保密、可公開,四個級別), 主要從「高保密」等級的敏感資料,開始進行梳理。

這裡我們把敏感資料分成四個維度進行梳理,使用者、商家、終端、公司。

從商家維度進行梳理:合同簽訂人,合同簽訂人**等(不排除全域性敏感資料:如商家**品類等)

從使用者終端維度進行梳理:能夠可能標識終端的唯一性字段,如裝置id。

從公司角度進行梳理:交易金額、代金卷密碼、充值碼等

梳理出了敏感資料字段,我們接下來的工作就是如何根據特定的應用場景對敏感字段實施具體的脫敏處理方法。

常見的處理方法如下幾種有:

替換:如統一將女性使用者名稱替換為f,這種方法更像「障眼法」,對內部人員可以完全保持資訊完整性,但易破解。

重排:序號12345重排為54321,按照一定的順序進行打亂,很像「替換」, 可以在需要時方便還原資訊,但同樣易破解。

加密:編號12345加密為23456,安全程度取決於採用哪種加密演算法,一般根據實際情況而定。

截斷:13811001111截斷為138,捨棄必要資訊來保證資料的模糊性,是比較常用的脫敏方法,但往往對生產不夠友好。

掩碼: 123456 -> 1***x6,保留了部分資訊,並且保證了資訊的長度不變性,對資訊持有者更易辨別, 如火車票上得身份資訊。

日期偏移取整:20130520 12:30:45 -> 20130520 12:00:00,捨棄精度來保證原始資料的安全性,一般此種方法可以保護資料的時間分布密度。

因此從實際出發遵循上面的兩個處理原則,第一階段我們在脫敏工具集中,確定了如下4種基本型別的脫敏方案(對應4個udf):

欄位名稱

脫敏方法

舉例 脫敏原則

**號碼(moblie)

掩碼13812345678-> 13812340000

防止號碼洩露,但保留運營商和地區資訊 (唯一性,由前端繫結或者註冊時約束)

郵件(email)

截斷+ 加密

[email protected] -> [email protected]

保留郵件域資訊

**密碼(code)

加密4023926843399219 -> 1298078978

加密後在一定精度上保持唯一性,並與資料型別一致

裝置號(deviceid)

加密ffbacff42826302d9e832b7e907a212a -> b9c2a61972a19bf21b06b0ddb8ba642d

加密後保持唯一性

通過上面欄位的梳理和脫敏方案的制定,我們對美團資料倉儲中涉及到得敏感欄位的表進行脫敏處理。在資料倉儲分層理論中,資料脫敏往往發生在上層,最直接的是在對外開放這一層面上。在實際應用中,我們既要參考分層理論,又要從美團現有資料倉儲生產環境的體系出發,主要在資料維度層(dim),以及基礎服務資料層(fact)上實施脫敏。這樣,我們可以在下游相關資料包表以及衍生資料層的開發過程中使用脫敏後的資料,從而避免出現資料安全問題。

確認處理的表和字段後,我們還要確保相關上下游流程的正常執行, 以及未脫敏的敏感資訊的正常產出與儲存(通過更嚴格的安全審核來進行訪問)。

以使用者資訊表user為例,脫敏步驟如下:

1.首先生產乙份ndm_user未脫敏資料,用於未脫敏資料的正常產出。

2.對下游涉及的所有依賴user生產流程進行修改,來確保脫敏後的正常執行,這裡主要是確認資料格式,以及資料來源的工作。

3.根據對應的脫敏方法對user表中對應的字段進行脫敏處理。

通過上面的幾個步驟的實施,我們完成了第一階段的資料脫敏工作。在資料脫敏方案設計與實施過程中, 我們覺得更重要的還是從特定的應用場景出發進行整體設計,兼顧了資料倉儲建設這一重要考量維度。資料脫敏實施為公司資料安全的推進,提供了有力支援。當然,我們第一階段脫敏的工具集還相對較少,需要補充。 脫敏的技術架構還有待完善和更加自動化。

本文關於資料安全和資料訪問隔離的控制闡述較少,希望通過以後的生產實踐,繼續為大家介紹。

美團資料倉儲的演進

shdiao 2013 12 05 20 44 美團資料倉儲,在過去的兩年中,與我們的業務一起高速發展。在這一演進過程中,有很多值得總結和沉澱的內容。這篇文件回顧下美團資料倉儲這兩年發展過程中遇到的各種問題,為什麼選擇了現在的技術方案,每乙個功能和模組是在什麼情況下產生的,解決的是什麼問題,中間有過...

美團資料倉儲的演進

美團資料倉儲,在過去的兩年中,與我們的業務一起高速發展。在這一演進過程中,有很多值得總結和沉澱的內容。這篇文件回顧下美團資料倉儲這兩年發展過程中遇到的各種問題,為什麼選擇了現在的技術方案,每乙個功能和模組是在什麼情況下產生的,解決的是什麼問題,中間有過哪些彎路。既可以作為大家熟悉美團資料倉儲構建過程...

美團資料倉儲的演進

shdiao 2013 12 05 20 44 美團資料倉儲,在過去的兩年中,與我們的業務一起高速發展。在這一演進過程中,有很多值得總結和沉澱的內容。這篇文件回顧下美團資料倉儲這兩年發展過程中遇到的各種問題,為什麼選擇了現在的技術方案,每乙個功能和模組是在什麼情況下產生的,解決的是什麼問題,中間有過...