王观上
摘要:云存储服务的飞速发展,让人们享受到了低廉优质的存储服务的同时,也产生了一系列的云存储安全问题,成为研究热点。为了验证用户存储在云端数据的完整性和正确性,保证验证结果的可靠性并支持公开审计,通常引入第三方审计者代替用户进行审计,这也导致也用户的数据隐私和身份隐私可能泄露的问题。针对这些问题,提出一种保护用户身份隐私的云存储共享数据审计方法。用户使用自己随机产生的私钥和群组管理者产生的群组公钥对数据块进行签名,签名后的数据块和标签被上传至服务器,只有群管理者可以揭露数据块签名者的身份信息,从而保护了云端共享数据审计时数据块签名者的身份隐私。
关键词:云存储; 完整性; 公开审计; 共享数据; 身份隐私
中图分类号:TP309.2 文献标识码:A
文章编号:1009-3044(2019)23-0030-03
开放科学(资源服务)标识码(OSID):
Cloud Storage Shared Fata Auditing Method for Protecting Identity Privacy
WANG Guan-shang
(Guangdong University of Technology, Guangzhou 510006, China)
Abstract: The rapid development of cloud storage services has enabled people to enjoy low-quality and high-quality storage services, and has also created a series of cloud storage security issues, which has become a research hotspot. In order to verify the integrity and correctness of the data stored in the cloud, ensure the reliability of the verification results and support public auditing, third-party auditors are usually introduced instead of users for auditing, which also leads to the leakage of data privacy and identity privacy of users. problem. Aiming at these problems, a cloud storage shared data auditing method for protecting user identity privacy is proposed. The user signs the data block using the private key generated by himself and the group public key generated by the group manager. The signed data block and label are uploaded to the server, and only the group manager can disclose the identity information of the data block signer. , thus protecting the identity privacy of the data block signer when the cloud shared data is audited.
Key words:cloud storage; integrity; public audit; sharing data; identity privacy
1 引言
云存儲服务的广泛应用,使用户可以将数据存储在云端,节省大量的存储空间,并使得用户可以在不同的地点通过网络对云端数据进行便捷的访问。借助于虚拟化和分布式存储等技术,云存储将网络中不同厂商、不同结构、不同位置的存储设备整合,构建成存储资源池。用户按需付费的方式根据自己的需求向云服务提供商租赁存储资源[1]。云存储服务为用户带来方便的同时,数据和管理所有权的分离也引发了许多的安全问题。由于云服务器是“半可信”的[2],无法保证存储在云服务器中的数据完整性和隐私性。因此,需要对存储在云端的数据进行完整性审计。在审计的过程中,为了降低用户的计算量并保证审计结果的可靠性,可以引入第三方审计者(third party auditor,TPA)来帮助用户进行公开审计[3]。特别地,在云存储服务中,数据不仅存储在云中,还经常需要在群组用户之间进行共享,如iCloud和Google Doc允许群组中多个用户访问和修改云端同一份数据文件[4]。然而,TPA在审计过程中可能会窃取用户身份隐私信息。因此,需要诸如数据块签名者用户身份隐私保护的公开审计方案。
文献[5]提出了一种基于组签名和动态广播加密技术的数据共享方法,可保护数据安全和数据块签名者的身份隐私。文献[6]提出支持身份隐私保护公开审计方案Oruta,利用环签名计算审计所需验证信息,但验证信息的构造与成员信息相关,导致该方案不支持群组动态。当有新成员加入时,验证信息就需要更新,审计开销很大。文献[7]设计了基于群签名的同态认证器的云端共享数据安全审计方案Knox,支持用户加入,但是不支持用户撤销,也不支持公开审计。文献[8]通过代理重签名技术构造同态认证器,被撤销的组用户对应的数据块签名通过云服务器进行转换,很好地支持了用户撤销,有组内其他数据块没有影响,由于签名任务交予了计算能力强大的服务器处理,因此可以高效地支持群组用户的撤销操作。但是,撤销的用户可能与云服务器恶意勾结,使云服务器可以恶意地篡改数据。为了同时保护数据隐私和身份隐私,文献[9]提出了一种支持抗合谋攻击的公共审计方案,该方案支持用户撤销。文献[10]针对身份追踪过程的陷害性问题,基于可撤销的群签名和(t, s)门限方案,提出面向多管理者群组共享数据支持身份隐私公开审计,支持数据块签名者的身份追踪和身份追踪过程中的不可陷害性。审计开销和群组成员数量大小无关。
2 本文的方法原理
2.1 方法模型
本文方法模型如图1所示。方法模型中包括3个实体:群组用户,包括组管理员(Group Manager)和组成员(Group Member),云服务器(Cloud Server),以及第三方审计者。
在本文方法模型中,共享数据审计流程分成以下几个阶段:初始化阶段,生成系统全局参数;组用户和群组管理者生成各自的密钥对。数据签名阶段:用户使用自己的私钥和群组公钥共同对数据块进行签名,并将数据和对应签名标签发送给服务器。挑战验证审计阶段:TPA将挑战集合发送至服务器;服务器生成证据发送回TPA,TPA验证证据。用户撤销阶段:组管理者将组用户从组除去,并更新撤销用户已签名的数据块签名。
2.2 威胁模型
云服务提供商故意隐瞒存储在云服务器端的数据可能被破坏的事实;在数据安全审计过程中,可能会伪造证据试图通过的验证。虽然[TPA]会窃取数据数据块内容信息和身份隐私信息。组用户可能恶意篡改數据。为了克服上述的安全威胁,本文方法实现目标如下:
审计的正确性:TPA可以正确地对存储在云端数据完整性进行验证。
保护数据块签名者身份隐私:TPA不可以通过计算等方式窃取共享数据的内容签名者身份信息。
2.3 隐私保护的共享数据审计实现
步骤1密钥生成:群组用户任意选择一个元素[xi←Ζp],[ui←G1],计算[vi←gxi],其中[G1][G2]是阶为素数[p]的循环群,[g]是乘法循环群[G2]的生成元,[G1],[G2]满足双线性对映射[e:G1×G2→GT],[GT]阶为素数p的循环群,用户私钥[ski←(x)],公钥[pki=(ui,g,vi)];群管理者随机选择元素[y←Ζp]计算[t←gy],则群私钥为y,公钥为t。
步骤2数据块签名标签信息生成:用户将文件F分成n块,即:[F={m1,m2,...,mn}]。随机选择元素[u←Ζp]数据块,并对数据块进行签名计算:[σi=H(mi)?umi)tx]。签名集合表示为[Φ=σi1≤i≤n]。将[{F,Φ}]发送至云服务器。
步骤3 数据块标签信息验证:服务器接收到用户发送的[{F,Φ}]逐一验证:
[e((H(mi)?umi)t,1/vi)=e(σi,g)]若成立,则将[{F,Φ}]进行存储,否则舍弃。
步骤4生成挑战集:TPA从集合[1,n]中选取[c]个元素,组成集合[I],对于每一个[i∈I],随机生成[ci∈ZP],挑战集[chal={(i,νi)i∈I}],将挑战集[chal]发送给服务器。
步骤5生成证据:当CSP收到来自TPA的[chal]挑战时,服务器提供证据[proof={μ,σ,R,H(mi)i∈I}]给TPA,其中[μ=μ'=i∈IVimi].R是随机掩码:[R=(utx)r],其中[r=fkprf(chal)],是随机产生的。
步骤6验证证据:收到服务器返回的证据,TPA验证:
[e(σ?Rh(R),g)=e(H(mi)ci?uμ,vi)]
是否成立,若成立,则存储在云端数据是完好的。
3 安全性分析
本文所提方法的安全性分析主要从正确性和抵抗敌手攻击两个方面进行,具体如下:
正确性:数据块签名的正确性:
[e((H(mi)?umi)t,1/vi)=e((H(mi)?umi)t,gix)=e((H(mi)?umi)tx,g)=e(σi,g)]
本文方法可抵抗替换攻击,?当组内用户对数据块进行签名时,若与已经撤销的用户相互勾结,将撤销用户已经签名的数据块上传给服务器,想要欺骗云服务器,但无法通过服务器的签名验证。?服务器可能使用之前保存好的数据块标签对去替换已经被破坏或者丢弃的挑战数据块和标签对,但由[H]函数的单向性可知,不相同的标签去替换被挑战的数据块标签是不能通过[TPA]验证的。本文可以抵抗重放攻击,在验证云端共享数据完整性的过程中,执行算法每次产生挑战集合都是不一样的。具体地,对于每个每次质询所对应的都是随机挑选的,故云服务器每次生成的证明[P]也是不同的,云服务器不可能用已有证据[P]去欺骗[TPA]来通过新的验证。
4 结论
本文提出一种保护用户身份隐私的云存储共享数据审计方法。用户使用私钥和群组公钥共同对数据块进行签名,将签名后的数据块和标签上传至服务器,只有群管理者可以揭露数据块签名者的身份信息,从而保护了数据块签名者的身份隐私。从安全性分析可知,本文的方法可以正确地对云存储中共享数据进行安全审计,并可抵抗来自各方面的恶意攻击。
参考文献:
[1] Lee J. A View Of Cloud Computing[J]. Communications of the Acm, 2013, 53(4):50-58.
[2] Liu Chang, Ranjan R, Zhang Xuyun, et al. Public auditing for big data storage in cloud computing--a survey[C]// Proc of the 16th IEEE International Conference on Computational Science and Engineering.Washington DC: IEEE Computer Society,2013:1128-1135.
[3] 李晖,孙文海,李凤华,等.公共云存储服务数据安全及隐私保护技术综述[J].计算机研究与发展,2014,51(7):1397-1409.
[4] 付安民,秦宁元,等.云端多管理者群组共享数据中具有隐私保护的审计方案[J].计算机研究与发展,2015,52(10):2353-2362.
[5] Liu X, Zhang Y, Wang B, et al. Mona: Secure Multi-Owner Data Sharing for Dynamic Groups in the Cloud[J]. IEEE Transactions on Parallel & Distributed Systems, 2013, 24(6):1182-1191.
[6] Wang B, Li B, Li H. Oruta: privacy-preserving public auditing for shared data in the cloud[J]. IEEE Transactions on Cloud Computing, 2014, 2(1):43-56.
[7] Wang B, Li B, Li H. Knox: Privacy-Preserving Auditing for Shared Data with Large Groups in the Cloud[M]// Applied Cryptography and Network Security. Springer Berlin Heidelberg, 2012:507-525.
[8] Wang B, Li B, Li H. Panda: Public Auditing for Shared Data with Efficient User Revocation in the Cloud[J]. IEEE Transactions on Services Computing, 2015, 8(1):92-106.
[9] Yu Y, Ni J, Au M H, 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-1.
[10] 付安民,秦寧元,等.云端多管理者群组共享数据中具有隐私保护的审计方案[J].计算机研究与发展,2015,52(10):2353-2362.
【通联编辑:代影】