CN112954033A - 一种跨用户的云存储系统重复数据删除方法 - Google Patents

一种跨用户的云存储系统重复数据删除方法 Download PDF

Info

Publication number
CN112954033A
CN112954033A CN202110140129.2A CN202110140129A CN112954033A CN 112954033 A CN112954033 A CN 112954033A CN 202110140129 A CN202110140129 A CN 202110140129A CN 112954033 A CN112954033 A CN 112954033A
Authority
CN
China
Prior art keywords
client
cloud server
file
key
data
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
CN202110140129.2A
Other languages
English (en)
Other versions
CN112954033B (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN202110140129.2A priority Critical patent/CN112954033B/zh
Publication of CN112954033A publication Critical patent/CN112954033A/zh
Application granted granted Critical
Publication of CN112954033B publication Critical patent/CN112954033B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • G06F21/46Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种跨用户的云存储系统重复数据删除方法,包括以下步骤:S1:将要上传文件F至云服务器S的客户端作为上传者C,其他客户端作为检查者;S2:进行基于验证元认证的三方PAKE协议通讯;S3:得到kiL||kiR;得到k′iL||k′iR,并进行同态加密得到同态加密结果;S4:计算加密密文e;S5:对e进行解密,得到kF=Dec(sk,e),利用kF对文件F进行对称密钥加密,得到E(H(kF)F);S6:判断E(H(kF)F)与
Figure DDA0002928404980000011
是否相等;如果相等,则文件F为重复文件,在云服务器S中删除E(H(kF)F),并容许上传者C访问
Figure DDA0002928404980000012
如果均不相等,则文件F为非重复文件,在云服务器S中存储E(H(kF),F);S7:执行结束。本发明提供一种跨用户的云存储系统重复数据删除方法,解决了目前跨用户的云存储重复数据删除方法的安全性不够高的问题。

Description

一种跨用户的云存储系统重复数据删除方法
技术领域
本发明涉及数据处理技术领域,更具体的,涉及一种跨用户的云存储系统重复数据删除方法。
背景技术
云存储重复数据消除策略根据发生重复数据消除的主机进行分类。在服务器端重复数据消除中,所有文件都上载到云服务器,然后删除重复项,而客户端不知道重复数据消除,此策略可节省存储,但不节省带宽。在客户端重复数据消除中,客户端上传文件首先通过发送文件的哈希检查云服务器上是否存在此文件,而不会上载重复项,此策略同时保存存储和带宽,但允许客户端了解云服务器上是否存在文件。
云存储系统一般由云服务器和一系列将数据储存到云服务器的客户端组成。客户端之间并不通信,但是可以通过云服务器进行信息交换,实际中可以引入其他独立服务器来帮助实现重复数据删除,但安全性假设太强。在现实中如何构建一个可信第三方服务器也是一个难题,其次也很难保证第三方服务器不与云服务器合谋。因此,目前跨用户的云存储重复数据删除方法的安全性不够高,无法有效保护用户隐私安全。
现有技术中,如2020-01-10公开的中国专利,一种支持隐私和完整性保护的外包数据去重云存储方法,公开号为CN110677487A,为了保护被存储文件的机密性和隐私性并实现密文文件的去重,采用提取器技术使得外包存储数据的密文不依赖于加密者和加密算法,而依赖于数据本身,使得相同的文件F产生相同的密文,从而既保护了文件的隐私性,又实现了密文数据去重,但不能够抵御离线字典攻击,安全性不够高。
发明内容
本发明为克服目前跨用户的云存储重复数据删除方法的安全性不够高的技术缺陷,提供一种跨用户的云存储系统重复数据删除方法。
为解决上述技术问题,本发明的技术方案如下:
一种跨用户的云存储系统重复数据删除方法,包括以下步骤:
S1:将要上传文件F至云服务器S的客户端作为上传者C,其他客户端作为检查者并组成检查者组{Ci},Ci为第i个检查者;
其中,在云服务器S中存储有每一个已上传文件Fi的对称加密值
Figure BDA0002928404960000021
Figure BDA0002928404960000022
为数据加密密钥的散列值,
Figure BDA0002928404960000023
为检查者Ci中已上传文件的加密密钥;
S2:将检查者Ci与上传者C进行基于验证元认证的三方PAKE协议通讯,并判断是否通讯成功;
若是,则使检查者Ci获取会话密钥ki和上传者C获取对应的会话密钥ki′;
若否,则执行步骤S7;
S3:对ki进行扩展和拆分得到kiL||kiR,将kiL
Figure BDA0002928404960000024
发送至云服务器S;
对ki′进行扩展和拆分得到k′iL||k′iR,并对k′iR进行同态加密得到同态加密结果,将k′iL和同态加密结果上传至云服务器S;
其中,kiL为ki拆分后得到的左分量,kiR为ki拆分后得到的右分量,k′iL为k′i拆分后得到的左分量,k′iR为k′i拆分后得到的右分量;
S4:在云服务器S中计算加密密文e,并将e返回至上传者C;
S5:通过上传者C使用同态加密的私钥sk对e进行解密,得到文件F的加密密钥kF=Dec(sk,e),利用kF对文件F进行对称密钥加密,得到文件F的对称加密值E(H(kF)F)并发送至云服务器S;
S6:在云服务器S中判断E(H(kF)F)与存储的
Figure BDA0002928404960000025
是否相等;
如果相等,则文件F为重复文件,在云服务器S中删除E(H(kF)F),并容许上传者C访问
Figure BDA0002928404960000026
如果均不相等,则文件F为非重复文件,在云服务器S中存储E(H(kF),F);
S7:执行结束。
优选的,设客户端A和客户端B要在云服务器S的协助下进行安全的密钥交换,其中A和B分别拥有口令πA和πB,云服务器S拥有相应的验证元
Figure BDA0002928404960000027
Figure BDA0002928404960000028
Figure BDA0002928404960000029
其中,sA为云服务器中对应客户端A的盐值,HA为云服务器中对应客户端A的口令哈希值,sB为云服务器中对应客户端B的盐值,HB为云服务器中对应客户端B的口令哈希值,F(·)是从口令空间到指数集Zq上的变换;
通过以下步骤执行所述基于验证元认证的三方PAKE协议通讯:
S2.1:在客户端A中选择随机数rA,计算与口令πA的预哈希值
Figure BDA0002928404960000031
对应的ElGamal密文
Figure BDA0002928404960000032
并将消息<A,B,cAS>发送至云服务器S;其中,g和h均为独立生成元,uA为基于rA计算出的ElGamal密文独立生成元,eA为基于rA和PA计算出的ElGamal密文独立生成元;
在客户端B中选择随机数rB,计算与口令πB的预哈希值
Figure BDA0002928404960000033
对应的ElGamal密文
Figure BDA0002928404960000034
并将消息<B,A,cBS>发送至云服务器S;其中,uB为基于rB计算出的ElGamal密文独立生成元,eB为基于rB和PB计算出的ElGamal密文独立生成元;
S2.2:在云服务器S中,
为客户端A选择随机数xA、yA和zA
计算哈希密钥hkA=(xA,yA,zA)和投射密钥的生成元
Figure BDA0002928404960000035
利用hkA计算哈希值
Figure BDA0002928404960000036
并设置标签lA=A||B||S|cAS||hp1A||hp2A、明文信息MA=sA||HA;其中,LA为客户端A相关的语言,cA为客户端A的密文;
将哈希值tkA作为加密的随机值计算得到密文cSA=Enc(pk,MA;lA;tkA);其中,pk为上传者C独有的同态加密公钥;
将消息<sA,hp1A,hp2A,cSA>发送至客户端A;
为客户端B选择随机数xB、yB和zB
计算哈希密钥hkB=(xB,yB,zB)和投射密钥的生成元
Figure BDA0002928404960000037
利用hkB计算哈希值
Figure BDA0002928404960000038
并设置标签lB=B||A||S||cBS||hp1B||hp2B、明文信息MB=sB||HB;其中,LB为客户端B相关的语言,cB为客户端B的密文;
将哈希值tkB作为加密的随机值计算得到密文cSB=Enc(pk,MB;lB;tkB);
将消息<sB,hp1B,hp2B,cSB>发送至客户端B;
S2.3:在客户端A中,根据消息<sA,hp1A,hp2A,cSA>计算
Figure BDA0002928404960000039
Figure BDA00029284049600000310
利用tk′A作为随机数重新计算密文c′SA=Enc(pk,MA;lA;tkA),并验证c′SA与cSA是否相等;
如果相等,则验证通过,选择随机数x构造生成元X=gx和计算MAC值δAS=MAC(mkA′,A||B||S||X),并向云服务器S发送消息<X,δAS>;
如果不相等,则结束会话,通讯不成功,执行步骤S7;
在客户端B中,根据消息<sB,hp1B,hp2B,cSB>计算
Figure BDA0002928404960000041
利用tk′B作为随机数重新计算c′SB=Enc(pk,MB;lB;tkB),并验证c′SB与cSB是否相等;
如果相等,则验证通过,选择随机数y构造Y=gy和计算MAC值δBS=MAC(mk′B,B||A||S||Y),并向云服务器S发送消息<Y,δBS>;
如果不相等,则结束会话,通讯不成功,执行步骤S7。
S2.4:在云服务器S中使用密钥mkA和mkB验证MAC值δAS和δBS是否正确;
如果正确,则验证通过,计算δSA=MAC(mkA,A||B||S||X||Y),δSB=MAC(mkB,B||A||S||Y||X),并向客户端A发送消息<Y,δSA>,向客户端B发送消息<X,δSB>;
如果不正确,则结束会话,通讯不成功,执行步骤S7;
S2.5:在客户端A和客户端B中分别利用密钥mk′A和mk′B验证MAC值δSA和δSB是否正确;
如果正确,则验证通过,通讯成功,在客户端A中计算会话密钥skAB=Yx,在客户端B中计算会话密钥skBA=Xy
如果不正确,则验证失败,结束会话,通讯不成功,执行步骤S7。
优选的,在客户端和云服务器都诚实执行所述基于验证元认证的三方PAKE协议的情况下,对于客户端A相关的语言
Figure BDA0002928404960000042
而言,将其各项展开则有如下等式成立:
Figure BDA0002928404960000043
由此可知,在客户端A和云服务器S中计算得到相同的tkA||mkA,在客户端B和云服务器S中同样将得到相同的tkB||mkB;因此,A和B将生成相同的会话密钥skAB=Yx=gxy=Xy=skBA
优选的,在云服务器S中还存储有每一个已上传文件Fi的短哈希值shi
优选的,在步骤S1中,还包括以下步骤:在上传者C中计算文件F的加密哈希值h和短哈希值sh,并将文件F的短哈希值sh发送至云服务器S。
优选的,在步骤S1中,还包括以下步骤:通过云服务器S在检查者组{Ci}中查找出拥有已上传文件Fi的短哈希值shi与文件F的短哈希值sh相等的检查者Ci
优选的,在步骤S3中,
对ki进行扩展和拆分得到kiL||kiR的具体步骤为:通过检查者Ci使用伪随机函数对ki进行扩展,并将扩展结果拆分为左右两部分得到kiL||kiR
对k′i进行扩展和拆分得到k′iL||k′iR的具体步骤为:通过上传者C使用伪随机函数对k′i进行扩展,并将扩展结果拆分为左右两部分得到k′iL||k′iR
优选的,在步骤S3中,对k′iR进行同态加密得到同态加密结果的具体步骤为:利用上传者C独有的同态加密公钥pk对k′iR进行同态加密得到同态加密结果Enc(pk,k′iR+r);其中,r为上传者C任取的随机数。
优选的,在步骤S3中,还包括将同态加密公钥pk上传至云服务器S。
优选的,在步骤S4中,根据同态加密的原理计算
Figure BDA0002928404960000051
Figure BDA0002928404960000052
与现有技术相比,本发明技术方案的有益效果是:
本发明提供了一种跨用户的云存储系统重复数据删除方法,采用了基于验证元认证的三方PAKE协议进行通讯,能抵御离线字典攻击,削弱了传统的口令认证密钥交换(PAKE)协议易出现的云服务器文件泄露问题,提高了重复数据删除过程中的安全性,有效地保护了用户隐私安全;同时使得云存储环境中每个客户端仅仅需要和云服务器共享一个口令,就可以在云服务器的协助下与其他客户端进行安全的密钥交换,有效地减少了客户端管理口令的负担。
附图说明
图1为本发明的技术方案实施步骤流程图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
如图1所示,一种跨用户的云存储系统重复数据删除方法,包括以下步骤:
S1:将要上传文件F至云服务器S的客户端作为上传者C,其他客户端作为检查者并组成检查者组{Ci},Ci为第i个检查者;
其中,在云服务器S中存储有每一个已上传文件Fi的对称加密值
Figure BDA0002928404960000061
Figure BDA0002928404960000062
为数据加密密钥的散列值,
Figure BDA0002928404960000063
为检查者Ci中已上传文件的加密密钥;
S2:将检查者Ci与上传者C进行基于验证元认证的三方PAKE协议通讯,并判断是否通讯成功;
若是,则使检查者Ci获取会话密钥ki和上传者C获取对应的会话密钥ki′;
若否,则执行步骤S7;
S3:对ki进行扩展和拆分得到kiL||kiR,将kiL
Figure BDA0002928404960000064
发送至云服务器S;
对k′i进行扩展和拆分得到k′iL||k′iR,并对k′iR进行同态加密得到同态加密结果,将k′iL和同态加密结果上传至云服务器S;
其中,kiL为ki拆分后得到的左分量,kiR为ki拆分后得到的右分量,k′iL为k′i拆分后得到的左分量,k′iR为k′i拆分后得到的右分量;
S4:在云服务器S中计算加密密文e,并将e返回至上传者C;在具体实施时,根据云服务器S接收到的kiL
Figure BDA0002928404960000065
k′iR和同态加密结果等信息,根据同态加密的原理计算加密密文e;
S5:通过上传者C使用同态加密的私钥sk对e进行解密,得到文件F的加密密钥kF=Dec(sk,e),利用kF对文件F进行对称密钥加密,得到文件F的对称加密值E(H(kF)F)并发送至云服务器S;
S6:在云服务器S中判断E(H(kF)F)与存储的
Figure BDA0002928404960000066
是否相等;
如果相等,则文件F为重复文件,在云服务器S中删除E(H(kF)F),并容许上传者C访问
Figure BDA0002928404960000067
如果均不相等,则文件F为非重复文件,在云服务器S中存储E(H(kF),F);
S7:执行结束。
实施例2
更具体的,在云存储系统中定义一个长期密钥:客户端集合υ中每一个客户端U∈υ都拥有一个口令πu(u代表某客户端),云服务器拥有口令列表pws=<pws[U]>,其中pws[U]={su,Hu}由口令πu相对应的盐值su和口令哈希值Hu组成;
设客户端A和客户端B要在云服务器S的协助下进行安全的密钥交换,其中A和B分别拥有口令πA和πB,云服务器S拥有相应的验证元
Figure BDA0002928404960000071
Figure BDA0002928404960000072
其中,sA为云服务器中对应客户端A的盐值,HA为云服务器中对应客户端A的口令哈希值,sB为云服务器中对应客户端B的盐值,HB为云服务器中对应客户端B的口令哈希值,F(·)是从口令空间到指数集Zq上的变换;
通过以下步骤执行所述基于验证元认证的三方PAKE协议通讯:
S2.1:在客户端A中选择随机数rA,计算与口令πA的预哈希值
Figure BDA0002928404960000073
对应的ElGamal密文
Figure BDA0002928404960000074
并将消息<A,B,cAS>发送至云服务器S;其中,g和h均为独立生成元,uA为基于rA计算出的ElGamal密文独立生成元,eA为基于rA和PA计算出的ElGamal密文独立生成元;
在客户端B中选择随机数rB,计算与口令πB的预哈希值
Figure BDA0002928404960000075
对应的
Figure BDA0002928404960000076
并将消息<B,A,cBS>发送至云服务器S;其中,uB为基于rB计算出的ElGamal密文独立生成元,eB为基于rB和PB计算出的ElGamal密文独立生成元;
在密码学中,ElGamal加密算法是一个基于迪菲-赫尔曼密钥交换的非对称加密算法;
S2.2:在云服务器S中,
为客户端A选择随机数xA、yA和zA
计算哈希密钥hkA=(xA,yA,zA)和投射密钥的生成元
Figure BDA0002928404960000077
利用hkA计算哈希值
Figure BDA0002928404960000078
并设置标签lA=A||B||S|cAS||h1A||hp2A、明文信息MA=sA||HA
将哈希值tkA作为加密的随机值计算得到密文cSA=Enc(pk,MAlA;tkA);
将消息<sA,hp1A,hp2A,cSA>发送至客户端A;
为客户端B选择随机数xB、yB和zB
计算哈希密钥hkB=(xB,yB,zB)和投射密钥的生成元
Figure BDA0002928404960000079
利用hkB计算哈希值
Figure BDA0002928404960000081
并设置标签lB=B||A||S||cBS||hP1B||hp2B、明文信息MB=sB||HB
将哈希值tkB作为加密的随机值计算得到密文cSB=Enc(pk,MB;lB;tkB);
将消息<sB,hp1B,hp2B,cSB>发送至客户端B;
S2.3:在客户端A中,根据消息<sA,hp1A,hp2A,cSA>计算
Figure BDA0002928404960000082
Figure BDA0002928404960000083
利用tk′A作为随机数重新计算密文c′SA=Enc(pk,MA;lA;tkA),并验证c′SA与cSA是否相等;
如果相等,则验证通过,选择随机数x构造生成元X=gx和计算MAC值δAS=MAC(mk′A,A||B||S||X),并向云服务器S发送消息<X,δAS>;
如果不相等,则结束会话,通讯不成功,执行步骤S7;
在客户端B中,根据消息<sB,hp1B,hp2B,cSB>计算
Figure BDA0002928404960000084
利用tk′B作为随机数重新计算c′SB=Enc(pk,MB;lB;tkB),并验证c′SB与cSB是否相等;
如果相等,则验证通过,选择随机数y构造Y=gy和计算MAC值δBS=MAC(mk′B,B||A|S||Y),并向云服务器S发送消息<Y,δBS>;
如果不相等,则结束会话,通讯不成功,执行步骤S7。
S2.4:在云服务器S中使用密钥mkA和mkB验证MAC值δAS和δBS是否正确;
如果正确,则验证通过,计算δSA=MAC(mkA,A||B||S||X||Y),δSB=MAC(mkB,B||A||S||Y||X),并向客户端A发送消息<Y,δSA>,向客户端B发送消息<X,δSB>;
如果不正确,则结束会话,通讯不成功,执行步骤S7;
S2.5:在客户端A和客户端B中分别利用密钥mk′A和mk′B验证MAC值δSA和δSB是否正确;
如果正确,则验证通过,通讯成功,在客户端A中计算会话密钥skAB=Yx,在客户端B中计算会话密钥skBA=Xy;在具体实施时,即检查者Ci获取会话密钥ki,上传者C获取对应的会话密钥ki′;
如果不正确,则验证失败,结束会话,通讯不成功,执行步骤S7。
在具体实施过程中,基于验证元认证的三方PAKE协议中,用到ElGamal公钥加密体制,明文m对应的ElGamal密文为c←Enc(pk,m;r)=(u=gr,r=hr·m);协议还采用口令哈希机制其中代数定义:sP=⊥,P=gF(π),s=sH∈{0,1}kH=sF(π),F(π)是从口令空间到指数集Zq上的变换;定义语言
Figure BDA0002928404960000091
为了实现在客户端和云服务器之间临时密钥交换的同时,适应客户端拥有口令而云服务器拥有验证元的条件,本实施例构建了适应上述语言Ls,H的平滑投射哈希函数;其中,哈希密钥为hk=(x,y,z),投射密钥为hp=(hp1,hp2),hp1=gxhy,hp2=gysz,利用哈希密钥和投射密钥计算哈希值的方式为Hash(hk,Ls,H,c=(u,e))=uxeyHz
Figure BDA0002928404960000092
客户端在利用投射密钥计算哈希值
Figure BDA0002928404960000093
时需要用到F(π),验证了用户确实拥有F(π)和口令π;语言
Figure BDA0002928404960000094
的定义保证了生成元e=hrgF(π)中的gF(π)部分相对于生成元g的指数与口令哈希值H相对于盐值s的指数是相等的,即证实了云服务器确实拥有与客户端相匹配的验证元。由于ElGamal密文
Figure BDA0002928404960000097
使得服务器计算得到的作为密钥的哈希值tkU||mkU对攻击者来说是完全随机的,从而攻击者无法通过验证密文cSU来判别其猜测口令的正确性,能够抵御离线字典攻击,有效地提高了安全性。
更具体的,在客户端和云服务器都诚实执行所述基于验证元认证的三方协议的情况下,对于客户端A相关的语言
Figure BDA0002928404960000095
而言,将其各项展开则有如下等式成立:
Figure BDA0002928404960000096
由此可知,在客户端A和云服务器S中计算得到相同的tkA||mkA,在客户端B和云服务器S中同样将得到相同的tkB||mkB;因此,A和B将生成相同的会话密钥skAB=Yx=gxy=Xy=skBA;在具体实施时,即检查者Ci获取的会话密钥ki和上传者C获取的会话密钥ki′相同。
更具体的,在云服务器S中还存储有每一个已上传文件Fi的短哈希值shi即SH(Fi)。
更具体的,在步骤S1中,还包括以下步骤:在上传者C中计算文件F的加密哈希值h即H(F)和短哈希值sh即SH(F),并将文件F的短哈希值sh发送至云服务器S。
更具体的,在步骤S1中,还包括以下步骤:通过云服务器S在检查者组{Ci}中查找出拥有已上传文件Fi的短哈希值shi与文件F的短哈希值sh相等的检查者Ci
在具体实施过程中,使用短哈希值sh进行第一次匹配有两处优点:一是在云存储环境下短哈希值sh具有高碰撞性,上传者很难通过短哈希值sh在云服务器中存在与否,就判断出上传文件是否为重复文件;二是不同的数据块可能拥有相同的短哈希值sh,攻击者无法通过短哈希值sh来获取更多信息,有效提高了云数据存储的安全性。
更具体的,在步骤S3中,
对ki进行扩展和拆分得到kiL||kiR的具体步骤为:通过检查者Ci使用伪随机函数对ki进行扩展,并将扩展结果拆分为左右两部分得到kiL||kiR
对ki′进行扩展和拆分得到k′iL||k′iR的具体步骤为:通过上传者C使用伪随机函数对ki′进行扩展,并将扩展结果拆分为左右两部分得到k′iL|k′iR
更具体的,在步骤S3中,对k′iR进行同态加密得到同态加密结果的具体步骤为:利用上传者C独有的同态加密公钥pk对k′iR进行同态加密得到同态加密结果Enc(pk,k′iR+r);其中,r为上传者C任取的随机数。
更具体的,在步骤S3中,还包括将同态加密公钥pk上传至云服务器S。
更具体的,在步骤S4中,根据同态加密的原理计算
Figure BDA0002928404960000101
Figure BDA0002928404960000102
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

Claims (10)

1.一种跨用户的云存储系统重复数据删除方法,其特征在于,包括以下步骤:
S1:将要上传文件F至云服务器S的客户端作为上传者C,其他客户端作为检查者并组成检查者组{Ci},Ci为第i个检查者;
其中,在云服务器S中存储有每一个已上传文件Fi的对称加密值
Figure FDA0002928404950000011
Figure FDA0002928404950000012
为数据加密密钥的散列值,
Figure FDA0002928404950000013
为检查者Ci中已上传文件的加密密钥;
S2:将检查者Ci与上传者C进行基于验证元认证的三方PAKE协议通讯,并判断是否通讯成功;
若是,则使检查者Ci获取会话密钥ki和上传者C获取对应的会话密钥k′i
若否,则执行步骤S7;
S3:对ki进行扩展和拆分得到kiL||kiR,将kiL
Figure FDA0002928404950000014
发送至云服务器S;
对k′i进行扩展和拆分得到k′iL||k′iR,并对k′iR进行同态加密得到同态加密结果,将k′iL和同态加密结果上传至云服务器S;
其中,kiL为ki拆分后得到的左分量,kiR为ki拆分后得到的右分量,k′iL为k′i拆分后得到的左分量,k′iR为k′i拆分后得到的右分量;
S4:在云服务器S中计算加密密文e,并将e返回至上传者C;
S5:通过上传者C使用同态加密的私钥sk对e进行解密,得到文件F的加密密钥kF=Dec(sk,e),利用kF对文件F进行对称密钥加密,得到文件F的对称加密值E(H(kF)F)并发送至云服务器S;
S6:在云服务器S中判断E(H(kF)F)与存储的
Figure FDA0002928404950000015
是否相等;
如果相等,则文件F为重复文件,在云服务器S中删除E(H(kF)F),并容许上传者C访问
Figure FDA0002928404950000016
如果均不相等,则文件F为非重复文件,在云服务器S中存储E(H(kF),F);
S7:执行结束。
2.根据权利要求1所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,设客户端A和客户端B要在云服务器S的协助下进行安全的密钥交换,其中A和B分别拥有口令πA和πB,云服务器S拥有相应的验证元
Figure FDA0002928404950000017
Figure FDA0002928404950000018
其中,sA为云服务器中对应客户端A的盐值,HA为云服务器中对应客户端A的口令哈希值,sB为云服务器中对应客户端B的盐值,HB为云服务器中对应客户端B的口令哈希值,F(·)是从口令空间到指数集Zq上的变换;
通过以下步骤执行所述基于验证元认证的三方PAKE协议通讯:
S2.1:在客户端A中选择随机数rA,计算与口令πA的预哈希值
Figure FDA0002928404950000021
对应的ElGamal密文
Figure FDA0002928404950000022
并将消息<A,B,cAS>发送至云服务器S;其中,g和h均为独立生成元,uA为基于rA计算出的ElGamal密文独立生成元,eA为基于rA和PA计算出的ElGamal密文独立生成元;
在客户端B中选择随机数rB,计算与口令πB的预哈希值
Figure FDA0002928404950000023
对应的ElGamal密文
Figure FDA0002928404950000024
并将消息<B,A,cBS>发送至云服务器S;其中,uB为基于rB计算出的ElGamal密文独立生成元,eB为基于rB和PB计算出的ElGamal密文独立生成元;
S2.2:在云服务器S中,
为客户端A选择随机数xA、yA和zA
计算哈希密钥hkA=(xA,yA,zA)和投射密钥的生成元
Figure FDA0002928404950000025
利用hkA计算哈希值
Figure FDA0002928404950000026
并设置标签lA=A||B||S|cAS||hp1A||hp2A、明文信息MA=sA||HA;其中,LA为客户端A相关的语言,cA为客户端A的密文;
将哈希值tkA作为加密的随机值计算得到密文cSA=Enc(pk,MA;lA;tkA);其中,pk为上传者C独有的同态加密公钥;
将消息<sA,hp1A,hp2A,cSA>发送至客户端A;
为客户端B选择随机数xB、yB和zB
计算哈希密钥hkB=(xB,yB,zB)和投射密钥的生成元
Figure FDA0002928404950000027
利用hkB计算哈希值
Figure FDA0002928404950000028
并设置标签lB=B||A||S||cBS||hp1B||hp2B、明文信息MB=sB||HB;其中,LB为客户端B相关的语言,cB为客户端B的密文;
将哈希值tkB作为加密的随机值计算得到密文cSB=Enc(pk,MB;lB;tkB);
将消息<sB,hp1B,hp2B,cSB>发送至客户端B;
S2.3:在客户端A中,根据消息<sA,hp1A,hp2A,cSA>计算
Figure FDA0002928404950000031
Figure FDA0002928404950000032
利用tk′A作为随机数重新计算密文c′SA=Enc(pk,MA;lA;tkA),并验证c′SA与cSA是否相等;
如果相等,则验证通过,选择随机数x构造生成元X=gx和计算MAC值δAS=MAC(mk′A,A||B||S||X),并向云服务器S发送消息<X,δAS>;
如果不相等,则结束会话,通讯不成功,执行步骤S7;
在客户端B中,根据消息<sB,hp1B,hp2B,cSB>计算
Figure FDA0002928404950000033
利用tk′B作为随机数重新计算c′SB=Enc(pk,MB;lB;tkB),并验证c′SB与cSB是否相等;
如果相等,则验证通过,选择随机数y构造Y=gy和计算MAC值δBS=MAC(mk′B,B||A||S||Y),并向云服务器S发送消息<Y,δBS>;
如果不相等,则结束会话,通讯不成功,执行步骤S7。
S2.4:在云服务器S中使用密钥mkA和mkB验证MAC值δAS和δBS是否正确;
如果正确,则验证通过,计算δSA=MAC(mkA,A||B||S||X||Y),δSB=MAC(mkB,B||A||S||Y||X),并向客户端A发送消息<Y,δSA>,向客户端B发送消息<X,δSB>;
如果不正确,则结束会话,通讯不成功,执行步骤S7;
S2.5:在客户端A和客户端B中分别利用密钥mk′A和mk′B验证MAC值δSA和δSB是否正确;
如果正确,则验证通过,通讯成功,在客户端A中计算会话密钥skAB=Yx,在客户端B中计算会话密钥skBA=Xy
如果不正确,则验证失败,结束会话,通讯不成功,执行步骤S7。
3.根据权利要求2所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在客户端和云服务器都诚实执行所述基于验证元认证的三方PAKE协议的情况下,对于客户端A相关的语言
Figure FDA0002928404950000034
而言,将其各项展开则有如下等式成立:
Figure FDA0002928404950000035
由此可知,在客户端A和云服务器S中计算得到相同的tkA||mkA,在客户端B和云服务器S中同样将得到相同的tkB||mkB;因此,A和B将生成相同的会话密钥skAB=Yx=gxy=Xy=skBA
4.根据权利要求1所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在云服务器S中还存储有每一个已上传文件Fi的短哈希值shi
5.根据权利要求4所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在步骤S1中,还包括以下步骤:在上传者C中计算文件F的加密哈希值h和短哈希值sh,并将文件F的短哈希值sh发送至云服务器S。
6.根据权利要求5所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在步骤S1中,还包括以下步骤:通过云服务器S在检查者组{Ci}中查找出拥有已上传文件Fi的短哈希值shi与文件F的短哈希值sh相等的检查者Ci
7.根据权利要求1所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在步骤S3中,
对ki进行扩展和拆分得到kiL||kiR的具体步骤为:通过检查者Ci使用伪随机函数对ki进行扩展,并将扩展结果拆分为左右两部分得到kiL||kiR
对k′i进行扩展和拆分得到k′iL||k′iR的具体步骤为:通过上传者C使用伪随机函数对k′i进行扩展,并将扩展结果拆分为左右两部分得到k′iL||k′iR
8.根据权利要求1所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在步骤S3中,对k′iR进行同态加密得到同态加密结果的具体步骤为:利用上传者C独有的同态加密公钥pk对k′iR进行同态加密得到同态加密结果Enc(pk,k′iR+r);其中,r为上传者C任取的随机数。
9.根据权利要求8所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在步骤S3中,还包括将同态加密公钥pk上传至云服务器S。
10.根据权利要求9所述的一种跨用户的云存储系统重复数据删除方法,其特征在于,在步骤S4中,根据同态加密的原理计算
Figure FDA0002928404950000041
Figure FDA0002928404950000042
CN202110140129.2A 2021-02-02 2021-02-02 一种跨用户的云存储系统重复数据删除方法 Expired - Fee Related CN112954033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110140129.2A CN112954033B (zh) 2021-02-02 2021-02-02 一种跨用户的云存储系统重复数据删除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110140129.2A CN112954033B (zh) 2021-02-02 2021-02-02 一种跨用户的云存储系统重复数据删除方法

Publications (2)

Publication Number Publication Date
CN112954033A true CN112954033A (zh) 2021-06-11
CN112954033B CN112954033B (zh) 2022-10-25

Family

ID=76241198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110140129.2A Expired - Fee Related CN112954033B (zh) 2021-02-02 2021-02-02 一种跨用户的云存储系统重复数据删除方法

Country Status (1)

Country Link
CN (1) CN112954033B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939191A (zh) * 2016-07-08 2016-09-14 南京理工大学 一种云存储中密文数据的客户端安全去重方法
CN107086902A (zh) * 2017-03-22 2017-08-22 北京理工大学 一种基于动态门限密码支持三方审核与文件去重的云存储系统
CN108377237A (zh) * 2018-02-05 2018-08-07 江苏大学 用于云端密文存储的具有所有权管理的数据去重系统及其数据去重方法
WO2018188074A1 (en) * 2017-04-14 2018-10-18 Nokia Technologies Oy Secure encrypted data deduplication with efficient ownership proof and user revocation
CN109379182A (zh) * 2018-09-04 2019-02-22 西安电子科技大学 支持数据去重的高效数据重加密方法及系统、云存储系统
US20190349191A1 (en) * 2018-05-08 2019-11-14 NEC Laboratories Europe GmbH Dynamic anonymous password-authenticated key exchange (apake)
CN110750796A (zh) * 2019-08-28 2020-02-04 广东工业大学 一种支持公开审计的加密数据去重方法
KR20200021268A (ko) * 2018-08-20 2020-02-28 제주대학교 산학협력단 클라우드 환경에서 프라이버시 보호를 위한 파일 중복제거 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105939191A (zh) * 2016-07-08 2016-09-14 南京理工大学 一种云存储中密文数据的客户端安全去重方法
CN107086902A (zh) * 2017-03-22 2017-08-22 北京理工大学 一种基于动态门限密码支持三方审核与文件去重的云存储系统
WO2018188074A1 (en) * 2017-04-14 2018-10-18 Nokia Technologies Oy Secure encrypted data deduplication with efficient ownership proof and user revocation
CN108377237A (zh) * 2018-02-05 2018-08-07 江苏大学 用于云端密文存储的具有所有权管理的数据去重系统及其数据去重方法
US20190349191A1 (en) * 2018-05-08 2019-11-14 NEC Laboratories Europe GmbH Dynamic anonymous password-authenticated key exchange (apake)
KR20200021268A (ko) * 2018-08-20 2020-02-28 제주대학교 산학협력단 클라우드 환경에서 프라이버시 보호를 위한 파일 중복제거 방법
CN109379182A (zh) * 2018-09-04 2019-02-22 西安电子科技大学 支持数据去重的高效数据重加密方法及系统、云存储系统
CN110750796A (zh) * 2019-08-28 2020-02-04 广东工业大学 一种支持公开审计的加密数据去重方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张启慧等: "改进的三方口令验证元认证密钥交换协议", 《软件学报》 *
张曙光等: "无可信第三方的加密重复数据安全删除方法", 《密码学报》 *
贡坚等: "客户端密文去重方案的新设计", 《小型微型计算机系统》 *

Also Published As

Publication number Publication date
CN112954033B (zh) 2022-10-25

Similar Documents

Publication Publication Date Title
Agrawal et al. PASTA: password-based threshold authentication
CN112106322B (zh) 基于密码的阈值令牌生成
CN108111301B (zh) 基于后量子密钥交换实现ssh协议的方法及其系统
CN105939191B (zh) 一种云存储中密文数据的客户端安全去重方法
Miao et al. Secure multi-server-aided data deduplication in cloud computing
CN110932870B (zh) 一种量子通信服务站密钥协商系统和方法
CN106130716B (zh) 基于认证信息的密钥交换系统及方法
US20140122888A1 (en) Method for password based authentication and apparatus executing the method
CN110213042A (zh) 一种基于无证书代理重加密的云数据去重方法
CN108347404B (zh) 一种身份认证方法及装置
CN105721153B (zh) 基于认证信息的密钥交换系统及方法
KR101493214B1 (ko) 패스워드 기반 인증 방법 및 이를 수행하기 위한 장치
WO2017195886A1 (ja) 認証システム、認証方法およびプログラム
CN111416710B (zh) 一种应用于多接收端的无证书可搜索加密方法和系统
Xu et al. Provably secure three-party password authenticated key exchange protocol based on ring learning with error
Hossain et al. ICAS: Two-factor identity-concealed authentication scheme for remote-servers
WO2017020669A1 (zh) 分布式系统节点身份认证方法及装置
Tahir et al. A scheme for the generation of strong icmetrics based session key pairs for secure embedded system applications
CN112954033B (zh) 一种跨用户的云存储系统重复数据删除方法
CN115276986B (zh) 一种通用场景下的云代理池分流重加密共享方法
CN114244531A (zh) 基于强puf的轻量级自更新消息认证方法
Zhu et al. Malicious-Resistant Non-Interactive Verifiable Aggregation for Federated Learning
CN110572788B (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
Wang et al. A new construction on randomized message-locked encryption in the standard model via UCEs
Park et al. A symmetric key based deduplicatable proof of storage for encrypted data in cloud storage environments

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20221025