利索能及
我要发布
收藏
专利号: 2017104672798
申请人: 陕西师范大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-10-14
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于属性的云数据审计方法,其特征在于,包括如下步骤:

步骤一、系统初始化,所述步骤一的具体步骤为:

步骤S101,云服务器运行系统初始化算法,输入一个安全参数l,该算法输出两个以p为阶的乘法循环群G1和G2,其中p是一个安全的大素数,乘法循环群G1的生成元是g;e:G1×G1→G2是一个双线性映射;H:{0,1}*→G1是一个抗碰撞的哈希函数;

步骤S102,密钥产生中心服务器随机选择一个系统主密钥y∈Zp,然后根据主密钥计算参数g1,并发送给云服务器;其中,Zp为循环群,该循环群的模数为安全的大素数p;

步骤S103,云服务器随机选择安全参数g2,h∈G1定义用户的属性集合M中最多包含m个Zp中的元素,属性集合M={1,2,...,m+1};在乘法循环群中选择随机元素t1,...,tm+1∈G1,计算函数T(x),用户端根据需要随机选取整数d作为审计精度发送给云服务器;

步骤S104,云服务器生成系统公钥,即mpk={g,g1,g2,h,t1,…,tm+1};

步骤二、用户端向密钥产生中心服务器申请私钥;所述步骤二的具体步骤为:步骤S201,用户端输入系统公钥mpk,并将自己的属性身份A一同发送给密钥产生中心服务器;

步骤S202,密钥产生中心服务器收到用户端密钥申请后,为其生成私钥sskA=({Dk}k∈A,{dk}k∈A);

步骤三、用户端上传数据至云服务器:

用户端选择文件名为name的文件F进行上传,首先为该文件生成一个文件标签τ;然后对该文件F进行预处理、将文件分成数据块,并为每个数据块生成认证子*, *

然后用文件标签、数据块和认证子生成上传文件F ,最后将上传文件F存入云服务器;所述步骤三的具体步骤为:步骤S301,用户端选择一个文件名为name的文件F,首先挑选s个随机数u1,…,us∈G1来为文件生成文件标签τ;

步骤S302,用户端用纠删码为文件F进行编码得到编码文件F′,然后将编码文件F′分成n个数据块{mi}1≤i≤n,再将每一个数据块分成s个部分,得到分块文件{mij}1≤i≤n,1≤j≤s;

步骤S303,用户端为数据块{mi}1≤i≤n计算数据块标签 然后将用户属性身份A、文件标签τ、分块文件{mij}1≤i≤n,1≤j≤s和数据块标签 生成上传文件 最后将上传文件F*存入云服务器,同时本地删除备份文件;

步骤四、审计服务器对云服务器的验证:

用户端生成一个审计请求发送给审计服务器;审计服务器与云服务器交互,云服务器先验证当前的审计属性集合是否有审计权限,然后生成响应值发给审计服务器;审计服务器验证云服务器发来响应值是否有效,进而确定用户端的文件是否完整保存在云服务器上,最后,审计服务器生成验证报告发送给审计者;所述步骤四的具体步骤为:步骤S401,用户端产生一个审计属性集合B,并根据审计属性集合B和一些相关信息生成一个审计请求requ,发送给审计服务器,请求验证云服务器;

步骤S402,审计服务器生成挑战值chal,并发送给云服务器;

步骤S403,云服务器验证审计属性集合B的有效性,验证通过则生成相应的响应值resp,否则,拒绝用户端的审计请求;

步骤S404,审计服务器收到云服务器发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及审计属性集合B来验证响应值resp的有效性;

步骤S405,审计服务器根据验证结果发送验证报告给审计者,若验证成功,则发送验证成功;否则,发送验证失败;

步骤S406,当用户端或其他审计者需要验证云服务器上的数据完整性时,重复步骤S401-S406。

2.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S102中产生主密钥计算参数g1的具体步骤为:利用生成元g和主密钥y,按如下方式g1=gy∈G1。

3.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S103的计算函数T(x)的具体步骤为:设置函数T(x)为 其中是拉格朗日系数。

4.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S202的具体步骤为:密钥产生中心服务器从用户端上传的属性集合A中提取出m个属性;密钥产生中心服务器随机选择一个d-1阶多项式q(x),使得q(0)=y,其中,y是系统的主密钥;然后,密钥产生中心服务器为属性身份的每个属性选择一个随机数rk(k∈A),根据公式1和公式2为用户端计算私钥sskA=({Dk}k∈A,{dk}k∈A);

其中,q(k)是以k作为自变量的多项式q(x)的值;T(k)是步骤S103中定义的函数T(x),以k作为自变量的函数值。

5.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S301中计算文件标签τ的具体步骤为:令文件标识τ0=name||n||u1||…||us,用户端对文件标识τ0进行签名,即计算Sign(τ0),其中Sign是一个任意选取的基于属性的签名算法;最终,生成的文件标签为τ=τ0||Sign(τ0)。

6.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S303中数据块{mi}1≤i≤n的认证子 根据公式3、公式4和公式5计算得到:其中,Dk是步骤S202中计算私钥的一部分;H(name||i)是以name和i级联作为自变量的哈希函数H的函数值;uj(1≤j≤s)是步骤S301中选取的随机数; 是对于1≤j≤s的做连乘运算。

7.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S401的具体步骤为:用户端根据公式6计算用户请求req,并用Sign算法签名,最后得到审计请求requ=req||Sign(req),并发送至审计服务器,请求验证云服务器数据的完整性;

req=IPaudit||B||τ (公式6);

其中,IPaudit表示云服务器IP地址,B表示审计属性集合,τ表示文件标签,“||”为级联操作。

8.根据权利要求1所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S402的具体步骤为:审计服务器收到用户端的审计请求时,审计服务器随机选取一个整数c∈Zp(c≤n)(其中,n代表S302步骤中的数据块的个数),并对每一个1≤i≤c选择一个随机的元素vi∈Zp作为随机挑战;根据公式7计算挑战值chal,并将挑战值chal发送给云服务器;

chal=τ||B||{(i,vi)}1≤i≤c (公式7)

其中,“||”为级联操作,在{(i,vi)}1≤i≤c中,i是一个计数变量,vi是随机挑战。

9.根据权利要求8所述的一种基于属性的云数据审计方法,其特征在于:所述步骤S403中验证审计属性集合B有效性的具体步骤为:首先验证审计请求签名的有效性;若有效,则提取审计属性集合B,并验证|A∩B|≥d是否成立;若成立,则审计请求有效,任取一个包含d个元素的交集集合 继续生成响应值,否则,拒绝审计请求;

所述步骤S403中云服务器生成响应值resp的具体步骤为:根据划分的集合对于所有的k∈S(其中,k是一个计数变量),云服务器根据公式8计算

对于所有的k∈B\S(其中,k是计数变量,S是交集集合,B是审计属性集合),云服务器根据公式9计算 最后根据公式10计算响应值resp;

其中,1/△k、B\S(0)是步骤3中定义的拉格朗日系数的倒数;

其中, (vi

是步骤S402中审计服务器选择的随机挑战,mij是被审计服务器挑战的分块数据)。

10.根据权利要求1-9任一所述的一种基于属性的云数据审计方法的系统,其特征在于:包括云服务器、密钥产生中心服务器、用户端和审计服务器;所述用户端分别与云服务器、审计服务器、密钥产生中心服务器交互式连接,所述云服务器与所述审计服务器交互式连接。