1.一种基于生物特征的云数据完整性验证方法,其特征在于:包括如下步骤:步骤S100,系统初始化:
步骤S101,云服务器运行系统初始化算法,输入一个安全参数l,该算法即可输出一个安全的大素数p和两个以p为阶的乘法循环群G和GT,且g为群G的一个生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G,H是一个哈希函数;
步骤S102,密钥生成中心服务器随机生成系统主密钥y,并根据主密钥y计算参数g1发送给云服务器,即g1=gy∈G;
步骤S103,云服务器随机选择g2∈G,并根据g1,g2,计算参数A=e(g1,g2),定义m为该系统中描述一个生物特征身份的最大属性数,集合M={1,2,...,m+1};随机选择随机元素t1,...,tm+1∈G,计算函数 随机选择整数z∈Zp,计算参数v=gz,选取整数d作为模糊匹配精度;其中,Zp为模p的循环群;
步骤S104,云服务器生成公共参数PP,即
PP=(l,p,G,GT,H,g1,g2,e,d,t1,…tm+1,T(x),v,A);
步骤S200,客户端向密钥生成中心服务器申请密钥;具体步骤是:步骤S201,客户端输入公共参数PP,并将自己的生物特征身份ω一同发送给密钥生成中心服务器;
步骤S202,密钥生成中心服务器收到客户端密钥申请后,为其生成一对签名密钥({Dk}k∈ω,{dk}k∈ω);
步骤S300,客户端上传数据至云服务器:
客户端为将要存储的文件F生成文件名Fn,并为文件F生成文件标签ft;然后将文件F的数据进行预处理、分块,得到分块文件{mij}1≤i≤n,1≤j≤s,并为分块文件{mij}1≤i≤n,1≤j≤s中的数据块mi(1≤i≤n)计算数据块标签 然后将文件标签ft、分块文件{mij}1≤i≤n,1≤j≤s、数据块标签 级联生成上传文件F*,最后将上传文件F*存入云服务器;具体步骤是:
步骤S301,客户端为将要存储的文件F选择文件名Fn和s个随机数u1,...,us,并计算文件标签ft;
步骤S302,客户端用RS码为将要存储的文件F进行编码得到编码文件F′,然后将编码文件F′分成n个块,每一块分成s个部分,得到分块文件{mij}1≤i≤n,1≤j≤s;
步骤S303,客户端为分块文件{mij}1≤i≤n,1≤j≤s的数据块mi(1≤i≤n)计算数据块标签然后将文件标签ft、分块文件{mij}1≤i≤n,1≤j≤s、数据块标签级联生成上传文件 最后
将上传文件F*存入云服务器,同时本地删除数据;其中“||”为级联操作;
步骤S400,审计服务器对云服务器的验证过程:
客户端生成一个验证请求发送给审计服务器,审计服务器通过与云服务器的交互,验证云服务器发来的响应值,进而确定客户端的文件是否完整保存在云服务器上,最后,审计服务器生成验证报告发送给客户端;具体步骤是:步骤S401,客户端生成一个验证请求requ,发送给审计服务器,请求验证云服务器;
步骤S402,审计服务器验证客户端验证请求的有效性;验证请求有效则对相应的云服务器继续执行验证步骤;否则,拒绝客户端的验证请求;
步骤S403,审计服务器生成挑战值chal,并发送给云服务器;
步骤S404,云服务器收到挑战值chal后,生成响应值resp,并传给审计服务器;
步骤S405,审计服务器收到云服务器发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及采集到的客户端的新的生物特征身份ω'来验证响应值resp的有效性;
步骤S406,审计服务器根据验证结果发送验证报告给客户端,若验证成功,则发送验证成功;否则,发送验证失败;
步骤S407:当客户端需要验证云服务器上的数据完整性时,重复步骤S401-S406。
2.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S202的具体步骤为:密钥生成中心服务器从客户端上传的生物特征身份ω中提取出m个特征点,即属性;密钥生成中心服务器随机选择一个d-1阶多项式q,使得q(0)=y;然后,密钥生成中心服务器为生物特征身份的每个属性选择一个随机数rk(k∈ω),根据公式1和公式2为客户端计算密钥({Dk}k∈ω,{dk}k∈ω);
3.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S301中计算文件标签ft的具体步骤为:令文件标识t0=Fn||n||u1||...||us,客户端对文件标识t0进行签名,即计算t=Sign(t0),其中Sign是任意一个基于模糊身份签名算法;
最终,生成的文件标签为ft=t0||t。
4.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S303中数据块mi(1≤i≤n)的数据块标签 根据公式3、公式4和公式5计算得到:
5.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S401的具体步骤为:客户端根据公式6计算用户请求req,并用Sign算法签名,最后得到验证请求requ=req||Sign(req),并发送至审计服务器,请求验证云服务器;
req=IPaudit||ω'||ft (公式6);
其中,IPaudit表示云服务器IP地址,ω'表示采集到的客户端的新的生物特征身份,ft表示文件标签,“||”为级联操作。
6.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S402的具体步骤为:审计服务器收到客户端的验证请求时,用Sign算法验证验证请求的有效性;若有效,则提取生物特征身份ω',并验证|ω∩ω'|≥d是否成立;若成立,则验证请求有效,任取一个包含d个元素的集合 继续执行验证步骤;否则,拒绝客户端的验证请求。
7.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S403中审计服务器生成挑战值的具体步骤为:审计服务器随机选取一个整数c∈Zp(c≤n),并对每个1≤i≤c选择一个随机的元素vi∈Zp,根据公式7计算挑战值chal,并将挑战值chal发送至云服务器;
chal=ft||{(i,vi)}1≤i≤c (公式7)。
8.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S404中云服务器生成响应值resp的具体步骤为:云服务器根据公式8计算响应值resp;
其中,
9.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S405中审计服务器验证响应值resp的有效性的具体方法为:判断等式9是否成立,若等式9成立,则响应值resp有效,云服务器完整保存着客户端的数据;否则,响应值resp无效;
10.根据权利要求1-9任一所述的一种基于生物特征的云数据完整性验证方法的系统,其特征在于:包括云服务器、密钥生成中心服务器、客户端和审计服务器;所述客户端分别与云服务器、审计服务器、密钥生成中心服务器交互式连接,所述云服务器与所述审计服务器交互式连接。