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