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