CN106209365A - 云环境下利用备份数据在用户撤销时重签名的方法 - Google Patents

云环境下利用备份数据在用户撤销时重签名的方法 Download PDF

Info

Publication number
CN106209365A
CN106209365A CN201610828751.1A CN201610828751A CN106209365A CN 106209365 A CN106209365 A CN 106209365A CN 201610828751 A CN201610828751 A CN 201610828751A CN 106209365 A CN106209365 A CN 106209365A
Authority
CN
China
Prior art keywords
user
signature
storage server
cloud storage
files
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.)
Granted
Application number
CN201610828751.1A
Other languages
English (en)
Other versions
CN106209365B (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.)
Xidian University
Original Assignee
Xidian 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 Xidian University filed Critical Xidian University
Priority to CN201610828751.1A priority Critical patent/CN106209365B/zh
Publication of CN106209365A publication Critical patent/CN106209365A/zh
Application granted granted Critical
Publication of CN106209365B publication Critical patent/CN106209365B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

一种云环境下利用备份数据在用户撤销时重签名的方法。其步骤为:1、生成密钥,2、签名,3、重签名,4、判断是否满足重签名结果,5、生成完整性验证的挑战信息,6、生成完整性验证的应答信息,7、判断是否满足完整性验证结果,8、验证数据完整,9、验证数据不完整。本发明克服了现有技术给用户带来大量的计算负担和通信负担,在设计思路上不符合实际情况,在完整性验证过程中会产生额外雇佣费用以及引入第三方带来安全隐患的缺陷,提高了重签名过程的效率,使重签名过程具有更高的可行性,使完整性验证过程具有更高的安全性和更低的费用需求。

Description

云环境下利用备份数据在用户撤销时重签名的方法
技术领域
本发明属于计算机技术领域,进一步涉及信息安全技术领域中的一种云环境下利用备份数据在用户撤销时重签名的方法。本发明可用于支持存在用户撤销机制的云存储系统,利用云中备份数据在用户撤销后实现快速重签名,不仅无需重新下载原始文件,而且减少了与被撤销用户之间的私钥交互过程。在外包数据完整性的验证方面,本发明无需引入第三方平台,不仅降低了完整性验证过程所需的费用,而且由避免了引入第三方而导致的安全隐患。
背景技术
随着云存储服务的普及,用户群的云存储业务呈现出逐年增长的趋势。为了能够保证用户群在云中数据的安全性,满足用户群中用户频繁流动的需求,减少用户变动过程中产生的计算量和费用,云存储服务器需要提供有效的数据重签名方案。外包数据的重签名技术是目前云存储系统广泛采用的技术手段,该技术一般需要用户群中的其他用户将被撤销用户的文件从云中下载到终端,再对文件进行重签名,或者通过第三方与被撤销用户之间的密钥交互来实现对原始文件的重签名。在公开验证方面,引入第三方是目前大多数云存储系统用于实现完整性验证的基础方法,该方法一般是用户群中的用户将部分数据发送给第三方,由第三方与云存储服务器之间的信息交互实现云中数据的完整性验证。
Boyang Wang和Baochun Li在其发表的论文“Panda:Public Auditing forShared Data with Efficient User Revocation in the Cloud”(IEEE TRANSACTIONS ONSERVICES COMPUTING,VOL.8,NO.1,2015)中提出了两种方法。
一种方法是,当用户群中某用户被撤销时,用户群选定另一个合法用户作为新签名用户,新签名用户从云端将被撤销用户的文件下载到自己的终端,对文件进行重签名后再上传回云存储服务器。该方法存在的不足之处是,该方法会给新签名用户带来巨大的计算负担和通信负担,尤其是在需要被重签名的文件数量很多或者用户群中用户流动频繁的情况下,效率将更低。
另一种方法是,引入一个第三方机构,在用户群中某用户被撤销后,第三方机构随机产生一个密钥并将给密钥发送给被撤销用户,被撤销用户利用第三方发送的私钥对自己的私钥进行包装然后发送回第三方,第三方机构收到被撤销用户的私钥后再与用户群中的合法用户进行私钥交互,最终实现合法用户对被撤销用户的文件重签名过程。该方法存在的不足之处是,整个过程中被撤销用户需要与第三方配合完成私钥的交互工作,在真实场景下,被撤销用户不再具有合法权利,没有义务参与用户群的活动,因此该方法在设计思路上不符合实际情况,并且在用户流动频繁的情况下,大量的私钥交互过程所需要的计算资源和通信资源也导致系统的效率较低。
北京航空航天大学在其申请的专利“一种多重云环境下数据完整性验证方法”(申请号:201310631352.2,公开号:103605784A)中公开了一种数据完整性验证的方法。该方法包括:在预处理阶段,由客户端执行,包括初始化,文件分块,数据标签的生成,文件、标签、公开参数的存储四个步骤;在挑战-响应阶段,用户与云服务提供商交互的一个过程,不管是在数据更新前,还是更新后,用户向云服务提供商发起挑战,服务器做出相应的回应,用户根据服务器给的回应进行完整性验证;在用户验证阶段,当用户收到组织者返回的数据P={P1,P2}时,从第三方处获得存储的公开参数,验证云服务提供商存储的数据是否是完整的,如果验证成功则输出接受,否则输出拒绝。该方法存在的不足之处是,在用户验证阶段,该方法引入第三方参与验证过程,在过程中产生了额外的雇佣费用,不仅如此,第三方的可信程度也一直饱受争议,完全可信的第三方并不存在,因此增加了系统的不安全因素。
发明内容
本发明的目的是针对上述现有技术的不足,提出一种云环境下利用备份数据在用户撤销时重签名的方法。
实现本发明目的的具体思路是:用户群中的用户在终端生成自己的签名公私钥和RSA算法公私钥,利用RSA算法公私钥提高了传输过程中的保密性。用户在终端对自己的文件进行签名,然后上传给云存储服务器的服务器1,并将备份文件上传给云存储服务器的服务器2。当用户群中某一用户被撤销时,用户群授权云存储服务器进行重签名操作,与用户群中的合法用户进行私钥交互,再利用云存储服务器的服务器2中的备份文件进行重签名,并上传至云存储服务器的服务器1中。重签名过程省去了云存储服务器与被撤销用户之间的私钥交互过程,保障了重签名过程的可行性。重签名结束后,云存储服务器将被撤销用户上传至云存储服务器的服务器1中的文件删除,释放出更多的存储空间。重签名过程结束后,用户群中的合法用户与云存储服务器通过挑战信息和应答信息的交互进行完整性验证,完整性验证过程中不需要引入第三方,既保障了信息交互的安全性,又降低了完整性验证过程中产生的费用。
本发明的具体步骤包括如下:
(1)生成密钥:
(1a)按照下式,建立一个由群G1到群G2的双线性映射:
G1×G1→G2
其中,G1和G2分别表示两个乘法循环群,→表示生成操作;
(1b)按照下式,用户群中的任一用户计算自己的签名公钥:
gsk→pk
其中,g表示乘法循环群G1中的一个生成元,sk表示用户从乘法循环群G1中任意选择的签名私钥,→表示生成操作,pk表示用户的签名公钥;
(1c)用户从乘法循环群G1的元素中,随机选择一个应用于RSA签名算法的私钥ssk和一个应用于RSA签名算法的公钥spk;
(2)签名:
(2a)按照下式,用户Ui对自己终端的文件块进行签名:
σ=(ωmH(ID))sk
其中,σ表示文件块的签名,ω表示乘法循环群G1的第二个生成元,m表示用户Ui终端的文件块,H(·)表示由映射到点的哈希函数,ID表示用户Ui终端文件块的身份认证标识,sk表示用户Ui的签名私钥;
(2b)按照下式,用户Ui计算自己终端的文件块的标签:
T=IDsskmodn
其中,T表示用户Ui终端的文件块的标签,ID表示用户Ui终端的文件块的身份认证标识,ssk表示用户Ui应用于RSA签名算法的私钥,n表示应用于RSA签名算法的大整数参数;
(2c)用户Ui将文件及签名集合和标签集合发送给云存储服务器中的服务器1,将文件集合和标签集合发送给云存储服务器中的服务器2作为备份文件;
(3)重签名:
(3a)从用户群中撤销用户Ui
(3b)用户群对云存储服务器进行重签名授权;
(3c)按照下式,云存储服务器计算被撤销用户上传的文件块的身份认证标识:
ID=(IDssk)spkmodn
其中,ID表示被撤销用户上传的文件块的身份认证标识,ssk表示用户Ui应用于RSA签名算法的私钥,spk表示用户Ui应用于RSA签名算法的公钥,mod表示模运算操作,n表示应用于RSA签名算法的大整数参数;
(3d)按照下式,云存储服务器利用云存储服务器中的服务器2中的备份文件块计算临时签名:
σtemp=(ωmH(ID))r
其中,σtemp表示备份文件块的临时签名,ω表示乘法循环群G1的第二个生成元,m表示用户Ui上传到云存储服务器的服务器2中的备份文件块,H(·)表示由映射到点的哈希函数,ID表示备份文件块的身份认证标识,r表示云存储服务器从整数集合中选择的一个随机数;
(3e)云存储服务器将临时签名σtemp发送给新签名用户Uj,并删除用户Ui上传至云存储服务器的服务器1中的文件;
(3f)新签名用户Uj利用自己的私钥sk计算σtemp sk,并将σtemp sk发送给云存储服务器;
(3g)按照下式,云存储服务器计算备份文件块的新签名:
σ ′ = ( σ t e m p s k ) 1 r
其中,σ'表示备份文件块的当前签名,σtemp表示备份文件块的临时签名,sk表示新签名用户Uj的签名私钥,r表示云服务器从整数集合中选择的随机数;
(4)判断当前签名映射结果是否等于基础属性值映射结果,若是,则执行步骤(5),否则,执行步骤(3);
(5)生成完整性验证的挑战信息:
(5a)在用户群中任选一个用户作为代表用户;
(5b)代表用户从整数集合[1,n]中,随机选择一个含有c个元素的子集L={s1,s2,......,sc},其中n表示云存储服务器的服务器1中文件块的总数,s表示被随机选择的云存储服务器的服务器1中的文件块的序号;
(5c)代表用户从有理数集合中随机选择一组文件加密参数v,使之与含有c个元素的子集L中的元素一一对应,要求v的比特长度远远小于乘法循环群G1的素数阶的绝对值|p|;
(5d)代表用户将含有c个元素的子集L和加密参数作为挑战信息发送给云存储服务器;
(6)生成完整性验证的应答信息:
(6a)云存储服务器收到挑战信息后,将含有c个元素的子集L={s1,s2,......,sc}中的c个元素重新划分,组合成d个分别含有c个元素的子集l1,l2,......,ld,其中d代表用户群中的用户总数;
(6b)按照下式,云存储服务器计算含有c个元素的子集l对应的文件加密值:
λ i = Σ k ∈ l i v k m k
其中,λ表示含有c个元素的子集l对应的文件加密值,Σ表示求和运算,v表示含有c个元素的子集l对应的随机加密参数,m表示含有c个元素的子集l中的文件块;
(6c)按照下式,云存储服务器计算含有c个元素的子集l的签名加密值:
μ i = Π k ∈ l i σ k v k
其中,μ表示含有c个元素的子集l对应的签名加密值,Π表示连乘操作,σ表示含有c个元素的子集l中的文件块签名,v表示含有c个元素的子集l对应的随机加密参数;
(6d)云存储服务器将文件加密值集合、签名加密值集合以及身份认证标识集合作为应答信息给代表用户;
(7)判断挑战信息映射结果是否等于应答信息映射结果,若是,则执行步骤(8),否则执行步骤(9);
(8)用户代表认证云存储服务器中的数据完整;
(9)用户代表认证云存储服务器中的数据不完整。
本发明与现有技术相比具有以下优点:
第一,由于本发明中用户群将文件集合和标签集合发送给云存储服务器中的服务器2作为备份文件,在重签名过程中,云存储服务器直接利用云存储服务器2中的备份文件完成重签名过程,不需要新签名用户将被撤销用户的文件从云存储服务器下载至自己的终端,减少了新签名用户与云存储服务器之间的通信过程,克服了现有技术给新签名用户带来大量的计算负担和通信负担的缺陷,使得本发明在重签名过程中具有更低的通信量和通信费用,提高了重签名过程的效率。
第二,由于本发明中云存储服务器将临时签名直接发送给新签名用户,不需要云存储服务器与被撤销用户进行私钥交互,在真实场景下,被撤销用户不再具有合法权利,没有义务参与用户群的活动,克服了现有技术在设计思路上不符合实际情况的缺陷,使得本发明在重签名过程中具有更高的可行性。
第三,由于本发明中直接由代表用户将挑战信息发送给云存储服务器,在完整性验证的过程中,用户群与云存储服务器之间进行挑战信息和应答信息的交互,不需要用户群雇佣第三方参与完整性验证的过程,克服了现有技术在完整性验证过程中会产生额外雇佣费用以及引入第三方会带来安全隐患的缺陷,使得本发明具有更高的安全性能和更低的费用需求。
附图说明
图1为本发明的流程图。
具体实施方式
下面结合附图1对本发明作进一步的详细描述。
步骤1,生成密钥。
按照下式,建立一个由群G1到群G2的双线性映射:
G1×G1→G2
其中,G1和G2分别表示两个乘法循环群,→表示生成操作。
按照下式,用户群中的任一用户计算自己的签名公钥:
gsk→pk
其中,g表示乘法循环群G1中的一个生成元,sk表示用户从乘法循环群G1中任意选择的签名私钥,→表示生成操作,pk表示用户的签名公钥。
用户从乘法循环群G1的元素中,随机选择一个应用于RSA签名算法的私钥ssk和一个应用于RSA签名算法的公钥spk。
步骤2,签名。
按照下式,用户Ui对自己终端的文件块进行签名:
σ=(ωmH(ID))sk
其中,σ表示文件块的签名,ω表示乘法循环群G1的第二个生成元,m表示用户Ui终端的文件块,H(·)表示由映射到点的哈希函数,ID表示用户Ui终端文件块的身份认证标识,sk表示用户Ui的签名私钥。
按照下式,用户Ui计算自己终端的文件块的标签:
T=IDsskmodn
其中,T表示用户Ui终端的文件块的标签,ID表示用户Ui终端的文件块的身份认证标识,ssk表示用户Ui应用于RSA签名算法的私钥,n表示应用于RSA签名算法的大整数参数。
用户Ui将文件及签名集合和标签集合发送给云存储服务器中的服务器1,将文件集合和标签集合发送给云存储服务器中的服务器2作为备份文件。
步骤3,重签名。
从用户群中撤销用户Ui
用户群对云存储服务器进行重签名授权。
按照下式,云存储服务器计算被撤销用户上传的文件块的身份认证标识:
ID=(IDssk)spkmodn
其中,ID表示被撤销用户上传的文件块的身份认证标识,ssk表示用户Ui应用于RSA签名算法的私钥,spk表示用户Ui应用于RSA签名算法的公钥,mod表示模运算操作,n表示应用于RSA签名算法的大整数参数。
按照下式,云存储服务器利用云存储服务器中的服务器2中的备份文件块计算临时签名:
σtemp=(ωmH(ID))r
其中,σtemp表示备份文件块的临时签名,ω表示乘法循环群G1的第二个生成元,m表示用户Ui上传到云存储服务器的服务器2中的备份文件块,H(·)表示由映射到点的哈希函数,ID表示备份文件块的身份认证标识,r表示云存储服务器从整数集合中选择的一个随机数。
云存储服务器将临时签名σtemp发送给用户Uj,并删除用户Ui上传至云存储服务器的服务器1中的文件。
用户Uj利用自己的私钥sk计算σtemp sk,并将σtemp sk发送给云存储服务器。
按照下式,云存储服务器计算备份文件块的新签名:
σ ′ = ( σ t e m p s k ) 1 r
其中,σ'表示备份文件块的当前签名,σtemp表示备份文件块的临时签名,sk表示用户Uj的签名私钥,r表示云服务器从整数集合中选择的随机数。
步骤4,判断当前签名映射结果是否等于基础属性值映射结果,若是,则执行步骤(5),否则,执行步骤(3)。
所述的当前签名映射结果是指按照下式进行计算得到的结果:
Ω=e(σ',g)
其中,Ω表示当前签名映射结果,e(·)表示由群G1到群G2的双线性映射操作,σ'表示备份文件块的当前签名,g表示乘法循环群G1的一个生成元。
所述的基础属性值映射结果是指按照下式进行计算得到的结果:
Ψ=e(ωmH(ID),pk)
其中,Ψ表示基础属性值映射结果,e(·)表示由群G1到群G2的双线性映射操作,ω表示乘法循环群G1的第二个生成元,m表示用户Ui上传到云存储服务器的服务器2中的备份文件块,H(·)表示由映射到点的哈希函数,ID表示备份文件块的身份认证标识,pk表示用户Uj的签名公钥。
步骤5,生成完整性验证的挑战信息。
在用户群中任选一个用户作为代表用户。
代表用户从整数集合[1,n]中,随机选择一个含有c个元素的子集L={s1,s2,......,sc},其中n表示云存储服务器的服务器1中文件块的总数,s表示被随机选择的云存储服务器的服务器1中的文件块的序号。
代表用户从有理数集合中随机选择一组文件加密参数v,使之与含有c个元素的子集L中的元素一一对应,要求v的比特长度远远小于乘法循环群G1的素数阶的绝对值|p|。
代表用户将含有c个元素的子集L和加密参数作为挑战信息发送给云存储服务器。
步骤6,生成完整性验证的应答信息。
云存储服务器收到挑战信息后,将含有c个元素的子集L={s1,s2,......,sc}中的c个元素重新划分,组合成d个分别含有c个元素的子集l1,l2,......,ld,其中d代表用户群中的用户总数。
按照下式,云存储服务器计算含有c个元素的子集l对应的文件加密值:
λ i = Σ k ∈ l i v k m k
其中,λ表示含有c个元素的子集l对应的文件加密值,Σ表示求和运算,v表示含有c个元素的子集l对应的随机加密参数,m表示含有c个元素的子集l中的文件块。
按照下式,云存储服务器计算含有c个元素的子集l的签名加密值:
μ i = Π k ∈ l i σ k v k
其中,μ表示含有c个元素的子集l对应的签名加密值,Π表示连乘操作,σ表示含有c个元素的子集l中的文件块签名,v表示含有c个元素的子集l对应的随机加密参数。
云存储服务器将文件加密值集合、签名加密值集合以及身份认证标识集合作为应答信息给代表用户。
步骤7,判断挑战信息映射结果是否等于应答信息映射结果,若是,则执行步骤(8),否则执行步骤(9)。
所述的挑战信息映射结果是指按照下式进行计算得到的结果:
其中,Υ表示挑战信息映射结果,e(·)表示由群G1到群G2的双线性映射操作,n表示云存储服务器的服务器1中的文件总数,μ表示云存储服务器的服务器1中文件的签名加密值,g表示乘法循环群G1的一个生成元。
所述的应答信息映射结果是指按照下式进行计算得到的结果:
Λ = e ( Π i = 1 n ( Π k ∈ L i H ( ID k ) v k ω λ i ) , pk i )
其中,Λ表示应答信息映射结果,e(·)表示由群G1到群G2的双线性映射操作,n表示云存储服务器的服务器1中的文件总数,H(·)表示映射到点的哈希函数,ID表示云存储服务器的服务器1中文件的身份认证标识,v表示云存储服务器的服务器1中文件的文件加密参数,ω分别表示乘法循环群G1的第二个生成元,λ表示云存储服务器的服务器1中文件的文件加密值,pk表示用户群中用户的签名公钥。
步骤8,用户代表认证云存储服务器中的数据完整。
步骤9,用户代表认证云存储服务器中的数据不完整。

Claims (5)

1.云环境下利用备份数据在用户撤销时重签名的方法,包括以下具体步骤:
(1)生成密钥:
(1a)按照下式,建立一个由群到群的双线性映射:
G1×G1→G2
其中,G1和G2分别表两个乘法循环群,→表示生成操作;
(1b)按照下式,用户群中的任一用户计算自己的签名公钥:
gsk→pk
其中,g表示乘法循环群G1中的一个生成元,sk表示用户从乘法循环群G1中任意选择的签名私钥,→表示生成操作,pk表示用户的签名公钥;
(1c)用户从乘法循环群G1的元素中,随机选择一个应用于RSA签名算法的私钥ssk和一个应用于RSA签名算法的公钥spk;
(2)签名:
(2a)按照下式,用户Ui对自己终端的文件块进行签名:
σ=(ωmH(ID))sk
其中,σ表示文件块的签名,ω表示乘法循环群G1的第二个生成元,m表示用户Ui终端的文件块,H(·)表示由映射到点的哈希函数,ID表示用户Ui终端文件块的身份认证标识,sk表示用户Ui的签名私钥;
(2b)按照下式,用户Ui计算自己终端的文件块的标签:
T=IDsskmod n
其中,T表示用户Ui终端的文件块的标签,ID表示用户Ui终端的文件块的身份认证标识,ssk表示用户Ui应用于RSA签名算法的私钥,n表示应用于RSA签名算法的大整数参数;
(2c)用户Ui将文件及签名集合和标签集合发送给云存储服务器中的服务器1,将文件集合和标签集合发送给云存储服务器中的服务器2作为备份文件;
(3)重签名:
(3a)从用户群中撤销用户Ui
(3b)用户群对云存储服务器进行重签名授权;
(3c)按照下式,云存储服务器计算被撤销用户上传的文件块的身份认证标识:
ID=(IDssk)spkmod n
其中,ID表示被撤销用户上传的文件块的身份认证标识,ssk表示用户Ui应用于RSA签名算法的私钥,spk表示用户Ui应用于RSA签名算法的公钥,mod表示模运算操作,n表示应用于RSA签名算法的大整数参数;
(3d)按照下式,云存储服务器利用云存储服务器中的服务器2中的备份文件块计算临时签名:
σtemp=(ωmH(ID))r
其中,σtemp表示备份文件块的临时签名,ω表示乘法循环群G1的第二个生成元,m表示用户Ui上传到云存储服务器的服务器2中的备份文件块,H(·)表示由映射到点的哈希函数,ID表示备份文件块的身份认证标识,r表示云存储服务器从整数集合中选择的一个随机数;
(3e)云存储服务器将临时签名σtemp发送给用户Uj,并删除用户Ui上传至云存储服务器的服务器1中的文件;
(3f)用户Uj利用自己的私钥sk计算σtemp sk,并将σtemp sk发送给云存储服务器;
(3g)按照下式,云存储服务器计算备份文件块的新签名:
σ ′ = ( σ t e m p s k ) 1 r
其中,σ'表示备份文件块的当前签名,σtemp表示备份文件块的临时签名,sk表示用户Uj的签名私钥,r表示云服务器从整数集合中选择的随机数;
(4)判断当前签名映射结果是否等于基础属性值映射结果,若是,则执行步骤(5),否则,执行步骤(3);
(5)生成完整性验证的挑战信息:
(5a)在用户群中任选一个用户作为代表用户;
(5b)代表用户从整数集合[1,n]中,随机选择一个含有c个元素的子集L={s1,s2,......,sc},其中n表示云存储服务器的服务器1中文件块的总数,s表示被随机选择的云存储服务器的服务器1中的文件块的序号;
(5c)代表用户从有理数集合中随机选择一组文件加密参数v,使之与含有c个元素的子集L中的元素一一对应,要求v的比特长度远远小于乘法循环群G1的素数阶的绝对值|p|;
(5d)代表用户将含有c个元素的子集L和加密参数作为挑战信息发送给云存储服务器;
(6)生成完整性验证的应答信息:
(6a)云存储服务器收到挑战信息后,将含有c个元素的子集L={s1,s2,......,sc}中的c个元素重新划分,组合成d个分别含有c个元素的子集l1,l2,......,ld,其中d代表用户群中的用户总数;
(6b)按照下式,云存储服务器计算含有c个元素的子集l对应的文件加密值:
λ i = Σ k ∈ l i v k m k
其中,λ表示含有c个元素的子集l对应的文件加密值,Σ表示求和运算,v表示含有c个元素的子集l对应的随机加密参数,m表示含有c个元素的子集l中的文件块;
(6c)按照下式,云存储服务器计算含有c个元素的子集l的签名加密值:
μ i = Π k ∈ l i σ k v k
其中,μ表示含有c个元素的子集l对应的签名加密值,Π表示连乘操作,σ表示含有c个元素的子集l中的文件块签名,v表示含有c个元素的子集l对应的随机加密参数;
(6d)云存储服务器将文件加密值集合、签名加密值集合以及身份认证标识集合作为应答信息给代表用户;
(7)判断挑战信息映射结果是否等于应答信息映射结果,若是,则执行步骤(8),否则执行步骤(9);
(8)用户代表认证云存储服务器中的数据完整;
(9)用户代表认证云存储服务器中的数据不完整。
2.根据权利要求1所述的云环境下利用备份数据在用户撤销时重签名的方法,其特征在于,步骤(4)中所述的当前签名映射结果是指按照下式进行计算得到的结果:
Ω=e(σ',g)
其中,Ω表示当前签名映射结果,e(·)表示由群G1到群G2的双线性映射操作,σ'表示备份文件块的当前签名,g表示乘法循环群G1的一个生成元。
3.根据权利要求1所述的云环境下利用备份数据在用户撤销时重签名的方法,其特征在于,步骤(4)中所述的基础属性值映射结果是指按照下式进行计算得到的结果:
Ψ=e(ωmH(ID),pk)
其中,Ψ表示基础属性值映射结果,e(·)表示由群G1到群G2的双线性映射操作,ω表示乘法循环群G1的第二个生成元,m表示用户Ui上传到云存储服务器的服务器2中的备份文件块,H(·)表示由映射到点的哈希函数,ID表示备份文件块的身份认证标识,pk表示用户Uj的签名公钥。
4.根据权利要求1所述的云环境下利用备份数据在用户撤销时重签名的方法,其特征在于,步骤(7)中所述的挑战信息映射结果是指按照下式进行计算得到的结果:
其中,Υ表示挑战信息映射结果,e(·)表示由群G1到群G2的双线性映射操作,n表示云存储服务器的服务器1中的文件总数,μ表示云存储服务器的服务器1中文件的签名加密值,g表示乘法循环群G1的一个生成元。
5.根据权利要求1所述的云环境下利用备份数据在用户撤销时重签名的方法,其特征在于,步骤(7)中所述的应答信息映射结果是指按照下式进行计算得到的结果:
Λ = e ( Π i = 1 n ( Π k ∈ L i H ( ID k ) v k ω λ i ) , pk i )
其中,Λ表示应答信息映射结果,e(·)表示由群G1到群G2的双线性映射操作,n表示云存储服务器的服务器1中的文件总数,H(·)表示映射到点的哈希函数,ID表示云存储服务器的服务器1中文件的身份认证标识,v表示云存储服务器的服务器1中文件的文件加密参数,ω分别表示乘法循环群G1的第二个生成元,λ表示云存储服务器的服务器1中文件的文件加密值,pk表示用户群中用户的签名公钥。
CN201610828751.1A 2016-09-18 2016-09-18 云环境下利用备份数据在用户撤销时重签名的方法 Active CN106209365B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610828751.1A CN106209365B (zh) 2016-09-18 2016-09-18 云环境下利用备份数据在用户撤销时重签名的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610828751.1A CN106209365B (zh) 2016-09-18 2016-09-18 云环境下利用备份数据在用户撤销时重签名的方法

Publications (2)

Publication Number Publication Date
CN106209365A true CN106209365A (zh) 2016-12-07
CN106209365B CN106209365B (zh) 2020-06-23

Family

ID=58067760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610828751.1A Active CN106209365B (zh) 2016-09-18 2016-09-18 云环境下利用备份数据在用户撤销时重签名的方法

Country Status (1)

Country Link
CN (1) CN106209365B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790303A (zh) * 2017-03-23 2017-05-31 西安电子科技大学 云存储中借助第三方完成的数据完整性验证方法
CN109241490A (zh) * 2018-07-26 2019-01-18 思力科(深圳)电子科技有限公司 一种面向区块链的x11动态哈希方法及装置
CN110417703A (zh) * 2018-04-26 2019-11-05 中移(苏州)软件技术有限公司 一种代理重签名的方法、服务器及终端设备
CN111611625A (zh) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 云端数据完整性审计方法、装置及计算机可读存储介质
CN114762289A (zh) * 2019-10-11 2022-07-15 奥兰治 用于利用部分验证导出局部签名的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105072086A (zh) * 2015-07-06 2015-11-18 武汉科技大学 一种基于MapReduce的云存储批量审计方法
US20160055347A1 (en) * 2014-08-19 2016-02-25 Electronics And Telecommunications Research Institute Data access control method in cloud
CN105515778A (zh) * 2015-12-25 2016-04-20 河南城建学院 云存储数据完整性服务签名方法
CN105787390A (zh) * 2016-03-02 2016-07-20 深圳大学 一种数据完整性的验证方法及其系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160055347A1 (en) * 2014-08-19 2016-02-25 Electronics And Telecommunications Research Institute Data access control method in cloud
CN105072086A (zh) * 2015-07-06 2015-11-18 武汉科技大学 一种基于MapReduce的云存储批量审计方法
CN105515778A (zh) * 2015-12-25 2016-04-20 河南城建学院 云存储数据完整性服务签名方法
CN105787390A (zh) * 2016-03-02 2016-07-20 深圳大学 一种数据完整性的验证方法及其系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106790303A (zh) * 2017-03-23 2017-05-31 西安电子科技大学 云存储中借助第三方完成的数据完整性验证方法
CN110417703A (zh) * 2018-04-26 2019-11-05 中移(苏州)软件技术有限公司 一种代理重签名的方法、服务器及终端设备
CN110417703B (zh) * 2018-04-26 2021-11-30 中移(苏州)软件技术有限公司 一种代理重签名的方法、服务器及终端设备
CN109241490A (zh) * 2018-07-26 2019-01-18 思力科(深圳)电子科技有限公司 一种面向区块链的x11动态哈希方法及装置
CN109241490B (zh) * 2018-07-26 2023-05-09 南京思利华信息科技有限公司 一种面向区块链的x11动态哈希方法及装置
CN114762289A (zh) * 2019-10-11 2022-07-15 奥兰治 用于利用部分验证导出局部签名的方法
CN111611625A (zh) * 2020-05-26 2020-09-01 牛津(海南)区块链研究院有限公司 云端数据完整性审计方法、装置及计算机可读存储介质
CN111611625B (zh) * 2020-05-26 2023-04-07 牛津(海南)区块链研究院有限公司 云端数据完整性审计方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
CN106209365B (zh) 2020-06-23

Similar Documents

Publication Publication Date Title
CN106961336B (zh) 一种基于sm2算法的密钥分量托管方法和系统
US20210271764A1 (en) Method for storing data on a storage entity
CA3010116C (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
EP3420669B1 (en) Cryptographic method and system for secure extraction of data from a blockchain
CN105592100B (zh) 一种基于属性加密的政务云访问控制方法
CN106603243B (zh) 数字签名的私钥处理方法和装置
CN103699851B (zh) 一种面向云存储的远程数据完整性验证方法
CN103268460B (zh) 一种云存储数据完整性验证方法
CN110505046B (zh) 多数据提供方加密数据跨平台零知识校验方法、装置及介质
CN106209365A (zh) 云环境下利用备份数据在用户撤销时重签名的方法
CN110414981B (zh) 一种支持ZKPs的同态加密方法和区块链交易金额加密方法
EP3395031B1 (en) Method for providing a proof of retrievability
CN105721158A (zh) 云安全隐私性和完整性保护方法和系统
CN104978239A (zh) 一种实现多备份数据动态更新的方法、装置及系统
CN108540291A (zh) 基于身份的云存储中数据完整性验证方法
CN105072086A (zh) 一种基于MapReduce的云存储批量审计方法
CN112435026B (zh) 用零知识证明保护文件交易信息的方法、装置和电子设备
CN106452748A (zh) 基于多用户的外包数据库审计方法
CN106790311A (zh) 云服务器存储完整性检测方法及系统
CN110113334A (zh) 基于区块链的合同处理方法、设备及存储介质
CN105471918A (zh) 一种代理重指定验证者签名方法
CN111245626B (zh) 零知识证明方法、装置及存储介质
CN107257342A (zh) 一种基于云计算的数据安全处理方法
CN105530089A (zh) 属性基加密方法和装置
CN114362958B (zh) 一种基于区块链的智能家居数据安全存储审计方法及系统

Legal Events

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