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