云存储数据完整性服务签名方法
【技术领域】:
[0001] 本发明涉及云存储信息安全技术领域,具体涉及一种云存储数据完整性服务签名 方法。
【背景技术】:
[0002] 数据完整性服务主要是验证云存储服务器能否正确地保存用户所存储的数据,避 免云端数据丢失、被删除或被篡改等。对于云存储数据完整性检测问题,即可证明的存储, 通常的做法是云用户取回存储在云端的少量数据,通过知识证明协议或概率分析手段,以 高置信概率判断存储在云端的数据是否完整。典型的技术包括:RSA实验室的Juel和EMC公 司的Kaliski等人在2007年提出了可恢复的证明。该方案的主要思想是对所存储数据中随 机插入一些值(标签块),然后存储在服务器上,检测时随机抽查这些标签块,并且使用纠错 编码对损坏或丢失数据进行恢复。Ateniese等人在2007年提出可证明的数据持有方法,该 方法主要是使用同态标签(Homomorphic verifiable tags)和基于RSA的模指数运算,其主 要思想是对所要存储的数据生成一个同态标签并和数据一同存储在云端服务器上,用户请 求检测时要求服务器返回所请求数据的标签,并且服务器根据被请求的数据和它的标签生 成证明,用户根据返回的标签和服务器生成的证明检验数据是否完整。随后Ateniese等将 PDP(Provable Data Possession)方案扩展到支持可公开校验方案,他们把原来的同态标 签改为支持公开校验的标签,使只要拥有公钥的人就可以进行数据完整性检验。Erway等人 2009年提出了动态数据持有性证明方法(Dynamic H)P,DPDP),该方法主要实现了数据验证 的动态性。舒继武等人2009年提出了一个可证明的数据持有性方法一-数据持有性检查 (Data Possession Checking,DPC),该方法主要思想是检测者要求服务器计算存储文件中 若干随机指定位置的数据块的哈希值,将哈希值和文件块同时返回给用户进行校验。
[0003] 数字签名唯一标示相应数据文件,当该文件发生篡改时,其数字签名也就发生了 变化,用户只通过检查数字签名即可判断数据完整性。2001年Boneh等提出了基于双线性对 (Bilinear Pairs)的短签名,双线性对构造密码协议其优势可以构造一些用其它方法无法 或难以实现的密码协议,目前,双线性对成了数字签名研究的热点之一。
[0004] 从目前的研究情况看,云存储数据完整性检测有以下不足:验证信息的计算需要 比较复杂的签名运算和数据结构,在性能方面还有待提升,并且在完整性检测过程中客户 端需参与过多的计算,使客户的计算和通信开销加大,不适合云平台的架构。
【发明内容】
:
[0005] 为解决上述技术问题,本发明提供了一种云存储数据完整性服务签名方法,提高 服务效率,并且完整性服务在云存储服务器完成,降低了客户的计算量和通信开销。
[0006] 本发明的技术方案是通过以下方式实现的:
[0007] -种云存储数据完整性服务签名方法,包括云存储服务器密钥参数初始化、文件 块签名预处理和数据完整性服务,其方法包括如下步骤:
[0008] 步骤一,云存储服务器密钥参数初始化,设定Gi是由P生成的阶为素数q的循环加 群,G2是阶为素数q的循环乘群,e是一从Gi X GjljG2的双线性对映射;出是一个单向的Hash函 数,A : {Ο,?Γ Q』2也是一个单向的Hash函数,//2:{〇,?Γ 4 ;云存储服务器密钥生成 中心随机选择一个密钥,计算Υ = χΡ,云存储服务器密钥生成中心公开系统参数{Gi, 62少八4,6,!11,!12},保密签名密钥叉;
[0009] 步骤二,文件块签名预处理,云存储服务器首先将用户文件分成η块,形成文件块 nu( i e [ 1,η]),然后云存储服务器通过签名密钥X对文件块mi( i e [ 1,η])生成签名标签信息 si(ie[l,n]);
[0010] 步骤三,数据完整性服务,输入要检测完整性的文件标示F*,随机选取文件F所包 含的文件块叫(j e [ 1,n])进行检测,验证校验式^
,验证成功返 回通过数据完整性服务,否则失败。
[0011 ] 进一步,步骤二中所述的签名标签信息Si,通过计算Si = xHi(mi),(i e [ 1,n])得 到。
[0012] 进一步,步骤二中所述的签名标签信息Sl(ie [1,n]),需要满足校验式
[0013] 本发明的有益效果是:
[0014] 该方法的安全性基于下面困难性假设:超奇异椭圆曲线离散对数难题、整数域离 散对数难题和单向hash函数的不可逆性。
[0015] (1)本发明的正确性证明
[0016] 定理1如果满足校验式
其中Sj(jen)是有效的文件块 签名标签,文件块的数据是完整的:
[0017] 证步
[0018] (2)本发明满足的安全性
[0019]定理2除云存储服务器合法签名者外,任何人伪造不出文件块签名标签信息Sj(j en)满足校验岁
[0020]证明:若在Sj(jen)中不用云存储服务器的密钥来行使签名或编造一个值s、(je η),这将使验证方程;!
〇不能成立,是无效签名;如果想根据Y=xP 求出X,则遇到解椭圆曲线离散对数难题,虽然攻击者很容易得到P、Y、n^(je[l,n]MPSj(j Εη)求ti
中的x将面临计算Diffie- Hellman困难问题;攻击者若用另一消息m/的签名sj(j eη)充当mj的签名,此时必须能给出 合适的mj,这也是困难的,这是由Hash函数的性质决定的。
[0021] (3)本发明服务效率的高效性
[0022] 该方法是基于超奇异椭圆曲线构造的双线性对进行密码运算的,在基于双线性对 的密码系统中,算法的运算代价主要依赖于椭圆曲线标量乘运算和双线性对运算,方法中 进行η次哈希、η次Gi群上的标量乘操作运算,签名验证需进行k次哈希和2次双线性对运算, 文件块签名标签长度为|Gi|,|Gi|表示群&上一点坐标的二进制表示所用位数,与实现同功 能的同态标签密码算法相比,速度快5倍。
【附图说明】:
[0023]图1为本发明的架构图;
[0024]图2为本发明的产生和验证的流程图。
【具体实施方式】:
[0025]下面结合附图和实施例对本发明作进一步描述。
[0026]如图1所示,云存储数据完整性服务签名方法,在该架构中,包含三个参与者,用户 1、云存储服务器2和可信第三方检测者3,用户1将上传文件F上传到云存储服务器2,用户1 实现数据完整性服务的方式有两种:第一种,用户1向云存储服务器2发出请求数据完整性 服务,云存储服务器2通过签名方法的计算后将结果返回给用户1;第二种,用户1向可信第 三方检测者3发出请求数据完整性服务,可信第三方检测者3随即向云存储服务器2发出请 求数据完整性服务,云存储服务器2通过签名方法的计算后将结果返回给可信第三方检测 者3,可信第三方检测者3随即将结果返回给用户1。
[0027] 所述的签名方法为一种云存储数据完整性服务签名方法,结合图2,本实施例包括 如下步骤:
[0028] 步骤一,云存储服务器密钥参数初始化,设定Gi是由P生成的阶为素数q的循环加 群,G2是阶为素数q的循环乘群,e是一从Gi X GjljG2的双线性对映射;出是一个单向的Hash函 数,珲:枞矿B巧;出也是一个单向的Hash函数,馬;{()冰Η < ;云存储服务器密钥生成 中心随机选择一个密钥xeZ;,计算Υ = χΡ,云存储服务器密钥生成中心公开系统参数{Gi, 62少八4,6,!11,!12},保密签名密钥叉;
[0029]步骤二,文件块签名预处理,输入上传文件F和分块参数n,云存储服务器首先将用 户文件分成η块,得到文件块nu (i e [ 1,n]),计算文件块mi (i e [ 1,n])对应的签名标签信息 si = xHi(nu),(ie[l,η]),存储文件块mi(ie [1,η])和文件块mi(ie [1,η])对应的签名标签 信息81 =也1〇111),(丨6[1,11]),签名标签信息81(丨6[1,1 1])可用于公开验证数据完整性; [0030]步骤三,数据完整性服务,输入要检测完整性的文件标示F*,随机选取文件F所包 含的文件块叫(_]_6[1,1!])进行检测,计#
,验证成功返回通过检 测,否则失败。
【主权项】
1. 一种云存储数据完整性服务签名方法,包括云存储服务器密钥参数初始化、文件块 签名预处理和数据完整性服务,其特征在于,包括如下步骤: 步骤一,云存储服务器密钥参数初始化,设定Gi是由P生成的阶为素数q的循环加群,G2 是阶为素数q的循环乘群,e是一从Gi X Gi到G2的双线性对映射;出是一个单向的化Sh函数, ZZi:佩1}' Gi。出也是一个单向的Hash函数,巧2 : {0,ir 马;云存储服务器密钥生成中 屯、(PKG)随机选择一个密钥A- e為,计算Y=XP,PKG公开系统参数{Gi,G2,P,Y,q,e,Hi,出},保 密签名密钥X ; 步骤二,文件块签名预处理,云存储服务器首先将用户文件分成n块,形成文件块HH (i e [1,n]),然后云存储服务器通过签名密钥X对文件块mi(i e [ 1,n])生成签名标签信息si(i e [1 ,n]); 步骤=,数据完整性服务,输入要检测完整性的文件标示护,随机选取文件F所包含的文 巧 件块叫(je[l,n])进行检测,验证校验式为^1>,,巧二八),验证成功返回通过 j 对.1 数据完整性服务,否则失败。2. 根据权利要求1所述的云存储数据完整性服务签名方法,其特征在于:步骤二中所述 的签名标签信息Si,通过计算Si =地(mi),(i E [ 1 ,n])得到。3. 根据权利要求1所述的云存储数据完整性服务签名方法,其特征在于:步骤二中所述 的签名标签信息si(i e [ 1,n]),需要满足校验式(包>,,巧=叫1。 j&n f&n
【专利摘要】本发明涉及一种云存储数据完整性服务签名方法,包括云存储服务器密钥参数初始化、文件块签名预处理和数据完整性服务,由云存储服务器密钥生成中心随机选择一个密钥计算Y=xP,云存储服务器密钥生成中心公开系统参数{G1,G2,P,Y,q,e,H1,H2},云存储服务器首先将用户文件分成n块,形成文件块mi(i∈[1,n]),然后云存储服务器通过签名密钥x对文件块mi(i∈[1,n])生成签名标签信息si(i∈[1,n]),输入要检测完整性的文件标示F*,随机选取文件F所包含的文件块mj(j∈[1,n])进行检测,通过验证校验式为验证成功返回通过数据完整性服务,否则失败;本发明能够提高服务效率,并且完整性服务在云存储服务器完成,降低客户的计算量和通信开销。
【IPC分类】H04L29/08, H04L29/06, H04L9/32
【公开号】CN105515778
【申请号】CN201510991041
【发明人】耿永军, 孟庆见, 陈红军
【申请人】河南城建学院
【公开日】2016年4月20日
【申请日】2015年12月25日