一种基于生物特征的云数据完整性验证方法及系统转让专利

申请号 : CN201610871538.9

文献号 : CN106487786B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 禹勇李艳楠杨波丁玉洁陶晓玲王勇

申请人 : 陕西师范大学

摘要 :

本发明涉及网络安全技术领域,具体涉及一种基于生物特征的云数据完整性验证方法及系统,本发明的方法包括:系统初始化,生成公共参数。客户端上传生物特征身份,密钥生成中心服务器为用户生成密钥。客户端上传文件和标签至云服务器。审计服务器发送挑战值给云服务器,云服务器利用挑战值、用户数据和标签计算响应值发送给审计服务器,审计服务器验证响应值的有效性以检查云服务器是否完整地保存着客户端的数据。本发明简化了传统验证协议中复杂的密钥管理负担,降低了系统复杂性;同时,提供了基于身份云数据完整性审计方案所不具备的容错性,使得该方法更具实用性。本发明还涉及一种基于生物特征的云数据完整性验证方法的系统。

权利要求 :

1.一种基于生物特征的云数据完整性验证方法,其特征在于:包括如下步骤:步骤S100,系统初始化:

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

步骤S102,密钥生成中心服务器随机生成系统主密钥y,并根据主密钥y计算参数g1发送y给云服务器,即g1=g∈G;

步骤S103,云服务器随机选择g2∈G,并根据g1,g2,计算参数A=e(g1,g2),定义m为该系统中描述一个生物特征身份的最大属性数,集合M={1,2,...,m+1};随机选择随机元素t1,...,tm+1∈G,计算函数 其中,x是函数T(x)的自变量;随机选择整数z∈Zp,计算参数γ=gz∈G,选取正整数d作为模糊匹配精度;其中,Zp为模p的循环群;

步骤S104,云服务器生成公共参数PP,即

PP=(l,p,G,GT,H,g1,g2,e,d,t1,...tm+1,T(x),γ,A);

步骤S200,客户端向密钥生成中心服务器申请密钥;具体步骤是:

步骤S201,客户端输入公共参数PP,并将自己的生物特征身份集合ω一同发送给密钥生成中心服务器;

步骤S202,密钥生成中心服务器收到客户端密钥申请后,密钥生成中心服务器从客户端上传的生物特征身份ω中提取出m个特征点,即属性;密钥生成中心服务器随机选择一个d-1阶多项式q(x),使得q(0)=y;然后,密钥生成中心服务器为生物特征身份的每个属性选择一个随机数rk(k∈ω),根据公式1和公式2为客户端计算签名密钥({Dk}k∈ω,{dk}k∈ω);其中,k为用户生物特征身份集合ω中的任一个分量;

其中,q(k)是多项式q(x)在自变量为k时的函数值,k为用户生物特征身份集合ω中的任一个分量;

步骤S300,客户端上传数据至云服务器:

客户端为将要存储的文件F生成文件名Fn,并为文件F生成文件标签ft;然后将文件F进行编码得到编码文件F',将编码文件F'分成n个块,每一块分成s个部分,得到分块文件{mesij}1≤i≤n,1≤j≤s,并为分块文件{mesij}1≤i≤n,1≤j≤s中的数据块mesi(1≤i≤n)计算数据块标签 然后将文件标签ft、分块文件{mesij}1≤i≤n,1≤j≤s、数据块标签级联生成上传文件F*,最后将上传文件F*存入云服务器;具体步骤是:步骤S301,客户端为将要存储的文件F选择文件名Fn和s个随机数u1,...,us,并计算文件标签ft;

步骤S302,客户端用RS码为将要存储的文件F进行编码得到编码文件F',然后将编码文件F'分成n个块,每一块分成s个部分,得到分块文件{mesij}1≤i≤n,1≤j≤s;

步骤S303,客户端为分块文件{mesij}1≤i≤n,1≤j≤s的数据块mesi(1≤i≤n)计算数据块标签 然后将文件标签ft、分块文件{mesij}1≤i≤n,1≤j≤s、数据块标签级联生成上传文件 最

后将上传文件F*存入云服务器,同时本地删除数据;其中“||”为级联操作;

所述步骤S303中数据块mesi(1≤i≤n)的数据块标签 根据公式3、公式4和公式5计算得到:

其中,rk(k∈ω)是随机数,表示对用户生物特征身份集合ω中的任一分量k选取一个随机数;

步骤S400,审计服务器对云服务器的验证过程:

客户端生成一个验证请求发送给审计服务器,审计服务器通过与云服务器的交互,验证云服务器发来的响应值,进而确定客户端的文件是否完整保存在云服务器上,最后,审计服务器生成验证报告发送给客户端;具体步骤是:步骤S401,客户端生成一个验证请求requ,发送给审计服务器,请求验证云服务器;

步骤S402,审计服务器验证客户端验证请求的有效性;验证请求有效则对相应的云服务器继续执行验证步骤;否则,拒绝客户端的验证请求;

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

步骤S404,云服务器收到挑战值chal后,生成响应值resp,并传给审计服务器;

步骤S405,审计服务器收到云服务器发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及采集到的客户端的新的生物特征身份ω'来验证响应值resp的有效性;

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

步骤S407:当客户端需要验证云服务器上的数据完整性时,重复步骤S401-S406。

2.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S301中计算文件标签ft的具体步骤为:令文件标识t0=Fn||n||u1||...||us,客户端对文件标识t0进行签名,即计算t=Sign(t0),其中Sign是任意一个基于模糊身份签名算法;

最终,生成的文件标签为ft=t0||t。

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

req=IPaudit||ω'||ft    (公式6);

其中,IPaudit表示云服务器IP地址,ω'表示采集到的客户端的新的生物特征身份,ft表示文件标签,“||”为级联操作。

4.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S402的具体步骤为:审计服务器收到客户端的验证请求时,用Sign算法验证验证请求的有效性;若有效,则提取生物特征身份ω',并验证|ω∩ω'|≥d是否成立;若成立,则验证请求有效,任取一个包含d个元素的集合 继续执行验证步骤;否则,拒绝客户端的验证请求。

5.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S403中审计服务器生成挑战值的具体步骤为:审计服务器随机选取一个整数c∈Zp(c≤n),并对每个1≤i≤c选择一个随机的整数vi∈Zp,根据公式7计算挑战值集合chal,并将挑战值集合chal发送至云服务器;

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

6.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S404中云服务器生成响应值resp的具体步骤为:云服务器根据公式8计算响应值resp;

其中,

表示数据块mesi的三个数据块标签。

7.根据权利要求1所述的一种基于生物特征的云数据完整性验证方法,其特征在于:所述步骤S405中审计服务器验证响应值resp的有效性的具体方法为:判断等式9是否成立,若等式9成立,则响应值resp有效,云服务器完整保存着客户端的数据;否则,响应值resp无效;

其中 表示参数A的vi次方运算。

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

说明书 :

一种基于生物特征的云数据完整性验证方法及系统

技术领域

[0001] 本发明属于网络安全技术领域,具体涉及一种基于生物特征的云数据完整性验证方法及系统。

背景技术

[0002] 近年来,云计算越来越受到学术界和产业界的关注,是目前信息技术发展的重要趋势之一。云存储是从云计算衍生和发展出来的一种数据外包的存储服务技术,用户可以将数据存储到云端,享受云计算带来的按需服务。通过数据外包,用户无需购买、维护和管理相关硬件设备,只要在需要的时候访问云即可,省去了管理和维护的工作量和成本。在云存储环境下,用户将数据存储到不可信的云服务提供商的服务器当中,自己本地不再保存,数据的安全完全由服务器单方面来保证。然而,云服务提供商是以盈利为目的的,因此并非完全可信的。云服务器可能由于遭受黑客攻击、管理员操作不当、断电或宕机等缘故而造成用户数据完整性被破坏。但云服务提供商为了维护自己的声誉,刻意隐瞒或掩盖数据丢失事件。
[0003] 在云存储环境中,租户失去了对数据的控制权,因此直接利用传统的数据完整性验证技术如Hash函数或消息验证码需要从云端下载全部数据,必将带来巨大的通信代价。因此,外包云数据完整性检测的基本要求是客户只需取回少量数据,通过知识证明协议和概率分析手段,便能够以很大的概率相信数据完好地保存在云服务器上。云数据完整性验证协议便是检验云服务器是否完整地保存数据的新型技术,它包括三类实体:云数据用户,云服务器和第三方验证者。云数据完整性验证协议主要包括可证明数据拥有协议PDP(Provable Data Possession)和数据可回取证明协议PoR(Proof of Retrievability)。
[0004] 2007年,Ateniese等人首次提出了PDP的概念和其安全模型,同时,他还提出了两个高效的可证明安全的PDP方案,这两个方案都使用了基于RSA的同态可验证标签(HVT)。同态可验证标签可以将所有被挑战块的响应值聚合成单一值,极大降低云服务器和审计服务器之间的通信开销。随后,在2008年,Shacham和Waters利用纠删码设计了两个高效且紧致的PoR方案,并在Juels等人的安全模型下进行了严格的安全性论证。第一个方案的设计基于伪随机函数PRF,可以在标准模型下进行安全性证明,但只支持私有验证;第二个方案的构造基于BLS短签名,并且满足公开可验证。随后满足不同性质的云数据完整性验证方案也都被相继提出,如:支持动态操作、隐私保护和公开可验证等。
[0005] 上述的方案都是基于公钥基础设施PKI系统的,在一个完整的PKI系统中,包含以下组成部分:证书权威CA,为用户颁发数字证书;证书目录服务器,存放已发布的证书供用户进行检索和查询;证书废止列表CLS,存放已废弃的证书。在基于PKI的云数据完整性验证协议中,用户用自己的私钥对标签进行签名,在验证过程中,审计服务器需要申请用户的公钥证书并提取公钥,才能完成验证工作。因此,基于PKI的云数据完整性验证协议有两个明显的缺陷:首先,数字证书的发布、管理和吊销都为系统带来的极大的负担,由于每个用户需要事先申请数字证书,用户使用复杂,后台管理也异常繁琐;其次,证书权威CA可能不是完全可信的,而使用不可信的CA所颁布的数字证书将给用户带来极大的损失。
[0006] 解决上述问题的一个可选方式就是基于身份的云数据完整性验证协议。基于身份的密码学是Shamir在1984年首次提出的,直到2001年,D.Boneh等人提出了第一个真正实用的基于身份的加密方案。2005年以后,一系列基于身份的云数据完整性验证方案被相继提出。在基于身份的密码系统中,无需数字证书的参与,而是将密钥绑定用户的身份,而用户的身份被视为任意确定的字符串,如用户的姓名或邮箱地址等。虽然在基于身份的密码体制中,免去了复杂的证书管理负担,但是仍存在如下问题:(1)用户在使用自己声称的身份之前,需要向密钥产生中心提交额外的材料以证明自己的身份,过程复杂且耗时,并且证明材料也可能被造假;(2)用户在本地需要保存该身份串,增加了用户的管理负担。

发明内容

[0007] 为了解决现有技术中存在的上述问题,本发明提供了一种基于生物特征的云数据完整性验证方法及系统。本发明要解决的技术问题通过以下技术方案实现:
[0008] 一种基于生物特征的云数据完整性验证方法,包括如下步骤:
[0009] 步骤S100,系统初始化:
[0010] 步骤S101,云服务器运行系统初始化算法,输入一个安全参数l,该算法即可输出一个安全的大素数p和两个以p为阶的乘法循环群G和GT,且g为群G的一个生成元,e:G×G→GT是一个双线性映射,H:{0,1}*→G,H是一个哈希函数;其中,e:G×G→GT表示双线性映射e的两个输入参数是群G中的元素,双线性映射e的输出映射到群GT中;
[0011] 步骤S102,密钥生成中心服务器随机生成系统主密钥y,并根据主密钥y计算参数g1发送给云服务器,即g1=gy∈G;
[0012] 步骤S103,云服务器随机选择g2∈G,并根据g1,g2,计算参数A=e(g1,g2),定义m为该系统中描述一个生物特征身份的最大属性数,集合M={1,2,...,m+1};随机选择随机元素t1,...,tm+1∈G,计算函数 其中,x是函数T(x)的自变量。随机选择整数z∈Zp,计算参数γ=gz,选取正整数d作为模糊匹配精度;其中,Zp为模p的循环群;
[0013] 步骤S104,云服务器生成公共参数PP,即
[0014] PP=(l,p,G,GT,H,g1,g2,e,d,t1,...tm+1,T(x),γ,A);
[0015] 步骤S200,客户端向密钥生成中心服务器申请密钥;具体步骤是:
[0016] 步骤S201,客户端输入公共参数PP,并将自己的生物特征身份ω一同发送给密钥生成中心服务器;
[0017] 步骤S202,密钥生成中心服务器收到客户端密钥申请后,为其生成一对签名密钥({Dk}k∈ω,{dk}k∈ω);
[0018] 步骤S300,客户端上传数据至云服务器:
[0019] 客户端为将要存储的文件F生成文件名Fn,并为文件F生成文件标签ft;然后将文件F进行编码得到编码文件F',将编码文件F'分成n个块,每一块分成s个部分,得到分块文件{mesij}1≤i≤n,1≤j≤s,并为分块文件{mesij}1≤i≤n,1≤j≤s中的数据块mesi(1≤i≤n)计算数据块标签 然后将文件标签ft、分块文件{mesij}1≤i≤n,1≤j≤s、数据块标签级联生成上传文件F*,最后将上传文件F*存入云服务器;具体步骤是:
[0020] 步骤S301,客户端为将要存储的文件F选择文件名Fn和s个随机数u1,...,us,并计算文件标签ft;
[0021] 步骤S302,客户端用RS码为将要存储的文件F进行编码得到编码文件F',然后将编码文件F'分成n个块,每一块分成s个部分,得到分块文件{mesij}1≤i≤n,1≤j≤s;
[0022] 步骤S303,客户端为分块文件{mesij}1≤i≤n,1≤j≤s的数据块mesi(1≤i≤n)计算数据块标签 然后将文件标签ft、分块文件{mesij}1≤i≤n,1≤j≤s、数据块标签级联生成上传文件 最
后将上传文件F*存入云服务器,同时本地删除数据;其中“||”为级联操作;
[0023] 所述步骤S303中数据块mesi(1≤i≤n)的数据块标签 根据公式3、公式4和公式5计算得到:
[0024]
[0025]
[0026]
[0027] 步骤S400,审计服务器对云服务器的验证过程:
[0028] 客户端生成一个验证请求发送给审计服务器,审计服务器通过与云服务器的交互,验证云服务器发来的响应值,进而确定客户端的文件是否完整保存在云服务器上,最后,审计服务器生成验证报告发送给客户端;具体步骤是:
[0029] 步骤S401,客户端生成一个验证请求requ,发送给审计服务器,请求验证云服务器;
[0030] 步骤S402,审计服务器验证客户端验证请求的有效性;验证请求有效则对相应的云服务器继续执行验证步骤;否则,拒绝客户端的验证请求;
[0031] 步骤S403,审计服务器生成挑战值chal,并发送给云服务器;
[0032] 步骤S404,云服务器收到挑战值chal后,生成响应值resp,并传给审计服务器;
[0033] 步骤S405,审计服务器收到云服务器发来的响应值resp后,根据自己发送的挑战值chal,云服务器的响应值resp以及采集到的客户端的新的生物特征身份ω'来验证响应值resp的有效性;
[0034] 步骤S406,审计服务器根据验证结果发送验证报告给客户端,若验证成功,则发送验证成功;否则,发送验证失败;
[0035] 步骤S407:当客户端需要验证云服务器上的数据完整性时,重复步骤S401-S406。
[0036] 进一步的,所述步骤S202的具体步骤为:密钥生成中心服务器从客户端上传的生物特征身份ω中提取出m个特征点,即属性;密钥生成中心服务器随机选择一个d-1阶多项式q,使得q(0)=y;然后,密钥生成中心服务器为生物特征身份的每个属性选择一个随机数rk(k∈ω),根据公式1和公式2为客户端计算签名密钥({Dk}k∈ω,{dk}k∈ω);
[0037]
[0038]
[0039] 进一步的,所述步骤S301中计算文件标签ft的具体步骤为:令文件标识t0=Fn||n||u1||...||us,客户端对文件标识t0进行签名,即计算t=Sign(t0),其中Sign是任意一个基于模糊身份签名算法;最终,生成的文件标签为ft=t0||t。
[0040] 进一步的,所述步骤S401的具体步骤为:客户端根据公式6计算用户请求req,并用Sign算法签名,最后得到验证请求requ=req||Sign(req),并发送至审计服务器,请求验证云服务器;
[0041] req=IPaudit||ω'||ft(公式6);
[0042] 其中,IPaudit表示云服务器IP地址,ω'表示采集到的客户端的新的生物特征身份,ft表示文件标签,“||”为级联操作。
[0043] 进一步的,所述步骤S402的具体步骤为:审计服务器收到客户端的验证请求时,用Sign算法验证验证请求的有效性;若有效,则提取生物特征身份ω',并验证|ω∩ω'|≥d是否成立;若成立,则验证请求有效,任取一个包含d个元素的集合 继续执行验证步骤;否则,拒绝客户端的验证请求。
[0044] 进一步的,所述步骤S403中审计服务器生成挑战值的具体步骤为:审计服务器随机选取一个整数c∈Zp(c≤n),并对每个1≤i≤c选择一个随机的元素vi∈Zp,根据公式7计算挑战值chal,并将挑战值chal发送至云服务器;
[0045] chal=ft||{(i,vi)}1≤i≤c(公式7)。
[0046] 进一步的,所述步骤S404中云服务器生成响应值resp的具体步骤为:云服务器根据公式8计算响应值resp;
[0047]
[0048] 其中,
[0049] 进一步的,所述步骤S405中审计服务器验证响应值resp的有效性的具体方法为:判断等式9是否成立,若等式9成立,则响应值resp有效,云服务器完整保存着客户端的数据;否则,响应值resp无效;
[0050]
[0051] 其中 表示参数A的vi次方运算。
[0052] 一种基于生物特征的云数据完整性验证方法的系统,包括云服务器、密钥生成中心服务器、客户端和审计服务器;所述客户端分别与云服务器、审计服务器、密钥生成中心服务器交互式连接,所述云服务器与所述审计服务器交互式连接。
[0053] 与现有技术相比,本发明的有益效果:
[0054] (1)安全性高:异于传统的基于PKI或基于确定身份的验证方案,本发明中,采用基于生物特征的身份,生物特征身份自身具有的优良性质,使得生物特征识别技术具有不易遗忘、随身“携带”和随时可用等优点,同时具有很高的防伪性、不易伪造或被盗,因此基于生物特征的云数据完整性验证方法可以提供更高的安全性。
[0055] (2)密钥管理代价低:在基于公钥基础设施和基于身份的云数据完整性验证协议中,客户端和验证者都需要保存公钥证书或身份标识符,故而承担复杂的密钥管理代价。本发明中,由于生物特征身份固有的广泛性、稳定性和唯一性,使得客户端无需保存其他冗余数据,大大降低了云数据验证协议的密钥管理代价。
[0056] (3)容错性:由于同一生物特征的多次采样具有噪声点,因此传统的精确匹配的云数据完整性验证方案已不适用。本发明中,借鉴密码学中“秘密共享”的思想,使得两个身份无需完全匹配,而只需要两个身份的相似属性达到一定数目时,即可完成验证工作,使得本发明的验证方法具备容错性。

附图说明

[0057] 图1是本发明的云数据完整性验证流程示意图。
[0058] 图2是本发明的客户端在上传数据时文件处理流程示意图。

具体实施方式

[0059] 下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
[0060] 本发明以密码学理论为基础,提供一种基于生物特征的云数据完整性验证的实现方法。相对于传统的基于PKI或基于确定身份的云数据完整性验证方法,本发明方法能提供更高的安全性,同时,客户端和第三方验证者都无需维护数字证书,也无需保存身份标识符即可完成验证,大大减少了系统的密钥管理负担。本方案提供的容错性可以完美应对生物特征身份在两次采样中的不完全匹配问题。因此本发明不仅对云计算的发展有促进作用,同时具有诸多理论意义和现实意义。
[0061] 首先对本发明所应用的密码学理论进行简单介绍:
[0062] (1)哈希函数(Hash函数)
[0063] Hash函数又称为散列函数、杂凑函数,可以把任意长的输入消息变换成固定长的输出消息,这个输出值称为该消息的Hash值。它通常用来产生消息、数据块和文件的短的“指纹”,主要用于完整性校验和提高数字签名的有效性。一个安全的Hash函数应该至少满足以下几个条件;
[0064] a)可计算性:给定一个输入串x,H(x)可以在|x|的低阶多项式时间内计算出。
[0065] b)单向性:对于任意给定的Hash值h,想要找到一个输入串x,使得h=H(x)在计算上是不可行的;
[0066] c)抗弱碰撞性:对于任意给定的输入串x,想要找到另一个输入串x≠y,使得H(x)≠H(y)在计算上是不可行的;
[0067] d)抗强碰撞性:找到任意的x,y,其中x≠y,使得H(x)=H(y)在计算上是不可行的;
[0068] 本发明中的抗碰撞的Hash函数H,是将任意长的0和1组成的比特串映射到椭圆曲线上的乘法循环群G上。
[0069] (2)双线性对
[0070] 假设G和GT是阶为p的两个乘法循环群,g是群G的生成元。如果映射e:G×G→GT满足以下三个条件,则称为双线性对。
[0071] a)可计算性:e的计算是有效的。
[0072] b)双线性:对于任意的a,b∈Zp,称为e(ga,gb)=e(g,g)ab;
[0073] c)非退化性:对于G中的生成元g,满足e(g,g)≠1;
[0074] 本发明中的双线性对都是满足上述性质的双线性对,这样的双线性对可以通过有限域上的超奇异椭圆曲线的Tate或Weil对来构造。
[0075] (3)Shamir秘密共享
[0076] 秘密共享是一种将秘密分割存储的密码技术,目的是阻止重要或敏感的秘密过于集中,以达到分散风险和容忍入侵的目的,是信息安全和数据保密中的重要手段。秘密共享的概念是Shamir在1979年提出的,Shamir秘密共享方案通过使用拉格朗日插值多项式构造的。一个(k,n)秘密共享方案是按照如下步骤实现的:选取n个参与者参与游戏,构造一个k-1次多项式,并将所要共享的秘密s0作为这个多项式的常数项,随机选取n个自变量xi(1≤i≤n)计算该多项式的值yi作为秘密份额(xi,yi),并将这n个秘密份额分别分给个参与者。在秘密恢复阶段,任何k个或k个以上的合法参与者合作利用插值公式即可以恢复出所共享的秘密s0,但少于k个参与者合作不能得到关于共享秘密的任何信息。
[0077] 本发明中,利用Shamir秘密共享的思想,使方案具备容错性,进而实现生物特征身份的模糊匹配即可完成验证的功能。本发明的目的在于:针对云环境中,用户的数据可能被云服务器篡改、删除等问题及传统的基于PKI或基于确定身份的云数据完整性验证协议中复杂的密钥管理问题,提出了一种基于生物特征的云数据完整性验证的实现方法。生物特征固有的不易伪造、盗取等性质,使得基于生物特征的云数据完整性验证协议能够提供更高的安全性。同时,相对于传统的云数据完整性验证协议,本发明免去了维护数字证书或保存身份标识符的麻烦,因为生物特征的身份不易遗忘、可随身“携带”,随时可用。因此,本发明中的基于生物特征的云数据完整性验证方法可以大大降低客户端也即是用户的密钥管理负担。因此该发明成果对于促进云计算的健康、可持续发展不仅具有重要的理论意义,更有很大的实用价值。
[0078] 如图1和图2所示,一种基于生物特征的云数据完整性验证方法,具体步骤如下:
[0079] 步骤S100.系统初始化
[0080] 密钥生成中心服务器40选择主密钥,云服务器10生成公共参数PP,本过程的具体步骤如下:
[0081] 步骤S101:云服务器10运行系统初始化算法,输入一个安全的参数l,该算法即可输出一个安全的大素数p和两个以p为阶的乘法循环群G和GT,且g为群G的一个生成元,e:G×G→GT是一个双线性映射。H是一个哈希函数,H:{0,1}*→G。其中,e:G×G→GT表示双线性映射e的两个输入参数是群G中的元素,双线性映射e的输出映射到群GT中。
[0082] 步骤S102:密钥生成中心服务器40随机生成y∈Zp作为系统主密钥,并根据主密钥y计算参数g1发送给云服务器10,参数的g1的计算公式为g1=gy∈G。
[0083] 步骤S103:云服务器10随机选择g2∈G,并根据g1,g2,计算参数A=e(g1,g2)。定义m为该系统中描述一个生物特征身份的最大属性数,集合M={1,2,...,m+1}。随机选择t1,...,tm+1∈G,计算函数 其中,x是函数T(x)的自变量。随机选择整数z∈Zp,计算参数γ=gz,选取正整数d作为模糊匹配精度。
[0084] 步骤S104:云服务器10生成公共参数PP,即
[0085] PP=(l,p,G,GT,H,g1,g2,e,d,t1,...tm+1,T(x),γ,A)。
[0086] 步骤S200.客户端20向密钥生成中心服务器40申请密钥
[0087] 客户端20向密钥生成中心服务器40提出密钥申请,同时向密钥生成中心服务器40上传自己的生物特征身份ω,经密钥生成中心服务器40验证后,为其生成密钥对。本过程的具体步骤如下:
[0088] 步骤S201:客户端20输入公共参数PP,并将自己的生物身份ω一同发送给密钥生成中心服务器40;
[0089] 步骤S202:密钥生成中心服务器40收到客户端20的密钥申请后,首先从客户端20上传的生物特征身份ω中提取出m个特征点(即属性);密钥生成中心服务器40随机选择一个d-1阶多项式q使得,q(0)=y。随后,密钥生成中心服务器40对生物特征身份的每个属性选择一个随机数rk(k∈ω),根据公式1和公式2为客户端20计算签名密钥({Dk}k∈ω,{dk}k∈ω);
[0090]
[0091]
[0092] 步骤S300.客户端20上传数据至云服务器10
[0093] 客户端20为将要存储的文件F生成文件名Fn,并为文件F生成文件标签ft;然后将文件F的数据进行预处理、分块,得到分块文件{mesij}1≤i≤n,1≤j≤s,并为分块文件{mesij}1≤i≤n,1≤j≤s中的数据块mesi(1≤i≤n)计算数据块标签 然后将文件标签ft、分块文件{mesij}1≤i≤n,1≤j≤s、数据块标签 级联生成上传
文件F*,最后将上传文件F*存入云服务器10,同时删除本地文件。本过程的具体步骤如下:
[0094] 步骤S301:客户端20为将要存储的文件F选择文件名Fn;令文件标识t0=Fn||n,对文件标识t0进行签名,即计算t=Sign(t0),最终生成文件标签ft=t0||t。
[0095] 步骤S302:客户端20用RS(Reed-solomon codes,里所码)码为将要上传的文件进行编码得到编码文件F',然后将编码文件F'分成n个块,每一块分成s个部分,得到分块文件{mesij}1≤i≤n,1≤j≤s。
[0096] 步骤S303:客户端20为分块文件{mesij}1≤i≤n,1≤j≤s的数据块mesi(1≤i≤n)根据公式3、公式4和公式5计算数据块标签。最后将文件标签、分块文件、数据块标签级联,生成上传文件 并将上传文件F*存入云服务器10,同时本地删除所有数据;
[0097]
[0098]
[0099]
[0100] 步骤S400.审计服务器30对云服务器10的验证过程
[0101] 客户端20生成一个验证请求发送给审计服务器30,审计服务器30通过与云服务器10的交互,最后验证云服务器10的响应值,进而确定客户端20的文件是否完整保存在云服务器10上,审计服务器30生成验证报告发送给客户端10,本过程的具体步骤如下:
[0102] 步骤S401:客户端20根据云服务器10的IP地址IPaudit、采集到的客户端的新的生物特征身份ω',文件标签ft计算一个用户请求req,并用Sign算法签名,最后得到验证请求requ=req||Sign(req),发送给审计服务器30,请求验证云服务器10;其中req根据公式6计算:
[0103] req=IPaudit||ω'||ft  (公式6)。
[0104] 步骤S402:审计服务器30收到客户端20的验证请求时,用Sign算法验证验证请求的有效性;若有效,则提取采集到的客户端的新的生物特征身份ω',并验证|ω∩ω'|≥d是否成立,若成立,任意选取一个包含d个元素的子集 继续执行验证步骤;否则,拒绝客户端20的验证请求;
[0105] 步骤S403:审计服务器30随机选取一个整数,并对每个1≤i≤c,选择一个随机的元素vi∈Zp,最后生成挑战值chal,并将挑战值chal发送给云服务器10;其中挑战值chal根据公式7计算:
[0106] chal=ft||{(i,vi)}1≤i≤c  (公式7)。
[0107] 步骤S404:云服务器10收到挑战值chal后,根据存储的分块文件、数据块标签以及收到的挑战值,根据公式8生成响应值resp,最后将响应值resp传给审计服务器30;
[0108]
[0109] 其中,
[0110] 步骤S405:审计服务器30收到云服务器10发来的响应值后,根据自己发送的挑战值,云服务器10的响应值以及采集到的客户端20的新的生物特征身份ω'来验证响应值resp的有效性,即判断等式9是否成立,若等式9成立,则响应值resp有效,云服务器10完整保存着客户端20的数据;否则,响应值resp无效;
[0111]
[0112] 其中 表示参数A的vi次方运算。
[0113] 步骤S406:审计服务器30根据验证结果发送验证报告给客户端20,若验证成功,则发送验证成功;否则,发送验证失败;
[0114] 步骤S407:当客户端20需要验证云服务器10的数据完整性时,重复步骤S401-S406。
[0115] 本发明还涉及一种基于生物特征的云数据完整性验证方法的系统,包括云服务器10、客户端20、审计服务器30和密钥生成中心服务器40;所述客户端20分别与云服务器10、审计服务器30、密钥生成中心服务器40交互式连接,所述云服务器10与所述审计服务器30交互式连接。
[0116] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。