APP下载

基于可截取签名和属性加密的云存储访问控制方案*

2015-07-10王彩芬张玉磊杨小东

计算机工程与科学 2015年2期
关键词:发送给访问控制云端

王彩芬,徐 婷,张玉磊,杨小东

(西北师范大学计算机科学与工程学院,甘肃 兰州 730070)

1 引言

云存储是在云计算的基础上发展起来的数据外包存储服务技术。从结构上来看,云存储是在云计算上增加了一个存储层,同时实现数据管理和数据安全等功能。因此,在云存储中同样存在云访问控制问题[1]。通常,在云存储系统中,一般云存储服务商CSP(Cloud Server Providers)是半可信的,由于云用户无法信任CSP能够真正实施数据保护。因此,在半可信的环境下,如何实施云用户数据的安全访问是非常重要的。

目前,研究者们提出了一些基于属性加密的方案:Sahai A等人[2]提出了基于模糊身份加密方案;Goyal V等人[3]提出了基于属性的密钥生成算法;Bethencourt J等人[4]提出了基于属性的密文生成算法。同时,为了更好地实施云用户数据的安全访问,研究者们也提出了一些云访问控制方案:Crampton J等人[5]提出了基于层次密钥生成的加密策略实施访问控制的方法;Yan L等人[6]提出了层次化身份管理方法;Hong C等人[7]提出了基于属性的云存储密文访问控制方法。

以上方案在一定程度上可以实现安全的访问,但在某些应用中仍存在巨大的挑战。例如,在电子政务中,中央政府要将一份重要电子文件下发给省、市级政府,但省、市级政府拥有不同的权限,因此需要根据权限的不同截取不同的子消息发送给各级政府。为此可以将一个消息分成n段,根据不同的属性将子消息段发送给相应的用户,所以本文首先提出了基于ElGamal签名算法的可截取签名方案,然后为了安全地实施数据保护,将属性加密与可截取签名相结合,在文献[8]的基础上,设计了一种新的云访问控制方案。新方案不是将整个消息发送给用户,而是将消息分成子段,根据用户的属性,将符合属性的消息子段以密文的形式发送给用户,具有更广泛的应用价值。

2 预备知识

2.1 双线性对

设G和G1分别是同为素数p阶的加群和乘群,g为G的生成元,映射e:G×G→G1具有以下性质:

(1)双线性:如果∀a,b∈Z,有:e(ga,gb)=e(gb,ga)=e(g,g)ab;

(2)非退化性:∀a,b∈G,使得e(a,b)≠1,其中1为G1的单位元;

(3)可计算性:存在多项式时间算法计算e(ga,gb)。

2.2 拉格朗日插值定理

2.3 离散对数困难问题

3 基于ElGamal签名的可截取签名方案

3.1 可截取签名

2001年,Steinfeld R等人[9]提出了可截取签名CES(Content Extraction Signatures),与传统的标准签名体制不同,它允许在多方参与的环境中,给定一个已签名的消息,使用者根据需要,针对原消息的一部分,截取一个可验证的签名,而无需和最初的签名者进行交互。鉴于此优点,可截取签名受到了国内外学者的广泛关注。

在可截取签名中,假定M为所要签名的消息,且已按照需要被分成n个子消息段。Mμ表示消息M中的子消息段,1≤μ≤n。M′为用户截取的子消息,截取子集CI(M′)标记M′中所包含的子消息段的编号,M′依然包含n个子消息段,其中编号不在CI(M′)中的子消息段标记为空白,但M′所有子消息段的编号必须和M一致。为了使签名者对原消息的截取方式具有完全控制权,引入内容截取访问结构CEAS(Content Extraction Access Structure),在CEAS中的子消息段编号都为必选消息。例如,M=(m1,m2,m3,m4),CEAS={1},若CI(M′)={1,3} ,则M′=(m1,?,m3,?),其中?标记空白子消息段,则截取方式合法,记为CEAS⊆CI(M′);若CI(M′)={2,3},则M′=(?,m2,m3,?),但由于CEAS⊄CI(M′),因此截取方式不合法。定义T为CEAS标记(CEAS-Tags),规定长度为80 bit,在签名过程中随机选取。

(1)可截取签名的形式化定义。

可截取签名方案包括签名者、截取者、验证者,其中签名者执行对全局签名的算法;截取者执行验证全局签名的正确性,同时获取相应消息段的截取签名;验证者验证截取签名的正确性。这与传统的标准签名方案是不同的。算法由密钥生成、签名、签名截取、验证构成,具体为:

①密钥生成算法:生成公私钥对(PK,SK);

②签名算法:输入SK、M、CEAS,输出一个可截取的全局签名δFull;

③签名截取算法:输入M、δFull、CI(M′)和PK,输出对M′的签名δExt;

④验证算法:输入M′、δExt和PK,输出验证结果true或false。

(2)可截取签名的安全性需求。

①不可伪造性:对于一个攻击者,即使可以访问一个CES签名预言机,消息M满足:a 不是一个合法的访问CES签名预言机的消息M的子消息;b 一个合法的访问CES签名预言机的消息M的子消息,但并不满足CEAS的截取规定,则攻击者要产生一个消息M的有效签名是不可行的。

②保密性:在可截取签名方案中,对于未截取的信息,即在子消息中不可见的信息段,攻击者要获取其相关的信息是不可行的[10]。

3.2 基于ElGamal签名的可截取签名方案(ECES)

(1)密钥生成算法。

(2)签名算法。

签名者执行如下过程:

假定M为所要签名的消息,且按照需要被分成n个子消息。Mμ表示消息M中的第μ个子消息,其中μ为子消息在整个消息M中的编号,1≤μ≤n。CEAS是内容截取访问结构。定义T为CEAS标记(CEAS-Tags),规定长度为80 bit,在签名过程中随机选取。签名过程如下:

②对M的每个子消息Mμ,计算hμ=H(Mμ‖CEAS‖μ‖T);

③计算子消息Mμ的签名δμ=(hμ-a·r)·k-1mod(p-1),其中1≤μ≤n;

④输出消息M的全局签名δFull=(CEAS‖T‖δ1‖δ2‖…‖δn)。

(3)签名截取算法。

截取者执行如下过程:

M′表示截取后的子消息。CI(M′)标记M′中包含的子消息的索引所构成的集合。

首先截取者验证全局签名δFull是否正确,若正确,则执行下面的步骤,否则返回失败。

其次,截取相应子消息的签名,过程如下:

①根据签名者指定的CEAS构造截取子集CI(M′);

②根据截取子集CI(M′),生成截取子消息M′={Mμ|μ∈CI(M′)};

③对每个μ∈CI(M′),从δFull中取出δμ;

④生成截取签名δExt=(CEAS‖CI(M′)‖T‖δi1‖δi2‖…‖δif),其中δij(j=1,…,f)为CI(M′)中对应子消息的签名,i,j∈CI(M′)。

(4)签名验证算法。

验证者执行如下过程:

①验证者首先验证CEAS⊂CI(M′)是否成立,若成立,则执行下面的步骤,否则返回失败;

③验证截取签名δExt的正确性:对每个μ∈CI(M′),检查签名δμ的正确性。

3.3 方案的正确性分析

引理1我们的可截取签名方案是正确的。

证明该方案的正确性包括如下部分:

(1)截取者验证全局签名δFull的正确性,具体步骤如下:

①对消息M的每个子消息Mμ,计算hμ=H(Mμ‖CEAS‖μ‖T),其中1≤μ≤n。

ga·r·rδμ=ga·r·gk·δμ=ga·r + k·δμ=ghμ

(2)验证者验证截取签名δExt的正确性

①验证CEAS⊂CI(M′)是否成立,若成立,则执行下面的步骤,否则返回失败;

②对每个μ∈CI(M′),计算hμ=H(Mμ‖CEAS‖μ‖T);

3.4 方案的安全性分析

定理1基于ElGamal签名的可截取签名方案是不可伪造的。

证明假定基于ElGamal签名的可截取签名方案是可以伪造的,则仿真者S可以通过伪造的截取签名求解离散对数问题。

只需验证消息段签名δμ是不可伪造的,与文献[11]中给出的证明类似,下面简述证明过程。

(1)r值由每次签名且互不相同的k值决定,定义为r=gkmodp;

(2)e=H(Mμ‖CEAS‖μ‖T),哈希函数H为随机预言机:{0,1}*→Zp;

(3)δμ是对应消息Mμ的签名,定义为δμ=(e-r·a)·k-1mod(p-1)。

从两次成功的伪造当中,仿真者S可以通过解下列方程来计算离散对数问题:

因为离散对数问题已经被证明是困难问题,所以基于ElGamal签名的可截取签名方案是不可伪造的。

4 基于属性加密和ECES的云存储访问控制方案

4.1 网络模型

目前,研究者已经提出了云存储访问控制的网络模型,在文献[12]中,作者给出的网络模型特点是:(1)发送者在将数据发送到CSP之前,首先运行数据处理函数对数据进行预处理;(2)访问者如果要访问CSP上的数据,必须首先调用令牌函数,得到令牌后才能到CSP上访问数据;(3)发送者和CSP之前存在验证函数,保证数据不被CSP恶意篡改。此网络模型主要利用了三个函数控制数据的存储和访问,以实现访问控制。但是,不足之处是必须对数据整体进行预处理,不能对一个数据的部分进行预处理及访问,所以有很大的局限性。

因此,通过参考文献[12]中的访问模型,本文结合属性加密和可截取签名方案提出了一种新型的云访问控制模型,将消息分成子段,根据用户的属性,将消息子段以密文的形式发送给用户,具有更广泛的应用价值。具体为:

(1)方案中角色有属性认证中心(PCA)、云存储服务商(CSP)、可信第三方(TTP)、用户(User)。具体作用为:

①PCA:负责为云用户颁发属性证书(UPC),UPC包括证书ID、证书所有人的名称、证书所有者的属性列表、证书所有人的公钥、证书颁发者的签名等。

②CSP:负责管理用户发来的消息M和相应的签名。

③TTP:主要负责管理访问控制清单(ACL)。

④User:负责读写消息。

(2)访问控制主体模型如图1所示。

Figure 1 Access control图1 访问控制

①颁发证书:PCA为每个云用户颁发UPC。

②发送数据:当UserUA向CSP发送消息M时,M必须使用UserUA的私钥签名,并且级联M一起发送到云端,这样保证了消息的认证性;如果考虑云端是不安全的,可以将M和签名进行加密,这样保证了消息的机密性。

③发出访问数据请求:如果UserUB要访问云上的消息,首先要向TTP申请并说明需要访问哪个用户的消息。

④获取数据:TTP首先查看ACL中UserUB的权限,然后从CSP中取得消息。

⑤返回数据:TTP根据UserUB的权限截取相应子消息并以密文的形式发送给UserUB后,UserUB通过解密获得相应的消息。

在方案中,用户使用(用户名+密码)这种形式进行注册登录系统,认证服务器就会为用户生成一条访问权限记录,并存储在ACL中;同时,对于消息读操作而言,只要是合法用户,并且有一定的权限,均可以读取相应的消息段。但是,对于改写操作而言,权限越大,具有改写的可能性越大。在方案中,我们假定只有最高级别的用户才可以进行改写。当需要改写时,用户首先向TTP提出申请;然后TTP查看ACL,如果用户的权限达到要求,TTP将原消息的私钥发送给用户;最后用户将新消息的签名和对应的消息一起发送到云端。并且如果一旦发生改写消息,那么改写后的消息会覆盖之前的原消息[13,14]。

4.2 具体方案

4.2.1 系统初始化

(1)PCA有一对密钥对(PKPCA,SKPCA),负责为云用户颁发UPC。并且满足PKPCA=gSKPCAmodp。

(2)G0是一个p阶的双线性群,生成元为g,随机选取两个指数α、β∈Zp。计算PK={G0,g,h=gβ,e(g,g)α},MK=(β,gα)。其中PK为TTP的公开参数,MK为TTP的主密钥。

首先,颁发属性证书。

云存储系统中,每一个云用户拥有一对长期密钥对(PK0,SK0),并且满足PK0=gSK0modp。

当用户得到证书时,证书的有效性可以通过PKPCArcrcsc=gh(CIs)来验证。

其次,解密密钥的生成。

输入:用户UserUB的属性集合A={A1,A2,…,An}和主密钥MK。

输出:与UserUB属性集合对应的私钥SK,用于解密从TTP发送的消息。

密钥生成过程如下:

(1)随机选取随机数r∈Zp和rj∈Zp,每一个属性j∈A;

综上所述:

PCA拥有:(PKPCA,SKPCA);

云用户拥有:(PK0,SK0)、属性集合A={A1,A2,…,An}、SK、CIs;

TTP拥有:PK、MK。

4.2.2 发送数据

拥有消息M的用户UserUA,利用ECES产生M的签名δFull,将(M,δFull)加密放到云端。具体签名过程,

(2)对消息M的每个子部分mμ,计算δμ=(h(CIs‖mμ‖rc‖CEAS‖μ‖T)-SK0r)k-1,其中1≤μ≤n,定义δFull=(CEAS‖T‖δ1‖δ2‖…‖δn),其中CIs为用户属性证书的信息;

(3)输出{(r,δFull),CIs,rc}作为对消息M的签名;

(4)如果考虑云端是不安全的, 将(M,δFull)使用TTP的公钥进行加密,保证数据的机密性。

4.2.3 发送访问数据请求

当UserUB想访问UserUA放在云上的消息时,首先向TTP发出申请,然后TTP查看ACL,得到UserUB的权限。

4.2.4 获取数据

TTP根据权限,向CSP发出访问数据的请求,利用ECES产生截取签名并验证,即{(r,δExt),CIs,rc}作为子消息M′的签名,其中CIs为用户属性证书的信息。

4.2.5 返回数据

TTP得到消息段的签名δExt和对应的子消息M′后,首先利用属性加密算法,生成消息M′的密文;然后将密文发送给UserUB;最后UserUB利用其属性对应的私钥解密获取消息。具体算法为:

(1)属性加密。

(2)属性解密。

解密算法是一个递归算法,UserUB进行如下计算:

①如果访问结构树Γ上一个节点x是叶节点,则计算:

其中,定义i∈A并且i=att(x);否则i∉A,则DecryptNode(CT,SK,x)=⊥。

②如果访问结构树Γ上一个节点x是非叶节点,找出结点x的所有孩子节点,记为z,计算Fz=DecryptNode(CT,SK,z),定义Ax为孩子节点z的集合。计算Fx:

综上所述:

(1)计算根节点R的DecryptNode(CT,SK,R)=e(g,g)r·qR(0)=e(g,g)r·s;

4.3 方案的安全性及效率分析

根据在第3节可截取方案的安全性证明及文献[4]的安全性证明,可以得到,在访问控制方案中使用的密码体制都是安全的。

访问控制的流程:

(1)UA → CSP :ETTP(M,δFull);

(2)UB → TTP :idUB;

(3)CSP → TTP :TTP解密后得到M=DTTP(M,δFull);

(4)TTP → UB :EpkUB(M′,δExt)。

具体地,步骤(1)用户UA首先将数据及签名用TTP的公钥加密后发送到云端CSP,由云端保存数据。如果用户UB想访问UA发送到云端的数据,首先,利用步骤(2)将自己的身份信息发送给可信第三方TTP,TTP查看访问控制清单中关于用户UB的权限;然后,TTP利用步骤(3)根据用户UB的权限,得到云端数据ETTP(M,δFull),利用私钥解密,再使用我们提出的ECES对M进行截取,得到相应子消息M′。由步骤(4)TTP将截取的子消息M′及签名利用UB的属性加密后发送给用户UB,这样保证数据安全、抵抗共谋攻击。最后,用户UB解密得到相应的数据。我们不难发现用户UB并没有得到用户UA的全部数据,而是根据自己拥有的权限只得到了部分数据,这样提高了消息的利用率,同时通过权限控制,更好地体现了细粒度访问控制特性。

(1)在新的云访问控制中,只有授权用户才可以访问资源。从流程中可以看出,用户UB也就是访问者试图访问数据时,必须提交身份信息给可信第三方TTP,只有通过TTP的检查后才能获取数据。

(2)数据访问权限的安全管理。在我们的方案中,用户UA是将消息以及它的签名用TTP的公钥加密后放在云端,服务商CSP只能保存数据,不能解密,只有TTP才能解密。所以,在CSP半可信的云存储环境中,由可信第三方管理数据,提高了数据在云端的安全性。

(3)阻止非法用户破坏合法用户在云端的数据。一方面通过身份认证;另一方面通过TTP的权限管理,只有TTP将原消息发送者的私钥发送给访问者,才能进行改写操作,否则云端的消息不能被改变。

(4)我们的方案充分利用了可截取签名的签名特点,将其与属性加密相结合,更好地运用到云存储访问控制方案里。与同类访问控制方案文献[12]中的访问模型相比,我们提出的访问模型更加全面,与实际情况更加吻合。同时,在签名过程中,没有对数运算,只有三次指数运算和三次级联运算,因此具有更高的效率。

4.4 方案的具体应用实例

该方案可以适用于多种应用环境。一个典型的在电子政务中的应用实例如图2所示,中央政府签署了一份电子文件,并将该文件发送到云端。该文件可以供省级政府、市级政府以及个人查看。但是,查看该文件的用户拥有不同的权限。因此,根据不同情况需要截取相关子文件发送给相应用户而无需中央政府的多次签名,而且用户也能够验证该文件为中央政府签署。具体为首先中央(相当于用户UA)将文件及对应的签名加密后发送到云端;然后当各级政府(相当于用户UB)想访问云端的文件时,先向可信第三方TTP提出申请,接着TTP查看关于用户UB的访问权限并访问云端文件;最后TTP将符合用户UB权限的子文件及签名以密文形式发送给用户UB,当用户UB收到文件时,解密文件并验证文件的正确性。依次类推。为了完成这一过程,可以使用提出的基于属性加密和ECES的云存储访问控制方案,由该方案的正确性及安全性保证了用户收到的文件是不可伪造的,而且中央政府对原文件的截取方式具有完全控制权。通过该具体实例说明了我们的访问控制方案是实际可行的和安全的。

Figure 2 Typical applications图2 典型应用

5 结束语

该方案将属性加密与可截取签名相结合,细化了云存储中访问控制的问题,提高了数据的安全性。并且引入可信第三方来管理访问控制清单、运行可截取签名方案等,同时将数据的读写操作严格分开,没有被授权的用户不能进行改写操作,使其更好地运用到云存储系统中。下一步的研究方向是对于只能读取部分数据的用户也能有改写的权限,不仅仅是权限最高的用户才拥有。

[1] Wang Ping-jian,Jing Ji-wu,Wang Qiong-xiao,et al. Research on access control mechanisms in cloud storage [C]∥Proc of 26th National Computer Security Academic Exchanges, 2011:41-43.(in Chinese)

[2] Sahai A,Water B.Fuzzy identity based encryption[C]∥Proc of the 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, 2005:457-473.

[3] Goyal V, Pandey A, Sahai A, et al. Attribute-based encryption for fine-grained access control of encrypted data [C]∥Proc of the 13th ACM Conference on Computer and Communications Security, 2006:89-98.

[4] Bethencourt J, Sahai A, Waters B. Ciphertext-policy attribute-based encryption[C]∥Proc of the 2007 IEEE Sympium on Security and Privacy, 2007:321-334.

[5] Crampton J, Martin K, Wild P. On key assignment for hierarchical access control [C]∥Proc of the 19th IEEE Computer Security Foundations Workshop-CSFW, 2006:5-7.

[6] Yan L, Rong C, Zhao G. Strengthen cloud computing security with federal identity management using hierarchical identity-based cryptography [C]∥Proc of the 1st International Conference on Cloud Computing, 2009:166-177.

[7] Hong C, Zhang M, Feng D G. AB-ACCS:A cryptographic access control scheme for cloud storage [J]. Journal of Computer Research and Development, 2010,47(Suppl 1):259-265.(in Chinese)

[8] Zhang Zhu-lin.Attribute based access control scheme in cloud [D]. Lanzhou:Northwest Normal University, 2013.(in Chinese)

[9] Steinfeld R, Bull L, Zhang Y. Content extraction signatures [C]∥Proc of the 4th International Conference on Information Security and Cryptology (ICISC 2001),2001:285-304.

[10] Liu Jun-long.Content extraction signature scheme study[D]. Lanzhou:Northwest Normal University, 2007.(in Chinese)

[11] David P, Jacques S. Security proofs for signature schemes [C]∥Proc of EUROCRYPT’06, 1996:387-398.

[12] Kamara S, Lauter K. Cryptographic cloud storage [C]∥Proc of FC 2010 Workshops, RLCPS,WECSR and WLC 2010, 2010:136-149.

[13] Sun Guo-zi, Dong Yu, Li Yun. CP-ABE based data access control for cloud storage [J]. Journal on Communications, 2011,32(7):146-152.(in Chinese)

[14] Zhang Hao-jun,Fan Xue-hui.A trustee-based CP-ABE cloud storage access control [J]. Journal of Wuhan University, 2013,59(2):153-158.(in Chinese)

附中文参考文献:

[1] 王平建, 荆继武, 王琼霄,等. 云存储中的访问控制技术研究[C]∥第26次全国计算机安全学术交流会,2011:41-43.

[7] 洪澄,张敏,冯登国.AB-ACCS:一种云存储密文访问控制方法,2010,47(Supp1):259-265.

[8] 张竹林. 基于属性的云访问控制方案研究[D]. 兰州:西北师范大学, 2013.

[10] 刘军龙. 可截取签名体制研究[D]. 兰州:西北师范大学, 2007.

[13] 孙国梓, 董宇, 李云. 基于CP-ABE算法的云存储数据访问控制[J]. 通信学报,2011, 32(7):146-152.

[14] 张浩军, 范学辉. 一种基于可信第三方的CP-ABE云存储访问控制[J]. 武汉大学学报,2013, 59(2):153-158.

猜你喜欢

发送给访问控制云端
上学路上好风景
云端之城
美人如画隔云端
行走在云端
云端创意
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
公告
大数据平台访问控制方法的设计与实现