謝 堅 宣紹龍 吳宗大/紹興文理學院
關鍵字:云環境;數字檔案;檔案保密;檔案查詢;信息系統
云計算按使用量付費,使得機構可隨時隨地、按需便捷地從可配置計算資源共享池中獲取所需資源,從而大幅降低機構在業務運行和檔案管理方面的經費投入,極大提高了機構服務效能[1]。在數字化改革的驅動下,政府部門和企業單位紛紛推行“云優先”戰略,即在機構數字化過程優先考慮云計算模式,從而使得文件檔案在云環境中形成和管理的比例越來越高[2]。為此,“檔案云上管理”已是大勢所趨[3]。然而,檔案上云雖能有效降低管理成本,提高管理效率,但也帶來了負面效應,其中最突出的是檔案云上安全問題[4],它已成為制約檔案云上管理的主要障礙。我國近年出臺了《網絡安全法》《數據安全法》《個人信息保護法》三部法律,這對改善檔案云上安全具有十分重要的意義。然而,層出不窮的隱私泄露事件表明,檔案云上保密管理不僅需要法律法規,還需要技術方法的支持[5]。為此,數字檔案系統采用了多種技術策略,主要包括身份認證、訪問控制、數據加密等[6]。其一,身份認證是用戶身份確認的過程,以杜絕非法用戶對系統資源的非法訪問[7]。其二,訪問控制是根據用戶具體身份,限制其對非授權資源的訪問或對非授權功能的使用。雖然這兩類技術能有效阻止外部用戶對檔案系統中敏感數據的非法訪問,從而在很大程度上緩解檔案安全問題[8]。但它們無法離開服務器端的支持,即它們只針對檔案系統的外部攻擊者,無法阻止服務器端工作人員或攻克服務器端黑客訪問檔案數據[9]。其三,數據加密是指對存放在服務器端中的敏感數據進行嚴格加密,以確保數據安全性。它是解決數據云上安全的重要手段[10]。然而,加密后的密文數據將失去明文數據許多固有特性(如有序性、相似性、可比性),使得檔案系統中的檔案查詢操作無法再在云端密文數據上正確執行,嚴重破壞了檔案查詢有效性。因此,數字化改革背景下的檔案云上保密管理問題無法通過傳統技術策略加以直接解決[11]。此外,圖書情報領域學者也嘗試從技術角度解決檔案云上保密問題[12]。然而,這些方法通常都直接或間接建立在數字檔案系統原有技術策略的基礎上,同樣難以滿足檔案云上保密管理需求。
針對數字化改革背景下的檔案云上保密管理問題,本文提出了一個解決方案,能在不影響檔案查詢有效性前提下,改善檔案數據在不可信云端安全性。其基本思路是:在不可信云端和可信客戶端間部署可信本地服務器,以運行檔案云上分級存儲模型和檔案云上分段查詢模型。檔案分級存儲模型,負責將檔案輕數據存儲在本地服務器,而將檔案重數據加密后存儲到云端服務器,以確保檔案數據安全性。檔案分段查詢模型,通過在本地和云端分階段執行檔案查詢,以確保檔案查詢有效性。理論分析和實驗評估驗證了方案整體性能,能實現檔案數據安全性、檔案查詢有效性、檔案系統可用性三者的有效統一,從而為搭建安全有效的檔案云上管理平臺提供理論方法與技術基礎,助力政府數字化改革。
本文采用的數字檔案云上保密管理方案建立在原有檔案云上管理系統基礎之上,包括四類角色:檔案錄入員、檔案查詢員、本地服務器和云端服務器。一是檔案錄入員,通過可信檔案錄入界面提交檔案數據。檔案數據分為輕數據(如姓名年齡)和重數據(如檔案圖片)。二是檔案查詢員,通過可信檔案查詢界面提交檔案查詢請求,以獲取目標檔案。檔案查詢請求通常定義在檔案輕數據上。三是云端服務器,進行不可信云端部署,負責存儲本地服務器提交的密文檔案重數據和執行本地服務器提交的檔案密文數據查詢請求。四是本地服務器,進行可信本地部署,負責將檔案錄入員提交的檔案數據區分為重數據和輕數據,并將輕數據存儲在本地,而將重數據加密后存儲到云端;負責將檔案查詢員提交的檔案查詢請求改寫為輕數據查詢和重數據查詢,并通過在本地和云端分段執行輕數據查詢、密文數據查詢和重數據查詢,以確保檔案查詢的有效性。可以看出,檔案云上保密管理方案主要包括檔案云上分級存儲模型和分段查詢模型。
工作流程可分為以下四個步驟。一是發布檔案。檔案錄入員通過可信檔案錄入界面發布一條檔案數據記錄,并提交給本地服務器。將檔案數據記錄為:(data[i][1],data[i][2],……),其中data[i][j]為單個檔案數據項(如職工姓名、檔案圖片、檔案視頻等)。
二是區分輕重。本地服務器將檔案數據記錄區分為檔案輕數據項和重數據項,分別記作(dataL[i][1],dataL[i][2],……)和(dataH[i][1],dataH[i][2],……)。再將檔案輕數據項以明文的形式存儲到本地服務器的本地數據庫(稱為“明文檔案輕數據庫”)。這里的檔案重數據項是指圖片、視頻、音頻、文件等容量較大的檔案數據資料,它們一般不直接支持檔案查詢操作(即檔案查詢語句條件項一般都與檔案重數據項無關),但它們是決定檔案數據庫容量的關鍵性因素。統計結果表明,檔案重數據通常占全部檔案數據庫容量的95%左右。檔案輕數據項是指編號、姓名、年齡、生日、電話等容量較小的檔案數據資料,其數據類型一般為數值型或短文本型。檔案查詢語句條件項一般都定義在檔案輕數據項之上,如查詢“1983/1/1”以后出生的職工檔案。
三是加密數據。本地服務器隨機生成秘鑰keyH[i],使用傳統加密算法加密檔案重數據,得到密文檔案重數據,記作E(keyH[i],dataH[i][1]),E(keyH[i],dataH[i][2]),……。然后本地服務器將密文形式的檔案重數據提交給云端服務器存儲。
四是存儲數據。云端服務器將本地服務器提交的密文形式的檔案重數據項存儲到云端數據庫(稱為“密文檔案重數據庫”)。
工作過程可分為以下六個步驟。一是發布查詢。檔案查詢員通過檔案查詢界面發布檔案查詢語句,提交給本地服務器。檔案查詢語句由定義在檔案數據項上的基本條件項組成(一個條件項關聯一個數據項)。
二是改寫查詢。本地服務器將檔案查詢語句改寫為一個輕數據查詢子句(所有關聯檔案輕數據項的條件項組成)和一個重數據查詢子句(所有關聯重數據項的條件項組成)。由于檔案查詢一般與檔案重數據無關,所以檔案重數據查詢子句通常為空。
三是輕段查詢。本地服務器在明文檔案輕數據庫上執行輕數據查詢,獲取檔案輕數據記錄集LR(其各記錄的ID屬性構成的集合記作ID@LR)。然后,本地服務器生成如下密文數據查詢語句“SELECT * FROM H_DATA_SETWHERE ID IN ID@LR”,并提交給云端執行。
四是密文查詢。云端服務器在密文檔案重數據庫上執行本地服務器提交的密文查詢語句,獲取密文形式的檔案重數據記錄集,并返回給本地服務器。
五是重段查詢。本地服務器結合本地存儲的數據秘鑰,解密云端返回的密文檔案重數據集。然后,在解密重數據上執行步驟1.2生成的重數據查詢子句,得到檔案重數據集HR。
六是合并查詢。本地服務器在檔案輕數據集LR和檔案重數據集HR上執行等值連接查詢語句“SELECT *FROMLR,HR WHERELR.ID=HR.ID”,獲取目標記錄集并返回給客戶端。
本小節主要分析引入本文方案后對原有檔案云上管理平臺產生的影響:首先,分析對檔案數據安全性的影響;然后,分析對檔案查詢準確性和高效性的影響;再次,分析對檔案系統可用性的影響;最后,分析本文方案的本地部署問題。
具體分為兩層,第一層是確保數字檔案輕數據在可信本地服務器的安全性,第二層是確保數字檔案重數據在不可信云端服務器的安全性。
本地通常被認為“誠實且可信”,即其安全威脅來自外部(而非自身)。檔案輕數據在可信本地服務器的安全性,由檔案輕數據庫部署的傳統數據安全策略確保(如身份認證、訪問控制等)。它們能有效阻止外部非法用戶對本地數據庫檔案輕數據的非法訪問。云端通常被認為“誠實但好奇”,即它雖能遵循云服務相關協議規范,但對客戶端提交的檔案數據保持好奇。因此,云端不可信,其安全威脅既來自外部也來自自身。檔案重數據在不可信云端的安全性,由傳統數據加密技術確保。云端數據庫的檔案重數據經過本地服務器的嚴格加密后,以密文形式存儲,其中密鑰存儲在本地(即云端無法獲取)。傳統加密技術的有效性已經經過大量實踐的驗證,即在無法獲知秘鑰情況下,攻擊者基本無法直接獲知密文對應明文。
即對比引入本文方案(及其運行的本地服務器)的前后,檔案云上管理系統各檔案查詢語句的執行結果保持不變。
本文方案將管理系統原來的檔案數據表“縱向”切分為輕數據表和重數據表(兩者行數一致)。本文方案將各個檔案查詢語句切分為一個輕查詢子句和一個重查詢子句,而兩個子句在檔案數據表上的執行結果與原語句保持一致。由于輕查詢子句僅關聯檔案輕數據項,重查詢子句僅關聯檔案重數據項,所以,輕查詢在輕數據表上的執行結果與重查詢在重數據表上的執行結果 “縱向”連接后,必然與原檔案查詢語句在檔案數據表上的執行結果保持一致。
即對比引入本文方案(及其運行的本地服務器)的前后,檔案云上管理系統各檔案查詢語句的執行效率不會顯著下降。
引入本文方案前,記查詢語句在云端數據庫上執行時間為Γ[q],記云端到客戶端檔案記錄集網絡傳輸時間為N2·Γ[e](其中Γ[e]表示單位記錄傳輸時間,N2表示記錄數量)。引入本文方案后,記三個查詢語句總執行時間為Γ[qL]+Γ[qE]+Γ[qH],記檔案記錄集傳輸時間和解密時間為N1·(Γ[e]+Γ[d])(其中Γ[d]表示單位密文記錄解密時間,N1表示云端返回中間服務器的記錄數量)。對比本文方案引入前后,檔案查詢語句的執行效率比可計算如下:φ=(Γ[q]+N2·Γ[e])((Γ[qL]+Γ[qE]+Γ[qH])+N1·(Γ[e]+Γ[d])) (1)
由于三個查詢語句總執行時間與原始語句執行時間基本在一個數量級,為此有:(Γ[qL]+Γ[qE]+Γ[qH])=α·Γ[q] (2)
其中1<α<3。因為檔案查詢語句的基本條件項一般均定義在檔案輕數據項之上(而與檔案重數據項無關),為此有:N2<N1∧N2≈N1。又注意到,單位密文記錄的解密時間和網絡傳輸時間基本固定,為此有:
N1·(Γ[e]+Γ[d])=β·N2·Γ[e] (3)
其中1<β<3。將公式(3)和公式(2)代入公式(1)后,有:φ=(Γ[q]+N2·Γ[e])(α·Γ[q]+β·N2·Γ[e])/>1/3(4)
綜上,得到結論:對比本文方案引入前后,檔案查詢語句執行效率處在同一數量級,即引入本文方案后,檔案云上管理系統各檔案查詢語句的執行效率不會顯著下降。
為了進一步評估方案對檔案查詢效率的影響,我們還設計了一個簡單的實驗。實驗中,檔案數據庫容量被設定為10GB級別,檔案記錄數量被設定為一萬條左右,云端服務器采用浪潮SA5212M5,本地服務器采用普通臺式機。實驗評估結果表明:對比引入本文方案的前后,系統各檔案查詢語句的執行效率降低程度不超過50%,這再次驗證了前面的理論分析結果。
它具體包括以下三個方面:一是不改變客戶端用戶界面程序(包括檔案錄入界面、檔案查詢界面等)和用戶使用習慣;二是不改變云端服務器架構和信息服務算法;三是不改變檔案管理系統原有檔案查詢的準確性和高效性。
本文方案部署在中間服務器,并不改變用戶界面程序(只需將客戶端請求從指向云端,重定向指向中間服務器即可)和用戶使用習慣。本文方案雖然要求云端服務器修改數據庫模式(以存儲密文檔案重數據),但并不要求修改云端數據庫管理系統和信息服務算法,因此并不改變云端現有服務器架構。前面分析已經表明本文方案并不改變檔案管理系統原有檔案查詢的準確性和高效性。為此可知,本文構建的檔案云上保密管理方案,建在原有檔案云上管理系統之上,但無需對原有系統進行二次開發,實現與原有系統的無縫銜接,具有優良的可用性。
即本文方案雖然要求部署本地服務器,但對其存儲性能和計算性能要求均不高。
第一,本地服務器存儲性能瓶頸分析。本地服務器僅存儲檔案輕數據(檔案重數據存儲在云端)。根據大量的統計結果表明,輕數據通常僅占全部檔案數據的5%左右。以1024GB的檔案數據為例,本地數據庫僅需花費50GB的存儲空間(其余數據存儲在云端數據庫)。因此,不會造成本地服務器的存儲性能瓶頸。第二,本地服務器計算性能瓶頸分析。本地服務器需要的計算主要包括:檔案輕數據查詢和密文檔案記錄解密。對于前者,由于檔案輕數據庫的存儲容量并不大,因此其查詢操作的時間開銷也就不高。對于后者,根據前文分析可知,云端返回本地服務器的密文檔案記錄數量通常就等于最終返回客戶端的記錄數量,即本地服務器需要解密的密文檔案記錄數量通常并不多,因此密文檔案記錄解密所需的時間開銷也就不高。綜合兩者可知,不會造成本地服務器的計算性能瓶頸。
綜合上文可以得出結論:本文方案能在基于不影響原有檔案系統可用性、不影響數字檔案查詢的準確性、不影響數字檔案查詢高效性的前提下,有效改善檔案數據在不可信云端的安全性;并且本文方案不會造成本地服務器的存儲性能瓶頸或計算性能瓶頸。因此,本文方案簡單易行,能實現與現有檔案云上管理系統的有效銜接(無需對原有檔案系統做二次開發),較好地適應了數字化改革背景下檔案云上保密管理在可用性和安全性上的實際需求。
本文針對數字化改革背景下數字檔案云上保密管理問題,給出了一個有效的解決方案。該方案簡單易行,能實現與現有數字檔案云上管理系統的有效銜接,較好地適應數字化改革背景下檔案云上保密管理在安全性、可用性、高效性、準確性等方面的應用需求,為搭建安全有效的檔案云上管理平臺提供理論指導,助力政府數字化改革。