1.一種云環(huán)境下多用戶文件共享控制方法,其特征是,包括以下步驟:
步驟S1,F(xiàn)O首先將文件F分割成若干個(gè)文件塊,利用NTRU加密算法生成自身的密鑰對(duì),利用公鑰對(duì)各文件塊進(jìn)行加密獲得原始密文傳送至CSP;
步驟S2,F(xiàn)O為各FU分配一個(gè)身份標(biāo)識(shí),利用NTRU加密算法為各FU生成密鑰對(duì),然后將各密鑰對(duì)和身份標(biāo)識(shí)發(fā)送至對(duì)應(yīng)的FU;并為每個(gè)FU設(shè)定各文件塊訪問(wèn)權(quán)限生成訪問(wèn)權(quán)限表,然后將各FU的身份標(biāo)識(shí)和訪問(wèn)權(quán)限表發(fā)送至CSP;
步驟S3,F(xiàn)O為各FU生成重加密密鑰;然后將各FU的重加密密鑰發(fā)送至CSP;
步驟S4,當(dāng)某FU訪問(wèn)共享文件時(shí),首先向CSP發(fā)送身份標(biāo)識(shí)和訪問(wèn)請(qǐng)求,CPS依據(jù)其身份標(biāo)識(shí)查詢?cè)L問(wèn)權(quán)限表獲取允許其訪問(wèn)的文件塊,利用重加密密鑰對(duì)允許訪問(wèn)的文件塊的原始密文進(jìn)行加密獲得重加密密文,將重加密密文發(fā)送至此FU;
步驟S5,F(xiàn)U對(duì)獲得對(duì)應(yīng)其訪問(wèn)權(quán)限的重加密密文,利用其私鑰進(jìn)行解密獲得最終明文。
2.根據(jù)權(quán)利要求1所述的云環(huán)境下多用戶文件共享控制方法,其特征是,在步驟S1中,F(xiàn)O在向云服務(wù)器上傳文件F前,首先將文件F分割成不同的文件塊,分割過(guò)程如下:
FO按記錄的順序,并以每個(gè)記錄的屬性值的個(gè)數(shù)為單位,將F分割成n*m個(gè)文件塊,每個(gè)文件塊用fij表示,其中1<=i<=n,1<=j(luò)<=m;n表示文件共有n個(gè)記錄,m表示每個(gè)記錄共有m個(gè)屬性值;把文件F看成是一個(gè)n*m二維矩陣,即:
FO先將文件F分割成若干個(gè)不同的文件塊fij,將每個(gè)文件塊fij看成一個(gè)單位元文件,這樣每個(gè)FU訪問(wèn)F中的內(nèi)容是由若干個(gè)文件塊fij組成的新文件。
3.根據(jù)權(quán)利要求1所述的云環(huán)境下多用戶文件共享控制方法,其特征是,在步驟S1中,利用公鑰對(duì)各文件塊進(jìn)行加密過(guò)程為:文件擁有者FO選擇任意填充值w∈R,方法如下:
rij=H(fij||w),Eij=pkO*rij,
令對(duì)fij進(jìn)行加密后密文為cfij=(Eij,Yij),則對(duì)文件F中各文件塊加密后的矩陣CF為:
其中1<=i<=n,1<=j(luò)<=m,F(xiàn)O將CF發(fā)送至CPS中,以供不同的FU使用。
4.根據(jù)權(quán)利要求1所述的云環(huán)境下多用戶文件共享控制方法,其特征是,在步驟S2中,訪問(wèn)權(quán)限表的建立過(guò)程如下:
FO將文件F分割成n*m個(gè)文件塊,F(xiàn)O為第k個(gè)FU生成權(quán)限訪問(wèn)表TUk={tk11,tk12,…,tkij,…,tknm},其中tkij=1時(shí),表示第k個(gè)FU可以訪問(wèn)CF中第i行,第j列的元素,tkij=0時(shí),表示第k個(gè)FU不可以訪問(wèn)CF中第i行,第j列的元素;已知有t個(gè)FU,用T表示FU訪問(wèn)權(quán)限表的集合,則T={TU1,…,TUk,…TUt}
FO將訪問(wèn)權(quán)限表T發(fā)送給CSP。
5.根據(jù)權(quán)利要求1所述的云環(huán)境下多用戶文件共享控制方法,其特征是,在步驟S3中,F(xiàn)O為第k個(gè)FU生成重加密密鑰RkO→Uk的過(guò)程如下:
vUk=H(idUk,pkUk),VUk=pkUk*vUk,hkUk=H(VUk,pgUk*vUk),rkO→UK=hkUk*skO
根據(jù)第k個(gè)FU的權(quán)限訪問(wèn)表TUk,當(dāng)tkij=1時(shí),計(jì)算:cij=rij*hkUk;
令CUk={…,cij,…},其中1<=i<=n,1<=j(luò)<=m;
針對(duì)FU的重加密密鑰為RkO→Uk=(rkO→Uk,VUk,CUk)。
6.根據(jù)權(quán)利要求1所述的云環(huán)境下多用戶文件共享控制方法,其特征是,在步驟S4中,CSP完成代理重加密的過(guò)程以第k個(gè)FU向CSP請(qǐng)求共享文件為例,其具體重加密過(guò)程如下:
CSP在訪問(wèn)權(quán)限表集合T中查找第k個(gè)FU的訪問(wèn)權(quán)限TUk;根據(jù)TUk={tk11,tk12,…,tkij,…,tknm},CSP逐一從CF中取出允許FU訪問(wèn)的文件塊cfij,這里的i、j取決于TUk中的tkij值,當(dāng)tkij=1時(shí),取出cfij,否則放棄該cfij;
假設(shè)FU可以訪問(wèn)CF中文件塊cfij,CSP用RkO→Uk的rkO→Uk對(duì)每個(gè)文件塊cfij進(jìn)行重加密,重加密后的密文用Cke表示,CSP計(jì)算:
E′ij=Eij*rkO→Uk,Cke=(E′ij,Yij)
令FU可以訪問(wèn)CF中f個(gè)文件塊cfij,針對(duì)f個(gè)文件塊的重加密密文集合CKUk為:CKUk={Ck1,…,Cke,…Ckf},其中1<=e<=f;CSP將(CKUk,VUk,CUk)發(fā)送給FU。
7.根據(jù)權(quán)利要求1所述的云環(huán)境下多用戶文件共享控制方法,其特征是,在步驟S5中,第k個(gè)FU收到密文后解密過(guò)程如下:
FU收到CSP發(fā)送的CkUk={Ck1,…,Cke,…Ckf},VUk和CUk后,用自己的私鑰skUk對(duì)CkUk中的每個(gè)元素Cke=(E′ij,Yij)進(jìn)行解密,解密后明文文件塊fij的集合用FUk表示,F(xiàn)U計(jì)算:
hk'Uk=H(VUk,H(skUk)*VUk),
驗(yàn)證cij=H(f′ij||w')*hk'是否成立,如果成立,則有:(f′ij||w')=(fij||w),除卻w,F(xiàn)U獲得自己所需要明文文件塊fij;令第e個(gè)元素Cke解密后獲得的明文記為fije;當(dāng)FU對(duì)CkUk中的f個(gè)元素解密后,最終獲得明文文件塊的集合FUk為:
FUk={fij1,…,fije,…fijf},其中1<=i<=n,1<=j(luò)<=m,1<=e<=f。