一种云存储加密及去重复方法及其系统技术方案

技术编号:13622169 阅读:55 留言:0更新日期:2016-09-01 10:27
本发明专利技术公开了一种云存储加密及去重复方法及其系统,将数据文件分为若干块后,先将各个数据块的标识发送至云存储系统进行重复检测,若数据文件未重复,则将通过收敛密钥对各个数据块分别进行加密,再对各个收敛密钥分别进行加密操作,由客户端存储第一数据块的收敛密钥密文,由云存储系统存储其余数据块的收敛密钥密文及全部数据块密文;若数据文件重复,则仅生成第一数据块的收敛密钥并使用云存储系统发送的哈希树的根节点对其进行收敛密钥加密操作,存储生成的第一数据块的收敛密钥密文。本发明专利技术能够提高采用收敛加密及去重复时数据文件的安全性,尽可能避免受到字典攻击时被破解的风险,同时能够节省客户端的存储空间。

【技术实现步骤摘要】

本专利技术涉及云存储
,特别是涉及一种云存储加密及去重复方法及其系统
技术介绍
去重复技术是云存储系统中的一个重要的技术,通过避免在云存储系统中多次存储相同的数据文件,来节约云存储系统的硬盘空间以及用户的网络带宽,进而降低云存储系统的成本。但是,由于数据文件进行存储时往往需要加密,若用户先进行加密,然后再由云存储系统进行去重复的话,由于不同的用户加密同一个数据文件往往得到不同的密文,而云存储系统很难判断这些不同的密文是否来源于同样的数据文件,这就导致了加密数据文件不可能去重复。目前,收敛加密为同时实现数据文件的加密和去重复提供了一种有效的方法。数据文件的加密密钥是其数据内容的哈希值,称之为收敛密钥或内容密钥,该方法能够保证同样的数据文件加密后产生同样的密文,故可以对加密后的数据文件进行去重复,同时由于同一个数据文件只需要存储一份密文,故可以实现去重复技术节约硬盘空间的目的。但是,采用收敛加密时,由于各个数据文件采用的是相同的加密方式,数据文件的加密密钥一致,加密后的数据密文固定,攻击者可以利用字典来猜测收敛密钥的内容,从而解密数据文件密文,即数据文件的密文容易遭受字典攻击,安全性差。因此,如何提供一种安全性高的云存储加密及去重复方法及其系统是本领域技术人员目前需要解决的问题。
技术实现思路
本专利技术的目的是提供一种云存储加密及去重复方法及其系统,能够提高采用收敛加密及去重复时数据文件的安全性,尽可能避免受到字典攻击时被破解的风险,同时能够尽可能节省客户端的存储空间。为解决上述技术问题,本专利技术提供了一种云存储加密及去重复方法,用于客户端,所述客户端与云存储系统通信连接,包括:步骤s101:将数据文件分为预设大小的N个数据块并进行标号,其中,最后一个数据块的大小小于或等于所述预设大小;步骤s102:分别计算各个所述数据块的标识;步骤s103:将所述数据文件的预设部分标识上传至所述云存储系统进行重复检测;当所述云存储系统判断预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,接收所述云存储系统发送的第一公钥,所述第一公钥为对应于所述数据文件的哈希树的根节点,进入步骤s109;当所述云存储系统判断未预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,发送所述数据文件的全部标识至所述云存储系统,并接收所述云存储系统发送的第二公钥,所述第二公钥为以所述数据文件的全部标识作为叶子节点构建的哈希树的根节点,进入步骤s104;步骤s104:分别计算得到各个所述数据块的私钥;步骤s105:分别将各个所述数据块的私钥与其标识进行整合操作,得到各个所述数据块的收敛密钥;步骤s106:对各个所述数据块进行数据块加密操作,得到各个所述数据块的数据块密文;每个所述数据块的加密密钥为自身的收敛密钥;步骤s107:对各个所述数据块的收敛密钥进行收敛密钥加密操作,得到各个所述数据块对应的收敛密钥密文;其中,所述第二公钥为第一数据块的收敛密钥的加密密钥,所述第M-1数据块的私钥为第M数据块的收敛密钥的加密密钥,1<M≤N;步骤s108:存储所述第一数据块的收敛密钥密文,将其他所述数据块的收敛密钥密文以及N个所述数据块密文发送至所述云存储系统,供所述云存储系统将其分布式的存储于自身的若干个服务器内;以供所述客户端根据存储的所述第一数据块的收敛密钥密文及其对应的公钥来对从所述云存储系统下载的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文进行解密操作,获取所述数据文件;步骤s109:计算所述第一数据块的私钥;步骤s110:将所述第一数据块的私钥与其标识进行整合操作,得到所述第一数据块的收敛密钥;步骤s111:对所述第一数据块的收敛密钥进行收敛密钥加密操作,得到所述第一数据块的收敛密钥密文,所述第一数据块的收敛密钥的加密密钥为所述第一公钥;步骤s112:存储所述第一数据块的收敛密钥密文,以供所述客户端根据所述第一数据块的收敛密钥密文及其对应的公钥来对从所述云存储系统下载的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文进行解密操作,获取所述数据文件。优选地,所述接收所述云存储系统发送的第一公钥之前还包括:接收所述云存储系统发送的数据重复响应,并运行拥有权证明协议,发送数据拥有权证明信息至所述云存储系统;当所述云存储系统判断所述客户端通过数据拥有权证明后,接收所述云存储系统发送的授权访问指令,以供所述客户端根据所述授权访问指令下载所述云存储系统内预先存储的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文;所述步骤s108中,所述将其他所述数据块的收敛密钥密文以及N个所述数据块密文发送至所述云存储系统后还包括:接收所述云存储系统发送的所述授权访问指令,以供所述客户端根据所述授权访问指令下载所述云存储系统内存储的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文。优选地,所述整合操作具体为:循环异或操作。优选地,所述数据块加密操作以及所述收敛密钥加密操作具体为:采用AES算法进行加密。优选地,所述分别计算得到各个所述数据块的私钥的过程具体为:分别采用SHA-1哈希算法来计算得到各个所述数据块的私钥。优选地,所述分别计算各个所述数据块的标识的过程具体为:分别采用SHA-256哈希算法来计算得到各个所述数据块的标识,其中,
所述数据块的标识为所述数据块内容的哈希值。为解决上述技术问题,本专利技术提供了一种云存储加密及去重复系统,用于客户端,所述客户端与云存储系统通信连接,包括:分块模块,用于将数据文件分为预设大小的N个数据块并进行标号,其中,最后一个数据块的大小小于或等于所述预设大小;标识计算模块,用于分别计算各个所述数据块的标识;重复检测模块,用于将所述数据文件的预设部分标识上传至所述云存储系统进行重复检测;当所述云存储系统判断预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,接收所述云存储系统发送的第一公钥,所述第一公钥为对应于所述数据文件的哈希树的根节点,触发单独私钥计算模块;当所述云存储系统判断未预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,发送所述数据文件的全部标识至所述云存储系统,并接收所述云存储系统发送的第二公钥,所述第二公钥为以所述数据文件的全部标识作为叶子节点构建的哈希树的根节点,触发整体私钥计算模块;所述整体私钥计算模块,用于分别计算得到各个所述数据块的私钥;整体收敛密钥计算模块,用于分别将各个所述数据块的私钥与其标识进行整合操作,得到各个所述数据块的收敛密钥;数据块加密模块,用于对各个所述数据块进行数据块加密操作,得到各个所述数据块的数据块密文;每个所述数据块的加密密钥为自身的收敛密钥;整体收敛密钥加密模块,用于对各个所述数据块的收敛密钥进行收敛密钥加密操作,得到各个所述数据块对应的收敛密钥密文;其中,所述第二公钥为第一数据块的收敛密钥的加密密钥,所述第M-1数据块的私钥为第M数据块的收敛密钥的加密密钥,1<M≤N;触发存储模块;所述存储模块,用于受到所述整体收敛密钥加密模块触发时,存储所述第一数据块的收敛密钥密文,将其他所述数据块的收敛密钥密文以及N个所述数据块密文发本文档来自技高网
...

【技术保护点】
一种云存储加密及去重复方法,用于客户端,所述客户端与云存储系统通信连接,其特征在于,包括:步骤s101:将数据文件分为预设大小的N个数据块并进行标号,其中,最后一个数据块的大小小于或等于所述预设大小;步骤s102:分别计算各个所述数据块的标识;步骤s103:将所述数据文件的预设部分标识上传至所述云存储系统进行重复检测;当所述云存储系统判断预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,接收所述云存储系统发送的第一公钥,所述第一公钥为对应于所述数据文件的哈希树的根节点,进入步骤s109;当所述云存储系统判断未预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,发送所述数据文件的全部标识至所述云存储系统,并接收所述云存储系统发送的第二公钥,所述第二公钥为以所述数据文件的全部标识作为叶子节点构建的哈希树的根节点,进入步骤s104;步骤s104:分别计算得到各个所述数据块的私钥;步骤s105:分别将各个所述数据块的私钥与其标识进行整合操作,得到各个所述数据块的收敛密钥;步骤s106:对各个所述数据块进行数据块加密操作,得到各个所述数据块的数据块密文;每个所述数据块的加密密钥为自身的收敛密钥;步骤s107:对各个所述数据块的收敛密钥进行收敛密钥加密操作,得到各个所述数据块对应的收敛密钥密文;其中,所述第二公钥为第一数据块的收敛密钥的加密密钥,所述第M‑1数据块的私钥为第M数据块的收敛密钥的加密密钥,1<M≤N;步骤s108:存储所述第一数据块的收敛密钥密文,将其他所述数据块的收敛密钥密文以及N个所述数据块密文发送至所述云存储系统,供所述云存储系统将其分布式的存储于自身的若干个服务器内;以供所述客户端根据存储的所述第一数据块的收敛密钥密文及其对应的公钥来对从所述云存储系统下载的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文进行解密操作,获取所述数据文件;步骤s109:计算所述第一数据块的私钥;步骤s110:将所述第一数据块的私钥与其标识进行整合操作,得到所述第一数据块的收敛密钥;步骤s111:对所述第一数据块的收敛密钥进行收敛密钥加密操作,得到所述第一数据块的收敛密钥密文,所述第一数据块的收敛密钥的加密密钥为所述第一公钥;步骤s112:存储所述第一数据块的收敛密钥密文,以供所述客户端根据所述第一数据块的收敛密钥密文及其对应的公钥来对从所述云存储系统下载的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文进行解密操作,获取所述数据文件。...

【技术特征摘要】
1.一种云存储加密及去重复方法,用于客户端,所述客户端与云存储系统通信连接,其特征在于,包括:步骤s101:将数据文件分为预设大小的N个数据块并进行标号,其中,最后一个数据块的大小小于或等于所述预设大小;步骤s102:分别计算各个所述数据块的标识;步骤s103:将所述数据文件的预设部分标识上传至所述云存储系统进行重复检测;当所述云存储系统判断预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,接收所述云存储系统发送的第一公钥,所述第一公钥为对应于所述数据文件的哈希树的根节点,进入步骤s109;当所述云存储系统判断未预先存储有与所述数据文件的预设部分标识相同的数据文件标识时,发送所述数据文件的全部标识至所述云存储系统,并接收所述云存储系统发送的第二公钥,所述第二公钥为以所述数据文件的全部标识作为叶子节点构建的哈希树的根节点,进入步骤s104;步骤s104:分别计算得到各个所述数据块的私钥;步骤s105:分别将各个所述数据块的私钥与其标识进行整合操作,得到各个所述数据块的收敛密钥;步骤s106:对各个所述数据块进行数据块加密操作,得到各个所述数据块的数据块密文;每个所述数据块的加密密钥为自身的收敛密钥;步骤s107:对各个所述数据块的收敛密钥进行收敛密钥加密操作,得到各个所述数据块对应的收敛密钥密文;其中,所述第二公钥为第一数据块的收敛密钥的加密密钥,所述第M-1数据块的私钥为第M数据块的收敛密钥的加密密钥,1<M≤N;步骤s108:存储所述第一数据块的收敛密钥密文,将其他所述数据块的收敛密钥密文以及N个所述数据块密文发送至所述云存储系统,供所述云存储系统将其分布式的存储于自身的若干个服务器内;以供所述客户端根据存储的所述第一数据块的收敛密钥密文及其对应的公钥来对从所述云存储系统下载的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文进行解密操作,获取所述数据文件;步骤s109:计算所述第一数据块的私钥;步骤s110:将所述第一数据块的私钥与其标识进行整合操作,得到所述第一数据块的收敛密钥;步骤s111:对所述第一数据块的收敛密钥进行收敛密钥加密操作,得到所述第一数据块的收敛密钥密文,所述第一数据块的收敛密钥的加密密钥为所述第一公钥;步骤s112:存储所述第一数据块的收敛密钥密文,以供所述客户端根据所述第一数据块的收敛密钥密文及其对应的公钥来对从所述云存储系统下载的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文进行解密操作,获取所述数据文件。2.根据权利要求1所述的方法,其特征在于,所述接收所述云存储系统发送的第一公钥之前还包括:接收所述云存储系统发送的数据重复响应,并运行拥有权证明协议,发送数据拥有权证明信息至所述云存储系统;当所述云存储系统判断所述客户端通过数据拥有权证明后,接收所述云存储系统发送的授权访问指令,以供所述客户端根据所述授权访问指令下载所述云存储系统内预先存储的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文;所述步骤s108中,所述将其他所述数据块的收敛密钥密文以及N个所述数据块密文发送至所述云存储系统后还包括:接收所述云存储系统发送的所述授权访问指令,以供所述客户端根据所述授权访问指令下载所述云存储系统内存储的N个所述数据块密文以及除所述第一数据块以外的其他所述数据块的收敛密钥密文。3.根据权利要求1或2所述的方法,其特征在于,所述整合操作具体为:循环异或操作。4.根据权利要求1或2所述的方法,其特征在于,所述数据块加密操作以及所述收敛密钥加密操作具体为:采用AES算法进行加密。5.根据权利要求1或2所述的方法,其特征在于,所述分别计算得到各
\t个所述数据块的私钥的过程具体为:分别采用SHA-1哈希算法来计算得到各个所述数据块的私钥。6.根据权利要求1或2所述的方法,其特征在于...

【专利技术属性】
技术研发人员:刘竹松何喆
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

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

1