一种支持数据更新的加密数据块客户端去重方法技术

技术编号:18256827 阅读:34 留言:0更新日期:2018-06-20 08:30
本发明专利技术公开了一种支持数据更新的加密数据块客户端去重方法,利用收敛加密算法,使得相同的明文文件块加密后映射为相同的密文文件块,构建新型动态平衡跳跃表作为文件所有权认证结构,进行服务器与文件后继上传者之间的文件所有权认证交互,实现加密数据块客户端去重。提出动态平衡跳跃表自平衡的方法,根据用户上传的动态操作指令和待更新的明文文件块的认证值,对动态平衡跳跃表中节点进行修改、插入和删除操作,本发明专利技术不仅提高了服务器去重比率和存储资源利用率,节省用户带宽和上传时间,而且支持数据块更新,实现服务器端数据弹性管理。

A client-side data removal method for encrypted data block supporting data update

The invention discloses an encrypted data block client deweighting method to support data updating, and uses convergent encryption algorithm to map the same plaintext file into the same ciphertext file after encrypting the same plaintext block, and constructs a new dynamic balance hopping table as the file ownership authentication structure, and carries out the successor of the server and file. The file ownership authentication interaction between files to achieve encrypted data block client to re emphasize. The method of dynamic balance jumping table self balancing is proposed. According to the user's dynamic operation instruction and the authentication value of the updated plaintext file, the nodes in the dynamic balance jump table are modified, inserted and deleted. The invention not only improves the server's weight loss ratio and storage resource utilization rate, but also saves the user bandwidth and saves the user bandwidth. Upload time, and support data block update, to achieve flexible server side data management.

【技术实现步骤摘要】
一种支持数据更新的加密数据块客户端去重方法
本专利技术属于计算机
,进一步涉及信息安全
中的一种支持数据更新的加密数据块客户端去重方法。本专利技术可用于支持加密数据块去重和更新的云存储系统,不仅可提高去重比率,节省用户的上传带宽和服务器的存储空间,还支持用户对文件块的更新操作,实现数据弹性管理。
技术介绍
云存储数据去重技术广泛地应用在数据备份中减少网络和存储开销。该技术可以消除数据冗余,只留下一个物理副本,而不会保留多个相同内容的数据拷贝。数据去重技术基于不同的去重策略,可分为客户端或服务器端去重,文件级或文件块级去重等。客户端去重相比于服务器端去重,可以减少重复数据的上传,节省用户带宽和上传时间,带来更好的用户体验。文件块级去重相比于文件级去重,可以实现更细粒度的去重,提高去重比率和存储资源利用率。因此,加密数据块去重技术或者加密数据客户端去重技术得到云存储服务供应商的肯定和支持。但现实生活中,人们往往需要对云端备份文件提出更新请求,因此,数据去重技术支持用户对云端数据的更新,实现服务器对数据的弹性管理,具有重大的现实需求。北京安码科技有限公司在其申请的专利文献“一种安全的重复数据删除方法”(申请号:201310736892.7,公开号:CN103731423A)中公开了一种重复数据删除的方法。该方法的具体步骤包括:客户端对需要存储的文件运用同一密钥不同的加密算法加密成密文;服务器首先通过文件的哈希值判断是否存储过该文件;客户端通过服务器返回的密文解密出密钥,再用另一加密算法加密;服务器通过对比文件用同一加密算法两次加密判断是否进行重复数据删除。该方法存在的不足之处是:该方法中的密钥是由用户随机产生的,不能抵抗由文件首位上传者发起的内容欺骗攻击,安全性较低,而且该方法不支持文件块级去重,去重粒度小,去重比率低。ChenR,MuYandYangG等人在其发表的论文“BL-MLE:Block-LevelMessage-LockedEncryptionforSecureLargeFileDeduplication”(IEEETransactionsonInformationForensicsSecurity,2015,10(12):2643–2652.)中提出了一种加密文件块的去重方法。该方法基于收敛加密算法对文件块进行加密处理,实现文件块级去重。该方法的具体步骤:客户端利用文件块的哈希值加密文件块,再利用文件的哈希值对文件块的内容进行指数运算,产生文件块标签。服务器通过双线性对等式判断不同文件中是否存在相同文件块,删除重复加密文件块,从而实现文件块级去重。该方法存在的不足之处是:使用双线性算法和指数运算,计算复杂度高,效率低;不能支持用户对文件块的更新操作,若用户想要更新云端备份文件,则需要上传更新后的整个文件,而不仅是需要更新的文件块,从而浪费用户上传带宽和上传时间。HeK,ChenJ,DuR等人在其发表的论文“DeyPoS:DeduplicatableDynamicProofofStorageforMulti-UserEnvironments”(IEEETransactionsonComputers,2016,65(12):3631–3645.)中提出了一种云存储数据去重环境下支持动态更新的文件所有权认证和完整性验证的方法。该方法设计了一种新的文件所有权认证结构——同态认证树,它可支持三种更新操作,可满足用户对文件块的更新需求。同态认证树中各节点的计算采用同态算法,服务器基于该结构对文件后继上传者进行文件所有权的认证。该方案存在的不足之处是:大规模的插入和删除操作会导致同态认证结构的失衡,从而失去二分查找的高效性;该方法不支持加密文件块去重,去重比率低。Zhao,Yongjun,andS.S.M.Chow在其发表的论文“UpdatableBlock-LevelMessage-LockedEncryption[C]”(ACMAsiaConferenceonComputerandCommunicationsSecurity.ACM,2017.)中提出了一种可更新的基于收敛加密算法的数据块去重方法。该方法的具体步骤:用户利用文件块的哈希值加密文件块,将文件块哈希值前后连接作为新明文文件块,再利用新明文文件块的哈希值加密对应的新明文文件块,直到产生最后一个明文文件块,该明文文件块的哈希值作为文件的主密钥,用于文件的加密和更新;服务器基于上述加密文件块建立MerkleTree,用于文件块和文件块密钥连接值的存储与更新。该方法存在的不足之处是:没有提出安全高效的文件所有权认证方法,造成大量重复文件块的上传,浪费用户带宽;采用迭代收敛加密算法计算文件块密文,使得文件块密文的解密过程效率低;MerkleTree因自身的结构限制,仅支持叶子节点的修改更新,并不支持叶子节点插入和删除更新,因此,不能完全满足用户对文件块的更新需求。
技术实现思路
本专利技术的目的是针对上述现有技术的不足,提出一种支持数据更新的加密数据块客户端去重方法。为了实现本专利技术目的的具体思路是:采用收敛加密算法计算加密文件块的方法,确保相同的明文文件块加密后映射为相同的密文文件块,实现不同文件中相同文件块的去重,保护数据私密性,提高服务器端的去重比率和存储资源利用率。基于跳跃表概率上高效查找和支持更新操作的特性,提出具有二分查找优势的新型动态平衡跳跃表作为文件所有权的认证结构和新的认证方法,实现服务器与文件后继上传者的文件所有权认证交互,避免了相同数据块重复上传,节省用户带宽和上传时间。最后,借鉴平衡二叉树结构平衡特性,提出动态平衡跳跃表更新操作自平衡的方法,根据用户上传的动态操作指令和待更新的明文文件块的认证值,实现动态平衡跳跃表中节点的修改、插入和删除操作,以支持云端文件块的更新,实现服务器端数据弹性管理。本专利技术的具体步骤包括如下:(1)文件首位上传者对数据块进行加密处理:(1a)文件首位上传者利用256位安全散列算法SHA256,以明文文件作为输入,计算明文文件的密钥,以明文文件的密钥作为输入,计算明文文件的标签;(1b)文件首位上传者对明文文件进行长度为4kb的分块,生成多个明文文件块;(1c)文件首位上传者利用256位安全散列算法SHA256,以每一个明文文件块作为输入,计算每一个明文文件块的密钥,以每一个明文文件块和明文文件块密钥前后连接作为输入,计算每一个明文文件块的认证值;(1d)文件首位上传者采用256位高级加密标准AES256中的加密算法,用明文文件块的密钥加密明文文件块,得到密文文件块,用明文文件的密钥加密明文文件块密钥的连接值,得到明文文件块密钥的连接值密文;(1e)文件首位上传者将明文文件的标签、明文文件块的认证值、密文文件块和明文文件块密钥的连接值密文上传至服务器;(2)服务器构建新型动态平衡跳跃表:(2a)将每个明文文件块认证值对应的基层节点,按照明文文件块认证值对应的明文文件块的前后顺序,连接成一个单链表;(2b)从当前链表左侧第一个节点开始,将每两个节点作为子节点生成一个父节点;若当前链表中节点个数为奇数时,将剩余的最后三个节点作为子节点生成一个父节点;(2c)利用256位安全散列算法SHA256,将每本文档来自技高网
...
一种支持数据更新的加密数据块客户端去重方法

【技术保护点】
1.一种支持数据更新的加密数据块客户端去重方法,其特征在于,包括如下步骤:(1)文件首位上传者对数据块进行加密处理:(1a)文件首位上传者利用256位安全散列算法SHA256,以明文文件作为输入,计算明文文件的密钥,以明文文件的密钥作为输入,计算明文文件的标签;(1b)文件首位上传者对明文文件进行长度为4kb的分块,生成多个明文文件块;(1c)文件首位上传者利用256位安全散列算法SHA256,以每一个明文文件块作为输入,计算每一个明文文件块的密钥,以每一个明文文件块和明文文件块密钥前后连接作为输入,计算每一个明文文件块的认证值;(1d)文件首位上传者采用256位高级加密标准AES256中的加密算法,用明文文件块的密钥加密明文文件块,得到密文文件块,用明文文件的密钥加密明文文件块密钥的连接值,得到明文文件块密钥的连接值密文;(1e)文件首位上传者将明文文件的标签、明文文件块的认证值、密文文件块和明文文件块密钥的连接值密文上传至服务器;(2)服务器构建新型动态平衡跳跃表:(2a)将每个明文文件块认证值对应的基层节点,按照明文文件块认证值对应的明文文件块的前后顺序,连接成一个单链表;(2b)从当前链表左侧第一个节点开始,将每两个节点作为子节点生成一个父节点;若当前链表中节点个数为奇数时,将剩余的最后三个节点作为子节点生成一个父节点;(2c)利用256位安全散列算法SHA256,将每个父节点中每个子节点的哈希值,按照子节点左右顺序连接成哈希连接值作为输入,计算哈希连接值的哈希值,将哈希连接值的哈希值赋值给每个父节点的哈希值;(2d)将每个父节点中每个子节点可达基层节点数的和赋值给每个父节点的可达的基层节点数;将生成每个父节点所用的节点数赋值给每个父节点的子节点数;(2e)用每个父节点的下指针指向该节点左侧第一个子节点的位置,将生成的父节点按照生成的先后顺序链接成父链表;(2f)删除不同父节点中子节点之间的指针;(2g)判断父链表中是否只有一个节点,若是,则将父链表中的唯一节点标记为根节点,得到动态平衡跳跃表后执行步骤(3);否则,以生成的父链表作为当前链表后执行步骤(2b);(3)服务器对加密数据块进行去重操作:服务器利用256位安全散列算法SHA256,以密文文件块作为输入,计算密文文件块的标签,删除已有相同密文文件块标签的重复密文文件块,完成服务器端的加密数据块去重操作;(4)文件后继上传者与服务器进行文件所有权认证交互:(4a)服务器利用随机函数随机生成两个正整数,将两个正整数发送给文件后继上传者;(4b)文件后继上传者将两个正整数中的一个作为随机种子,生成与另一个正整数相等的多个随机数作为被挑战文件块的索引值;(4c)文件后继上传者对明文文件进行长度为4kb的分块,生成多个明文文件块;(4d)文件后继上传者利用256位安全散列算法SHA256,计算被挑战文件块的索引值所对应的被挑战文件块的认证值,将其发送至服务器;(5)服务器确定该后继上传者是否是文件拥有者:(5a)服务器将两个正整数中的一个作为随机种子,生成与另一个正整数相等的多个随机数作为被挑战文件块的索引值;(5b)在动态平衡跳跃表中,服务器查找被挑战文件块索引值所对应基层节点的父类节点和父类节点的兄弟节点;(5c)利用256位安全散列算法SHA256,服务器用兄弟节点的哈希值和接收到的被挑战文件块的认证值,重新计算动态平衡跳跃表根节点的哈希值;(5d)判断动态平衡跳跃表根节点的哈希值与服务器本地所存储的根节点哈希值是否相等,若是,则文件所有权认证通过,服务器将后续上传者标记为文件拥有者后执行步骤(6);否则,文件所有权认证失败;(6)文件拥有者下载服务器端的密文文件块:(6a)文件拥有者将明文文件的标签和下载请求发送至服务器;(6b)服务器将明文文件标签对应的所有密文文件块和明文文件块密钥连接值的密文发送至文件拥有者;(7)文件拥有者解密服务器端的密文文件块:文件拥有者采用256位高级加密标准AES256中的解密算法,用明文文件的密钥解密明文文件块密钥的连接值密文,得到明文文件块密钥的连接值,用明文文件块的密钥解密密文文件块,得到明文文件块;(8)文件拥有者对新的明文文件块进行加密处理:(8a)文件拥有者将明文文件的标签和更新请求发送至服务器;(8b)服务器将文件块密钥连接值的密文发送给文件拥有者;(8c)采用256位高级加密标准AES256中的解密算法,文件拥有者用明文文件的密钥解密明文文件块密钥连接值的密文,得到明文文件块密钥的连接值;(8d)利用256位安全散列算法SHA256,文件拥有者分别计算新的明文文件的密钥,新的明文文件的标签,待修改或待插入的明文文件块的密钥和待修改或待插入的明文文件块的认证值;(8e)文件拥有者利用待修改或待插入的明文文件块的索引值...

【技术特征摘要】
1.一种支持数据更新的加密数据块客户端去重方法,其特征在于,包括如下步骤:(1)文件首位上传者对数据块进行加密处理:(1a)文件首位上传者利用256位安全散列算法SHA256,以明文文件作为输入,计算明文文件的密钥,以明文文件的密钥作为输入,计算明文文件的标签;(1b)文件首位上传者对明文文件进行长度为4kb的分块,生成多个明文文件块;(1c)文件首位上传者利用256位安全散列算法SHA256,以每一个明文文件块作为输入,计算每一个明文文件块的密钥,以每一个明文文件块和明文文件块密钥前后连接作为输入,计算每一个明文文件块的认证值;(1d)文件首位上传者采用256位高级加密标准AES256中的加密算法,用明文文件块的密钥加密明文文件块,得到密文文件块,用明文文件的密钥加密明文文件块密钥的连接值,得到明文文件块密钥的连接值密文;(1e)文件首位上传者将明文文件的标签、明文文件块的认证值、密文文件块和明文文件块密钥的连接值密文上传至服务器;(2)服务器构建新型动态平衡跳跃表:(2a)将每个明文文件块认证值对应的基层节点,按照明文文件块认证值对应的明文文件块的前后顺序,连接成一个单链表;(2b)从当前链表左侧第一个节点开始,将每两个节点作为子节点生成一个父节点;若当前链表中节点个数为奇数时,将剩余的最后三个节点作为子节点生成一个父节点;(2c)利用256位安全散列算法SHA256,将每个父节点中每个子节点的哈希值,按照子节点左右顺序连接成哈希连接值作为输入,计算哈希连接值的哈希值,将哈希连接值的哈希值赋值给每个父节点的哈希值;(2d)将每个父节点中每个子节点可达基层节点数的和赋值给每个父节点的可达的基层节点数;将生成每个父节点所用的节点数赋值给每个父节点的子节点数;(2e)用每个父节点的下指针指向该节点左侧第一个子节点的位置,将生成的父节点按照生成的先后顺序链接成父链表;(2f)删除不同父节点中子节点之间的指针;(2g)判断父链表中是否只有一个节点,若是,则将父链表中的唯一节点标记为根节点,得到动态平衡跳跃表后执行步骤(3);否则,以生成的父链表作为当前链表后执行步骤(2b);(3)服务器对加密数据块进行去重操作:服务器利用256位安全散列算法SHA256,以密文文件块作为输入,计算密文文件块的标签,删除已有相同密文文件块标签的重复密文文件块,完成服务器端的加密数据块去重操作;(4)文件后继上传者与服务器进行文件所有权认证交互:(4a)服务器利用随机函数随机生成两个正整数,将两个正整数发送给文件后继上传者;(4b)文件后继上传者将两个正整数中的一个作为随机种子,生成与另一个正整数相等的多个随机数作为被挑战文件块的索引值;(4c)文件后继上传者对明文文件进行长度为4kb的分块,生成多个明文文件块;(4d)文件后继上传者利用256位安全散列算法SHA256,计算被挑战文件块的索引值所对应的被挑战文件块的认证值,将其发送至服务器;(5)服务器确定该后继上传者是否是文件拥有者:(5a)服务器将两个正整数中的一个作为随机种子,生成与另一个正整数相等的多个随机数作为被挑战文件块的索引值;(5b)在动态平衡跳跃表中,服务器查找被挑战文件块索引值所对应基层节点的父类节点和父类节点的兄弟节点;(5c)利用256位安全散列算法SHA256,服务器用兄弟节点的哈希值和接收到的被挑战文件块的认证值,重新计算动态平衡跳跃表根节点的哈希值;(5d)判断动态平衡跳跃表根节点的哈希值与服务器本地所存储的根节点哈希值是否相等,若是,则文件所有权认证通过,服务器将后续上传者标记为文件拥有者后执行步骤(6);否则,文件所有权认证失败;(6)文件拥有者下载服务器端的密文文件块:(6a)文件拥有者将明文文件的标签和下载请求发送至服务器;(6b)服务器将明文文件标签对应的所有密文文件块和明文文件块密钥连接值的密文发送至文件拥有者;(7)文件拥有者解密服务器端的密文文件块:文件拥有者采用256位高级加密标准AES256中的解密算法,用明文文件的密钥解密明文文件块密钥的连接值密文,得到明文文件块密钥的连接值,用明文文件块的密钥解密密文文件块,得到明文文件块;(8)文件拥有者对新的明文文件块进行加密处理:(8a)文件拥有者将明文文件的标签和更新请求发送至服务器;(8b)服务器将文件块密钥连接值的密文发送给文件拥有者;(8c)采用256位高级加密标准AES256中的解密算法,文件拥有者用明文文件的密钥解密明文文件块密钥连接值的密文,得到明文文件块密钥的连接值;(8d)利用256位安全散列算法SHA256,文件拥有者分别计算新的明文文件的密钥,新的明文文件的标签,待修改或待插入的明文文件块的密钥和待修改或待插入的明文文件块的认证值;(8e)文件拥有者利用待修改或待插入的明文文件块的索引值及其明文文件块的密钥更新明文文件块密钥的连接值,得到新的明文文件块密钥的连接值;(8f)采用256位高级加密标准AES256中的加密算法,文件拥有者用待修改或待插入的明文文件块的密钥加密对应的明文文件块,得到待修改或待插入的密文文件块,用新的明文文件的密钥加密新的明文文件块密钥的连接值,得到新的明文文件块密钥的连接值密文;(8g)文件拥有者将新的明文文件的标签、新的明文文件块密钥的连接值密文、动态操作指令、待修改或待插入或待删除文件块的索引值、待修改或待插入的密文文件块、待修改待插入的明文文件块的认证值发送至服务器;(9)服务器对新的密文文件块进行去重操作:服务器利用256位安全散列算法SHA256,计算待修改或待插入的密文文件块的标签,删除已有相同密文文件块标...

【专利技术属性】
技术研发人员:刘茂珍杨超杨力张俊伟马建峰
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西,61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1