本發(fā)明涉及云端數(shù)據(jù)存儲技術(shù)領(lǐng)域,具體而言,涉及一種云端存儲加密方法、解密方法及云端存儲加密裝置。
背景技術(shù):
隨著數(shù)字技術(shù)的發(fā)展,更多的數(shù)據(jù)采用數(shù)字化的方式進(jìn)行存儲。當(dāng)數(shù)據(jù)量較大時,本地存儲對數(shù)字設(shè)備要求高,增加了數(shù)據(jù)存儲的成本,并且本地存儲風(fēng)險大,容易因為人為或環(huán)境的影像造成數(shù)據(jù)丟失,數(shù)據(jù)共享也不方便。
云端存儲由于成本低,數(shù)據(jù)不易丟失,數(shù)據(jù)共享方便,成為大數(shù)據(jù)存儲的較佳選擇。在對于涉及機(jī)密信息的數(shù)據(jù)進(jìn)行云端存儲時,需要較高的保密要求?,F(xiàn)有技術(shù)的云端存儲加密技術(shù)中,僅通過密碼等手段進(jìn)行文件整體加密,密碼容易泄露或或者被攻克,保密力度不理想。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)中的上述不足,本發(fā)明的目的在于提供一種云端存儲加密方法,應(yīng)用于用戶終端,所述方法包括:
獲得目標(biāo)文件,并獲得所述目標(biāo)文件中的文件元數(shù)據(jù),其中,所述文件元數(shù)據(jù)包括目標(biāo)文件的文件名、文件大小及校驗碼;
生成第一密碼,根據(jù)所述第一密碼對所述文件元數(shù)據(jù)進(jìn)行加密,得到第一加密信息;
將所述目標(biāo)文件分割為多個數(shù)據(jù)塊,在云端服務(wù)器為每個所述數(shù)據(jù)塊分配對應(yīng)的塊存儲地址,并針對每個所述數(shù)據(jù)塊生成第二密碼;
獲得每個所述數(shù)據(jù)塊的數(shù)據(jù)塊元數(shù)據(jù),其中,所述數(shù)據(jù)塊元數(shù)據(jù)包括數(shù)據(jù)塊的數(shù)據(jù)塊名稱、數(shù)據(jù)塊大小、該數(shù)據(jù)塊在所述目標(biāo)文件中的位置、校驗碼、所述第二密碼及所述塊存儲地址;
針對每個數(shù)據(jù)塊,通過所述第二密碼進(jìn)行加密得到第二加密信息;
針對每個所述數(shù)據(jù)塊元數(shù)據(jù),生成第三密碼,根據(jù)所述第三密碼對該數(shù)據(jù)塊元數(shù)據(jù)進(jìn)行加密得到第三加密信息;
生成第四密碼,根據(jù)所述第四密碼對所述第一加密信息、第一密碼的索引、第三加密信息及第三密碼進(jìn)行再次加密,得到第四加密信息,并將所述第四密碼及第四加密信息進(jìn)行打包為元數(shù)據(jù)包后存儲至云端服務(wù)器;
針對每個加密后的數(shù)據(jù)塊,根據(jù)分配的所述存儲地址將該加密后的數(shù)據(jù)塊存儲至云端服務(wù)器。
本發(fā)明的另一目的在于提供一種云端存儲解密方法,所述方法用于本發(fā)明提供的云端存儲加密方法加密存儲的文件進(jìn)行解密,所述方法包括:
獲取所述元數(shù)據(jù)包,提取得到所述第四密碼及第四加密信息;
根據(jù)所述第四密碼對所述第四加密信息進(jìn)行解密得到所述第一加密信息、第一密碼的索引、第三加密信息及第三密碼;
根據(jù)所述第一密碼對所述第一加密信息進(jìn)行解密得到所述文件元數(shù)據(jù);
根據(jù)所述第三密碼對所述第三加密信息進(jìn)行解密得到數(shù)據(jù)塊元數(shù)據(jù);
根據(jù)所述數(shù)據(jù)塊元數(shù)據(jù)中的塊存儲位置,從云端服務(wù)器查詢并下載第二加密信息;
根據(jù)所述數(shù)據(jù)塊元數(shù)據(jù)中的第二密碼對所述第二加密信息進(jìn)行解密得到所述數(shù)據(jù)塊,并對所述數(shù)據(jù)塊進(jìn)行拼接得到所述目標(biāo)文件;
根據(jù)所述文件元數(shù)據(jù)對所述目標(biāo)文件進(jìn)行校驗,校驗通過后將所述目標(biāo)文件顯示給用戶。
本發(fā)明的另一目的在于提供一種云端存儲加密裝置,所述裝置包括:
第一獲取模塊,用于獲得目標(biāo)文件,并獲得所述目標(biāo)文件中的文件元數(shù)據(jù),其中,所述文件元數(shù)據(jù)包括目標(biāo)文件的文件名、文件大小及校驗碼;
第一加密模塊,用于生成第一密碼,根據(jù)所述第一密碼對所述文件元數(shù)據(jù)進(jìn)行加密,得到第一加密信息;
分割模塊,用于將所述目標(biāo)文件分割為多個數(shù)據(jù)塊,在云端服務(wù)器為每個所述數(shù)據(jù)塊分配對應(yīng)的塊存儲地址,并針對每個所述數(shù)據(jù)塊生成第二密碼;
第二獲取模塊,用于獲得每個所述數(shù)據(jù)塊的數(shù)據(jù)塊元數(shù)據(jù),其中,所述數(shù)據(jù)塊元數(shù)據(jù)包括數(shù)據(jù)塊的數(shù)據(jù)塊名稱、數(shù)據(jù)塊大小、該數(shù)據(jù)塊在所述目標(biāo)文件中的位置、校驗碼、所述第二密碼及所述塊存儲地址;
第二加密模塊,用于針對每個數(shù)據(jù)塊,通過所述第二密碼進(jìn)行加密得到第二加密信息;
第三加密模塊,用于針對每個所述數(shù)據(jù)塊元數(shù)據(jù),生成第三密碼,根據(jù)所述第三密碼對該數(shù)據(jù)塊元數(shù)據(jù)進(jìn)行加密得到第三加密信息;
第四加密模塊,用于生成第四密碼,根據(jù)所述第四密碼對所述第一加密信息、第一密碼的索引、第三加密信息及第三密碼進(jìn)行再次加密,得到第四加密信息;
上傳模塊,用于針對每個加密后的數(shù)據(jù)塊,根據(jù)分配的所述存儲地址將該加密后的數(shù)據(jù)塊存儲至云端服務(wù)器;以及將所述第四密碼及第四加密信息進(jìn)行打包為元數(shù)據(jù)包后存儲至云端服務(wù)器。
相對于現(xiàn)有技術(shù)而言,本發(fā)明具有以下有益效果:
本發(fā)明提供的云端存儲加密方法、解密方法及云端存儲加密裝置,通過將目標(biāo)文件分割成多個數(shù)據(jù)塊,并為數(shù)據(jù)塊在云端分配不同的塊存儲地址,對文件元數(shù)據(jù)、數(shù)據(jù)塊及結(jié)合塊存儲地址的數(shù)據(jù)塊元數(shù)據(jù)進(jìn)行多級加密。如此,使得對隱私要求較高的文件在進(jìn)行云端存儲時更不容易被破解,保密效果更好。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明實(shí)施例提供的用戶終端與云端服務(wù)器的交互示意圖;
圖2為本發(fā)明實(shí)施例提供的用戶終端的示意圖;
圖3為本發(fā)明實(shí)施例提供的云端存儲加密方法的步驟流程示意圖;
圖4為本發(fā)明實(shí)施例提供的云端存儲解密方法的步驟流程示意圖;
圖5為本發(fā)明實(shí)施例提供的云端存儲加密裝置的示意圖。
圖標(biāo):100-用戶終端;110-云端存儲加密裝置;111-第一獲取模塊;112-第一加密模塊;113-分割模塊;114-第二獲取模塊;115-第二加密模塊;116-第三加密模塊;117-第四加密模塊;118-上傳模塊;120-存儲器;130-處理器;140-通信單元;200-云端服務(wù)器;300-網(wǎng)絡(luò)。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計。
因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。
在本發(fā)明的描述中,需要說明的是,術(shù)語“第一”、“第二”、“第三”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
在本發(fā)明的描述中,還需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“設(shè)置”、“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
請參照圖1,圖1是本發(fā)明較佳實(shí)施例提供的云端服務(wù)器200與至少一用戶終端100通信的交互示意圖。所述云端服務(wù)器200可通過網(wǎng)絡(luò)300與所述用戶終端100進(jìn)行通信,以實(shí)現(xiàn)云端服務(wù)器200與用戶終端100之間的數(shù)據(jù)通信或交互。
本實(shí)施例中,所述云端服務(wù)器200可以是,但不限于,web(網(wǎng)站)服務(wù)器、ftp(filetransferprotocol,文件傳輸協(xié)議)服務(wù)器等。所述用戶終端100可以是,但不限于,智能手機(jī)、個人電腦(personalcomputer,pc)、平板電腦、個人數(shù)字助理(personaldigitalassistant,pda)、移動上網(wǎng)設(shè)備(mobileinternetdevice,mid)等。
所述網(wǎng)絡(luò)300可以是,但不限于,有線網(wǎng)絡(luò)或無線網(wǎng)絡(luò)。
請參照圖2,圖2是圖1所示的用戶終端100的方框示意圖。所述用戶終端100包括云端存儲加密裝置110、存儲器120、處理器130及通信單元140。
存儲器120、處理器130及通信單元140各元件相互之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實(shí)現(xiàn)電性連接。所述云端存儲加密裝置110包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器120中或固化在所述用戶終端100的操作系統(tǒng)(operatingsystem,os)中的軟件功能模塊。所述處理器130用于執(zhí)行所述存儲器120中存儲的可執(zhí)行模塊,例如所述云端存儲加密裝置110所包括的軟件功能模塊及計算機(jī)程序等。
其中,所述存儲器120可以是,但不限于,隨機(jī)存取存儲器(randomaccessmemory,ram),只讀存儲器(readonlymemory,rom),可編程只讀存儲器(programmableread-onlymemory,prom),可擦除只讀存儲器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲器(electricerasableprogrammableread-onlymemory,eeprom)等。
所述處理器130可能是一種集成電路芯片,具有信號的處理能力。上述的處理器可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網(wǎng)絡(luò)處理器(networkprocessor,np)等;還可以是數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)場可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。可以實(shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。
所述通信單元140用于通過所述網(wǎng)絡(luò)300與所述云端服務(wù)器200的通信單元140建立連接,從而實(shí)現(xiàn)所述云端服務(wù)器200與用戶終端100之間的通信連接。
請參照圖3,圖3為應(yīng)用于圖1所示的用戶終端100的一種云端存儲加密方法的流程圖,以下將對所述云端存儲加密方法包括各個步驟進(jìn)行詳細(xì)闡述。
步驟s110,獲得目標(biāo)文件,并獲得所述目標(biāo)文件中的文件元數(shù)據(jù),其中,所述文件元數(shù)據(jù)包括目標(biāo)文件的文件名、文件大小及校驗碼。
所述用戶終端100響應(yīng)用戶的操作,將選中的文件作為目標(biāo)文件,然后獲取所述目標(biāo)文件的元數(shù)據(jù)(metadata),元數(shù)據(jù)是又稱中介數(shù)據(jù)、中繼數(shù)據(jù),是用于描述數(shù)據(jù)的數(shù)據(jù)(dataaboutdata),主要是描述數(shù)據(jù)屬性(property)的信息。所述目標(biāo)文件的元數(shù)據(jù)包括,但不僅限于該目標(biāo)文件的文件名、文件大小及校驗碼。
步驟s120,生成第一密碼,根據(jù)所述第一密碼對所述文件元數(shù)據(jù)進(jìn)行加密,得到第一加密信息。
在本實(shí)施例中,所述用戶終端100根據(jù)預(yù)設(shè)密鑰生成第一密碼,并通過所述第一密碼對所述文件元數(shù)據(jù)進(jìn)行加密得到第一加密信息,并記錄所述第一密碼。
在本實(shí)施例中,所述第一密碼包括密碼本體及密碼索引。所述預(yù)設(shè)密鑰可以包括存儲于實(shí)體外置usb接口設(shè)備中的密鑰,也可以為存儲于所述用戶終端100中的密鑰。所述預(yù)設(shè)密鑰包括多個數(shù)據(jù)位,在本實(shí)施例中,所述預(yù)設(shè)密鑰的每個數(shù)據(jù)位可以包括,但不僅限于,數(shù)字0-9、a-z或者字母a-z等。
在本實(shí)施例中,所述用戶終端100預(yù)設(shè)密鑰中隨機(jī)確定多個密碼數(shù)據(jù)位,根據(jù)所述密碼數(shù)據(jù)位在所述預(yù)設(shè)密鑰中的位置生成密碼索引。
然后,從所述預(yù)設(shè)密鑰中提取所述密碼數(shù)據(jù)位對應(yīng)的數(shù)據(jù)作為密碼本體以對待加密信息進(jìn)行加密。
具體地,所述用戶終端100在所述預(yù)設(shè)密鑰中隨機(jī)確定多個密碼數(shù)據(jù)位,根據(jù)所述多個密碼數(shù)據(jù)位的起始位置及數(shù)據(jù)長度生成所述密碼索引。
例如,所述預(yù)設(shè)密鑰包括128個數(shù)據(jù)位,所述用戶終端100在此128個數(shù)據(jù)位中隨機(jī)選取了一段數(shù)據(jù)第一密碼,這段數(shù)據(jù)為從第4個數(shù)據(jù)為起連續(xù)的16位數(shù)據(jù)。則將第4個數(shù)據(jù)位作為所述起始數(shù)據(jù)位,然后將16位作為所述數(shù)據(jù)長度,生成所述第一密碼索引。
可選地,所述多個密碼數(shù)據(jù)位包括在所述預(yù)設(shè)密鑰中確定的多個數(shù)據(jù)段,每個數(shù)據(jù)段包括多個數(shù)據(jù)位。所述用戶終端100可以分別獲得所述多個數(shù)據(jù)段的起始位置及數(shù)據(jù)長度,根據(jù)多個所述起始位置及數(shù)據(jù)長度生成所述密碼索引。
例如,所述用戶終端100在預(yù)設(shè)密鑰中隨機(jī)選取了多段數(shù)據(jù)拼接組成了第一密碼,則將這多端數(shù)據(jù)的起始位置及數(shù)據(jù)長度的集合作為所述第一密碼索引。
所述用戶終端100根據(jù)所述第一密碼的密碼本體,通過加密算法對所述文件元數(shù)據(jù)進(jìn)行加密得到第一加密信息,例如,md5、rsa、des等加密算法。即,在本步驟中,根據(jù)所述第一密碼從所述預(yù)設(shè)密鑰提取對應(yīng)的數(shù)據(jù)對所述文件元數(shù)據(jù)進(jìn)行加密,得到第一加密信息。
步驟s130,將所述目標(biāo)文件分割為多個數(shù)據(jù)塊,在云端服務(wù)器200為每個所述數(shù)據(jù)塊分配對應(yīng)的塊存儲地址,并針對每個所述數(shù)據(jù)塊生成第二密碼。
所述用戶終端100對所述目標(biāo)文件進(jìn)行分割,得到多個數(shù)據(jù)塊。針對每個所述數(shù)據(jù)塊,記錄該數(shù)據(jù)塊在所述目標(biāo)文件中的位置,并隨機(jī)為該數(shù)據(jù)塊生成數(shù)據(jù)塊名稱。
所述用戶終端100針對每個所述數(shù)據(jù)塊,在云端服務(wù)器200為該數(shù)據(jù)塊隨機(jī)選擇一個存儲地址作為塊存儲地址。
然后,所述用戶終端100針對每個所述數(shù)據(jù)塊生成第二密碼,每個所述數(shù)據(jù)塊均具有相應(yīng)的第二密碼,其中,所述第二密碼包括密碼本體及密碼索引,所述第二密碼的生成方式請參照步驟s120中第一密碼的生成方式,在此不再贅述。
步驟s140,獲得每個所述數(shù)據(jù)塊的數(shù)據(jù)塊元數(shù)據(jù),其中,所述數(shù)據(jù)塊元數(shù)據(jù)包括數(shù)據(jù)塊的數(shù)據(jù)塊名稱、數(shù)據(jù)塊大小、該數(shù)據(jù)塊在所述目標(biāo)文件中的位置、校驗碼、所述第二密碼及所述塊存儲地址。
根據(jù)步驟s130進(jìn)行的分割,所述用戶終端100獲得分割后每個數(shù)據(jù)塊的數(shù)據(jù)塊元數(shù)據(jù)。
步驟s150,針對每個數(shù)據(jù)塊,通過所述第二密碼進(jìn)行加密得到第二加密信息。
針對每個所述數(shù)據(jù)塊,所述用戶終端100根據(jù)步驟s130中生成的第二密碼對該數(shù)據(jù)塊進(jìn)行加密得到第二加密信息。
步驟s160,針對每個所述數(shù)據(jù)塊元數(shù)據(jù),生成第三密碼,根據(jù)所述第三密碼對該數(shù)據(jù)塊元數(shù)據(jù)進(jìn)行加密得到第三加密信息。
在本實(shí)施例中,所述第三密碼的生成方式請參照步驟s120中第一密碼的生成方式,在此不再贅述。
步驟s170,生成第四密碼,根據(jù)所述第四密碼對所述第一加密信息、第一密碼的索引、第三加密信息及第三密碼進(jìn)行再次加密,得到第四加密信息,并將所述第四密碼及第四加密信息進(jìn)行打包為元數(shù)據(jù)包后存儲至云端服務(wù)器200。
在本實(shí)施例中,所述第四密碼的生成方式請參照步驟s120中第一密碼的生成方式,在此不再贅述。
在本實(shí)施例中,所述第四加密信息中的第一密碼為所述第一密碼的密碼索引,所述第四加密信息中的第三密碼為所述第三密碼的密碼索引;所述元數(shù)據(jù)包中包括的第四密碼為所述第四密碼的密碼索引。
步驟s180,針對每個加密后的數(shù)據(jù)塊,根據(jù)分配的所述存儲地址將該加密后的數(shù)據(jù)塊存儲至云端服務(wù)器200。
所述用戶終端100按照步驟s130中分配的塊存儲地址,將加密后的數(shù)據(jù)塊發(fā)送到云端服務(wù)器200進(jìn)行存儲。
請參照圖4,圖4為應(yīng)用于圖1所示的用戶終端100的一種云端存儲解密方法的流程圖,所述云端存儲解密方法用于對采用上述云端存儲加密方法加密存儲的文件進(jìn)行解密。以下將對所述云端存儲解密方法包括各個步驟進(jìn)行詳細(xì)闡述。
步驟s210,獲取所述元數(shù)據(jù)包,提取得到所述第四加密信息及第四加密信息。
在本實(shí)施例中,所述用戶終端100從所述云端服務(wù)器200獲取所述元數(shù)據(jù)包,解壓后得到所述第四加密信息及第四密碼的密碼索引。
步驟s220,根據(jù)所述第四密碼對所述第四加密信息進(jìn)行解密得到所述第一加密信息、第一密碼的索引、第三加密信息及第三密碼。
所述用戶終端100根據(jù)所述第四密碼的密碼索引從所述預(yù)設(shè)密鑰中提取第四密碼的密碼本體。
然后根據(jù)所述第四密碼的密碼本體對所述元數(shù)據(jù)包進(jìn)行解密,得到第一加密信息、第一密碼的密碼索引、第三加密信息及第三密碼的密碼索引。
步驟s230,根據(jù)所述第一密碼對所述第一加密信息進(jìn)行解密得到所述文件元數(shù)據(jù)。
所述用戶終端100根據(jù)所述第一密碼的密碼索引從所述預(yù)設(shè)密鑰中提取第一密碼的密碼本體。
然后根據(jù)所述第一密碼的密碼本體對所述第一加密信息進(jìn)行解密得到所述文件元數(shù)據(jù)。
步驟s240,根據(jù)所述第三密碼對所述第三加密信息進(jìn)行解密得到數(shù)據(jù)塊元數(shù)據(jù)。
所述用戶終端100根據(jù)所述第三密碼的密碼索引從所述預(yù)設(shè)密鑰中提取第三密碼的密碼本體。
然后根據(jù)所述第三密碼的密碼本體對所述第三加密信息進(jìn)行解密得到所述數(shù)據(jù)塊元數(shù)據(jù),所述數(shù)據(jù)塊元數(shù)據(jù)中包括第二密碼的密碼索引。
步驟s250,根據(jù)所述數(shù)據(jù)塊元數(shù)據(jù)中的塊存儲位置,從云端服務(wù)器200查詢并下載第二加密信息。
所述用戶終端100根據(jù)所述塊元數(shù)據(jù)中記錄的所述塊存儲地址,從所述云端服務(wù)器200下載所述第二加密信息。
步驟s260,根據(jù)所述數(shù)據(jù)塊元數(shù)據(jù)中的第二密碼對所述第二加密信息進(jìn)行解密得到所述數(shù)據(jù)塊,并對所述數(shù)據(jù)塊進(jìn)行拼接得到所述目標(biāo)文件。
所述用戶終端100根據(jù)所述第二密碼的密碼索引從所述預(yù)設(shè)密鑰中提取第二密碼的密碼本體。
然后根據(jù)所述第二密碼的密碼本體對所述第一加密信息進(jìn)行解密得到所述數(shù)據(jù)塊,并對所述數(shù)據(jù)塊進(jìn)行拼接得到所述目標(biāo)文件。
步驟s270,根據(jù)所述文件元數(shù)據(jù)對所述目標(biāo)文件進(jìn)行校驗,校驗通過后將所述目標(biāo)文件顯示給用戶。
最后,所述用戶終端100對拼接完成的目標(biāo)文件進(jìn)行校驗。
基于上述設(shè)計,本實(shí)施例提供的云端存儲加密方法和解密方法,通過將目標(biāo)文件分割成多個數(shù)據(jù)塊,不同數(shù)據(jù)塊隨機(jī)分配存儲地址,加大了目標(biāo)文件破解拼接的難度。并設(shè)置了多層密碼,嵌套密碼對所述目標(biāo)文件的信息進(jìn)行保護(hù),而且每個密碼均采用本地預(yù)設(shè)密鑰進(jìn)行加密。如此,極大地減小了目標(biāo)在加密存儲后被破解的幾率,有效提高的文件存儲的保密效果。
請參照圖5,本實(shí)施例還提供一種應(yīng)用于圖1所示用戶終端100的云端存儲加密裝置110的示意圖,
所述裝置包括第一獲取模塊111、第一加密模塊112、分割模塊113、第二獲取模塊114、第二加密模塊115、第三加密模塊116、第四加密模塊117及上傳模塊118。
所述第一獲取模塊111,用于獲得目標(biāo)文件,并獲得所述目標(biāo)文件中的文件元數(shù)據(jù),其中,所述文件元數(shù)據(jù)包括目標(biāo)文件的文件名、文件大小及校驗碼。
本實(shí)施例中,所述第一獲取模塊111可用于執(zhí)行圖3所示的步驟s110,關(guān)于所述第一獲取模塊111的具體描述可參對所述步驟s110的描述。
所述第一加密模塊112,用于生成第一密碼,根據(jù)所述第一密碼對所述文件元數(shù)據(jù)進(jìn)行加密,得到第一加密信息。
本實(shí)施例中,所述第一加密模塊112可用于執(zhí)行圖3所示的步驟s120,關(guān)于所述第一加密模塊112的具體描述可參對所述步驟s120的描述。
所述分割模塊113,用于將所述目標(biāo)文件分割為多個數(shù)據(jù)塊,在云端服務(wù)器200為每個所述數(shù)據(jù)塊分配對應(yīng)的塊存儲地址,并針對每個所述數(shù)據(jù)塊生成第二密碼。
本實(shí)施例中,所述分割模塊113可用于執(zhí)行圖3所示的步驟s130,關(guān)于所述分割模塊113的具體描述可參對所述步驟s130的描述。
所述第二獲取模塊114,用于獲得每個所述數(shù)據(jù)塊的數(shù)據(jù)塊元數(shù)據(jù),其中,所述數(shù)據(jù)塊元數(shù)據(jù)包括數(shù)據(jù)塊的數(shù)據(jù)塊名稱、數(shù)據(jù)塊大小、該數(shù)據(jù)塊在所述目標(biāo)文件中的位置、校驗碼、所述第二密碼及所述塊存儲地址。
本實(shí)施例中,所述第二獲取模塊114可用于執(zhí)行圖3所示的步驟s140,關(guān)于所述第二獲取模塊114的具體描述可參對所述步驟s140的描述。
所述第二加密模塊115,用于針對每個數(shù)據(jù)塊,通過所述第二密碼進(jìn)行加密得到第二加密信息。
本實(shí)施例中,所述第二加密模塊115可用于執(zhí)行圖3所示的步驟s150,關(guān)于所述第二加密模塊115的具體描述可參對所述步驟s150的描述。
所述第三加密模塊116,用于針對每個所述數(shù)據(jù)塊元數(shù)據(jù),生成第三密碼,根據(jù)所述第三密碼對該數(shù)據(jù)塊元數(shù)據(jù)進(jìn)行加密得到第三加密信息。
本實(shí)施例中,所述第三加密模塊116可用于執(zhí)行圖3所示的步驟s160,關(guān)于所述第三加密模塊116的具體描述可參對所述步驟s160的描述。
所述第四加密模塊117,用于生成第四密碼,根據(jù)所述第四密碼對所述第一加密信息、第一密碼的索引、第三加密信息及第三密碼進(jìn)行再次加密,得到第四加密信息。
本實(shí)施例中,所述第四加密模塊117可用于執(zhí)行圖3所示的步驟s170,關(guān)于所述第四加密模塊117的具體描述可參對所述步驟s170的描述。
所述上傳模塊118,用于針對每個加密后的數(shù)據(jù)塊,根據(jù)分配的所述存儲地址將該加密后的數(shù)據(jù)塊存儲至云端服務(wù)器200;以及將所述第四密碼及第四加密信息進(jìn)行打包為元數(shù)據(jù)包后存儲至云端服務(wù)器200。
本實(shí)施例中,所述上傳模塊118可用于執(zhí)行圖3所示的步驟s180,關(guān)于所述上傳模塊118的具體描述可參對所述步驟s180的描述。
綜上所述,本發(fā)明提供的云端存儲加密方法、解密方法及云端存儲加密裝置110,通過將目標(biāo)文件分割成多個數(shù)據(jù)塊,并為數(shù)據(jù)塊在云端分配不同的塊存儲地址,對文件元數(shù)據(jù)、數(shù)據(jù)塊及結(jié)合塊存儲地址的數(shù)據(jù)塊元數(shù)據(jù)進(jìn)行多級加密。如此,使得對隱私要求較高的文件在進(jìn)行云端存儲時更不容易被破解,保密效果更好。
在本申請所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實(shí)施例的裝置、方法和計算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個方框可以代表一個模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個或多個用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計算機(jī)指令的組合來實(shí)現(xiàn)。
另外,在本發(fā)明各個實(shí)施例中的各功能模塊可以集成在一起形成一個獨(dú)立的部分,也可以是各個模塊單獨(dú)存在,也可以兩個或兩個以上模塊集成形成一個獨(dú)立的部分。
所述功能如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機(jī)存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。