一種數據加密存儲方法、服務器及系統的制作方法
【技術領域】
[0001]本發明涉及一種數據加密存儲領域,尤其涉及一種數據加密存儲方法、服務器及系統。
【背景技術】
[0002]云計算是IT資源和服務的一種交付使用模型,它可以實現隨時隨地、便捷的、按需的通過網絡從結構化的計算資源共享池中獲取所需的資源(如網絡、服務器、存儲、應用、服務等),這些資源可以被迅速提供并發布,同時最小化管理成本或服務提供商的干涉。隨著云計算技術的發展和云計算業務的不斷進步,云計算將會在IT領域發揮越來越重要的作用。
[0003]云計算環境下,用戶的數據存儲在云存儲服務器上,從物理上脫離了用戶的控制。用戶最擔心的就是自己的數據是否得到了安全保護,是否被未授權方使用或修改,是否被非法泄漏。為了安全性考慮,一種典型的技術解決方案是采用加密技術,將數據加密后存儲至云存儲服務器上,服務器保存加密數據和密碼,當用戶進行加密數據讀取請求時,服務器接收用戶上傳的解密密碼,并將其與自身保存的密碼進行匹配驗證,驗證成功后對加密數據進行解密操作,獲得數據明文。然而,由于密碼和加密數據均存儲在服務器,一旦服務器數據泄露,用戶的加密數據和密碼均能夠被非法獲取,導致預期外的數據泄漏,存在安全隱串
■/Q1、O
【發明內容】
[0004]本發明旨在解決上述問題之一。
[0005]本發明的主要目的在于提供一種數據加密存儲方法,其特征在于,包括以下步驟:A:服務器接收數據包;B:服務器隨機生成加密密鑰和解密密鑰,利用加密密鑰加密數據包,獲得加密數據包并存儲加密數據包;C:服務器基于解密密鑰生成第一解密信息并外發;D:服務器刪除加密密鑰、解密密鑰和第一解密信息;
[0006]此外,第一解密信息包含用戶解密密鑰,在服務器生成解密密鑰之后,外發第一解密信息之前,還包括步驟:服務器利用用戶公鑰加密解密密鑰,生成用戶解密密鑰;
[0007]此外,第一解密信息還包含第一簽名信息,在服務器生成解密密鑰之后,外發第一解密信息之前,還包括步驟:服務器至少對解密密鑰進行哈希運算,獲得第一摘要信息;月艮務器利用服務器私鑰加密第一摘要信息,獲得第一簽名信息。
[0008]此外,第一解密信息還包含第二簽名信息,在服務器生成解密密鑰之后,外發所述第一解密信息之前,還包括步驟:服務器至少對用戶解密密鑰進行哈希運算,獲得第二摘要信息;服務器利用服務器私鑰加密第二摘要信息,獲得第二簽名信息。
[0009]此外,在服務器刪除加密密鑰、解密密鑰和第一解密信息之后,還包括:服務器接收第二解密信息,對第二解密信息進行解密和/或驗簽操作,獲得解密密鑰,其中,第二解密信息是基于解密密鑰生成的信息;服務器利用解密密鑰對加密數據包進行解密操作,獲得數據包。
[0010]此外,在服務器利用解密密鑰對加密數據包進行解密操作,獲得數據包之后,還包括:服務器刪除加密數據包,并返回步驟B。
[0011]本發明的另一目的在于提供一種服務器,其特征在于,包括,接收模塊、密鑰生成模塊、加密模塊、第一解密信息生成模塊、存儲模塊、刪除模塊和發送模塊,其中,接收模塊,用于接收數據包;密鑰生成模塊,用于隨機生成加密密鑰和解密密鑰;加密模塊,與接收模塊、密鑰生成模塊相連,用于利用加密密鑰加密數據包,獲得加密數據包;第一解密信息生成模塊,與密鑰生成模塊相連,用于基于解密密鑰生成第一解密信息;存儲模塊,與加密模塊相連,用于存儲加密數據包;發送模塊,與第一解密信息生成模塊相連,用于外發第一解密信息;刪除模塊,與密鑰生成模塊、第一解密信息生成模塊相連,用于刪除加密密鑰、解密密鑰和第一解密信息;
[0012]此外,第一解密信息包含用戶解密密鑰,第一解密信息生成模塊,還用于利用用戶公鑰加密解密密鑰,生成用戶解密密鑰;
[0013]此外,第一解密信息還包含第一簽名信息,第一解密信息生成模塊,還用于至少對解密密鑰進行哈希運算,獲得第一摘要信息,并利用服務器私鑰加密第一摘要信息,獲得第一簽名信息;
[0014]此外,第一解密信息還包含第二簽名信息,第一解密信息生成模塊,還用于至少對用戶解密密鑰進行哈希運算,獲得第二摘要信息,并利用服務器私鑰加密第二摘要信息,獲得第二簽名信息;
[0015]此外,還包括解密模塊,接收模塊,還用于接收第二解密信息,其中,第二解密信息是基于解密密鑰生成的信息;解密模塊,與接收模塊和存儲模塊相連,用于對第二解密信息進行解密和/或驗簽操作,獲得解密密鑰,并利用解密密鑰對加密數據包進行解密操作,獲得數據包。
[0016]本發明一方面提供了一種數據加密存儲系統,包括身份證閱讀裝置、服務器和智能密鑰裝置,其中,身份證閱讀裝置用于讀取身份證數據包,并將身份證數據包上傳至服務器;服務器用于接收身份證數據包,隨機生成加密密鑰和解密密鑰,利用加密密鑰加密身份證數據包,獲得加密數據包并存儲加密數據包;利用解密密鑰生成第一解密信息,外發第一解密信息,并刪除加密密鑰、解密密鑰和第一解密信息;智能密鑰裝置,用于接收第一解密信息,并對第一解密信息進行存儲操作。
[0017]此外,第一解密信息包含用戶解密密鑰,服務器,還用于利用用戶公鑰加密解密密鑰,生成用戶解密密鑰;智能密鑰裝置,還用于提取第一解密信息中的用戶解密密鑰,利用用戶私鑰對用戶解密密鑰進行解密操作,獲得第一解密密鑰。
[0018]此外,第一解密信息還包含第一簽名信息,服務器,還用于至少對解密密鑰進行哈希運算,獲得第一摘要信息,并利用服務器私鑰加密第一摘要信息,獲得第一簽名信息;智能密鑰裝置,還用于提取第一解密信息中的第一簽名信息,利用用戶私鑰對用戶解密密鑰進行解密操作獲得解密密鑰,利用服務器公鑰和解密密鑰對第一簽名信息進行驗證操作,驗證成功后,存儲解密密鑰。
[0019]此外,第一解密信息還包含第二簽名信息,服務器,還用于至少對用戶解密密鑰進行哈希運算,獲得第二摘要信息,并利用服務器私鑰加密第二摘要信息,獲得第二簽名信息;智能密鑰裝置,還用于提取第一解密信息中的第二簽名信息,利用服務器公鑰和用戶解密密鑰對第二簽名信息進行驗證操作,驗證成功后,利用用戶私鑰對用戶解密密鑰進行解密操作,獲得解密密鑰并存儲。
[0020]此外,智能密鑰裝置還用于在獲得解密密鑰后,對解密密鑰進行加密和/或簽名操作,獲得第二解密信息并外發;服務器還用于接收第二解密信息,對第二解密信息進行解密和/或簽名操作,獲得解密密鑰,并利用解密密鑰解密加密數據包,獲得身份證數據包。[0021 ] 由上述本發明提供的技術方案可以看出,本發明提供了一種數據加密存儲方法、服務器及系統,服務器在服務器端存儲加密數據包,并將第一解密信息進行外發后,刪除服務器端的加密密鑰、解密密鑰和第一解密信息,服務器自身并不存儲解密密鑰以及包含解密密鑰密文的第一解密信息,無法對存儲的加密數據包進行解密操作獲取數據包明文,僅能夠在用戶向服務器發起請求,并將解密密鑰上傳至服務器時,服務器才能夠利用用戶上傳的解密密鑰對加密數據包進行解密操作,獲取數據包明文,即使服務器被非法攻擊,外界也無法對服務器存儲的加密數據包進行解密操作,極大地保證了用戶數據的安全。進一步地,服務器每進行一次數據包讀取操作,就會刪除之前的加密數據包,同時基于新生成的加密密鑰生成新的加密數據包,之前的解密密鑰無法繼續使用,解密密鑰的有效性只有一次,這就保證了用戶請求服務器進行數據包讀取之后,即使解密密鑰遭到泄露,該解密密鑰也無法再次成功讀取服務器存儲的加密數據包,極大地提升了服務器中存儲的用戶數據的安全性。
【附圖說明】
[0022]為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域的普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他附圖。
[0023]圖1為本發明實施例1提供的數據加密存儲方法流程圖;
[0024]圖2為本發明實施例2提供的數據加密存儲服務器結構示意圖;
[0025]圖3為本發明實施例3提供的數據加密存儲系統結構示意圖。
【具體實施方式】
[0026]下面結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明的保護范圍。
[0027]在本發明的描述中,需要理解的是,術語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內”、“外”等指示的方位或位置關系為基于附圖所示的方位或位置關系,僅是為了便于描述本發明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發明的限制。此外,術語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或數量或位置。
[0028]在本發明的描述中,需要說明的是,除非另有明確的規定和限定,術語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通。對于本領域的普通技術人員而言,可以具體情況理解上述術語在本發明中的具體含義。
[0029]下面將結合附圖對本發明實施例作進一步地詳細描述。
[0030]實施例1
[0031]本實施例提供一種數據加密存儲方法,如圖1所示,包括以下步驟:
[0032]SlOl:服務器接收數