一种基于代理的属性加密云存储访问控制方法与流程

文档序号:17788165发布日期:2019-05-31 19:43阅读:312来源:国知局
一种基于代理的属性加密云存储访问控制方法与流程

本发明属于云计算环境中的信息安全技术领域,具体为一种基于代理的属性加密云存储访问控制方法。



背景技术:

近年来,信息安全受到了越来越多的关注,网络安全技术也日益成熟,但云存储安全事故也在发生,例如google的gmail存储服务器出现安全故障而导致用户邮件数据丢失,微软的skydrive云存储服务也出现了访问不稳定的情况,导致用户看不到自己的数据或者图片。另外,云服务提供商是不可完全信任的,在利益的驱动下也存在窥探用户隐私的风险。许多个人和企业还都不敢轻易地将自己的重要数据或私密数据存储到云存储服务器。因此,云数据安全访问控制成为了云安全的热门研究方向之一。云存储通常是以服务的形式面向用户,在提供支持共享的访问控制的同时还要保证数据的完整性、机密性和真实性。

基于属性的加密体制显然是比较适合应用于云计算环境下共享数据的安全访问控制方案,但是在实际的应用中还存在一定的困难,其发展还处于初级阶段,许多方案在访问控制灵活性、安全性及运行效率方面,都还存在一定缺陷。云存储的应用需求及发展使得人们对云计算环境日益依赖,因此,云计算环境下存储访问控制机制成为解决云计算环境下存储数据安全性问题的关键。

基于属性的加密机制的研究主要集中在以下几个方面:一是访问控制粒度方面,如何设计在云存储环境下更细粒度的访问控制方案,是实现基于属性的灵活访问控制的关键;其次是研究设计更为灵活的访问控制方案,包括支持策略属性的灵活变更、用户属性灵活变更等;此外,还有很多方案的研究重点在于如何设计更为高效的访问控制方案,尽量减少方案参与各方的加解密计算开销以及网络开销等。



技术实现要素:

本发明的目的在于提供一种基于代理的属性加密云存储访问控制方法,以解决上述背景技术中提出的问题。

一种基于代理的属性加密云存储访问控制方法,包括五个实体:可信任授权中心、云数据属主、云数据访问者、云服务器、代理解密服务器,五个实体之间通过互联网进行连接,具体为:

可信任授权中心(trustedauthorizationcenter,tac):假设tac是可信任的,主要用于系统公钥、主密钥、解密私钥的生成;

云数据属主(clouddataowner,cdo):表示想要上传共享数据的用户,cdo可以自己定义数据的访问策略,只有属性满足访问策略的用户才能解密密文获得明文数据;

云数据访问者(clouddatavisitors,cdv):云数据访问者向云服务器发送密文请求,云服务器将重加密密文发送给代理解密服务器,代理解密服务器利用解密私钥2解密得到过渡密文,云数据访问者利用可信任授权中心分发的解密私钥1进行解密即可得到明文数据;

云服务器(cloudstorageprovider,csp):云服务器负责数据的存储、管理和重加密操作,我们认为云服务器是可疑但是诚实的,它将按照规定诚实地执行各项任务;

代理解密服务器(proxydecryptionserver,pds):pds负责完成云服务器发来的重加密密文的解密,将得到的过渡密文发送给用户pds承担系统中的大部分解密计算,减少了用户解密的计算开销;

所述控制方法包括如下步骤:

步骤1,初始化:执行setup(1k,a),此操作由tac完成,生成公共密钥pk和主密钥mk;

步骤2,密钥生成:执行keygen(pk,mk,s),此操作由tac完成,利用系统密钥pk、主密钥mk以及用户提交的属性s来完成解密私钥的生成操作;用户的解密私钥由dkcsp和dkdu两部分组成,当cdv向tac提交属性集合并向csp发出密文请求时,tac会将密钥分别分发给pds和cdv,无论pds还是cdv都无法仅用自己拥有的一个密钥单独解密密文;

步骤3,数据加密:执行此算法由cdo执行,为了保证数据的机密性和完整性,cdo利用系统密钥pk和自定义的访问策略实现对明文数据的加密;

步骤4,数据重加密:执行重加密算法由csp完成,以系统公钥pk、初始化密文c0和用户属性组集合作为输入;当csp收到c0和后,选择两个随机数来构造属性组密钥集合并为用户定义唯一的标识idk∈{0,1}*,用户标签不会随着用户属性的更改而发生改变;

步骤5,数据解密:执行decrypt(s,c1,dkcsp,dkdu),csp收到用户uk的密文请求,同时tac收到访问者的属性集合时,会立即将密文c1和解密私钥dkcsp发送给pds,pds对c1进行解密得到过渡密文c2,然后将将c2发送给uk,uk利用tac分发的解密私钥dkdu进行解密,从而获得明文。

进一步地,所述步骤1还包括:

步骤1-1,tac首先选取k作为安全参数,是秩为素数p的两个乘法循环群,的生成元为g,定义如下两个散列函数

步骤1-2,生成随机数其中ht与属性attt对应(t∈[1,m]);

步骤1-3,输出系统公钥pk和主密钥mk,具体构造如下:

pk={g,gβ,h1,h2,……,hm,e(g,g)α,h,h1},mk={β,gα}

进一步地,所述步骤2还包括:

步骤2-1,生成随机数计算初始化密钥

步骤2-2,利用生成系统公钥的随机数α,β以及b-a中的τ计算k2=gα+βτ

步骤2-3,选取随机数计算

步骤2-4,利用上一步中的随机数和初始化密钥k1计算

步骤2-5,输出解密私钥dkdu和dkpds,具体如下:

进一步地,所述步骤3还包括:

步骤3-1,生成向量和线性密钥共享方案(m,ρ);

步骤3-2,为每一个用户ui∈u计算

步骤3-3,输出初始化密文c0,具体如下:

步骤3-4,将c0上传至云服务器。

进一步地,所述步骤4还包括:

步骤4-1,为用户定义一个唯一的用户标签idk∈{0,1}*

步骤4-2,选择两个随机数和skcsp=gγ分别为用户uk和csp的会话密钥,并为每一个用户uk计算对应的元素

步骤4-3,为每一个构造一个多项式:

其中v表示gt中用户个数;

步骤4-4,定义并选取随机数并进行如下计算:

步骤4-5,构造信息头为:

步骤4-6,输出密文c1,具体如下:

c1=(head,c'0)

进一步地,所述步骤5还包括:

步骤5-1,pds通过如下计算构造属性组密钥

步骤5-2,pds利用dkcsp进行初步解密,具体如下:

步骤5-3,pds将c2发送给用户uk,uk利用私钥dkdu解密获得明文,具体如下:

本发明的有益之处在于:在该方法中,云数据属主将想要共享的云数据信息上传至云服务器,有效解决了不同用户之间实现数据共享的问题;此方法引入基于密文策略的属性加密访问控制方案,并在云服务器上对数据进行重加密,保证了数据机密性的同时还实现了用户的访问控制。本发明增加代理解密服务器减少云数据属主和云数据访问者的开销,实现了用户的细粒度访问控制和安全认证。

附图说明

图1为本发明系统框架图。

图2为本发明的访问控制流程图。

具体实施方式

下面结合说明书附图对本发明的技术方案做进一步的详细说明。

一种基于代理的属性加密云存储访问控制方法,其特征在于:包括五个实体:可信任授权中心、云数据属主、云数据访问者、云服务器、代理解密服务器,五个实体之间通过互联网进行连接,具体为:

可信任授权中心(trustedauthorizationcenter,tac):假设tac是可信任的,主要用于系统公钥、主密钥、解密私钥的生成;

云数据属主(clouddataowner,cdo):表示想要上传共享数据的用户,cdo可以自己定义数据的访问策略,只有属性满足访问策略的用户才能解密密文获得明文数据;

云数据访问者(clouddatavisitors,cdv):云数据访问者向云服务器发送密文请求,云服务器将重加密密文发送给代理解密服务器,代理解密服务器利用解密私钥2解密得到过渡密文,云数据访问者利用可信任授权中心分发的解密私钥1进行解密即可得到明文数据;

云服务器(cloudstorageprovider,csp):云服务器负责数据的存储、管理和重加密操作,我们认为云服务器是可疑但是诚实的,它将按照规定诚实地执行各项任务;

代理解密服务器(proxydecryptionserver,pds):pds负责完成云服务器发来的重加密密文的解密,将得到的过渡密文发送给用户pds承担系统中的大部分解密计算,减少了用户解密的计算开销;

所述控制方法包括如下步骤:

步骤1,初始化:执行setup(1k,a),此操作由tac完成,生成公共密钥pk和主密钥mk。

所述步骤1还包括:

步骤1-1,tac首先选取k作为安全参数,是秩为素数p的两个乘法循环群,的生成元为g,定义如下两个散列函数

步骤1-2,生成随机数其中ht与属性attt对应(t∈[1,m])。

步骤1-3,输出系统公钥pk和主密钥mk,具体构造如下:

pk={g,gβ,h1,h2,……,hm,e(g,g)α,h,h1},mk={β,gα}

步骤2,密钥生成:执行keygen(pk,mk,s),此操作由tac完成,利用系统密钥pk、主密钥mk以及用户提交的属性s来完成解密私钥的生成操作;用户的解密私钥由dkcsp和dkdu两部分组成,当cdv向tac提交属性集合并向csp发出密文请求时,tac会将密钥分别分发给pds和cdv,无论pds还是cdv都无法仅用自己拥有的一个密钥单独解密密文。

所述步骤2还包括:

步骤2-1,生成随机数计算初始化密钥

步骤2-2,利用生成系统公钥的随机数α,β以及b-a中的τ计算k2=gα+βτ

步骤2-3,选取随机数计算

步骤2-4,利用上一步中的随机数和初始化密钥k1计算

步骤2-5,输出解密私钥dkdu和dkpds,具体如下:

步骤3,数据加密:执行此算法由cdo执行,为了保证数据的机密性和完整性,cdo利用系统密钥pk和自定义的访问策略实现对明文数据的加密。

所述步骤3还包括:

步骤3-1,生成向量和线性密钥共享方案(m,ρ)。

步骤3-2,为每一个用户ui∈u计算

步骤3-3,输出初始化密文c0,具体如下:

步骤3-4,将c0上传至云服务器。

步骤4,数据重加密:执行重加密算法由csp完成,以系统公钥pk、初始化密文c0和用户属性组集合作为输入;当csp收到c0和后,选择两个随机数来构造属性组密钥集合并为用户定义唯一的标识idk∈{0,1}*,用户标签不会随着用户属性的更改而发生改变。

所述步骤4还包括:

步骤4-1,为用户定义一个唯一的用户标签idk∈{0,1}*

步骤4-2,选择两个随机数和skcsp=gγ分别为用户uk和csp的会话密钥,并为每一个用户uk计算对应的元素

步骤4-3,为每一个构造一个多项式:

其中v表示gt中用户个数。

步骤4-4,定义并选取随机数并进行如下计算:

步骤4-5,构造信息头为:

步骤4-6,输出密文c1,具体如下:

c1=(head,c'0)

步骤5,数据解密:执行decrypt(s,c1,dkcsp,dkdu),csp收到用户uk的密文请求,同时tac收到访问者的属性集合时,会立即将密文c1和解密私钥dkcsp发送给pds,pds对c1进行解密得到过渡密文c2,然后将将c2发送给uk,uk利用tac分发的解密私钥dkdu进行解密,从而获得明文。

所述步骤5还包括:

步骤5-1,pds通过如下计算构造属性组密钥

步骤5-2,pds利用dkcsp进行初步解密,具体如下:

步骤5-3,pds将c2发送给用户uk,uk利用私钥dkdu解密获得明文,具体如下:

以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。

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