CN112947855B - 一种基于硬件安全区的高效加密重复数据删除方法 - Google Patents

一种基于硬件安全区的高效加密重复数据删除方法 Download PDF

Info

Publication number
CN112947855B
CN112947855B CN202110136154.3A CN202110136154A CN112947855B CN 112947855 B CN112947855 B CN 112947855B CN 202110136154 A CN202110136154 A CN 202110136154A CN 112947855 B CN112947855 B CN 112947855B
Authority
CN
China
Prior art keywords
key
client
encryption
key generation
storage server
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
CN202110136154.3A
Other languages
English (en)
Other versions
CN112947855A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202110136154.3A priority Critical patent/CN112947855B/zh
Publication of CN112947855A publication Critical patent/CN112947855A/zh
Application granted granted Critical
Publication of CN112947855B publication Critical patent/CN112947855B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • 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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

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

Abstract

本发明公开了一种基于硬件安全区的高效加密重复数据删除方法,属于信息安全技术领域。本发明针对现有加密重复数据删除***中服务器辅助密钥生成和数据块所有权证明的效率问题,提出了一种基于硬件安全区的高效加密重复数据删除方法,从而替代传统方案昂贵的密码学计算,在保障相同的安全性条件下显著提高了计算性能。本发明可以用于客户端‑密钥管理器‑云存储服务器的存储模型中:在用户端部署客户端支持数据读写;在云存储服务器部署密钥管理器和存储服务器用于管理远端数据和支持密钥生成。

Description

一种基于硬件安全区的高效加密重复数据删除方法
技术领域
本发明属于信息安全技术领域,尤其涉及一种基于硬件安全区实现加密重复数据删除存储技术。
背景技术
在加密重复数据删除存储***中,加密重复数据删除通过将输入文件划分为不重叠的块来实现。对于每个数据块,首先计算数据块内容的哈希(称为指纹),并在称为指纹索引的键值存储中跟踪所有当前存储的数据块的指纹。假设在实践中极不可能发生指纹冲突,如果该指纹是指纹索引中不存在的新指纹,则存储该块的物理副本,或者如果已跟踪了指纹,则将该块视为逻辑副本,将其指向已保存的物理副本。加密重复数据删除通过加密扩展了基于块的重复数据删除,从而为外包云存储同时提供数据机密性和存储效率保障。客户端使用一些对称密钥将输入文件的每个明文块加密为密文块,并将所有密文块上载到云端,在云端中将重复数据删除应用于密文块。
至关重要的是,将重复的明文块加密为重复的密文块,使得重复数据删除在密文块上仍然可行。消息锁定加密(MLE)(具体可参考文献《M.Bellare,S.Keelveedhi,andT.Ristenpart. Messagelocked encryption and secure deduplication.In Proc.ofEuroCrypt,2013》)形式化了一种加密原语,该加密原语指定了如何从明文块的内容中派生对称加密密钥(称为MLE密钥),以便保留加密后的重复数据删除能力。主流的MLE实例是收敛加密(CE)(具体可参考文献《J.R.Douceur,A.Adya,W.J.Bolosky,P.Simon,andM.Theimer.Reclaiming space from duplicate files in a serverless distributedfile system.In Proc.of IEEE ICDCS,2002》),它从明文块的加密哈希中得出MLE密钥。然而,CE容易受到离线暴力攻击的攻击(具体可参考文献《M. Bellare,S.Keelveedhi,andT.Ristenpart.Dupless:server-aided encryption for deduplicated storage. InProc.ofUSENIX Security,2013》),在这种攻击中,攻击者可以通过枚举所有可能的明文块的MLE密钥来检查目标密文块,在不知道MLE密钥的情况下来推断输入明文块。由于任何明文块都会加密为对应的目标密文块。因此,原始的MLE要求块是不可预测的(具体可参考文献《M.Bellare,S.Keelveedhi,and T.Ristenpart.Messagelocked encryption andsecure deduplication.In Proc.of EuroCrypt,2013》),加密重复数据删除基于此抵御离线暴力攻击。
为了支持文件重建,每个客户端都会为上载的文件创建文件元数据,其按顺序列出密文块的指纹,大小和MLE密钥。客户端使用自己的主密钥对文件元数据进行加密,然后将其 (连同上传的密文块一起)上传到云中。要下载文件,客户端将检索文件元数据并使用主密钥将其解密。然后,检索密文块,并根据文件元数据中存储的MLE密钥解密密文块,重建原始文件。
为了防御可预测的针对数据块的离线暴力攻击,服务器辅助的MLE(具体可参考文献《M. Bellare,S.Keelveedhi,and T.Ristenpart.Dupless:server-aided encryptionfor deduplicated storage. In Proc.ofUSENIX Security,2013》))部署了专用的密钥服务器来生成MLE密钥。为了加密明文块,客户端首先将明文块的指纹发送到密钥服务器,密钥服务器通过指纹和密钥服务器维护的全局秘密生成并返回MLE密钥。如果全局秘密是安全的,那么即使针对可预测的数据块,对手也无法切实地发起离线暴力攻击。如果全局秘密泄露,则安全性将降低到原始MLE的安全性。服务器辅助的MLE进一步建立在两个安全机制上:首先,它使用遗忘的伪随机函数 (OPRF)(具体可参考文献《M.Naor andO.Reingold.Number-theoretic constructions of efficient pseudo-randomfunctions.Journal of the ACM,51(2):231–262,2004》)允许客户端发送明文块的“盲”指纹,这样密钥服务器仍然可以为相同的指纹返回相同的MLE密钥,同时无法获取到数据块原始指纹。其次,它对来自客户端的密钥生成请求进行速率限制,以防止在线暴力攻击(恶意客户端试图向密钥服务器发出大量密钥生成请求)。
为了节省网络流量,加密重复数据删除可以采用基于客户端的重复数据删除技术,其中重复的密文块在客户端被删除,而不上传到云存储服务器中。具体而言,客户端首先将密文块的指纹发送到云存储服务器,云存储服务器检查是否通过指纹索引跟踪了指纹(即,已经存储了对应的密文块)。然后,客户端仅将非重复的密文块上传到云存储服务器。然而,基于客户端的重复数据删除容易受到侧通道攻击的影响(具体可参考文献《D.Harnik,B.Pinkas, and A.Shulman-Peleg.Side channels in cloud services:Deduplication in cloud storage.IEEE Security&Privacy,8(6):40–47,201》),在这种攻击中,恶意客户端可以通过将目标密文块的指纹发送到云存储服务器中进行查询,甚至获取信息来推断任何目标密文块的存在,实现未经授权的访问(具体可参考文献《M.Mulazzani,S.Schrittwieser,M.Leithner,and M.Huber.Dark clouds on thehorizon:Using cloud storage as attack vector and online slack space.InProc.of USENIX Security,2011》)。为了防御边信道攻击,基于客户端的重复数据删除应当与所有权证明(PoW)结合使用(具体可参考文献《参见文献D.Harnik,E.Tsfadia,D.Chen,and R.Kat. Securing the storage data path with sgx enclaves.https://arxiv.org/abs/1806.10883,2018》),以确保客户端实际上拥有密文块。具体来说,客户端将发送给云存储服务器的每个指纹附有证明,云存储服务器可以通过该证明来验证客户端是否是相应密文块的真正所有者。云存储服务器仅在成功的证明验证成功后作出响应,从而防止任何恶意客户端识别其他客户端拥有的密文块。
但是,实现安全的服务器辅助MLE需要昂贵的加密操作。以服务器辅助的MLE实现DupLESS(具体可参考文献《M.Bellare,S.Keelveedhi,and T.Ristenpart.Dupless:server-aided encryption for deduplicated storage.In Proc.of USENIX Security,2013》)为例:首先,DupLESS执行OPRF协议以保护来自密钥服务器的指纹信息,但是OPRF协议建立在昂贵的公钥加密操作上。其次,DupLESS对客户端的密钥生成请求进行速率限制,保护其免受在线暴力攻击,同时也限制了存储***吞吐量。最后,为了支持基于客户端的重复数据删除,DupLESS需要通过PoW技术防止侧信道攻击,但是当前的PoW实现基于Merkle-tree协议(具体可参考文献《S.Halevi,D.Harnik,B.Pinkas,and A.Shulman-Peleg.Proofsof ownership in remote storage systems.In Proc.ofACM CCS,2011》),这会导致建立Merkle树基于每个数据块进行计算时开销过大。
发明内容
本发明的发明目的在于:针对现有加密重复数据删除***中服务器辅助密钥生成和数据块所有权证明的效率问题,提供一种基于硬件安全区的高效加密重复数据删除方法。
本发明的基于硬件安全区的高效加密重复数据删除方法,在包括云存储服务器、密钥管理器和客户端的加密重复数据删除***中,执行下列步骤:
步骤一、云存储服务器分发附加签名的密钥生成安全区动态运行库到密钥管理器,分发所有权证明安全区动态运行库到各个客户端;其中,密钥生成安全区动态运行库中包含云存储服务器的全局秘密组成部分Sub_sC
步骤二、密钥管理器通过密钥生成安全区动态运行库创建密钥生成安全区,并向云存储服务器远程证明其运行的密钥生成安全区的正确性(云存储服务器验证密钥管理器持有的密钥生成安全区的有效性),若证明通过,则密钥管理器与云存储服务器分别同时启动密钥回归计算,基于密钥回归技术派生出最新的盲化密钥Kk,用于保护密钥生成操作;
步骤三、客户端通过所有权证明安全区动态运行库创建所有权证明安全区,并访问云存储服务器对所有权证明安全区进行远程证明(云存储服务器验证客户端持有的所有权证明安全区的有效性),若证明通过,则客户端通过云存储服务器获取最新的盲化密钥状态信息,以及通过密钥管理器获取密钥管理器的密钥生成安全区当前接受的密钥状态版本信息,并基于密钥回归技术获取密钥生成安全区当前接受的盲化密钥Kk
步骤四、客户端基于当前获取的盲化密钥Kk加密待上传的数据块指纹FPM,得到加密后的数据块指纹C(FPM),并通过该盲化密钥Kk计算C(FPM)的哈希运算消息认证码HMACFP;最后将C(FPM)和HMACFP发送给密钥管理器请求数据块的加密密钥;
步骤五、密钥管理器通过指定的安全区调用接口将当前收到的C(FPM)和HMACFP传递给密钥生成安全区;
密钥生成安全区基于Kk和HMACFP验证接收的C(FPM)的正确性,若通过,则利用盲化密钥Kk解密C(FPM),得到指纹FPM,并根据H(FPM||s)得到指纹FPM的加密密钥KFP;若不通过,则拒绝本次密钥生成,要求客户端重新发送密钥生成请求;其中,全局秘密s为: H(Sub_sC||Sub_sK),Sub_sK表示密钥管理器的全局秘密组成部分,通过指定的安全区调用接口传递给密钥生成安全区,H()表示预置的哈希函数;
密钥生成安全区使用盲化密钥Kk加密KFP得到密文密钥C(KFP),并计算相应的签名HMACK,即密文密钥C(KFP)的哈希运算消息认证码;
密钥生成安全区通过指定的安全区调用接口将加密的密钥C(KFP)和HMACK传递给密钥管理器,通过密钥管理器向客户端返回;
步骤六、客户端验证HMACK,若通过,则解密C(KFP)得到加密密钥KFP;若不通过,则重新进行密钥生成请求;
客户端使用加密密钥KFP对指纹FPM对应的数据块进行加密,得到密文块C,并通过指定的安全区调用接口访问所有权证明安全区,获取密文块C的指纹FPC及其证明信息CMACC(即密文块C的密码型消息身份验证码);并向云存储服务器发起所有权证明请求,该请求中包括指纹FPC和证明信息CMACC
步骤七、云存储服务器验证证明信息CMACC,确定当前客户端拥有该证明信息CMACC对应的数据块后,通过指纹FPC查询重复数据删除索引,并将结果返回给客户端;
步骤八、客户端基于云存储服务器的返回结果进行数据上传处理:若云存储服务器已存在指纹FPC,则不上传密文块C;反之,则将密文块C上传至云存储服务器。
综上所述,由于采用了上述技术方案,本发明的有益效果是:本发明基于硬件安全区的高效加密重复数据删除方法,替代了传统方案昂贵的密码学计算,在保障相同的安全性条件下显著提高了计算性能。
附图说明
图1为实施例中,本发明实施例的***结构示意图。
图2为实施例中,本发明的盲化密钥管理方式的性能分析,其中图2(a)为不同密钥更新参数n对应的更新延迟,图2(b)为默认密钥更新参数n对应的第i次密钥更新操作的延迟;
图3为实施例中,密钥生成速率对比图;
图4为实施例中,采用或不采用Intel SGX的推测性加密时密钥生成安全区的扩展性示意图。
图5为实施例中,不同所有权证明方案的计算速度比较图;
图6为实施例中,应用本发明的加密重复数据删除***和明文重复数据删除***的上传速度对比图;
图7为实施例中,应用本发明的加密重复数据删除***和明文重复数据删除***的下载速度对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合实施方式和附图,对本发明作进一步地详细描述。
本发明针对现有加密重复数据删除***中服务器辅助密钥生成和数据块所有权证明的效率问题,提出了一种基于硬件安全区的高效加密重复数据删除方法,通过替代传统方案昂贵的密码学计算,在保障相同的安全性条件下显著提高了计算性能。本发明可以用于客户端- 密钥管理器-云存储服务器的存储模型中:在用户端部署客户端支持数据读写;在云存储服务器部署密钥管理器和存储服务器用于管理远端数据和支持密钥生成。本发明的基于硬件安全区的高效加密重复数据删除方法的具体实现过程如下:
一、采用盲化密钥管理抵御在线暴力破解攻击。
本发明通过云存储服务器验证客户端权限,并分发密钥生成安全区盲化密钥可以避免密钥生成安全区验证客户端权限以及进行盲化密钥协商造成的高额开销。盲化密钥用于加密密钥生成中的明文块指纹和相应的加密密钥,替代传统OPRF协议中昂贵的公钥密码算法。盲化密钥也用于生成相应的消息认证码,以供客户端和密钥管理器验证数据正确性。同时借助于盲化密钥更新技术可以避免被攻击的客户端具有对密钥生成安全区的持久访问资格,抵御在线暴力破解攻击。其具体实现包含以下步骤:
步骤S101:在密钥管理器初始化过程中,云存储服务器将密钥生成安全区代码以动态运行库附加签名的形式发送给密钥管理器。
云存储服务器在该密钥生成安全区代码中编码写入全局秘密组成部分Sub_sC和盲化密秘 K,该盲化秘密K将用于生成密钥生成请求所需的盲化密钥Kk
步骤S102:密钥管理器通过密钥生成安全区动态运行库创建密钥生成安全区,并将安全区通过远程认证服务向云存储服务器证明其有正确性。
步骤S103:认证通过后,密钥管理器和云存储服务器启动定时器,在预设时间到达后进行密钥更新操作。
其中,密钥管理器在密钥更新时间到达后且没有客户端连接时通过预设的安全区调用接口通知密钥生成安全区更新盲化密钥Kk
步骤S104:盲化密钥更新时,采用密钥回归技术(具体可参考文献《K.Fu,S.Kamara,and T.Kohno.Key regression:Enabling efficient key distribution forsecure distributed storage.In Proc. of NDSS,2006》)。
密钥回归技术首先产生一系列密钥状态S[1],S[2],S[3]~S[m]这些状态中的每一个都可以用于派生盲化密钥。
密钥回归技术允许云存储服务器和密钥生成安全区使用盲化密秘K从旧密钥状态中导出任何新的密钥状态(例如从S[1]导出S[2]),确保客户端无法了解到新状态的任何信息。它还允许客户端从新状态派生任何旧状态(例如从S[2]导出S[1])。
步骤S105:密钥生成安全区与云存储服务器使用相同的基于哈希函数的密钥回归方案,设定共同的参数N(表示可以进行的密钥回归的最大次数),基于盲化密秘K计算第i个状态为S[i]=HN-i+1(K),其中H()代表哈希函数。
步骤S106:客户端从云存储服务器下载当前最新盲化密钥状态S[i],再从密钥管理器获得当前密钥生成安全区接受的盲化密钥的当前版本号j。通过新状态S[i]和j导出密钥生成安全区接受的盲化密钥状态为S[j]=Hi-j+1 (S[i])。
由于密钥生成安全区可能由于正在执行密钥生成而无法立即更新盲化密钥,因此j可能小于i,要求客户端根据最新的盲化密钥状态和密钥生成安全区接受的盲化密钥状态版本号重新导出正确的盲化密钥状态S[j]。
步骤S107:客户端使用盲化密钥状态S[j]通过Kk[j]=H(S[j]||(0)8)计算出用于密钥生成的盲化密钥Kk[j]。其中,(0)8表示比特位数为8的二进制零串。其中,“||”表示连接符。
为了简化描述,将当前生成的盲化密钥表示为盲化密钥Kk,该盲化密钥Kk用于密钥生成安全区和客户端的安全通信(替代传统OPRF协议中基于公钥密码体制的盲化操作),保障通信内容不被恶意的密钥管理器获得。本具体实施方式中,基于盲化密钥Kk对数据块进行加密处理过程具体为:
步骤S201:客户端使用当前获得的盲化密钥Kk加密明文块指纹FPM,并使用Kk计算加密后数据块指纹C(FPM)对应的哈希运算消息认证码HMACFP。将C(FPM)和HMACFP发送给密钥管理器。
例如,客户端通过HMAC-SHA256计算HMACFP。采用Crypto-then-MAC(先加密后计算消息认证码)范式(具体可参考文献《M.Bellare and C.Namprempre.Authenticatedencryption:Relations among notions and analysis of the generic compositionparadigm.In Proc.of AsiaCrypt,2000》)通过检查MAC来检测任何不正确或过时的盲化密钥。该签名使用盲化密钥Kk和数据块指纹C(FPM)作为输入,使得密钥生成安全区可以对收到的数据块指纹C(FPM) 的有效性进行验证。
步骤S202:密钥管理器将收到的C(FPM)和HMACFP后,通过预设的安全区调用接口传递给密钥生成安全区。
由于盲化密钥Kk仅客户端与密钥生成安全区持有,密钥管理器无法获得C(FPM)所对应的明文块指纹FP,实现了与OPRF协议中盲化操作相同的将数据块指纹向密钥管理器保密的作用。
步骤S203:密钥生成安全区使用Kk和附加在加密数据块指纹C(FPM)后的HMACFP验证 C(FPM)是否正确。
密钥生成安全区使用Kk重新计算加密数据块指纹C(FPM)后的哈希运算消息认证码,记为 HMAC′FP,并与接收的HMACFP比对。若相同,则继续执行下一步操作;若不同,则说明客户端使用了伪造或过时的盲化密钥,拒绝本次密钥生成,要求客户端重新发送。
步骤S204:密钥生成安全区验证C(FPM)正确性后,使用Kk解密C(FPM)得到明文块指纹 FPM,将密钥服务的全局秘密s连接在明文块指纹FPM之后,通过哈希计算H(FP||s)得到该明文块指纹FPM对应的加密密钥KFP
该步骤中全局秘密s由密钥管理器和云存储服务器共同产生,具体为:云存储服务器将自己的全局秘密组成部分Sub_sC编码到密钥生成安全区动态运行库中,并将密钥生成安全区代码以动态运行库附加签名的形式分发给密钥管理器,密钥管理器通过预设的安全区调用接口将自己持有的全局秘密组成部分Sub_sK添加到密钥生成安全区。密钥生成安全区通过哈希函数计算H(Sub-sC||Sub_sK)得到最终密钥生成服务的全局秘密s。
步骤S205:密钥生成安全区将加密密钥KFP用Kk进行加密得到C(KFP),并计算相应的消息认证码HMACK以供客户端验证。并将C(KFP)和HMACK返回给密钥管理器,由密钥管理器发送至客户端。
步骤S206:客户端使用Kk验证HMACK,并在验证通过后解密C(KFP)得到数据块指纹FP对应的加密密钥KFP
客户端使用Kk重新计算加密的数据块加密密钥C(KFP)后的消息认证码,记为HMAC′K,并与接收的消息认证码HMACK比对。若相同,则接受该密钥并继续进行剩余的密钥生成;若不同,则说明密钥生成错误,拒绝本次密钥生成结果,重新为当前数据块指纹进行密钥生成。
本发明中,基于硬件安全区的数据块所有权证明,即通过硬件安全区技术代替计算开销高昂的基于Merkel树的所有权证明机制,从而使得本发明在显著提升所有权证明的性能的同时,还能有效障客户端重复数据删除的安全性。该技术包含以下步骤:
步骤S301:客户端向云存储服务器发起远程证明,验证其运行的所有权证明安全区的正确性。同时所有权证明安全区基于指定的椭圆曲线(例如NIST P-256椭圆曲线)进行密钥协商,生成所有权证明签名密钥KP(由云存储服务器和所有权证明安全区双方持有,客户端程序无法获得)。
步骤S302:客户端通过预设的安全区调用接口将加密后的密文块内容C输入所有权证明安全区。
步骤S303:所有权证明安全区计算输入的密文块C的指纹FPC以及相应的CMAC消息认证码CMACC(基于签名密钥KP),并将结果(包含FPC和CMACC)返回至客户端程序。
步骤S304:客户端将FPC和CMACC发送到云存储服务器,云存储服务器收到后根据FPC和签名密钥KP重新计算消息认证码CMAC′C,并与CMACC进行对比。对比成功则说明数据块所有权可信无误,失败则认为该客户端非法,停止对其提供服务。
为了进一步减轻密钥生成安全区的在线加密/解密负担。本具体实施方式中,基于Intel SGX(具体可参考文献《V.Eduardo,L.C.E.de Bona,and W.M.N.Zola.Speculativeencryption on gpu applied to cryptographic file systems.In Proc.of USENIXFAST,2019》)的推测性加密在无负载情况下离线生成用于AES CTR模式的加密/解密掩码,其具体实现过程如下:
步骤(1):客户端若第一次启动,随机挑选加密Nonceθ(只被使用一次的任意非重复随机数值),并将计数器I置为0。若客户非第一次启动(本地保存有旧的Nonceθ和计数器I)则使用已有Nonceθ和计数器I进行加/解密操作。
步骤(2):客户端将Nonceθ和计数器I使用Kk进行加密得到θc和Ic,并计算相应的消息认证码。将加密得到的θc和Ic以及相应的消息认证码HMACθ||I发送到密钥管理器。
步骤(3):密钥管理器将收到的θc和Ic以及相应的消息认证码HMACθ||I通过预配置接口 (Ecall)交付给密钥生成安全区。
步骤(4):密钥生成安全区验证消息认证码HMACθ||I正确后解密θc和Ic得到明文Nonce θ和计数器I。查询Nonce列表检查θ和I的状态,分为以下三种状态:
情况1:如果θ是重复的且I=0,则表示该Nonce已被其他用户使用,则通知密钥管理器发送通知,要求客户端重新选择新的Nonce。
情况2:如果θ是重复的且I≠0,则表明该加密Nonce已经存储,如果该Nonce对应的加密掩码已经预先计算完成(可用)则进行标记,并通知密钥管理器要求客户端开始执行密钥生成。
情况3:如果θ是不重复的(没有已保存的Nonce和该Nonce相同),则将该Nonceθ添加到Nonce列表中,并通知密钥管理器要求客户端开始执行密钥生成。
步骤(5):当密钥管理器空闲(没有客户端连接)时,且从上一次离线计算加解密掩码之后,有部分掩码被使用或者Kk更新时,密钥管理器通过Ecall通知密钥生成安全区进行离线加解密掩码计算。
步骤(6):密钥生成安全区检查Nonce列表,为最近使用过的Nonce计算未来可用的加解密掩码,并将计算好的加解密掩码存储在密钥生成安全区内部的掩码存储区内。
使用加解密掩码与需要进行加/解密操作的数据进行异或操作,得到相应的密文/明文。使用加解密掩码可以使得在线(即时)的加解密操作简化为异或操作,效率大幅提升。
每个加解密掩码为16字节(AES256加密的块大小),因此每个密钥的生成需要使用4 个加解密掩码。其中两个用于解密数据块指纹C(FPM)(SHA256哈希,32字节,大小为两个AES256加密的块大小)两个用于加密生成的数据块密钥KFP(数据块指纹和全局秘密的SHA256 哈希结果,32字节,大小为两个AES256加密的块大小)。离线计算的加解密掩码存储于密钥生成安全区中,并将掩码存储的偏移量等信息添加到对应Nonce在Nonce列表中的记录内,便于密钥生成时使用。
步骤(7):客户向密钥管理器发送C(FPM)和HMACFP开始密钥生成(参见关键技术2,步骤S2)。
步骤S8:密钥生成安全区检查该客户端使用的Nonce是否有里先生成的加解密掩码,若存在,则使用加解密掩码直接计算,若不存在,则在线计算加解密掩码后再进行密钥生成操作(参见步骤S201~S206)。
实施例
本实施例中,硬件安全区采用Intel SGX安全区,所对应的重复数据删除***的称为SGXDedup,其***结构图如图1所示,包括密钥管理器、客户端和云存储服务器,其实现高效加密重复数据删除的具体工作流程如下:
步骤1:云存储服务器分发密钥生成安全区动态运行库到密钥管理器,分发所有权证明安全区动态运行库到客户端。
步骤2:密钥管理器向云存储服务器对密钥生成安全区进行远程证明,验证通过后通过与云存储服务器分别启动密钥回归计时,并派生出最新的盲化密钥Kk
步骤3:客户端向云存储服务器进行远程证明,验证持有的所有权证明安全区的有效性。
步骤4:若步骤3验证通过,则客户端从云存储服务器下载最新的盲化密钥状态S[i],以及从密钥管理器下载当前密钥生成安全区接受的密钥状态版本信息,通过S[j]=Hi -j+1(S[i]) 导出适用的密钥状态,再通过Kk[j]=H(S[j]||(0)8)计算得到用于密钥生成的盲化密钥Kk
步骤5:客户端对数据块计算指纹FPM并通过盲化密钥Kk进行加密并生成消息认证码,将结果(C(FPM)和HMACFP)发送到密钥管理器。
步骤6:密钥管理器通过Ecall调用密钥生成安全区生成对应的密钥及消息认证码,并将结果(C(KFP)和HMACK)发送至对应的客户端。
步骤7:客户端使用获得的数据块加密密钥KFP对数据块进行加密,将加密后的密文块C通过Ecall调用所有权证明安全区,获得当前密文块的指纹和相应的证明信息(包含FPC和 CMACC)。
步骤8:客户端将数据块指纹(FP)和相应的证明信息(Sig)发送到云存储服务器,云存储服务器验证证明信息,确定该客户端实际拥有该数据块后,使用其指纹查询重复数据删除索引,并将结果返回给客户端。
步骤9:客户端根据云存储服务器返回结果决定是否将数据块本身发送至云存储服务器 (若云存储服务器已存在,则不发送,反之发送至云存储服务器)。
将本实施例的重复数据删除***与现有的重复数据删除***进行比对,以进一步验证本发明的有效性。
其中,针对本发明所采用的盲化密钥管理技术,图2(a)给出了第一次密钥更新操作的延迟和密钥回归参数(可承受的密钥更新次数的最大值)的关系,密钥生成安全区和云存储服务器的延迟都随着密钥回归参数的增大而增大,因为较大的密钥回归参数意味着需要更多的哈希计算来进行密钥更新。由于SGX安全区处理密集型计算的能力较弱,因此安全区的密钥更新延迟比云存储服务器大约高1.22-1.56倍。图2(b)显示了每个密钥更新操作的延迟,此时密钥回归参数固定为220。密钥更新延迟随着执行更多密钥更新操作而降低,因为每个密钥更新操作都会减少下一次重新生成密钥操作中一次哈希计算的开销。平均而言,密钥安全区的密钥更新延迟为0.040s,而云存储服务器的密钥更新延迟约为0.027s,这意味着密钥更新开销有限,具有实践价值。
针对本发明中基于Intel SGX(基于硬件安全区)的密钥生成技术和兼容IntelSGX的推测性加密,考虑参与比较的加密方案包括:
1)基于Blind-BLS的OPRF协议下的服务器辅助密钥生成(OPRF-BLS),使用BLS(加密货币签名算法)进行数据盲化,其中OPRF-BLS的具体实现过程可参见文献《F.Armknecht,J.-M.Bohli,G.O.Karame,and F.Youssef.Transparent data deduplication in thecloud.In Proc.of ACM CCS,2015.]》。
2)基于Blind-RSA的OPRF协议下的服务器辅助MLE密钥生成(OPRF-RSA),使用 RSA进行数据盲化,其中OPRF-RSA的具体实现过程可参考文献《M.Bellare,S.Keelveedhi, andT.Ristenpart.Dupless:server-aided encryption for deduplicated storage.InProc.of USENIX Security,2013》。
3)最小哈希加密(MinHash Encryption),将一个数据段(每个数据段的平均大小配置为 1MB)中所有数据块哈希值中最小的一个作为本数据段中所有数据块的加密密钥;底层使用基于Blind-RSA的OPRF协议下的服务器辅助MLE密钥生成。其中MinHashEncryption的具体实现过程可参考文献《C.Qin,J.Li,and P.P.C.Lee.The design andimplementation of a rekeying-aware encrypted deduplication storage system.ACMTransactions on Storage,13(1):9:1– 9:30,2017》。
4)可调节加密技术(TED)[参见文献J.Li,Z.Yang,Y.Ren,P.P.C.Lee,andX.Zhang. Balancing storage efficiency and data confidentiality with tunableencrypted deduplication.In Proc. of ACM EuroSys,2020.],基于CM-Sketch的数据块频率统计技术对重复数据删除***工作负载进行实时频率估计,并通过自动化参数配置技术对存储效率和数据机密性保障进行权衡,为相同数据块产生相同或不同的密钥(TED根据数据块的短哈希值的基于草图的频率计数,为每个数据块生成MLE密钥)。
5)不使用本发明的盲化密钥管理技术(推测性加密)的SGXDedup密钥生成,密钥生成过程中的加/解密操作均在线计算。
6)使用推测性加密的SGXDedup密钥生成,密钥生成过程中的加/解密操作均使用预先生成的加解密掩码。
在比对中,评估了是否使用离线加解密掩码计算技术条件下基于Intel SGX技术的服务器辅助MLE密钥生成技术相对于现有方案的效果,且使用2GB的随机文件作为客户端输入进行测试,客户端进行可变大小的数据块分块后,进行密钥生成操作。图3给出了测试结果(测试中各项对比方案均按照原始描述进行复现),由于本发明提出的方案避免了OPRF-BLS,OPRF-RSA和MinHash Encryption中昂贵的加密原语以及TED中的频率统计和优化问题求解计算,本发明提出的基于SGX的密钥生成技术优于所有对照方法。与OPRF-BLS和OPRF-RSA相比,不使用推测性加密的SGXDedup(SGX-1st)分别实现了1,583倍和131.9 倍的加速。与MinHash加密和TED(这两种方案牺牲了存储效率和安全性)相比,加速分别为9.4倍和3.7倍。而使用推测性加密技术的SGXDedup密钥生成(SGX-2nd,即本发明的方案)中,性能相较于不使用推测性加密技术的SGX-1st速度提高了67.8%。
针对本发明所采用的Intel SGX的推测性加密,从是否使用推测性加密技术的影响来比对。图4给出了采用或不采用Intel SGX的推测性加密两种情况下密钥生成安全区的扩展性。在使用或不使用推测解密技术的两种情况下,总密钥生成速度(多个模拟客户端的总密钥生成数量与总密钥生成时间的比值,各个模拟客户端同时开始进行密钥生成请求,且生成总数相同)首先随着模拟客户端的数量而增加。在最佳性能下,不使用推测性加密技术和使用推测性加密技术分别为五个和十个模拟客户端达到8.5×105密钥/s和29×105密钥/s。在超过十个客户端之后,总密钥生成速度由于上下文切换开销的增加而下降。平均而言,推测性加密的总密钥生成速度提高了4.4倍。
针对本发明所采用的基于硬件安全区的数据块所有权证明,对比分析了以下两种数据块所有权证明方案:
1)基于Merkel树(Merkel Tree)的所有权证明(POW-MT),该方案使用纠删码对数据块进行编码,在编码结果基础上建立Merkel树用于所有权证明,具体证明过程可参考文献《J. Xu,E.-C.Chang,and J.Zhou.Weak leakage-resilient client-sidededuplication of encrypted data in cloud storage.In Proc.of ACM ASIACCS,2013》。
2)基于通用哈希函数的所有权证明(PoW-UH),它建立在通用散列的基础上,但为了性能而牺牲了安全性,具体证明过程可参考文献《S.Halevi,D.Harnik,B.Pinkas,and A.Shulman-Peleg.Proofs of ownership in remote storage systems.In Proc.of ACMCCS,2011]》。
在评估所有权证明的计算性能时,考虑对一个2GB大小的文件进行所有权证明测试。在测试中客户端从文件创建明文块,加密每个数据块,为每个数据块计算证明信息,然后向云存储服务器发出所有权证明请求。本实施例中,根据客户端和云存储服务器对所有数据块的总计算时间来测量所有权证明的速度(不包含网络传输时间)。图5给出了测试结果(测试中各项对比方案均按照原始描述进行复现)。本发明的方案(图5中的SGXDedup)避免了客户端中的纠删码编码和Merkel树构建,以及云存储服务器中基于Merkel树的验证,因此显著优于PoW-MT。与PoW-MT相比,它可实现8.2倍的加速。与PoW-UH相比,它还可以实现2.2倍的加速,同时提供更高的安全性保障。
结合本发明的盲化密钥管理技术、推测性加密、离线加解密掩码计算和基于硬件安全区的数据块所有权证明,从整体进行性能对比测试,验证整体效果。在验证时,使用Trickel(具体可参考文献《M.A.Eriksen.Trickle:A userland bandwidth shaper forunix-like systems.In Proc. of USENIX ATC,2005》)控制网络带宽上限,分析不同网络带宽对上传和下载性能的影响。在基准***中,客户端执行分块,数据块指纹计算,基于客户端的重复数据删除,最后执行所有非重复数据块的上载工作。为了下载文件,客户端向云存储服务器发出下载请求,云访问文件元数据以检索相应的数据块并返回组装完成的文件。基准***与加密重复数据删除***的两次下载方式不同。在后者(加密重复数据删除***)中,客户端首先下载并解密文件元数据,然后下载数据块并在解密后重构文件。图6给出了不同网络带宽的上传速度对比。对于第一次上传,当网络带宽为1Gbps时,本发明的方案SGXDedup(106.6MB/s)和基准***(106.2MB/s)的上传速度都受网络速度的限制。但是,当网络带宽增加到10Gbps(默认值)时,SGXDedup的上载速度变为193.6MB/s,而基准***的上载速度达到242.0MB/ s。对于第二次上载(上传相同的文件,即所有数据块均为重复数据块;同时密钥生成部分中密钥生成安全区将使用离线计算的加解密掩码进行盲化处理),本发明的SGXDedup和基准***的上载速度都不受网络带宽的影响。平均而言,与基准***相比,本发明的SGXDedup在第一次上传和第二次上传中分别导致上传速度下降约14.5%和21.5%。相对于明文重复数据删除***而言,在提供强大的安全性保障的同时,性能损失较小。图7给出了下载速度对比结果。随着网络带宽增加到10Gbps,SGXDedup达到323.1MB/s,与基准***相比下降了44.1%。原因是SGXDedup首先检索和解密文件元数据,然后再下载密文块并进行解密才能完成文件还原。
综上,本发明基于Intel SGX的高效服务器辅助MLE密钥生成和数据块级所有权证明的处理方式,可以实现高效率的数据块密钥生成和支持客户端重复数据删除的数据块所有权证明,在实践中应用相较于明文重复数据删除***而言引入的额外开销较小且可控。
以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以任何方式组合。

Claims (7)

1.一种基于硬件安全区的高效加密重复数据删除方法,其特征为,在包括云存储服务器、密钥管理器和客户端的加密重复数据删除***中,执行下列步骤:
步骤一、云存储服务器分发附加签名的密钥生成安全区动态运行库到密钥管理器,分发所有权证明安全区动态运行库到客户端;其中,密钥生成安全区动态运行库中包含云存储服务器的全局秘密组成部分Sub_sC
步骤二、密钥管理器通过密钥生成安全区动态运行库创建密钥生成安全区,并向云存储服务器远程证明密钥生成安全区的正确性,若证明通过,则密钥管理器与云存储服务器分别同时启动周期性密钥回归计算,该计算基于密钥回归技术派生出最新的盲化密钥Kk
步骤三、客户端通过所有权证明安全区动态运行库创建所有权证明安全区,并访问云存储服务器对所有权证明安全区进行远程证明,若证明通过,则客户端的所有权证明安全区与云存储服务器协商得到共享密钥KP,用于生成和验证数据块指纹的完整性;
同时,客户端通过云存储服务器获取最新的盲化密钥状态信息,以及通过密钥管理器获取密钥管理器的密钥生成安全区当前接受的密钥状态版本信息,并基于密钥回归技术获取密钥生成安全区当前接受的盲化密钥Kk
步骤四、客户端基于当前获取的盲化密钥Kk加密待上传的明文数据块M的指纹FPM,得到加密后的数据块指纹C(FPM),并通过该盲化密钥Kk计算C(FPM)的哈希运算消息认证码HMACFP;并将C(FPM)和HMACFP发送给密钥管理器请求数据块的加密密钥;
步骤五、密钥管理器通过指定的安全区调用接口将当前收到的C(FPM)和HMACFP传递给密钥生成安全区;
密钥生成安全区基于Kk和HMACFP验证接收的C(FPM)的正确性,若通过,则利用盲化密钥Kk解密C(FPM),得到指纹FPM,并根据H(FPM||s)得到指纹FPM的加密密钥KFP;若不通过,则拒绝本次密钥生成,要求客户端重新发送密钥生成请求;其中,全局秘密s为:H(Sub_sC||Sub_sK),Sub_sK表示密钥管理器的全局秘密组成部分,通过指定的安全区调用接口传递给密钥生成安全区,H()表示预置的哈希函数;
密钥生成安全区使用盲化密钥Kk加密KFP得到密文密钥C(KFP),并计算相应的签名HMACK
密钥生成安全区通过指定的安全区调用接口将加密的密钥C(KFP)和HMACK传递给密钥管理器,通过密钥管理器向客户端返回C(KFP)和HMACK
步骤六、客户端验证HMACK,若通过,则解密C(KFP)得到加密密钥KFP;若不通过,则重新进行密钥生成请求;
客户端使用加密密钥KFP对指纹FPM对应的数据块M进行加密,得到密文块C,并通过指定的安全区调用接口访问所有权证明安全区,获取密文块C的指纹FPC及其证明信息CMACC;并向云存储服务器发起所有权证明请求,该请求中包括指纹FPC和证明信息CMACC
步骤七、云存储服务器验证证明信息CMACC,确定当前客户端拥有该证明信息CMACC对应的数据块后,通过指纹FPC查询重复数据删除索引,并将结果返回给客户端;
步骤八、客户端基于云存储服务器的返回结果进行数据上传处理:若云存储服务器已存在指纹FPC,则不上传密文块C;反之,则将密文块C上传至云存储服务器。
2.如权利要求1所述的方法,其特征在于,步骤二中,基于密钥回归技术派生出最新的盲化密钥Kk具体为:
密钥生成安全区与云存储服务器使用相同的基于哈希函数的密钥回归方案,设定共同的参数N,基于盲化秘密K计算第i个状态为S[i]=HN-i+1(K),其中,参数N表示执行密钥回归的最大次数。
3.如权利要求2所述的方法,其特征在于,步骤三中,客户端基于密钥回归技术获取密钥生成安全区当前接受的盲化密钥Kk具体为:
客户端从云存储服务器下载当前最新盲化密钥状态S[i];再从密钥管理器获得密钥生成安全区接受的盲化密钥的当前版本号j,并根据S[j]=Hi-j+1(S[i])导出密钥生成安全区接受的盲化密钥状态S[j];
再根据Kk[j]=H(S[j]||(0)8)计算出用于密钥生成的盲化密钥Kk[j],将Kk[j]作为密钥生成安全区当前接受的盲化密钥Kk,其中,(0)8表示比特位数为8的二进制零串。
4.如权利要求1所述的方法,其特征在于,步骤五中,验证接收的C(KFP)的正确性具体为:密钥生成安全区采用Kk重新计算C(FPM)的哈希运算消息认证码,记为HMAC′FP,并与接收的HMACFP比对,若相同,则验证通过;否则,验证不通过。
5.如权利要求1所述的方法,其特征在于,步骤六中,客户端调用所有权证明安全区获取密文块C的指纹FPC及其证明信息CMACC具体为:
客户端启动时向云存储服务器发起远程证明,验证其持有和运行的所有权证明安全区的正确性;
若通过,则所有权证明安全区基于指定的椭圆曲线与云存储服务器进行密钥协商,生成所有权证明签名密钥KP
客户端通过指定的安全区调用接口将密文块C传递给所有权证明安全区;
所有权证明安全区计算密文块C的指纹FPC及其CMAC消息认证码CMACC,并将指纹FPC和CMACC返回给客户端。
6.如权利要求5所述的方法,其特征在于,步骤七中,云存储服务器验证证明信息CMACC具体为:云存储服务器根据FPC和签名密钥KP重新计算消息认证码CMAC′C,并与接收的CMACC进行对比,若相同,则所有权验证通过;否则不通过。
7.如权利要求1所述的方法,其特征在,在无负载的情况下,采用离线的方式进行加/解密操作,具体处理过程为:
(1)客户端若第一次启动,随机挑选加密Nonce,记为θ,并将计数器的计数值I置为0;若客户非第一次启动,则采用已有Nonce和计数值I进行加/解密操作;
(2)客户端采用盲化密钥Kk对θ和I分别进行加密,得到θc和Ic,并计算θ和I的哈希运算消息认证码HMACθ||I;并将θc和Ic以及消息认证码HMACθ||I发送到密钥管理器;
(3)密钥管理器将收到的θc和Ic以及消息认证码HMACθ||I通过指定的安全区调用接口传递给密钥生成安全区;
(4)密钥生成安全区验证消息认证码正确后解密得到θ和I,查询Nonce列表获取θ和I的状态,并进行如下不同的处理:
若θ重复,且I=0,则表示当前Nonce已被其他用户使用,则通知密钥管理器发送通知,要求客户端重新选择新的Nonce;
若θ重复且I≠0,则表明当前Nonce已经存储,且若所述Nonce对应的加密掩码已经预先计算完成则进行标记,并通知密钥管理器要求客户端开始执行密钥生成,即发起加密密钥生成请求;
若θ是不重复,则将θ添加到Nonce列表中,并通知密钥管理器要求客户端开始执行密钥生成;
(5)当密钥管理器空闲时,且从上一次离线计算加解密掩码之后,有部分掩码被使用或者Kk更新时,密钥管理器通过指定的安全区调用接口通知密钥生成安全区进行离线加解密掩码计算;
(6)密钥生成安全区检查Nonce列表,为最近使用过的Nonce计算未来可用的加解密掩码,并将计算好的加解密掩码存储在密钥生成安全区内部的掩码存储区内;
(7)客户端将C(FPM)和HMACFP发送给密钥管理器请求数据块的加密密钥;
(8)密钥生成安全区检查客户端使用的Nonce是否有已标记的预先生成的加解密掩码,若存在,则使用加解密掩码直接计算,若不存在,则在线计算加解密掩码后再进行密钥生成操作。
CN202110136154.3A 2021-02-01 2021-02-01 一种基于硬件安全区的高效加密重复数据删除方法 Active CN112947855B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110136154.3A CN112947855B (zh) 2021-02-01 2021-02-01 一种基于硬件安全区的高效加密重复数据删除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110136154.3A CN112947855B (zh) 2021-02-01 2021-02-01 一种基于硬件安全区的高效加密重复数据删除方法

Publications (2)

Publication Number Publication Date
CN112947855A CN112947855A (zh) 2021-06-11
CN112947855B true CN112947855B (zh) 2022-10-14

Family

ID=76240647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110136154.3A Active CN112947855B (zh) 2021-02-01 2021-02-01 一种基于硬件安全区的高效加密重复数据删除方法

Country Status (1)

Country Link
CN (1) CN112947855B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141602A (zh) * 2015-08-18 2015-12-09 西安电子科技大学 基于收敛加密的文件所有权证明方法
CN110213042A (zh) * 2019-05-09 2019-09-06 电子科技大学 一种基于无证书代理重加密的云数据去重方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571287B2 (en) * 2014-09-16 2017-02-14 Netapp, Inc. Secure proofs of storage for deduplication
US10277395B2 (en) * 2017-05-19 2019-04-30 International Business Machines Corporation Cryptographic key-generation with application to data deduplication

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141602A (zh) * 2015-08-18 2015-12-09 西安电子科技大学 基于收敛加密的文件所有权证明方法
CN110213042A (zh) * 2019-05-09 2019-09-06 电子科技大学 一种基于无证书代理重加密的云数据去重方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSED: Client-Side encrypted deduplication scheme based on proofs of ownership for cloud storage;ShanshanLi等;《Journal of Information Security and Applications》;20190630;第46卷;第250-258页 *
Rekeying for Encrypted Deduplication Storage;Jingwei Li等;《2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)》;20161003;第618-629页 *
客户端加密重复数据删除机制的研究;张明月;《中国优秀硕士学位论文全文数据库 信息科技辑》;20160331;I138-248 *
数据安全重删***与关键技术研究;李经纬等;《信息安全研究》;20151231;第1卷(第3期);第245-252页 *

Also Published As

Publication number Publication date
CN112947855A (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN108768978B (zh) 一种基于sgx的远端存储服务方法及***
Puzio et al. ClouDedup: Secure deduplication with encrypted data for cloud storage
Kaaniche et al. A secure client side deduplication scheme in cloud storage environments
Li et al. Rekeying for encrypted deduplication storage
US8462955B2 (en) Key protectors based on online keys
US20140006806A1 (en) Effective data protection for mobile devices
JP2022501971A (ja) 鍵管理のための方法、ユーザ・デバイス、管理デバイス、記憶媒体及びコンピュータ・プログラム製品
US20210143986A1 (en) Method for securely sharing data under certain conditions on a distributed ledger
KR102656403B1 (ko) 보안 통신에 사용하기 위한 키 생성
US11444761B2 (en) Data protection and recovery systems and methods
CN110362984B (zh) 多设备运行业务***的方法及装置
CN111277572A (zh) 云存储安全去重方法、装置、计算机设备及存储介质
CN110519222B (zh) 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和***
Dauterman et al. {SafetyPin}: Encrypted backups with {Human-Memorable} secrets
Mishra et al. MPoWS: Merged proof of ownership and storage for block level deduplication in cloud storage
US11216571B2 (en) Credentialed encryption
CN109412788B (zh) 基于公共密钥池的抗量子计算代理云存储安全控制方法和***
CN112947855B (zh) 一种基于硬件安全区的高效加密重复数据删除方法
KR102539418B1 (ko) Puf 기반 상호 인증 장치 및 방법
CN113656818A (zh) 满足语义安全的无可信第三方云存储密文去重方法与***
Ren et al. Limited times of data access based on SGX in cloud storage
Patil et al. Efficient privacy preserving and dynamic public auditing for storage cloud
Bacis et al. Mix&Slice for Efficient Access Revocation on Outsourced Data
Aziz et al. Assured data deletion in cloud computing: security analysis and requirements
Ramesh et al. Cha-Cha 20: stream cipher based encryption for cloud data centre

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