一种支持公开完整性校验的数据共享系统及方法

文档序号:24938403发布日期:2021-05-04 11:30阅读:121来源:国知局
一种支持公开完整性校验的数据共享系统及方法

本发明属于数据安全技术领域,具体涉及一种支持公开完整性校验的数据共享系统及方法。



背景技术:

自全球最大的搜索引擎google在2007年首次提出了云计算的概念以来,云计算技术迅速发展。信息技术研究与咨询公司gartner的一份研究报告指出,2017年,共有云市场规模达到2468亿美元,并预计于2020年达到3834亿美元。2017年4月,工信部印发《云计算发展三年行动计划(2017-2019年)》,提出到2019年,我国云计算产业规模将达到4300亿元。与传统网络应用相比,云端的信息和业务处理高度集中化,一旦云服务器出现问题,数据的安全性就会受到严重威胁。根据csa(cloudsecurityalliance)的报告,云计算在2016年面临着12大安全威胁,而数据完整性是成员关于云端数据安全的两个核心需求之一。所谓数据完整性,旨在防止云端数据被篡改、伪造或删除等,保障云端数据真实可信。即使不考虑云端存在的恶意行为,数据的完整性也可能因为软硬件故障或人为操作失误而被破坏。而随着云计算的发展,基于云计算的群组合作模式也得到了广泛重视,如ibm、microsoft、google、cisco、oracle、salesforce等公司均推出面向企业客户的群组合作云计算解决方案。如何在在群组合作模式下支持对共享数据的完整性验证、数据共享/操作者的隐私保护和共享数据的可追溯性,是该模式所面临的困难和挑战。毫无疑问这些挑战和困难极大的阻碍了云计算、云存储业务的发展,所以需要有一种方案能够将群组数据共享模式下成员身份的隐私保护、群组成员账户的安全撤销及数据的公开完整性校验结合起来,以强化成员对于数据安全的可感知性、可控性和可追踪性,从而消除成员对于云服务器中数据的安全性的疑虑。

目前存在许多群组合作模式下的数据共享方案,如proofsofretrievabilityforlargefiles、pors:proofsofretrievabilityforlargefiles、oruta:privacy-preservingpublicauditingforshareddatainthecloud等。但是他们无法同时解决如下问题:1)群组数据共享系统需要支持完全动态的数据操作;2)群组数据共享系统对大规模共享数据仍然要有良好的效率;3)群组数据共享系统需要同时保证成员的对外匿名性和数据的可追溯性;4)群组数据共享系统必须支持群组管理者对群组成员进行安全有效的管控。



技术实现要素:

为了解决上述问题,本发明提出了一种支持公开完整性校验的数据共享系统及方法。

本发明的系统所采用的技术方案是:一种支持公开完整性校验的数据共享系统,其特征在于:包括群组管理系统、数据分析系统、审计系统、云存储系统;

所述群组管理系统,用于群组管理者管理群组成员,包括注册群组新成员、安全撤销成员的账户;

所述数据分析系统,用于对群组成员需要上传的共享数据进行分析计算,生成支持验证数据完整性和保证数据的可追溯性的相关信息,并将这些相关信息和共享数据发送到云存储系统存储,同时在审计系统存储一份状态信息;

所述审计系统,部署于可信的第三方,用于代理群组成员发起的数据完整性验证请求,待自身收到云存储系统的回复的证明信息后,将利用证明信息与存储在审计系统的状态信息进行运算以校验证明信息的合法性,之后将校验结果回复给审计发起者;

所述云存储系统,用于存储共享数据和数据对应的验证信息与状态信息。

本发明的方法所采用的技术方案是:一种支持公开完整性校验的数据共享方法,其特征在于:包括群组创建、群组成员注册、共享数据分析计算与上传、共享数据审计、共享数据更新、共享数据追溯和组内成员安全撤销;

所述群组创建,具体实现过程是:群组管理系统为自身管理的群组生成一对群组密钥和一个特殊群组成员身份,将群组公钥发送至审计系统存储公开,将群组私钥和特殊群组成员身份信息存储在群组管理系统中;

所述群组成员注册,具体实现过程是:群组管理系统利用群组公私钥、成员指定的登录id和密码为成员注册合法的账户,每个账户拥有唯一的数字身份和成员私钥,账户信息存储在群组管理系统中;

所述共享数据分析计算与上传,具体实现过程是:对群组成员共享的数据进行分析计算生成对应的验证信息并利用成员私钥、群组公钥和验证信息生成状态信息,云存储系统存储共享数据、验证信息及状态信息,审计系统仅保留状态信息;

所述共享数据审计,具体实现过程是:当群组成员向审计系统发起数据完整性校验请求时,审计系统向云存储系统发送随机生成的数据抽查信息,云存储系统根据自身存储的共享数据、验证信息、状态信息和收到的抽查信息生成证明信息回复给审计系统,审计系统将对证明信息的有效性进行检查以校验数据的完整性,结果回复给审计发起者;

所述共享数据更新,具体实现过程是:当群组成员更新已经上传至云存储系统的数据时,更新操作包括删除、插入、修改,对被修改的数据块进行重新运算、签名生成新的验证信息、状态信息;其中,数据更新仅分析被更新的数据块,并且数据对应的状态信息也更新以维护数据的可追溯性;

所述共享数据追溯,具体实现过程是:当群组成员对共享数据发起追溯请求获取数据的历史操作者时,向审计系统请求数据对应的状态信息,通过对状态信息和追溯请求者的成员私钥解析运算得到历史操作者的数字身份,之后向群组管理系统查询数字身份对应的身份id即得到历史操作者;

所述组内成员安全撤销,具体实现过程是:当群组管理者撤销某成员账户时,利用当前群组密钥重新计算得到新的群组密钥并为每位合法成员生成新的成员私钥,并发放密钥;审计系统将利用生成的特殊成员身份所对应的成员私钥对被撤销成员上传、操作的数据进行重新签名。

本发明相比现有技术,其优点和积极效果主要体现在如下几个方面:

(1)本方案将审计功能外包给具有可信力的第三方,审计系统代替云存储系统进行审计功能,减轻了云存储系统的额外计算开销。数据分析系统产生的数据状态信息不但能够有效支持群组管理系统对群组成员进行有效的管控,而且其本身为持续审计元数据,即审计系统用于校验完整性检查的数据结构的大小独立于成员数量和数据大小,提高了云存储系统和审计系统的空间的利用率。

(2)在本系统的设计中,数据分析系统产生的验证信息使得审计系统在不需要全部共享数据的情况下进行数据完整性验证,这种模式不但能够支持成员对数据进行完全动态的操作,而且降低了审计系统和云存储系统的通信传输量。

(3)数据分析系统产生的状态信息、验证信息支持成员对共享数据进行完全动态的数据操作,并且能够在保证群组成员的隐私信息的前提下支持对共享数据追溯历史操作者。

附图说明

图1为本发明实施例的系统整体架构图。

图2为本发明实施例的方法中群组创建原理图。

图3为本发明实施例的方法中群组成员注册原理图。

图4为本发明实施例的方法中共享数据分析计算与上传原理图。

图5为本发明实施例的方法中共享数据审计原理图。

图6为本发明实施例的方法中共享数据追溯原理图。

图7为本发明实施例的方法中组内成员安全撤销原理图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。

请见图1,本发明提供的一种支持公开完整性校验的数据共享系统,包括群组管理系统、数据分析系统、审计系统、云存储系统;

本实施例的群组管理系统,用于群组管理者管理群组成员,管理者可对成员的操作包括注册群组新成员、安全撤销成员的账户;

本实施例的数据分析系统,用于成员向云存储系统上传需要共享的数据,该系统将对数据进行分析计算,以生成支持验证数据完整性和保证数据的可追溯性的相关信息,其中用于验证数据完整性的信息将会和共享数据被发送到云存储系统存储,保证数据可追溯性的相关信息和用于验证数据完整性的部分信息将会被分别发送到第三方审计系统和云存储系统存储;

本实施例的第三方审计系统,部署于可信的第三方用于代理成员发起的数据完整性验证请求,待自身收到云存储系统的回复信息后,该系统将利用这些信息与存储在审计系统的状态信息进行运算以回复发起者审计结果。

本实施例的云存储系统,用于存储共享数据和数据对应的验证信息与状态信息。

请见图2-图7,本发明提供的一种支持公开完整性校验的数据共享方法,包括群组创建、群组成员注册、共享数据分析计算与上传、共享数据审计、共享数据更新、共享数据追溯和组内成员安全撤销;

请见图2,本实施例中群组创建具体实现过程是:群组管理系统将为自身管理的群组生成群组密钥和一个特殊群组成员身份,之后群组公钥将被发放至审计系统存储公开,而群组私钥和特殊群组成员的信息则被存储在群组管理系统。

其中,生成群组密钥的具体算法为:

(1)选取为两个阶为素数p的乘法循环群,定义g为群的生成元,定义为两个加密散列函数,定义双线性映射同时该映射需要满足以下三个条件;

1)双线性:都有

2)非简并性:

3)计算有效性:组和双线性映射上的操作是有效计算;

其中,表示任意比特流,表示正整数集合,表示模p形成的正整数集合,表示群的单位元,e(ua,vb)表示双线性映射运算;

(2)假设群的阶为素数p的,p的长度为λ比特;

(3)选择两个随机生成器g,h,且

(4)选择三个随机的元素α,β,η且计算v:=hα,w:=h,a:=e(η,h);其中,w、a均为群组公钥的组成部分,:=表示定义为;

(5)群组公钥pk=(g,h,v,w,a),群组私钥sk=(α,β,η);其中,pk发送至云审计系统,sk存储在本地;生成特殊成员账号的方法与群组成员注册中描述一致,不同在于该身份仅由群组管理员持有,用于对被撤销成员签署过的数据重新签名。

请见图3,本实施例中群组成员注,具体实现过程是:群组管理系统利用群组公私钥对、成员指定的登录id和密码为成员注册合法的账户,每个账户拥有将会有唯一的数字身份和成员私钥与之对应,上述的账户信息存储在群组管理系统中用于后续操作;

其中,成员私钥和数字身份的具体生成步骤为:

(1)选定群组成员登录id和登录口令∈{0,1}*

(2)选择一个随机元素xid,并计算其中,xid、yid、zid为成员私钥,xid和yid表示用户的签名私钥,zid表示用户的解密私钥;hg(id)β表示将成员登陆id哈希为群的元素,然后此计算此元素的β次幂;

(3)计算cid:=e(yid,v);其中,cid表示成员的数字身份;

(4)设置成员私钥ukid:=(xid,yid,zid)和数字身份certid:=cid。

请见图4,本实施例中共享数据分析计算与上传,具体实现过程是:对群组成员共享的数据进行分析计算生成对应的验证信息并利用成员私钥、群组公钥和验证信息生成状态信息,云存储系统存储共享数据、验证信息及状态信息,审计系统仅保留状态信息;

其中,生成数据认证信息的具体步骤为:

(1)将需要分析的数据分为d个数据块

(2)选择s个随机生成器g1,…,gs∈g;

(3)对于每个数据块di,计算其中,表示第i个数据块的第j段,ui相当于第i个数据块的摘要信息,将进一步参与(4)中的运算;

(4)建立一颗完整二叉树τ,拥有d个叶节点,每个节点存储一个vl=(l,ll,sl),其中l是树中节点的唯一索引,ll是第l个节点可以到达的叶节点数,sl是散列值;根节点的索引值为1,索引从上到下、从左到右均为递增;对于树中索引为li的第i个叶节点,设置ll=1并计算对于树中指数为l的每个非叶节点,分别计算li:=l2l+l2l+1和sl:=h(v2l||v2l+1),其中,v2l=(2l,l2l,s2l)和v2l+1=(2l+1,l2l+1,s2l+1)分别为vl的左孩子和右孩子;

6)生成认证信,息ui、元数据

状态信息的生成方法为:

(1)选定成员私钥ukid,数字身份certid和认证信息中的元数据m;

(2)选择两个随机元素计算其中,c1、c2、c3、c4分别表示密文;

(3)选择六个随机元素计算

其中,r1、r2、r3、r4、r5、r6、r7、r8分别表示承诺值;

(4)计算哈希值:c:=hz(m,c1,c2,c3,c4,r1,r2,r3,r4,r5,r6,r7,r8);其中,c表示挑战值;

(5)计算其中,sx、sξ和密文c1~c4组成签名;

(6)生成签名m和签名整合在一起称为状态信息。

其中,云存储系统生成证明信息的具体步骤为:

(1)审计系统选择b个随机索引和b个随机数生成数据抽查信息其中ib表示被挑战块的索引,是一个系数,b是被挑战的块的数量;

(2)云存储系统接受来自审计系统的数据抽查信息;

(3)云存储系统计算并得到其中,表示第ib个数据块的摘要信息,表示第ib个数据块的第j段;

(4)云存储系统计算并得到其中,μj表示证明值;

(5)云存储系统计算从根结点到被挑战叶结点的路径,以及该路径上结点的兄弟结点θ;

(6)云存储系统输出证明信息并将其发送至审计系统。

请见图5,本实施例中共享数据审计,具体实现过程是:当群组成员向审计系统发起数据完整性校验请求时,审计系统向云存储系统根据自身存储的共享数据、验证信息、状态信息和收到的抽查信息生成证明信息回复给审计系统,审计系统将对证明信息的有效性进行检查以校验数据的完整性,结果回复给审计发起者;

其中,审计系统校验证明信息合法性的具体步骤为:

(1)将解析为θ和

(2)如果不成立,则返回0;

(3)对每个uib,计算

(4)根据θ和重建根,其中,如果重建根与v1不相等,则返回0;

(5)若上述步骤均为通过,说明证明信息合法有效,即云端数据的完整性并未被破坏。

本实施例中共享数据更新,具体实现过程是:当群组成员试图更新(包括删除、插入、修改)已经上传至云存储系统的数据时,需要对被修改的数据块进行重新运算、签名生成新的验证信息、状态信息。在本步骤需要和原本的共享数据块进行对比找出哪些数据块被修改并且对被修改的块重新计算以重构认证信息,而生成签名信息时所用到的成员私钥为当前的数据操作者私钥。

请见图6,本实施例中共享数据追溯,具体实现过程是:当群组成员对共享数据发起追溯请求获取数据的历史操作者时,向审计系统请求数据对应的状态信息,通过对状态信息和追溯请求者的成员私钥解析运算得到历史操作者的数字身份,之后向群组管理系统查询数字身份对应的身份id即得到历史操作者;

其中,对状态信息的具体解析步骤为:

(1)选定追溯发起者成员私钥ukid和追溯对象的签名σ;

(2)计算此时c对应上次数据操作者的数字身份。

请见图7,本实施例中组内成员安全撤销,具体实现过程是:当群组管理者因为某些原因需要撤销某成员账户时,需要利用当前群组密钥重新计算得到新的群组密钥并为每位合法成员生成新的成员私钥,并且按共享数据分析计算与上传、共享数据审计中的方式发放密钥。而为了维护数据的可追溯性,审计系统将利用共享数据分析计算与上传中生成的特殊成员身份所对应的成员私钥对被撤销成员上传、操作的数据进行重新签名。

其中,生成新群组密钥、成员私钥的具体方法为:

(1)选定群组私钥sk、被撤销成员登录id和成员私钥ukid;

(2)选择两个随机元素β″,η″,且设置更新后的私钥为sk′=(α,β′,η′);其中,β′:=β+β″,η′:=η″;

(3)设置更新后的公钥为:pk′=(g′,h,v,w′,a′);其中,w′:=h,a′:=e(η′,h);

(4)对于每个未撤销的成员id*,设置更新后的成员秘钥为对于数据上次操作者为被撤销的成员的数据,其数据上次操作者的数字身份更新为其中,

本发明提供了一种支持公开完整性校验的数据共享系统及方法,本发明支持共享数据的无块完整性验证,有效的减小了数据完整性验证过程中的计算的存储开销,实现群组成员对进行数据完全动态的操作,满足了群组合作模式下群组成员对匿名性和可追溯性的需求。与此同时,通过具体实施方式中所描述的状态信息生成方案支持群组管理员对群组成员进行有效管控。解决了当前数据完整性校验方案存在的种种问题,并实现了用户可控的完整性审计方式,大大增强了用户对共享数据完整性的感知和监督能力,在一定程度上有利于云端数据的完整性保护。

应当理解的是,本说明书未详细阐述的部分均属于现有技术。

应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

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