CN108664814B - 一种基于代理的群组数据完整性验证方法 - Google Patents

一种基于代理的群组数据完整性验证方法 Download PDF

Info

Publication number
CN108664814B
CN108664814B CN201810469246.1A CN201810469246A CN108664814B CN 108664814 B CN108664814 B CN 108664814B CN 201810469246 A CN201810469246 A CN 201810469246A CN 108664814 B CN108664814 B CN 108664814B
Authority
CN
China
Prior art keywords
data
proxy
key
signature
tpa
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810469246.1A
Other languages
English (en)
Other versions
CN108664814A (zh
Inventor
万长胜
袁梦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201810469246.1A priority Critical patent/CN108664814B/zh
Publication of CN108664814A publication Critical patent/CN108664814A/zh
Application granted granted Critical
Publication of CN108664814B publication Critical patent/CN108664814B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提出了一种基于代理的群组数据完整性验证方法,包括:初始化阶段,数据外包阶段,完整性验证阶段,群组用户成员更新阶段。本发明通过在***模型中引入代理Proxy来帮助为每个群组用户(数据拥有者和数据使用者)计算数据块签名,TPA在进行数据完整性验证的时候,不需要群组用户的任何身份信息,只需要使用代理Proxy的公钥便可进行完整性验证,有效保证了群组用户的身份隐私。由于群组用户都是通过代理Proxy计算数据块签名,且并不知道代理Proxy的私钥,因此即使是撤销的群组成员原来上传的数据块签名仍然合法,不需要重新通过别的群组合法成员计算数据块签名,降低了开销,并能够高效支持动态群组。

Description

一种基于代理的群组数据完整性验证方法
技术领域
本发明属于数据安全技术领域,涉及云端群组安全技术,更为具体的说,是涉及一种基于代理的群组数据完整性验证方法。
背景技术
如今,随着云存储技术的飞速发展,多用户下云端共享数据逐渐变得普遍。群组共享数据,通常是指最初有一个数据拥有者将数据文件外包到存储服务器上,随后会有多个数据使用者加入到群组之中共享外包的数据文件,数据拥有者和数据使用者都是群组用户中的一员。由于多用户同时共享(访问,修改,删除)数据文件,需要设计适应群组共享数据的数据完整性验证协议来确保存储在远程服务器上的数据没有被攻击者篡改或者丢失。
目前,关于数据完整性验证,大多都是研究如何保护个人云端数据的完整性验证,然而实际中,随着多个用户共享数据的需求越来越多,需要考虑群组数据完整性验证协议。不同于单用户下的数据完整性验证场景,群组数据完整性验证场景存在许多特有的安全问题。
对于共享数据的群组而言,群组用户成员通常是动态变化的。不幸的是,目前的数据完整性验证方案并不能有效的支持动态群组。群组用户有权限访问,修改,或删除远程存储的数据文件,群组用户在修改远程数据文件的同时还需要利用自身密钥更新数据块签名。如果某个群组用户不再共享远程数据,该用户计算的数据块签名就不再合法,就需要另一个群组用户重新下载数据块,并计算合法的数据块签名并上传到存储服务器。这样的过程将要耗费大量的计算开销和通信开销,无法有效的应用到实际之中。
另一方面,随着群组用户不断使用共享数据,不同的数据块将会有不同的群组用户计算数据块签名。TPA进行完整性验证的时候,需要确定每个数据块是由那个群组用户进行签名的,这样才能够确定验证证据的时候使用哪个用户的公钥。但是,这个过程会泄露群组用户的身份隐私,TPA有可能会根据数据块签名的用户不同来判断哪些数据块存储着重要信息,从而进行重点攻击。
一个实用的群组数据完整性验证协议应当满足下面的要求:(1)正确性。协议保证验证者能够在有限时间内正确的验证存储服务器中存储数据的完整性。(2)不可伪造性。对于存储服务器而言,其无法通过伪造合法的数据块签名或者伪造验证证据来通过完整性验证请求。(3)身份隐私。验证者在进行数据完整性验证的过程中无法得到群组用户的身份隐私信息。(4)支持动态群组。能够有效支持群组用户成员的添加或者撤销,并且不会引入过多的计算开销和通信开销。
显然,设计一个能够支持身份隐私和动态群组的群组数据完整性验证协议是一项重要的任务,因为验证者有可能从身份隐私数据中获取攻击信息,群组撤销用户的过程中可能会引入巨大的计算开销和通信开销。当前的方案可以满足需求(1),(2)然而,需求(3)(4)还是被广泛地忽视了,这导致目前的群组数据完整性验证方案并不能很好的应用到实际之中。更重要的是,在关注这个研究课题时,我们发现没有加密原语可以直接应用于解决上述所有问题。
发明内容
为解决现有技术中存在的问题,安全和效率问题,本发明提出了一种基于代理的群组数据完整性验证方法,能够高效支持动态群组。
为了达到上述目的,本发明提供如下技术方案:
一种基于代理的群组数据完整性验证方法,包括如下步骤:
初始化阶段:***初始化公开参数,数据拥有者生成自身的私钥,公钥,以及其他的密钥参数,并将密钥参数发送给TPA和数据使用者,代理Proxy生成自身的密钥参数,数据拥有者将需要外包的数据文件划分为多个数据块,数据拥有者和数据使用者都是群组用户的一员;
数据外包阶段:数据拥有者对每个数据块进行盲化处理,然后将盲化后的数据块发送给代理Proxy,代理Proxy计算收到的盲化数据块的盲签名并发送给数据拥有者,数据拥有者从收到的盲签名中恢复原始数据块的签名内容,然后计算存放群组用户名单的标签;最后数据拥有者将数据文件,签名集合以及名单标签上传到存储服务器进行存储,同时将名单标签上传给代理Proxy和TPA;代理Proxy根据群组用户名单来为数据使用者提供盲签名服务;
完整性验证阶段:TPA对存储服务器发起数据完整性验证请求,存储服务器回复相应的验证证据,TPA通过验证证据的有效性来判断存储服务器是否正确的存储了数据文件;
群组用户成员更新阶段:数据拥有者根据更新后的群组用户名单计算名单签名并发送给代理Proxy,存储服务器及TPA,代理Proxy接受更新后的群组用户名单,并为这些群组用户提供盲签名服务。
进一步的,在初始化阶段中,所述数据拥有者使用初始化算法{pub}←InitSys()生成公共密钥参数pub,其具体步骤为:
(1)创建双线性映射对e:G×G→GT,其中G是阶数为p循环乘法群,g∈G是生成器;
(2)随机选择u∈G,同时u不是循环乘法群G的单位元,确定哈希函数H(·):{0,1}*→Zp,H(·)是一个防碰撞单向哈希函数;
(3)***得到公共密钥参数pub={G,GT,e,p,g,u,H(·)}。
进一步的,在初始化阶段中,所述数据拥有者与代理Proxy使用算法{keyDO,keyDU,keyTPA}←GenKey(pub,1k)生成数据拥有者自身的密钥keyDO,数据使用者的密钥keyDU,和TPA的密钥keyTPA,其具体步骤如下:
(1)数据拥有者随机选择x,z∈Zp,其中数据拥有者自身的私钥为skDO=x,计算数据拥有者公钥为pkDO=gx∈G,然后数据拥有者将密钥z经预先建立好的安全信道发送给第三方审计TPA及数据使用者;
(2)代理Proxy随机选择y∈Zp作为自身私钥skproxy,计算公钥为pkproxy=gy∈G;
(3)数据拥有者持有密钥参数keyDO=(skDO,pkDO,z,pkproxy),数据使用者持有密钥keyDU=(z,pkDO,pkproxy),第三方审计TPA持有密钥参数keyTPA=(z,pkDO,pkproxy),代理Proxy则持有keyProxy=(y,pkDO,pkproxy)。
进一步的,在数据外包阶段中,所述数据拥有者使用数据块盲化算法
Figure BDA0001662705540000031
Figure BDA0001662705540000032
进行盲化处理,其具体步骤为:
(1)数据拥有者选择随机数r∈Zp作为盲因子,然后计算
Figure BDA0001662705540000033
其中metai=(name||i)唯一地标识数据块mi,name∈Zp是数据文件的唯一标识符,i是数据文件中的块索引,
Figure BDA0001662705540000034
为盲化后的数据块内容;
(2)数据拥有者将盲化后的数据块内容
Figure BDA0001662705540000035
发送给代理Proxy。
进一步的,在数据外包阶段中,所述代理Proxy收到盲化数据块
Figure BDA0001662705540000036
之后,使用盲签名生成算法
Figure BDA0001662705540000037
计算盲签名,
Figure BDA0001662705540000038
Figure BDA0001662705540000039
随后代理Proxy将盲签名
Figure BDA00016627055400000310
发送给数据拥有者。
进一步的,在数据外包阶段中,所述数据拥有者收到盲签名
Figure BDA00016627055400000311
之后,恢复原始数据块签名的具体步骤为:
(1)首先数据拥有者先验证代理Proxy计算的盲签名
Figure BDA00016627055400000312
的合法性,若等式
Figure BDA00016627055400000313
Figure BDA00016627055400000314
成立,则说明代理Proxy计算的盲签名合法,否则盲签名非法,数据拥有者有权抛弃此盲签名并要求代理Proxy重新生成合法的数据块签名;
(2)数据拥有者得到合法的盲签名之后,使用去盲化算法
Figure BDA00016627055400000315
得到原始数据块签名,
Figure BDA00016627055400000316
进一步的,在数据外包阶段中,所述数据拥有者根据目前的群组用户名单UL,使用群组用户名单生成算法(Ω)←UpdateUL(keyDO,UL)计算标签,
Figure BDA00016627055400000317
Figure BDA0001662705540000041
其中name∈Zp是数据文件的唯一标识符,
Figure BDA0001662705540000042
则是数据拥有者利用私钥skDO加密的数字签名。
进一步的,在完整性验证阶段中,所述TPA发送的验证请求由数据文件中的块索引i和随机考察值ci∈Zq组成的,为chal={{i,ci}i∈I},其中I是TPA选择的所有块索引的集合,q是一个远小于p的素数。
进一步的,在完整性验证阶段中,所述存储服务器使用证据生成算法(P)←GenProof(M,Φ,chal)成证据P={μ,δ},有
Figure BDA0001662705540000043
并将验证证据发送给TPA验证,其中Φ是数据文件M的数据块签名集合。
进一步的,在完整性验证阶段中,所述TPA接收到验证证据P后,对证据P运行验证算法(TRUE,FALSE)←V erifyProof(keyTPA,P,chal),如果等式
Figure BDA0001662705540000044
Figure BDA0001662705540000045
则表示通过完整性验证,输出TRUE,否则表示未通过完整性验证,输出FALSE。
进一步的,群组用户成员更新阶段具体包括如下步骤:
如果有数据使用者加入或撤销群组,所述数据拥有者根据新的群组用户名单UL',并使用群组用户名单更新算法(Ω')←UpdateUL(keyDO,UL')计算新的标签,
Figure BDA0001662705540000046
Figure BDA0001662705540000047
其中name∈Zp是数据文件的唯一标识符,
Figure BDA0001662705540000048
则是数据拥有者利用私钥skDO加密的数字签名;最后,数据拥有者将新的标签发送给代理Proxy,存储服务器以及TPA;代理Proxy根据新的群组用户名单提供盲签名服务。
与现有技术相比,本发明具有如下优点和有益效果:
本发明通过在***模型中引入代理Proxy来帮助为每个群组用户(数据拥有者和数据使用者)计算数据块签名,TPA在进行数据完整性验证的时候,不需要群组用户的任何身份信息,只需要使用代理Proxy的公钥便可进行完整性验证,有效保证了群组用户的身份隐私。由于群组用户都是通过代理Proxy计算数据块签名,且并不知道代理Proxy的私钥,因此即使是撤销的群组成员原来上传的数据块签名仍然合法,不需要重新通过别的群组合法成员计算数据块签名,降低了开销,并能够高效支持动态群组。
附图说明
图1为本发明提供的群组数据完整性方法的***模型;
图2是本发明的初始化阶段流程图;
图3是本发明的数据外包阶段流程图;
图4是本发明的完整性阶段流程图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
数据完整性验证协议***模型,如图1所示,包括四种实体:群组用户(数据拥有者和数据使用者),存储服务器,代理Proxy,第三方审计TPA。
本发明包括四大部分内容:初始化阶段,数据外包阶段,完整性验证阶段、群组用户成员更新阶段。
初始化阶段的流程如图2所示,***首先初始化公开参数,数据拥有者生成自身的私钥,公钥,以及其他的密钥参数,并将密钥参数发送给TPA和数据使用者,代理Proxy生成自身的密钥参数,数据拥有者将需要外包的数据文件划分为多个数据块,数据拥有者和数据使用者都是群组用户的一员。具体操作为:
步骤101:数据拥有者使用初始化算法{pub}←InitSys()生成公开参数pub,首先创建双线性映射对e:G×G→GT,其中G是阶数为p的加法群,g∈G是生成器;其次随机选择u∈G,同时u不是循环乘法群G的单位元,确定哈希函数H(·):{0,1}*→Zp,H(·)是一个防碰撞单向哈希函数;最后得到公开参数pub={G,GT,e,p,g,u,H(·)}。
步骤102:数据拥有者与代理Proxy使用算法{keyDO,keyDU,keyTPA}←GenKey(pub,1k)生成数据拥有者自身的密钥keyDO,数据使用者的密钥keyDU,和TPA的密钥keyTPA。数据拥有者随机选择x,z∈Zp,数据拥有者自身的私钥skDo=x,计算数据拥有者公钥为pkDO=gx∈G,将密钥z经预先建立好的安全信道发送给第三方审计TPA及数据使用者。代理Proxy随机选择y∈Zp作为自身私钥skproxy,计算公钥为pkproxy=gy∈G。因而,数据拥有者密钥keyDO=(skDO,pkDO,z,pkproxy),数据使用者密钥keyDU=(z,pkDO,pkproxy),第三方审计TPA密钥keyTPA=(z,pkDO,pkproxy),代理Proxy密钥keyProxy=(y,pkDO,pkproxy)。
步骤103:数据拥有者将需要外包的数据文件M进行分块M={mi,1≤i≤n},其中n为划分的数据块数目。
数据外包阶段的流程如图3所示,数据拥有者对每个数据块进行盲化处理,然后将盲化后的数据块发送给代理Proxy,代理Proxy计算盲化数据块的盲签名并发送给数据拥有者,数据拥有者验证收到的盲签名是合法的之后,便可从中恢复原始数据块的签名内容,然后计算存放群组用户名单的标签。最后数据拥有者将数据文件,签名集合以及名单标签上传到存储服务器进行存储,同时将名单标签上传给代理Proxy和TPA。代理Proxy根据群组用户名单来为数据使用者提供盲签名服务。具体操作为:
步骤201:数据拥有者使用数据块盲化算法
Figure BDA0001662705540000061
对数据块mi进行盲化处理,群组用户选择随机数r∈Zp作为盲因子,然后计算
Figure BDA0001662705540000062
Figure BDA0001662705540000063
其中metai=(name||i)唯一地标识数据块mi,name∈Zp是数据文件的唯一标识符,i是数据文件中的块索引,
Figure BDA0001662705540000064
为盲化后的数据块内容。数据拥有者盲化后的数据块内容
Figure BDA0001662705540000065
发送给代理Proxy。
步骤202:代理Proxy收到盲化数据块
Figure BDA0001662705540000066
之后,使用盲签名生成算法
Figure BDA0001662705540000067
Figure BDA0001662705540000068
计算盲签名:
Figure BDA0001662705540000069
随后代理Proxy将盲签名
Figure BDA00016627055400000610
发送给数据拥有者。
步骤203:数据拥有者收到盲签名
Figure BDA00016627055400000611
之后,首先验证代理Proxy计算的盲签名
Figure BDA00016627055400000612
的合法性,若等式
Figure BDA00016627055400000613
成立,则说明代理Proxy计算的盲签名合法,否则盲签名非法,数据拥有者有权抛弃此盲签名并要求代理Proxy重新生成合法的数据块签名。
步骤204:数据拥有者得到合法的盲签名
Figure BDA00016627055400000614
之后,使用去盲化算法
Figure BDA00016627055400000615
得到原始数据块签名,
Figure BDA00016627055400000616
步骤205:数据拥有者得到外包的数据文件M所有的签名集合Φ后,数据拥有者根据目前的群组用户名单UL,使用群组用户名单生成算法(Ω)←GenUL(keyDO,UL)计算标签,
Figure BDA00016627055400000617
Figure BDA00016627055400000618
其中name∈Zp是数据文件的唯一标识符,
Figure BDA00016627055400000619
则是数据拥有者利用私钥skDO加密的数字签名。
数据拥有者将数据文件M,签名集合Φ以及名单标签Ω发送给存储服务器进行存储。同时数据拥有者还需要将标签Ω发送给代理Proxy和TPA通知其当前的群组用户。代理Proxy根据群组用户名单提供盲签名服务,具体过程如数据拥有者利用代理Proxy计算数据块签名的流程相同。
完整性阶段如图4所示,TPA发起完整性验证请求,存储服务器根据TPA的验证请求信息回复验证证据,TPA根据验证证据判断存储服务器是否正确地存储用户数据文件。具体操作为:
步骤301:TPA向存储服务器发送完整性验证请求chal={{i,ci}i∈I},其中i为数据文件块索引,ci∈Zq是与i相对应的随机值,I是TPA选择的所有块索引的集合。
步骤302:存储服务器接收到验证请求chal后,使用证据生成算法(P)←GenProof(M,Φ,chal)生成证据
Figure BDA00016627055400000620
并将证据P发送回TPA进行验证,其中Φ是数据文件M的数据块签名集合。
步骤303:TPA接收到证据P后,首先对证据P运行验证算法(TRUE,FALSE)←VerifyProof(kTPA,P,chal),计算
Figure BDA0001662705540000071
则表示输入可以通过验证,输出TRUE,否则表示输入未通过验证,输出FALSE。
通过完整性验证阶段可以判断存储服务器是否正确完整的存储了数据源外包的数据文件。
在群组用户成员更新阶段,当群组用户成员变动时,数据拥有者根据更新后的群组用户名单计算名单签名并发送给代理Proxy,存储服务器及TPA,代理Proxy接受更新后的群组用户名单,并为这些群组用户提供盲签名服务。其具体操作为:
步骤401:如果有数据使用者加入或撤销群组,此时数据拥有者有新的群组用户名单UL',并使用群组用户名单更新算法(Ω')←Up date UL(keyDO,UL')计算新的标签,
Figure BDA0001662705540000072
Figure BDA0001662705540000073
其中name∈Zp是数据文件的唯一标识符,
Figure BDA0001662705540000074
则是数据拥有者利用私钥skDO加密的数字签名。
步骤402:数据拥有者将新的标签发送给代理Proxy,存储服务器以及TPA。
经过群组用户成员更新阶段,代理Proxy及其他实体已经得到目前的群组用户成员名单,代理将根据最新的群组用户成员名单为群组用户提供盲签名服务,存储服务器也可以根据最新的群组用户成员名单判断用户是否是群组共享数据中的一员。
由上可以得知,在数据外包阶段中,数据拥有者首先外包数据文件及签名集合到存储服务器,同时将群组用户名单标签发送给代理Proxy,存储服务器以及TPA。在随后的共享数据使用过程中,代理Proxy会为群组用户(数据拥有者和数据使用者)提供盲签名,群组用户并未使用自己的密钥计算数据块签名。因而,在群组撤销成员的时候,原来的数据块签名仍然合法,无需进行更新。群组成员变更的时候,数据拥有者使用群组用户名单更新算法计算新的名单标签,并发送给代理Proxy以及其他实体即可。因此,本发明能够高效支持动态群组。
由上可以得知,在完整性阶段,TPA运行验证算法的时候只需要代理Proxy的公钥,且存储服务器发送的验证证据也不包含任何群组用户的身份信息。因此,本发明能够有效保证验证方再进行完整性验证的时候无法获取到群组用户的任何身份隐私信息。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (1)

1.一种基于代理的群组数据完整性验证方法,其特征在于,包括如下步骤:
初始化阶段:***初始化公开参数,数据拥有者生成自身的私钥,公钥,以及密钥参数,并将密钥参数发送给TPA和数据使用者,代理Proxy生成自身的密钥参数,数据拥有者将需要外包的数据文件划分为多个数据块,数据拥有者和数据使用者都是群组用户的一员;
在初始化阶段中,所述数据拥有者使用初始化算法{pub}←InitSys()生成公共密钥参数pub,其具体步骤为:
(1)创建双线性映射对e:G×G→GT,其中G是阶数为p循环乘法群,g∈G是生成器;
(2)随机选择u∈G,同时u不是循环乘法群G的单位元,确定哈希函数H(·):{0,1}*→Zp,H(·)是一个防碰撞单向哈希函数;
(3)***得到公共密钥参数pub={G,GT,e,p,g,u,H(·)};
所述数据拥有者与代理Proxy使用算法{keyDO,keyDU,keyTPA}←GenKey(pub,1k)生成数据拥有者自身的密钥keyDO,数据使用者的密钥keyDU,和TPA的密钥keyTPA,其具体步骤如下:
(1)数据拥有者随机选择x,z∈Zp,其中数据拥有者自身的私钥为skDO=x,计算数据拥有者公钥为pkDO=gx∈G,然后数据拥有者将密钥z经预先建立好的安全信道发送给第三方审计TPA及数据使用者;
(2)代理Proxy随机选择y∈Zp作为自身私钥skproxy,计算公钥为pkproxy=gy∈G;
(3)数据拥有者持有密钥参数keyDo=(skDO,pkDO,z,pkproxy),数据使用者持有密钥keyDU=(z,pkDO,pkproxy),第三方审计TPA持有密钥参数keyTPA=(z,pkDO,pkproxy),代理Proxy则持有keyProxy=(y,pkDO,pkproxy);
数据外包阶段:数据拥有者对每个数据块进行盲化处理,然后将盲化后的数据块发送给代理Proxy,代理Proxy计算收到的盲化数据块的盲签名并发送给数据拥有者,数据拥有者从收到的盲签名中恢复原始数据块的签名内容,然后计算存放群组用户名单的标签;最后数据拥有者将数据文件,签名集合以及名单标签上传到存储服务器进行存储,同时将名单标签上传给代理Proxy和TPA;代理Proxy根据群组用户名单来为数据使用者提供盲签名服务;
在数据外包阶段中,所述数据拥有者使用数据块盲化算法进行盲化处理,其具体步骤为:
(1)数据拥有者选择随机数r∈Zp作为盲因子,然后计算
Figure FDA0003297393290000011
其中metai=(name||i)唯一地标识数据块mi,name∈Zp是数据文件的唯一标识符,i是数据文件中的块索引,
Figure FDA0003297393290000021
为盲化后的数据块内容;
(2)数据拥有者将盲化后的数据块内容
Figure FDA0003297393290000022
发送给代理Proxy;
所述代理Proxy收到盲化数据块
Figure FDA0003297393290000023
之后,使用盲签名生成算法
Figure FDA0003297393290000024
Figure FDA0003297393290000025
计算盲签名,计算
Figure FDA0003297393290000026
随后代理Proxy将盲签名
Figure FDA0003297393290000027
发送给数据拥有者;
所述数据拥有者收到盲签名
Figure FDA0003297393290000028
之后,恢复原始数据块签名的具体步骤为:
(1)首先数据拥有者先验证代理Proxy计算的盲签名
Figure FDA0003297393290000029
的合法性,若等式
Figure FDA00032973932900000210
Figure FDA00032973932900000211
成立,则说明代理Proxy计算的盲签名合法,否则盲签名非法,数据拥有者抛弃此盲签名并要求代理Proxy重新生成合法的数据块签名;
(2)数据拥有者得到合法的盲签名之后,使用去盲化算法
Figure FDA00032973932900000212
得到原始数据块签名,
Figure FDA00032973932900000213
所述数据拥有者根据目前的群组用户名单UL,使用群组用户名单生成算法(Ω)←UpdateUL(keyDO,UL)计算标签,
Figure FDA00032973932900000214
其中name∈Zp是数据文件的唯一标识符,
Figure FDA00032973932900000215
则是数据拥有者利用私钥skDO加密的数字签名;
完整性验证阶段:TPA对存储服务器发起数据完整性验证请求,存储服务器回复相应的验证证据,TPA通过验证证据的有效性来判断存储服务器是否正确的存储了数据文件;
在完整性验证阶段中,所述TPA发送的验证请求由数据文件中的块索引i和随机值ci∈Zq组成的,为chal={{i,ci}i∈I},其中I是TPA选择的所有块索引的集合,q是一个素数;
所述存储服务器使用证据生成算法(P)←GenProof(M,Φ,chal)成证据P={μ,δ},有
Figure FDA00032973932900000216
Figure FDA00032973932900000217
并将验证证据发送给TPA验证,其中Φ是数据文件M的数据块签名集合;
所述TPA接收到验证证据P后,对证据P运行验证算法(TRUE,FALSE)←VerifyProof(keyTPA,P,chal),如果等式
Figure FDA00032973932900000218
则表示通过完整性验证,输出TRUE,否则表示未通过完整性验证,输出FALSE;
群组用户成员更新阶段:数据拥有者根据更新后的群组用户名单计算名单签名并发送给代理Proxy,存储服务器及TPA,代理Proxy接受更新后的群组用户名单,并为这些群组用户提供盲签名服务;
所述群组用户成员更新阶段具体包括如下步骤:
如果有数据使用者加入或撤销群组,所述数据拥有者根据新的群组用户名单UL′,并使用群组用户名单更新算法(Ω′)←UpdateUL(keyDO,UL′)计算新的标签,
Figure FDA0003297393290000031
Figure FDA0003297393290000032
其中name∈Zp是数据文件的唯一标识符,
Figure FDA0003297393290000033
则是数据拥有者利用私钥skDO加密的数字签名;最后,数据拥有者将新的标签发送给代理Proxy,存储服务器以及TPA;代理Proxy根据新的群组用户名单提供盲签名服务。
CN201810469246.1A 2018-05-16 2018-05-16 一种基于代理的群组数据完整性验证方法 Active CN108664814B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810469246.1A CN108664814B (zh) 2018-05-16 2018-05-16 一种基于代理的群组数据完整性验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810469246.1A CN108664814B (zh) 2018-05-16 2018-05-16 一种基于代理的群组数据完整性验证方法

Publications (2)

Publication Number Publication Date
CN108664814A CN108664814A (zh) 2018-10-16
CN108664814B true CN108664814B (zh) 2021-12-28

Family

ID=63779900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810469246.1A Active CN108664814B (zh) 2018-05-16 2018-05-16 一种基于代理的群组数据完整性验证方法

Country Status (1)

Country Link
CN (1) CN108664814B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743327B (zh) * 2019-01-16 2021-08-03 福建师范大学 基于无证书的云存储中共享数据的完整性公开验证方法
CN111460524B (zh) * 2020-03-27 2023-07-18 鹏城实验室 数据完整性的检测方法、设备及计算机可读存储介质
CN112560071B (zh) * 2020-12-28 2022-06-14 杭州趣链科技有限公司 具有审核和指定验证者功能的数据共享方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104539428B (zh) * 2014-12-30 2017-11-21 成都三零瑞通移动通信有限公司 一种集群加密通信中动态重组方法
CN105871424B (zh) * 2016-04-05 2018-11-13 菏泽学院 基于ecc的rfid群组验证方法
CN106713349B (zh) * 2017-01-18 2020-10-16 郑州埃文计算机科技有限公司 一种能抵抗选择密文攻击的群组间代理重加密方法
CN107800688B (zh) * 2017-09-28 2020-04-10 南京理工大学 一种基于收敛加密的云端数据去重和完整性审计方法

Also Published As

Publication number Publication date
CN108664814A (zh) 2018-10-16

Similar Documents

Publication Publication Date Title
US11620387B2 (en) Host attestation
Liu et al. A Survey of Public Auditing for Shared Data Storage with User Revocation in Cloud Computing.
CN106341232B (zh) 一种基于口令的匿名实体鉴别方法
CN110971411B (zh) 一种基于sotp技术对私钥乘加密的sm2同态签名方法
US20050058294A1 (en) Method, system and device for enabling delegation of authority and access control methods based on delegated authority
CN110365469B (zh) 一种支持数据隐私保护的云存储中数据完整性验证方法
US9531540B2 (en) Secure token-based signature schemes using look-up tables
WO2017140358A1 (en) Method for storing data on a storage entity
JP2008545353A (ja) 未知の通信当事者間における信頼できる関係の確立
CN106487786B (zh) 一种基于生物特征的云数据完整性验证方法及***
CN108664814B (zh) 一种基于代理的群组数据完整性验证方法
WO2014068427A1 (en) Reissue of cryptographic credentials
EP3395031A1 (en) Method for storing data on a storage entity
Bellare et al. Deterring certificate subversion: efficient double-authentication-preventing signatures
WO2013090881A1 (en) Combined digital certificate
CN115208586B (zh) 一种基于秘密分享的数字签名方法及***
CN111161075B (zh) 区块链交易数据证明监管方法、***及相关设备
CN109743327B (zh) 基于无证书的云存储中共享数据的完整性公开验证方法
CN110719172A (zh) 区块链***中的签名方法、签名***以及相关设备
CN116566626A (zh) 环签名方法和设备
CN113919008A (zh) 具有固定签名长度的可追踪属性基签名方法及***
CN107360252B (zh) 一种异构云域授权的数据安全访问方法
CN111314059B (zh) 账户权限代理的处理方法、装置、设备及可读存储介质
CN111245594A (zh) 一种基于同态运算的协同签名方法及***
CN114257374B (zh) 一种用于标识密码体制的可验证安全外包计算方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant