汽車之家敏感數(shù)據(jù)治理實踐
隨著大數(shù)據(jù)時代的到來,信息安全問題備受關(guān)注,用戶對于個人隱私保護(hù)的要求越來越高。汽車之家作為國內(nèi)最大的汽車垂直門戶網(wǎng)站之一,一直致力于用戶敏感數(shù)據(jù)保護(hù)。本文介紹,汽車之家通過研發(fā)”加解密中間件-AutoProxy”,實現(xiàn)敏感數(shù)據(jù)透明加解密,完成大量的歷史存量及新增敏感數(shù)據(jù)的脫敏治理,更安全的保護(hù)用戶信息。
1. 敏感數(shù)據(jù)治理背景
1.1數(shù)據(jù)安全及合規(guī)需求
數(shù)據(jù)安全事故時有發(fā)生,國家近年出臺了《網(wǎng)絡(luò)安全法》,《個人信息保護(hù)法》,《GB/T 35273 個人信息安全規(guī)范》,《關(guān)于開展互聯(lián)網(wǎng)行業(yè)市場秩序?qū)m椪涡袆拥耐ㄖ返榷嗖繑?shù)據(jù)安全法律、法規(guī)進(jìn)行個人信息保護(hù)。
圖片
1.2數(shù)據(jù)脫敏方法
- 數(shù)據(jù)脫敏步驟
數(shù)據(jù)脫敏:敏感數(shù)據(jù)脫敏寫入/讀取需要經(jīng)過如下步驟, 敏感數(shù)據(jù)識別→敏感數(shù)據(jù)脫敏→密文存儲→解密讀取。
圖片
- 數(shù)據(jù)脫敏方案
依脫敏模塊的位置不同,可分成三種情況:1. 應(yīng)用層加解密SDK脫敏 2.中間層(API/Porxy)脫敏 3.數(shù)據(jù)庫原生脫敏。其中“中間層脫敏”可以分成API脫敏,Proxy脫敏 兩種子類; 而數(shù)據(jù)庫原生脫敏需依賴于數(shù)據(jù)庫本身的特性和函數(shù),本文不做討論。
圖片
- 數(shù)據(jù)脫敏方案對比
對常見的脫敏方案從接入成本、維護(hù)成本、支持語言、SQL兼容性、性能等維度進(jìn)行對比。
圖片
2. 之家數(shù)據(jù)脫敏現(xiàn)狀與挑戰(zhàn)
2.1之家有大量數(shù)據(jù)需要脫敏
汽車之家作為國內(nèi)最大的汽車垂直門戶網(wǎng)站,存有大量的的存量及新增敏感數(shù)據(jù)如身份證號,手機(jī)號等用戶信息等,需要脫敏(明文加密)存儲。最近三年,之家敏感數(shù)據(jù)字段新增一直是增長趨勢, 2022年涉及敏感數(shù)據(jù)的數(shù)據(jù)表列達(dá)到了1W列。
圖片
2.2之家傳統(tǒng)脫敏方法
為實現(xiàn)數(shù)據(jù)脫敏,之家提供自研API加解密接口來實現(xiàn)數(shù)據(jù)的脫敏。API脫敏方法如下圖所示。
圖片
2.3API脫敏問題與挑戰(zhàn)
傳統(tǒng)API脫敏是有侵入性,不能兼容SQL語法,數(shù)據(jù)脫敏成本較高的缺點(diǎn)。之家有大量的存量及新增敏感數(shù)據(jù)(要脫敏的敏感字段列>1W),因為安全合規(guī)需要在較短限期完成加密處理,繁重的工作量及成本是個挑戰(zhàn)。
圖片
3. 基于加解密中間件的數(shù)據(jù)脫敏實踐
為了解決上節(jié)提到的傳統(tǒng)API數(shù)據(jù)脫敏有侵入性,成本高的痛點(diǎn)問題。之家研發(fā)了基于加解密中間件“AutoProxy”的透明數(shù)據(jù)脫敏。本節(jié)主要內(nèi)容如下:
圖片
3.1面向應(yīng)用透明的中間件脫敏
透明加解密是指在不影響應(yīng)用程序的正常運(yùn)行情況下,自動對數(shù)據(jù)進(jìn)行加密和解密,不需要應(yīng)用程序編寫額外的加解密代碼。透明加解密技術(shù)用于敏感數(shù)據(jù)脫敏可以對應(yīng)用代碼無侵入,避免傳統(tǒng)API數(shù)據(jù)脫敏有侵入性,成本高的痛點(diǎn)。
圖片
3.2數(shù)據(jù)脫敏方案選型
為了節(jié)約研發(fā)成本,我們計劃選擇一款開源軟件進(jìn)行"二次開發(fā)"來滿足之家透明脫敏的需求。數(shù)據(jù)脫敏選型需要考慮的因素有脫敏功能、穩(wěn)定性、運(yùn)維成本、改造成本、生態(tài)情況等。
之家DBA團(tuán)隊調(diào)研/測試業(yè)界開源的脫敏工具,最終決定用Sharding-Proxy進(jìn)行二開來實現(xiàn)數(shù)據(jù)脫敏,Sharding-Proxy是透明化的數(shù)據(jù)庫代理,可支持自定義加解密算法,正滿足之家脫敏需求。
3.3之家脫敏系統(tǒng)架構(gòu)圖
圖片
3.4自定義加密算法
之家脫敏中間件"AutoProxy"支持MD5、AES、RC4、SM3/SM4等加密算法,同時支持自定義加解密算法。事實上為了原來的API脫敏兼容,AutoProxy使用了和原來API脫敏完全相同的自定義加密算法。
圖片
3.5功能及性能測試
新產(chǎn)品上線前需要進(jìn)行功能測試、性能測試、兼容性測試。經(jīng)性能測試對比,之家中間件"AutoProxy"脫敏的性能較原來的API加密性能提升2倍。
圖片
3.6之家脫敏自動化平臺建設(shè)
?3.6.1 脫敏平臺建設(shè)涉及工作
脫敏自動化平臺化建設(shè):主要涉及脫敏組件的安裝布署、高可用、數(shù)據(jù)脫敏處理、工單申請等,目前這些工作都已實現(xiàn)自動化,提升工作效率及服務(wù)質(zhì)量。
圖片
?3.6.2 脫敏平臺部分界面
圖片
圖片
3.7存量敏感數(shù)據(jù)脫敏
全新數(shù)據(jù)表的脫敏比較簡單,僅需要直接接入脫敏中間件”AutoProxy“就可。存量歷史數(shù)據(jù)脫敏,業(yè)務(wù)方常希望中間件可以在“不影響正常業(yè)務(wù),即原敏感表可正常讀寫的情況下完成明文敏感數(shù)據(jù)脫敏”。存量敏感數(shù)據(jù)脫敏相對較復(fù)雜,下面做一簡單步驟描述。
?存量敏感數(shù)據(jù)脫敏步驟:
- 給需要脫敏的字段,增加密文列。
- 研發(fā)申請脫敏中間件
- 業(yè)務(wù)修改DB后端地址為脫敏中間件地址(注意:此時新增數(shù)據(jù)會通過中間件的脫敏功能自動加密敏感數(shù)據(jù),并存在相應(yīng)的密文列)
- 通過工具對歷史敏感數(shù)據(jù)全部刷新 (此時表中同時存在敏感明文列和密文列)
- 脫敏中間件切換到使用密文列模式 6.原明文敏感數(shù)據(jù)列刪除。
3.8中間件AutoProxy脫敏成績
"中間件-AutoProxy"實現(xiàn)了面向應(yīng)用的透明數(shù)據(jù)脫敏,減輕了數(shù)據(jù)脫敏工作量。數(shù)據(jù)脫敏不再需要研發(fā)人員去修改業(yè)務(wù)代碼,取而代之的僅需修改DB地址為脫敏中間件地址,并提相應(yīng)的脫敏自動化工單。利用AutoProxy的助力,22年之家完成了近1W張敏感數(shù)據(jù)表的脫敏,實現(xiàn)了之家敏感信息全部密文存儲,更安全的保護(hù)了之家用戶信息。
4. 結(jié)語
本文介紹了敏感數(shù)據(jù)脫敏背景及常見技術(shù)。重點(diǎn)對汽車之家敏感數(shù)據(jù)治理實踐進(jìn)行闡述:之家原來使用API脫敏,存在脫敏成本較高的缺點(diǎn)。為此之家數(shù)據(jù)庫團(tuán)隊新研發(fā)“脫敏中間件-AutoProxy”來進(jìn)行數(shù)據(jù)脫敏。AutoProxy具有面向透明化數(shù)據(jù)脫敏,SQL語法兼容、支持自定義加密、性能優(yōu)良等優(yōu)點(diǎn),利用AutoProxy的助力,22年之家完成了近1W張敏感數(shù)據(jù)表的脫敏。
未來之家將繼續(xù)進(jìn)行“脫敏系統(tǒng)平臺”建設(shè),在敏感數(shù)據(jù)表自動化識別,AutoProxy容器化等方向進(jìn)行嘗試。
作者簡介
圖片
陶會祥
■ 云平臺部-云平臺部-技術(shù)保障團(tuán)隊-數(shù)據(jù)庫組
■ 2020 年加入汽車之家,C端及中臺產(chǎn)研中心-云平臺部,負(fù)責(zé)之家數(shù)據(jù)庫/緩存的運(yùn)維及RDS產(chǎn)品研發(fā)工作,致力于為公司提供安全,穩(wěn)定,可靠的數(shù)據(jù)庫/緩存服務(wù)。