背景與目標
在數(shù)據(jù)倉庫建設(shè)過程中,數(shù)據(jù)安全扮演著重要角色,因為隱私或敏感數(shù)據(jù)的泄露械巡,會對數(shù)據(jù)主體(客戶乳怎,員工和公司)的財產(chǎn)、名譽察滑、人身安全打厘、以及合法利益造成嚴重損害。因此我們需要嚴格控制對倉庫中的數(shù)據(jù)訪問贺辰,即什么樣的人員或者需求才可以訪問到相關(guān)的數(shù)據(jù)户盯。這就要求對數(shù)據(jù)本身的敏感程度進行安全級別劃分。數(shù)據(jù)有了安全等級的劃分饲化,才能更好管理對數(shù)據(jù)訪問控制莽鸭,以此來保護好數(shù)據(jù)安全。舉個例子簡單的說明下吃靠,例如我們倉庫中有一張關(guān)于注冊用戶的基本信息表User硫眨,其中有手機號mobile,昵稱username兩個字段巢块。我們在劃分數(shù)據(jù)安全層級的時礁阁,將用戶mobile的安全等級劃分為L2要高于username的等級L1巧号,并規(guī)定只有訪問權(quán)限達到L2的運營部門才能訪問mobile字段。這樣在公司各個部門需要訪問注冊用戶基本信息表User時姥闭,我們只需檢查訪問者是否來自運營部門丹鸿,如果是運營部可以訪問mobile,如果不是只能訪問username信息了棚品。這樣就有效的防止用戶手機號被不相關(guān)工作人員泄露出去靠欢,同時也不影響查詢用戶username的需求。但是往往在實際生產(chǎn)過程中南片,應(yīng)用場景會更加復(fù)雜掺涛,僅靠類似這樣的訪問控制,滿足不了生產(chǎn)的需要疼进,還需要結(jié)合其它的途徑薪缆,而數(shù)據(jù)脫敏就是一種有效的方式,既能滿足日常生產(chǎn)的需要伞广,又能保護數(shù)據(jù)安全拣帽。數(shù)據(jù)脫敏,具體指對某些敏感信息通過脫敏規(guī)則進行數(shù)據(jù)的變形嚼锄,實現(xiàn)敏感隱私數(shù)據(jù)的可靠保護减拭。這樣可以使數(shù)據(jù)本身的安全等級降級,就可以在開發(fā)区丑、測試和其它非生產(chǎn)環(huán)境以及外包或云計算環(huán)境中安全地使用脫敏后的真實數(shù)據(jù)集拧粪。借助數(shù)據(jù)脫敏技術(shù),屏蔽敏感信息沧侥,并使屏蔽的信息保留其原始數(shù)據(jù)格式和屬性可霎,以確保應(yīng)用程序可在使用脫敏數(shù)據(jù)的開發(fā)與測試過程中正常運行。
敏感數(shù)據(jù)梳理
在數(shù)據(jù)脫敏進行之前宴杀,我們首先要確定哪些數(shù)據(jù)要作為脫敏的目標癣朗。我們根據(jù)美團特有的業(yè)務(wù)場景和數(shù)據(jù)安全級別劃分(絕密、高保密旺罢、保密旷余、可公開,四個級別)扁达, 主要從“高保密”等級的敏感數(shù)據(jù)正卧,開始進行梳理。這里我們把敏感數(shù)據(jù)分成四個維度進行梳理罩驻,用戶穗酥、商家、終端、公司砾跃。
- 從用戶維度進行梳理可能有這些敏感字段如下:手機號碼骏啰、郵件地址、賬號抽高、地址判耕、固定電話號碼等信息(此外個人隱私數(shù)據(jù)相關(guān)還有如:種族、政治觀點翘骂、宗教信仰壁熄、基因等)
- 從商家維度進行梳理:合同簽訂人,合同簽訂人電話等(不排除全局敏感數(shù)據(jù):如商家團購品類等)
- 從用戶終端維度進行梳理:能夠可能標識終端的唯一性字段碳竟,如設(shè)備id草丧。
- 從公司角度進行梳理:交易金額、代金卷密碼莹桅、充值碼等
確定脫敏處理方法
梳理出了敏感數(shù)據(jù)字段昌执,我們接下來的工作就是如何根據(jù)特定的應(yīng)用場景對敏感字段實施具體的脫敏處理方法。常見的處理方法如下幾種有:
- 替換:如統(tǒng)一將女性用戶名替換為F诈泼,這種方法更像“障眼法”懂拾,對內(nèi)部人員可以完全保持信息完整性,但易破解铐达。
- 重排:序號12345重排為54321岖赋,按照一定的順序進行打亂,很像“替換”瓮孙, 可以在需要時方便還原信息唐断,但同樣易破解。
- 加密:編號12345加密為23456杭抠,安全程度取決于采用哪種加密算法栗涂,一般根據(jù)實際情況而定。
- 截斷:13811001111截斷為138祈争,舍棄必要信息來保證數(shù)據(jù)的模糊性,是比較常用的脫敏方法角寸,但往往對生產(chǎn)不夠友好菩混。
- 掩碼: 123456 -> 1xxxx6,保留了部分信息扁藕,并且保證了信息的長度不變性沮峡,對信息持有者更易辨別, 如火車票上得身份信息亿柑。
- 日期偏移取整:20130520 12:30:45 -> 20130520 12:00:00邢疙,舍棄精度來保證原始數(shù)據(jù)的安全性,一般此種方法可以保護數(shù)據(jù)的時間分布密度。
但不管哪種手段都要基于不同的應(yīng)用場景疟游,遵循下面兩個原則:
1.remain meaningful for application logic(盡可能的為脫敏后的應(yīng)用,保留脫敏前的有意義信息)
2.sufficiently treated to avoid reverse engineer(最大程度上防止黑客進行破解)
以這次脫敏一個需求為例:美團一般的業(yè)務(wù)場景是這樣的呼畸,用戶在網(wǎng)站上付款一筆團購單之后,我們會將團購密碼颁虐,發(fā)到用戶對應(yīng)的手機號上蛮原。這個過程中,從用戶的角度來看團購密碼在未被用戶消費之前另绩,對用戶來說是要保密的儒陨,不能被公開的,其次美團用戶的手機號也是要保密的笋籽,因為公開之后可能被推送一些垃圾信息蹦漠,或者更嚴重的危害。從公司內(nèi)部數(shù)據(jù)分析人員來看车海,他們有時雖然沒有權(quán)限知道用戶團購密碼笛园,但是他們想分析公司發(fā)送的團購密碼數(shù)量情況,這是安全允許容劳;再有數(shù)據(jù)分析人員雖然沒有權(quán)限知道用戶具體的手機號碼喘沿,但是他們需要統(tǒng)計美團用戶手機的地區(qū)分布情況,或者運營商分布差異竭贩,進而為更上層的決策提供支持蚜印。根據(jù)這樣的需求,我們可以對團購密碼做加密處理保證其唯一性留量,也保留其原有的數(shù)據(jù)格式窄赋,在保密的同時不影響數(shù)據(jù)分析的需求。同樣楼熄,我們將用戶的手機號碼的前7位忆绰,關(guān)于運營商和地區(qū)位置信息保留,后四位進行模糊化處理可岂。這樣同樣也達到了保護和不影響統(tǒng)計的需求错敢。
因此從實際出發(fā)遵循上面的兩個處理原則,第一階段我們在脫敏工具集中缕粹,確定了如下4種基本類型的脫敏方案(對應(yīng)4個udf):
字段名稱 | 脫敏方法 | 舉例 | 脫敏原則 |
---|---|---|---|
電話號碼(moblie) | 掩碼 | 13812345678-> 13812340000 | 防止號碼泄露稚茅,但保留運營商和地區(qū)信息 (唯一性,由前端綁定或者注冊時約束) |
郵件(email) | 截斷+ 加密 | hxs@163.com -> 6225888e3a1d4a139f5f5db98d846102b2cd0d@163.com | 保留郵件域信息 |
團購密碼(code) | 加密 | 4023926843399219 -> 1298078978 | 加密后在一定精度上保持唯一性平斩,并與數(shù)據(jù)類型一致 |
設(shè)備號(deviceid) | 加密 | ffbacff42826302d9e832b7e907a212a -> b9c2a61972a19bf21b06b0ddb8ba642d | 加密后保持唯一性 |
確定實施范圍與步驟
通過上面字段的梳理和脫敏方案的制定亚享,我們對美團數(shù)據(jù)倉庫中涉及到得敏感字段的表進行脫敏處理。在數(shù)據(jù)倉庫分層理論中绘面,數(shù)據(jù)脫敏往往發(fā)生在上層欺税,最直接的是在對外開放這一層面上侈沪。在實際應(yīng)用中,我們既要參考分層理論晚凿,又要從美團現(xiàn)有數(shù)據(jù)倉庫生產(chǎn)環(huán)境的體系出發(fā)亭罪,主要在數(shù)據(jù)維度層(dim),以及基礎(chǔ)服務(wù)數(shù)據(jù)層(fact)上實施脫敏晃虫。這樣皆撩,我們可以在下游相關(guān)數(shù)據(jù)報表以及衍生數(shù)據(jù)層的開發(fā)過程中使用脫敏后的數(shù)據(jù),從而避免出現(xiàn)數(shù)據(jù)安全問題哲银。確認處理的表和字段后扛吞,我們還要確保相關(guān)上下游流程的正常運行, 以及未脫敏的敏感信息的正常產(chǎn)出與存儲(通過更嚴格的安全審核來進行訪問)。以用戶信息表user為例荆责,脫敏步驟如下:
1.首先生產(chǎn)一份ndm_user未脫敏數(shù)據(jù)滥比,用于未脫敏數(shù)據(jù)的正常產(chǎn)出。
2.對下游涉及的所有依賴user生產(chǎn)流程進行修改做院,來確保脫敏后的正常運行盲泛,這里主要是確認數(shù)據(jù)格式,以及數(shù)據(jù)源的工作键耕。
3.根據(jù)對應(yīng)的脫敏方法對user表中對應(yīng)的字段進行脫敏處理寺滚。
總結(jié)
通過上面的幾個步驟的實施,我們完成了第一階段的數(shù)據(jù)脫敏工作屈雄。在數(shù)據(jù)脫敏方案設(shè)計與實施過程中村视, 我們覺得更重要的還是從特定的應(yīng)用場景出發(fā)進行整體設(shè)計,兼顧了數(shù)據(jù)倉庫建設(shè)這一重要考量維度酒奶。數(shù)據(jù)脫敏實施為公司數(shù)據(jù)安全的推進蚁孔,提供了有力支持。當然惋嚎,我們第一階段脫敏的工具集還相對較少杠氢,需要補充。 脫敏的技術(shù)架構(gòu)還有待完善和更加自動化另伍。本文關(guān)于數(shù)據(jù)安全和數(shù)據(jù)訪問隔離的控制闡述較少鼻百,希望通過以后的生產(chǎn)實踐,繼續(xù)為大家介紹摆尝。
參考文獻如下:
https://tech.meituan.com/data-mask.html
http://en.wikipedia.org/wiki/Data_masking
http://www.prnews.cn/press_release/51034.htm