CN108776758B - 一种雾存储中支持动态所有权管理的块级数据去重方法 - Google Patents
一种雾存储中支持动态所有权管理的块级数据去重方法 Download PDFInfo
- Publication number
- CN108776758B CN108776758B CN201810329747.XA CN201810329747A CN108776758B CN 108776758 B CN108776758 B CN 108776758B CN 201810329747 A CN201810329747 A CN 201810329747A CN 108776758 B CN108776758 B CN 108776758B
- Authority
- CN
- China
- Prior art keywords
- file
- block
- data
- data block
- storage
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于雾计算和信息安全技术领域,公开了一种雾存储中支持动态所有权管理的块级数据去重方法。该方法提出了一种改进的块级客户端去重技术,在节省网络带宽的同时,解决了当前块级客户端去重中的数据敏感信息泄露的问题。在此基础上,该方法还提出了两级所有权列表和密钥更新机制,在高效节省存储空间的同时,以较少的代价实现细粒度的访问控制,填补了当前没有所有权管理技术与块级去重技术兼容的空白。此外,该方法还介绍了一种数据块动态存储机制,系统中数据块根据服务需要在系统中转移,不但可以降低服务成本和文件访问延迟,还可以提高系统安全性和用户服务体验,解决了当前雾存储去重方案中系统资源利用率不高的问题。
Description
技术领域
本发明属于雾计算和信息安全技术领域,尤其涉及一种雾存储中支持动态所有权管理的块级数据去重方法。
背景技术
目前,业内常用的现有技术是这样的:日益增长的云服务用户将导致集中式的云计算服务模式无法提供及时有效的服务,为此,研究人员提出一种新的计算模式—雾计算,该计算模式具有低延迟、服务便捷的优点。然而,雾存储中数据量的快速增长使其面临磁盘空间和网络带宽不足的窘境,所以服务提供商们通过使用数据去重技术,利用数据相似性删除系统中相同数据的多余备份,仅保留单一副本来有效节省服务资源。
目前的数据去重技术根据去重粒度可以分为文件级和块级,与文件级去重相比,由于块级去重支持不同文件中相同数据块的去重,所以更节省存储资源。根据去重方式的不同,这些方案又可以分为服务器端去重和客户端去重,其中客户端去重比服务器端去重更节省带宽资源,但在数据上传阶段,数据用户可以根据服务器的响应判断出文件是否已经存在于存储系统中,导致了侧信道信息泄露。现有的客户端去重技术,尤其是文件级客户端去重技术都无法有效地避免这种信息泄露问题。就目前而言,研究如何在块级客户端去重中抵抗侧信道信息泄露是一个开放性的课题。
在商业雾存储中,数据的密钥在生成后很少更新,并且用户可能通过删除或更改雾存储中自己的数据来降低开销,这种频繁的所有权变更容易导致数据密钥的泄露,威胁数据安全和服务质量。所以,存储系统应实现对数据的动态所有权管理,以保证数据的前后向保密性。目前研究者们也提出了一些动态所有权管理技术,然而这些技术或由于方案独特的构造、或由于过大的成本开销,导致其只能与文件级去重相兼容,这严重制约了这些技术节省存储的资源的效率。块级去重可以节省更多的存储资源,但对于大文件去重来说,大量的文件数据块处理造成了很多开销,并且传统的单所有权列表和密钥密文更新机制难以维持这种繁琐的工作模式。所以研究如何以尽可能少的代价在块级去重技术中实现动态所有权管理是一个很有意义的课题。
如何高效利用系统中资源是商业雾存储的重要考量之一。然而在当前为数不多的雾存储去重方案中,大多数都是通过将初始上传的文件存储在雾设备中一定周期来缓解中心云的工作压力,但所有数据最终都会被转移至中心云,之后系统中所有的数据检索服务都需要从中心云中请求数据,所以导致雾存储对系统资源的利用率不高。所以研究如何使系统中各个设备以和谐的方式运行,进一步节省资源是一个很有意义的研究课题。
综上所述,现有技术存在的问题是:
1、现有的块级客户端去重无法防止侧信道信息泄露;
2、现有的动态所有权管理技术仅与文件级去重兼容,无法在块级去重中实现动态所有权管理,这制约了去重技术的去重效率;
3、现有的雾存储去重方案对系统的资源利用率不高,导致了很大的服务成本和较长的服务延迟。
解决上述技术问题的难度和意义:
1、解决客户端去重技术中的侧信道信息泄露问题的关键,在于使用户无法通过服务器的回应判断出是否发生数据去重。在现有的客户端去重方案中,这种问题都没有很好地解决,且文件级客户端去重已经无法很好地解决这一问题。由于块级客户端去重中,文件以数据块的形式外包、存储,为解决这一问题提供了一种可能,但关键在于如何设计合适的交互模式,使用户无法根据外包过程中服务器的响应来获取文件信息。如果这个问题的被解决,数据外包服务过程就可以在保证数据隐私性的同时,节省更多的网络带宽,降低服务成本。
2、在商业雾存储中,数据的动态所有权管理是一个重要的安全性保障。由于目前仅有的相关技术仅支持文件级去重,这使得服务提供商无法获得同块级去重一样的存储资源节省率。此外,块级去重引发了数据块管理、更新问题,所以在块级去重中实现动态所有权管理的关键在于合理交互、存储、更新机制,尽可能以较少的代价在块级去重中实现动态所有权管理,可以保证数据安全的同时,进一步提高资源节省率。
3、目前为数不多的雾存储去重技术都是基于服务架构的特点,使用雾设备分担中心云的工作量。这些技术都没有科学、合理的系统内部工作模式,所以导致其系统的资源利用率很低。高效的系统资源利用率是降低服务成本、提高服务质量的关键。所以,采用合理的系统内部工作模式是高效雾存储去重技术的重要考量。
发明内容
针对现有技术存在的问题,本发明提供了一种雾存储中支持动态所有权管理的块级数据去重方法。
针对块级客户端去重技术中存在的侧信道信息泄露问题,本方法提出了一种改进的块级客户端去重技术。在数据外包阶段,无论初始还是后续上传者都需要执行同样的上传步骤,用户无法通过服务器的响应判断是否发生数据去重,从而在节省网络带宽的同时,解决了当前块级客户端去重中的数据敏感信息泄露的问题。
针对没有与块级去重技术兼容的动态所有权管理技术的问题,本方法提出了两级所有权列表和密钥更新机制。通过文件级所有权列表管理用户对的文件的所有权,通过块级所有权列表管理雾设备对数据块的所有权,当所有权发生变化时,文件存储设备更新文件所有权,并通知文件相关数据块的存储设备更新数据及密钥,并且与当前的所有权管理技术相比,本方法的数据更新代价更小。这样,本方法在保证高效节省存储空间的同时,以较少的代价实现细粒度的访问控制,填补了当前没有所有权管理技术与块级去重技术兼容的空白。
针对当前雾存储去重技术中系统资源利用率不高的问题,本方法提出了一种数据块动态存储机制,系统中数据块按周期存储,且根据服务需要在系统中转移,不但可以降低服务成本和文件访问延迟,还可以提高系统安全性和用户服务体验,解决了当前雾存储去重方案中系统资源利用率不高的问题。
进一步,所述雾存储中支持动态所有权管理的块级数据去重方法包括以下步骤:
步骤一,密钥生成,用户首先为文件M计算文件主密钥kmas,将M分为n个数据块,并为每一个数据块Mi计算相应的加密密钥ki,1≤i≤n;
步骤二,文件初始化,用户为M生成文件标签t,计算M的块密钥密文Ck;
步骤三,数据块初始化,用户为每个数据块Mi计算块密文Ci及其标签Ti;
步骤四,文件验证,用户向F0发送t,{Ti},Ck和用户身份信息;当雾存储系统中不存在t时,由F0执行块级去重;当系统中存在t时,由文件存储雾设备Fs通过F0执行文件级去重;
步骤五,数据块验证,通过在系统中进行数据块标签检测,本地雾设备F0向用户请求相关数据块,然后为用户返回的数据块生成块标签并进行验证;验证全部成功,则Fs与用户执行所有权验证步骤;其中文件初始上传时,F0请求系统中不存在的文件数据块和部分随机数据块;文件后续上传时,Fs通过F0请求文件部分随机数据块;
步骤六,生成挑战,Fs根据步骤五得到的文件块标签集{Ti}建立Merkle Hash树,生成并向用户返回挑战Ic;
步骤七,生成证据,用户收到Ic后,根据Ic生成证据Pv,并向Fs返回;
步骤八,验证证据,Fs验证证据Pv的正确性,判断用户和Fs是否拥有相同的文件;验证通过,F0计算文件块密钥密文Ck的标签TCk,并向用户返回TCk和文件Merkle Hash树的根节点值T0用于文件下载验证;然后,F0与Fs就Ck进行客户端去重;如果所有权验证失败,则Fs向用户返回错误信息;
步骤九,文件存储或更新,对于初始上传的文件,F0建立相应的文件级所有权列表LF;对于初始上传的数据块,F0对其重加密并存储相应的数据块和重加密密钥,然后建立相应的块级所有权列表LB;对于后续上传的文件和数据块,F0通知相关存储设备Fs更新相应的所有权列表及数据块;系统存储数据块后,定期根据服务需要将数据块在系统中各存储设备间转移,实现动态存储;
步骤十,文件解密,当用户需要从存储系统下载文件时,Fs根据文件级所有权列表LF验证用户身份的合法性;用户身份有效,则Fs向相关数据块存储设备请求文件数据块;目标设备根据块级所有权列表LB验证Fs对目标数据块的合法性;验证通过,目标设备返回相关数据;Fs整合并返回相关数据给用户;对于每个数据块,用户首先获取数据块重加密密钥Rki和块密钥ki,然后依次使用Rki和ki对解密得到Mi;最终组合所有明文块得到原始文件M。
进一步,所述步骤一的密钥生成过程中,用户us首先为文件M计算主密钥kmas,然后将M分为n块,并为每个数据块Mi计算加密密钥ki具体包括:
(1)系统根据输入参数1λ选择一个哈希函数H(·):{0,1}*→{0,1}λ,然后选择一个λ-bit的素数p,并创建一个p阶乘法循环群G=<g>,其中g为G的一个生成元;
(2)us为M计算主密钥kmas=H(M);
(3)us将M分为n个块,并为每个数据块Mi计算加密密钥ki=H(Mi),1≤i≤n;
所述步骤二的文件初始化过程中:用户us为文件M生成文件标签t,同时计算M的块密钥密文Ck,具体包括:
(2)us使用对称加密的方法,计算块密钥密文Ck=Enc(kmas,k1||…||kn);
所述步骤三的数据块初始化过程中:用户us为每个数据块Mi,1≤i≤n计算块密文Ci及其标签Ti,具体包括:
(1)us采用对称加密的方法,计算密文Ci=Enc(ki,Mi);
(2)us为每一个密文块计算块标签Ti=H(Ci);
所述步骤四的文件验证过程中:本地雾设备F0在雾存储系统中查询用户us(身份信息为ids)上传的文件标签t,判断文件是否已经被上传:
(1)us向本地雾设备F0发送文件上传请求:Upload||t||{Ti}||Ck||ids;
(2)当雾存储系统中不存在t时,由F0执行块级去重;
(3)当系统中存在t时,由文件存储设备Fs通过F0执行文件级去重。
进一步,所述步骤五的数据块验证包括:
(1)当文件为初始上传时:
(1.1)F0通过系统查询数据块标签{Ti},确定系统中不存在的数据块,并向us请求不存在的数据块和部分随机选取的文件数据块;
(1.2)F0为us返回的数据块生成块标签,并与之前上传的块标签进行对比:若全部匹配成功,F0只保留初始上传数据块;
(2)当文件为后续上传时:
(2.1)Fs随机选取文件部分数据块,并通过F0向us请求;
(2.2)Fs为us返回的数据块生成块标签,并与之前上传的块标签进行对比:若全部匹配成功,则删除这些数据块;否则,向用户返回错误信息;
其中,雾设备向us请求文件随机数据块的数量由雾设备根据安全性需要决定,安全性越高的请求的文件随机数据块越多,至多请求文件所有数据块。后续上传时,系统内部执行的文件级去重对us展现为块级去重;
所述步骤六的生成挑战过程包括:
(1)Fs根据步骤五获得的块标签{Ti},为文件M建立Merkle Hash树;
进一步,所述步骤七的生成证据过程中:用户us收到挑战信息Ic后,根据Ic和文件Merkle Hash树生成证据并向Fs返回。例如在以8个数据块构建的Merkle Hash树中,当Ic={2,5}时,用户根据挑战信息生成证明:Pv=<{h2,(h1,h34)},{h5,(h6,h78)}>;
所述步骤八的验证证据过程具体包括:
(1)Fs根据Pv计算验证值;
(2)Fs通过判断验证值是否等于Merkle Hash树根节点值,当Ic={2,5}时,由Pv可以计算h12=h(h1||h2),h14=h(h12||h34),h56=h(h5||h6),h58=h(h56||h78),h′=h(h14||h58);根据h′是否等于h18判断us和Fs是否拥有相同的文件;
验证通过,说明us与Fs拥有相同的文件。Fs生成Ck的标签TCk=H(Ck),并向us返回TCk和文件Merkle Hash树的根节点值作为文件第二标签T0,用于文件下载验证;验证失败,则向用户返回错误信息。
进一步,所述步骤九文件存储或更新过程包括:
(1)当文件为初始上传时:
(1.1)对初始上传文件,F0建立文件级所有权列表LF:<t,T0,ψt,Gt>;其中,ψt为t到块标签集{Ti}的映射,Gt={idj}为文件所有权组,包含合法用户的身份信息;
(3)数据块在存储设备中按存储周期存储,每个存储周期结束后,存储设备对该数据块的访问信息作统计分析,并根据结果决定该数据块的下一个存储位置,以降低服务成本和服务延迟,提高系统安全性和服务质量;
(3.1)云服务器根据系统中雾设备的分布情况建立理想的优化模型,计算数据块转移判定值rate0,某数据块存储在当前雾设备中的访问成本高于存储在云服务器中的访问成本时,则将该数据块转移至云服务器来降低服务成本。值得注意的是,本发明减少访问成本的核心是通过存储策略减少数据访问的平均距离,这种距离的减少不仅降低了访问成本,还降低了访问延迟:
其中,r为各雾设备到云服务器的距离,dexp·r为远程雾设备访问距离的期望值,为文件块大小,numj为第j个雾设备对该数据块的访问次数,为数据块存储设备对数据块的访问次数占比,rate0为系统数据块转移判定值。相比于计算并比较访问成本,计算设备访问次数占比更简单便捷,且两者紧密相关;
(3.3)当云服务器Cloud中的一个数据块的存储周期结束时,Cloud计算各雾设备的访问次数占比1≤i≤n;若对其中最大的有则将数据块转移至雾设备Fj中,由Fj负责下一周期的访问管理;否则,该数据块仍存储在Cloud中。
进一步,所述步骤十的文件解密过程具体包括:
(1)用户us向F0发送文件请求:Retrieval||t||T0||TCk||ids;
(5)us使用kmas解密Ck得到块密钥k1||…||kn=Dec(kmas,Ck);
(7)在获得所有的文件明文块之后,组合可得到文件M=M1||…||Mn。
综上所述,本发明的优点及积极效果为:
(1)抵抗侧信道信息泄露:基于跨用户的块级客户端去重模式中,文件部分数据块存在性无法证明文件存在性的特点,本发明提出改进的块级客户端去重技术。无论文件为初始上传还是后续上传,系统都会向数据用户请求数据块,并执行所有权认证过程。如此,数据用户无法在数据上传阶段,通过上传步骤判断文件是否已经存储在系统中,进而防止侧信道信息泄露,提高系统安全性。
(2)与块级去重技术兼容的细粒度访问控制:通过文件级所有权列表管理用户对文件的所有权,通过块级所有权列表管理存储设备对文件的所有权,两级所有权列表协作在高效率的块级去重模式中完成细粒度的访问控制,相比仅支持文件级去重的动态所有权管理技术,本发明具有更高的去重效率,可以节省更多的系统资源,以降低服务成本。
(3)数据块动态存储:通过设定系统资源转移参数,在数据块存储周期结束时,对该数据块的访问信息进行统计分析。如果数据块在当前存储周期内的服务信息满足条件时,系统将根据服务要求将其转移至目标设备以降低服务成本和服务延迟。同时,数据块动态存储缓解了云服务器压力,提高了系统安全性。
附图说明
图1是本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法流程图。
图2是本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法的系统模型图;
图中:1、云服务模块;2、雾设备模块;3、用户模块。
图3是本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法的基本流程图。
图4是本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法的Merkle Hash树构建示意图。
图5是本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法的访问代价仿真图。
图6是本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法的数据动态存储效果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法包括以下步骤:
S101:计算文件主密钥,将文件分为数据块,并为每一个数据块计算相应的加密密钥;
S102:用户为文件生成文件标签,同时计算文件的块密钥密文;
S103:用户为每个数据块计算块密文及其标签;
S104:文件验证;
S105:通过在系统中进行数据块标签检测,本地雾设备向用户请求相关数据块,然后为用户返回的数据块生成块标签并进行验证;
S106:生成挑战;
S107:用户收到挑战信息后,根据挑战信息生成证据;
S108:验证证据;
S109:文件存储或更新,系统存储数据块后,定期根据服务需要将数据块在系统中各存储设备间转移,实现动态存储;
S110:文件解密。
下面结合附图对本发明的应用原理作进一步的描述。
本发明提供一种雾存储中雾存储中支持动态所有权管理的块级数据去重方法,该方法的系统模型如图2所示,包含三类实体:云服务模块(Cloud)1、雾设备模块(Fogs)2、用户模块(Users)3。其中,Cloud由主服务器和存储服务器组成,拥有足够的存储空间和计算能力,在与Fogs合作完成数据去重后,维护系统中所有的文件和数据块索引目录(文件标签,数据块标签,存储雾设备地址),负责存储部分数据块,同时管理雾设备、协调系统资源。Fogs是提供数据存储及访问服务的分布式实体。通过充当云代理在网络边缘提供存储服务,可与Cloud或其他雾设备合作完成数据去重、检索等服务,其存储能力、计算能力有限。负责存储数据块,并以文件所有权列表管理有效用户对文件的所有权,以数据块所有权列表管理各雾存储设备对数据块的所有权。本发明定义:与用户直接交互的雾设备为本地雾设备F0,定义存储目标文件的雾设备为Fs,各雾设备均匀分布在云服务器周围,与云服务器构成数据存储系统,系统中所有设备都是诚实且好奇的,不与敌手合谋。Users包括多个普通用户,是使用数据外包/检索服务的实体。根据存储数据是否为初次上传分为:初始上传者和后续上传者。为了减少存储和带宽浪费,数据所有者不应该上传超过一个相同内容的加密,并且应该从本地存储中删除数据。
本发明雾存储中雾存储中支持动态所有权管理的块级数据去重方法,能够抵抗侧信道信息泄露,在块级去重中实现动态所有权管理,同时系统根据服务需要对数据块进行动态存储,不但可以缓解云服务器工作压力,提高系统安全性,还可以降低服务成本和文件访问延迟,提高用户服务体验。
如图3所示,本发明实施例提供的雾存储中支持动态所有权管理的块级数据去重方法包括以下步骤:
步骤01:密钥生成:
(1.1)系统根据输入参数1λ选择一个哈希函数H(·):{0,1}*→{0,1}λ,然后选择一个λ-bit的素数p,并创建一个p阶乘法循环群G=<g>,其中g为G的一个生成元;
(1.2)us为M计算主密钥kmas=H(M);
(1.3)us将M分为n个块,并为每个数据块Mi计算加密密钥ki=H(Mi),1≤i≤n;
步骤02:文件初始化:
(2.2)us使用对称加密的方法,计算块密钥密文Ck=Enc(kmas,k1||…||kn);
步骤03:数据块初始化:
(3.1)us采用对称加密的方法,计算密文Ci=Enc(ki,Mi);
(3.2)us为每一个密文块计算块标签Ti=H(Ci);
步骤04:文件验证:
(4.1)us(身份信息为ids)向F0发送文件上传请求:Upload||t||{Ti}||Ck||ids;
(4.2)当雾存储系统中不存在t时(文件初始上传),由F0执行块级去重;
(4.3)当系统中存在t时(文件后续上传),由文件存储设备Fs通过F0执行文件级去重;
步骤05:数据块验证:
(5.1)当文件为初始上传时:
(5.1.1)F0通过系统查询数据块标签{Ti},确定系统中不存在的数据块,并向us请求不存在的数据块和部分随机选取的文件数据块;
(5.1.2)F0为us返回的数据块生成块标签,并与之前上传的块标签进行对比:若全部匹配成功,F0只保留初始上传数据块;
(5.2)当文件为后续上传时:
(5.2.1)Fs随机选取文件部分数据块,并通过F0向us请求;
(5.2.2)Fs为us返回的数据块生成块标签,并与之前上传的块标签进行对比:若全部匹配成功,则删除这些数据块;否则,向用户返回错误信息;
其中,雾设备向us请求文件随机数据块的数量由雾设备根据安全性需要决定,安全性越高的请求的文件随机数据块越多,至多请求文件所有数据块。后续上传时,系统内部执行的文件级去重对us展现为块级去重;
步骤06,生成挑战:
(6.1)Fs根据步骤5获得的块标签{Ti},为文件M建立Merkle Hash树,示例如图4;
步骤07:生成证据:用户us收到挑战信息Ic后,根据Ic和文件Merkle Hash树生成证据并向Fs返回。例如在以8个数据块构建的Merkle Hash树中,当Ic={2,5}时,用户生成证明:Pv=<{h2,(h1,h34)},{h5,(h6,h78)}>;
步骤08:验证证据:
(8.1)Fs根据Pv计算验证值;
(8.2)Fs通过判断验证值是否等于Merkle Hash树根节点值。例如,当Ic={2,5}时,由Pv可以计算h12=h(h1||h2),h14=h(h12||h34),h56=h(h5||h6),h58=h(h56||h78),h′=h(h14||h58)。根据h′是否等于h18判断us和Fs是否拥有相同文件:
若验证通过,说明us与Fs拥有相同的文件。Fs生成Ck的标签TCk=H(Ck),并向us返回TCk和文件Merkle Hash树的根节点值作为文件第二标签T0,用于文件下载验证;若验证失败,则向用户返回错误信息;
其中,本发明在文件初始与后续上传时均向用户us请求文件数据块,且执行所有权证明过程。这是为了模糊初始和后续上传操作的区别,使us无法通过分析系统回应来判断系统中该文件的存在性,从而防止文件敏感信息泄露;
步骤09:文件存储或更新:
(9.1)当文件为初始上传时:
(9.1.1)对初始上传的文件,F0建立文件级所有权列表LF:<t,T0,ψt,Gt>;其中,ψt为t到文件块标签集{Ti}的映射,Gt={idj}为文件所有权组,包含合法用户的身份信息;
(9.3)数据块在存储设备中按存储周期存储,每个存储周期结束后,存储设备对该数据块的访问信息作统计分析,并根据结果决定该数据块的下一个存储位置,以降低服务成本和服务延迟,提高系统安全性和服务质量。具体如下:
(9.3.1)云服务器根据系统中雾设备的分布情况建立理想的优化模型,计算数据块转移判定值rate0,具体如下:若某数据块存储在当前雾设备中的访问成本高于存储在云服务器中的访问成本时,则将该数据块转移至云服务器来降低服务成本。本发明减少访问成本的核心是通过存储策略减少数据访问的平均距离,这种距离的减少不仅降低了访问成本,还降低了访问延迟:
其中,r为各雾设备到云服务器的距离,dexp·r为远程雾设备访问距离的期望值,为文件块大小,numj为第j个雾设备对该数据块的访问次数,为数据块存储设备对数据块的访问次数占比,rate0为系统数据块转移判定值。相比于计算并比较访问成本,计算设备访问次数占比更简单便捷,且两者紧密相关;
(9.3.3)当云服务器Cloud中的一个数据块的存储周期结束时,Cloud计算各雾设备的访问次数占比1≤i≤n。若对其中最大的有则将数据块转移至雾设备Fj中,由Fj负责下一周期的访问管理;否则,该数据块仍存储在Cloud中;
其中,双标签列表及相应的密钥更新机制,使动态所有权管理与块级数据去重技术相兼容。数据块的动态存储机制,在缓解云服务器服务压力的同时,降低了服务成本和访问延迟,使雾存储系统中的云服务器与各雾设备以和谐的方式运作。
步骤10:文件解密:
(10.1)首先,用户us向F0发送文件请求:Retrieval||t||T0||TCk||ids;
(10.5)us使用kmas解密Ck得到块密钥k1||…||kn=Dec(kmas,Ck);
(10.7)在获得所有的文件明文块之后,组合可得到文件M=M1||…||Mn。
针对本方法提出的数据块动态存储策略,本发明进行了仿真实验,实验结果如图5、6所示。首先定义当时有定义远程访问次数占比基于上述定义,本发明建立了一个理想化的雾存储系统模型。其中包括中心云和6个均匀分布的雾设备,各雾设备与中心云的距离为r,各雾设备到存储数据块Ci雾设备F1的距离分别为:设定实验中各雾设备访问该数据块的总次数为100,各雾设备随机访问该数据块。
如图5所示,蓝色线条表示采用具体距离计算的趋势图,黑色线条表示采用期望距离计算的趋势图,红色线条表示相应的远程访问次数占比趋势图。可以看出,期望距离的趋势可以反映具体距离的趋势,且二者与紧密相关,所以和可以用来判断数据块下个存储位置。
如图6所示,本发明在相同的实验环境下,对当前雾存储技术与本方法在内部资源使用方面进行对比。蓝色线条表示数据块存储在中心云时的访问代价,即当前雾存储去重技术的访问成本;红色线条代表存储在雾设备中的访问代价;黑色线条代表本方法提出的数据存储策略的访问代价。从图6可以看出,黑色线条始终等于蓝色和红色线条的最小值,这意味着本发明提出的数据块存储策略在相同服务场景下,访问代价是最小的,高效地利用了系统内部的资源。
本发明基于跨用户、跨文件的块级客户端去重模式中,文件部分数据块存在性无法证明文件存在性的特点,提出改进的块级客户端去重技术,防止侧信道信息泄露,提高系统安全性。同时,基于雾存储的结构特点,提出两级动态所有权管理机制,在块级去重中实现了动态所有权管理。其中,通过文件级所有权列表管理用户对文件的所有权,通过块级所有权列表管理存储设备对文件的所有权。两级所有权列表的结合使用,使数据存储系统在保证高去重效率的同时,实现细粒度的访问控制。并在此基础上提出了数据块动态存储机制,使数据块根据服务需要在雾存储系统中定期转移,不但可以提高系统安全性,还可以降低服务成本和文件访问延迟,提高用户服务体验。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种雾存储中支持动态所有权管理的块级数据去重方法,其特征在于,所述方法提出了一种改进的块级客户端去重技术,在节省网络带宽和存储空间的同时,解决了传统客户端去重技术中存在的数据信息泄露的问题;此外,该方法还提出了两级所有权列表和密钥更新机制,在保证高效的存储空间节省同时,实现细粒度的访问控制;最后,提出数据块动态存储机制以减少服务成本和延迟,提高系统资源利用率;
针对雾存储中的数据去重模型,去重过程涉及到的实体如下:中心云Cloud,雾设备Fogs,终端用户End users,其中本地雾设备为F0,数据存储设备为Fs;具体步骤如下:
步骤一,密钥生成,用户首先为文件M计算文件主密钥kmas,然后将M分为n个数据块,并为每一个数据块Mi计算相应的加密密钥ki,1≤i≤n;
步骤二,文件初始化,用户为M生成文件标签t,并计算M的块密钥密文Ck;
步骤三,数据块初始化,用户为每个数据块Mi计算块密文Ci及其标签Ti;
步骤四,文件验证,用户向F0发送t,{Ti},Ck和用户身份信息;当雾存储系统中不存在t时,由F0执行块级去重;当系统中存在t时,由文件存储雾设备Fs通过F0执行文件级去重;
步骤五,数据块验证,通过在系统中进行数据块标签检测,本地雾设备F0向用户请求相关数据块,然后为用户返回的数据块生成块标签并进行验证;如果验证全部成功,则Fs与用户执行所有权验证步骤;其中文件初始上传时,F0请求系统中不存在的文件数据块和部分随机数据块;文件后续上传时,Fs通过F0请求文件部分随机数据块;
步骤六,生成挑战,Fs根据步骤五得到的文件块标签集{Ti}建立Merkle Hash树,生成并向用户返回挑战信息Ic;
步骤七,生成证据,用户收到Ic后,根据Ic生成证据Pv,并向Fs返回;
步骤八,验证证据,Fs验证Pv的正确性,判断用户和Fs是否拥有相同的文件;若验证通过,F0计算文件块密钥密文Ck的标签TCk,并向用户返回TCk和Merkle Hash树的根节点值T0用于文件下载验证;然后,F0与Fs就Ck进行客户端去重;如果所有权验证失败,则Fs向用户返回错误信息;
步骤九,文件存储或更新,对于初始上传的文件,F0建立相应的文件级所有权列表LF;对于初始上传的数据块,F0对其重加密并存储相应的数据块和重加密密钥,然后建立相应的块级所有权列表LB;对于后续上传的文件和数据块,F0通知相关存储设备Fs更新相应的所有权列表及数据块;系统存储数据块后,定期根据服务需要将数据块在系统中各存储设备间转移,实现动态存储;
所述步骤九的文件存储或更新过程包括:
(1)当文件为初始上传时:
(1.1)对初始上传的文件,F0建立文件级所有权列表LF:<t,T0,ψt,Gt>;其中,ψt为t到块标签集{Ti}的映射,Gt={idj}为文件所有权组,包含合法用户的身份信息;
(3)数据块在存储设备中按存储周期存储,每个存储周期结束后,存储设备对该数据块的访问信息作统计分析,并根据结果决定该数据块的下一个存储位置,以降低服务成本和服务延迟,提高系统安全性和服务质量;
(3.1)云服务器根据系统中雾设备的分布情况建立优化模型,计算数据块转移判定值rate0,某数据块存储在当前雾设备中的访问成本高于存储在云服务器中的访问成本时,则将该数据块转移至云服务器来降低服务成本;减少访问成本的核心是通过存储策略减少数据访问的平均距离,这种距离的减少不仅降低了访问成本,还降低了访问延迟:
其中,r为各雾设备到云服务器的距离,dexp·r为远程雾设备访问距离的期望值,为文件块大小,numj为第j个雾设备对该数据块的访问次数,为数据块存储设备对数据块的访问次数占比,rate0为系统数据块转移判定值;相比于计算并比较访问成本,计算设备访问次数占比更简单便捷,且两者紧密相关;
2.如权利要求1所述的雾存储中支持动态所有权管理的块级数据去重方法,其特征在于,所述步骤一的密钥生成过程中,用户us首先为文件M计算主密钥kmas,然后将M分为n块,并为每个数据块Mi计算加密密钥ki:
(1)系统根据输入参数1λ选择一个哈希函数H(·):{0,1}*→{0,1}λ,然后选择一个λ-bit的素数p,并创建一个p阶乘法循环群G=g,其中g为G的一个生成元;
(2)us为M计算主密钥kmas=H(M);
(3)us将M分为n个块,并为每个数据块Mi计算加密密钥ki=H(Mi),1≤i≤n;
所述步骤二的文件初始化过程中:用户us为文件M生成文件标签t,同时计算M的块密钥密文Ck,具体包括:
(2)us使用对称加密的方法,计算块密钥密文Ck=Enc(kmas,k1||…||kn);
所述步骤三的数据块初始化过程中:用户us为每个数据块Mi,1≤i≤n计算块密文Ci及其标签Ti,具体包括:
(1)us采用对称加密的方法,计算密文Ci=Enc(ki,Mi);
(2)us为每一个密文块计算块标签Ti=H(Ci);
所述步骤四的文件验证过程中:本地雾设备F0在雾存储系统中查询用户us上传的文件标签t,用户us的身份信息为ids,判断文件是否已经被上传:
(1)us向本地雾设备F0发送文件上传请求:Upload||t||{Ti}||Ck||ids;
(2)当雾存储系统中不存在t时,由F0执行块级去重;
(3)当系统中存在t时,由文件存储设备Fs通过F0执行文件级去重。
3.如权利要求1所述的雾存储中支持动态所有权管理的块级数据去重方法,其特征在于,所述步骤五数据块验证包括:
(1)当文件为初始上传时:
(1.1)F0通过系统查询数据块标签{Ti},确定系统中不存在的数据块,并向us请求不存在的数据块和部分随机选取的文件数据块;
(1.2)F0为us返回的数据块生成块标签,并与之前上传的块标签进行对比:若全部匹配成功,F0只保留初始上传数据块;
(2)当文件为后续上传时:
(2.1)Fs随机选取文件部分数据块,并通过F0向us请求;
(2.2)Fs为us返回的数据块生成块标签,并与之前上传的块标签进行对比:若全部匹配成功,则删除这些数据块;否则,向用户返回错误信息;
其中,雾设备向us请求文件随机数据块的数量由雾设备根据安全性需要决定,安全性越高的请求的文件随机数据块越多,至多请求文件所有数据块;后续上传时,系统内部执行的文件级去重对us展现为块级去重;
所述步骤六的生成挑战过程包括:
(1)Fs根据步骤五获得的块标签{Ti},为文件M建立Merkle Hash树;
4.如权利要求1所述的雾存储中支持动态所有权管理的块级数据去重方法,其特征在于,所述步骤七生成证据过程中:用户us收到挑战信息Ic后,根据Ic和文件Merkle Hash树生成证据并向Fs返回;在以8个数据块构建的Merkle Hash树中,当Ic={2,5}时,用户根据挑战信息生成证明:Pv=<{h2,(h1,h34)},{h5,(h6,h78)}>;
所述步骤八的验证证据过程具体包括:
(1)Fs根据Pv计算验证值;
(2)Fs通过判断验证值是否等于Merkle Hash树根节点值,当Ic={2,5}时,由Pv可以计算h12=h(h1||h2),h14=h(h12||h34),h56=h(h5||h6),h58=h(h56||h78),h′=h(h14||h58);根据h′是否等于h18判断us和Fs是否拥有相同的文件;
验证通过,说明us与Fs拥有相同的文件;Fs生成Ck的标签TCk=H(Ck),并向us返回TCk和文件Merkle Hash树的根节点值作为文件第二标签T0,用于文件下载验证;验证失败,则向用户返回错误信息。
5.如权利要求1所述的雾存储中支持动态所有权管理的块级数据去重方法,其特征在于,所述步骤十的文件解密过程具体包括:
(1)用户us向F0发送文件请求:Retrieval||t||T0||TCk||ids;
(7)在获得所有的文件明文块之后,组合可得到文件M=M1||…||Mn。
6.一种实施权利要求1所述雾存储中支持动态所有权管理的块级数据去重方法的支持动态所有权管理和数据动态存储的块级安全客户端去重系统,其特征在于,所述支持动态所有权管理和数据动态存储的块级安全客户端去重系统包括:云服务器模块,雾设备模块,用户模块;与用户模块直接交互的雾设备模块为本地雾设备F0,存储目标文件的雾设备模块为Fs,各雾设备均匀分布在云服务器模块周围,与云服务器模块构成数据存储系统。
7.一种应用权利要求1~5任意一项所述雾存储中支持动态所有权管理的块级数据去重方法的雾存储系统。
8.一种应用权利要求1~5任意一项所述雾存储中支持动态所有权管理的块级数据去重方法的信息安全系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810329747.XA CN108776758B (zh) | 2018-04-13 | 2018-04-13 | 一种雾存储中支持动态所有权管理的块级数据去重方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810329747.XA CN108776758B (zh) | 2018-04-13 | 2018-04-13 | 一种雾存储中支持动态所有权管理的块级数据去重方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108776758A CN108776758A (zh) | 2018-11-09 |
CN108776758B true CN108776758B (zh) | 2021-08-17 |
Family
ID=64033799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810329747.XA Active CN108776758B (zh) | 2018-04-13 | 2018-04-13 | 一种雾存储中支持动态所有权管理的块级数据去重方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108776758B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109783456B (zh) * | 2019-01-17 | 2021-02-05 | 暨南大学 | 去重结构搭建方法、去重方法、文件取回方法、去重系统 |
CN109995505B (zh) * | 2019-03-07 | 2021-08-10 | 西安电子科技大学 | 一种雾计算环境下数据安全去重系统及方法、云存储平台 |
CN110213042B (zh) * | 2019-05-09 | 2021-02-02 | 电子科技大学 | 一种基于无证书代理重加密的云数据去重方法 |
CN111835742B (zh) * | 2020-07-03 | 2022-07-19 | 南京普建维思信息技术有限公司 | 一种基于分布式副本存储的数据安全管理系统及方法 |
CN113810363B (zh) * | 2021-07-29 | 2023-06-20 | 蜂巢能源科技有限公司 | 报文加密、解密方法及电子设备 |
CN115361218B (zh) * | 2022-08-23 | 2024-02-23 | 西安电子科技大学 | 一种具有查询隐匿特性的云端数据存在性验证方法 |
CN116566974B (zh) * | 2023-07-07 | 2023-09-15 | 北京滴普科技有限公司 | 一种数据去重管理装置、系统、方法及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550222A (zh) * | 2015-12-07 | 2016-05-04 | 中国电子科技网络信息安全有限公司 | 一种基于分布式存储的图像服务系统及方法 |
CN105681273A (zh) * | 2015-12-17 | 2016-06-15 | 西安电子科技大学 | 客户端重复数据删除方法 |
CN105939191A (zh) * | 2016-07-08 | 2016-09-14 | 南京理工大学 | 一种云存储中密文数据的客户端安全去重方法 |
CN106603561A (zh) * | 2016-12-30 | 2017-04-26 | 电子科技大学 | 一种云存储中的块级加密方法及多粒度去重复方法 |
CN107094075A (zh) * | 2017-07-05 | 2017-08-25 | 电子科技大学 | 一种基于收敛加密的数据块动态操作方法 |
CN107800688A (zh) * | 2017-09-28 | 2018-03-13 | 南京理工大学 | 一种基于收敛加密的云端数据去重和完整性审计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105740266A (zh) * | 2014-12-10 | 2016-07-06 | 国际商业机器公司 | 用于数据去重的方法和设备 |
-
2018
- 2018-04-13 CN CN201810329747.XA patent/CN108776758B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550222A (zh) * | 2015-12-07 | 2016-05-04 | 中国电子科技网络信息安全有限公司 | 一种基于分布式存储的图像服务系统及方法 |
CN105681273A (zh) * | 2015-12-17 | 2016-06-15 | 西安电子科技大学 | 客户端重复数据删除方法 |
CN105939191A (zh) * | 2016-07-08 | 2016-09-14 | 南京理工大学 | 一种云存储中密文数据的客户端安全去重方法 |
CN106603561A (zh) * | 2016-12-30 | 2017-04-26 | 电子科技大学 | 一种云存储中的块级加密方法及多粒度去重复方法 |
CN107094075A (zh) * | 2017-07-05 | 2017-08-25 | 电子科技大学 | 一种基于收敛加密的数据块动态操作方法 |
CN107800688A (zh) * | 2017-09-28 | 2018-03-13 | 南京理工大学 | 一种基于收敛加密的云端数据去重和完整性审计方法 |
Non-Patent Citations (4)
Title |
---|
《云存储中密文数据的客户端安全去重方案》;付安民等;《电子学报》;20171231;第45卷(第12期);第2864-2872页 * |
A Hybrid Deduplication for Secure and Efficient Data Outsourcing in Fog Computing;Dongyoung Koo等;《2016 IEEE 8th International Conference on Cloud Computing Technology and Science》;20161215;第285-293页 * |
BL-MLE: Block-Level Message-Locked Encryption for Secure Large File Deduplication;Rongmao Chen等;《IEEE Transactions on Information Forensics and Security》;20150819;第10卷(第12期);第2643-2652页 * |
田国华;田国华;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200215(第02期);第I138-204页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108776758A (zh) | 2018-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108776758B (zh) | 一种雾存储中支持动态所有权管理的块级数据去重方法 | |
CN109768987B (zh) | 一种基于区块链的数据文件安全隐私存储和分享方法 | |
CN108810004B (zh) | 基于代理的可撤销多授权中心访问控制方法、云存储系统 | |
CN110224986B (zh) | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 | |
Li et al. | A hybrid cloud approach for secure authorized deduplication | |
CN109995505B (zh) | 一种雾计算环境下数据安全去重系统及方法、云存储平台 | |
EP3062261B1 (en) | Community-based de-duplication for encrypted data | |
US9165158B2 (en) | Encryption key management using distributed storage of encryption-key fragments | |
CN110636500A (zh) | 支持跨域数据共享的访问控制系统及方法、无线通信系统 | |
CN113961535A (zh) | 一种基于区块链的数据可信存储共享系统与方法 | |
CN102457555A (zh) | 一种分布式存储的安全系统及方法 | |
CN103227789B (zh) | 一种云环境下轻量级的细粒度访问控制方法 | |
CN110602063A (zh) | 一种多授权中心访问控制方法、系统及云存储系统 | |
Yan et al. | A scheme to manage encrypted data storage with deduplication in cloud | |
US10581856B2 (en) | Method and apparatus for heterogeneous data storage management in cloud computing | |
CN104009987A (zh) | 一种基于用户身份能力的细粒度云平台安全接入控制方法 | |
CN110175169B (zh) | 一种加密数据去重方法、系统及相关装置 | |
Wen et al. | A verifiable data deduplication scheme in cloud computing | |
Jeong et al. | A token-based authentication security scheme for Hadoop distributed file system using elliptic curve cryptography | |
CN106326666A (zh) | 一种健康档案信息管理服务系统 | |
CN114826652A (zh) | 一种基于双区块链的可溯源访问控制方法 | |
Periasamy et al. | An enhanced secure content de-duplication identification and prevention (ESCDIP) algorithm in cloud environment | |
CN109783456B (zh) | 去重结构搭建方法、去重方法、文件取回方法、去重系统 | |
Lin et al. | Secure deduplication schemes for content delivery in mobile edge computing | |
CN106161654A (zh) | 一种云教育系统 |
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 |