去重结构搭建方法、去重方法、文件取回方法、去重系统与流程

文档序号:17721426发布日期:2019-05-22 02:11阅读:174来源:国知局
去重结构搭建方法、去重方法、文件取回方法、去重系统与流程
本发明涉及数据去重领域,特别涉及一种雾计算环境下的去重结构搭建方法、去重方法、文件取回方法、去重系统。
背景技术
:随着现代计算机技术的不断发展,数据量爆炸式增长。因此催生了大量的云存储服务商,用户们可以把自身文件存储到按需付费的云端。但是大量的冗余数据造成了存储空间和通信带宽的浪费。于是研究者们提出了一种技术:去重。去重的核心是使得对于同一份文件,无论多少用户上传,服务器只会存储一份拷贝。雾计算是随着物联网和云计算产生的新一代计算范例。因为用户的移动智能设备增多,他们对文件存储和计算服务要求越来越高,集中式的云服务可能不能满足用户的需求。需要研究者们提出更好的云服务解决方案,于是雾计算应运而生。我们可以把传统的云服务器和用户之间的两层交互升级成更加高效的云服务器(cloudserver)、雾服务器(fogserver)和用户(user)之间的三层交互。雾服务器可以根据自身的存储和计算能力为所属区域的用户提供更加高效快捷的交互服务。雾计算的特点是:(1)低延迟和高效率,(2)用户服务快捷,(3)地理分布节点数量多,(4)存储计算能力强。随着现在用户数量的增多与用户地域的增大,传统的两层交互效率低延迟大。跨域的三层交互可以完美的解决传统两层交互的问题。但是目前跨雾服务器去重存在安全参数分配繁琐,开销过大等问题。为了解决传统安全去重方案的效率日益降低的问题,许多其它方案已经引入了一种称为“雾计算”的计算范式。利用分布广泛的雾节点,对用户进行分区域管理。雾节点能够根据所在区域用户的请求来解决任务,从而提高任务执行的效率,以解决传统安全去重方案所带来的问题。koo等人在文献《ahybriddeduplicationforsecureandefficientdataoutsourcinginfogcomputing》中首次将去重应用于多雾环境下,提出了一个用于雾计算中安全高效数据外包的混合去重方案,然而该方案在效率方面不够优化。接着,yang等人在文献《achievingefficientandprivacy-preservingcross-domainbigdatadeduplicationincloud》提出一种在云中实现有效和隐私保护的跨域大数据安全去重的epcdd方案。通过使用一个三层跨域架构,完成大范围的数据管理。并且基于二叉搜索树原理对文件进行查重操作,提高了重复文件的搜索效率。但是,该方案在实现跨域去重过程中,需要为每个域分配较多的系统公共参数,导致计算开销过大。随后,koo等人在文献《privacy-preservingdeduplicationofencrypteddatawithdynamicownershipmanagementinfogcomputing》中提出了一种能够在雾计算中实现隐私保护的关于动态所有权管理的加密数据安全去重方案。该方案通过引入用户级密钥管理和更新机制来实现细粒度的访问控制。数据不变的用户级私钥使数据所有者能够保持一个恒定的密钥数量,而不管外包数据文件的数量。但是,该方案计算过程过于繁杂,会造成巨大的计算开销。最近,ni等人在文献《providingtaskallocationandsecurededuplicationformobilecrowdsensingviafogcomputing》中提出一种通过雾计算为移动设备提供任务分配和安全去重的方案。该方案通过设计一个伪随机函数,使雾节点能够在不暴露报告内容的情况下检测和删除传感报告中的重复数据,并且利用变色龙哈希函数来为匿名移动用户实现隐私保护。然而,该方案中用户端和服务器端的开销较大。现有的去重方案大多不能直接推广到雾计算中的大数据重复删除。例如,当用户提交数据文件到云服务器,云服务器需要遍历所有雾服务器找出是否存在重复的数据文件,因此其时间复杂度是o(n·m),m代表雾服务器的数量,n代表每个雾服务器的数据文件的数量。因此,重复数据删除的效率非常低。因此,迫切需要提出安全有效的重复数据删除解决方案。技术实现要素:本发明的目的在于克服现有技术的缺点与不足,提供一种去重结构搭建方法、去重方法、文件取回方法、去重系统,该方法及系统提高了重复数据的搜索效率,并提高了多雾服务器环境下大数据重复数据删除的效率。本发明的目的通过以下的技术方案实现:一种去重结构搭建方法,包括步骤:系统初始化,通过kdc(可信的密钥分配中心keydistributioncenter)分配雾服务器的公钥和私钥,生成系统公共参数;文件初始化,生成文件标签并加密,对文件标签哈希值进行查重匹配,匹配失败后上传加密文件至云服务器;构造分区去重结构,根据雾服务器文件元组构建去重决策树,去重决策树节点为文件标签哈希值,将去重决策树节点的最小值和最大值组成一个区间,云服务器根据各雾服务器的区间生成区间表,由区间表和所有雾服务器的去重决策树组成分区去重结构。优选的,所述系统初始化的具体步骤为:kdc选取一个阶为大素数q、生成元为g的群g;kdc选取两个抗碰撞的哈希函数h(·),h(·);kdc运行keyrsa(k)算法为服务器fogt生成一对公私钥pkt=et、skt=dt,t=1,2,…,m;kdc通过安全信道分别把公私钥分配给对应的雾服务器,生成系统公共参数pp={g,g,h,h,pk1,pk2,...,pkm}。优选的,所述文件初始化的具体步骤为:计算文件mi的标签τi,即先对文件mi进行哈希,再用生成元g求指数次方,通过fogt的公钥pkt将τi加密上传给fogt;fogt通过私钥skt解密得到τi,然后通过哈希函数h(·)得到文件标签τi的哈希值h(τi);雾服务器和云服务器对h(τi)进行查重匹配;若匹配失败,则云服务器通过fogt发送一个随机数ri∈zn和云服务器id标识号idcsp给用户,接收用户初始化后的文件mi,并上传至fogt,zn表示正整数模n的剩余类;利用keygen算法计算与文件mi相关的对称密钥ski;利用encrypt算法,通过对称密钥ski与文件mi得到密文enc(·)表示加密括号里面的文件;生成文件mi对应的所有权证明标记σi,把ci和σi发送给fogt,并删除本地文件mi,fogt把ci发送给云服务器进行存储,云服务器通过fogt还返给用户一个ci对应的合法访问授权。优选的,所述去重决策树ddt根节点文件标签哈希值大于左子树文件标签哈希值、小于右子树文件标签哈希值,雾服务器接收新文件元组(h(τi),ri,σi)时,更新平衡所述分区去重结构,具体步骤为:s1、当thecurrentnode(当前节点)≠null,判断h(τi)与thecurrentnode→h(τ1)的大小;s2、若h(τi)<thecurrentnode→h(τ1),则移动文件元组(h(τi),ri,σi)到thecurrentnode的左子树;若h(τi)>thecurrentnode→h(τ1),则移动文件元组(h(τi),ri,σi)到thecurrentnode的右子树;s3、重复执行s2,直到h(τi)=thecurrentnode→h(τ1);s4、将文件元组(h(τi),ri,σi)存储在thecurrentnode。更进一步的,所述thecurrentnode在系统初始化时为ddt根节点。一种去重方法,包括步骤:生成待去重文件的标签哈希值,在待去重文件雾服务器的去重决策树中进行查重匹配;若匹配成功,则证明该文件已存储至云服务器;若匹配失败,则将文件标签哈希值发送至云服务器,并在云服务器区间表上进行检索,若在另一雾服务器的区间上检索成功,则发送该文件标签哈希值至另一雾服务器,并在另一雾服务器的去重决策树中进行查重匹配,若匹配成功,则证明该文件已存储至云服务器;当文件已存储至云服务器时,向用户发起验证挑战;接收并验证用户所有权证据,若通过验证,则将用户标识为文件合法用户。优选的,所述验证挑战包括:已存储文件对应的随机数、新生成的随机数。优选的,所述验证用户所有权证据采用checkgen检验算法。一种文件取回方法,包括步骤:核对用户id和文件授权;若无访问权限则返回警告;若有访问权限,则雾服务器向云服务器发送请求,将得到的密文返回给用户;根据用户的对称密钥对密文进行解密,从而恢复出文件。一种去重系统,包括:kdc,用于分配和管理系统的公钥、私钥、公共参数;云服务器,用于提供数据文件的密文存储,并行控制雾服务器的数据重复检查;雾服务器,为一个以上的分布式实体,通过云服务器并行连接,用于数据重复检查和所有权证明,将密文或消息发送至云服务器;用户端,用于上传、下载数据文件。本发明与现有技术相比,具有如下优点和有益效果:1、本发明提出了一种分区去重结构,提高了重复数据的搜索效率,并将其应用于雾计算中构建安全高效的重复数据删除方案,通过此方案,云服务器可以快速确定需要遍历哪个雾服务器来搜索重复数据,而不是遍历所有雾服务器,这大大提高了多雾服务器环境下大数据重复数据删除的效率。2、本发明通过引入一个可信的密钥分配中心kdc,实现公共参数和每个雾服务器公私钥的安全分配,能够有效地预防云服务器和雾服务器的内部攻击。对于每个文件,用户自己生成加密密钥保护文件的安全性,同时能对重复数据进行删除。3、本发明在密钥生成算法的基础上,所有权证明协议嵌入到重复数据删除过程中,在安全性和效率上验证用户是否拥有数据的所有权。由于每一轮的挑战证明所生成的所有权证明是完全不同的,因此可以抵御重放攻击、伪造攻击等,并在较少的公共参数下高效地实现数据去重,有效地提高文件去重的效率。4、本发明文件去重在服务器端进行,因此极大地减少了客户端的计算开销。附图说明图1是本发明去重结构搭建方法流程图。图2是本发明去重系统示意图。图3是本发明去重方法流程图。具体实施方式为了更好的理解本发明的技术方案,下面结合附图详细描述本发明提供的实施例,但本发明的实施方式不限于此。实施例1、搭建分区去重结构系统初始化,通过kdc(可信的密钥分配中心keydistributioncenter)分配雾服务器的公钥和私钥,生成系统公共参数;文件初始化,生成文件标签并加密,对文件标签哈希值进行查重匹配,匹配失败后上传加密文件至云服务器;构造分区去重结构,根据雾服务器文件元组构建去重决策树,去重决策树节点为文件标签哈希值,将去重决策树节点的最小值和最大值组成一个区间,云服务器根据各雾服务器的区间生成区间表,由区间表和所有雾服务器的去重决策树组成分区去重结构。所述系统初始化的具体步骤为:kdc选取一个阶为大素数q、生成元为g的群g;kdc选取两个抗碰撞的哈希函数h(·),h(·);kdc运行keyrsa(k)算法为服务器fogt生成一对公私钥pkt=et、skt=dt,t=1,2,…,m;kdc通过安全信道分别把公私钥分配给对应的雾服务器,生成系统公共参数pp={g,g,h,h,pk1,pk2,...,pkm}。所述文件初始化的具体步骤为:计算文件mi的标签τi,即先对文件mi进行哈希,再用生成元g求指数次方,通过fogt的公钥pkt将τi加密上传给fogt;fogt通过私钥skt解密得到τi,然后通过哈希函数h(·)得到文件标签τi的哈希值h(τi);雾服务器和云服务器对h(τi)进行查重匹配;若匹配失败,则云服务器通过fogt发送一个随机数ri∈zn和云服务器id标识号idcsp给用户,接收用户初始化后的文件mi,并上传至fogt,zn表示正整数模n的剩余类;利用keygen算法计算与文件mi相关的对称密钥ski;利用encrypt算法,通过对称密钥ski与文件mi得到密文enc(·)表示加密括号里面的文件;生成文件mi对应的所有权证明标记σi,把ci和σi发送给fogt,并删除本地文件mi,fogt把ci发送给云服务器进行存储,云服务器通过fogt还返给用户一个ci对应的合法访问授权,具体为密文对应的访问指针。所述去重决策树ddt根节点文件标签哈希值大于左子树文件标签哈希值、小于右子树文件标签哈希值,雾服务器接收新文件元组(h(τi),ri,σi)时,更新平衡所述分区去重结构,具体步骤为:s1、当thecurrentnode(当前节点)≠null,判断h(τi)与thecurrentnode→h(τ1)的大小;s2、若h(τi)<thecurrentnode→h(τ1),则移动文件元组(h(τi),ri,σi)到thecurrentnode的左子树。若h(τi)>thecurrentnode→h(τ1),则移动文件元组(h(τi),ri,σi)到thecurrentnode的右子树;s3、重复执行s2,直到h(τi)=thecurrentnode→h(τ1);s4、将文件元组(h(τi),ri,σi)存储在thecurrentnode。所述thecurrentnode在系统初始化时为ddt根节点。2、文件数据去重fog1中的用户u想要上传的文件mi。用户u首先计算文件的标签τi,然后通过fog1的pk1将τi加密上传给fog1。fog1通过sk1解密得到τi,然后通过哈希函数h(·)得到h(τi)。fog1通过将h(τi)与ddt-1上的标签哈希值进行查重匹配。如果fog1上没有匹配,那么fog1将h(τi)发送给云服务器。云服务器首先根据h(τi)的大小在标签哈希值区间表上进行检索。如果在fogj的区间上检索成功,则发送h(τi)给fogj在ddt-j上进行匹配。如果能匹配成功,则证明其它用户已经把文件mi存储在云服务器。所以用户u需要向fog1证明自己确实拥有整个文件。首先,fog1发送mi对应的ri、另一随机选择的数ri∈zn给用户u,向用户u发起挑战chal。用户u收到挑战chal后,执行所有权证明算法proofgen生成证据,并发送证据σi″给fog1。之后,fog1运行检验算法checkgen对所有权证据σi″进行验证。如果通过验证,则fog1将用户u标识为文件mi的一个合法用户,用户u不需要再上传文件mi。3、文件取回用户向所属的雾服务器发送文件取回请求,同时发送请求用户id和文件mi的授权。雾服务器收到请求,首先核对用户id和文件mi的授权;若无访问权限则返回警告;若有访问权限,则雾服务器向云服务器发送请求,将得到的密文ci返回给用户。用户收到返回结果,首先用自己的对称密钥ski,调用解密算法对密文ci进行解密,从而恢复出文件mi。一种文件数据去重系统,包括:kdc,用于分配和管理系统的公钥、私钥、公共参数;云服务器,用于提供数据文件的密文存储,并行控制雾服务器的数据重复检查;当雾服务器中没有发现数据文件重复时,云服务器可以在其他雾服务器上并行执行重复检查;雾服务器,为一个以上的分布式实体,通过云服务器并行连接,用于数据重复检查和所有权证明,将密文或消息发送至云服务器;用户端,用于上传、下载数据文件,可为手机、平板、笔记本电脑或台式电脑等。每个用户端属于一个雾服务器,该雾服务器通过云服务器连接另一个雾服务器。用户注册到雾服务器后,可以将数据文件外包给雾服务器,以节省本地存储开销。如果用户是第一个上传数据文件的用户(初始用户),他需要生成关于该数据文件的标签、密文和所有权证明标记。如果用户随后上传数据文件,他需要完成文件标签的生成。为了安全起见,后续的每个用户都需要通过所有权证明来向雾服务器证明他确实拥有整个数据文件。与参考文献[1]和[2]的方案进行所产生的技术效果进行比较:在表1中,方案[1]和[2]支持用户端去重,而本实施例的方案支持服务器端去重。如果用户是移动用户,更合理的做法是在服务器端完成重复数据删除,因为移动用户的计算和存储能力有限,用户端去重会增加用户的计算负担。本实施例的方案和方案[2]都可以实现多雾环境下的重复数据删除,提高了重复数据删除效率,减少了重复数据删除的延迟。值得注意的是,本实施例的方案的查询重复效率优于方案[2]。在本实施例的方案中,雾服务器端的效率为o(logn),而方案[2]为o(n),其中n为数据文件的数量。在云端,本文方案的效率为o(m),而方案[2]为o(m·n),其中m是雾服务器的数量。三种方案都可以实现安全加密和重复数据删除,当然,只有方案[2]才能实现访问控制。表1本文方案与相关方案的对比表2计算开销的比较方案用户端雾服务器端云服务器端方案[1]6texp+2thash+4thash*o(h)×2tpair*o(h)方案[2]6tpair+6texp+2thash+thash*o(h)4texpthash*o(h)本文方案2texp+5thash+2tmod+txor+taes3thash+2tmod+txor-其中tpair是指双线性对运算开销,texp是指指数运算开销,thash是指哈希运算开销,tmod是指模运算开销,txor是指异或运算开销,taes是指aes运算开销。从表2可以看出,在用户端,本实施例的方案的计算开销低于其他方案。在服务器端(包括雾服务器和云服务器),本实施例的方案明显优于方案[1],与方案[2]性能相差不多。这是因为本实施例的方案主要涉及一些指数运算、模指数运算、异或运算和哈希运算,而方案[1]和[2]主要涉及一些双线性对运算、指数运算和哈希运算。参考文献:[1]t.jiang,x.chen,q.wu,j.ma,w.susilo,andw.lou,“secureandefficientclouddatadeduplicationwithrandomizedtag,”ieeetransactionsoninformationforensicsandsecurity,vol.12,no.3,pp.532–543,2017.[2]d.kooandj.hur,“privacy-preservingdeduplicationofencrypteddatawithdynamicownershipmanagementinfogcomputing,”futuregenerationcomputersystems,vol.78,pp.739–752,2018.上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1