一种改进的云存储中多用户数据共享方法

2019-11-03 14:07梁有懿
电脑知识与技术 2019年23期
关键词:云存储隐私保护加密

梁有懿

摘要:云存储中多用户数据共享需要用户端较大的计算量,并存在用户身份信息泄露的隐患。本文提出一种改进的多用户数据共享方法,通过设计匿名用户列表进行身份隐私保护,采用BLS算法签名,基于匿名身份生成加密密钥,减少用户端的双线性和点乘运算数目。安全性与效率分析表明,该文方法与对比文献的结果比较,在安全性方面还能够实现数据的完整性验证,在效率方面降低用户端的计算量。

关键词:云存储;多用户数据共享;隐私保护;签名;加密;完整性验证

中图分类号:TP309.7        文献标识码:A

文章编号:1009-3044(2019)23-0266-04

开放科学(资源服务)标识码(OSID):

An Improved Data Sharing Method For Multi-user In Cloud Storage

LIANG You-yi

(School of Computers, Guangdong University of Technology, Guangzhou 510006, China)

Abstract: The multi-user data sharing in cloud storage requires a large amount of computation for users. It also has the potential to leak user identity information. This paper proposes an improved multi-user data sharing method. It protects identity privacy by designing anonymous user list, uses BLS algorithm to sign, and generates encryption key by anonymous identity, which reduce the number of bilinear and point multiplication operations at the user end. The analysis of security and efficiency shows that compared with the results of the comparative literature, this method can also verify the integrity of data in terms of security, reduce the computation cost of users in terms of efficiency.

Key words: cloud storage; multi-user data sharing; privacy protection; signature; integrity verification; encryption

1 引言

云存儲[1]作为云计算的重要组成部分,已经在国际上得到广泛的关注和发展,很多公司都提供了开放的云存储业务[2]。借助云存储服务[3],公司或企业允许他们同一部门的员工存储和共享数据。然而,利用云存储服务进行多用户数据共享存在用户端计算量和存储开销过大,以及数据隐私[4,5]泄露的风险。

目前,主流的云存储多用户数据共享方案主要是以属性基加密(ABE)机制[6-9]、身份基加密(IBE)机制[10,11]、密钥协商[12,13]为代表。ABE机制虽然能够实现细粒度、安全的访问控制,用户撤销灵活,适合于一对多[14]的多用户数据共享方式,但不适合于多对多的群组多用户数据共享。IBE机制是数据拥有者使用共享用户身份为公钥对信息进行加密,当共享用户多时,需要进行大量非对称运算。密钥协商由于目前的数学难题,当参与密钥协商数超过3个时,难以在一轮的密钥协商中完成,需要进行至少2轮的密钥协商,用户每次动态退出或加入时,都要重新进行密钥协商,当用户退出或加入频繁时,计算代价非常大,并且需要协商用户尽可能多的在线。本文方法在文献[15]提出的Mona方案的基础上进行改进,去除用户撤销列表,设计用户匿名列表,改进密钥和签名生成方式。用户匿名列表为避免群用户身份信息被泄露而应用。本文方法在加强数据信息安全性的同时,主要降低用户端存储开销和计算开销,实现一种安全且高效的多用户数据共享方法。

2 方法的描述

本文方法模型包括三个实体:云服务提供商(CSP)、群管理者(GM)和群用户,如图1所示。

CSP按需为用户提供计算和存储空间,但CSP是诚实而好奇的,它会严格执行用户的请求操作,不会与用户交互关于群信息,但可能尝试窥探用户的隐私信息。

GM也是群用户,更是这个群的管理者。它负责系统参数生成、用户登记、用户撤销和对有争议的共享数据文件进行文件拥有者(FO)身份查询,同时为CSP生成匿名用户列表。GM是一个被认为确切可信和公正的管理者,不会诬陷其他群用户。群用户将需要共享的数据加密生成密文文件存储于CSP中,供群中其他成员共享,同时也从CSP中访问群共享数据文件,认为群中用户不与非群用户或CSP合谋[16]。任何群用户均可验证共享数据的完整性[17]。

本文改进了文献[15]提出的Mona方案,Mona方案能够实现一个安全的多用户数据共享,但要求每个用户端的存储和计算能力比较高。而在这样的群用户数据共享中,每个用户既是数据拥有者又是访问者,但存在这样一种场景,个别用户端设备存储或计算能力受限,并且很多时候用户不希望通过大量复杂的计算去共享或访问数据,希望有一种安全且高效的共享方式。本文方法相对于Mona方案改进的地方有:本文方法减少了公共参数和主密钥元素个数,以及签名的大小,从而减少用户的存储开销;去除了RL,设计并添加用户匿名列表(AUL),将加密密钥的生成不再基于RL而是基于Li,从而保证用户隐私的同时减少了用户在共享或访问数据前用户端对RL签名和认证的计算量;使用BLS算法签名[18],减少签名算法的计算量;添加了数据完整性的公开验证,使用户访问的数据更加可靠。本文方法的具体步骤如下:

2.1 系统初始化

GM进行如下操作:

生成一个双线性映射群系统:S=(q,G1,G2,e(*,*))。

G1和G2分别是具有相同大素数q的加法循环群和乘法循环群,e(*,*)为双线性对运算。

GM选择两个随机元素P,G∈G1,和一个随机数y∈Zp,计算:

[w=y·P]                                  (1)

[Z=e(G,P)]                                (2)

GM发布系统公共参数为:

(P,f,f1,f2,f3,Z,EncK()),(y,G)作为主密钥由GM秘密保留。f为哈希函数{0,1}*→G1,f1,f2,f3为哈希函数{0,1}*→Zp,EncK()是密钥为K的对称加密方法。

2.2 用户注册

身份为IDi的用户向GM发送注册申请。GM随机选择一个数xi∈Zp,xi作为用户IDi的匿名身份,并计算公式(3)。

[Ai=1y+xi·P∈G1]                            (3)

(xi,Ai)作为群用户的私钥,用于计算签名和用户标签。

GM添加用户i的身份(xi,IDi)到群用户身份列表(UL)中,其中群用户列表由GM秘密保存。

GM向CSP发送匿名身份(IDgroup,xi), CSP接收到消息后将xi添加到匿名用户列表(AUL)中。用户随机选择一个数a∈Zp,并计算自身的标签:

[Li=a·Ai]                                 (4)

Li為用户身份标签,目的是供GM和CSP验证用户是否为群用户,以及可以起到FO不可否认自己是共享文件的所有者。FO发送(IDgroup,xi,Li)到CSP,CSP添加该字段到AUL中。CSP使用BLS签名算法生成一个匿名用户列表签名;

[sigAUL=f(AUL)]                           (5)

将该签名返回给GM。GM验证签名sig(AUL),检测匿名用户列表在CSP中是否及时且正确更新。

2.3 用户撤销

用户撤销由GM执行。当有群用户需要撤销时,GM在本地的UL中找到需要撤销用户的IDi和xi,将其删除。并且GM向CSP发送需删除的匿名用户身份xi,CSP将AUL中的xi和Li删除。为了了解到CSP是否完成撤销用户操作,CSP需要生成AUL的签名,将该签名返回给GM。GM验证签名sig(AUL)是否等于f(AUL),从而判断CSP是否进行撤销用户操作。

2.4 文件生成

用户需要上传数据文件给群用户共享时,FO做如下计算:

[c=1/xi]                                    (6)

[K=Zc]                                     (7)

[C=EncK(M)]                                 (8)

[C1=f1(M)]                                  (9)

其中C1为数据文件摘要,将用于检测存储在云服务器中的密文是否被非法修改。K为对称加密密钥,C为密文。

FO使用BLS签名算法,计算公式(10),获得用户签名。

[C2=f2(Li)]                                 (10)

C2用于表示用户为该密文的拥有者,具有修改和删除该密文权限。FO本地存储(IDdata,t)。

为防止群用户冒用其他用户身份发布虚假或恶意共享信息,FO使用BLS签名算法,对密文文件进行签名。

[σ=f3(IDdata,C,C1,C2,xi,Li)]                       (11)

FO上传含签名的密文文件(IDgroup,IDdata,C,C1,C2,xi,σ)到CSP中。当CSP接收到密文文件,首先验证匿名用户身份是否为群成员,再进一步验证签名σ,确认文件的合法性。

2.5 文件删除

存储于CSP中的文件删除操作可以由FO或GM执行。

GM删除文件时,计算公式(12)获得B,将名为IDdata的文件从本地的数据文件列表中删除,并将(B,IDgroup,IDdata)发送给CSP,CSP判断(13)等式是否成立。

[B=yf(IDdata)]                               (12)

[e(yf(IDdata),P)=e(w,f(IDdata))]                       (13)

如果等式(13)成立,则表示该用户为群用户中的GM,CSP将其删除,如果不成立,CSP将不进行操作。

FO删除文件时,FO不需要通过计算,只是从本地找到(IDdata,t),将(IDgroup,IDdata,Li)发送给CSP。CSP计算f2(Li)是否等于C2,如果相等则删除该数据文件。GM将文件列表中的IDdata删除。

2.6 文件访问

只有群用户有权限访问共享数据文件,非群用户无法访问,且新加入的用户同样具有访问历史数据文件的权限。具体访问操作如下,当用户Uj为了从CSP中获得群共享数据文件,向CSP发送(IDgroup,IDdata,xj,Lj)。CSP接收到信息后,从AUL中查找xj, Lj,確认该访问用户是具有访问权限的群用户后,为用户Uj发送名为IDdata的数据文件。用户计算公式(7)和公式(14)获得明文。

[M=decK(C)]                                (14)

用户计算公式(9)获得值C1,并判断C1是否等于返回来的C1,如果相等,则存储于CSP中的密文完整性没有被破坏,数据文件有效。

2.7 文件拥有者查询

如果共享的数据文件为虚假或违法数据,GM需要对所共享数据文件的拥有者进行真实身份查询,值得注意的是GM不需要通过计算就能够验证数据文件的所有者身份,因为数据文件中直接留有匿名身份xi,GM根据UL进行直接查询,找到对应的真实身份信息IDi,GM对该数据文件和共享者进行相应的处理。

3 安全性分析

本文方法从多方面进行安全性分析,并与文献[13]和文献[15]进行相比,如表1所示。

(1)群用户能够灵活的加入和退出,具有动态性。当有新用户成功加入时,该新用户能够访问云中现存的群历史数据,同时可以将需要共享的数据上传至云中给其他群用户共享。当有群成员撤销时,被撤销的群成员无法再访问云服务器中的群共享数据文件。

(2)由于被撤销的群用户可能记录到一些群用户的匿名身份xi,但因为每个群用户在注册时,自动生成一个身份标签Li,这个签名只有用户本身和CSP知道,其他用户并不知晓,因此当撤销用户试图想冒用其他群用户的匿名身份进行访问群数据时,由于不知道该匿名用户的身份标签,无法通过CSP的认证,最终无法访问群数据,从而达到了抗撤销用户假冒访问的目的。

(3)数据拥有者对数据文件进行加密的同时,计算了该数据文件哈希值C1,将该哈希值放于密文文件中一同上传至CSP。当任何群用户访问该密文文件时,将密文解密获得数据M,并通过计算f1(M)是否等于数据拥有着所计算的哈希值C1,从而实现云中共享数据的公开完整性验证。

(4)当群用户发现共享的数据文件虚假或恶意时,群用户向GM反映,GM根据数据文件的匿名身份xi查询UL,找到数据拥有者的真实身份信息IDi,该用户不可否认自身是该虚假或恶意文件的拥有者,GM对该用户进行处理。

(5)群用户不可伪造其他用户身份发布虚假或恶意消息。每个密文文件都包含用户签名和文件签名σ,只有知道用户身份标签才能计算出有效的用户签名和密文签名,而用户身份标签只有用户本身和CSP知道,其他用户无法知晓,所以恶意用户不可伪造其他群用户身份进行共享数据。

(6)用户在向GM注册时,GM为每个用户生成一个匿名的身份。CSP和用户只知道群用户的匿名身份,只有GM知道群用户的真实身份,从而实现群用户的隐私保护。

4 效率分析

本文方法与文献[13]和文献[15]进行了用户端计算量比较如表2所示,下面进行具体分析。

本文方法在文件生成阶段,密钥的生成只需进行一次点乘运算,生成文件摘要、数据签名和文件签名总共需要3次模运算和一次点乘运算,以及一次加密运算。在访问阶段,用户端只需要进行一次双线性运算获得密钥,进行一次模运算实现完整性验证,和一次解密运算获得共享数据的明文。用户撤销阶段,GM进行一次模运算来验证CSP是否成功撤销指定用户。文件可以由GM或FO删除,GM对文件进行删除时进行一次模运算,FO删除文件时用户端不需要进行计算操作。

文献[13]在文件生成阶段,要求每个用户端进行两轮密钥协商生成一个会议密钥,用户使用这个会议密钥对文件加密,并发送给GM,GM需要对签名和撤销列表进行验证,验证通过后对密文重加密,并生成一個签名σ后上传到CSP中。在密钥协商中,每个用户端生成签名、验证撤销列表和k个签名。文件访问阶段,用户端的计算量为生成当前时间的签名、GM对签名和撤销列表进行验证、以及两次解密计算。在用户撤销时,用户端计算量只需GM进行一次模运算。文献[13]未给出文件删除操作。

文献[15]在文件生成阶段,用户端需要验证撤销列表、生成加密密钥、签名算法、加密运算。在文件访问阶段,用户端需要验证撤销列表、生成解密密钥、签名算法、解密运算。在用户撤销阶段,GM进行一次模运算来验证指定用户的删除。文件同样能被GM和FO删除,GM删除文件时需要生成一个签名,FO删除文件时用户端不需要进行计算操作。

5 结论

本文提出了一种改进的多用户数据共享方法。该方法通过用户匿名列表保障用户身份隐私,通过使用BLS签名算法对共享数据文件进行签名,使得签名具有不可否认性和伪造性。安全性与效率分析表明,与文献[13]和文献[15]相比,本文方法还能够实现数据的完整性公开验证,提高了数据的安全性和减小了用户端的计算量。本文方法能够达到一种云数据的多用户安全高效共享的需求,具有实际意义。

参考文献:

[1]赵志远, 王建华, 朱智强, 等. 云存储环境下属性基加密综述[J]. 计算机应用研究,2018,35(4):961-968.

[2] 陈亮, 杨庚, 屠袁飞. 混合云环境下基于属性的密文策略加密方案[J]. 计算机应用, 2016, 36(7):1822-1827.

[3] 李晖, 孙文海, 李凤华. 公共云存储服务数据安全及隐私保护技术综述[J]. 计算机研究与发展, 2014, 51(7):1397-1409.

[4] 徐小龙, 周静岚, 杨 庚. 一种基于数据分割与分级的云存储数据隐私保护机制[J].计算机科学, 2013, 40(2):98-102.

[5] 叶薇, 李贵洋. 基于混沌序列的公有云存储隐私保护机制[J]. 计算机工程与设计, 2014, 35(11):3736-3740.

[6] 蒋溢, 冯浩. 云存储中基于联合属性的密文策略加密方案[J]. 计算机工程与设计, 2017(4):922-927.

[7] 江泽涛, 赵嘉旭, 吴辉. 策略隐藏的CP-ABE访问控制方案[J]. 计算机工程与设计, 2017(6):1429-1433.

[8] Liu X, Xia Y, Xiang Y, et al. A Secure and Efficient Data Sharing Framework with Delegated Capabilities in Hybrid Cloud[C]// International Symposium on Security and Privacy in Social Networks and Big Data. IEEE, 2016:7-14.

[9] Wang S, Liang K, Liu J K, et al. Attribute-Based Data Sharing Scheme Revisited in Cloud Computing[J]. IEEE Transactions on Information Forensics & Security, 2017, 11(8):1661-1673.

[10] 郑志恒, 张敏情, 王绪安. 一种适合云数据共享的身份代理重加密方案[J]. 计算机应用研究, 2016, 33(11):3450-3454.

[11] 李明富, 陈立伟. 一种基于身份代理重加密的云数据共享方案[J]. 湘潭大学自然科学学报, 2017(03):79-83.

[12] Shen J, Zhou T, He D, et al. Block Design-based Key Agreement for Grou-p Data Sharing in Cloud Computing[J]. IEEE Transactions on Dependable & Secure Computing, 2017, PP(99):11.

[13] Shen J, Zhou T, Chen X, et al. Anonymous and Traceable Group Data Sharing in Cloud Computing[J]. IEEE Transactions on Information Forensics & Security, 2018, 13(4):912-925.

[14] 吴继康, 于徐红. 混合云环境中多用户数据共享问题研究[J]. 计算机应用研究, 2016, 33(11):3435-3441.

[15] 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 & Distr-ibuted Systems, 2013, 24(6):1182-1191.

[16] 张桂榕.云存储数据安全访问与共享机制研究[D]. 北京交通大学, 2015:20-32.

[17] 张键红, 李鹏燕. 一种有效的云存储数据完整性验证方案[J]. 信息网络安全, 2017(3):1-5.

[18] 郭晓勇, 付安民, 况博裕,等. 基于收敛加密的云安全去重与完整性审计系统[J]. 通信学报, 2017(s2):156-163.

【通联编辑:代影】

猜你喜欢
云存储隐私保护加密
一种基于熵的混沌加密小波变换水印算法
浅析龙岩烟草业务数据与监控数据中的云存储与大数据
认证加密的研究进展
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密