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