專利名稱:安全存儲系統(tǒng)和方法
技術領域:
以下一般地涉及信息安全。
背景技術:
隨著信息技術的發(fā)展,數據存儲和管理服務變得普遍起來。在一些情形中,需要將 大量的電子文件存儲在服務器上。但是,這樣存儲的文件經常沒有得到有效和安全地管理。
舉例來說,一些企業(yè)在工作流程中生成大量的文件。這些文件可能屬于不同的人 員或者應當由特定人員訪問。在傳統(tǒng)的存儲服務中,文件被簡單地存儲在公共的存儲區(qū)域 中。但是,這經常帶來安全問題。例如,文件可能暴露給不適當的人,或者文件被有意或無 意地篡改。即,使用傳統(tǒng)存儲方案,文件缺乏很好的管理,并且安全性難以保證。
另外,在工作流程中,文件可能經常被更改。例如,在制造業(yè)、建筑業(yè)、設計業(yè)等行 業(yè),圖紙或文檔經常被更新。在傳統(tǒng)的存儲管理中,舊版本的文件可能會被更新的文件覆 蓋,從而無法保留完整的修訂歷史。
發(fā)明內容
根據一個實施例,提供了一種安全存儲系統(tǒng)和方法。存儲系統(tǒng)包括加密單元、一個 或多個存儲空間、以及存儲空間管理單元。加密單元對電子文件執(zhí)行混沌加密。文件的密 文可以存儲在根據賬戶分配的存儲空間中。存儲空間管理單元基于與賬戶對應的預定的授 權,控制對存儲空間的訪問。 前面所述的為本申請的概述,因此必然有簡化、概括和細節(jié)省略的情況;本領域的 技術人員應該認識到,概述部分僅是對本申請的說明,而不應看作是對本申請的任何限定。 本說明書中描述的裝置和/或方法和/或其他主題的其他方面、特征和優(yōu)點將會由于本說 明書的闡述而變得清晰。概述部分是用來以一種簡化的方式導入多個將在以下具體實施方 式部分進一步描述的概念。本概述部分既非用于確定所要求保護主題的關鍵特征或必要特 征,也非用來作為確定所要求保護主題的范圍的輔助手段。
通過下面說明書和所附的權利要求書并與附圖結合,就會更加充分地看清楚本申
請的上述和其他特征。應當理解,這些附圖僅是對本申請若干實施方式的描述,不應認為是
對本申請范圍的限定,通過附圖,本申請內容將會得到更加明確和詳細地說明。
圖1示意性地示出了在其中可以應用一個實施例的方案的環(huán)境; 圖2示意性地示出了根據一個實施例的存儲服務的流程; 圖3示意性地示出了根據一個實施例的服務器的配置示例; 圖4示意性地示出了根據一個實施例的加密單元的配置示例; 圖5示意性地示出了根據一個實施例的加密單元所執(zhí)行的加密處理; 圖6示出了根據一個實施例的明文塊中的移位操作;
圖7示意性地示出了根據一個實施例的存儲空間管理單元的配置示例; 圖8示意性地示出了根據一個實施例的用于將文件存儲在服務器上的過程的示
例; 圖9示意性地示出了根據一個實施例的用于訪問文件的過程的示例; 圖10示意性地示出了根據一個實施例的解密單元的配置示例; 圖11示意性地示出了根據一個實施例的存儲空間管理單元的配置示例;以及 圖12示意性地示出了根據一個實施例的存儲空間管理單元的配置示例。
具體實施例方式
在下面的具體實施方式
部分中,結合作為說明書一部分的附圖進行說明。在附圖 中,相同的標記通常表示相同部件,除非說明書中另有說明。
具體實施方式
、附圖和權利要 求書中描述的用來舉例說明的實施方式不應認為是對本申請的限定。在不偏離本申請表述 的主題的精神或范圍的情況下,可以采用本申請的其他實施方式,并且可以對本申請做出 其他變化。應該很容易理解,可以對本說明書中一般性描述的、附圖中圖解說明的本申請的
各個方面進行各種不同構成的配置、替換、組合,設計,而所有這些改變都顯然在預料之中, 并構成本申請的一部分。 本申請還涉及與安全信息存儲相關的方法、裝置、計算機程序和系統(tǒng)。
圖1示意性地示出了其中可以應用一個實施例的環(huán)境。 如圖1所示,多個終端經由網絡可與服務器通信。終端可以是能夠進行信息通信 的任何設備,例如,個人計算機(PC)、筆記本電腦、個人數字助理(PDA)、智能移動電話或其 他數據處理設備。服務器一般實現為能夠存儲和維護數據、并使終端可訪問數據的設備或 一組設備。雖然圖1中總地示出了單個設備,但是服務器可以是靠近放置或遠程放置的多 個分別的設備。網絡可以是任何種類的通信網絡或計算機網絡,包括但不限于無線通信網 絡、有線通信網絡、廣域網(WAN)、局域網(LAN)、因特網、混合網絡等等。雖然沒有示出,但 是可以知道,在一些應用中,終端中的任何一個可以經由電纜或直接無線連接而直接連接 到服務器。在這種情況中,這里以及后文中所描述的網絡是服務器和終端之間的連接介質 或載波。 根據一個實施例,服務器創(chuàng)建并管理一個或多個存儲空間。存儲空間可以在服務 器上預先被創(chuàng)建,或者在基于請求而創(chuàng)建賬戶時被創(chuàng)建。存儲空間可以是用于存儲文件的 存儲器空間。在一個實施例中,存儲空間可被表示了相應賬戶的所有權的一個或多個終端 訪問。 圖2示意性地示出了根據一個實施例的存儲系統(tǒng)的一般流程。如圖2所示,終端 被使用來將一個或多個文件存儲到服務器上的存儲空間中。在被發(fā)送和存儲在存儲空間之 前,文件被加密。解密一般由服務器執(zhí)行。任何加密方案可以被使用。但是,鑒于混沌理論 的特點,在下面描述的實施例中采用了混沌加密。舉例來說,已知混沌是復雜非線性動態(tài)作 用?;煦缧蛄芯哂蓄愲S機性、對初始參數的復雜結構敏感性、擴展的譜等特性。其分布并不 滿足統(tǒng)計概率理論,并且難以分析、重構或預測。這些很吸引人的特征使得它可以用于流式 密碼系統(tǒng)。 文件被加密后,文件的密文被存儲在相應的分配給一個賬戶的存儲空間中。S卩,存儲在每個存儲空間中的文件是密文形式的。 當服務器接收到訪問一個或多個文件的請求時,服務器驗證該請求;并基于對請 求的授權,控制對存儲空間的訪問。例如,通過驗證,服務器識別與該請求相關的賬戶,并允 許瀏覽或訪問被分配給該賬戶的存儲空間中的文件,或者該賬戶被授權訪問的( 一個或多 個)存儲空間中的文件。 當服務器接收到讀取或取出存儲空間中所存儲的文件的請求時,以密文形式存儲 的文件被解密,并使得可用于訪問。如將要描述的,解密可以在服務器處、在終端處或者在 第三可信方處執(zhí)行。 下面將參考圖3 圖6描述服務器的配置示例和所執(zhí)行的過程。 圖3示意性地示出了根據一個實施例的服務器100的配置示例。 如圖3所示,服務器100主要包括被配置用于存儲加密文件的一個或多個存儲空
間110-1, 110-2,…,110-n、用于加密要被存儲的文件的加密單元120、以及用于基于預定
授權來控制對存儲空間的訪問的存儲空間管理單元130 。 雖然未示出,但是服務器100還可以包括任何其他單元/部件,例如,用于與網絡 或終端連接的通信單元、用于向服務器的操作者顯示信息的顯示單元、用于接收數據輸入 的輸入單元、用于控制單元操作的控制器、任何必要的存儲裝置等等。這些部件是本領域中 所知的,因此并不對它們進行描述,并且本領域技術人員容易認識到可以根據任何具體的 應用而將它們添加到服務器。 圖4示意性地示出了根據示意實施例的加密單元120的配置示例。 如圖4所示,加密單元120包括被配置用于設置混沌映射的映射設置模塊121、被
配置用于設置混沌映射的初始參數的初始參數設置模塊122、被配置用于設置生成密文時
所用的加密算法的加密算法設置模塊123、被配置用于根據混沌映射生成密鑰序列的密鑰
生成模塊124、以及被配置用于利用密鑰序列和加密算法來生成文件的密文的密文生成模
塊125。 圖5示意性地示出了加密單元120所執(zhí)行的加密處理。簡單地說,在步驟S501,混 沌映射設置模塊121設置混沌映射,并且在步驟S502,初始參數設置模塊122設置用于混沌 映射迭代的初始參數。在步驟S503,密鑰生成模塊125利用由初始參數設置模塊122設置 的參數作為對混沌映射的初始輸入,通過混沌映射的迭代,生成密鑰序列。在步驟S504,加 密算法設置模塊123設置要用于加密文件的具體的(一個或多個)加密算法。然后,在步 驟S505,密文生成模塊125使用有加密算法設置模塊123設置的加密算法,利用所生成的密 鑰序列,對文件的塊進行加密。 應當注意,上述步驟的順序并不限于圖中所示出的順序。例如,設置加密算法的步 驟可以在設置混沌映射的步驟之前、之后或者同時執(zhí)行。另外,可以對該流程添加任何其他 的步驟,以進行改進或修改。 下面提出混沌加密的一個具體操作示例以提供對實施例更好的理解。 假設文件的明文被表示為M = M。, M" M2,…,Mn,通過混沌映射的迭代生成了密鑰
序列B = b。, bp…,b,并且模2加運算(十)被選擇作為加密算法,則密文生成模塊125計
算C,. = W,.十Z), (i = 0,1,2,, n),以獲得密文C = c。, Cl, c2, ...,cn。 下面以Logistic映射為例,描述根據一個實施例的加密過程。
首先,加密單元120的映射設置模塊121設置如下四個Logistic映射 <formula>formula see original document page 7</formula> 其中,xni表示第i個映射的n次迭代后的值。在一個示例中,^和P i可以是雙 精度值。 初始參數設置模塊122設置映射的初始輸入。例如,輸出參數設置模塊122設置 隨機數y i e (3.57,4)和;^ G(O, l),i = 1,2,3,4。 利用這些初始值,密鑰生成模塊124執(zhí)行式(1)的例如100次迭代,以獲得四個值 x咖1、 x1TO2、 Xl。。3、 Xl。。4。該操作消除了初始值的痕跡。 然后,密鑰生成模塊124進一步對每個映射執(zhí)行20次迭代。第i個映射的j次迭 代后獲得的值被表示為x/,x/具有二進制形式《=06 「《一,其中bjni是x/的第n比 特的二進制值。 在20次迭代中的每次迭代之后,密鑰生成模塊124從Xj1、 x/、 x/、 x/每個中提取 兩個比特,以獲得一個8比特的比特序列。例如,從x/(i = 1,2,3,4)中提取第2和第3比 特,得到8比特的序列、2、2、2、2、3、3、3、34。 在20次迭代和提取之后,得到了如下的128比特的密鑰序列A和32比特的另一 序列DA = HuHuH2,2H2,3H3,2H3,3…H化A6,3 D = H17,2H17,3H18,2H18,3H19,2H19,3H20,2H20,3 其中,/乙.,2 =^2《2~32《2,/^.,3 =6》)3~3《3。序列八用于最后的加密步驟,序列
B用于生成下面將描述的中間密文。 在本示例中,在被加密之前,明文的塊經歷移位操作,以便提高加密強度。具體地, 明文被劃分成一系列的塊P。, Pp Pf,每個塊具有128比特的長度。 參考圖6,任一塊Pk都被分為兩個子塊Pkl和Pk2,每個子塊具有64比特的長度。 然后,子塊Pkl和Pk2分別經歷Si比特和S2比特的循環(huán)左移,其中Si = (H17,2H17,3)mod 64, S2= (H18,2H18,3)mod 64。子塊Pkl和Pk2在被移位之后,被組合以形成塊Pk'。然后,塊Pk' 也經歷S比特的循環(huán)左移,以形成中間密文Ck',其中S = (H19,2H19,3+H2。,2H2。,3)mod 128。
上述對明文的塊進行劃分和移位的處理例如可以由密文生成模塊125執(zhí)行。
在得到中間密文Ck'之后,密文生成模塊125對密鑰序列A和中間密文Ck'執(zhí)行 如下模2加(異或)運算,以獲得塊Pk的密文Ck
<formula>formula see original document page 7</formula>式(2) 為了處理下一塊P^,密鑰生成模塊124進行如下計算 <formula>formula see original document page 7</formula>
<formula>formula see original document page 7</formula>
<formula>formula see original document page 7</formula><formula>formula see original document page 8</formula> 然后,密鑰生成模塊124進一步對式(1)中的第一映射執(zhí)行Ej欠迭代,對第二映 射執(zhí)行E2次迭代,對第三映射執(zhí)行E3次迭代,對第四映射執(zhí)行E4次迭代。這之后,對塊Pk+1 重復上述通過20次迭代生成序列A和D、對明文塊進行移位以獲得中間密文、以及利用序列 A和中間密文生成塊的最終密文的處理,以獲得密文C^。 上述處理被執(zhí)行,直到文件的每個塊都被處理,并且獲得了文件的最終的密文。 關于混沌映射、混沌映射的初始參數和控制參數、以及所選擇的加密算法的信息
被加密單元保存,以用于以后的解密?;蛘撸梢灾苯哟鎯λ傻拿荑€序列。 上述僅僅是一個實施例中所使用的混沌加密的一個示例。容易認識到,本申請并
不限于上述任何具體處理,而是可以作出任何簡化、替代、修改或改進。 例如,在上面的示例中使用了異或運算作為加密算法來生成密文。但是,可以采用 使用密鑰生成密文的任何其他加密算法,例如,加法操作、減法操作、取反操作、移位操作、
置換操作等。 在上述實施例中,對各個塊使用同一種加密算法。但是,在另 一個實施例中,可以
對不同的塊使用不同的加密算法。例如,加密算法設置模塊123可以選擇多于一個的加密
算法,并且密文生成模塊125將這些加密算法中的每個應用于塊的相應一個子集。通過在
加密文件的多個塊時使用變化的加密算法,可以防止對密文的"頻率統(tǒng)計"攻擊。 應當注意,低維和高維混沌系統(tǒng)都可應用。即,映射設置模塊121可以設置一維
混沌映射或者多維混沌映射。利用高維混沌系統(tǒng),可以得到密鑰序列的更好的特性,例如,
長周期、高非線性復雜度和好的統(tǒng)計特性(包括平衡、自相關、互相關和傳播分布(travel
distribution))。由于高維混沌序列在其隨機性方面具有改進的屬性,因此利用高維混沌
系統(tǒng)加密的文件難以被破解,從而保證了安全性。 例如,如下的三維Lorenz等式可以被用來建立混沌系統(tǒng) dxl/dt = _e xl+x2x3 dx2/dt = - o (x2-x3) dx3/dt = _xlx2+P x2-x3 其中P 、 o禾P P是系統(tǒng)參數,具有典型值P = 8/3, o = 10和P = 28。保持 o和P不變,當P > 24. 74時,Lorenz系統(tǒng)進入混沌狀態(tài)。 在上述示例中,從隨機選擇的初始輸入開始混沌映射的迭代,而生成密鑰序列。在 另一實施例中,密鑰序列的生成可以與文件的明文相關聯。例如,初始輸出可以包括文件明 文的信息。 另外,在一個實施例中,可以使用偽隨機噪聲序列(PN序列)來改善混沌序列的特 性。例如,可以使用反饋移位寄存器生成最長線性反饋移位寄存器序列來作為PN序列,并 且PN序列作為隨機擾動被添加到混沌序列上。 下面將參考圖7描述存儲空間管理單元130的一個配置示例。 如圖7所示,存儲空間管理單元130包括被配置用于分配存儲空間并規(guī)定訪問權
限的授權模塊131、被配置用于基于所接收的請求控制對存儲空間進行訪問的訪問控制模
塊132、以及被配置用于驗證用于訪問服務器上的文件的請求的驗證模塊133。 在初始化階段,授權模塊131建立根據預定的一組參數分配的一個或多個存儲空
8間。例如,對于經認證的賬戶,授權模塊131在服務器上對該賬戶分配一個存儲空間,并授 權該賬戶訪問該存儲空間。存儲空間是用于存儲電子文件的存儲空間,其可以是物理存儲 區(qū)域或者虛擬存儲空間(例如,服務器上創(chuàng)建的文件夾)??梢栽诜掌魃项A先設置多個存 儲空間,并且授權模塊131相應地分配它們?;蛘?,可以在服務器接收到用于創(chuàng)建新帳戶的 請求時由授權模塊131創(chuàng)建存儲空間。 應當注意,在某些應用中,在初始授權之前可以需要預驗證。即,如果生成了對于
存儲服務的新的請求,驗證單元133可以首先認證請求的身份。被驗證單元133成功認證
的請求可以被分配帳戶和相應的存儲空間,并且被授權模塊131授予訪問權。 存儲空間與相應帳戶的關聯例如被注冊在由授權模塊131維護的授權數據庫中。
在存儲空間被使能并可以被相關聯的帳戶訪問的應用中,存儲空間和帳戶之間的關聯表示
出了帳戶具有訪問權。 在另一種應用中,可能會授權對并非分配該帳戶的其他(一個或多個)存儲空間 的訪問。在這種情況中,帳戶的具體權限也被注冊在由授權模塊維護的授權數據庫中。訪 問權限的種類可以根據具體的應用來設定。例如,訪問權限包括但不限于登入、登出、瀏覽、 編輯、添加新文件、創(chuàng)建文件夾、刪除文件、改變文件屬性等等。 圖8示意性地示出了用于在服務器上存儲文件的過程的示例。 一般,當產生了用 于在服務器上存儲文件的請求時,在步驟S801,利用驗證模塊133執(zhí)行驗證。例如,驗證模 塊133要求帳戶名和口令。如果所接收帳戶名被預先記錄在了由驗證模塊維護的驗證數據 庫中,并且所接受的口令與驗證數據庫中和該帳戶名相關聯地注冊的口令相匹配,則準許 訪問該帳戶。否則,過程進行到步驟S804進行失敗處理,其中,例如請求被拒絕,或者要求 重試驗證。驗證數據庫可以預先由驗證模塊133建立,或者在驗證模塊131執(zhí)行驗證過程 的時候建立。驗證數據庫可以被存儲在驗證模塊133中,或者與授權數據庫分別或組合地 存儲在授權模塊131中,或者存儲在其他存儲裝置中。 在成功驗證之后,文件被允許傳送到服務器。在步驟S802,文件在被存儲之前,被 加密單元120利用混沌加密進行加密?;谕ㄟ^驗證過程獲得的帳戶信息,授權模塊131 識別被分配給該帳戶的存儲空間,并且在訪問控制模塊132的控制下,在步驟S803,文件的 密文被存儲在所識別出的存儲空間中。 圖9示意性地示出用于訪問存儲空間中所存儲的文件的過程的示例。通常,當用 于訪問服務器上的文件的請求被生成時,在步驟S901利用驗證模塊133執(zhí)行驗證。當驗證 失敗時,過程進行到步驟S904以進行失敗處理。這些處理類似于上述參考圖8描述的處理。
另一方面,在驗證成功之后,訪問控制模塊132檢查帳戶是否被允許訪問所請求 的文件。具體地,基于通過驗證獲得的帳戶信息,授權模塊131查找授權數據庫以尋找與該 帳戶相關聯的訪問權限。如果該帳戶具有相應的訪問權限,則訪問控制模塊132提供對相 應存儲空間的訪問,例如允許終端執(zhí)行相應的訪問操作。如果請求不具有適當的訪問權限, 則訪問控制模塊132將拒絕該訪問請求,并且過程進行到步驟S904以進行失敗處理。
在訪問存儲空間時終端和服務器之間的通信可以基于TCP/IP、遠程過程調用 (Remote Procedure Call, RPC)禾口分布組件技術(DistributedComponent Technology)。 例如,用于提供遠程過程調用服務的在服務器上的存儲空間服務線程被創(chuàng)建,并且選擇適 合的協議(以命名管道作為缺省協議)來接收遠程過程調用。然后,服務器監(jiān)視客戶端遠程過程調用,如果客戶端RPC被接收到,則客戶端RPC的授權可以被檢查,以判斷該客戶端 是否應當被允許訪問存儲空間中的文件。 由于文件是以密文形式被存儲在存儲空間中的,所以當文件被訪問時,文件應當 被解密。解密單元被提供用于對從存儲空間取得的文件進行解密。圖10示意性地示出了 解密單元的一個配置示例。 如圖10所示,解密單元1000包括被配置用于獲得解密所需參數的參數獲取模塊 1001、被配置用于獲得用于解密的密鑰序列的密鑰生成模塊1002、以及被配置用于對密文 進行解密以得到文件的明文的明文生成模塊1003。 參數獲取模塊1001獲取用于解密的必要參數。在一個實施例中,參數獲取模塊 1001與服務器的加密單元通信,并接收關于混沌映射、映射迭代的初始值和控制參數、以及 加密算法的信息。利用關于混沌映射、映射迭代的初始值和控制參數的信息,密鑰生成模塊 1002通過與加密時相同的混沌映射的迭代,生成密鑰序列。 或者,密鑰序列可以由參數獲取模塊1001直接從服務器的加密單元獲得。在這種 情況中,密鑰生成模塊1002不是必要的。 然后,明文生成模塊1003利用密鑰序列,通過加密算法的逆運算,根據從存儲空 間獲取的密文,生成文件的明文。 解密單元可以被提供在終端中。在這種情況中,服務器將文件的密文傳輸給終端, 密文在終端處被解密。 在另一個實施例中,加密單元被提供作為服務器的一個單元。在這種情況中,密文 在服務器處被解密,然后文件的明文被使得可用于訪問或者被傳輸給終端。
在上述示例中,文件以密文的形式被存儲在存儲空間中。但是,在另一實施例中, 只是一些文件被加密。即, 一些文件在被加密之后被存儲,而另一些文件不被加密就被存 儲。在這種情況中,可以對文件添加加密標志。例如,在文件被加密后,加密單元120向文件 密文的末尾或者頭部添加特殊標志。當文件被取出后,解密單元首先檢查所取出的文件中 是否存在該標志。如果標志存在,則對所取出的文件執(zhí)行解密。否則,判斷出文件沒有被加 密,并且解密處理被跳過。利用該標志,可以防止必要的解密以及因而對文件造成的破壞。
在另一實施例中,加密單元還將密鑰序列添加到文件密文的特定位置。例如,密鑰 序列被添加到加密標志之后,或者插入到密文的特定位置。當對文件解密時,解密單元的參 數獲取模塊提取嵌入在密文中的密鑰序列,并將其提供給明文生成模塊。
在另一實施例中,系統(tǒng)請求輸入密鑰序列,并且當輸入的密鑰序列與嵌入在密文 中的密鑰序列相符時,解密單元才執(zhí)行解密。 上面提供了使用存儲空間的示例。利用該存儲空間,對文件的訪問被有效地控制。 相應地,存儲在存儲空間中的文件對于經授權和驗證的帳戶是可用的。 在另一實施例中,存儲空間的文件夾結構可以被指定。圖11示意性地示出了根據 該實施例的存儲空間管理單元的配置示例。 如圖11所示,除了上述授權模塊131、訪問控制模塊132和驗證模塊133之外,存 儲空間管理單元1100還包括被配置用于設置存儲空間中的文件夾結構的存儲空間設置模 塊1101。 存儲空間的文件夾結構可以任意設置,或者根據指定的規(guī)則來設置。例如,文件夾結構根據工作流程的不同階段來設置。例如,對于設計摩天大樓的項目,存儲空間可以具有 名為"摩天大樓"的根文件夾,并且在該根文件夾中可以分別創(chuàng)建名為"初步設計"、"概要設 計"、"施工圖設計"的三個子文件夾。在根文件夾和任何子文件夾中可以創(chuàng)建進一步的子文 件夾。 在該實施例中,存儲空間設置模塊1101感覺從存儲空間所分配帳戶接收到指令, 設置存儲空間的文件夾結構。這提供了存儲空間的定制配置。 在另一實施例中,提供了版本管理。圖12示意性地示出了根據該實施例的存儲空 間管理單元的示例配置。 如圖12所示,除了上述授權模塊131、訪問控制模塊132和驗證模塊133之外,存 儲空間管理單元1200還包括被配置用于管理文件的不同版本的版本管理模塊1201。版本 管理模塊對存儲空間中所存儲的每個文件分配了版本號,并且文件以結合了該版本號的文 件名被存儲。例如,版本號作為后綴被添加到文件名上。當文件要被改變或更新時,新的版 本號被生成,并且被結合到更新后的文件的文件名中。從而,老版本的文件不會被新版本的 文件覆蓋。這樣,文件版本的完整歷史被保持,并且可以獲取老版本的文件。
例如,當文件abc. psa最初被存儲時,版本管理模塊1201自動生成初始版本號,例 如V001。然后,文件利用文件名abcV001.psd被存儲在存儲空間中。之后,如果文件被編輯 或者當文件以文件名abc. psd或abcVOOl. psd被存儲時,版本管理模塊1201將生成新的版 本號,例如V002,并且編輯后的文件或者新文件利用文件名abcV002. psd被存儲,而老的文 件abcVOOl. psd被保持在存儲空間中不變。 新版本可以在存儲空間中的文件被更新或文件被訪問時生成。在文件被訪問時生 成新版本的情況中,從存儲空間中取出的文件將具有含有新版本號的文件名。在文件被本 地編輯之后,文件可以被存儲到存儲空間中而不用再改變文件名。 —般,版本號是順序生成并且按照時間順序遞增的。例如,版本號可以說順序遞增 的自然數,或者表示日期和時間的串。任何其他類型的字符、數字、標志或標記都可以用作 版本號,只要不同的版本彼此相區(qū)分。 版本號可以被插入到文件名的任何位置,只要原文件名和版本號可以被識別出。
也可以采用存儲不同版本文件的其他方法。例如,代替使用其中結合的版本號的 文件名,在一個實施例中,版本管理模塊1201創(chuàng)建不同的文件夾來保持不同版本的文件。 例如,在用于存儲文件的文件夾中,子文件夾V001被創(chuàng)建用于存儲版本為V001的文件,子 文件夾V002被創(chuàng)建用于存儲版本為V002的文件,以此類推。在這種情況中,文件名可以保 持不變。 在另一個實施例中,版本管理模塊1201將一個文件所有版本關聯起來,并且在被 請求時,所有版本的文件可以一次被訪問。這有助于查看文件的歷史。文件的版本信息可 以記錄在有版本管理模塊1201維護的數據庫中。 已經參考附圖描述了一些具體實施例。但是,本發(fā)明并不受到上述實施例中的任 何具體配置和處理的限制。在本發(fā)明的精神的范圍內,本領域的技術人員能夠構想上述配 置、算法、操作和處理的各種替換、改變或修改。 上述體現各個方面的示例可以根據具體的應用而組合。例如,存儲空間管理單元 可以包括圖11中所示的存儲空間設置模塊和圖12所示的版本管理模塊的功能。
圖中示出了單元和模塊。但是,每個設備中所包括的部件并不限于這些單元和模 塊,具體的配置可以被修改或改變。例如,可以根據具體的應用添加其他已知的部件。另外, 雖然所描述的單元和模塊在圖中被示為分別的塊,但是它們中的任何一個都可以與其他單 元或模塊相組合作為一個部件,或者被分為多個部件。 應當注意,本說明書中使用的術語"文件"應當被理解為是廣義的概念。其可以包 括任何種類的文檔、文件、數據或信息,包括但不限于例如文本文件、視頻/音頻文件、圖像 /圖表等等。并且,本說明書中使用的術語"終端"應當被理解為是廣義的概念。其可以包 括存儲服務中所涉及的任何特定終端,或一組機器,或是作為軟件應用功能的虛擬終端。
本發(fā)明的元素可以實現為硬件、軟件、固件或者它們的組合,并且可以用在它們的 系統(tǒng)、子系統(tǒng)、部件或者子部件中。當以軟件方式實現時,本發(fā)明的元素是被用于執(zhí)行所需 任務的程序或者代碼段。程序或者代碼段可以存儲在機器可讀介質中,或者通過載波中攜 帶的數據信號在傳輸介質或者通信鏈路上傳送。"機器可讀介質"可以包括能夠存儲或傳輸 信息的任何介質。機器可讀介質的例子包括電子電路、半導體存儲器設備、R0M、閃存、可擦 除R0M(ER0M)、軟盤、CD-R0M、光盤、硬盤、光纖介質、射頻(RF)鏈路,等等。代碼段可以經由 諸如因特網、內聯網等的計算機網絡被下載。 本發(fā)明可以以其他的具體形式實現,而不脫離其精神和本質特征。例如,特定實施 例中所描述的算法可以被修改,只要特性不脫離本發(fā)明的基本精神。因此,當前的實施例在 所有方面都被看作是示例性的而非限定性的,本發(fā)明的范圍由所附權利要求而非上述描述 定義,并且,落入權利要求的含義和等同物的范圍內的全部改變從而都被包括在本發(fā)明的 范圍之中。 在系統(tǒng)方面的硬件和軟件執(zhí)行之間很少有區(qū)別;采用硬件或者軟件通常(但并非 總是,在一些情況下,在硬件和軟件之間進行選擇會很重要)是反映成本/效率權衡的設計 選擇。有許多本說明書中描述的方法和/或系統(tǒng)和/或其他技術借此得以實現的工具(例 如硬件、軟件、和/或固件),并且,方法和/或系統(tǒng)和/或其他技術所處環(huán)境不同,優(yōu)選的工 具也不同。例如,如果實施者判定速度和精確性至關重要,該實施者會選擇以硬件和/或固 件的工具為主;如果適應性至關重要,實施者可能選擇以軟件執(zhí)行為主;實施者也可選擇 硬件、軟件和/或固件的某些結合。 前述已通過框圖、流程圖和/或實施例進行了詳細描述,闡明了本申請裝置和/或 方法的不同實施方式。當這些框圖、流程圖和/或實施例包含一個或多個功能和/或操作 時,本領域的技術人員會明白,這些框圖、流程圖和/或實施例中的各功能和/或操作可以 通過各種硬件、軟件、固件或實質上它們的任意結合而單獨地和/或共同地實施。在一個 實施方式中,本說明書中描述的主題的幾個部分可通過專用集成電路(ASIC)、現場可編程 門陣列(FPGA)、數字信號處理器(DSP)或其他集成形式實現。然而,本領域的技術人員會 認識到,本說明書中描述的實施方式的一些方面能夠全部或部分地在集成電路中以在一個 或多個計算機上運行的一個或多個計算機程序的形式(例如,以在一個或多個計算機系統(tǒng) 上運行的一個或多個計算機程序的形式)、以在一個或多個處理器上運行的一個或多個程 序的形式(例如,以在一個或多個微處理器上運行的一個或多個程序的形式)、以固件的形 式、或以實質上它們的任意組合的形式等同地實施,并且,根據本說明書中公開的內容設計 用于本申請的電路和/或寫用于本申請的軟件和/或固件的代碼完全是在本領域技術人員的能力范圍之內。另外,本領域的技術人員會認識到,無論用來實際進行分發(fā)的負載信號 的媒介的類型是什么,本說明書中描述的主題的機理能夠以各種形式的程序產品的形式分 發(fā),并且,本說明書中描述的主題的示例性實施方式均適用。例如,負載信號的媒介包括但 不限于下列可記錄型媒介,如軟盤、硬盤、光盤(CD)、數字視頻光盤(DVD)、數字磁帶、計算 機存儲器等;傳輸型媒介,如數字和/或模擬通訊媒介(例如光纜、波導、有線通訊鏈路、無 線通訊鏈路等)。 本領域的技術人員會認識到,以本說明書中說明的方式描述裝置和/或方法、然 后進行工程實踐,將所述裝置和/或方法整合到數據處理系統(tǒng)中在本領域里是很常見的。 也就是說,本說明書中描述的裝置和/或方法中的至少一部分可通過合理量的實驗整合到 數據處理系統(tǒng)中。本領域技術人員會認識到,典型的數據處理系統(tǒng)通常包括下列中的一個 或多個系統(tǒng)單元殼體、視頻顯示器件、如易失性和非易失性存儲器的存儲器、如微處理器 和數字信號處理器的處理器、如操作系統(tǒng)、驅動器、圖形用戶界面的計算實體及應用程序、 一個或多個如觸摸板或觸摸屏的交互裝置、和/或包括反饋回路和控制馬達在內的控制系 統(tǒng)(如檢測位置和/或速度的反饋;用于移動和/或調整部件和/或數量的控制馬達)。典 型的數據處理系統(tǒng)可以采用任何合適的市場上有售的部件(如數據計算/通訊和/或網絡 計算/通訊系統(tǒng)中通常會有的那些部件)來構建。 本說明書中描述的主題內容中有時會舉例說明這樣的不同部件,這些部件被包含 于或連接于不同的其他部件。應當理解,所描述的這些結構僅僅是示例性的,實際上,也可 以用許多其他結構來實現同一功能。從概念上來講,用于實現同一功能的任何配置的部件 都被有效地"連接"以獲得所需功能。因此,本說明書中被結合在一起以實現特定功能的任 何兩個部件可視為相互"連接"以獲得所需功能,而不論其結構或媒介部件如何。同樣地,如 此連接的任何二個部件也可視為相互"可操作地連接",亦即"可操作地耦合"以實現所需功 能,能夠被如此連接的任何兩個部件也可視為相互"能夠可操作地耦合"以實現所需功能。 能夠可操作地耦合的具體例子包括但不限于物理上可耦合的和/或物理上互相作用的部 件和/或可無線互相作用的和/或無線互相作用的部件和/或邏輯上互相作用和/或邏輯 上可互相作用的部件。 對于本說明書中所用的幾乎所有的復數和/或單數術語,本領域的技術人員可以 將復數解釋為單數和/或將單數解釋為復數,只要這樣做從上下文和/或應用上看是合適 的即可。為了清楚起見,在本說明書中將各種單數/復數的變換明確地表述出來。
本領域技術人員應該明白,一般來說,本申請中,尤其是所附權利要求書(例如, 所附權利要求書的正文)中所用的術語通常是"開放式"術語(例如,"包括"一詞應該解釋 為"包括但不限于","具有"一詞應該解釋為"至少具有",等等)。本領域技術人員還應該 明白,如果意圖引述特定數目的權利要求,那么這種意圖會在權利要求中明確地表述出來, 如果沒有這種表述,則不存在這種意圖。例如,為了便于理解,下面所附的權利要求書中可 使用引導性短語"至少一項"及"一項或多項"來引入權利要求的引述。然而,不應將使用 這種引導性短語解釋成這意味著,通過不定冠詞"一"引入的權利要求引述是將包含這種引 入的權利要求引述的任何特定權利要求限定為僅包含一項這種表述的申請,即使同一權利 要求包含引導性短語"一項或多項"或"至少一項"以及諸如"一"的不定冠詞(例如,"一" 通常應該解釋成這意味著"至少一項"或"一項或多項");這同樣適用于用定冠詞引述權利要求的情況。此外,即使明確表述了引述特定數目的權利要求,本領域技術人員也應該認識 到,這種表述應該解釋成表示至少是所表述的數目(例如,只說"兩項引述",而沒有其它修 飾語,通常是指至少兩項引述,亦即兩項或更多項引述)。此外,在使用類似于"A、B及C等 中的至少一個"的習用表述的情況下,通常,該習慣性表述應當會得到本領域的技術人員的 理解(例如,"具有A、 B和C中的至少一個的系統(tǒng)"會包括但不限于僅具有A的系統(tǒng)、僅具 有B的系統(tǒng)、僅具有C的系統(tǒng)、具有A和B的系統(tǒng)、具有A和C的系統(tǒng)、具有B和C的系統(tǒng)和 /或具有A、B和C的系統(tǒng))。在使用類似于"A、B或C等中的至少一個"的習慣性表述的情 況下,通常其要表達的意思就是本領域技術人員會就該習用表述所理解的那樣(例如,"具 有A、B或C中的至少一個的系統(tǒng)"將包括但不限于僅具有A的系統(tǒng)、僅具有B的系統(tǒng)、僅具 有C的系統(tǒng)、具有A和B的系統(tǒng)、具有A和C的系統(tǒng)、具有B和C的系統(tǒng)和/或具有A、 B和 C的系統(tǒng),等等)。本領域技術人員還會明白,實際上任何能夠提供兩個或更多選項的選言 詞和/或短語,無論是在說明書中、權利要求書中還是在附圖中,都應該理解為其設定了包 括所述選項中的一個、所述選項中的任一個、或全部二個選項的所有可能性。例如,短語"A 或B"應該理解成包括"A"或"B"或者"A和B"的可能性。 本申請中公開了本申請的多個方面和實施方式,本領域的技術人員會明白本申請 的其它方面和實施方式。本申請中公開的多個方面和實施方式只是用于舉例說明,并非是 對本申請的限定,本申請的真正保護范圍和精神應當以所附的權利要求書為準。
權利要求
一種存儲系統(tǒng),包括適合于存儲文件的一個或多個存儲空間;加密單元,適合于在文件被存儲在存儲空間之前對文件執(zhí)行混沌加密;和存儲空間管理單元,適合于基于預定授權,控制對所述一個或多個存儲空間的訪問。
2. 根據權利要求1所述的存儲系統(tǒng),其中,所述加密單元包括 映射設置模塊,被配置為設置混沌映射;初始參數設置模塊,被配置為設置所述混沌映射的初始參數; 加密算法設置模塊,被配置為設置加密算法; 密鑰生成模塊,被配置為根據所述混沌映射生成密鑰序列;禾口 密文生成模塊,被配置為利用所述密鑰序列和所述加密算法,生成文件的密文。
3. 根據權利要求1所述的存儲系統(tǒng),其中,所述加密單元被配置為利用高維混沌映射 執(zhí)行混沌加密。
4. 根據權利要求1所述的存儲系統(tǒng),其中,所述加密單元被配置為通過以下加密算法 中的至少一種執(zhí)行混沌加密異或; 加法; 減法; 取反; 移位;和 置換。
5. 根據權利要求1所述的存儲系統(tǒng),其中,所述加密單元被配置為改變加密算法來執(zhí) 行混沌加密。
6. 根據權利要求1所述的存儲系統(tǒng),其中,所述加密單元被配置為利用至少一個包含 從文件的明文得到的信息的初始參數來執(zhí)行混沌加密。
7. 根據權利要求1所述的存儲系統(tǒng),其中,所述加密單元被配置為將加密標志添加到 密文上。
8. 根據權利要求1所述的存儲系統(tǒng),其中,所述存儲空間管理單元包括 授權模塊,被配置為分配所述一個或多個存儲空間,并授權對所述一個或多個存儲空間的訪問;驗證模塊,被配置為驗證用于訪問存儲空間的請求;禾口訪問控制模塊,被配置為基于驗證結果和所述請求的授權,控制對所述一個或多個存 儲空間的訪問。
9. 根據權利要求1所述的存儲系統(tǒng),其中,所述存儲空間管理單元包括存儲空間設置 模塊,所述存儲空間設置模塊被配置為根據文件夾結構來設置存儲空間的存儲結構。
10. 根據權利要求1所述的存儲系統(tǒng),其中,所述存儲空間管理單元包括版本管理模 塊,所述版本管理模塊被配置為當文件要被更新時,生成新版本的文件并保持原版本的文 件。
11. 根據權利要求10所述的存儲系統(tǒng),其中,所述版本管理模塊被配置為將版本號結 合到文件的文件名中。
12. 根據權利要求1所述的系統(tǒng),還包括解密單元,適合于對從存儲空間取出的一個或 多個加密文件進行解密。
13. —種存儲方法,包括分配一個或多個存儲空間,每個存儲空間適合于存儲文件; 在文件被存儲在存儲空間之前對文件執(zhí)行混沌加密;以及 基于預定授權,控制對所述一個或多個存儲空間的訪問。
14. 根據權利要求1所述的存儲方法,其中,執(zhí)行混沌加密包括 設置混沌映射;設置所述混沌映射的初始參數; 設置加密算法;根據所述混沌映射生成密鑰序列;以及 利用所述密鑰序列和所述加密算法,生成文件的密文。
15. 根據權利要求1所述的存儲方法,其中,所述混沌加密是利用高維混沌映射執(zhí)行的。
16. 根據權利要求1所述的存儲方法,其中,所述混沌加密是通過以下加密算法中的至 少一種執(zhí)行的異或; 加法; 減法; 取反; 移位;和 置換。
17. 根據權利要求1所述的存儲方法,其中,所述混沌加密是通過改變加密算法來執(zhí)行的。
18. 根據權利要求1所述的存儲方法,其中,所述混沌加密的至少一個初始參數包含從 文件的明文得到的信息。
19. 根據權利要求1所述的存儲方法,還包括將加密標志添加到密文上。
20. 根據權利要求1所述的存儲方法,其中,控制訪問包括 驗證用于訪問存儲空間的請求;以及基于驗證結果和所述請求的授權,控制對所述一個或多個存儲空間的訪問。
21. 根據權利要求1所述的存儲方法,還包括根據文件夾結構設置存儲空間的存儲結構。
22. 根據權利要求1所述的存儲方法,還包括當文件要被更新時,生成新版本的文件并 保持原版本的文件。
23. 根據權利要求10所述的存儲方法,還包括將版本號結合到文件的文件名中。
24. 根據權利要求1所述的存儲方法,還包括對從存儲空間取出的一個或多個加密文 件進行解密。
全文摘要
提供了一種安全存儲系統(tǒng)和方法。存儲空間被創(chuàng)建用于存儲文件。對文件進行混沌加密,并且文件的密文被存儲在分配給相應帳戶的存儲空間中?;谂c帳戶相對應的預定授權來控制對存儲空間的訪問。另外,可以提供版本管理,使得可以維護文件的版本歷史。
文檔編號G06F12/14GK101727407SQ200810173048
公開日2010年6月9日 申請日期2008年10月29日 優(yōu)先權日2008年10月29日
發(fā)明者陳東明 申請人:東北大學興科中小企業(yè)服務中心