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