《數(shù)據(jù)安全法》的頒布,讓數(shù)據(jù)安全建設(shè)進(jìn)入了有法可依、依法建設(shè)的新時代。安全法的執(zhí)行落地,需要政府、監(jiān)管、企業(yè)、安全能力提供商、社會等多方力量一起努力,同時,也需要引入先進(jìn)的技術(shù)、科學(xué)的治理方法、健全的制度流程等。其中,卓有成效的安全技術(shù)保障是關(guān)鍵。
在數(shù)據(jù)安全治理和數(shù)據(jù)全生命周期管理的框架下,需要針對數(shù)據(jù)采集、傳輸、加工、存儲、使用、刪除及銷毀等的每一個環(huán)節(jié)和步驟建立相對應(yīng)的技術(shù)應(yīng)對措施,做到量體裁衣。今天,我們重點(diǎn)關(guān)注數(shù)據(jù)在傳輸、使用等共享流通過程中的安全應(yīng)對之道——數(shù)據(jù)脫敏技術(shù)。
一、技術(shù)萌芽
數(shù)據(jù)對于企業(yè)的重要性不言而喻,企業(yè)的業(yè)務(wù)開展、決策分析、市場創(chuàng)新等都深深依賴于數(shù)據(jù)發(fā)揮價值。企業(yè)對數(shù)據(jù)資產(chǎn)的利用,既飽含了對數(shù)據(jù)價值最大化釋放的期待,又對數(shù)據(jù)流通使用的過程抱持著一種審慎態(tài)度。所以借由不斷進(jìn)化的技術(shù)來千方百計保障數(shù)據(jù)流動安全。
數(shù)據(jù)一旦流動,就會面臨身份復(fù)雜的各類接觸方,如企業(yè)內(nèi)部人員或外部人員。不同角色的崗位職責(zé)不同,允許被查看的數(shù)據(jù)范圍也就不盡相同。一旦賦予不同角色相同且大于自身所需的權(quán)限,安全隱患就隨之而來。所以,告別一刀切,對數(shù)據(jù)采用富有彈性的管理方法,才能實(shí)現(xiàn)數(shù)據(jù)安全性和數(shù)據(jù)的流通、利用對于數(shù)字經(jīng)濟(jì)的重要性之間的平衡。
怎么才算富有彈性的管理方法呢?我們先來看一個反例——對接觸方縮小或者回收部分權(quán)限。鑒于業(yè)務(wù)的復(fù)雜性,想要做到精準(zhǔn)回收權(quán)限難度非常大,一旦權(quán)限回收過激或失衡,勢必影響日常工作的開展,因此這個思路走不通。那就換個思路——在不變更接觸方權(quán)限的情況下解決數(shù)據(jù)越權(quán)訪問的難題。為了走通這條路,就需要引入我們今天即將探討的技術(shù)——數(shù)據(jù)脫敏技術(shù)。
二、技術(shù)分類
數(shù)據(jù)脫敏,顧名思義就是指對某些敏感信息通過脫敏算法進(jìn)行數(shù)據(jù)的遮蔽、變形,將敏感級別降低后對外發(fā)放,或供訪問使用,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù)。脫敏技術(shù)針對接觸方的不同權(quán)限、職責(zé)和場景,決定哪些數(shù)據(jù)以明文數(shù)據(jù)形式對其展示,哪些數(shù)據(jù)以遮蔽或變形后的形式對其展示,讓各接觸方都能恰如其分地查看和使用數(shù)據(jù),并且不會因?yàn)闄?quán)限的回收導(dǎo)致某些工作的開展受到影響。不同應(yīng)用場景,催生出靜態(tài)脫敏和動態(tài)脫敏兩種技術(shù)形態(tài),兩者部署和實(shí)現(xiàn)原理迥異,各司其職,無法替代。
● 靜態(tài)脫敏
應(yīng)用場景——生產(chǎn)數(shù)據(jù)在離開生產(chǎn)環(huán)境之前,通常是在非生產(chǎn)環(huán)境或脫離原生業(yè)務(wù)系統(tǒng)使用。
培訓(xùn)、開發(fā)測試、分析、數(shù)據(jù)共享、科學(xué)研究等非生產(chǎn)系統(tǒng)的數(shù)據(jù)庫,是靜態(tài)脫敏的典型應(yīng)用場景。靜態(tài)脫敏是將全量數(shù)據(jù)中的敏感數(shù)據(jù)進(jìn)行變形、漂白后再允許離開生產(chǎn)環(huán)境,絕大多數(shù)情況需要數(shù)據(jù)仿真技術(shù)和數(shù)據(jù)關(guān)聯(lián)技術(shù)的配合,確保脫敏后的數(shù)據(jù)在使用上達(dá)到與真實(shí)數(shù)據(jù)相同的效果。
示例:原始數(shù)據(jù)為“18612345678”,使用靜態(tài)脫敏技術(shù)變形后為“13587654321”,脫敏后的數(shù)據(jù)具備原始數(shù)據(jù)的一切特征,保障數(shù)據(jù)脫敏后的可用性和安全性。
● 動態(tài)脫敏
應(yīng)用場景——生產(chǎn)數(shù)據(jù)在生產(chǎn)環(huán)境中訪問、流轉(zhuǎn)時。
動態(tài)脫敏的目的是防止真實(shí)敏感數(shù)據(jù)被越權(quán)查看,所以絕大多數(shù)情況并不需要保持?jǐn)?shù)據(jù)特征,同時為了提升脫敏效率,滿足大規(guī)模、高并發(fā)訪問下的脫敏需求,通常使用數(shù)據(jù)遮蔽的脫敏方式。比如,當(dāng)應(yīng)用需要呈現(xiàn)數(shù)據(jù),又不希望某些應(yīng)用賬號看到全部數(shù)據(jù)的場景下,可按照不同人員的角色和權(quán)限進(jìn)行敏感數(shù)據(jù)的實(shí)時脫敏。以運(yùn)維人員為例,當(dāng)只需要他們履行維護(hù)表結(jié)構(gòu)來進(jìn)行系統(tǒng)調(diào)優(yōu)的職責(zé)時,檢索或?qū)С瞿承┟舾械恼鎸?shí)數(shù)據(jù)是不被允許的,這時候就需要動態(tài)脫敏技術(shù)的配合。
示例:原始數(shù)據(jù)為“18612345678”,使用動態(tài)脫敏技術(shù)變形后為“186******78”,脫敏后的數(shù)據(jù)可以有效防止外泄,保障數(shù)據(jù)脫敏的時效性和安全性。
接下來,本文將重點(diǎn)圍繞動態(tài)脫敏技術(shù)的一代、二代、三代演進(jìn)展開分享。
三、技術(shù)演進(jìn)
技術(shù)的進(jìn)化和演進(jìn)是靠真實(shí)的場景化需求來驅(qū)動。經(jīng)過多年IT業(yè)務(wù)環(huán)境發(fā)展變化和對技術(shù)要求的不斷提升,數(shù)據(jù)動態(tài)脫敏技術(shù)也保持著昂揚(yáng)奮進(jìn)的激情,一路迭代、進(jìn)化。
市面上的主流或者說成熟動脫技術(shù)大致分成了第一代動脫技術(shù)之“結(jié)果集改寫”;第二代動脫技術(shù)之“SQL語句改寫”這兩種類型。伴隨應(yīng)用場景和需求的復(fù)雜化,兩種技術(shù)類型又繼續(xù)衍生出四種細(xì)分技術(shù)路線(見下圖表),這四種技術(shù)路線各有優(yōu)劣,通過不斷適應(yīng)快速迭代進(jìn)化的復(fù)雜業(yè)務(wù)環(huán)境和需求場景,完成了向第三代動脫技術(shù)-混合模式動態(tài)脫敏的一步步演進(jìn)。
動態(tài)脫敏技術(shù)演進(jìn)路線圖
★ 第一代動態(tài)脫敏技
1、數(shù)據(jù)庫層動態(tài)脫敏(結(jié)果集改寫技術(shù))
最早,動態(tài)脫敏技術(shù)正是通過結(jié)果集改寫方式來實(shí)現(xiàn),此為第一代動態(tài)脫敏技術(shù)。結(jié)果集改寫技術(shù)是基于結(jié)果集解析技術(shù),在數(shù)據(jù)庫返回結(jié)果后,在脫敏設(shè)備上判斷結(jié)果集中哪些數(shù)據(jù)需要脫敏,并在設(shè)備中進(jìn)行脫敏處理的技術(shù)路線。該技術(shù)的部署方式:一般采用數(shù)據(jù)庫協(xié)議反向代理技術(shù),代理數(shù)據(jù)庫訪問請求,實(shí)現(xiàn)數(shù)據(jù)脫敏目標(biāo)。
隨著技術(shù)發(fā)展,從該技術(shù)衍生出了數(shù)據(jù)庫層脫敏路線,指結(jié)果集返回到應(yīng)用系統(tǒng)之前即進(jìn)行脫敏處理,脫敏后數(shù)據(jù)方可返回到應(yīng)用系統(tǒng)并在終端上進(jìn)行展示。
(1)優(yōu)勢
兼容性高
結(jié)果集改寫基于結(jié)果集解析技術(shù),與數(shù)據(jù)庫松耦合,理論上可以適用于任何數(shù)據(jù)庫平臺之上,兼容性極高。
模糊脫敏
當(dāng)用戶無法掌握目標(biāo)數(shù)據(jù)所在位置時,可以僅指定目標(biāo)數(shù)據(jù)類型作為脫敏目標(biāo),無論目標(biāo)數(shù)據(jù)在什么位置,只要出現(xiàn)在結(jié)果集之中即可完成脫敏,保障數(shù)據(jù)的安全性。
易用性好
無需提前配置復(fù)雜的脫敏規(guī)則,無需梳理詳細(xì)的目標(biāo)庫及表結(jié)構(gòu),只需指定待脫敏的數(shù)據(jù)類型,即可開展工作,降低用戶的學(xué)習(xí)成本和使用成本。
?。?)劣勢
效率低下
結(jié)果集改寫技術(shù)需要在脫敏設(shè)備處逐行進(jìn)行數(shù)據(jù)改寫,效率很低,且有可能成為業(yè)務(wù)流的性能瓶頸。
無法精準(zhǔn)脫敏
如果結(jié)果集中含有多個相同字段,但是脫敏需求僅限于脫敏其中某個字段,那么靠結(jié)果集改寫方式無法實(shí)現(xiàn)。
2、應(yīng)用層動態(tài)脫敏(結(jié)果集改寫技術(shù))
市場對動態(tài)脫敏的要求越來越高,需求也越來越復(fù)雜,比如要能針對應(yīng)用系統(tǒng)賬號進(jìn)行分權(quán)分角色脫敏。數(shù)據(jù)庫層的動態(tài)脫敏技術(shù)對此表現(xiàn)的力不從心,原因在于數(shù)據(jù)庫層動態(tài)脫敏是代理的數(shù)據(jù)庫協(xié)議,部署在數(shù)據(jù)庫之前,原理上無法獲取應(yīng)用系統(tǒng)賬號信息。如果想通過在應(yīng)用系統(tǒng)上安裝插件獲取登錄賬號信息并進(jìn)行回傳和聯(lián)動,又會引發(fā)到插件的穩(wěn)定性、可靠性以及對應(yīng)用服務(wù)器的資源占用等問題,導(dǎo)致用戶接受度不高,市場反響平平。
面對強(qiáng)烈的市場需求,技術(shù)的演進(jìn)勢在必行,經(jīng)過研發(fā)和驗(yàn)證,應(yīng)用層動態(tài)脫敏技術(shù)誕生了。它采用HTTP/HTTPS協(xié)議代理技術(shù),部署在應(yīng)用系統(tǒng)前,具備獲取應(yīng)用系統(tǒng)的登錄賬號信息的天然優(yōu)勢。
脫敏處理過程是在應(yīng)用系統(tǒng)獲取數(shù)據(jù)后,終端獲取數(shù)據(jù)前,可以有效實(shí)現(xiàn)根據(jù)應(yīng)用系統(tǒng)賬號進(jìn)行分權(quán)分角色的動態(tài)脫敏需求。應(yīng)用層動態(tài)脫敏技術(shù)依然是使用結(jié)果集脫敏的原理,通過對代理協(xié)議以及部署位置的改變,滿足了市場端的需求,但本質(zhì)上看它依然屬于第一代動脫的范疇。
(1)優(yōu)勢
分權(quán)脫敏
可以根據(jù)應(yīng)用系統(tǒng)賬號進(jìn)行分權(quán)限分角色的脫敏目標(biāo)。
兼容性高
兼容性高,與數(shù)據(jù)庫類型無關(guān),可應(yīng)用于采用任意數(shù)據(jù)庫類型的業(yè)務(wù)系統(tǒng)之中。
?。?)劣勢
適用范圍窄
適用范圍窄,只能解決應(yīng)用側(cè)脫敏,無法解決運(yùn)維側(cè)脫敏。
效率低下
采用結(jié)果集脫敏方式,需要針對結(jié)果逐條脫敏,效率偏低。
配置復(fù)雜
每一個頁面均需要配置策略,且每一個頁面還需要分帳號分角色配置策略,配置復(fù)雜。
實(shí)施復(fù)雜
需要調(diào)研所有目標(biāo)業(yè)務(wù)系統(tǒng)的情況和業(yè)務(wù)流,需要調(diào)研每一個頁面的URL、展示內(nèi)容、使用人員、脫敏目標(biāo)等信息,實(shí)施工作量大,實(shí)施周期長。
易用性差
配置復(fù)雜決定了用戶的學(xué)習(xí)成本和使用成本高,易用性差。
3、API層動態(tài)脫敏(結(jié)果集改寫技術(shù))
當(dāng)前出現(xiàn)了一種常見的業(yè)務(wù)模式,即多系統(tǒng)之間通過API接口進(jìn)行數(shù)據(jù)交互,這不僅增加了數(shù)據(jù)在交互過程中的外泄風(fēng)險,也帶來數(shù)據(jù)在其他業(yè)務(wù)系統(tǒng)落地后的外泄風(fēng)險,尤其是跨網(wǎng)、跨域、跨部門、跨企業(yè)的API數(shù)據(jù)交互,數(shù)據(jù)外泄風(fēng)險極高。針對此場景,市場上又衍生出了API層動態(tài)脫敏技術(shù)。這一技術(shù)依然是使用結(jié)果集脫敏的原理,屬于一代動脫技術(shù)的變種。它采用HTTP/HTTPS協(xié)議代理技術(shù),部署在應(yīng)用系統(tǒng)之間,脫敏處理過程是在應(yīng)用系統(tǒng)A獲取數(shù)據(jù)并傳輸后,應(yīng)用系統(tǒng)B獲取數(shù)據(jù)前。
?。?)優(yōu)勢
易用性好
使用簡單,確定好每個API接口的脫敏數(shù)據(jù)即可。
兼容性高
兼容性高,與數(shù)據(jù)庫類型無關(guān),可以應(yīng)用于采用任意數(shù)據(jù)庫類型的業(yè)務(wù)系統(tǒng)之中。
實(shí)施簡單
實(shí)施起來很簡單,且不容易造成風(fēng)險。
(2)劣勢
適用范圍窄
適用范圍十分有限,只能解決API脫敏,無法解決運(yùn)維側(cè)脫敏。
效率低下
采用結(jié)果集脫敏方式,需要針對結(jié)果逐條脫敏,效率偏低。
分析發(fā)現(xiàn),結(jié)果集改寫技術(shù)盡管有著適用范圍廣、兼容性高等優(yōu)勢,但隨著使用場景的多元化,其低下的效率已經(jīng)無法適應(yīng)大型業(yè)務(wù)的使用場景,脫敏廠商開始研發(fā)效率更高的脫敏技術(shù)路線并推向市場。
從上述幾種技術(shù)路線看,第一代動脫技術(shù)的最大瓶頸是效率問題。為了突破這一瓶頸,第一代動脫技術(shù)需要完成向第二代動脫技術(shù)的演進(jìn)。
★ 第二代動態(tài)脫敏技術(shù)
4、數(shù)據(jù)庫層動態(tài)脫敏(SQL語句改寫技術(shù))
SQL語句改寫技術(shù)依然是通過對數(shù)據(jù)庫協(xié)議的反向代理實(shí)現(xiàn)數(shù)據(jù)庫層的動態(tài)脫敏目標(biāo),同樣是在數(shù)據(jù)返回應(yīng)用系統(tǒng)之前進(jìn)行脫敏處理。該技術(shù)的面世解決了結(jié)果集改寫方式效率低下的難題,可以稱之為第二代動態(tài)脫敏技術(shù)。
其基于SQL語句解析技術(shù),將包含敏感字段的查詢語句進(jìn)行改寫,對敏感字段采用函數(shù)運(yùn)算的方式,讓數(shù)據(jù)庫自行返回不包含敏感數(shù)據(jù)的改寫后的結(jié)果。其運(yùn)算過程快速,與標(biāo)準(zhǔn)SQL語句執(zhí)行相差無幾,且過程執(zhí)行是在數(shù)據(jù)庫之中,脫敏設(shè)備不會成為業(yè)務(wù)的性能瓶頸。
?。?)優(yōu)勢
脫敏效率高
SQL語句改寫技術(shù)可以將動態(tài)脫敏的效率提升到極致,速度極高。
擺脫性能瓶頸
使用SQL語句改寫技術(shù)的動態(tài)脫敏對業(yè)務(wù)效率影響微弱,動態(tài)脫敏設(shè)備不會成為業(yè)務(wù)流的性能瓶頸。
針對性脫敏
當(dāng)查詢語句覆蓋了多個存儲相同數(shù)據(jù)類型的字段,且用戶只需要脫敏其中的一個字段,其他相同字段不需脫敏時,SQL改寫技術(shù)可以精確的進(jìn)行針對性脫敏。
?。?)劣勢
兼容性低
SQL語句改寫利用了數(shù)據(jù)庫自身的語言機(jī)制,與數(shù)據(jù)庫類型和語言機(jī)制緊耦合,兼容性低。
復(fù)雜語句難應(yīng)對
面對拆包語句、嵌套語句、超長語句等復(fù)雜語句時,對SQL語句改寫技術(shù)是極大挑戰(zhàn),甚至是無法解決的難題。
易用性差
SQL語句改寫技術(shù)必須梳理目標(biāo)數(shù)據(jù)庫的表結(jié)構(gòu),在配置脫敏策略時較為繁瑣,會極大的增加用戶的學(xué)習(xí)成本。
無字段信息脫敏
動態(tài)脫敏針對的是查詢語句,但很多查詢語句中并不含字段信息,會導(dǎo)致SQL改寫技術(shù)無法識別語句目標(biāo)是否包含需要脫敏的數(shù)據(jù),無法進(jìn)行脫敏。針對此場景,SQL語句改寫是有一定的應(yīng)對能力的,比如select * from user,但不含敏感字段信息的語句極多,技術(shù)上無法全部應(yīng)對,導(dǎo)致某些場景下的脫敏功能失效。
分析發(fā)現(xiàn),SQL語句改寫技術(shù)是與數(shù)據(jù)庫緊耦合,利用數(shù)據(jù)庫自身的語言機(jī)制進(jìn)行脫敏,導(dǎo)致其數(shù)據(jù)庫兼容性成為一大弱點(diǎn),且數(shù)據(jù)庫交互語言千變?nèi)f化,如何應(yīng)對各種查詢語句成為需要解決的難題和痛點(diǎn)。因此,市場需要一種既能兼顧性能,又能滿足兼容性的動脫技術(shù)。
從第二代動脫技術(shù)即SQL語句改寫技術(shù)的具體場景應(yīng)用看,需要解決的根本問題在于兼容性難題,為了突破這一瓶頸,第二代動脫技術(shù)需要完成向第三代動脫技術(shù)的演進(jìn)。
★ 第三代動態(tài)脫敏技術(shù)
5、混合模式動態(tài)脫敏
無論是第一代、第二代動脫技術(shù),還是作為不同應(yīng)用模式的四個細(xì)分技術(shù)路線,都各有優(yōu)劣,且某些場景無法互相替代,所以動脫技術(shù)的進(jìn)化方向就變得清晰起來——一種能夠兼顧兩種技術(shù)類型優(yōu)勢,覆蓋不同應(yīng)用模式的動態(tài)脫敏技術(shù)?;旌厦撁艏夹g(shù)應(yīng)運(yùn)而生,它可以同時支持結(jié)果集改寫和SQL語句改寫兩種技術(shù),可以根據(jù)需求靈活改變部署位置覆蓋四種應(yīng)用場景,我們將其稱為第三代動態(tài)脫敏技術(shù)。
第三代動脫技術(shù)兼具一二代技術(shù)的優(yōu)勢,一定程度突破了上述四種技術(shù)路線的瓶頸,由后臺智能判斷當(dāng)前場景適合哪種脫敏技術(shù),無需人工干預(yù),實(shí)現(xiàn)兼容性、高性能、適用性的最佳平衡。當(dāng)然,在某些單一場景下,第三代動脫技術(shù)依然存在第一代性能偏低的問題,但整體上是可以實(shí)現(xiàn)最佳平衡的。
?。?)優(yōu)勢
可用性強(qiáng)
混合模式動脫具備一二代動脫技術(shù)的所有優(yōu)勢,且后臺實(shí)現(xiàn)了智能判斷,無需用戶關(guān)注哪種場景適合哪種技術(shù)模式,焦點(diǎn)只需聚焦在待脫敏的目標(biāo)數(shù)據(jù)即可,幫用戶實(shí)現(xiàn)傻瓜式操作。
適用范圍廣
適用范圍極廣,可以覆蓋數(shù)據(jù)庫層、應(yīng)用層以及API層全部的脫敏場景。
脫敏智能化
不是簡單的堆疊技術(shù),而是通過底層機(jī)制實(shí)現(xiàn)智能調(diào)用不同技術(shù),無需使用者參與,達(dá)成智能化脫敏的目標(biāo)。
五大動脫技術(shù)路線對比圖
四、結(jié)語
只要需求在,技術(shù)的進(jìn)步就沒有止境。動脫技術(shù)的發(fā)展演進(jìn),就是市場在持續(xù)滿足不同用戶的多樣化數(shù)據(jù)脫敏需求場景下得以完成的。當(dāng)然,這些場景需求的滿足又都是在《數(shù)據(jù)安全法》的大語境和數(shù)據(jù)安全治理的大框架下徐徐展開的。企業(yè)數(shù)據(jù)安全建設(shè)能力的提升,必然依賴于核心技術(shù)的不斷迭代進(jìn)化和強(qiáng)勢驅(qū)動,我們相信,技術(shù)進(jìn)步永遠(yuǎn)是安全進(jìn)步的尺度。