1、金融行業全密態數據庫研究報告北京金融科技產業聯盟2022 年 12 月版權聲明本報告版權屬于北京金融科技產業聯盟,并受法律保護。轉載、編摘或利用其他方式使用本白皮書文字或觀點的,應注明來源。違反上述聲明者,將被追究相關法律責任。編制委員會主編潘潤紅編委會成員郭志軍聶麗琴林承軍編寫組成員(按姓氏拼音排序)曹健馮程郭亮江智睿彭衛華蘇強汪晟王栩王楓楊銳趙瓊主審黃本濤統稿張蕾參編單位:交通銀行股份有限公司、中國工商銀行股份有限公司、北京金融科技產業聯盟、華為技術有限公司、阿里云計算有限公司、騰訊云計算(北京)有限責任公司、百度云計算技術(北京)有限公司、北京奧星貝斯科技有限公司目 錄目 錄一、研究背景
2、.1 1二、主流安全技術.3 3(一)訪問控制.4 4(二)全鏈路加密.7 7(三)數據脫敏.1616(四)數據庫審計.1919(五)數據庫防火墻.2222(六)數據庫漏洞掃描.2525三、全密態數據庫技術.2626(一)硬件全密態技術.2626(二)軟件全密態技術.2626(三)其他相關技術.2626四、產品現狀與應用場景.3030(一)產品現狀.2626(二)應用場景.2626五、應用挑戰與應對.3333(一)保障密態計算機制的安全性.2626(二)實現業務的無縫遷移或輕量化遷移.2626(三)避免服務切換帶來的性能損耗.2626六、研究情況總結.34341一、研究背景數據庫是數據存儲的主
3、要技術手段,數據庫系統在整個IT 架構中的重要地位不言而喻。攻擊數據庫,竊取信息是當今信息系統的一個主要安全問題。數據泄露或被篡改等安全事件對企業和組織帶來的損失將是多方面的,既有可量化的經濟損失,也有不可量化的品牌信譽和業務影響。因此,確保數據庫安全越來越重要。數據庫安全,是指以保護數據庫系統、數據庫服務器和數據庫中的數據、應用、存儲,以及相關網絡連接為目的,是防止數據庫系統及其數據遭到泄露、篡改或破壞的安全技術。與傳統的網絡安全防護體系不同,數據庫安全技術更加注重從客戶內部的角度做安全,即信息安全。其內涵包括了保密性、完整性和可用性,即所謂的 CIA(Confidentiality,Int
4、egrity,Availability)三個方面。機密性專指受保護數據只可以被合法的(或預期的)用戶可訪問,其主要實現手段包括數據的訪問控制、數據加密和密鑰管理等手段;完整性是保證只有合法的(或預期的)用戶才能修改數據,主要通過訪問控制來實現,同時在數據的傳輸和存儲中可以通過校驗算法來保證用戶數據的完整性;可用性主要體現在整體的安全能力、容災能力、可靠度,以及各個相關系統(存儲系統、網絡通路、身份驗證機制和權限校驗機制等等)的正常工作保障。事實上,數據庫經過長期發展已經構建出體系化的安全2能力,同時許多專業化的評估測試機構也在幫助數據庫廠商挖掘產品缺陷,加速完善數據庫安全能力的構建,并出具專業
5、化評估報告,作為第三方背書讓用戶“信得過”。這些成熟的安全技術手段,構建了數據庫縱深防御的安全體系,保障數據庫在應用中的安全。由于云數據庫服務的應用便捷性、高可靠、低成本等優勢可降低企業運營成本,加速企業應用創新,云數據庫已成為數據庫業務未來重要的增長點。但無論是傳統的線下數據庫服務,還是日益增長的云數據庫服務,數據庫的核心任務都是幫助用戶存儲和管理數據,且在復雜多樣的環境下保證數據不丟失、隱私不泄露、數據不被篡改以及服務不中斷。這就要求面向開放市場的云數據庫具備多層次的安全防御機制,以面對相較于傳統數據庫更加多樣化、復雜化的風險。應用程序漏洞、系統配置錯誤還是惡意管理員都可能對數據安全與隱私
6、保護造成巨大風險。云數據庫的部署網絡由“私有環境”向“開放環境”轉變,系統運維管理角色被拆分為業務管理員和運維管理員。業務管理員擁有業務管理的權限,屬于企業業務方,而運維管理員屬于云服務提供商。數據庫運維管理員雖然被定義成系統運維管理,其實際依舊享有對數據的完全使用權限,可通過運維管理權限或提權來訪問數據甚至篡改數據。同時,由于開放式的環境和網絡邊界的模糊化,用戶數據在整個業務流程中被更充分地暴露給攻擊者,無論是傳輸、存儲、運維還是運行態,都有可能遭受來自攻擊者的攻擊。3面對越來越復雜的云環境,我們需要一種能夠徹底解決數據全生命周期隱私保護的系統性解決方案。事實上,近年來學術界以及工業界陸續提
7、出了許多創新思路。其一是數據離開客戶端時,在用戶側對數據進行加密,且不影響服務端的檢索與計算,從而實現敏感數據保護。此時即便數據庫管理員也無法接觸到用戶側的密鑰,進而無法獲取明文數據。這一思路被稱為密態數據庫解決方案,或全加密數據庫解決方案。正如密態數據庫定義所描述的那樣,密態數據庫的核心任務是保護數據全生命周期安全并實現基于密文數據的檢索計算。在加密算法足夠安全的情況下,外部攻擊者及內部管理員均無法獲取有效的數據信息。二、主流安全技術介紹目前,主流數據庫安全技術包括權限與訪問控制、全鏈路加密、數據脫敏、數據庫審計、數據庫漏洞掃描和數據庫防火墻。目前國內分布式數據庫產品基本具備這些安全特性。權
8、限與訪問控制是利用授權和鑒權的方法來控制數據庫用戶對授權數據的訪問。在權限分配的過程中,應遵循最小權限原則,實現細粒度的訪問控制,從而提升數據資源的完整性和資源訪問的安全性,實現訪問控制過程的動態管理?!叭溌贰敝傅氖菙祿趥鬏?、計算,存儲的過程,而“全鏈路加密”指的是端到端的數據加密保護能力,即從應用系統到數據庫的傳輸過程、到數據在應用運行時的計算過程(使用/交換),和到數據最終被持久化落盤的存儲過程4中的加密能力。數據脫敏是一種采用專門的脫敏算法對敏感數據進行變形、屏蔽、替換、隨機化、加密,并將敏感數據轉化為虛構數據的技術。按照作用位置、實現原理不同,數據脫敏可以劃分為靜態數據脫敏(Sta
9、tic Data Masking,SDM)和動態數據脫敏(Dynamic Data Masking,DDM)。數據庫審計能夠實時記錄數據庫的活動,對數據庫操作進行細粒度審計。除此之外,數據庫審計還應能對數據庫遭受到的風險行為進行告警,如:數據庫漏洞攻擊、SQL 注入攻擊、高危風險操作等。數據庫審計信息生成可以由數據庫內核提供,也可通過旁路部署,通過鏡像流量或探針的方式采集流量,并基于語法語義的解析技術提取出 SQL 中相關的要素(用戶、SQL 操作、表、字段等)進而實時記錄來自各個層面的所有數據庫活動。數據庫漏洞掃描是專門對數據庫系統進行自動化安全評估的專業技術,通過數據庫漏洞掃描能夠有效的評
10、估數據庫系統的安全漏洞和威脅并提供修復建議。數據庫防火墻系統是針對應用側異常數據訪問的數據庫安全策略。一般采用主動防御機制,通過學習期行為建模,預定義風險策略;并結合數據庫虛擬補丁、注入規則和應用關聯防護機制,實現數據庫的訪問行為控制、高危風險阻斷和可疑行為審計。(一)訪問控制(一)訪問控制訪問控制,就是通過某種途徑顯式地允許或者限制訪問5能力及范圍,以限制對關鍵資源的訪問,防止非法用戶的侵入或合法用戶的不慎操作所造成的破壞。采用可靠的訪問控制機制是數據庫系統安全的必要保證。目前主流的訪問控制技術包括自主訪問控制,強制訪問控制,和基于角色的訪問控制。項目所選數據庫很好的支持了自主訪問控制、基于
11、角色的訪問控制,以及基于安全標記的細粒度訪問控制能力,防止越權訪問和信息泄漏。1.基于角色的訪問控制1.基于角色的訪問控制隨著數據庫結構的日益復雜,規模增大,用戶增多,傳統訪問控制技術存在的問題越來越突出,權限的分配和管理很困難。如圖 1 所示,基于角色的訪問控制應運而生。其基本思想是授權和角色相聯系,擁有某角色的用戶可以獲得該角色對應的權限。角色可以根據組合中不同的工作創建,再根據用戶的職責和資格來分配。用戶可以輕松的進行角色轉換。圖 1 基于角色的訪問控制圖 1 基于角色的訪問控制2.基于權限的訪問控制2.基于權限的訪問控制包括五個基本的靜態集合:用戶集,角色集,對象集,操作集和權限集。如
12、圖一,用戶集是可以執行操作的用戶;對象集是被動實體,包括系統中需要保護的信息;操作集是用戶角色操作對象會話用戶分配特權分配用戶登錄激活/去活角色權限6定義在對象上的一組操作;對象上的一組操作構成了一個權限集;角色集是基于權限的訪問控制的核心,是角色成員授予的職責和責任,通過用戶分配和權限分配將用戶和特權關聯起來。這樣,用戶的大幅增加不會導致權限管理強度的大幅提高,只需根據工作需要設立和調整角色及其擁有的權限,并將用戶加入相應的角色即可。分布式數據庫系統應獨立支持基于角色的訪問控制方式,簡化權限控制的復雜度。3.安全標記及強制訪問控制3.安全標記及強制訪問控制圖 2 行安全標記的處理流程圖 2
13、行安全標記的處理流程不論是自主訪問控制,還是基于角色的訪問控制,都是通過授予主體對客體的訪問權限,進行訪問控制,通??腕w是一個對象。但是,有時候這種訪問控制無法滿足更高層次的安全需求。例如,對一個對象的某一部分的訪問控制。因此,開發實現基于行標簽的安全標記方法是十分必要的,如7圖 2 所示,利用安全標記控制某用戶只有對某表內的某些行具有訪問限,無法訪問其他行數據,實現了更高級別的數據權限管理。4.權力分立4.權力分立為了避免管理員權限的過于集中,數據庫系統應能夠更細致的對權限進行細分。參照行政、立法、司法三權分立的原則,可以設立數據庫的三權分立如圖 3 所示。區分管理員角色分別為系統管理員,安
14、全管理員和審計管理員。分別完成數據庫系統管理,安全規則/審計規則的創建和管理,以及數據庫審計等功能。權限角色基于租戶內置,不可刪,不可改,避免系統管理員權限過于集中。圖 3 權力分立圖 3 權力分立另外,為了強化用戶管理,符合信息系統等級保護的要求。數據庫系統應具有對用戶密碼的復雜度控制、失效控制,以及對用戶身份檢查能力進行優化,防止惡意的密碼攻擊,進一步提升數據庫的安全性。(二)全鏈路加密(二)全鏈路加密81.傳輸加密1.傳輸加密典型的分布式關系型數據庫,從產品架構層面可以分為以下三個基本部分,如圖 4 所示:圖 4 典型分布式數據庫產品架構圖 4 典型分布式數據庫產品架構數據庫層:由若干個
15、分布式數據庫服務節點組成。包含SQL 引擎、存儲引擎和分布式事務引擎,共同配合提供一個高可用、可擴展的分布式關系型數據庫系統。數據鏈路層:提供從用戶端到數據庫端的最佳鏈路訪問功能,屏蔽用戶對分布式數據庫的感知,保障分布式數據庫的最高性能服務。驅動層:直接面向用戶和應用程序,提供訪問分布式數據庫的通信能力。主要組件應包括數據庫客戶端、jdbc 驅9動、odbc 驅動等。加密方法??蛻舳撕蛿祿於说耐ㄐ艆f議一般采用SSL/TLS 協議,該方面本身相對成熟。部分國內分布式數據庫產品支持在不同租戶里每個用戶可采用不同的 SSL 認證機制,包括:SSL 單向認證,X509 雙向認證,以及特殊的雙向認證,
16、如指定加密算法認證,指定發行方認證、指定 SSL 主題認證等。用戶可以通過 MySQL 兼容的語法進行設置。秘鑰管理。數據庫層的數據庫服務節點、數據鏈路層和驅動層都需要使用 SSL 依賴的秘鑰文件(私鑰/公鑰/證書)。數據庫層和數據鏈路層的秘鑰管理提供三種方式:秘鑰文件本地存放。密鑰產生:數據庫層面不負責 CA頒發機構的建設,依賴外部認證的 CA 頒發中心。密鑰存放:密鑰被明文存儲在數據庫節點服務器端/代理端程序所在目錄,服務器端/代理端啟動時讀取秘鑰文件開啟 SSL。密鑰更新:人工將新的秘鑰文件覆蓋原文件進行更新。密鑰生效:重啟單個數據庫節點服務器端/代理端進程后,即刻生效。整個分布式數據庫
17、集群生效需要全部數據庫服務節點重啟。風險:明文本地存儲,容易泄露和篡改。秘鑰文件系統表存放。密鑰產生:數據庫層面不負責 CA頒發機構的建設,依賴外部認證的 CA 頒發中心。密鑰存放:密鑰文件內容以字符串密文存儲在數據庫系統表中,使用對稱加密方式,對稱加密的算法和密碼寫在代碼里不透明。系統表中的秘鑰文件從數據庫下載到本地配置文件中,數據庫節點服務器端/代理端啟動時讀取配置文件中秘鑰的密文,10內部解密后使用。密鑰更新:使用系統租戶更新秘鑰文件對應的三個配置項為新的秘鑰字符串。數據庫系統表更新機制會保證秘鑰更新同步到各個數據庫節點中。密鑰生效:重啟單個數據庫節點服務器端/代理端進程,單個數據庫節點
18、服務器端/代理端即刻生效。整個集群生效需要全部數據庫節點服務器端重啟。風險:如果分布式數據庫端源代碼泄露,可以破解出配置文件中加密的秘鑰文件。系統租戶泄露,會導致秘鑰被觸發更新為錯誤秘鑰,數據庫節點服務器重啟SSL 異常會影響很多其他用戶。密鑰文件統一管理服務。密鑰產生:數據庫層面不負責CA 頒發機構的建設,依賴密鑰文件統一管理服務生成和頒發。密鑰存放:秘鑰文件存在統一管理的服務器中,數據庫節點服務器端/代理端啟動時向密鑰服務器拉取三個文件并使用,用完就丟棄,不會保存在內存和系統表中。向密鑰服務器索取所用的證書/私鑰/私鑰口令明文存在分布式數據庫系統表中,并下載到本地配置文件中。密鑰更新:使用
19、系統租戶手動執行 DDL 語句觸發密鑰服務器更新存儲的秘鑰文件,數據庫節點服務器端/代理端再次啟動時向密鑰服務器拉取最新的秘鑰文件并生效使用,運行時不會拉取秘鑰文件。密鑰生效:重啟單個數據庫節點服務器端/代理端進程,單個數據庫節點服務器端/代理端即刻生效。整個集群生效需要全部數據庫節點服務器重啟。風險:向密鑰服務器索取所用的證書/私鑰/私鑰口令明文存在分布式數據庫系統表和本地配置文件中,存在泄露風險。進而當前使用的秘鑰文件泄露,11即使加密存放,同樣存在對稱加密密碼泄露的可能。如果數據庫節點服務器啟動時,密鑰服務器無法訪問,數據庫節點將拉取不到最新的秘鑰文件,此時數據庫節點會重啟失敗。2.存儲
20、加密2.存儲加密目前,不同場景下仍在使用的數據庫加密技術主要有:應用系統加密、前置代理加密、后置代理加密、表空間加密、文件系統加密和磁盤加密。應用系統加密(見圖 5)。應用系統加密技術被認為是最早的數據庫加密形式。但嚴格來講,應用系統加密實際上是針對數據而非數據庫進行的加密。在應用系統層的源代碼中對敏感數據進行加密,加密后將密文存儲到數據庫中??梢灾苯釉趹孟到y的源代碼中以獨立的函數或模塊形式完成加密;也可以通過源代碼的方式封裝出應用系統相關業務專用的加密組件或定制的加密 API 來完成加密。通常情況下,當業務系統僅對有限的敏感數據存在加密需求時,可以考慮使用應用系統加密技術。這里的“有限”包
21、含兩方面含義:一方面,是需要加密處理的敏感數據對應的表或字段相對較少;另一方面,是需要加密處理的敏感數據在整個業務系統中的使用相對不多。比如,僅對業務系統中與員工薪資相關的敏感數據進行加密保護。在實際業務中,薪資信息作為員工信息的一個子部分,在數據庫中通常以獨立表的形式存在,與員工基礎信息、教育信息、履歷信息等共同構成員工信息子系統;同時,薪資信息通常只在員工薪酬模塊或子系統中使用,與其它業務模塊相關性不高,一般也不會在其它業務12模塊中被引用。圖 5 應用系統加密圖 5 應用系統加密前置代理加密(見圖 6)。前置代理加密技術是在應用系統加密技術基礎上發展起來的,其表現形式通常是由專業的數據安
22、全廠商推出的數據庫加密產品。類似于應用系統加密技術,前置代理加密技術也是在數據保存到數據庫之前對敏感數據進行加密,并將密文存儲到數據庫中;而不同于前者的是,前置代理加密技術通常是以“前置代理加密網關”這種獨立組件產品的形式實現的。通常情況下,當業務系統僅對有限的敏感數據存在加密需求,且用戶自身無能力或不愿意進行加解密的相關研發工作時,可以考慮使用前置代理加密技術,即采用第三方廠商的前置代理加密網關系統對敏感數據進行加密保護。13圖 6 前置代理加密圖 6 前置代理加密后置代理加密(見圖 7)。為了避免數據加密給數據訪問和處理帶來性能上的嚴重損失,部分數據庫廠商在數據庫引擎層提供了一些擴展接口和
23、擴展機制。通過這些擴展的接口和機制,數據庫系統用戶可以通過外部接口調用的方式實現對數據的加解密處理,同時也能夠在一定程度上降低對數據庫系統性能的影響。后置代理加密技術是基于數據庫自身能力的一種加密技術,可充分利用數據庫自身提供的定制擴展能力實現數據的存儲加密、加密后數據檢索和應用透明等目標。Oracle 數據庫可以通過“視圖+觸發器+擴展索引+外部方法調用”的方式實現數據加密,同時保證應用的完全透明。14圖 7 后置代理加密圖 7 后置代理加密透明數據加密(見圖 8)。后置代理加密過于依賴數據庫自身所具備的擴展機制,且數據在數據庫共享內存中也是密文,導致在部分場景下的數據庫性能表現不佳。因此,
24、基于后置代理加密技術又發展出了透明數據加密技術,目的是在保持后置代理加密優勢的同時,降低對數據庫自身擴展機制的依賴性,從而讓數據庫系統性能保持在相對合理的水平之上。透明數據加密,全稱為 Transparent Data Encryption(TDE),是一種對應用系統完全透明的數據庫端存儲加密技術,通常由數據庫廠商在數據庫引擎中實現在數據庫引擎的存儲管理層增加一個數據處理過程,當數據由數據庫共享內存寫入到數據文件時對其進行加密;當數據由數據文件讀取到數據庫共享內存時對其進行解密。也就是說,數據在數據庫共享內存中是以明文形態存在的,而在數據文件中則以密文形態存在。同時,由于該技術的透明性,任何合
25、法且有權限的數據庫用戶都可以訪問和處理加密表中的數據。透明數據加密技術由于其自身的優勢特性,使其適用于幾乎15全部有數據庫加密需求的應用場景,尤其是在對數據加密透明化有要求,或需要對數據庫超級用戶進行數據訪問權限控制,以及對數據加密后數據庫性能有較高要求的場景中。圖 8 透明加密圖 8 透明加密文件系統加密。在數據庫加密技術中,除了從前端應用及數據庫自身角度實現數據庫加密外,基于數據庫底層依賴的文件系統或存儲硬件,也可以實現數據庫加密。文件系統加密技術是在操作系統的文件管理子系統層面上對文件進行加密,大多是通過對與文件管理子系統相關的操作系統內核驅動程序進行改造實現的。不同于文件加密只對單個文
26、件設置訪問口令,或對單個文件的內容進行加密轉換,文件系統加密提供了一種加密文件系統格式(類似于 ext4、xfs 等文件系統格式),通過把磁盤存儲卷或其上的目錄設置為該文件加密系統格式,達到對存儲于卷或卷上目錄中文件進行加密的目的。文件系統加密技術本質上并不是數據庫加密技術,但可以用于對數據庫的數據文件進行存儲層面的加密。16文件系統加密技術幾乎可以適用于任何基于文件系統的數據庫存儲加密需求,尤其是原生不支持透明數據加密的數據庫系統和大數據數據庫系統。但是,由于文件系統加密技術無法提供針對數據庫用戶的增強權限控制,對于需要防范內部數據庫超級用戶的場景并不適用。磁盤加密。磁盤加密技術通過對磁盤進
27、行加密以保障其內部數據的安全性,從實現上有軟硬兩種方式:軟件方式的磁盤加密技術,大多是通過專用的磁盤加密軟件對磁盤內容進行加密,典型代表如 Windows 操作系統自帶的 BitLocker,同類型的商業軟件在國內也有很多,但這類軟件由于加密原理和使用方式等因素,基本上無法滿足數據庫系統的數據加密需求;而硬件方式的磁盤加密技術,在實現上則有兩個思路:一種是針對單塊硬盤的磁盤加密,一種是針對磁盤陣列或 SAN 存儲設備的磁盤加密。(三)數據脫敏1.數據脫敏介紹(三)數據脫敏1.數據脫敏介紹數據脫敏也叫數據的去隱私化,在我們給定脫敏規則和策略的情況下,對敏感數據比如 手機號、銀行卡號 等信息,進行
28、轉換或者修改的一種技術手段,防止敏感數據直接在不可靠的環境下使用。像政府、醫療行業、金融機構、移動運營商是比較早開始應用數據脫敏的,因為他們所掌握的都是用戶最核心的私密數據,如果泄露后果是不可估量的。數據脫敏的應用在生活中是比較常見的,比如我們在淘寶買東西訂單詳情中,商家賬戶信息會被用*遮擋,保障了商戶隱17私不泄露,這就是一種數據脫敏方式。數據脫敏又分為靜態數據脫敏(SDM)和動態數據脫敏(DDM):靜態數據脫敏(SDM):適用于將數據抽取出生產環境脫敏后分發至測試、開發、培訓、數據分析等場景。有時我們可能需要將生產環境的數據 copy 到測試、開發庫中,以此來排查問題或進行數據分析,但出于
29、安全考慮又不能將敏感數據存儲于非生產環境,此時就要把敏感數據從生產環境脫敏完畢之后再在非生產環境使用。這樣脫敏后的數據與生產環境隔離,滿足業務需要的同時又保障了生產數據的安全。如圖 9 所示,將用戶的真實 姓名、手機號、身份證、銀行卡號 通過替換、無效化、亂序、對稱加密等方案進行脫敏改造。圖 9 脫敏系統圖 9 脫敏系統動態數據脫敏(DDM):一般用在生產環境,訪問敏感數據時實時進行脫敏,因為有時在不同情況下對于同一敏感數據的讀取,需要做不同級別的脫敏處理,例如:不同角色、不同權限所執行的脫敏方案會不同。在抹去數據中的敏感內容同時,也需要保持原有的數據18特征、業務規則和數據關聯性,保證我們在
30、開發、測試以及數據分析類業務不會受到脫敏的影響,使脫敏前后的數據一致性和有效性。脫敏的原則,不影響數據的使用。2.數據脫敏方案2.數據脫敏方案數據脫敏系統的架構如圖 10 所示。系統可以按照不同業務場景自行定義和編寫脫敏規則,可以針對庫表的某個敏感字段,進行數據的不落地脫敏。圖 10 數據脫敏系統圖 10 數據脫敏系統數據脫敏的方式有很多種:無效化。無效化方案在處理待脫敏的數據時,通過對字段數據值進行 截斷、加密、隱藏 等方式讓敏感數據脫敏,使其不再具有利用價值。一般采用特殊字符(*等)代替真值,這種隱藏敏感數據的方法簡單,但缺點是用戶無法得知原數據的格式,如果想要獲取完整信息,要讓用戶授權查
31、詢。隨機值。隨機值替換,字母變為隨機字母,數字變為隨機數字,文字隨機替換文字的方式來改變敏感數據,這種方案的優點在于可以在一定程度上保留原有數據的格式,往往這種方法用戶不易察覺的。數據替換。數據替換與前邊的無效化方式比較相似,不同的是這里不以特殊字符進行遮擋,而是用一個設定的虛擬19值 替 換 真 值。比 如 說 我 們 將 手 機 號 統 一 設 置 成“13651300000”。對稱加密。對稱加密是一種特殊的可逆脫敏方法,通過加密密鑰和算法對敏感數據進行加密,密文格式與原始數據在邏輯規則上一致,通過密鑰解密可以恢復原始數據,要注意的就是密鑰的安全性。平均值。平均值方案經常用在統計場景,針對
32、數值型數據,我們先計算它們的均值,然后使脫敏后的值在均值附近隨機分布,從而保持數據的總和不變。偏移和取整。這種方式通過隨機移位改變數字數據,偏移取整在保持了數據的安全性的同時保證了范圍的大致真實性,比之前幾種方案更接近真實數據,在大數據分析場景中意義比較大。數據脫敏規則在實際應用中往往都是多種方案配合使用,以此來達到更高的安全級別。無論是靜態脫敏還是動態脫敏,其最終都是為了防止組織內部對隱私數據的濫用,防止隱私數據在未經脫敏的情況下從組織流出。所以作為一個程序員不泄露數據是最起碼的操守。(四)數據庫審計(四)數據庫審計審計是監視和記錄用戶對數據庫進行的操作,以供審計員進行問題分析。利用審計功能
33、,可以完成以下任務:第一,監視和收集特定數據庫活動的數據。例如管理員能夠審計哪些表被更新,在某個時間點上有多少個并行用戶統計數據;第二,保證用戶對自己的活動負責。這些活動包括在特定模20式、特定表、特定行等對象上進行的操作;第三,審計數據庫中的可疑活動。如一個未經授權的用戶正從表中刪除數據,那么數據庫管理員必須審計所有數據庫連接,以及在數據庫中所有成功和失敗的刪除操作。1.審計功能1.審計功能如圖 11 所示,根據審計類型不同,審計記錄中的信息也有所不同。通常,一條審計記錄中包含用戶名、會話標識、終端標識、所操作的模式對象名稱、執行的操作、執行的完整語句代碼、日期和時間戳、所使用的系統權限。數
34、據庫支持的審計類型一般包括:語句審計(Statement Auditing),對特定的 SQL 語句進行審計,不指定具體對象;對象審計(Object Auditing),對特定的模式對象上執行的特定語句進行審計;權限審計(Privilege Auditing),對特定的系統權限使用情況進行審計;網絡審計(Network Auditing),對網絡協議錯誤與網絡層內部錯誤進行審計。審計還包括兩個額外屬性,這兩個屬性相互正交組合:審計時機。根據用戶是否成功執行,可以分為,“對執行成功的語句進行審計”、“對不成功的語句進行審計”,以及“無論成功與否都進行審計(默認)”。21審計頻率。根據對同一個語句
35、審計次數不同,可以分為“session 級別“,指對某個用戶或所有用戶的同一非 DDL 語句只審計一次,形成一條審計記錄?!癮ccess 級別”,指對某個用戶或所有用戶的同一語句每執行一次審計一次,形成多條審計記錄。圖 11 審計功能定義圖 11 審計功能定義2.審計的非功能需求2.審計的非功能需求(1)性能審計開啟后,會在 client 請求執行完畢,準備回包給client 前,進行審計檢查,判斷是否需要審計。如果需要審計,則生成審計記錄寫入文件或者內部表。這個審計過程需要檢查是否審計,并可能生成保存審計記錄,會對原 query有一定的性能影響。如果每次審計都發現不需要審計,則影響比較小,都
36、只是些規則查表狀態檢查。如果需要審計寫文件,審計寫文22件時受磁盤 IO 影響。如果需要審計寫系統表,影響會稍大。因為審計記錄表的 leader server 可能不是本機,需要產生遠程執行。執行結束后才能繼續用戶請求。以上影響在業界都存在,因為審計不可避免的要進行規則檢查,會記錄保存,記錄保存成功才能將請求結果返回給用戶,但性能影響和業界能力可比。(2)可用性審計記錄如果寫文件,受磁盤空間影響,如果磁盤空間不足,需要審計記錄寫入會失敗阻塞,用戶請求需要阻塞。審計記錄如果寫系統表,受租戶資源影響,因為審計記錄表是租戶系統表的一部分,如果租戶資源不足,則審計記錄表插入動作會失敗,用戶的當前請求也
37、需要阻塞。(3)安全性審計規則只有審計員可以創建。審計記錄應只有特定權限的用戶才可以查看。租戶管理員也無法刪除審計記錄,只有系統管理員有權限刪除。(4)兼容性分布式數據庫的審計語法與應與主流數據庫兼容,并提供兼容的完整視圖,盡可能小的對上下游產品產生影響。(五)數據庫防火墻(五)數據庫防火墻數據庫防火墻是一款基于數據庫協議解析與控制技術的數據庫安全防護系統,實現了對數據庫訪問行為的控制,高危操作的攔截,可疑行為的監控,風險威脅的攔截,提供可靠的數據庫安全保護服務。數據庫防火墻可以提供協議分23析、SQL 語句解析、參數化匹配、長語句解析、多語句解析、應用關聯等核心技術,并提供豐富的數據庫安全策
38、略,如阻斷、攔截等控制類策略,記錄、告警等審計類操作。數據庫防火墻主動地、實時地、全方面地保障數據庫安全,使其免受數據庫漏洞、高危、惡意操作以及敏感數據泄露的威脅。1.數據庫防火墻應具備的功能1.數據庫防火墻應具備的功能(1)學習期行為建模數據庫防火墻可基于學習期完成語句、會話的建模分析,構建數據庫安全防護模型。并且具備語法分析能力,可以對SQL 語句進行抽象描述,將海量的 SQL 語句歸類成 SQL 模板?;?SQL 模板關聯會話信息,可預定義數據庫黑白名單和風險規則。(2)數據庫入侵行為防護外部系統利用數據庫漏洞進行數據庫攻擊時,數據庫防火墻可以實時捕獲到對應的 SQL 語句及相關會話信
39、息,及時阻斷風險會話并發送告警,幫助用戶實時防護數據庫漏洞攻擊并有效追溯風險來源。針對 SQL 注入和 XSS 攻擊行為數據庫防火墻基于精準的 SQL 語法分析,可以準確定位SQL 語句中的操作謂詞及常量表達式,保障注入、攻擊行為防護的準確性。(3)數據庫違規行為防護數據庫防火墻提供豐富的規則類型,可以針對不同的數據庫訪問來源,提供對敏感表的訪問權限、操作權限和影響行數的實時有效管控,并結合對 NO WHERE 語句風險的判斷,24避免大規模數據泄露和篡改。(4)數據庫異常行為監控數據庫防火墻可對數據庫通訊協議進行完全解析,將SQL 語句歸類成模板,并結合會話信息、應用關聯信息,實現學習期行為
40、建模,并以學習期建立的模型為“藍本”,對數據庫訪問行為進行周期性對比,以此繪制行為趨勢圖,快速定位“波動點”識別可能存在的異常行為并預定義風險規則,幫助用戶準確定位異常行為。(5)阻斷與攔截功能數據庫防火墻支持會話阻斷,可準確定位風險來源并阻斷會話請求。在會話阻斷的基礎上,提供“語句攔截”的處理機制,僅針對會話里產生風險的 SQL 語句進行攔截,保持會話內其他合規語句的正常操作。(6)行為審計功能數據庫防火墻從風險、語句和會話的角度提供風險行為的審計功能,用戶可以在此基礎上進行關聯查詢,深入挖掘風險來源和風險行為模型,實現數據庫風險行為分析和問題追溯。(7)提供多樣化的風險分析報表數據庫防火墻
41、可實現將報表劃分為“風險綜合分析報告”、“風險防護報告”、“數據庫風險分析”、“客戶端風險分析”等,幫助安全管理人員更加便捷、深入的剖析數據庫運行風險。2.數據庫防火墻技術2.數據庫防火墻技術25(1)SQL 特征抽象SQL 語句解析是識別 SQL 語句攻擊行為的關鍵。SQL 語法特征技術是在不改變原SQL語句的語義的情況下,重寫SQL語句,有效地捕獲 SQL 語句的特征,快速對 SQL 語句進行策略判定,以實現高效處理。(2)應用關聯防護數據庫防火墻采用應用端插件部署方式,基于應用會話捕獲“應用賬戶”及“應用登錄 IP”等關聯審計信息,并添加到風險規則進行風險行為管控。針對應用端與業務服務器
42、分離的“四層關聯系統”,可以有效追溯到應用系統的原始訪問者和請求信息,實現精準的業務匹配。(3)虛擬漏洞補丁虛擬補丁是數據庫防火墻的核心技術之一,通過該技術用戶可以針對數據庫漏洞攻擊行為進行實時的管控,從而保證數據庫安全與應用穩定的平衡。虛擬補丁技術是系統通過協議解析技術,捕捉外部系統利用數據庫漏洞進行的網絡攻擊行為并對其進行管控,從而防止通過已知漏洞對數據庫的攻擊。本系統通過網絡解析技術捕獲以下訪問特征:用戶名、對象、操作、應用模塊、語句內容,通過內部的漏洞庫進行訪問行為匹配。(六)數據庫漏洞掃描(六)數據庫漏洞掃描數據庫漏洞掃描系統,是對數據庫系統進行自動化安全評估的數據庫安全產品,能夠充
43、分掃描出數據庫系統的安全漏洞和威脅并提供智能的修復建議,對數據庫進行全自動化26的掃描,從而幫助用戶保持數據庫的安全健康狀態,實現“防患于未然”。三、全密態數據庫技術相較于傳統數據庫針對數據所處階段來制定安全保護措施的,如在數據傳輸階段使用安全傳輸協議 SSL/TLS,在數據持久化存儲階段使用透明存儲加密,在返回結果階段使用 RLS(Row Level Security)或者數據脫敏策略。全密態數據庫技術的目標是使得用戶(在客戶端)自行加密后的敏感數據在任何時刻都不以明文形式暴露給服務器,但數據庫服務仍然可以在密文數據上支持所有的計算查詢、事務等操作,做到數據庫內數據的“可用不可見”。通過該技
44、術,我們可以完全杜絕數據庫服務及數據擁有者以外的任何角色接觸到用戶的明文數據,避免數據泄漏在數據庫服務器端發生。全密態技術關注數據全生命周期隱私保護的系統性解決,但缺少標準化功能命名,且與較受關注的隱私計算技術范疇存在交集。就調研情況來看,國內數據庫廠商認定的全密態數據庫技術范疇主要包括基于硬件的可信執行環境(TrustedExecution Environment,TEE),基于密碼學的密態計算等技術手段。國內數據庫廠商有阿里云的 RDS PostgreSQL 和PolarDB、華為 openGauss 提供類似功能。(一)硬件全密態技術(一)硬件全密態技術全密態數據庫中的軟件方案和硬件方案
45、目前均已取得了很多進展,特別的,工業界已開始在逐步采用硬件方案。硬件方案主要依賴一類可信執行環境技術(Trusted27Execution Environments,TEE)。該類技術通過在服務器上構建一個隔離且安全的容器環境 Enclave,保證 Enclave內計算和數據的機密性,從而可以安全地對密文進行解密后直接在明文上進行計算。常見的 TEE 環境包括 Intel SGX,ARM TrustZone,RISC-V Keystone 等,其中以 Intel SGX 產品成熟度和普及度最高。這類技術的最大優勢是可以支持任意計算,對數據庫應用的兼容性高,且計算性能相對較好。但硬件方案目前存在
46、兩個較大的缺陷。首先由于數據在 TEE內部均為明文存在,因此數據的安全性完全依賴于硬件本身的安全性。目前針對硬件的攻擊方式如側信道攻擊等越來越多,但是一般硬件設備更新迭代周期較長,一旦出現漏洞無法及時更新修補,將直接導致用戶數據長時間暴露在風險之下。其次用戶在使用該特性時,密鑰需要離開客戶端環境發送給 TEE 使用,而該傳輸過程的安全直接依賴于硬件設備廠商的證書簽名。惡意的硬件設備廠商人員完全有能力攻擊并竊取用戶的數據及密鑰,因此硬件方案也需要用戶在使用過程中持續信任硬件設備廠商。(二)軟件全密態技術(二)軟件全密態技術全密態數據庫的軟件方案目前在學術界發展較快,即通過一系列數學算法在密文空間
47、直接對密文進行查詢運算,保障數據隱私不泄露。軟件方案可以不依賴于硬件能力,也不需要在服務側獲取密鑰對數據進行解密,但同時也存在著巨大挑戰。軟件方案主要依賴一類可直接查詢和操作密文的密碼學算法。這類密碼學算法常見的包括:同態加密28(Homomorphic Encryption),可以支持密文上的加減乘除等數值及邏輯運算;保屬性加密(Property PreservingEncryption),支持加密后密文與明文具備相同的數據屬性;保序加密(Order Preserving Encryption),可以支持密文上的數值比較操作;可檢索加密(Searchable Encryption),可以支持
48、密文數據集上的關鍵字查詢操作。從上述算法中我們可以看出,不同的操作需要使用對應的加密算法,當密文數據存于數據庫中并需要同時參與不同類型的計算時,無法滿足查詢需求。性能方面,這些加密算法的計算量一般較大,相比明文上的計算會帶來幾個量級的性能下降。安全性方面,不同加密算法基于的攻擊模型和保護面也各不相同,除同態加密以外的多數加密算法仍會在使用數據過程中泄露部分數據信息。(三)其他相關技術1.軟硬結合自適應技術(三)其他相關技術1.軟硬結合自適應技術軟硬結合自適應技術可以結合軟件模式與硬件模式各自的優缺點,推出融合策略,實現硬件模式和軟件模式的自由切換,能夠支持全場景應用,適應公有云、混合云以及終端
49、智慧業務等不同的業務場景。2.用戶操作無感知技術2.用戶操作無感知技術由于全加密數據庫要求客戶端的明文數據在出域前已經被加密,這與傳統的明文數據庫的使用行為是完全不同的。如果由用戶對數據在語句中進行顯示加密,會增加用戶后續的開發、遷移和升級成本,另一方面也存在因失誤而造成敏29感數據未加密風險。用戶操作無感知技術,通過將這一系列的復雜加密操作,全部封裝在客戶端 SQL 驅動內部,實現完全自動化的敏感信息加密,同時在數據庫中存儲了所有加密相關的元信息,數據庫可以很好的識別和處理對應的加密數據。3.硬件解耦技術3.硬件解耦技術由于基于 TEE 環境的機密計算,依賴于具體的硬件能力,而各硬件廠商的硬
50、件能力不同,會導致數據庫的安全表現不一致。通過硬件解耦技術,全密態數據庫能夠自適應地支持底層不同的 TEE 技術,并且屏蔽不同 TEE 技術在安全性、使用方式、性能上的差異點,同時盡可能發揮特定 TEE 技術的優勢,進一步提升系統性能。4.防側信道攻擊技術4.防側信道攻擊技術端到端全程密態處理并不代表絕對的數據安全,機密環境 TEE 在訪問數據庫數據密文的過程中,會存在元數據信息泄露,訪問模式泄露,返回結果大小泄露等問題。通過不經意隨機訪問、數據容量保護等技術,可以消減這類風險,進一步強化數據庫系統的安全性,但會帶來一定的性能和存儲開銷。5.可信代碼拆分技術5.可信代碼拆分技術在硬件方案中,其
51、數據的安全性依賴于整個可信基(Trusted Computing Base,TCB),包括 TEE 硬件以及其中加載的代碼。也就是說,在 TEE 中加載的代碼邏輯是需要被無條件信任的,一旦可信代碼中出現漏洞,將會對整個系30統的安全性造成嚴重的破壞??尚糯a拆分技術對數據庫系統代碼進行合理拆分,最小化需要被加載進 TCB 中的可信代碼規模,從而降低可信代碼中出現漏洞的可能性;同時,需要避免可信環境和非可信環境的頻繁切換回帶來的嚴重性能下降。四、產品現狀及應用場景(一)產品現狀(一)產品現狀目前業界有三家云數據庫產品推出類似全密態數據庫功能。1.RDS PostgreSQL 和 PolarDB1
52、.RDS PostgreSQL 和 PolarDB阿里云的 RDS PostgreSQL 和 PolarDB 提供全密態數據庫功能,使得數據在用戶側加密后傳入數據庫,在數據庫上數據全程以密文形式存在,避免平臺軟件及管理人員接觸到明文數據,同時仍然支持所有的數據庫事務、查詢、分析等操作,做到了數據庫內數據的可用不可見。該功能具備軟硬件一體化能力:1)使用 Intel SGX 及阿里自研密態計算卡(神盾卡)作為其可選可信執行環境,提供數值計算、字符串操作、范圍查詢、多表連接等通用密態計算功能;2)使用純密碼算法在無 TEE 環境下支持等值查詢、多表連接等少數密態計算功能。阿里云的全密態數據庫支持透
53、明無感知加解密 EncJDBC 驅動,提供公共云、混合云以及 DBStack 等產品輸出形態。2.Azure SQL2.Azure SQL微軟 Azure SQL 提供始終加密功能(always encrypted),31旨在保護存儲在 Azure SQL 數據庫或 SQL Server 數據庫中的敏感數據,例如信用卡號或國家標識號(例如,美國社會保險號)。始終加密允許客戶端對客戶端應用程序內的敏感數據進行加密,而從不向數據庫引擎(SQL 數據庫或 SQLServer)公開加密密鑰。因此,“始終加密”將擁有數據并可以查看數據的用戶與管理數據但不應具有訪問權限的用戶區分開。通過確保本地數據庫管理
54、員,云數據庫操作員或其他高特權未授權用戶無法訪問加密數據,始終加密功能可以使客戶可以放心地存儲敏感數據,而不受其直接控制。3.GaussDB3.GaussDB華為的 GaussDB 提供全密態數據庫功能,結合軟件模式與硬件模式各自的優缺點,推出融合策略,實現硬件模式和軟件模式的自由切換,該方案支持全場景應用,包括公有云、混合云以及終端智慧業務,實現用戶透明無感知。支持多硬件平臺能力,如 Intel CPU 的 SGX,以及華為自主研發鯤鵬ARM TrustZone 能力。并支持軟件模式的密態查詢能力,通過對多種密碼學算法的深度性能優化,構建出不同的密態查詢引擎,以完成不同的檢索和計算功能,實現
55、數據等值查詢、范圍查詢、保序查詢等特性。(二)應用場景(二)應用場景全密態數據庫技術在金融業務場景中的應用尚處于探索階段。目前能帶來顯著安全水位提高的典型應用場景包括:1.敏感數據數據庫安全1.敏感數據數據庫安全針對數據庫系統中業務敏感數據的高安全性數據管理。32業務敏感數據是指被泄露后將對國家、行業、企業、個人等造成嚴重損害的數據,比如企業金融相關數據、個人財務相關數據等。由于這些敏感數據也需要與其他數據一樣,在應用系統中被使用,其安全性嚴重依賴于承載這些數據的數據庫和服務器,以及管理開發這些應用的技術人員。使用全密態數據庫后,可以消除系統研發人員、數據庫運維人員等非業務直接相關人員在管理數
56、據庫時可能發生的越權訪問、拖庫等行為,大幅降低業務敏感數據的被攻擊面。2.敏感數據流轉安全2.敏感數據流轉安全解決敏感數據在不同數據庫之間流轉帶來的安全水位不一致的問題。由于實際業務的復雜性,數據需要被不同的應用單元生產、使用及消費。通常情況下這些應用單元會由不同的業務團隊負責,底下接入了獨立的數據庫實例。當前應用單元的數據庫實例之間以明文形式交換數據,因此其數據的安全性由各自的數據庫系統環境分別保障。最低安全水位的系統決定了整個應用體系中數據安全強度。使用全密態數據庫后,可以使不同數據庫系統間以密文形式交換數據,密鑰由原始數據持有方獨立持有,其安全性不受經流轉的數據庫系統影響。3.數據聯合使
57、用安全3.數據聯合使用安全避免數據在跨組織聯合使用過程中的泄露風險,實現高價值數據的安全有效利用。在聯合風控、多頭借貸風險分析等場景下,通常需要借助來自不同數據源的數據進行更有效的判斷和決策。在此過程中,數據提供方擔心其高價值數據33會被數查詢方竊取,而數據查詢方也同樣擔心自己的查詢行為會向數據提供方泄露敏感信息。使用全密態數據庫后,數據查詢方可以獨立在密文庫中查詢獲得有效信息,且無法獲得被查詢信息以外的任何額外信息,保障雙方數據與查詢的安全。除上述場景外,隨著全密態數據庫在金融行業應用的不斷嘗試探索,一定會有更多高價值、高創新的新型應用場景和業務模式的產生。五、應用挑戰與應對措施從技術角度來
58、看,用戶從已有數據庫服務切換成全密態數據庫或者直接將應用部署于全密態數據庫,也需解決多個主要技術問題:(一)保障密態計算機制的安全性(一)保障密態計算機制的安全性全密態數據庫從原理上可以有效保障數據安全,但這要求密文數據處理算法、可信執行環境等在機理和工程上要達到該安全水位要求。特別是,在可信執行環境可能存在漏洞和側信道攻擊的情況下,如何保證數據的安全??尚械膽獙Ψ绞绞菍θ軕B數據庫的系統架構進行合理的設計與模塊化,避免其與具體的密碼學算法、可信執行環境強耦合,可以根據應用場景的安全要求自由切換滿足條件的算法與環境。(二)實現業務的無縫遷移或輕量化遷移(二)實現業務的無縫遷移或輕量化遷移一方面
59、,全密態數據庫最顯著的特征是數據存儲信息的變更,與加密數據相關的各類參數都要同步進行變更,否則34會因為計算數據形態的不對等導致查詢紊亂。另一方面,目前市面上已有的全密態數據庫產品有限,其在數據庫協議、查詢操作支持上存在一定的功能限制,如何使復雜的存量應用在遷移過程中免受功能限制的影響是一大挑戰??尚械膽獙Ψ绞绞墙Y合業務場景探索開發有效的數據遷移、應用灰度、無感知加解密等一系列面向應用開發者的生態工具。(三)避免服務切換所帶來的性能損耗(三)避免服務切換所帶來的性能損耗由于密碼學和可信硬件等技術都會帶來計算、傳輸、存儲等方面的額外性能損耗,本質上需要將算法實現和工程實現所產生的性能回退控制在一
60、個合理的范圍內,避免因為不合理的數據加解密和數據存儲膨脹帶來性能急速下降,影響到在線及離線應用系統的實時性和投入成本??尚械膽獙Ψ绞桨◤娜軕B數據庫側不斷提升算法和工程的成熟度,持續降低性能回退程度;從應用系統側評估安全性和性能的合理平衡,選擇小規模但高敏感的數據子集進行全密態保護提高安全性,同時將大規模但低敏感的數據繼續以明文形式處理,最大程度上保留系統性能。六、研究情況總結從主流數據庫安全技術的調研情況來看,國內分布式數據庫產品大多數已具備權限與訪問控制、全鏈路加密、數據脫敏、數據庫審計、數據庫漏洞掃描和數據庫防火墻等安全能力。而目前主要數據庫風險,是由于訪問控制機制繞過,sql 注入,
61、軟件漏洞,安全配置錯誤等原因,導致了數據泄露。追其根源,是由于數據在未加密或需要解密處理導致,35業界開始逐步探索全密態數據庫方向,試圖從根本上解決數據庫內部導致的敏感數據泄露問題。從全加密數據庫技術的調研情況來看,該技術仍處于初期階段,在功能完整性、性能、安全性上都亟待提高。從功能的完整性上看,業界較為成熟的是密態等值查詢,語法自動解析,數據隱式轉換,硬件全密態查詢等能力。語法自動解析通過在客戶端增加了一個輕量級解析器,用戶輸入語法后,客戶端解析器進行詞法和語法解析,獲取到明文值及其位置,而加解密驅動則自動將明文替換為加密后的密文,然后將查詢語句發送到服務端。在服務端將執行密文結果返回給客戶
62、端后,客戶端加解密驅動自動將返回的密文數據進行解密并返回給用戶??梢宰屓軕B數據庫實現 SQL 統一標準,操作語法與通用數據庫保持一致。而數據隱式轉換技術,可以屏蔽底層具體的加密方式,保持數據存儲的原始類型,讓應用程序的業務無需考慮底層數據加密的細節,聚焦在業務邏輯上。等值查詢技術則允許業務在數據加密情況,實現等值類的條件操作。硬件全密態查詢能力,則通過將數據在可信環境中解密之后,進行一系列明文處理,而在不可信任的環境中處于密文狀態。未來從全密態的發展趨勢來看,功能上會逐步將范圍查詢、模糊查詢、數學計算等密態功能更加成熟、高效。通過硬件全密態查詢,以及軟硬結合的查詢能力,也需要在一致性、分布式
63、、多模等能力上有更多能力的提升。從性能上來看,軟件全密態方式根據場景的不同,性能36差異會比較大,如同態加密、密態模糊查詢等技術,都存在性能或存儲的嚴重劣化,有待一定程度的提升。而硬件及軟硬結合全密態,也由于存在數據解密處理,內存數據交換等過程,導致性能會有普遍的劣化,會導致使用者成本有較大提升,需要應用廠商在安全與成本之間權衡。預計未來會以單次普通加密的明文查詢性能為目標,越來越逼近。從安全性上來看,軟件全密態也存在各算法上的安全差異性,在頻率攻擊,背景知識攻擊等方面有較大限制。而硬件及軟硬結合全密態,由于存在解密過程,對于側信道攻擊,密鑰攻擊等方面,需要有更強的保護措施。從未來發展來看,通過數據庫產業側的努力希望能夠達到:所有常見的數據庫系統均能支持全密態功能、所有明文的數據庫操作都能提供對應的全密態操作、應用開發成本與明文數據庫無異、性能回退無限趨近于普通數據加密等,使得在任何環境內(如公共云、行業云、本地部署)的數據庫均能具備一致的數據機密性保護水位,免除數據擁有者對數據庫環境不可信的擔憂,促進數據庫向中心化、規?;?、低成本化方向集中。同時進一步與防篡改、隱私保護、多方安全計算等技術相互結合,保障數據在業務使用中的全方位安全,促進數據的自由流通與有效利用。