基于群組密鑰的文件安全共享方法和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及通信領域,特別涉及一種基于群組密鑰的文件安全共享方法和系統(tǒng)。
【背景技術】
[0002]隨著互聯(lián)網(wǎng)應用的快速發(fā)展,用戶數(shù)據(jù)價值不斷提升,用戶對云存儲等信息服務的安全性提出了更高的要求,如何在提升用戶數(shù)據(jù)安全性的同時,實現(xiàn)數(shù)據(jù)的安全共享成為當前云存儲等服務面臨的主要技術難題,目前業(yè)界主要的文件共享技術方案或系統(tǒng)存在以下一些問題:
[0003]1、明文結合授權訪問的共享方案,
[0004]由于文件以明文存儲,因此安全性低;
[0005]2、密文共享方案:
[0006]I)服務器端加解密,存在服務器側密鑰泄密風險,用戶控制能力不足,尤其在云計算等多租戶應用場景下,存在較大的安全隱患;
[0007]2 )用戶端加解密,存在密鑰更新、管理方面的困難。
【發(fā)明內(nèi)容】
[0008]本發(fā)明實施例提供一種基于群組密鑰的文件安全共享方法和系統(tǒng)。針對現(xiàn)有安全存儲方案存在用戶自主控制能力不足、密鑰和共享群組管理困難等問題,提出了在傳統(tǒng)的文件加密基礎上,采用群組密鑰加密文件密鑰、由群組管理員分級管理群組密鑰的分發(fā)、更新的方法,在滿足用戶數(shù)據(jù)文件存儲安全的基礎上,可實現(xiàn)靈活、用戶可控、密鑰易于管理的加密文件安全共享,降低用戶文件在共享過程中發(fā)生泄密的風險。
[0009]根據(jù)本發(fā)明的一個方面,提供一種基于群組密鑰的文件安全共享方法,包括:
[0010]第一用戶終端在共享原始文件時,利用工作密鑰將原始文件進行加密以生成加密文件,利用預先配置的群組密鑰對工作密鑰進行加密以生成密鑰密文;
[0011]第一用戶終端將加密文件和密鑰密文上傳給共享存儲服務器;
[0012]共享存儲服務器存儲加密文件和密鑰密文,并將加密文件、密鑰密文以及第一用戶終端所在群組的群組標識進行關聯(lián);
[0013]第二用戶終端在獲取指定的加密文件時,從共享存儲服務器下載指定的加密文件、與指定的加密文件相關聯(lián)的密鑰密文以及群組標識;
[0014]第二用戶終端判斷下載的群組標識是否為第二用戶終端所在群組的群組標識;
[0015]若下載的群組標識為第二用戶終端所在群組的群組標識,則第二用戶終端利用預先配置的群組密鑰對下載的密鑰密文進行解密以得到工作密鑰,利用得到的工作密鑰對下載的加密文件進行解密以得到原始文件。
[0016]在一個實施例中,若下載的群組標識不是第二用戶終端所在群組的群組標識,則第二用戶終端將下載的密鑰密文和群組標識發(fā)送給第二群組管理器,其中第二群組管理器為第二用戶終端所在群組的管理器;
[0017]第二群組管理器向第一群組管理器發(fā)送密鑰獲取請求,其中第一群組管理器為第一群組的管理器,第一群組與所述下載的群組標識相關聯(lián);
[0018]第一群組管理器利用預先設置的上級群組密鑰對第一群組的群組密鑰進行加密,以得到群組密鑰密文,并將群組密鑰密文發(fā)送給第二群組管理器;
[0019]第二群組管理器利用預先設置的上級群組密鑰對群組密鑰密文進行解密,以得到第一群組的群組密鑰,利用第一群組的群組密鑰對下載的密鑰密文進行解密以得到工作密鑰,將得到的工作密鑰發(fā)送給第二用戶終端;
[0020]第二用戶終端利用接收到的工作密鑰對下載的加密文件進行解密以得到原始文件。
[0021]在一個實施例中,若下載的群組標識不是第二用戶終端所在群組的群組標識,則第二用戶終端將下載的密鑰密文和群組標識發(fā)送給第二群組管理器,其中第二群組管理器為第二用戶終端所在群組的管理器;
[0022]第二群組管理器向第一群組管理器發(fā)送密鑰獲取請求,其中密鑰獲取請求中包括下載的密鑰密文,第一群組管理器為第一群組的管理器,第一群組與所述下載的群組標識相關聯(lián);
[0023]第一群組管理器利用第一群組的群組密鑰對密鑰密文進行解密以得到工作密鑰,利用預先設置的上級群組密鑰對得到的工作密鑰進行加密,以得到工作密鑰密文,并將工作密鑰密文發(fā)送給第二群組管理器;
[0024]第二群組管理器利用預先設置的上級群組密鑰對工作密鑰密文進行解密以得到工作密鑰,將得到的工作密鑰發(fā)送給第二用戶終端;
[0025]第二用戶終端利用接收到的工作密鑰對下載的加密文件進行解密以得到原始文件。
[0026]在一個實施例中,第一用戶終端利用工作密鑰將原始文件進行加密以生成加密文件的步驟包括:
[0027]第一用戶終端隨機生成工作密鑰;
[0028]第一用戶終端利用隨機生成的工作密鑰將原始文件進行加密以生成加密文件。
[0029]在一個實施例中,指定群組中的群組管理器在更新所述指定群組中的群組密鑰時,將存儲在共享存儲服務器中的與指定群組標識相關聯(lián)的全部密鑰密文進行更新,以便所述全部密鑰密文僅能使用更新后的群組密鑰進行解密;
[0030]所述指定群組中的群組管理器將所述更新后的群組密鑰發(fā)送給所述指定群組中的每個用戶終端。
[0031]在一個實施例中,指定群組中的群組管理器在更新所述指定群組中的群組密鑰時,將存儲在共享存儲服務器中的與指定群組標識相關聯(lián)的全部密鑰密文進行更新的步驟包括:
[0032]指定群組中的群組管理器在更新所述指定群組中的群組密鑰時,從共享存儲服務器下載與指定群組標識相關聯(lián)的全部密鑰密文;
[0033]利用當前的群組密鑰分別對下載的密鑰密文Kie進行解密,以得到相對應的工作密鑰Ki,其中I彡i彡N,N為所述全部密鑰密文的數(shù)量;
[0034]利用更新后的群組密鑰分別對工作密鑰Ki進行加密,以分別得到更新后的密鑰密文V ;
[0035]將更新后的密鑰密文Kie'發(fā)送給共享存儲服務器,以便共享存儲服務器利用更新后的密鑰密文Kie,對密鑰密文Kie進行更新。
[0036]根據(jù)本發(fā)明的另一方面,提供一種基于群組密鑰的文件安全共享系統(tǒng),包括第一用戶終端、第二用戶終端和共享存儲服務器,其中:
[0037]第一用戶終端,用于在共享原始文件時,利用工作密鑰將原始文件進行加密以生成加密文件,利用預先配置的群組密鑰對工作密鑰進行加密以生成密鑰密文,將加密文件和密鑰密文上傳給共享存儲服務器;
[0038]共享存儲服務器,用于在接收到第一用戶終端上傳的加密文件和密鑰密文后,存儲加密文件和密鑰密文,并將加密文件、密鑰密文以及第一用戶終端所在群組的群組標識進行關聯(lián);
[0039]第二用戶終端,用于在獲取指定的加密文件時,從共享存儲服務器下載指定的加密文件、與指定的加密文件相關聯(lián)的密鑰密文以及群組標識;判斷下載的群組標識是否為第二用戶終端所在群組的群組標識,在下載的群組標識為第二用戶終端所在群組的群組標識時,利用預先配置的群組密鑰對下載的密鑰密文進行解密以得到工作密鑰,利用得到的工作密鑰對下載的加密文件進行解密以得到原始文件。
[0040]在一個實施例中,每個群組具有一個群組管理器,其中:
[0041]第二用戶終端還用于在下載的群組標識不是第二用戶終端所在群組的群組標識時,將下載的密鑰密文和群組標識發(fā)送給第二群組管理器,其中第二群組管理器為第二用戶終端所在群組的管理器;在接收到第二群組管理器發(fā)送的工作密鑰時,利用接收到的工作密鑰對下載的加密文件進行解密以得到原始文件;
[0042]第二群組管理器,用于向第一群組管理器發(fā)送密鑰獲取請求,其中第一群組管理器為第一群組的管理器,第一群組與所述下載的群組標識相關聯(lián);在接收到第一群組管理器發(fā)送的群組密鑰密文時,利用預先設置的上級群組密鑰對群組密鑰密文進行解密,以得到第一群組的群組密鑰,利用第一群組的群組密鑰對下載的密鑰密文進行解密以得到工作密鑰,將得到的工作密鑰發(fā)送給第二用戶終端;
[0043]第一群組管理器,用于利用預先設置的上級群組密鑰對第一群組的群組密鑰進行加密,以得到群組密鑰密文,并將群組密鑰密文發(fā)送給第二群組管理器。
[0044]在一個實施例中,第二用戶終端還用于在下載的群組標識不是第二用戶終端所在群組的群組標識時,將下載的密鑰密文和群組標識發(fā)送給第二群組管理器,其中第二群組管理器為第二用戶終端所在群組的管理器;在接收到第二群組管理器發(fā)送的工作密鑰時,利用接收到的工作密鑰對下載的加密文件進行解密以得到原始文件;
[0045]第二群組管理器,用于向第一群組管理器發(fā)送密鑰獲取請求,其中密鑰獲取請求中包括下載的密鑰密文,第