基于混合加密機(jī)制的云存儲(chǔ)數(shù)據(jù)管理方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云存儲(chǔ)技術(shù)領(lǐng)域,尤其涉及一種基于混合加密機(jī)制的云存儲(chǔ)數(shù)據(jù)管理方法和系統(tǒng)。
【背景技術(shù)】
[0002]PKI (Public Key Infrastructure)是通過使用公開密鑰技術(shù)和數(shù)字證書來確保系統(tǒng)信息安全并負(fù)責(zé)驗(yàn)證數(shù)字證書持有者身份的一種體系,廣泛應(yīng)用于網(wǎng)上銀行、電子商務(wù)、電子政務(wù)等領(lǐng)域。一個(gè)完整的PKI系統(tǒng)是由認(rèn)證機(jī)構(gòu)、KMC (Key Mangement Center,密鑰管理中心)、注冊機(jī)構(gòu)、目錄服務(wù)、以及安全認(rèn)證應(yīng)用軟件、證書應(yīng)用服務(wù)等部分組成,其中CA (Certificat1n Authority,認(rèn)證機(jī)構(gòu))在PKI系統(tǒng)中居于核心地位。
[0003]RSA 公鑰加密算法是 1977 年由 Ron Rivest、Adi Shamirh 和 Len Adleman 在(美國麻省理工學(xué)院)開發(fā)的。RSA取名來自開發(fā)他們?nèi)叩拿?。RSA是目前最有影響力的公鑰加密算法,它能夠抵抗到目前為止已知的所有密碼攻擊,已被ISO推薦為公鑰數(shù)據(jù)加密標(biāo)準(zhǔn)。RSA算法基于一個(gè)十分簡單的數(shù)論事實(shí):將兩個(gè)大素?cái)?shù)相乘十分容易,但那時(shí)想要對其乘積進(jìn)行因式分解卻極其困難,因此可以將乘積公開作為加密密鑰。RSA算法是一種非對稱密碼算法,所謂非對稱,就是指該算法需要一對密鑰,使用其中一個(gè)加密,則需要用另一個(gè)才能解密。
[0004]AESCAdvanced Encrypt1n Standard,高級加密標(biāo)準(zhǔn)),在密碼學(xué)中又稱 Ri jndael加密法,是美國聯(lián)邦政府采用的一種區(qū)塊加密標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)用來替代原先的DES (數(shù)據(jù)加密算法,Data Encrypt1n Algorithm),已經(jīng)被多方分析且廣為全世界所使用。AES算法基于排列和置換運(yùn)算。排列是對數(shù)據(jù)重新進(jìn)行安排,置換是將一個(gè)數(shù)據(jù)替換為另一個(gè)數(shù)據(jù)。AES使用幾種不同的方法來執(zhí)行排列和置換運(yùn)算。AES是一個(gè)迭代的、對稱密鑰分組的密碼,它可以使用128、192和256位密鑰,并且用128位(16字節(jié))分組加密和解密數(shù)據(jù)。與公共密鑰密碼使用密鑰對不同,對稱密鑰密碼使用相同的密鑰加密和解密數(shù)據(jù)。通過分組密碼返回的加密數(shù)據(jù)的位數(shù)與輸入數(shù)據(jù)相同。迭代加密使用一個(gè)循環(huán)結(jié)構(gòu),在該循環(huán)中重復(fù)置換和替換輸入數(shù)據(jù)。
[0005]AES作為新一代的數(shù)據(jù)加密標(biāo)準(zhǔn)匯聚了強(qiáng)安全性、高性能、高效率、易用和靈活等優(yōu)點(diǎn)。AES設(shè)計(jì)有三個(gè)密鑰長度:128,192,256位,相對而言,AES的128密鑰比DES的56密鑰強(qiáng)1021倍[2]。AES算法主要包括三個(gè)方面:輪變化、圈數(shù)和密鑰擴(kuò)展。
[0006]云存儲(chǔ)是指使用網(wǎng)格技術(shù)、分布式存儲(chǔ)技術(shù)及集群管理應(yīng)用等結(jié)合,將大量不同類型的存儲(chǔ)設(shè)備通過軟件的形式集成起來協(xié)同工作,以對外提供數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)操作的一個(gè)系統(tǒng),它是在云計(jì)算的基礎(chǔ)上進(jìn)行的一個(gè)創(chuàng)新。其核心思想是對大數(shù)據(jù)的存儲(chǔ)與管理。同時(shí)云存儲(chǔ)系統(tǒng)可以為用戶提供多種類型的接口和服務(wù),用戶可以使用電腦、手機(jī)、多媒體設(shè)備等連接到云存儲(chǔ)系統(tǒng),進(jìn)行各種數(shù)據(jù)的存儲(chǔ)和操作,包括對文檔、視頻、音頻和圖片等讀寫操作。
[0007]然而云存儲(chǔ)系統(tǒng)存在著數(shù)據(jù)安全的問題。在云存儲(chǔ)系統(tǒng)的服務(wù)器端,由于大量的數(shù)據(jù)均存儲(chǔ)在服務(wù)器上,現(xiàn)階段技術(shù)無法達(dá)到對所有數(shù)據(jù)進(jìn)行私鑰加密的能力。由于云存儲(chǔ)系統(tǒng)一般都位于互聯(lián)網(wǎng)中,需要開放特定的端口給用戶訪問,同時(shí)系統(tǒng)中存儲(chǔ)著大量的用戶數(shù)據(jù),極易成為黑客的目標(biāo)。當(dāng)云存儲(chǔ)系統(tǒng)被入侵時(shí),就會(huì)發(fā)生用戶數(shù)據(jù)泄漏、被篡改等危險(xiǎn)情況,因此服務(wù)器的安全問題至關(guān)重要。
[0008]而在云存儲(chǔ)的系統(tǒng)的用戶端,當(dāng)前用戶終端上普通采用簡單認(rèn)證方法,即采用賬號加密碼的方式進(jìn)行登陸認(rèn)證,同時(shí)采用明文的形式進(jìn)行傳輸。顯然,這種機(jī)制存在安全問題,密碼以明文形式傳輸就可能被惡意監(jiān)聽甚至篡改。在這種機(jī)制中,云存儲(chǔ)系統(tǒng)不能對用戶的數(shù)據(jù)操作記錄進(jìn)行核實(shí)和記錄。
[0009]因此,開發(fā)一種保證用戶設(shè)備與云存儲(chǔ)系統(tǒng)之間數(shù)據(jù)通信安全的方法是一個(gè)亟待解決的問題。
【發(fā)明內(nèi)容】
[0010]本發(fā)明的實(shí)施例提供了一種基于混合加密機(jī)制的云存儲(chǔ)數(shù)據(jù)管理方法和系統(tǒng),以提高云存儲(chǔ)系統(tǒng)的數(shù)據(jù)安全性。
[0011]本發(fā)明提供了如下方案:
[0012]一種基于混合加密機(jī)制的云存儲(chǔ)數(shù)據(jù)管理方法,其特征在于,包括:
[0013]用戶終端和云存儲(chǔ)系統(tǒng)之間建立SSL安全通道,所述用戶終端通過所述SSL安全通道向云存儲(chǔ)系統(tǒng)發(fā)送上傳數(shù)據(jù)請求;
[0014]所述云存儲(chǔ)系統(tǒng)檢查所述上傳數(shù)據(jù)請求合法后,所述用戶終端和所述云存儲(chǔ)系統(tǒng)之間建立TCP連接,所述用戶終端通過所述TCP連接向所述云存儲(chǔ)系統(tǒng)發(fā)送上傳數(shù)據(jù),所述云存儲(chǔ)系統(tǒng)對所述上傳數(shù)據(jù)進(jìn)行分塊、加密存儲(chǔ)。
[0015]所述的用戶終端和云存儲(chǔ)系統(tǒng)之間建立SSL安全通道,包括:
[0016]用戶終端向云存儲(chǔ)系統(tǒng)發(fā)送攜帶用戶的數(shù)字證書的建立SSL安全連接請求,所述用戶的數(shù)字證書中攜帶證書DN、有效期、擴(kuò)展選項(xiàng)內(nèi)容;
[0017]云存儲(chǔ)系統(tǒng)接收到所述SSL安全連接請求后,獲取所述SSL安全連接請求中攜帶的用戶的數(shù)字證書,利用CA對所述用戶的數(shù)字證書進(jìn)行驗(yàn)證,驗(yàn)證通過,則所述云存儲(chǔ)系統(tǒng)接收所述SSL安全連接請求,與用戶終端之間建立SSL安全通道;反之,驗(yàn)證不通過,則所述云存儲(chǔ)系統(tǒng)拒絕所述SSL安全連接請求。
[0018]所述的云存儲(chǔ)系統(tǒng)對所述上傳數(shù)據(jù)進(jìn)行分塊、加密存儲(chǔ),包括:
[0019]云存儲(chǔ)系統(tǒng)接收到用戶終端的上傳數(shù)據(jù)后,將所述上傳數(shù)據(jù)緩存到存儲(chǔ)緩沖區(qū)中,判斷所述上傳數(shù)據(jù)的整個(gè)文件是否小于或者等于規(guī)定的一個(gè)文件塊大小,如果是,則所述云存儲(chǔ)系統(tǒng)采用所述用戶的RSA公鑰證書對所述上傳數(shù)據(jù)的整個(gè)文件進(jìn)行加密并存儲(chǔ);否則,所述云存儲(chǔ)系統(tǒng)按照規(guī)定的一個(gè)文件塊大小對所述上傳數(shù)據(jù)的整個(gè)文件進(jìn)行分塊切害I],所述云存儲(chǔ)系統(tǒng)生成多個(gè)AES密鑰,AES密鑰產(chǎn)生的數(shù)量與分塊切割后得到的文件塊的數(shù)量相對應(yīng),并且每個(gè)AES密鑰關(guān)聯(lián)一個(gè)文件塊,然后,云存儲(chǔ)系統(tǒng)使用各個(gè)AES密鑰分別對關(guān)聯(lián)的各個(gè)文件塊進(jìn)行加密處理,將加密后的文件塊以多副本的形式存儲(chǔ)到云存儲(chǔ)系統(tǒng)中的緩沖區(qū)內(nèi)。
[0020]所述的方法還包括:
[0021]所述云存儲(chǔ)系統(tǒng)通過與用戶終端建立的SSL安全通道將所述上傳數(shù)據(jù)的所有AES密鑰和文件塊之間的對應(yīng)關(guān)系信息下發(fā)給所述用戶終端,對緩沖區(qū)內(nèi)的加密后的文件塊的原始數(shù)據(jù)進(jìn)行銷毀。
[0022]所述的方法還包括:
[0023]用戶終端和云存儲(chǔ)系統(tǒng)之間建立SSL安全通道,所述用戶終端通過所述SSL安全通道向云存儲(chǔ)系統(tǒng)發(fā)送下載數(shù)據(jù)請求;
[0024]所述云存儲(chǔ)系統(tǒng)檢查所述下載數(shù)據(jù)請求合法后,所述用戶終端和所述云存儲(chǔ)系統(tǒng)之間建立TCP連接,所述用戶終端通過所述TCP連接向所述云存儲(chǔ)系統(tǒng)發(fā)送下載數(shù)據(jù)的相關(guān)信息;
[0025]所述云存儲(chǔ)系統(tǒng)根據(jù)所述下載數(shù)據(jù)的相關(guān)信息判斷所述下傳數(shù)據(jù)的整個(gè)文件是否小于或者等于規(guī)定的一個(gè)文件塊大小,如果是,所述云存儲(chǔ)系統(tǒng)通過與用戶終端建立的TCP連接將經(jīng)過加密的下載數(shù)據(jù)發(fā)送給所述用戶終端,所述用戶終端使用自己的RSA數(shù)字證書私鑰對所述下載數(shù)據(jù)進(jìn)行解密;否則,所述用戶終端通過SSL安全通道將與所述下載數(shù)據(jù)關(guān)聯(lián)的所有AES密鑰發(fā)送給所述云存儲(chǔ)系統(tǒng),所述云存儲(chǔ)系統(tǒng)將各個(gè)AES密鑰分發(fā)到各個(gè)AES密鑰關(guān)聯(lián)的文件塊所在的節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)利用接收到的AES密鑰完成相應(yīng)的文件塊的解密操作,并將解密數(shù)據(jù)發(fā)送到云存儲(chǔ)緩沖區(qū),所述云存儲(chǔ)系統(tǒng)對所述云存儲(chǔ)緩沖區(qū)中的所有解密數(shù)據(jù)進(jìn)行合并,得到完整的下載數(shù)據(jù),將所述完整的下載數(shù)據(jù)通過TCP連接下發(fā)給所述用戶終端。
[0026]一種基于混合加密機(jī)制的云存儲(chǔ)數(shù)據(jù)管理系統(tǒng),包括:用戶終端和云存儲(chǔ)系統(tǒng),
[0027]所述的用戶終端,用于和所述云存儲(chǔ)系統(tǒng)之間建立SSL安全通道,通過所述SSL安全通道向云存儲(chǔ)系統(tǒng)發(fā)送上傳數(shù)據(jù)請求;和所述云存儲(chǔ)系統(tǒng)之間建立TCP連接,通過所述TCP連接向所述云存儲(chǔ)系統(tǒng)發(fā)送上傳數(shù)據(jù);
[0028]所述的云存儲(chǔ)系統(tǒng),用于和所述用戶終端之間建立SSL安全通道,檢查所述上傳數(shù)據(jù)請求合法后,和所述用戶終端之間建立TCP連接,對所述用戶終端通過所述TCP連接發(fā)送過來的上傳數(shù)據(jù)進(jìn)行分塊、加密存儲(chǔ)。
[0029]所述的用戶終端,具體用于向云存儲(chǔ)系統(tǒng)發(fā)送攜帶用戶的數(shù)字證書的建立SSL安全連接請求,所述用戶的數(shù)字證書中攜帶證書DN、