CN106850656A - 一种云环境下多用户文件共享控制方法 - Google Patents
一种云环境下多用户文件共享控制方法 Download PDFInfo
- Publication number
- CN106850656A CN106850656A CN201710106304.XA CN201710106304A CN106850656A CN 106850656 A CN106850656 A CN 106850656A CN 201710106304 A CN201710106304 A CN 201710106304A CN 106850656 A CN106850656 A CN 106850656A
- Authority
- CN
- China
- Prior art keywords
- file
- files
- blocks
- csp
- encryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种云环境下多用户文件共享控制方法,此方法利用了NTRU算法和代理重加密技术,提出一种高效、安全的多用户共享文件控制方案,实现了文件拥有者对共享文件更细粒度的委托控制。方法主要由密钥生成、加密、代理重加密、解密几个部分组成。在减少密文存储空间的同时,方法只需要加、减、乘和模运算,文件加密和解密的计算量只与文件块数的乘法运算呈线性增长关系,经过文件拥有者授权后,共享文件用户可以访问各自不同的文件块内容。本发明具有抗量子计算攻击,计算成本低,通信量少的优点,更加适合客户端计算资源和通信资源受限的环境。
Description
技术领域
本发明具体涉及一种云环境下多用户文件共享控制方法。
背景技术
云存储服务已经被IT行业公认为最具有发展前景的数据存储方式,各个领域的用户都可以将海量数据存储在云服务器中,并可以让其他合法的用户共享这些数据,让这些数据产生更大的应用价值。例如,在医疗系统中,将病人的电子病历存放到云服务器中,并提供在线病历检索与调用,既可以减少病人体检费用,也可以帮助其他医生选择更好的医疗方案等。表1是经过简化的某医疗单位电子病例信息表,表的内容包括个人基本信息(姓名、性别、年龄)、病情陈述、病检数据、诊断结果、治疗,共7个字段。对统计部门来说,性别或年龄、诊断结果可以作为某种疾病的分析和预测。对某个医生来说,病情陈述、病检数据等可以作为诊断的依据。
表1 某医疗机构电子病历样本
Name | Age | Sex | 病情陈述 | 病检数据 | 诊断结果 | 治疗 |
张三 | 20 | 男 | 偏头痛 | CT未见异常 | 血管性头痛 | 天麻蜜环菌片 |
… | … | … | … | … | … | … |
李四 | 50 | 女 | 咳嗽 | X光照射,肺纹理增粗 | 肺炎 | 青霉素 |
当文件拥有者FO(File Owner)将文件加密后存储到云服务器中,并交给云服务提供商CSP(Cloud Service Provider)管理时,由于FO的文件不是对所有人开放的,包括CSP,只有经过FO授权的文件使用者FU(File User)才能共享文件中的内容,因此,这需要建立一个有效的安全机制来保护存储在云服务器中的共享数据不被非授权用户访问。例如医生只能看到属于本人专业下的病人病历,某个病人只能看到属于本人的病历,其他人的病例就成为了一种隐私,应该是保密的。
近年来,国内外学者利用代理重加密等技术,解决了上面多个文件使用者FU共享同一个文件的问题。1998年,Blaze等学者首次提出了代理重加密概念。在代理重加密方案中,文件拥有者FO先将明文加密,再用自己的私钥和文件使用者FU的公钥生成一个重加密密钥,接着FO将密文和重加密密钥存放到半可信的代理服务器中。当FU申请共享文件时,代理服务器用FU的重加密密钥对密文再加密,将重加密的密文发送给FU。FU只要用自己的私钥解密密文就可以直接得到明文了。在这个过程中,明文、FO和FU的私钥都不会暴露给代理服务器。在FU共享文件时,FO也不需要保持在线状态。通过代理重加密方案可以防止明文和用户的私钥泄露,同时也提高了共享文件的效率。
目前,在利用代理重加密技术实现文件的多个用户共享方案中,大都是使用Elgamal加密算法或RSA加密算法,以及双线性对运算。Elgamal加密算法和RSA加密算法主要使用的是有限域的模幂运算,计算成本高,不能抵抗量子计算攻击。随着智能手机、平板电脑等资源受限的移动终端在云计算环境中的广泛应用,针对云环境下多用户文件共享问题,现有方案中密文占用的存储空间、计算效率等方面还需要进一步改进。
发明内容
本发明的目的在于克服现有技术中的不足,提供了一种新的云环境下多用户文件共享控制方法,将文件分割成若干个文件块,为各FU建立各文件块的访问权限表,利用NTRU加密算法和代理重加密技术实现文件块共享,此方法能抗量子计算攻击,计算成本低,通信量少。
为解决上述技术问题,本发明提供了一种云环境下多用户文件共享控制方法,其特征是,包括以下步骤:
步骤S1,FO首先将文件F分割成若干个文件块,利用NTRU加密算法生成自身的密钥对,利用公钥对各文件块进行加密获得原始密文传送至CSP;
步骤S2,FO为各FU分配一个身份标识,利用NTRU加密算法为各FU生成密钥对,然后将各密钥对和身份标识发送至对应的FU;为每个FU设定各文件块访问权限生成访问权限表,然后将各FU的身份标识和访问权限表发送至CSP;
步骤S3,FO为各FU生成重加密密钥;然后将各FU的重加密密钥发送至CSP;
步骤S4,当某FU访问共享文件时,首先向CSP发送身份标识和访问请求,CPS依据其身份标识查询访问权限表获取允许其访问的文件块,利用重加密密钥对允许访问的文件块的原始密文进行加密获得重加密密文,将重加密密文发送至此FU;
步骤S5,FU对获得对应其访问权限的重加密密文,利用其私钥进行解密获得最终明文。
进一步的,步骤S1中,FO在向云服务器上传文件F前,首先将文件F分割成不同的文件块,分割方法如下:
FO按记录的顺序,并以每个记录的属性值的个数为单位,将F分割成n*m个文件块,每个文件块用fij(1<=i<=n,1<=j<=m)表示,其中n表示文件共有n个记录,m表示每个记录共有m个属性值;把文件F看成是一个n*m二维矩阵,即:
FO先将文件F分割成若干个不同的文件块fij,将每个文件块fij看成一个单位元文件,这样每个FU访问F中的内容是由若干个文件块fij组成的新文件。
进一步的,利用公钥对各文件块进行加密过程为:文件拥有者FO选择任意填充值w∈R,方法如下:
rij=H(fij||w),Eij=pkO*rij,
令文件块fij进行加密后密文cfij=(Eij,Yij),则对文件F中各文件块加密后的矩阵CF为:
其中1<=i<=n,1<=j<=m,FO将CF发送至CPS中,以供不同的FU使用。
进一步的,在步骤S3中,访问权限表的建立过程如下:
FO将文件F分割成n*m个文件块,FO为第k个FU生成权限访问表TUk={tk11,tk12,…,tkij,…,tknm},其中tkij=1时,表示第k个FU可以访问CF中第i行,第j列的元素,tkij=0时,表示第k个FU不可以访问CF中第i行,第j列的元素;已知有t个FU,用T表示FU访问权限表的集合,则T={TU1,…,TUk,…TUt}
FO将访问权限表T发送给CSP。
进一步的,FO为第k个FU生成重加密密钥RkO→Uk的过程如下:
vUk=H(idUk,pkUk),VUk=pkUk*vUk,hkUk=H(VUk,pgUk*vUk),rkO→UK=hkUk*skO
根据第k个FU的权限访问表TUk,当tkij=1时,计算:cij=rij*hkUk。
令CUk={…,cij,…},其中1<=i<=n,1<=j<=m。
针对FU的重加密密钥为RkO→Uk=(rkO→Uk,VUk,CUk);
已知有t个FU,用RkO→U表示各FU重加密密钥的集合,则:RKO→U={RkO→U1,…,RkO→Uk,…,RkO→Ut}
FO将RKo→U发送给CSP。
进一步的,在步骤S4中,CSP完成代理重加密的过程以第k个FU向CSP请求共享文件为例,其具体重加密过程如下:
CSP在访问权限表集合T中查找第k个FU的访问权限TUk;根据TUk={tk11,tk12,…,tkij,…,tknm},CSP逐一从CF中取出允许FU访问的文件块cfij,这里的i、j取决于TUk中的tkij值,当tkij=1时,取出cfij,并对该cfij进行重加密,否则放弃该cfij;
假设FU可以访问CF中文件块cfij,CSP用RkO→Uk的rkO→Uk对每个文件块cfij进行重加密,重加密后的密文用Cke表示,CSP计算:
E′ij=Eij*rkO→Uk,Cke=(E′ij,Yij)
令FU可以访问CF中f个文件块cfij,针对f个文件块的重加密密文集合CKUk为:CKUk={Ck1,…,Cke,…Ckf},其中1<=e<=f;CSP将(CKUk,VUk,CUk)发送给FU。
进一步的,在步骤S5中,第k个FU收到密文后解密过程如下:
FU收到CSP发送的CkUk={Ck1,…,Cke,…Ckf},VUk和CUk后,用自己的私钥skUk对CkUk中的每个元素Cke=(E′ij,Yij)进行解密,解密后明文文件块fij的集合用FUk表示,FU计算:
hk′Uk=H(VUk,H(skUk)*VUk),
验证cij=H(f′ij||w')*hk'是否成立,如果成立,则有:(f′ij||w')=(fij||w),除却w,FU获得自己所需要明文文件块fij;令第e个元素Cke解密后获得的明文记为fije;当FU对CkUk中的f个元素解密后,最终获得明文文件块的集合FUk为:
FUk={fij1,…,fije,…fijf},其中1<=i<=n,1<=j<=m,1<=e<=f。
与现有技术相比,本发明所达到的有益效果是:
1)提出一种在云环境下无双线性对、无模幂运算的多用户文件共享控制方法,减少计算量;
2)利用访问权限表,云服务提供商可以快速找到文件使用者所需要的文件块,减少因多用户因访问文件中相同内容产生的计算量、通信量和存储开销;
3)加密算法采用NTRU密码算法,具有抵抗量子攻击的优点,所以本方法安全性更好。
附图说明
图1是云环境下多用户文件共享应用场景图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示为云环境下多用户文件共享的应用场景图。此应用场景中有文件拥有者FO、若干个文件使用者FU和云服务提供商CSP三个角色,它们之间的关系如图1所示,FO与多个FU共享文件F,由于FU的角色不同,每个FU可以访问F中的内容也不一定相同。本实施例中假设FO、FU、CSP之间的通信信道是安全,他们在通信时,不会发生文件块等信息丢失或泄漏等现象。
FO的任务是:将文件F分割成不同的文件块,并将各文件块进行加密后,上传到云服务器中,供不同的FU使用;为FU分发密钥和身份ID等授权信息,便于FU通过云服务器访问属于自己的文件块;为CSP提供每个FU的重加密密钥,用于重加密属于FU访问的文件块;为CSP提供每个FU的访问权限表,便于CSP在加密文件块中快速找到FU所需要的文件块。
FU的任务是:向FO提出共享文件申请;在获得FO授权后,FU可以按照自己身份角色,向CSP提交身份标识和访问请求等信息,经过CSP验证后,可以获得属于自己需要的加密文件块,并对加密文件块进行解密,得到明文文件块。
CSP的任务是:按照FO要求存储FO的文件块、FU的访问权限表、重加密密钥等信息;按照FU要求,用FU的重加密密钥,先加密FU所需要的文件块,然后再传送给FU。
本发明的云环境下多用户文件共享控制方法,包括以下步骤:
步骤S1,FO首先将文件F分割成若干个文件块,利用NTRU加密算法生成自身的密钥对,利用公钥对各文件块进行加密获得原始密文传送至CSP;
步骤S2,有若干个FU先向FO申请文件访问权限,FO为各FU分配一个身份标识,利用NTRU加密算法为各FU生成密钥对,并将各密钥对和身份标识发送至对应的FU,同时将各FU的身份标识发送至CSP;FO基于自身的私钥和FU的公钥为各FU生成重加密密钥,并将重加密密钥上传至CSP;
步骤S3,FO为每个FU设定各文件块访问权限,建立访问权限表发送至CSP;
步骤S4,当某FU预访问共享文件时,首先向CSP发送身份ID和访问请求,CPS依据其身份ID查询访问权限表获取允许其访问的文件块,利用重加密密钥对允许访问的文件块的原始密文进行加密获得重加密密文,将重加密密文发送至此FU;
步骤S5,FU对获得对应其访问权限的重加密密文,利用其私钥进行解密获得最终明文。
实施例
本发明基于NTRU(Number Theory Research Unit)公开密钥加密算法和代理重加密技术,提出了一种高效、安全的多用户共享文件控制方法。
已知用Z表示整数环,用Z[X]表示在Z上的卷积多项式环,N次卷积多项式环可以表示为R=Z[X]/(XN-1),模q的N次卷积多项式环可以表示为Rq=Zq[X]/(XN-1)。
在NTRU算法中,Df、Dg为私钥空间,分别表示一个多项式的集合,从这两个多项式集合中选择出私钥。Dr为眩值空间,是一个多项式集合,在NTRU算法加密时,从该集合中选择出临时眩值。
NTRU算法运行在多项式环R=Z[X]/(XN-1)上,所有多项式的次数等于N-1,所有多项式的系数为整数。NTRU算法需要初始化三个整数参数(N,p,q)和三个具有N-1阶多项式sk'∈Dsk、g∈Dg、r∈Dr。其中N为整数,p可以是多项式或整数,q通常为整数。NTRU算法产生密钥方法如下:
随机选择2个多项式sk'∈Dsk、g∈Dg,计算私钥sk:
sk=1+p*sk',sk*skq=1(modq) (1)
其中,skq表示sk的模q逆,*表示卷积运算;然后计算公钥pk:
pk=p*g*skq(modq) (2)
得到NTRU算法的密钥对为(sk,pk)。
假设文件拥有者FO拥有文件F,多个FU共享文件F需完成的过程如下:
1)FO密钥生成
在满足应用场景安全的条件下,文件拥有者FO选择单向散列函数H、NTRU算法所需要的参数N、p、q。
FO随机选择2个多项式sk'O∈Dsk,gO∈Dg,根据以上公式(1)和(2),计算密钥对(skO,pkO),并计算pkO*skO=pgO,保留pgO,公开pkO;这里“保留”的意思是pgO只供FO使用,对其他角色(如FU、CSP角色)是保密;“公开”的意思是pkO对所有角色是公开的,不要保密。
2)分割文件
FO在向云服务器上传文件F前,首先将文件F分割成不同的文件块,分割方法如下:
FO按记录的顺序,并以每个记录的属性值的个数为单位,将F分割成n*m个文件块,每个文件块用fij(1<=i<=n,1<=j<=m)表示,其中n表示文件共有n个记录,m表示每个记录共有m个属性值。这样,就可以把文件F看成是一个n*m二维矩阵,即:
按照以上所述方法,将文件F按二维矩阵的方式组织起来。FO先将文件F分割成若干个不同的文件块fij,将每个文件块fij看成一个单位元文件,这样每个FU访问F中的内容是由若干个文件块fij组成的新文件。
3)加密文件块
然后采用NTRU加密算法对各文件块fij进行加密。加密文件块的目的是防止非法用户看到文件的内容,本过程由文件拥有者FO完成。
文件拥有者FO选择任意填充值w∈R,计算:
rij=H(fij||w),Eij=pkO*rij,
令文件块fij进行加密后密文cfij=(Eij,Yij),则对文件F中各文件块加密后的矩阵CF为:
其中1<=i<=n,1<=j<=m,FO将CF发送至CPS中,以供不同的FU使用。
4)FU密钥生成
文件使用者FU先要向文件拥有者FO申请文件访问权限,才可以通过云服务提供商CSP访问共享文件。本过程由FO完成,方法如下:
假设有t个FU,用ID表示FU的身份标识集合,则
ID={idU1,…,idUk,…idUt};其中1<=k<=t。
FO收到FU发出的文件访问申请消息后,FO为FU分配一个身份标识idUk;表示是第k个FU。然后FO随机选择2个多项式sk'Uk∈Dsk,gUk∈Dg,根据公式(1)、(2),为FU生成密钥对(skUk,pkUk),并计算pkUk*skUk=pgUk,保留pgUk。
FO将(skUk,pkUk)、idUk通过安全通道发送给申请文件访问的FU。同时将ID发送给CSP。
5)生成访问权限表
设计访问权限表的目的是限定文件使用者FU访问CF中文件块的权限,便于云服务提供商CSP能够快速查找到FU所需要的文件块,本过程由FO完成,方法如下:
已知FO将文件F分割成n*m个文件块,令FO为第k个FU生成权限访问表为TUk={tk11,tk12,…,tkij,…,tknm},其中k表示第k个FU,tkij=1时,表示第k个FU可以访问CF中第i行,第j列的文件块,tkij=0时,表示第k个FU不可以访问CF中第i行,第j列的文件块。
共有t个FU,用T表示FU访问权限表的集合,则T={TU1,…,TUk,…TUt}
FO将访问权限表T发送给CSP。
6)生成重加密密钥
文件拥有者FO为每个文件使用者FU生成一个重加密密钥,本过程由FO完成。FO为第k个FU生成重加密密钥RkO→Uk的过程如下:
vUk=H(idUk,pkUk),VUk=pkUk*vUk,hkUk=H(VUk,pgUk*vUk),rkO→UK=hkUk*skO
根据第k个FU的权限访问表TUk,当tkij=1时,计算:
cij=rij*hkUk
令CUk={…,cij,…},其中1<=i<=n,1<=j<=m。
针对第k个FU生成的重加密密钥为RkO→Uk=(rkO→Uk,VUk,CUk)。已知有t个FU,用RkO→U表示重加密密钥的集合,则:
RKO→U={RkO→U1,…,RkO→Uk,…,RkO→Ut}
FO将RKo→U发送给CSP。
7)代理重加密
此过程由云服务提供商CSP完成,CSP完成代理重加密过程以第k个FU向CSP请求共享文件为例,其具体重加密过程如下:
(1)如果共享用户第k个FU已经获得文件访问权限,FU可以直接将身份idUk和访问请求发给CSP。否则,FU必须先向文件拥有者FO申请访问权限。
(2)CSP确认FU身份后,根据其身份标识idUk在访问权限表集合T中查找此FU的访问权限TUk。根据访问权限TUk={tk11,tk12,…,tkij,…,tknm},CSP逐一从加密后的文件块CF中取出允许FU访问的文件块cfij,这里的文件块下标i、j取决于TUk中的tkij值,当tkij=1时,取出cfij,并对该cfij进行重加密,否则放弃该cfij。
(3)假设第k个FU可以访问CF中文件块cfij,CSP用RkO→Uk的rkO→Uk对文件块cfij进行重加密,重加密后的密文用Cke表示,计算过程如下:
E′ij=Eij*rkO→Uk,Cke=(E′ij,Yij)
(4)令第k个FU共可以访问CF中f个文件块cfij,针对f个文件块的重加密文件块的密文集合CKUk为:
CKUk={Ck1,…,Cke,…Ckf};其中1<=e<=f。
CSP将其访问的文件块内容(CKUk,VUk,CUk)发送给此FU。
8)解密
此过程由文件使用者FU完成,以第k个FU从CSP收到文件块进行解密的过程为例,详述解密过程:
第k个FU收到CSP发送的CkUk={Ck1,…,Cke,…Ckf},VUk和CUk后,用自己的私钥skUk对CkUk中的每个元素Cke=(E′ij,Yij)进行解密,解密后明文文件块fij的集合用FUk表示,过程如下:
hk'Uk=H(VUk,H(skUk)*VUk),其中w'为填充值;
验证cij=H(f′ij||w')*hk'是否成立,如果不成立,解密失败,输出无效标志⊥。否则有:(f′ij||w')=(fij||w),除却w,FU获得自己所需要明文文件块fij。令第e个元素Cke解密后获得的明文记为fije。当FU对CkUk中的f个元素解密后,最终FU获得明文文件块的集合FUk:
FUk={fij1,…,fije,…fijf},其中1<=i<=n,1<=j<=m,1<=e<=f。
方案正确性分析
(1)本方案对文件块fij加密后,可以正确的解密。
证明:文件拥有者FO用自己的公钥pkO对文件块fij加密的密文cfij=(Eij,Yij)。
已知:rij=H(fij||w),Eij=pkO*rij,(1<=i<=n,1<=j<=m)
FO用自己私钥skO对加密文件cfij进行解密,过程如下:
所以,在没有任何干扰的情况下,本方案对文件块fij加密后得到密文cfij是可以正确解密的。
证明完毕。
(2)本方案对cfij重加密后,可以正确的解密。
证明:已知CSP用rkO→Uk对cfij进行重加密,重加密后的密文Cke=(E′ij,Yij)。
FO用自己私钥skO对加密文件Cke进行解密,过程如下:
已知:vUk=H(idUk,pkUk),VUk=pkUk*vUk,hkUk=H(VUk,pgUk*vUk)。
计算:hk'Uk=H(VUk,skUk*VUk)
=H(VUk,skUk*pkUk*vUk)
=H(VUk,pgUk*vUk)
=hkUk
即:在没有干扰的情况下:hk'Uk=hkUk
已知:rij=H(fij||w),Eij=pkO*rij,rkO→UK=hkUk*skO,E′ij=Eij*rkO→Uk,其中1<=i<=n,1<=j<=m。
计算:
所以,在没有任何干扰的情况下,本方案对密文cfij重加密后得到密文Cke是可以正确解密的。
证明完毕。
安全性分析
定理1,假设云服务提供商CSP是半诚实的,CSP会按照FO的要求存储FO的加密文件,但,CSP企图解密FO的密文,窥测到明文的概率几乎为零。
证明:在CSP上存有对文件F加密后矩阵CF,其中cfij=(Eij,Yij),rij=H(fij||w),Eij=pkO*rij,
情况1,在已知Eij、pkO的条件下,CSP要想从Eij分解出rij,从rij分解出(fij||w),CSP必须解决在格中求解最短向量问题,以及在抗碰撞的hash函数中找到一个碰撞问题,这将破坏NTRU算法的安全性和hash函数单向性。事实是,在多项式时间内解决格中求解最短向量问题,以及在抗碰撞的hash函数中找到一个碰撞是很困难的。
情况2,在已知Yij的情况下,CSP企图从Yij分解出(fij||w)也是几乎不可能的,因为,在多项式时间内,在H(pgO*rij)未知的情况下,企图从Yij分解出(fij||w)几乎不可能。除非CSP采用穷举法。
情况3,假如文件使用者FU与CSP合谋,FU将自己解密后明文(fij||w)交给CSP,在已知Yij和(fij||w)情况下,CSP计算得到了H(pgO*rij)。CSP企图从H(pgO*rij)得到pgO,并利用pkO*skO=pgO,试图分解出FO的私钥skO也是乎不可能的。因为,CSP必须解决在抗碰撞的hash函数中找到一个碰撞问题,以及在格中求解最短向量问题。
所以CSP在没有获得Owner的私钥skO的情况下,成功解密cfij=(Eij,Yij)概率几乎为零,也就无法得到(fij||w)。
证明完毕。
推理1:假如文件使用者CSP与FU合谋,CSP直接将cfij发送给FU,FU企图从cfij得到明文快(fij||w)的概率几乎为零。
推理2,CSP从重加密密钥RkO→Uk的rkO→UK中企图得到文件拥有者FO私钥skO的概率几乎为零。
定理2,假设云服务提供商CSP是半诚实的,CSP会按照FO的要求重加密文件块cfij,并将重加密后的文件块Cke发送给指定的文件共享用户FU,FU企图从Cke中窥测到FO私钥skO的概率几乎为零。
证明:FU从CSP获得信息包括Cke=(E′ij,Yij),VUk,cij和FO的公钥pkO。其中E′ij=Eij*rkO→Uk=Eij*hkUk*skO,包含了FO的私人密钥skO,显然要从E′ij中分解出skO必须接在格格中求解最短向量等问题,所以FU企图从Cke中窥测到FO私钥skO的概率几乎为零。
证明完毕。
推理3,假设文件共享着FU与云服务提供商CSP共谋,FU将自己的私钥skUk泄露给CSP,CSP企图得到其他文件使用者的明文和私钥skO的概率几乎为零。
定理3,假设文云服务提供商CSP是半诚实的,CSP会按照FO的要求存储FO的加密文件,当文件使用者FU需要访问文件块时,企图解密其他文件使用者的文件块的概率几乎为零。
证明:假如CSP与FU合谋,CSP将其他文件使用者的文件块Cke'=(E″ij,Y′ij),V′Uk,c′ij泄露给FU,FU计算hk'Uk=H(V′Uk,skUk*V′Uk),而FO计算的hkUk=H(V′Uk,pg'Uk*v'Uk)中包含有其他文件使用者的私钥等,pg'Uk≠pgUk,所以hk'Uk≠hkUk,c′ij≠H(f′ij||w')*hk'即FU利用解密是不可能得到正确的密文。
证明完毕。
推理4,假如CSP与FU合谋,CSP将其他文件使用者的文件块Cke'=(E″ij,Y′ij)和FU的VUk,cij泄露给FU,FU企图解密其他文件使用者的文件块的概率几乎为零。
推理5,假如CSP与FU合谋,CSP用FU的RkO→Uk对其他文件使用者的文件块加密,并将加密后的Cke'=(E″ij,Y′ij)和FU的VUk,cij泄露给FU,FU企图解密其他文件使用者的文件块的概率几乎为零。
计算开销分析
目前,有关代理重加密方案的研究成果大多数都是利用双线性对、RSA加密算法、Elgamal加密算法,方案中需要大量幂运算。本方案使用了NTRU算法,方案中只包括乘法运算等,避开计算量大的幂运算,提高整个方案计算速度。
设TG表示一次群上的幂运算所用的时间,TM表示一次群上的乘法运算所用的时间,TN表示一次格上的乘法运算所用的时间,TH表示一次hash运算所用的时间,与幂运算、乘法相比,异或等运算代价非常小,在此忽略不计。
本方案中,分割文件和生成文件块访问权限表时,不需要任何计算;加密分割文件块时,分别进行1次TN和2次TH运算;代理重加密文件块时,分别进行4次TN和2次TH运算运算;文件使用者解密时,包括验证在内,分别进行3次TN和TH运算,整个方案中没有TG运算。
在本方案中,FO的计算量比较小,CSP计算成本相对较高,充分利用了CSP海量计算能力。由于CSP只将FU所需的重加密文件块发送给FU,FU的计算开销也比较低。
存储开销分析
本方案存储开销主要是加密的共享文件块,以及针对每个文件使用者的文件访问权限表。文件访问权限表集合实际上是一个稀疏矩阵,在实际应用中只需要存储非零数据就可以。本方案占用的存储开销也比较小。
通信开销分析
本方案通信开销主要是上传加密文件块和文件块权限表,本方案中CSP只将FU所需要的文件块发送给FU。所以,本方案的通信开销也比较小。
本文提出了一种基于NTRU算法的多用户文件共享控制方法,给出了方案的正确性和安全证明。与文献《云环境下多用户文件共享方案》(计算机研究与发展,2014,王中华)等现有的解决多用户文件共享方案相比,本方案在确保安全的前提下,利用了NTRU算法,避免了大量的指数运算,减少了计算开销、存储开销和通信开销,适合资源受限的客户端设备。
文件使用者FU每次访问文件时,并不一定需要访问属于自己权限下的所有文件块,有时只需要访问其中的部分文件块。这时可以在本方案的基础上,利用云环境下关键字密文检索技术,即FU在访问文件时,提交加密后的关键字等信息,CSP会根据FU提供的关键字,在FU可访问权限下的文件块中查找FU所需要的文件块,这将进一步减少FU的计算成本,同时也可以减少CSP与FU通信成本。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。
Claims (7)
1.一种云环境下多用户文件共享控制方法,其特征是,包括以下步骤:
步骤S1,FO首先将文件F分割成若干个文件块,利用NTRU加密算法生成自身的密钥对,利用公钥对各文件块进行加密获得原始密文传送至CSP;
步骤S2,FO为各FU分配一个身份标识,利用NTRU加密算法为各FU生成密钥对,然后将各密钥对和身份标识发送至对应的FU;并为每个FU设定各文件块访问权限生成访问权限表,然后将各FU的身份标识和访问权限表发送至CSP;
步骤S3,FO为各FU生成重加密密钥;然后将各FU的重加密密钥发送至CSP;
步骤S4,当某FU访问共享文件时,首先向CSP发送身份标识和访问请求,CPS依据其身份标识查询访问权限表获取允许其访问的文件块,利用重加密密钥对允许访问的文件块的原始密文进行加密获得重加密密文,将重加密密文发送至此FU;
步骤S5,FU对获得对应其访问权限的重加密密文,利用其私钥进行解密获得最终明文。
2.根据权利要求1所述的云环境下多用户文件共享控制方法,其特征是,在步骤S1中,FO在向云服务器上传文件F前,首先将文件F分割成不同的文件块,分割过程如下:
FO按记录的顺序,并以每个记录的属性值的个数为单位,将F分割成n*m个文件块,每个文件块用fij表示,其中1<=i<=n,1<=j<=m;n表示文件共有n个记录,m表示每个记录共有m个属性值;把文件F看成是一个n*m二维矩阵,即:
FO先将文件F分割成若干个不同的文件块fij,将每个文件块fij看成一个单位元文件,这样每个FU访问F中的内容是由若干个文件块fij组成的新文件。
3.根据权利要求1所述的云环境下多用户文件共享控制方法,其特征是,在步骤S1中,利用公钥对各文件块进行加密过程为:文件拥有者FO选择任意填充值w∈R,方法如下:
rij=H(fij||w),Eij=pkO*rij,
令对fij进行加密后密文为cfij=(Eij,Yij),则对文件F中各文件块加密后的矩阵CF为:
其中1<=i<=n,1<=j<=m,FO将CF发送至CPS中,以供不同的FU使用。
4.根据权利要求1所述的云环境下多用户文件共享控制方法,其特征是,在步骤S2中,访问权限表的建立过程如下:
FO将文件F分割成n*m个文件块,FO为第k个FU生成权限访问表TUk={tk11,tk12,…,tkij,…,tknm},其中tkij=1时,表示第k个FU可以访问CF中第i行,第j列的元素,tkij=0时,表示第k个FU不可以访问CF中第i行,第j列的元素;已知有t个FU,用T表示FU访问权限表的集合,则T={TU1,…,TUk,…TUt}
FO将访问权限表T发送给CSP。
5.根据权利要求1所述的云环境下多用户文件共享控制方法,其特征是,在步骤S3中,FO为第k个FU生成重加密密钥RkO→Uk的过程如下:
vUk=H(idUk,pkUk),VUk=pkUk*vUk,hkUk=H(VUk,pgUk*vUk),rkO→UK=hkUk*skO
根据第k个FU的权限访问表TUk,当tkij=1时,计算:cij=rij*hkUk;
令CUk={…,cij,…},其中1<=i<=n,1<=j<=m;
针对FU的重加密密钥为RkO→Uk=(rkO→Uk,VUk,CUk)。
6.根据权利要求1所述的云环境下多用户文件共享控制方法,其特征是,在步骤S4中,CSP完成代理重加密的过程以第k个FU向CSP请求共享文件为例,其具体重加密过程如下:
CSP在访问权限表集合T中查找第k个FU的访问权限TUk;根据TUk={tk11,tk12,…,tkij,…,tknm},CSP逐一从CF中取出允许FU访问的文件块cfij,这里的i、j取决于TUk中的tkij值,当tkij=1时,取出cfij,否则放弃该cfij;
假设FU可以访问CF中文件块cfij,CSP用RkO→Uk的rkO→Uk对每个文件块cfij进行重加密,重加密后的密文用Cke表示,CSP计算:
E′ij=Eij*rkO→Uk,Cke=(E′ij,Yij)
令FU可以访问CF中f个文件块cfij,针对f个文件块的重加密密文集合CKUk为:CKUk={Ck1,…,Cke,…Ckf},其中1<=e<=f;CSP将(CKUk,VUk,CUk)发送给FU。
7.根据权利要求1所述的云环境下多用户文件共享控制方法,其特征是,在步骤S5中,第k个FU收到密文后解密过程如下:
FU收到CSP发送的CkUk={Ck1,…,Cke,…Ckf},VUk和CUk后,用自己的私钥skUk对CkUk中的每个元素Cke=(E′ij,Yij)进行解密,解密后明文文件块fij的集合用FUk表示,FU计算:
hk'Uk=H(VUk,H(skUk)*VUk),
验证cij=H(f′ij||w')*hk'是否成立,如果成立,则有:(f′ij||w')=(fij||w),除却w,FU获得自己所需要明文文件块fij;令第e个元素Cke解密后获得的明文记为fije;当FU对CkUk中的f个元素解密后,最终获得明文文件块的集合FUk为:
FUk={fij1,…,fije,…fijf},其中1<=i<=n,1<=j<=m,1<=e<=f。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710106304.XA CN106850656B (zh) | 2017-02-27 | 2017-02-27 | 一种云环境下多用户文件共享控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710106304.XA CN106850656B (zh) | 2017-02-27 | 2017-02-27 | 一种云环境下多用户文件共享控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850656A true CN106850656A (zh) | 2017-06-13 |
CN106850656B CN106850656B (zh) | 2019-06-07 |
Family
ID=59134534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710106304.XA Active CN106850656B (zh) | 2017-02-27 | 2017-02-27 | 一种云环境下多用户文件共享控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850656B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395568A (zh) * | 2017-06-21 | 2017-11-24 | 西安电子科技大学 | 一种多数据拥有者认证的密文检索方法 |
CN108400871A (zh) * | 2018-01-25 | 2018-08-14 | 南京邮电大学 | 结合身份和属性的支持代理重加密的密文检索系统及方法 |
CN108898027A (zh) * | 2018-06-29 | 2018-11-27 | 联想(北京)有限公司 | 一种权限控制方法、装置及服务器集群 |
CN109361704A (zh) * | 2018-12-12 | 2019-02-19 | 深圳市网心科技有限公司 | 云存储数据加密传输方法、系统、设备及存储介质 |
CN110888853A (zh) * | 2019-11-26 | 2020-03-17 | 廊坊新奥燃气有限公司 | 资料管理系统及方法 |
CN110912691A (zh) * | 2019-11-15 | 2020-03-24 | 任子行网络技术股份有限公司 | 一种云环境下基于格上访问控制加密算法的密文分发方法、装置、系统及存储介质 |
WO2022223036A1 (zh) * | 2021-04-23 | 2022-10-27 | 山东英信计算机技术有限公司 | 一种加密数据共享的方法、装置、设备及可读介质 |
CN115529194A (zh) * | 2022-11-28 | 2022-12-27 | 中国人民解放军国防科技大学 | 一种数据管理方法、系统、设备和存储介质 |
CN116980130A (zh) * | 2023-09-25 | 2023-10-31 | 深圳市纽创信安科技开发有限公司 | 一种文件分享方法、系统及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281520A1 (en) * | 2013-03-15 | 2014-09-18 | Mymail Technology, Llc | Secure cloud data sharing |
-
2017
- 2017-02-27 CN CN201710106304.XA patent/CN106850656B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140281520A1 (en) * | 2013-03-15 | 2014-09-18 | Mymail Technology, Llc | Secure cloud data sharing |
Non-Patent Citations (3)
Title |
---|
ZHANG YALING等: "A Multi-User Searchable Symmetric Encryption Scheme for Cloud Storage System", 《2013 5TH INTERNATIONAL CONFERENCE ON INTELLIGENT NETWORKING AND COLLABORATIVE SYSTEMS》 * |
步山岳等: "NTRU公开密钥体制快速实现算法", 《微电子学与计算机》 * |
王中华等: "云环境下多用户文件共享方案", 《计算机研究与发展》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395568A (zh) * | 2017-06-21 | 2017-11-24 | 西安电子科技大学 | 一种多数据拥有者认证的密文检索方法 |
CN108400871A (zh) * | 2018-01-25 | 2018-08-14 | 南京邮电大学 | 结合身份和属性的支持代理重加密的密文检索系统及方法 |
CN108898027A (zh) * | 2018-06-29 | 2018-11-27 | 联想(北京)有限公司 | 一种权限控制方法、装置及服务器集群 |
CN109361704A (zh) * | 2018-12-12 | 2019-02-19 | 深圳市网心科技有限公司 | 云存储数据加密传输方法、系统、设备及存储介质 |
CN110912691A (zh) * | 2019-11-15 | 2020-03-24 | 任子行网络技术股份有限公司 | 一种云环境下基于格上访问控制加密算法的密文分发方法、装置、系统及存储介质 |
CN110912691B (zh) * | 2019-11-15 | 2022-12-06 | 任子行网络技术股份有限公司 | 一种云环境下基于格上访问控制加密算法的密文分发方法、装置、系统及存储介质 |
CN110888853A (zh) * | 2019-11-26 | 2020-03-17 | 廊坊新奥燃气有限公司 | 资料管理系统及方法 |
WO2022223036A1 (zh) * | 2021-04-23 | 2022-10-27 | 山东英信计算机技术有限公司 | 一种加密数据共享的方法、装置、设备及可读介质 |
CN115529194A (zh) * | 2022-11-28 | 2022-12-27 | 中国人民解放军国防科技大学 | 一种数据管理方法、系统、设备和存储介质 |
CN115529194B (zh) * | 2022-11-28 | 2023-03-10 | 中国人民解放军国防科技大学 | 一种数据管理方法、系统、设备和存储介质 |
CN116980130A (zh) * | 2023-09-25 | 2023-10-31 | 深圳市纽创信安科技开发有限公司 | 一种文件分享方法、系统及存储介质 |
CN116980130B (zh) * | 2023-09-25 | 2023-12-22 | 深圳市纽创信安科技开发有限公司 | 一种文件分享方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106850656B (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108712260B (zh) | 云环境下保护隐私的多方深度学习计算代理方法 | |
Wu et al. | Efficient and privacy-preserving traceable attribute-based encryption in blockchain | |
CN106850656B (zh) | 一种云环境下多用户文件共享控制方法 | |
Yang et al. | Privacy-preserving smart IoT-based healthcare big data storage and self-adaptive access control system | |
Belguith et al. | Phoabe: Securely outsourcing multi-authority attribute based encryption with policy hidden for cloud assisted iot | |
US9355271B2 (en) | System and method for dynamic, non-interactive, and parallelizable searchable symmetric encryption | |
US11379609B2 (en) | Health file access control system and method in electronic medical cloud | |
Chinnasamy et al. | HCAC-EHR: hybrid cryptographic access control for secure EHR retrieval in healthcare cloud | |
Dong et al. | Achieving an effective, scalable and privacy-preserving data sharing service in cloud computing | |
Ying et al. | A lightweight policy preserving EHR sharing scheme in the cloud | |
Chaudhari et al. | Privacy preserving searchable encryption with fine-grained access control | |
Guo et al. | Efficient secure-channel free public key encryption with keyword search for EMRs in cloud storage | |
Barsoum et al. | Integrity verification of multiple data copies over untrusted cloud servers | |
Miyaji et al. | Privacy-preserving integration of medical data: a practical multiparty private set intersection | |
Zhang et al. | Multi-server assisted data sharing supporting secure deduplication for metaverse healthcare systems | |
CN107483585A (zh) | 云环境中支持安全去重的高效数据完整性审计系统及方法 | |
CN109740364B (zh) | 可控搜索权限的基于属性的密文搜索方法 | |
Sharma et al. | RSA based encryption approach for preserving confidentiality of big data | |
CN112751670B (zh) | 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法 | |
Huang et al. | FSSR: Fine-grained EHRs sharing via similarity-based recommendation in cloud-assisted eHealthcare system | |
Zhang et al. | A privacy protection scheme for IoT big data based on time and frequency limitation | |
Wang et al. | Secure‐aware and privacy‐preserving electronic health record searching in cloud environment | |
Zhang et al. | A Secure and Privacy‐Aware Smart Health System with Secret Key Leakage Resilience | |
Huang et al. | Block-Level Message-Locked Encryption with Polynomial Commitment for IoT Data. | |
Senthilkumar et al. | SCB-HC-ECC–based privacy safeguard protocol for secure cloud storage of smart card–based health care system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190711 Address after: 518055 Green Cloud Valley Building 309, No. 38 High-tech North Six Road, Xili Street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen Jiahong Network Technology Co., Ltd. Address before: 223003 Huaian City, Jiangsu Province, No. 1 East Road Patentee before: Huaijin Polytechnical College |