基于属性门限签名的动态群组共享数据公开审计方案
查雅行1,2, 罗守山1,2, 李伟1,2, 卞建超1,2     
1. 北京邮电大学 信息安全中心, 北京 100876;
2. 北京邮电大学 灾备技术国家工程实验室, 北京 100876
摘要

提出了一种基于属性门限签名的动态群组隐私保护公开审计方案,将用户身份信息参数引入用户属性私钥中,有效地防止合谋攻击者通过组合属性密钥来伪造签名.该方案利用基于属性的授权策略,支持用户权限撤销和数据动态操作.分析结果表明,该方案在随机预言模型下具有不可伪造性和抵抗合谋攻击等特点,高效率且安全.

关键词: 属性门限签名     隐私保护     公开审计     不可伪造性    
中图分类号:TP391 文献标志码:A 文章编号:1007-5321(2017)05-0043-07 DOI:10.13190/j.jbupt.2017-003
Dynamic Group Public Auditing Scheme for Shared Data on Attribute-Based Threshold Signature
ZHA Ya-xing1,2, LUO Shou-shan1,2, LI Wei1,2, BIAN Jian-chao1,2     
1. Information Security Center, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. National Engineering Laboratory of Disaster Backup and Recovery, Beijing University of Posts and Telecommunications, Beijing 100876, China
Abstract

A privacy-preserving public auditing scheme for dynamic group shared data based on attribute-based threshold signature was proposed, the identity information parameter was introduced into the attribute keys for preventing collusion attacker who wants to forge signature through the combination of these keys. The proposed scheme supports authority revocation of group user and data dynamic operation with attribute-based authorization strategy. Analysis shows that the proposed scheme with the characteristics of unforgeability and resistance collusion attack based on the random oracle model, and with better efficiency and security.

Key words: attribute-based threshold signature     privacy preserving     public auditing     unforgeability    

云计算、物联网、社交网络等新兴服务促使人类社会的数据种类和规模快速增长, 越来越多的企业和用户将数据存储在云服务提供商(CSP, cloud service provider)处, CSP提供的资源相对集中, 存在着数据信息在网络传输过程中的“失真”[1-2]、系统软硬件故障、不可信第3方导致数据丢失或损坏带来的数据不完整和用户隐私安全问题[3]亟待解决.如何高效地进行数据持有性验证成为云存储安全的一大挑战[4]. Ateniese等[5]首次提出了数据持有性证明的形式化模型, Curtmola等[6]提出了多副本的数据持有性验证方案, 基于此, 查雅行等[7]提出了针对多用户多副本场景下的数据持有性证明方案.上述方案考虑数据单一所有者情况下进行的完整性验证, 云存储环境下存在群组用户对共享数据的完整性进行公开审计的新需求.为此, Wang等提出了保护群组用户隐私的完整性验证方案Oruta[8]和Knox[9], 但不支持用户撤销操作.针对用户权限撤销问题, Wang等[10]在基于代理重签名机制上设计了一种公开审计方案Panda, 但存在替代攻击的风险[11].为此, Yuan等[12]提出了一种支持抗合谋攻击、公共审计及用户撤销等特点的审计方案. Jiang等[13]提出了一种支持群用户撤销机制的方案以解决合谋攻击的问题.付安民等[14]设计了首个适用于多管理者群组共享数据的公开审计方案.李晖等[15]提出了支持第3方审计者的审计方案.针对密钥管理与安全分发的问题, 黄龙霞等[16]首次使用基于逻辑层次密钥体系的密钥树进行密钥的建立和分发.

现有基于第3方审计者(TPA, third party auditor)的群组共享数据完整性审计方案, 大多考虑数据更新操作或用户撤销等某一方面特性, 存在泄露群组成员身份隐私和伪造攻击的风险.因此, 设计能阻止隐私信息泄露和抵抗伪造攻击的共享数据完整性验证方案是共享数据隐私保护的关键.笔者采用基于属性门限签名机制[17-18], 设计了一种支持动态群组隐私保护公开审计方案, 利用用户私钥的产生与属性相关的特点, 在计算密钥时引入用户身份信息参数, 防止拥有互补属性的恶意群组用户利用组合用户私钥来伪造签名, 最后给出方案的安全性和性能分析结果.

1 基于属性门限签名的群组共享数据公开审计方案

通过利用基于门限属性签名方案[18]良好的不可伪造性和抗合谋攻击等性质, 设计群组共享数据公开审计方案.具体算法描述如下:

1) 初始化Setup(d)

在初始化阶段, 输入系统参数d, 选择双线性映射e:G1×G1G2, G1G2表示阶为p的乘法循环群, 群G1的生成元为g, 选取群G1中元素g1, g2G1, 任意αZp*, 计算g1=gα, Z=e(g, g)α.选取抗碰撞的Hash函数H1, H2:{0, 1}*G1;选取伪随机函数φ(i):Zp*→{1, 2, …, n}, 用于生成伪随机数.

假设属性域U, 集合元素个数为l =|U|, U中属性映射到Zp中特定的整数(如1, 2, 3, …, l (mod p)), 给定d-1个属性组成默认属性集Ω={Ω1, Ω2, …, Ωd-1}.采用基于属性门限的签名断言Υk, ω*(), 即对所有签名属性集ω*, 门限值为k, 都有Υk, ω*()→0/1[18].定义属性域U对应的公钥集T={T1, T2, …, Tl}, t1, t2, …, tlZp*, 计算Ti=gti.计算得到公开参数Ψ={G1, G2, g, g1, g2, d, p, H1, H2, Z, T1, T2, …, Tl}, 主密钥κ ={α, t1, t2, …, tl}.

2) 密钥生成KeyGen(χi, κ, ω)

授权机构选取d-1次多项式q(x), 令q(0) = α, 授权机构秘密保存q(x), 并随机选取其余d-1个系数.假设用户域u={u1, u2, …, u|u|}, 给定用户身份信息参数χi及其对应属性集ωU, 生成新属性集ω0=ωΩ, 对任意iω0, 授权机构选取用户身份信息参数χiZp, 将χi嵌入到属性私钥中, 同时, 生成属性私钥:

$ \left. \begin{array}{l} {d_{i,1}} = {g^{q\left( i \right)/{t_i}}}{H_1}{\left( {{\chi _i}} \right)^\alpha }\\ {d_{i,2}} = {H_1}{\left( {{\chi _i}} \right)^{{t_i}}} \end{array} \right\} $ (1)

授权机构输出用户属性私钥ξi={di, 1, di, 2}, ξ ={ξi, 1≤i≤|u|}, χ={χi, 1≤i≤|u|}, 将属性私钥发送给对应的用户, 并存储用户属性私钥与身份信息映射表Tst =(χ, ξ).

3) 签名Sign(m, κ, ξ)

假设共享的数据m={mj}1≤jn, 数据拥有者制定授权策略ρ=(ui, mj, ω), 拥有属性集ω的用户ui才能访问数据mj.声明基于门限的签名断言Υk, ω*(), 当属性集ω满足Υk, ω*()时, 即Υk, ω*(ω), 则属性集ωω*至少有k个相同元素.数据拥有者随机选取k元属性子集ω′, 使得ω′⊆ωω*.在Ω中选择d-k个默认属性组成属性子集Ω′, 满足Ω′⊆Ω, |Ω′|=d-k.

数据拥有者对数据mj进行签名, 对每个属性iω*Ω′, 选取随机数τZp*, 计算:

$ {\sigma _{i,0}} = g_1^{{t_i}}{H_2}{\left( {{m_j}} \right)^\tau } $ (2)
$ {\sigma _{i,1}} = \left\{ \begin{array}{l} \prod\limits_{i \in \omega ' \cup \mathit{\Omega '}} {{{\left( {{d_{i,1}}} \right)}^{{m_j}{t_i}}}T_i^\alpha {H_2}{{\left( {{m_j}} \right)}^\tau }} \\ \prod\limits_{i \in {\omega ^ * }/\omega '} {T_i^\alpha {H_2}{{\left( {{m_j}} \right)}^\tau }} \end{array} \right. $ (3)
$ {\sigma _{i,2}} = {\left( {{d_{i,2}}} \right)^{\alpha {m_j}}}\sum\limits_{i \in \omega ' \cup \mathit{\Omega '}} {{\Delta _{i,S}}\left( 0 \right)} $ (4)

得到签名值σ={σi, 0, σi, 1, σi, 2}1≤jn, 数据拥有者将{m, σ}发送给CSP, 将σΥk, ω*()发送给TPA.

4) 证据生成GenProof(m, σ)

数据拥有者向TPA发起数据验证请求, TPA从集合{1, 2, …, n}中选取c个元素I={s1, s2, …, sc}, 1≤s1≤…≤scn, 对于每个jI, TPA选取随机数kZp, 生成挑战消息π={(j, vj)}s1jsc, 其中vj=φk(j). TPA将挑战消息π发送给CSP, CSP收到后计算完整性证据P

$ \begin{array}{*{20}{c}} {\hat m = \sum\limits_{{s_1} \le j \le {s_c}} {{v_j}{m_j}} ,{\sigma _0} = \prod\limits_{{s_1} \le j \le {s_c}} {{{\left( {{\sigma _{i,0}}} \right)}^{{v_j}}}} ,}\\ {{\sigma _2} = \prod\limits_{{s_1} \le j \le {s_c}} {{{\left( {{\sigma _{i,2}}} \right)}^{{v_j}}}} }\\ {{{\left\{ {{\sigma _1} = \prod\limits_{{s_1} \le j \le {s_c}} {{{\left( {{\sigma _{i,1}}} \right)}^{{v_j}}}} } \right\}}_{i \in {\omega ^ * } \cup \mathit{\Omega '}}}} \end{array} $

CSP将证据P=($\hat{m}$, σ0, σ1, σ2)发给TPA.

5) 验证Verify(P)

TPA收到证据P后, 判断数据块的签名是否满足断言Υk, ω*(), 并验证等式:

$ \frac{{\prod\limits_{i \in {\omega ^ * } \cup \mathit{\Omega '}} {e{{\left( {g,{\sigma _1}} \right)}^{{\Delta _{i,S}}\left( 0 \right)}}} }}{{e\left( {g,{\sigma _0}} \right)e\left( {g,{\sigma _2}} \right)}} = {Z^{\hat m}} $ (5)

如果等式成立, 输出True, 证明数据块被正确持有;否则, 输出False, 说明数据块损坏或丢失.

6) 数据更新Update(mj)

假设数据拥有者将数据块mj更新为mj, 得到新数据m′.调用签名算法得到新的签名σ′= {σi, 0, σi, 1, σi, 2}, 将{ m′, σ′}发送给CSP, CSP判断更新数据的签名是否满足断言Υk, ω*(), 并验证等式:

$ \frac{{\prod\limits_{i \in {\omega ^ * } \cup \mathit{\Omega '}} {e{{\left( {g,{\sigma _{i,1}}} \right)}^{{\Delta _{i,S}}\left( 0 \right)}}} }}{{e\left( {g,{\sigma _{i,0}}} \right)e\left( {g,{\sigma _{i,2}}} \right)}} = {Z^{m'}} $ (6)

若等式成立, 则CSP保存m′和签名σ′.

7) 用户撤销Revoke(σ, Tst)

当数据访问者离开群组时, 需要进行用户撤销操作.首先, 授权机构需要更新映射表Tst, 得到Tst.数据拥有者及时更新授权策略ρ=(ui, mj, ω), 删除已撤销用户的访问权限, 计算新签名值σ′={σi, 0, σi, 1, σi, 2}, 并发送给CSP和TPA. CSP判断用户撤销操作后数据的签名是否满足断言Υk, ω*(), 并验证等式:

$ \frac{{\prod\limits_{i \in {\omega ^ * } \cup \mathit{\Omega '}} {e{{\left( {g,{{\sigma '}_{i,1}}} \right)}^{{\Delta _{i,S}}\left( 0 \right)}}} }}{{e\left( {g,{{\sigma '}_{i,0}}} \right)e\left( {g,{{\sigma '}_{i,2}}} \right)}} = {Z^m} $ (7)

如果验证成功, CSP保存新签名σ′.

2 正确性与安全性分析 2.1 正确性分析

定理1  如果TPA和CSP能够回复并通过数据持有性验证, 则证明所提方案的正确性.

证明  在进行持有性验证时, 如果数据拥有者的属性集ω存在足够的k元属性子集ω′, 与默认属性子集Ω′组成d元属性集合, 并且TPA与CSP交互过程中回复的消息都是正确的, 则在验证阶段, TPA收到CSP发送的证据P = ($\hat{m}$, σ0, σ1, σ2)是正确的. TPA利用拉格朗日定理及收到的证据, 进行如下计算:

$ \begin{array}{*{20}{c}} {\frac{{\prod\limits_{i \in {\omega ^ * } \cup \mathit{\Omega '}} {e{{\left( {g,{\sigma _1}} \right)}^{{\Delta _{i,S}}\left( 0 \right)}}} }}{{e\left( {g,{\sigma _0}} \right)e\left( {g,{\sigma _2}} \right)}} = }\\ {\frac{{\prod\limits_{i \in {\omega ^ * } \cup \mathit{\Omega '}} {e{{\left( {g,\prod\limits_{{s_1} \le j \le {s_c}} {{{\left( {{\sigma _{i,1}}} \right)}^{{v_j}}}} } \right)}^{{\Delta _{i,S}}\left( 0 \right)}}} }}{{e\left( {g,\prod\limits_{{s_1} \le j \le {s_c}} {{{\left( {{\sigma _{i,0}}} \right)}^{{v_j}}}} } \right)e\left( {g,\prod\limits_{{s_1} \le j \le {s_c}} {{{\left( {{\sigma _{i,2}}} \right)}^{{v_j}}}} } \right)}} = }\\ {e{{\left( {g,g} \right)}^\alpha }\sum\limits_{{s_1} \le j \le {s_c}} {{m_j}{v_j}} = {Z^{\hat m}}} \end{array} $

证毕.

2.2 安全性分析

定理2  如果e是(t, ε)安全的, 在计算迪菲-赫尔曼(CDH, computational Differ-Hellman)困难问题和随机预言模型假设下, 提出的方案在适应性选择消息攻击模型下具有不可伪造性.

证明  假设存在(t, qH, qG, qS, ε)-敌手A对方案进行适应性选择消息攻击, 敌手A通过伪造签名证据在多项式时间t内以ε的优势破解该方案, 存在一个(t′, ε′)-算法Fε′=$\frac{{c\varepsilon }}{{n{q_{{{\rm{H}}_1}}}{q_{{{\rm{H}}_2}}}\left( \begin{array}{l} d - k\\ d \end{array} \right)}}$的优势能解决CDH困难问题, A询问Hash预言机的次数分别为qH1qH2.假设给定g, gx, gyG1, 利用算法F通过(t, qH, qS, ε)-敌手A使用适应性选择消息攻击方法计算gxy, 即解决CDH困难问题.利用Game游戏[17-18]来证明定理2.

Game0  考虑敌手A与挑战环境之间初始化挑战游戏.首先, 运行初始化算法, 挑战者C计算g1=gx, g2=gy. C生成主密钥κ和公开参数Ψ, C生成Υk, ω*(), 属性集ω′和ω*至少有k个相同元素, |ω′|=k. C随机选取dZp*, 1≤kd, 从d个属性中选择d-k个默认属性组成属性子集Ω′, 满足Ω′⊆ Ω, |Ω′|=d-k, CΨ发送给A.

Game1  主要考虑在A与交互环境之间初始化挑战游戏. A与C进行交互, C在多项式时间内进行Hash询问(H1询问和H2询问)、KeyGen询问、Sign询问和GenProof询问.

1) H1询问:C维护一个Hash查询列表Hlist1 ={χi, ωi, Qi}.选择随机数c∈[1, qH], A对χi进行Hash询问, 如果χi已在列表Hlist1中, C返回对应的Hash询问结果Qi.否则进行如下操作:若ωiΩ′∪ω′, C选择随机数ai, 计算Qi=H1(χi)=g1ai并发给A, 且更新列表Hlist1;否则, C选择ai, biZp*, 计算Qi=H1(χi)= g1aig1-bi并发送给A, 同时更新列表Hlist1.

2) H2询问:C维护一个Hash查询列表Hlist2 ={mi, hi}. A对mi进行Hash询问, 如果mi已在列表Hlist2中, C返回对应的Hash询问结果hi.否则进行如下操作:C选择随机数aiZp*, 计算hi =H2(mi)=g2ai发送给A, 并更新列表Hlist2;否则, C选择ai, biZp*, 计算hi =H2(mi)=gi2ag2bi并发送给A, 同时更新列表Hlist2.

3) KeyGen询问:C维护密钥生成询问列表Klist ={χi, ωi, Qi, {ξi, Ti}}, A选择属性集ωi向C询问对应用户公私钥, C检查Klist中是否有对应的询问结果, 如果存在, 则返回对应的{ξi, Ti}iωi.否则, 对属性iωi, C进行如下操作:假设i∈(ωiω′)∪Ωi, C选择a, χi, tiZp*, 选择d次多项式q(x)使得αi=q(i), 计算di, 1=g2q(i)/tiH1(χi)α, di, 2=H1(χi)ti, ξi={di, 1, di, 2}, C返回结果给A, 并记录到询问列表Klist ={χi, ωi, Qi, {ξi, Ti}}中;否则, 终止询问.

4) Sign询问:C维护签名询问列表Slist ={χi, ωi, mi}.如果|ωiω′|≥k, A向C询问在属性集ωi和断言Υk, ω*()条件下m*的签名σ*, C运行Sign(mi, ωi, Υk, ω*())生成数据签名σ*={σi, 0*, σi, 1*, σi, 2*}, 并返回给A;否则, 终止询问.

5) GenProof询问:A选择数据签名值为σ*, 生成挑战消息π*={(j, vj)}S1jSc, 向C进行询问, C运行证据生成算法GenProof(m, σ), 生成挑战证据P* = { ${\hat m}$, σ0*, σ1*, σ2*}, 且返回给A.

Game2   C保存A询问后产生的应答列表, A通过伪造签名信息进行挑战.首先, A选择挑战属性${\hat \omega }$和默认属性集$\mathit{\hat{\Omega }}$, 输出${\hat m}$的签名信息σ0*σ1*σ2*.如果$\mathit{\hat{\Omega }}$Ω*H2(mi)≠gac, A挑战失败;否则, 若满足$\frac{{\prod\limits_{i \in {\omega ^*} \cup \mathit{\Omega }\prime } {} e{{(g,{\rm{ }}{\sigma _1})}^{{\mathit{\Delta }_{i,{\rm{ }}S}}\left( 0 \right)}}}}{{{\rm{ }}e(g,{\rm{ }}{\sigma _0})e(g,{\rm{ }}{\sigma _2})}} = {Z^{\hat m}}$成立, A挑战成功.

当C通过数据挑战证据P*时, ${\mathit{\hat \Omega }}$ =Ω*, A通过$\frac{{\prod\limits_{i \in \tilde \omega } {} e{{(g,{\rm{ }}{\sigma _1}^*)}^{{\Delta _{i,{\rm{ }}s}}\left( 0 \right)}}}}{{e(g,{\rm{ }}{\sigma _0}^*)e(g,{\rm{ }}{\sigma _2}^*)}}{\rm{ }} = {Z^{{m^*}}}$来验证P*, 其中, ${\hat m}$m*σ0*σ0σ1*σ1σ2*σ2. A利用P*破解CDH困难问题.给定g1=gx, g2=gy, 其中x, yZp*, gG1, C输出目标为gxy, C通过计算得到${g^{xy}} = \frac{{\prod\limits_{i \in \tilde \omega } {} {{({\sigma _1}^*)}^x}}}{{\alpha \hat m{\sigma _0}^*{\sigma _2}^*}}$, 即破解CDH困难问题.

Game3  假设C观察整个数据完整性证明过程, 密钥生成预言机和签名预言机的应答是无效的, 导致C终止挑战过程. A回复证据为P* = { ${\hat m}$, σ0*, σ1*, σ2*}.诚实证明者回复证据P, 验证者收到P后验证等式$\frac{{\prod\limits_{i \in {\omega ^*} \cup \mathit{\Omega }\prime } {} e{{(g,{\rm{ }}{\sigma _1})}^{{\mathit{\Delta }_{i,{\rm{ }}S}}\left( 0 \right)}}}}{{{\rm{ }}e(g,{\rm{ }}{\sigma _0})e(g,{\rm{ }}{\sigma _2})}} = {Z^{\hat m}}$是否成立.

假设当${\hat m}$m*时, σ0*=σ0σ1*=σ1σ2*=σ2, 定义Δm= ${\hat m}$ -m*, C回复A的质询, 最终敌手A回复伪造的证据P* ={ ${\hat m}$, σ0*, σ1*, σ2*}, 并验证:

$ \begin{array}{*{20}{c}} {\frac{{\prod\limits_{i \in \tilde \omega } {e{{\left( {g,\sigma _1^ * } \right)}^{{\Delta _{i,s}}\left( 0 \right)}}} }}{{e\left( {g,\sigma _0^ * } \right)e\left( {g,\sigma _2^ * } \right)}} = {Z^{m * }} = }\\ {\frac{{\prod\limits_{i \in {\omega ^ * } \cup \mathit{\Omega '}} {e{{\left( {g,{\sigma _1}} \right)}^{{\Delta _{i,S}}\left( 0 \right)}}} }}{{e\left( {g,{\sigma _0}} \right)e\left( {g,{\sigma _2}} \right)}} = {Z^{\hat m}}} \end{array} $

则可得到ZΔm=1, 即${\hat m}$ =m*mod p.经过以上分析, 这些游戏之间的差异存在可以忽略的概率.

如果挑战者C在多项式时间t内进行询问的应答都是有效的, 分析A解决CDH困难问题时的优势. A进行H1询问和H2询问获取正确结果的概率分别为PH1=1/qH1PH2=1/qH2, 则A成功获取Hash询问(H1询问和H2询问)结果的概率为P1 = PH1×PH2=1/(qH1qH2);A成功从d个属性中选取d-k个默认属性组成属性子集Ω′的概率为${P_2} = 1/\left( \begin{array}{l} d - k\\ d \end{array} \right)$;A进行GenProof询问成功选取挑战消息π*的概率为${P_3} = \frac{c}{n}$;A通过伪造签名证据在多项式时间t内破解该方案的概率P0 =ε.即存在一个(t′, ε′)-算法以ε′的优势能解决CDH困难问题, 其中:

$ \varepsilon ' = {P_0}{P_1}{P_2}{P_3} = \frac{{c\varepsilon }}{{n{q_{{H_1}}}{q_{{H_2}}}\left( {\begin{array}{*{20}{c}} {d - k}\\ d \end{array}} \right)}} $

定理3  在CDH问题和随机预言模型假设下, 提出的方案在适应性选择消息攻击模型下具有抗合谋攻击性.

证明  同定理2中基本假设所述.

Game0  同定理2中的Game0, 主要是游戏的初始化阶段.

Game1  同定理2中的Game1.

Game2  挑战者C保存敌手A询问后产生的应答列表, A伪造实施合谋攻击时的信息, 并进行相应的查询.首先, A选择参与合谋攻击的用户uiuj, 对应属性集为${\tilde \omega }$i${\tilde \omega }$j, 进行KeyGen询问, 得到对应的用户私钥集ξiξj, 计算Ti=g2ti, ξi={g2q(i)/tiH1(χi)α, H1(χi)ti}, Tj=g2tj, ξj={g2q(j)/tjH1(χj)α, H1(χj)tj}, C将ξiξj发送给A. A选取密钥ξ′=ξiξj, 其中ξiξi, ξjξj, ξ′对应属性ω″=${\tilde \omega }$i${\tilde \omega }$j, 满足Υk′, ${\tilde \omega }$(ω″)=1. A选取m*和属性集ω″下的签名${\hat \sigma }$, 生成完整性证据${\hat P}$ = ($\hat{\omega }$, ${\hat \sigma }$ 0, ${\hat \sigma }$ 1, ${\hat \sigma }$ 2).

Game3  敌手A通过收集伪造实施合谋攻击时的属性及签名信息, 挑战方案的抗合谋攻击性.首先, A选择挑战属性ω″和默认属性集${\mathit{\hat \Omega }}$, 输出完整性证据${\hat P}$.敌手A利用${\hat P}$破解CDH困难问题, 即给定g1=gx, g2=gy, 其中x, yZp*, gG1, 输出目标为gxy, 同定理2, C计算出gxy.即敌手A以ε′=$c\varepsilon /\left( {n{q_{{{\rm{H}}_1}}}{q_{{{\rm{H}}_2}}}\left( \begin{array}{l} d - k\\ d \end{array} \right)} \right)$的优势解决CDH困难问题.

3 性能分析

下面主要通过与同类方案[12-13, 16]对比分析计算开销和通信开销情况.首先, 定义如下符号含义:Texp表示指数运算所需的时间, Tmul表示乘法运算所需的时间, Tpair表示双线性对运算所需的时间, THash表示Hash运算所需的时间, Tm表示模运算所需的时间, u表示签名的用户数, c表示挑战的数据块数目, d表示默认属性域中属性个数, z表示被撤销的用户数, n表示数据分块数, s表示每个数据块中包含的子数据块数.

3.1 计算开销

在计算开销方面, 与同类方案[12-13, 16]进行对比.方案1[12]和方案2[13]主要是支持群组用户撤销及共享数据更新的公共审计方案.其中, 方案1[12]计算开销随着数据块的增多而增大, 开销远大于本方案及其他方案[13, 16];方案2[13]计算开销随着撤销用户数量的增加而增大.通过采用基于随机数的挑战方法, 方案3[16]在挑战与响应阶段的计算开销与本方案相当, 在验证阶段的计算开销比本方案大.具体对比情况如表 1所示.

表 1 方案计算开销对比
3.2 通信开销

在数据完整性验证过程中, 主要分析审计阶段的通信开销, 其中|λ|为随机数大小, |G1|为群G1中元素的大小, |I|表示数据块索引大小.具体对比结果如表 2所示.

表 2 审计阶段通信开销对比
3.3 结果对比

本方案采用的实验环境:Intel Core i3-2350 CPU 2.30 GHz, 4 GB内存, Windows7 x64位操作系统, 采用密码学函数库PBC版本为PBC-0.4.7, VC++6.0环境下进行实验.本方案使用椭圆曲线域表示G1G2, 密钥大小为160 bit, 随机数大小为80 bit.假设存储在CSP中的用户数据文件有1%的内容被损坏, 如果要保证用户检查出此事件发生的概率不低于99%, 则只需随机验证其中c=460个数据块的持有性证据[5].假设数据块数n=10 000个, 每个分块子块数s=50个, 群用户数u=10个时, 具体审计阶段开销对比情况如表 3所示.

表 3 审计阶段开销结果对比情况

通过以上的对比分析可知, 本方案在计算开销和通信开销方面都具有较好的效率, 设计了基于属性的授权策略, 在进行数据访问、用户撤销和数据更新时, 相对较为灵活.在用户撤销方面, 同类方案[12-13, 16]的计算开销随数据分块数、所撤销的用户数或挑战数据块数的增加而增大, 本方案的计算开销较小.在数据更新方面, 方案3[16]不支持数据更新操作;方案1[12]需要对进行数据分块的再处理, 更新操作开销大;方案2[12]更新操作的计算开销随着群组用户数量的增加而增大, 但更新操作较为灵活;本方案更新操作主要是由数据拥有者更新数据并产生新的签名值, 每次更新计算开销较小.由于本方案采用基于属性的门限机制以抵抗恶意用户利用互补属性构造私钥来伪造签名而实施合谋攻击, 签名过程设计相对复杂, 而且随着群组用户增多、共享数据量增大时, 签名效率会降低.

4 结束语

针对现有大多数动态群组共享数据公开审计方案主要考虑数据更新操作或用户撤销等某一方面特性, 及无法有效防止合谋攻击者利用互补属性来伪造签名的问题, 提出了一种基于属性门限签名的动态群组隐私保护公开审计方案, 将用户身份信息参数引入用户属性私钥中, 防止攻击者通过利用互补属性构造属性私钥来伪造签名, 支持群组用户撤销和数据动态操作.分析结果表明, 方案具有不可伪造性和抵抗合谋攻击性.下一步计划研究基于属性门限签名的且适用于多数据提供者及大数据环境下的群组共享数据批量审计方案.

参考文献
[1] Qiao Jianyong. Julia sets and complex singularities of free energies[J]. Memoirs of American Mathematical Society, 2015(234): 1–89.
[2] Qiao Jianyong. On the preimages of parabolic points[J]. Nonlinearity, 2000(13): 813–818.
[3] 高志鹏, 牛琨, 刘杰. 面向大数据的分析技术[J]. 北京邮电大学学报, 2015, 38(3): 1–12.
Gao Zhipeng, Niu Kun, Liu Jie. Analytics towards big data[J]. Journal of Beijing University of Posts and Telecommunications, 2015, 38(3): 1–12.
[4] Chen Hefeng, Lin Bogang, Yang Yang, et al. Public batch auditing for 2M-PDP based on BLS in cloud storage[J]. Journal of Cryptologic Research, 2014, 1(4): 368–378.
[5] Ateniese G, Burns R, Curtmola R. Provable data possession at untrusted stores[C]//Proc of CCS'07. New York:ACM, 2007:598-609.
[6] Curtmola R, Khan O, Burns R, et al. MR-PDP:multiple-replica provable data possession[C]//The 28th International Conference on Distributed Computing Systems. IEEE Computer Society, 2008:411-420.
[7] 查雅行, 罗守山, 卞建超, 等. 基于多分支认证树的多用户多副本数据持有性证明方案[J]. 通信学报, 2015, 36(11): 80–91.
Zha Yaxing, Luo Shoushan, Bian Jianchao, et al. Multiuser and multiple-replica provable data possession scheme based on multi-branch authentication tree[J]. Journal on Communications, 2015, 36(11): 80–91. doi: 10.11959/j.issn.1000-436x.2015234
[8] Wang Boyang, Li Baochun, Li Hui. Oruta:privacy-preserving public auditing for shared data in the cloud[C]//Proceedings of the 2012 IEEE Fifth International Conference on Cloud Computing.[S.l.]:IEEE Computer Society, 2012:295-302.
[9] Wang Boyang, Li Baochun, Li Hui. Knox:privacy-preserving auditing for shared data with large groups in the cloud[C]//International Conference on Applied Cryptography and Network Security.[S.l.]:Springer-Verlag, 2012:507-525.
[10] Wang Boyang, Li Baochun, Li Hui. Panda:public auditing for shared data with efficient user revocation in the cloud[J]. IEEE Transactions on Services Computing, 2015, 8(1): 92–106. doi: 10.1109/TSC.2013.2295611
[11] Yu Yong, Ni Jianbing, Au Manho, et al. On the security of a public auditing mechanism for shared cloud data service[J]. IEEE Transactions on Services Computing, 2014, 8(6): 1–2.
[12] Yuan Jiawei, Yu Shucheng. Efficient public integrity checking for cloud data sharing with multi-user modification[C]//2014 Proceedings IEEE INFOCOM.[S.l.]:IEEE, 2014:2121-2129.
[13] Jiang Tao, Chen Xiaofeng, Ma Jianfeng. Public integrity auditing for shared dynamic cloud data with group user revocation[J]. IEEE Transactions on Computers, 2016, 65(8): 2363–2373. doi: 10.1109/TC.2015.2389955
[14] 付安民, 秦宁元, 宋建业, 等. 云端多管理者群组共享数据中具有隐私保护的公开审计方案[J]. 计算机研究与发展, 2015, 52(10): 2353–2362.
Fu Anmin, Qin Ningyuan, Song Jianye, et al. Privacy-preserving public auditing for multiple managers shared data in the cloud[J]. Journal of Computer Research and Development, 2015, 52(10): 2353–2362. doi: 10.7544/issn1000-1239.2015.20150544
[15] 李晖, 孙文海, 李凤华, 等. 公共云存储服务数据安全及隐私保护技术综述[J]. 计算机研究与发展, 2014, 51(7): 1397–1409.
Li Hui, Sun Wenhai, Li Fenghua, et al. Secure and privacy-preserving data storage service in public cloud[J]. Journal of Computer Research and Development, 2014, 51(7): 1397–1409. doi: 10.7544/issn1000-1239.2014.20140115
[16] 黄龙霞, 张功萱, 付安民. 基于层次树的动态群组隐私保护公开审计方案[J]. 计算机研究与发展, 2016, 53(10): 2334–2342.
Huang Longxia, Zhang Gongxuan, Fu Anmin. Privacy-preserving public auditing for dynamic group based on hierarchical tree[J]. Journal of Computer Research and Development, 2016, 53(10): 2334–2342. doi: 10.7544/issn1000-1239.2016.20160429
[17] Li Jin, Kim Kwangjo. Hidden attribute-based signatures without anonymity revocation[J]. Information Sciences, 2010, 180(9): 1681–1689. doi: 10.1016/j.ins.2010.01.008
[18] 陈桢, 张文芳, 王小敏. 基于属性的抗合谋攻击可变门限环签名方案[J]. 通信学报, 2015, 36(12): 212–222.
Chen Zhen, Zhang Wenfang, Wang Xiaomin. Attribute-based alterable threshold ring signature scheme with conspiracy attack immunity[J]. Journal on Communications, 2015, 36(12): 212–222. doi: 10.11959/j.issn.1000-436x.2015330