云环境下可撤销的密钥聚合加密方法与流程

文档序号:12490903阅读:310来源:国知局
云环境下可撤销的密钥聚合加密方法与流程

本发明涉及密钥聚合机制相关技术领域,具体涉及一种云环境下可撤销的密钥聚合加密方法。



背景技术:

随着云计算技术的不断发展,一种新兴的数据存储模式即云存储引起了人们极大的关注。云存储是由云计算衍生和发展而来的一种数据存储服务技术,是通过网络将本地数据保存在云服务供应商所提供的在线存储空间中,具有低成本、易使用和高扩展性的优势,满足了海量数据存储的需求,并提供数据共享服务,成为了信息存储发展的重点领域。

然而,云存储带给人们极大便利的同时,也带来了新的安全问题和挑战。由于在云计算环境下,云服务器并非完全可信的,而企业或个人将数据外包到云中,这意味着企业或个人失去了对数据的完全控制,那么就出现了数据的安全和隐私保护问题。为了保证所存储数据的机密性,用户需要釆用加密技术,将数据加密后上传存储,只有拥有解密密钥的用户才能解密该密文,实现对数据内容的访问,从而降低了数据泄露的风险,保证了数据的安全。为了保证数据资源在正当范围内得以有效利用和管理,因此访问控制技术将是一个不可或缺的部分,通过访问控制策略保证数据的授权访问,这是保证数据安全存储的关键技术,能促进云存储的应用和发展。那么对于这些数据,如何利用加密技术保证云中数据的安全;如何在保护数据隐私的前提下,实现有效的数据共享,且尽可能地减少用户的密钥管理代价和安全风险;如何建立一种安全的访问控制机制,只允许授权用户成功访问所需要的数据,而其他非法用户无法访问这些数据;并且由于在共享云计算服务环境下,用户访问权限频繁发生改变,即授权用户具有动态变更性,如何有效地实现用户撤销,建立一种具备用户撤销功能的访问控制机制,这些都已成为亟待解决的问题。

2014年,Chu等人在文献《Key-aggregate Cryptosystem for Scalable Data Sharing in Cloud Storage》中首次提出了密钥聚合机制的概念,并构造出第一个密钥聚合加密方案,灵活地应用于云环境下的数据共享。Chu等人的方案设定在公钥加密体制中,能够将用户的多个解密密钥聚合为一个单密钥,用户仅仅使用这一个密钥就能解密多个文件,而且对聚合没有条件限制,并且密文长度为Ο(1),为常数大小。然而,Chu等人方案的系统公共参数长度为Ο(N),而且没有提供具体的安全证明。2015年,Sikhar等人在文献《Dynamic Key-Aggregate Cryptosystem on Elliptic Curves for Online Data Sharing》中首次提出一种可撤销的密钥聚合加密方案,实现了用户的动态撤销功能,但是在该方案中,一旦有用户撤销发生,所有合法的用户均需更新密钥,带来了昂贵的密钥更新开销。



技术实现要素:

本发明的目的是为了解决现有技术中的上述缺陷,提供一种云环境下可撤销的密钥聚合加密方法。

本发明的目的可以通过采取如下技术方案达到:

一种云环境下可撤销的密钥聚合加密方法,所述密钥聚合加密方法包括:

S1、通过系统建立算法Setup(1λ,n),输入安全参数1λ和最大文件数目n,输出系统公共参数params;

S2、通过密钥生成算法KeyGen(params)输入系统公共参数params,生成系统公钥PK和主密钥msk;

S3、通过加密算法Encrypt(PK,i,m,params)对文件加密,输入系统公钥PK,文件索引i(1≤i≤n),明文m和系统参数params,输出密文C;

S4、通过聚合密钥提取算法Extract(msk,uid,S,params)为授权用户生成聚合密钥,输入主密钥msk,用户身份uid,文件索引集合和系统公共参数params,输出用户私钥SK=(KS,Kuid),其中KS,Kuid均为聚合密钥;

S5、当有用户被撤销时,云服务器通过更新算法Update(PK,R,C,params)更新加密文件,输入系统公钥PK,用户撤销集合R,密文C和系统公共参数params,输出更新密文C';

S6、通过验证算法Verify(C,C',params)验证云服务器是否正确撤销用户,根据以下等式可公开验证云服务器是否正确撤销用户:

e(μPx,c4)=e(c5,gn),

如果表达式成立,则表明云服务器有效执行用户撤销,如果表达式不成立,则表明云服务器无效执行用户撤销;

S7、通过验证算法Verify(C,C',params)验证云服务器是否正确更新密文数据,根据以下等式验证云服务器是否正确更新密文c'3

e(c'3/c3,gn)=e(W,c4),

如果表达式成立,则表明云服务器正确更新密文,如果表达式不成立,则表明云服务器没有正确更新密文;

S8、通过解密算法Decrypt(C,SK,S,i,R,params)授权用户解密文件,输入用户私钥SK,文件索引集S,文件索引i及其对应的密文C,用户撤销集合R和系统公共参数params,如果i∈S且则输出明文m,否则输出解密失败。

进一步地,令Setup'是非对称多线性映射群系统建立算法,其输出为一组p阶群。设T是一棵深度为d(1≤d≤n)的完全二分树,其中叶子节点代表用户。对于T中的所有节点从1到(2d-1)依次进行编号。

所述系统建立算法Setup(1λ,n),输入索引的长度n,文件索引空间为{0,1}n\{0n},则加密文件的最大数目N=2n-1;令n为(n+1)维的全1向量,运行Setup'(2n)算法,得到对于目标群为G2n的多线性映射的系统参数params',随机选取α∈Zp,当l=0,1,...,n-1时,当l=n时,最后令输出系统参数params=<params',{Xi}i∈{0,1,...,n},W>。

进一步地,所述密钥生成算法KeyGen(params),随机选取β∈Zp,γ∈Zp,计算μ=gnβ,ν=gnγ,输出系统公钥PK=(μ,ν),主密钥msk=(β,γ)。

进一步地,所述加密算法Encrypt(PK,i,m,params),对于文件索引i∈{1,2,...,2n-1},随机选取t1∈Zp,计算会话密钥计算关于m的密文:

进一步地,所述聚合密钥提取算法Extract(msk,uid,S,params),给定用户身份uid∈{0,1}d,从完全二分树T中,利用完全子树法,得到用户路径其中计算则路径聚合密钥Kuid=Puidβ;对于索引集合计算索引聚合密钥由于S不包含0,所以均可由params计算得到;最后输出用户私钥SK=(KS,Kuid)。

进一步地,所述更新算法Update(PK,R,C,params),对于用户撤销集R,根据子集覆盖机制的完全子树法计算出覆盖集合cover(R),对于x∈cover(R),随机选取t2∈Zp,计算假设t=t1+t2,则有c'3=m·Wt,并计算得到更新密文:

进一步地,所述验证算法Verify(C,C',params),通过验证是否正确执行用户撤销;如果输出1,则表明云服务器有效执行用户撤销,数据拥有者通过可验证更新后的密文c'3是否正确;如果输出1,则表明云服务器正确更新了密文。

进一步地,所述解密算法Decrypt(C,SK,S,i,R,params),通过输入用户私钥SK,文件索引集S,文件索引i及其对应的密文C,用户撤销集合R和系统公共参数params,如果或者uid∈R,输出解密失败;否则,由授权用户使用私钥可对密文进行解密,计算表达式如下:

本发明相对于现有技术具有如下的优点及效果:

1)本发明在密钥聚合机制的基础上增加一个支持用户撤销的功能,提出一种可撤销的密钥聚合加密方法,完善了对于密钥聚合机制的用户动态管理功能。

2)本发明不仅简洁了用户的密钥管理,而且对于不同的用户授予不同的解密权限。

3)本发明由云存储服务器对密文进行更新,实现对用户的权限撤销;当有用户被撤销时,合法用户无需更新密钥,减轻授权机构的负担;可验证更新密文,确保用户撤销被有效执行。

4)安全性证明表明,基于Weak DHDHE假设,在标准模型下证明所提出的方法为非自适应选择明文安全。

5)性能分析表明,与已有方案相比,本发明不仅保持用户密钥和密文为Ο(1),系统公共参数长度为Ο(logN),而且具有更高效的用户撤销效率,有效地实现对用户的访问权限控制。

附图说明

图1是本发明公开的一种云环境下可撤销的密钥聚合加密方法的流程示意图;

图2是建立用户二叉树的结构图;

图3是实现用户撤销功能的过程示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例

随着网络和存储技术的飞速发展,云存储已成为一种新兴的服务模式,而数据共享是云存储中的一个重要功能。如何有效、安全和灵活地实现数据共享;如何将多个解密密钥聚合为一个单密钥,尽可能地减少用户的密钥管理代价和安全风险;如何实现对用户的访问控制及撤销功能;这些问题如果得不到解决,就无法保证云存储的安全。因此,针对云存储的特点,研究在此基础上相应的安全问题,建立一种有效、安全的密钥聚合机制,是十分必要和急需的,具有重要的理论意义和应用价值。

本实施例针对以上问题,主要研究了云环境下的密钥聚合机制,提出了一种云环境下可撤销的密钥聚合加密方法。在标准模型下证明了提出的方法具有非自适应选择明文安全。本发明不仅具有密钥聚合的特点,而且还能对用户的访问权限进行撤销,实现了灵活有效地访问控制。当有用户被撤销时,合法用户无需更新密钥,有效地减轻了授权机构的负担。此外,本发明还提供了可验证机制,实现了对更新密文的验证,确保用户撤销被有效执行。与已有的方案相比,本发明不仅有效地降低了密钥管理代价和存储开销,而且具有可撤销用户的功能,有效地实现了对用户访问权限的控制。

下面结合图1对本实施例公开的一种云环境下可撤销的密钥聚合加密方法的具体过程进行详细说明。包括如下步骤:

S1、通过系统建立算法Setup(1λ,n),输入安全参数1λ和最大文件数目n,输出系统公共参数params;

令Setup'是非对称多线性映射群系统建立算法,其输出为一组p阶群。设T是一棵深度为d(1≤d≤n)的完全二分树,其中叶子节点代表用户。对于T中的所有节点从1到(2d-1)依次进行编号,如图2所示。

具体应用中,所述系统建立算法Setup(1λ,n),输入索引的长度n,文件索引空间为{0,1}n\{0n},则加密文件的最大数目N=2n-1。令n为(n+1)维的全1向量,运行Setup'(2n)算法,得到对于目标群为G2n的多线性映射的系统参数params'。随机选取α∈Zp,当l=0,1,...,n-1时,当l=n时,最后令输出系统参数params=<params',{Xi}i∈{0,1,...,n},W>。

S2、通过密钥生成算法KeyGen(params)输入系统公共参数params,生成系统公钥PK和主密钥msk;

具体应用中,所述密钥生成算法KeyGen(params),随机选取β∈Zp,γ∈Zp,计算μ=gnβ,ν=gnγ,输出系统公钥PK=(μ,ν),主密钥msk=(β,γ)。

S3、通过加密算法Encrypt(PK,i,m,params)对文件加密,输入系统公钥PK,文件索引i(1≤i≤n),明文m和系统参数params,输出密文C;

具体应用中,所述加密算法Encrypt(PK,i,m,params),对于文件索引i∈{1,2,...,2n-1},随机选取t1∈Zp,计算会话密钥计算关于m的密文:

S4、通过聚合密钥提取算法Extract(msk,uid,S,params)为授权用户生成聚合密钥,输入主密钥msk,用户身份uid,文件索引集合和系统公共参数params,输出用户私钥SK=(KS,Kuid),其中KS,Kuid均为聚合密钥;

具体应用中,所述聚合密钥提取算法Extract(msk,uid,S,params),给定用户身份uid∈{0,1}d,从完全二分树T中,利用完全子树法,得到用户路径其中计算则路径聚合密钥Kuid=Puidβ。对于索引集合计算索引聚合密钥由于S不包含0,所以均可由params计算得到。最后输出用户私钥SK=(KS,Kuid)。

S5、当有用户被撤销时,云服务器通过更新算法Update(PK,R,C,params)更新加密文件,输入系统公钥PK,用户撤销集合R,密文C和系统公共参数params,输出更新密文C';

当有用户被撤销时,云服务器更新加密文件。

具体应用中,更新算法Update(PK,R,C,params):对于用户撤销集R,根据子集覆盖机制的完全子树法计算出覆盖集合cover(R),对于x∈cover(R),随机选取t2∈Zp,计算假设t=t1+t2,则有c'3=m·Wt,并计算得到更新密文:

S6、通过验证算法Verify(C,C',params)验证云服务器是否正确撤销用户,根据以下等式可公开验证云服务器是否正确撤销用户:

e(μPx,c4)=e(c5,gn),

如果表达式成立,则表明云服务器有效执行用户撤销;如果表达式不成立,则表明云服务器无效执行用户撤销。

S7、通过验证算法Verify(C,C',params)验证云服务器是否正确更新密文数据,根据以下等式验证云服务器是否正确更新密文c'3

e(c'3/c3,gn)=e(W,c4)

如果表达式成立,则表明云服务器正确更新密文;如果表达式不成立,则表明云服务器没有正确更新密文。

具体应用中,上述步骤S6和步骤S7中的验证算法Verify(C,C',params),通过可公开验证是否正确执行用户撤销。如果输出1,则表明云服务器有效执行用户撤销。数据拥有者通过可验证更新后的密文c'3是否正确,如果输出1,则表明云服务器正确地更新了密文。

S8、通过解密算法Decrypt(C,SK,S,i,R,params)授权用户解密文件,输入用户私钥SK,文件索引集S,文件索引i及其对应的密文C,用户撤销集合R和系统公共参数params,如果i∈S且则输出明文m,否则输出解密失败。

具体应用中,所述解密算法Decrypt(C,SK,S,i,R,params),通过输入用户私钥SK,文件索引集S,文件索引i及其对应的密文C,用户撤销集合R和系统公共参数params,如果或者uid∈R,输出解密失败;否则,由x=path(uid)∩cover(R),授权用户使用私钥可对密文进行解密,计算表达式如下:

在云环境下,实现可撤销的密钥聚合机制的具体例子如图3所示。该图由以下三个实体组成:云服务提供商(Cloud Service Provider,CSP),数据拥有者,用户。

当数据拥有者Alice要通过云服务器共享多个文件m1,m2,...,mn,利用本发明公开的一种云环境下可撤销的密钥聚合加密方法,Alice首先运行系统建立算法,得到系统参数params;然后执行密钥生成算法得到公钥PK和主密钥msk,并将params和PK对外公布,而msk由Alice秘密保存。Alice本人以及与Alice合作的任何人都可以运行加密算法对文件mi进行加密,并将Alice的文件加密上传到服务器。如Alice希望与用户Bob共享其中的若干个文件,如m1,m2,...,mj(j≤n),那么Alice使用这些文件的索引建立集合S={1,2,...,j},并根据用户身份uid,调用聚合密钥提取算法,为Bob生成一个私钥SK=(KS,Kuid),其中KS,Kuid均为聚合密钥。SK是一个大小固定的密钥,Alice很容易将其通过安全信道传给Bob。当需要撤销用户时,云服务器根据用户撤销集合R,调用更新算法对密文进行更新。当且仅当Bob没有被撤销时,Bob从云服务器下载更新密文Ci(i∈S),通过使用私钥SK,运行解密算法对Ci进行解密,从而获得明文mi。而如果用户被撤销,例如图3中David,他将无法对更新后的密文进行解密,从而撤销了David对文件的访问权限。最后,数据拥有者Alice通过调用验证算法,对更新密文进行验证,确保用户撤销被有效执行。

综上所述,本发明为了实现云环境下安全有效的数据共享,为了满足用户访问权限的动态变更的特性,在密钥聚合机制的基础上增加一个支持用户撤销的功能,提出一种可撤销的密钥聚合加密方法,完善了对于密钥聚合机制的用户动态管理功能。本发明不仅简洁了用户的密钥管理,而且对于不同的用户授予不同的解密权限。本发明由云存储服务器对密文进行更新,实现对用户的权限撤销;当有用户被撤销时,合法用户无需更新密钥,减轻授权机构的负担;可验证更新密文,确保用户撤销被有效执行。安全性证明表明,基于Weak DHDHE假设,在标准模型下证明所提出的方法为非自适应选择明文安全。性能分析表明,与已有方案相比,本发明不仅保持用户密钥和密文为Ο(1),系统公共参数长度为Ο(logN),而且具有更高效的用户撤销效率,有效地实现对用户的访问权限控制。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1