云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于云處理技術(shù)領(lǐng)域,特別涉及了云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法和系 統(tǒng)。
【背景技術(shù)】
[0002] 云存儲(chǔ)是指使用網(wǎng)絡(luò)技術(shù)、計(jì)算機(jī)資源虛擬化以及分布式計(jì)算技術(shù)等底層技術(shù), 通過網(wǎng)絡(luò),將大量各種不同類型的存儲(chǔ)設(shè)備資源虛擬化、協(xié)同與封裝之后,共同對(duì)外提供數(shù) 據(jù)存儲(chǔ)與訪問服務(wù)的存儲(chǔ)系統(tǒng)架構(gòu),其作為云計(jì)算框架中數(shù)據(jù)服務(wù)的基礎(chǔ)得到了越來越多 的關(guān)注,并已經(jīng)開始逐步大規(guī)模應(yīng)用推廣。
[0003] 但是云存儲(chǔ)的推廣仍然面臨著一些問題,其中最主要的問題即是由于用戶將數(shù)據(jù) 存儲(chǔ)在云存儲(chǔ)服務(wù)商掌握的云存儲(chǔ)服務(wù)中,用戶對(duì)數(shù)據(jù)失去了控制,用戶的數(shù)據(jù)隱私性,安 全性,與及完整就不能得到很好的保證,主要體現(xiàn)為:
[0004] 1、用戶存儲(chǔ)的數(shù)據(jù)隱私性不能得到保證。信息安全主要包括:信息的保密性、真實(shí) 性、完整性、未授權(quán)拷貝和所寄生系統(tǒng)的安全性,其首要問題就是保密性,而數(shù)據(jù)存放在云 服務(wù)商一端,沒法保證重要數(shù)據(jù)是否被泄露,解決該問題的方案是加密,但是需要用戶提供 加密算法,并且加密密鑰的生成和保管也是復(fù)雜的問題。
[0005] 2、云端數(shù)據(jù)的完整性難以得到保證。數(shù)據(jù)完整性是指存儲(chǔ)數(shù)據(jù)的一致性和準(zhǔn)確 性,云存儲(chǔ)從技術(shù)上可以實(shí)現(xiàn)有效的數(shù)據(jù)存儲(chǔ),備份,恢復(fù),但是不能保證云服務(wù)商用技術(shù), 成本方面的問題造成用戶數(shù)據(jù)被刪除,破壞。解決該問題的方案是用戶定期從云服務(wù)商下 載文件并查看,但會(huì)增加云服務(wù)商的帶寬壓力,增加用戶使用云存儲(chǔ)服務(wù)的復(fù)雜度。
【發(fā)明內(nèi)容】
[0006] 為了解決上述【背景技術(shù)】提出的技術(shù)問題,本發(fā)明旨在提供云存儲(chǔ)前端數(shù)據(jù)加解密 及校驗(yàn)方法和系統(tǒng),能夠?qū)υ拼鎯?chǔ)中的數(shù)據(jù)提供隱私、安全與完整性保障,同時(shí)屏蔽了復(fù)雜 的加密與校驗(yàn)過程,在保障云存儲(chǔ)數(shù)據(jù)安全性的同時(shí)提高了云存儲(chǔ)數(shù)據(jù)的易用性。
[0007] 為了實(shí)現(xiàn)上述技術(shù)目的,本發(fā)明的技術(shù)方案為:
[0008] 云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法,包括以下步驟:
[0009] (1)加密上傳文件,包括以下步驟:
[0010] (11)用戶端向云存儲(chǔ)服務(wù)前端發(fā)送申請(qǐng)上傳文件的請(qǐng)求,并通過SSHFS將文件發(fā) 送給云存儲(chǔ)服務(wù)前端;
[0011] (12)云存儲(chǔ)服務(wù)前端將用戶上傳的文件數(shù)據(jù)切分成若干數(shù)據(jù)塊,并且生成偽隨機(jī) 數(shù)序列和加密矩陣,依數(shù)據(jù)塊編號(hào)依次完成所有數(shù)據(jù)塊的加密;
[0012] (13)將所有加密信息都存儲(chǔ)至密鑰庫(kù),并向云存儲(chǔ)上傳加密文件;
[0013] ⑵解密下載文件,包括以下步驟:
[0014] (21)用戶端向云存儲(chǔ)服務(wù)前端發(fā)送取回文件請(qǐng)求,云存儲(chǔ)服務(wù)前端收到請(qǐng)求之后 向云存儲(chǔ)發(fā)起下載加密文件的請(qǐng)求;
[0015] (22)云存儲(chǔ)收到下載加密文件的請(qǐng)求后,向云存儲(chǔ)服務(wù)前端發(fā)送加密文件;
[0016] (23)生成隨機(jī)數(shù)序列和解密矩陣,依數(shù)據(jù)塊編號(hào)依次完成解密,并累加解密明文 長(zhǎng)度,直至解密最后一塊獲得明文;
[0017] (24)拼合完成源文件,并發(fā)回用戶端;
[0018] (3)校驗(yàn)文件,包括以下步驟:
[0019] (31)云存儲(chǔ)服務(wù)前端向云存儲(chǔ)發(fā)送校驗(yàn)請(qǐng)求;
[0020] (32)針對(duì)待校驗(yàn)文件,從密鑰庫(kù)中取出該校驗(yàn)文件的密鑰對(duì),隨機(jī)生成校驗(yàn)請(qǐng)求 序列對(duì)<i,j>,其中,i為校驗(yàn)文件的數(shù)據(jù)塊編號(hào),j表示該數(shù)據(jù)塊第j行數(shù)據(jù);
[0021] (33)云存儲(chǔ)以HASH碼為名取出文件,并取出該文件的第i塊第j行數(shù)據(jù)G并發(fā) 回云存儲(chǔ);
[0022] (34)生成解密矩陣,求出解密后向量值,生成隨機(jī)序列,對(duì)比解密后的向量值與對(duì) 應(yīng)的隨機(jī)序列中的數(shù)值是否相等,若相等則為校驗(yàn)正確,否則校驗(yàn)失敗,從而能夠判斷文件 是否被修改或刪除。
[0023] 進(jìn)一步地,步驟(12)的具體過程:
[0024] (121)生成偽隨機(jī)序列種子Randl、Rand2,并隨機(jī)生成n*n的可逆矩陣A,再將用 戶上傳文件數(shù)據(jù)切分成塊,各數(shù)據(jù)塊依次編號(hào)1,2,…,k,數(shù)據(jù)塊大小為n*n-l,單位為字節(jié) 數(shù);
[0025] (122)使用Randl生成偽隨機(jī)數(shù)序列y/,y2\. . .,ykS
[0026] (123)設(shè)編號(hào)為i的數(shù)據(jù)塊為%,將插入Mi的第m行第m列,得到矩陣M' ^ 其中,i= 1,2, 3,…,k,m= 1,2, 3,…,n;
[0027] (124)使用Rand2生成偽隨機(jī)數(shù)序列丨
【主權(quán)項(xiàng)】
1. 云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法,其特征在于,包括以下步驟: (1) 加密上傳文件,包括以下步驟: (11) 用戶端向云存儲(chǔ)服務(wù)前端發(fā)送申請(qǐng)上傳文件的請(qǐng)求,并通過SSHFS將文件發(fā)送給 云存儲(chǔ)服務(wù)前端; (12) 云存儲(chǔ)服務(wù)前端將用戶上傳的文件數(shù)據(jù)切分成若干數(shù)據(jù)塊,并且生成偽隨機(jī)數(shù)序 列和加密矩陣,依數(shù)據(jù)塊編號(hào)依次完成所有數(shù)據(jù)塊的加密; (13) 將所有加密信息都存儲(chǔ)至密鑰庫(kù),并向云存儲(chǔ)上傳加密文件; (2) 解密下載文件,包括以下步驟: (21) 用戶端向云存儲(chǔ)服務(wù)前端發(fā)送取回文件請(qǐng)求,云存儲(chǔ)服務(wù)前端收到請(qǐng)求之后向云 存儲(chǔ)發(fā)起下載加密文件的請(qǐng)求; (22) 云存儲(chǔ)收到下載加密文件的請(qǐng)求后,向云存儲(chǔ)服務(wù)前端發(fā)送加密文件; (23) 生成隨機(jī)數(shù)序列和解密矩陣,依數(shù)據(jù)塊編號(hào)依次完成解密,并累加解密明文長(zhǎng)度, 直至解密最后一塊獲得明文; (24) 拼合完成源文件,并發(fā)回用戶端; (3) 校驗(yàn)文件,包括以下步驟: (31) 云存儲(chǔ)服務(wù)前端向云存儲(chǔ)發(fā)送校驗(yàn)請(qǐng)求; (32) 針對(duì)待校驗(yàn)文件,從密鑰庫(kù)中取出該校驗(yàn)文件的密鑰對(duì),隨機(jī)生成校驗(yàn)請(qǐng)求序列 對(duì)<i,j>,其中,i為校驗(yàn)文件的數(shù)據(jù)塊編號(hào),j表示該數(shù)據(jù)塊第j行數(shù)據(jù); (33) 云存儲(chǔ)以HASH碼為名取出文件,并取出該文件的第i塊第j行數(shù)據(jù)K并發(fā)回云 存儲(chǔ); (34) 生成解密矩陣,求出解密后向量值,生成隨機(jī)序列,對(duì)比解密后的向量值與對(duì)應(yīng)的 隨機(jī)序列中的數(shù)值是否相等,若相等則為校驗(yàn)正確,否則校驗(yàn)失敗,從而能夠判斷文件是否 被修改或刪除。
2. 根據(jù)權(quán)利要求1所述云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法,其特征在于,步驟(12)的 具體過程: (121) 生成偽隨機(jī)序列種子Randl、Rand2,并隨機(jī)生成n*n的可逆矩陣A,再將用戶上 傳文件數(shù)據(jù)切分成塊,各數(shù)據(jù)塊依次編號(hào)1,2,…,k,數(shù)據(jù)塊大小為n*n-l,單位為字節(jié)數(shù); (122) 使用Randl生成偽隨機(jī)數(shù)序列y/,y2\ . ..,ykS (123) 設(shè)編號(hào)為i的數(shù)據(jù)塊為%,將插入Mi的第m行第m列,得到矩陣M/,其中,i= 1,2, 3,…,k,m= 1,2, 3,…,n; (124) 使用Rand2生成偽隨機(jī)數(shù)序列r丨V22,…,,…;
(125) 取以+1,...,A"+1)組成對(duì)角矩陣 (126) 生成加密矩陣Ei=AA (127) 對(duì)吣'加密,得密文=£,.M;; (128)加密直至最后一塊,若最后一塊不能填充滿n*n-l,則以0補(bǔ)足。
3. 根據(jù)權(quán)利要求1所述云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法,其特征在于,步驟(23)的 具體過程: (231) 將加密文件切塊并依次編號(hào)1,2,…,k,每塊為n*n矩陣,第i塊用表示,i= 1,2,…,k; (232) 使用Rand2 生成偽隨機(jī)數(shù)序列W,r22,...,:^"+1,…,,…,K,取}^"+1,...,4"+1|組 成對(duì)角矩陣入i; (233) 取矩陣A生成解密矩陣A= + ; (234) 對(duì)解密,得(:';=£認(rèn)了; (235) 去除C/對(duì)角線上的元素,完成解密,并累加解密明文長(zhǎng)度,計(jì)算最后一塊的數(shù) 據(jù)長(zhǎng)度,刪除用作數(shù)據(jù)填充的0。
4. 根據(jù)權(quán)利要求1所述云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法,其特征在于,步驟(34)的 具體過程: (341) 從待校驗(yàn)文件的密鑰對(duì)中取出Rand2,并由Rand2生成偽隨機(jī)數(shù)序列 A,匕,…,…,…,L,取匕*?+1,…,廣*(?+U組成對(duì)角矩陣入i; (342) 生成解密矩陣A=了 1; At (343) 求出解密后向量值%=Af; (344) 使用Randl生成偽隨機(jī)數(shù)序列y/,y2\ ? ??,ykS (345) 取出Vu中的第j位元素K,若y/與K相等,則校驗(yàn)正確,否則校驗(yàn)失敗。
5. 云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)系統(tǒng),其特征在于,包括: SSHFS服務(wù)組件,用于實(shí)現(xiàn)遠(yuǎn)程服務(wù),所有用戶文件均由該組件接收,并由該組件實(shí)現(xiàn) 云存儲(chǔ)暫存于云存儲(chǔ)服務(wù)前端的文件映射至用戶前端遠(yuǎn)程文件夾以及提供文件下載; 云存儲(chǔ)接口組件,用于實(shí)現(xiàn)云存儲(chǔ)服務(wù)前端登錄云存儲(chǔ),以及調(diào)用各類云存儲(chǔ)服務(wù),包 括文件各塊上傳,文件讀取,云存儲(chǔ)文件下載,是云存儲(chǔ)與云存儲(chǔ)服務(wù)前端的交互接口; 云存儲(chǔ)文件加密及校驗(yàn)密生成組件,用于生成用于加解密文件以及完整性校驗(yàn)的密 鑰,并對(duì)文件進(jìn)行Hash處理; 云存儲(chǔ)加解密組件,用于對(duì)用戶文件的切塊,以及調(diào)用該文件加密密鑰對(duì)文件進(jìn)行加 解密操作; 云存儲(chǔ)文件完整性校驗(yàn)組件,用于實(shí)現(xiàn)由用戶配置的周期性云存儲(chǔ)文件完整性校驗(yàn), 包括向云存儲(chǔ)發(fā)出完整性校驗(yàn)請(qǐng)求,接受云存儲(chǔ)服務(wù)對(duì)請(qǐng)求的回復(fù),并調(diào)用加解密組件實(shí) 現(xiàn)對(duì)回復(fù)的驗(yàn)證; 密鑰庫(kù),用于存儲(chǔ)用戶文件加解密與完整性校驗(yàn)的密鑰。
【專利摘要】本發(fā)明公開了云存儲(chǔ)前端數(shù)據(jù)加解密及校驗(yàn)方法和系統(tǒng),通過自動(dòng)用戶加密上傳文件,解密下載文件,保證用戶隱私;按預(yù)定周期自動(dòng)校驗(yàn)存儲(chǔ)在云存儲(chǔ)終端的數(shù)據(jù)完整性,從而驗(yàn)證存儲(chǔ)在云端的數(shù)據(jù)是否被篡改或刪除。本發(fā)明改善了云存儲(chǔ)保密性和數(shù)據(jù)完整性不能得到保證的缺陷,提高了云存儲(chǔ)的可靠性和安全性。
【IPC分類】G06F21-62, G06F21-64
【公開號(hào)】CN104809407
【申請(qǐng)?zhí)枴緾N201510224659
【發(fā)明人】韓進(jìn), 王瑩, 謝靜, 陳雨薇, 張文濤
【申請(qǐng)人】南京信息工程大學(xué)
【公開日】2015年7月29日
【申請(qǐng)日】2015年5月5日