?

基于密文查詢與透明存取的數據庫系統安全研究

2021-06-03 06:40
信息記錄材料 2021年4期
關鍵詞:代理服務器設計模式密文

徐 霄

(中博信息技術研究院有限公司 江蘇 南京 210012)

1 引言

計算機軟件系統中的重要組成部分是數據庫,隨著網絡技術的快速發展,很多網絡服務都需要云存儲的參與,云存儲的基礎設施是數據庫。數據庫中保存的很多敏感信息,例如用戶密碼、用戶家庭信息、用戶重要文件等,如果泄露出去會給用戶造成重大損失以及產生不良影響,并且在對電信、醫療、交通等行業的網絡化建設中,許多軟件程序不能及時有效防御硬件設施,加上系統管理人員網絡維護不及時,造成很多國內用戶的隱私信息被泄露。除此之外,很多黑客攻擊了數據庫,用戶存儲在數據庫上的關鍵數據被黑客非法泄露給第三方,給網絡安全造成了威脅同時也給國內廣大用戶產生了經濟損失。綜上所述,為了解決以上的網絡安全問題,主要的防御措施是對數據庫中的關鍵數據進行加密,防止用戶數據泄露,通過加密這種應對手段,將機密的數據轉換為密文再在數據庫中進行保存,本文針對密文查詢與透明存取的數據庫系統進行安全研究。

2 數據庫安全保護技術

2.1 密文數據庫設計模式

密文數據庫的設計模式主要包含三種,第一種是通過DBMS引擎實現密文數據庫,在這種設計模式中,需要數據庫管理員管理密鑰,在開啟數據庫引擎時,數據庫管理員通過使用密鑰讀取保存在數據庫中的機密文件數據,對用戶安全透明,用戶可以直接查詢保存在數據庫中的文件也可進行修改[1]。第二種設計模式是通過代理實現密文數據庫,這種設計模式主要是在DBMS和用戶之間設置代理中間文件,使用戶不用在連接DBMS,直接連接代理,用戶想代理發送查詢數據庫中加密文件的請求,代理接收后對用戶保存在數據庫中的加密文件進行查詢并根據用戶要求修改,最后對數據庫中文件進行加密,這種設計模式同樣對用戶安全透明,防止數據庫管理員使用密鑰非法查看用戶保存在數據庫中的加密文件。第三種設計模式是通過客戶端實現密文數據庫,這種設計模式不需要代理,是將加密文件設置在客戶端上,由客戶端將用戶保存在數據庫中的加密文件進行加密,加密完成后發送到數據庫,這種設計模式主要適用于文件查詢,操作較簡單。

2.2 密文數據庫檢索技術

密文數據庫常用的密文檢索技術包括:密文上的范圍查詢、數學運算、關鍵詞搜索。密文上的范圍查詢主要有保序加密算法和保序索引方法,保序加密算法在使用效率以及安全性上都存在一定的問題,所以在實際使用上,較為實用的密文范圍查詢是保序索引方法,這種密文范圍查詢方案不需要加密算法帶來保序性質,可以使用任何中加密算法對數據庫中的加密文件進行加密,通過對數據結構建立索引來進行范圍查詢。密文上的數學運算主要使用同態加密技術,這種數據庫檢索技術使密文上的加法運算成為可能,能夠進行任意次加法運算和乘法同態運算,并且在使用上效率較高,但是這種數據庫檢索技術存在密鑰存儲空間巨大的缺點,使算法的使用效率降低[2]。密文上的關鍵詞搜索主要采用的是可搜索加密技術,這種加密技術要求對稱密鑰,能夠搜索密文中的單個關鍵詞,優點是服務器中得不到關于關鍵詞的任何信息,缺點是算法使用效率低且容易遭到黑客攻擊,檢索關鍵詞的結果無法保證準確。

3 基于SGX可信代理架構的密文數據庫加密框架

3.1 設計架構

基于SGX可信代理結構的密文數據庫設計架構采用了與CRYDB相似的代理架構,即在用戶端與數據庫客戶端之間建立代理服務器,代理服務器主要將用戶存儲在數據庫中的數據進行加密成為加密文件,以及將數據庫中的加密數據查詢出來進行解密,將解密后的數據返回給用戶,為了防止代理服務器遭受到統計攻擊而導致密鑰泄露,需要將服務器中的運行系統設置在多個不同的安全服務器中并行運行,安全服務器之間設置安全信道。這樣設計對客戶端更加透明,用代理服務器替換客戶端實現對存儲在數據庫中的文件加解密,不用對客戶端進行改進以及利用客戶端對數據庫中的加密數據加解密。除此之外,采用這種方案加強了軟件系統的安全性,避免了代理數據端數據的泄露,攻擊者不能通過修改軟件程序來獲得用戶存儲在數據庫中的加密數據[3]?;赟GX可信代理架構的密文數據庫加密框架如下圖1所示:

圖1 基于SGX可信代理架構的密文數據庫加密框架

3.2 運行流程

基于SGX可信代理架構的密文數據庫加密框架運行流程為:首先系統進行初始化,開啟系統后,使用密鑰解密存儲在數據庫中的密鑰存儲文件,讀取所使用的密鑰序列,當密鑰序列被修改或者刪除后,密鑰將本地的存儲文件進行加密,并保存到密鑰存儲安全區內。然后在用戶客戶端進行認證代理,用戶客戶端與代理服務器建立連接,通過遠程認證確保代理的可信性,緊接這需要代理重新寫SQL,并查詢存儲在數據庫中的用戶數據再進行加密成為加密數據。最后代理服務器接收用戶的改寫數據請求,發送到DBMS執行,查詢結束后返回對應的密文數據結果,使用密鑰對存儲在數據庫中的數據進行解密并篩選解密結果,最后將明文結果返回到用戶端。

4 數據庫加密索引策略

4.1 系統模型

基于密文查詢與透明存取的數據庫系統模型包括用戶客戶端、查詢代理、查詢映射表。用戶客戶端保存了數據庫中加密數據的關鍵信息,通過SGX建立與代理服務器的信任關系,將數據通過密鑰進行加密并分享給代理機構,在安全區建立安全的通信信道。在對加密數據進行查詢時,代理查詢接收加密數據發送的查詢請求,代理查詢使用數據庫密鑰分享的加密數據進行解密,查詢代理在查詢安全區維護查詢映射表,通過對比密文上的查詢條件進行解密匹配,在用戶客戶端增加新的映射,并返回給用戶客戶端。查詢映射表負責將查詢到的數據映射成一個特定的標簽,附加本身的具體信息。

4.2 形式化定義

數據庫是計算機系統的關鍵設施,數據庫中存儲的用戶信息如果被非法泄露,會給用戶造成不同程度的經濟損失以及不良影響,數據庫目前面臨的主要威脅來自外部黑客的入侵以及系統內部管理人員的惡意泄露。本文設計的基于密文查詢與透明存取的數據庫系統通過對數據庫中存儲的用戶數據進行加密,以防數據庫遭受到外部攻擊后出現數據泄露,對目前網絡安全出現的問題,例如客戶端加密文件修改困難、密鑰使用效率受到客戶端影響、代理服務器的安全未得到解決等問題,為了描述密文查詢與透明存取的數據庫動態生成密文索引,需要對可能使用到的符號進行形式化定義,將T. A的值域(Di)映射到分區(Pi,……,Pk)使符號能夠覆蓋到整個安全區域,兩個安全區域不能重疊,使用不同的分區函數定義不同的目標數據庫中的明文數據。

5 結語

本文通過SGX隔離機制、遠程認證等實現對存儲在數據庫中的加密數據安全加密與解密,確保密鑰在使用保存過程中不會被外界竊取,用戶在發送查詢數據庫中數據請求時,代理服務器能夠準確安全接收請求并執行命令,網絡安全得到了進一步的維護。

猜你喜歡
代理服務器設計模式密文
“1+1”作業設計模式的實踐探索
一種支持動態更新的可排名密文搜索方案
基于模糊數學的通信網絡密文信息差錯恢復
三維協同設計模式下的航天項目管理實踐與展望
地鐵信號系統中代理服務器的設計與實現
交通機電工程設計模式創新探討
IP地址隱藏器
一種基于密文分析的密碼識別技術*
云存儲中支持詞頻和用戶喜好的密文模糊檢索
互動式設計模式研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合