CN109088720B - 一种基于混合云存储的加密文件去重方法及装置 - Google Patents

一种基于混合云存储的加密文件去重方法及装置 Download PDF

Info

Publication number
CN109088720B
CN109088720B CN201810922552.6A CN201810922552A CN109088720B CN 109088720 B CN109088720 B CN 109088720B CN 201810922552 A CN201810922552 A CN 201810922552A CN 109088720 B CN109088720 B CN 109088720B
Authority
CN
China
Prior art keywords
target file
target
user
authority
target user
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
CN201810922552.6A
Other languages
English (en)
Other versions
CN109088720A (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201810922552.6A priority Critical patent/CN109088720B/zh
Publication of CN109088720A publication Critical patent/CN109088720A/zh
Application granted granted Critical
Publication of CN109088720B publication Critical patent/CN109088720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于混合云存储的加密文件去重方法,应用于私有云,包括:接收目标用户发送的将目标文件上传到公有云的上传请求;根据目标用户的用户权限集,计算目标文件的去重标签集;在确定公有云上不存在目标文件时,根据目标文件的访问限制权限集,计算目标文件的权限标签集;将目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给目标用户,以使目标用户使用加密密钥对目标文件进行加密,将目标文件的密文和权限标签集上传到公有云。应用本发明实施例所提供的技术方案,保证用户要上传到公有云的重复文件能够被检测,提高了文件安全性。本发明还公开了一种基于混合云存储的加密文件去重装置,具有相应技术效果。

Description

一种基于混合云存储的加密文件去重方法及装置
技术领域
本发明涉及云存储技术领域,特别是涉及一种基于混合云存储的加密文件去重方法及装置。
背景技术
随着云计算技术的快速发展,云存储服务提供商(S-CSP)逐渐兴起,通过公有云为互联网的用户提供了充足的存储空间和计算资源。
虽然在传统的存储系统中,用户完全拥有文件的所有权和管理权,但存在着存储空间有限、管理成本高等缺点。所以,用户更倾向于使用云存储服务提供商提供的公有云进行文件存储,以节省存储空间和管理成本,但这也将导致用户无法判断自己的文件是否处于安全存储的状态。因此,用户在使用云存储服务提供商提供的公有云进行文件存储前,会使用加密算法对文件进行加密处理,以防止攻击者或云存储服务提供商获取到原始文件。
使用传统的加密算法如AES和MD5等会随机化加密后所产生的密文,以至于同样的文件每一次加密都会产生不同的密文,使得公有云难以确定原始文件是否相同,从而无法进行重复检测删除。
发明内容
本发明的目的是提供一种基于混合云存储的加密文件去重方法及装置,以保证用户要上传到公有云的重复文件能够被检测,同时可以有效抵制外部攻击者和内部攻击者发起的暴力攻击,提高文件安全性。
为解决上述技术问题,本发明提供如下技术方案:
一种基于混合云存储的加密文件去重方法,应用于私有云,所述方法包括:
接收目标用户发送的将目标文件上传到公有云的上传请求;
根据所述目标用户的用户权限集,基于等级函数和三元关系式计算所述目标文件的去重标签集;
通过所述去重标签集,确定所述公有云上是否存在所述目标文件;
如果否,则根据所述目标文件的访问限制权限集,计算所述目标文件的权限标签集;
将所述目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给所述目标用户,以使所述目标用户使用所述加密密钥对所述目标文件进行加密,将所述目标文件的密文和所述权限标签集上传到所述公有云。
在本发明的一种具体实施方式中,在确定所述公有云上存在所述目标文件时,还包括:
对所述目标用户进行身份验证;
如果验证通过,则授权所述目标用户拥有所述公有云上的所述目标文件。
在本发明的一种具体实施方式中,在对所述目标用户进行身份验证通过之后,还包括:
计算所述去重标签集的权限差集;
将所述权限差集发送给所述公有云,以使所述公有云基于所述权限差集更新在先存储的所述去重标签集。
在本发明的一种具体实施方式中,还包括:
在对所述目标用户进行身份验证未通过时,拒绝所述目标用户访问所述公有云上的所述目标文件。
在本发明的一种具体实施方式中,所述根据所述目标用户的用户权限集,基于等级函数和三元关系式计算所述目标文件的去重标签集,包括:
根据所述目标用户的用户权限集PU(PU∈P)选择相应的权限密钥{kp},P为总权限集;
分别选取两个不同的哈希函数H0和H1,利用所述权限密钥{kp}计算所述目标文件的去重标签集{φF,p′=H1(H0(F),kp′)},p'满足三元关系式Y{(tp,p,p′)}=1,p∈PU
其中,三元关系式
Figure BDA0001764603410000021
Figure BDA0001764603410000031
权限p的等级值通过等级函数T表示为T(p),T(p)∈Z,p、p'为权限,tp表示权限p的有效标识,δ(δ∈Z)为标签系数。
在本发明的一种具体实施方式中,通过以下步骤预先通过构建默克尔哈希树计算得到所述加密密钥:
将所述权限密钥的哈希值作为默克尔哈希树的叶子节点;
对每两个叶子节点进行串接,并计算其哈希值,得到叶子节点的父节点哈希值;
依次从下向上逐层运算,直至得到根节点;
将所述根节点确定为所述加密密钥。
在本发明的一种具体实施方式中,在所述接收目标用户发送的将目标文件上传到公有云的上传请求之后、所述根据所述目标用户的用户权限集,计算所述目标文件的去重标签集之前,还包括:
验证所述目标用户的身份是否正确;
如果是,则执行所述根据所述目标用户的用户权限集,计算所述目标文件的去重标签集的步骤。
在本发明的一种具体实施方式中,还包括:
接收所述目标用户发送的针对所述公有云上的所述目标文件的下载请求;
验证所述目标用户的用户权限集与所述目标文件的访问限制权限集是否相符;
如果是,则向所述公有云发送确认信号,以使所述公有云在接收到所述确认信号时将所述目标文件的密文发送给所述目标用户,所述目标用户使用所述加密密钥进行解密。
在本发明的一种具体实施方式中,在验证所述目标用户的用户权限集与所述目标文件的访问限制权限集不相符时,还包括:
拒绝所述目标用户下载所述公有云上的所述目标文件。
一种基于混合云存储的加密文件去重装置,应用于私有云,所述装置包括:
上传请求接收模块,用于接收目标用户发送的将目标文件上传到公有云的上传请求;
去重标签计算模块,用于根据所述目标用户的用户权限集,计算所述目标文件的去重标签集;
重复文件确定模块,用于通过所述去重标签集,确定所述公有云上是否存在所述目标文件;如果否,则触发权限标签计算模块;
所述权限标签计算模块,用于根据所述目标文件的访问限制权限集,计算所述目标文件的权限标签集;
标签密钥发送模块,用于将所述目标文件的权限标签集和预先计算得到的加密密钥发送给所述目标用户,以使所述目标用户使用所述加密密钥对所述目标文件进行加密,将所述目标文件的密文和所述权限标签集上传到所述公有云。
应用本发明实施例所提供的技术方案,私有云在接收到目标用户发送的将目标文件上传到公有云的上传请求时,根据目标用户的用户权限集,基于等级函数和三元关系式计算目标文件的去重标签集,通过去重标签集,在确定公有云上不存在目标文件时,根据目标文件的访问限制权限集,计算目标文件的权限标签集,将目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给目标用户,以使目标用户使用加密密钥对目标文件进行加密,将目标文件的密文和权限标签集上传到公有云。通过等级函数和三元关系式计算去重标签集,保证用户要上传到公有云上的重复文件能够被检测,减少去重标签集的计算开销,同时使用预先通过构建默克尔哈希树计算得到的加密密钥对目标文件进行加密后上传,有效抵制外部攻击者和内部攻击者发起的暴力攻击,提高文件安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于混合云存储的加密文件去重方法的实施流程图;
图2为本发明实施例中一种密钥生成结构示意图;
图3为本发明实施例中一种基于混合云存储的加密文件去重装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1所示,为本发明实施例所提供的一种基于混合云存储的加密文件去重方法的实施流程图,该方法应用于私有云,可以包括以下步骤:
S110:接收目标用户发送的将目标文件上传到公有云的上传请求。
在本发明实施例中,用户可以是一个企业中的任意一员,私有云可作为用户和公有云的通信中介。用户在有将文件上传到公有云的需求时,可以向私有云发出相应的上传请求。私有云在接收到目标用户发送的将目标文件上传到公有云的上传请求后,可以继续执行步骤S120的操作。
S120:根据目标用户的用户权限集,基于等级函数和三元关系式计算目标文件的去重标签集。
假设企业中用户的数量为N,总权限集为P。所有用户的用户权限和文件的访问限制权限都来源于权限集P。
在用户注册登录成功时,私有云将生成该用户的身份标识uuid,并发送给该用户进行存储,用户的数据文件将由云存储服务提供商S-CSP提供的公有云进行存储。用户的身份标识uuid可由加密的用户名、密码或用户申请的权限等组成。
在本发明的一种具体实施方式中,私有云在步骤S110接收到目标用户发送的将目标文件上传到公有云的上传请求后,可以先验证目标用户的身份是否正确,具体的,可以根据用户的身份标识进行验证,如果是,则执行步骤S120的操作,否则,可以不做任何操作,或者,向目标用户返回身份验证失败的提示信息。
在本发明的一种具体实施方式中,步骤S120可以包括以下步骤:
步骤一:根据目标用户的用户权限集选择相应的权限密钥;
步骤二:分别选取两个不同的哈希函数,利用权限密钥计算目标文件的去重标签集。
在本发明实施例中,假设目标用户所拥有的用户权限集为PU(PU∈P),用户设定目标文件F的访问限制权限集为PF(PF∈P)。私有云在验证目标用户的身份正确后,可以根据目标用户的用户权限集PU选择相应的权限密钥{kp},分别选取两个不同的哈希函数H0和H1,计算出目标文件的去重标签集{φF,p′=H1(H0(F),kp′)},p'满足三元关系式Y{(tp,p,p')}=1,p∈PU
其中,可以通过以下方式构造三元关系式Y:
首先构造等级函数T,将权限的等级差异进行量化:
设定权限集P的等级函数为T,权限p的等级值表示为T(p),T(p)∈Z,等级函数T的取值范围为[0,ε],ε的大小由私有云根据对应的公共层次关系来设定。当T(p)=0时,表示权限p为最低等级,当T(p)=ε时,表示权限p为最高等级,权限p等级越高,等级值T(p)就越大。
其次,设定一个三元关系式Y={(tp,p,p')},其中p、p'为权限,tp表示权限p的有效标识,δ(δ∈Z)为标签系数,当δ越大,需要计算的有效去重标签数目就越少,反之成立,tp和Y的值满足以下表达式:
Figure BDA0001764603410000061
S130:通过去重标签集,确定公有云上是否存在目标文件。
在本发明实施例中,私有云计算得到目标文件的去重标签集后,可以通过去重标签集,确定公有云上是否存在目标文件。
具体的,私有云可以将去重标签集发送给目标用户,目标用户将去重标签集上传到公有云,公有云对目标文件进行重复检测,返回检测结果。
或者,私有云可以直接将去重标签集发送给公有云,公有云对目标文件进行重复检测,返回检测结果。
在确定公有云上不存在目标文件时,可以继续执行步骤S140的操作。
在本发明的一个实施例中,如图1所示,在确定公有云上存在目标文件时,可以再次对目标用户进行身份验证,如果验证通过,则授权目标用户拥有公有云上的目标文件。
公有云基于去重标签集,对目标文件进行重复检测后,如果确定公有云上存在目标文件,私有云需要再次通过身份标识uuid对目标用户进行身份验证,通过对目标用户进行身份验证,来判定此时目标用户是否为有效合法的用户。避免中间过程中用户身份被篡改。
如果目标用户通过身份验证,则可以授权允许目标用户拥有目标文件F,目标用户不需要再上传目标文件F。
在对目标用户进行身份验证通过后,私有云可以计算去重标签集的权限差集{φF,p'=H1(H0(F),kp')},其中p'满足三元关系式Y{(tp,p,p')}=1,p∈PF-U,将权限差集{φF,p'}发送给公有云,以使公有云基于权限差集更新在先存储的去重标签集{φF,p'},以便为其他用户进行去重检测。
在对目标用户进行身份验证未通过时,可以拒绝目标用户访问公有云上的目标文件。
S140:根据目标文件的访问限制权限集,计算目标文件的权限标签集。
通过去重标签集,确定公有云上不存在目标文件时,私有云可以根据目标文件的访问限制权限集,计算目标文件的权限标签集。
具体的,私有云可以接收目标用户发送的目标文件F的访问限制权限集PF,选取权限密钥kpF,计算权限标签集{φF,pF=H1(H0(F),kpF)}。
S150:将目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给目标用户,以使目标用户使用加密密钥对目标文件进行加密,将目标文件的密文和权限标签集上传到公有云。
在本发明的一种具体实施方式中,可以通过以下步骤预先通过构建默克尔哈希树计算得到加密密钥:
第一个步骤:将权限密钥的哈希值作为默克尔哈希树的叶子节点;
第二个步骤:对每两个叶子节点进行串接,并计算其哈希值,得到叶子节点的父节点哈希值;
第三个步骤:依次从下向上逐层运算,直至得到根节点;
第四个步骤:将根节点确定为加密密钥。
为便于描述,将上述四个步骤结合起来进行说明。
私有云将权限密钥{kp}的哈希值作为默克尔Merkle哈希树的叶子节点,即权限密钥为kp1,kp2,…,kpj,其叶子节点为H(kp1),H(kp2),…,H(kpj)。
对每两个叶子节点进行串接,并计算其哈希值,得到叶子节点的父节点哈希值,即第j-1个叶子节点和第j个叶子节点的父节点哈希值为H(kp(j-1)+kpj),其余非叶子节点的哈希值是等于其孩子节点值串接后哈希运算得到的,当某一层为奇数个节点时,将出现没有节点与最后一个节点进行串接,此时最后一个节点的父节点由该节点直接哈希获得,依次从下向上逐层运算,最终将得到唯一的根节点ROOT,将此根节点ROOT确定为加密密钥kF。如图2所示用户权限集数目为4时的密钥生成结构图,最后得到的加密密钥kF=H0123。
私有云可以将加密密钥kF保存在密钥管理服务器上,每当用户发起上传文件的请求时,私有云只需直接从密钥管理服务器中获取该用户的加密密钥kF,将加密密钥kF发送给用户,可以降低密钥的计算开销。当用户的用户权限集进行更新时,kF也将直接失效,私有云需重新构造Merkle哈希树来更新加密密钥kF
私有云将加密密钥kF和权限标签集{φF,pF}发送目标用户,目标用户使用加密密钥kF对目标文件进行加密,得到密文CF,即CF=Encrypt(kF,F),将目标文件的密文CF和权限标签集上传到公有云,公有云返回指向目标文件的指针。
在本发明的一个实施例中,该方法还可以包括以下步骤:
步骤一:接收目标用户发送的针对公有云上的目标文件的下载请求;
步骤二:验证目标用户的用户权限集与目标文件的访问限制权限集是否相符;如果是,则执行步骤三;
步骤三:向公有云发送确认信号,以使公有云在接收到确认信号时将目标文件的密文发送给目标用户,目标用户使用加密密钥进行解密。
目标用户将目标文件上传到公有云后,当需要下载目标文件F时,可以发送下载请求给私有云。私有云接收到目标用户发送的针对公有云上的目标文件的下载请求后,可以验证目标用户的用户权限集与目标文件的访问限制权限集是否相符,如果是,则向公有云发送确认信号。公有云接收到确认信号后将目标文件的密文CF发送给目标用户,目标用户使用加密密钥kF进行解密,即F=Decrypt(kF,CF),最终目标用户获取到目标文件F。在验证目标用户的用户权限集与目标文件的访问限制权限集不相符时,可以拒绝目标用户下载公有云上的目标文件。
在本发明实施例中,进行密钥管理和权限管理,通过权限等级函数T来计算去重标签,保证了重复文件能够被检测,降低去重标签的计算开销。
通过构造Merkle哈希树来生成加密密钥,保证生成的密文变得不可预测,有效地解决了内部和外部攻击者发起的暴力攻击,在一定程度也降低了密文生成的计算开销,极大地保证文件数据隐私的安全。
有效地支持文件级数据的重复数据删除,提高数据的去重率,高效地实现了支持授权访问的数据安全去重系统。
应用本发明实施例所提供的方法,私有云在接收到目标用户发送的将目标文件上传到公有云的上传请求时,根据目标用户的用户权限集,基于等级函数和三元关系式计算目标文件的去重标签集,通过去重标签集,在确定公有云上不存在目标文件时,根据目标文件的访问限制权限集,计算目标文件的权限标签集,将目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给目标用户,以使目标用户使用加密密钥对目标文件进行加密,将目标文件的密文和权限标签集上传到公有云。通过等级函数和三元关系式计算去重标签集,保证用户要上传到公有云上的重复文件能够被检测,减少去重标签集的计算开销,同时使用预先通过构建默克尔哈希树计算得到的加密密钥对目标文件进行加密后上传,有效抵制外部攻击者和内部攻击者发起的暴力攻击,提高文件安全性。
相应于上面的方法实施例,本发明实施例还提供了一种基于混合云存储的加密文件去重装置,应用于私有云,下文描述的一种基于混合云存储的加密文件去重装置与上文描述的一种基于混合云存储的加密文件去重方法可相互对应参照。
参见图3所示,该装置包括以下模块:
上传请求接收模块310,用于接收目标用户发送的将目标文件上传到公有云的上传请求;
去重标签计算模块320,用于根据目标用户的用户权限集,计算目标文件的去重标签集;
重复文件确定模块330,用于通过去重标签集,确定公有云上是否存在目标文件;如果否,则触发权限标签计算模块340;
权限标签计算模块340,用于根据目标文件的访问限制权限集,计算目标文件的权限标签集;
标签密钥发送模块350,用于将目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给目标用户,以使目标用户使用加密密钥对目标文件进行加密,将目标文件的密文和权限标签集上传到公有云。
应用本发明实施例所提供的装置,私有云在接收到目标用户发送的将目标文件上传到公有云的上传请求时,根据目标用户的用户权限集,基于等级函数和三元关系式计算目标文件的去重标签集,通过去重标签集,在确定公有云上不存在目标文件时,根据目标文件的访问限制权限集,计算目标文件的权限标签集,将目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给目标用户,以使目标用户使用加密密钥对目标文件进行加密,将目标文件的密文和权限标签集上传到公有云。通过等级函数和三元关系式计算去重标签集,保证用户要上传到公有云上的重复文件能够被检测,减少去重标签集的计算开销,同时使用预先通过构建默克尔哈希树计算得到的加密密钥对目标文件进行加密后上传,有效抵制外部攻击者和内部攻击者发起的暴力攻击,提高文件安全性。
在本发明的一种具体实施方式中,还包括授权模块,用于:
在确定公有云上存在目标文件时,对目标用户进行身份验证;
如果验证通过,则授权目标用户拥有公有云上的目标文件。
在本发明的一种具体实施方式中,还包括权限差集发送模块,用于:
在对目标用户进行身份验证通过之后,计算去重标签集的权限差集;
将权限差集发送给公有云,以使公有云基于权限差集更新在先存储的去重标签集。
在本发明的一种具体实施方式中,还包括拒绝模块,用于:
在对目标用户进行身份验证未通过时,拒绝目标用户访问公有云上的目标文件。
在本发明的一种具体实施方式中,去重标签计算模块320,具体用于:
根据所述目标用户的用户权限集PU(PU∈P)选择相应的权限密钥{kp},P为总权限集;
分别选取两个不同的哈希函数H0和H1,利用所述权限密钥{kp}计算所述目标文件的去重标签集{φF,p′=H1(H0)F),kp′)},p'满足三元关系式Y{(tp,p,p′)}=1,p∈PU
其中,三元关系式
Figure BDA0001764603410000111
Figure BDA0001764603410000112
权限p的等级值通过等级函数T表示为T(p),T(p)∈Z,p、p'为权限,tp表示权限p的有效标识,δ(δ∈Z)为标签系数。
在本发明的一种具体实施方式中,还包括加密密钥计算模块,用于通过以下步骤预先通过构建默克尔哈希树计算得到加密密钥:
将权限密钥的哈希值作为默克尔哈希树的叶子节点;
对每两个叶子节点进行串接,并计算其哈希值,得到叶子节点的父节点哈希值;
依次从下向上逐层运算,直至得到根节点;
将根节点确定为加密密钥。
在本发明的一种具体实施方式中,还包括身份验证模块,用于
在接收目标用户发送的将目标文件上传到公有云的上传请求之后、根据目标用户的用户权限集,计算目标文件的去重标签集之前,验证目标用户的身份是否正确;
如果是,则触发去重标签计算模块320执行根据目标用户的用户权限集,计算目标文件的去重标签集的步骤。
在本发明的一种具体实施方式中,还包括文件下载模块,用于:
接收目标用户发送的针对公有云上的目标文件的下载请求;
验证目标用户的用户权限集与目标文件的访问限制权限集是否相符;
如果是,则向公有云发送确认信号,以使公有云在接收到确认信号时将目标文件的密文发送给目标用户,目标用户使用加密密钥进行解密。
在本发明的一种具体实施方式中,文件下载模块,还用于:
在验证目标用户的用户权限集与目标文件的访问限制权限集不相符时,拒绝目标用户下载公有云上的目标文件。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (8)

1.一种基于混合云存储的加密文件去重方法,其特征在于,应用于私有云,所述方法包括:
接收目标用户发送的将目标文件上传到公有云的上传请求;
根据所述目标用户的用户权限集,基于等级函数和三元关系式计算所述目标文件的去重标签集;其中,所述根据所述目标用户的用户权限集,基于等级函数和三元关系式计算所述目标文件的去重标签集,包括:根据所述目标用户的用户权限集PU选择相应的权限密钥{kp},P为总权限集,PU∈P;
分别选取两个不同的哈希函数H0和H1,利用所述权限密钥{kp}计算所述目标文件的去重标签集{φF,p'=H1(H0(F),kp')},F为目标文件,p'满足三元关系式Y{(tp,p,p')}=1,p∈PU
其中,三元关系式
Figure FDA0003103748430000011
Figure FDA0003103748430000012
权限p的等级值通过等级函数T表示为T(p),T(p)∈Z,等级函数T的取值范围为[0,ε],ε的大小由私有云根据对应的公共层次关系设定,当T(p)=0时,表示权限p为最低等级,当T(p)=ε时,表示权限p为最高等级,权限p等级越高,等级值T(p)就越大,p、p'为权限,tp表示权限p的有效标识,δ为标签系数,δ∈Z,当δ越大,需要计算的有效去重标签数目就越少,反之成立;
通过所述去重标签集,确定所述公有云上是否存在所述目标文件;
如果否,则根据所述目标文件的访问限制权限集,计算所述目标文件的权限标签集;
将所述目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给所述目标用户,以使所述目标用户使用所述加密密钥对所述目标文件进行加密,将所述目标文件的密文和所述权限标签集上传到所述公有云;
其中,所述预先通过构建默克尔哈希树计算得到所述加密密钥具体为:将所述权限密钥的哈希值作为默克尔哈希树的叶子节点;对每两个叶子节点进行串接,并计算其哈希值,得到叶子节点的父节点哈希值;依次从下向上逐层运算,直至得到根节点;将所述根节点确定为所述加密密钥。
2.根据权利要求1所述的方法,其特征在于,在确定所述公有云上存在所述目标文件时,还包括:
对所述目标用户进行身份验证;
如果验证通过,则授权所述目标用户拥有所述公有云上的所述目标文件。
3.根据权利要求2所述的方法,其特征在于,在对所述目标用户进行身份验证通过之后,还包括:
计算所述去重标签集的权限差集;
将所述权限差集发送给所述公有云,以使所述公有云基于所述权限差集更新在先存储的所述去重标签集。
4.根据权利要求2所述的方法,其特征在于,还包括:
在对所述目标用户进行身份验证未通过时,拒绝所述目标用户访问所述公有云上的所述目标文件。
5.根据权利要求1所述的方法,其特征在于,在所述接收目标用户发送的将目标文件上传到公有云的上传请求之后、所述根据所述目标用户的用户权限集,计算所述目标文件的去重标签集之前,还包括:
验证所述目标用户的身份是否正确;
如果是,则执行所述根据所述目标用户的用户权限集,计算所述目标文件的去重标签集的步骤。
6.根据权利要求1至5之中任一项所述的方法,其特征在于,还包括:
接收所述目标用户发送的针对所述公有云上的所述目标文件的下载请求;
验证所述目标用户的用户权限集与所述目标文件的访问限制权限集是否相符;
如果是,则向所述公有云发送确认信号,以使所述公有云在接收到所述确认信号时将所述目标文件的密文发送给所述目标用户,所述目标用户使用所述加密密钥进行解密。
7.根据权利要求6所述的方法,其特征在于,在验证所述目标用户的用户权限集与所述目标文件的访问限制权限集不相符时,还包括:
拒绝所述目标用户下载所述公有云上的所述目标文件。
8.一种基于混合云存储的加密文件去重装置,其特征在于,应用于私有云,所述装置包括:
上传请求接收模块,用于接收目标用户发送的将目标文件上传到公有云的上传请求;
去重标签计算模块,用于根据所述目标用户的用户权限集,计算所述目标文件的去重标签集;其中,去重标签计算模块,具体用于:根据所述目标用户的用户权限集PU选择相应的权限密钥{kp},P为总权限集,PU∈P;
分别选取两个不同的哈希函数H0和H1,利用所述权限密钥{kp}计算所述目标文件的去重标签集{φF,p'=H1(H0(F),kp')},F为目标文件,p'满足三元关系式Y{(tp,p,p')}=1,p∈PU
其中,三元关系式
Figure FDA0003103748430000031
Figure FDA0003103748430000041
权限p的等级值通过等级函数T表示为T(p),T(p)∈Z,等级函数T的取值范围为[0,ε],ε的大小由私有云根据对应的公共层次关系设定,当T(p)=0时,表示权限p为最低等级,当T(p)=ε时,表示权限p为最高等级,权限p等级越高,等级值T(p)就越大,p、p'为权限,tp表示权限p的有效标识,δ为标签系数,δ∈Z,当δ越大,需要计算的有效去重标签数目就越少,反之成立;
重复文件确定模块,用于通过所述去重标签集,确定所述公有云上是否存在所述目标文件;如果否,则触发权限标签计算模块;
所述权限标签计算模块,用于根据所述目标文件的访问限制权限集,计算所述目标文件的权限标签集;
标签密钥发送模块,用于将所述目标文件的权限标签集和预先通过构建默克尔哈希树计算得到的加密密钥发送给所述目标用户,以使所述目标用户使用所述加密密钥对所述目标文件进行加密,将所述目标文件的密文和所述权限标签集上传到所述公有云;
其中,所述预先通过构建默克尔哈希树计算得到所述加密密钥具体为:将所述权限密钥的哈希值作为默克尔哈希树的叶子节点;对每两个叶子节点进行串接,并计算其哈希值,得到叶子节点的父节点哈希值;依次从下向上逐层运算,直至得到根节点;将所述根节点确定为所述加密密钥。
CN201810922552.6A 2018-08-14 2018-08-14 一种基于混合云存储的加密文件去重方法及装置 Active CN109088720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810922552.6A CN109088720B (zh) 2018-08-14 2018-08-14 一种基于混合云存储的加密文件去重方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810922552.6A CN109088720B (zh) 2018-08-14 2018-08-14 一种基于混合云存储的加密文件去重方法及装置

Publications (2)

Publication Number Publication Date
CN109088720A CN109088720A (zh) 2018-12-25
CN109088720B true CN109088720B (zh) 2021-08-13

Family

ID=64834697

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810922552.6A Active CN109088720B (zh) 2018-08-14 2018-08-14 一种基于混合云存储的加密文件去重方法及装置

Country Status (1)

Country Link
CN (1) CN109088720B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112231309B (zh) * 2020-10-14 2024-05-07 深圳前海微众银行股份有限公司 纵向联邦数据统计的去重方法、装置、终端设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104537112B (zh) * 2015-01-20 2017-07-14 成都携恩科技有限公司 一种安全云计算的方法
CN107483580A (zh) * 2017-08-16 2017-12-15 广东工业大学 一种云存储系统的动态数据记录方法及云存储系统
CN107948146A (zh) * 2017-11-20 2018-04-20 武汉科技大学 一种混合云中基于属性加密的连接关键词检索方法
CN108377237A (zh) * 2018-02-05 2018-08-07 江苏大学 用于云端密文存储的具有所有权管理的数据去重系统及其数据去重方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103780607B (zh) * 2014-01-13 2017-07-04 西安电子科技大学 基于不同权限的重复数据删除的方法
US9733849B2 (en) * 2014-11-21 2017-08-15 Security First Corp. Gateway for cloud-based secure storage
CN106612320B (zh) * 2016-06-14 2019-10-18 深圳市中盛瑞达科技有限公司 云存储中一种加密数据的去重方法
CN105939191B (zh) * 2016-07-08 2019-04-16 南京理工大学 一种云存储中密文数据的客户端安全去重方法
CN106412087B (zh) * 2016-10-25 2019-02-19 福建师范大学 一种共享所有权证明的方法及系统
WO2018082008A1 (en) * 2016-11-04 2018-05-11 Nokia Technologies Oy Secure distributed data processing
CN106961431B (zh) * 2017-03-17 2019-11-08 福建师范大学 角色对称加密所有权证明的方法及系统
CN107395694A (zh) * 2017-07-04 2017-11-24 深圳齐心集团股份有限公司 一种大数据管理系统
CN107295002B (zh) * 2017-07-12 2020-06-19 联动优势科技有限公司 一种云端存储数据的方法及服务器
CN107800688B (zh) * 2017-09-28 2020-04-10 南京理工大学 一种基于收敛加密的云端数据去重和完整性审计方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104537112B (zh) * 2015-01-20 2017-07-14 成都携恩科技有限公司 一种安全云计算的方法
CN107483580A (zh) * 2017-08-16 2017-12-15 广东工业大学 一种云存储系统的动态数据记录方法及云存储系统
CN107948146A (zh) * 2017-11-20 2018-04-20 武汉科技大学 一种混合云中基于属性加密的连接关键词检索方法
CN108377237A (zh) * 2018-02-05 2018-08-07 江苏大学 用于云端密文存储的具有所有权管理的数据去重系统及其数据去重方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"A Hybrid Cloud Approach for Secure Authorized Deduplication";Jin Li et al;《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》;20140418 *
"云环境中数据安全去重研究进展";熊金波等;《通信学报》;20161130 *
基于Merkle哈希树的云存储加密数据去重复研究;刘竹松,何喆;《计算机工程与应用》;20180301 *

Also Published As

Publication number Publication date
CN109088720A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
JP6941146B2 (ja) データセキュリティサービス
CN106612180B (zh) 实现会话标识同步的方法及装置
US10348706B2 (en) Assuring external accessibility for devices on a network
US9634999B1 (en) Mobile device key management
CN106559408B (zh) 一种基于信任管理的sdn认证方法
CA2913444C (en) System and method for user authentication
CN110990827A (zh) 一种身份信息验证方法、服务器及存储介质
US8977857B1 (en) System and method for granting access to protected information on a remote server
WO2012109640A2 (en) System and method for secure software update
US20190327235A1 (en) External accessibility for network devices
WO2018153018A1 (zh) 密钥更新方法及系统
KR20160044022A (ko) 데이터에 대한 액세스 인에이블링
CN108632251B (zh) 基于云计算数据服务的可信认证方法及其加密算法
CN109525565B (zh) 一种针对短信拦截攻击的防御方法及系统
CN110662091B (zh) 第三方直播视频接入方法、存储介质、电子设备及系统
CN107948235B (zh) 基于jar的云数据安全管理与审计装置
CN110837491A (zh) 一种区块链金融大数据处理系统及方法
CN111444499A (zh) 用户身份认证方法及系统
US20220417028A1 (en) Methods, Systems, and Devices for Server Control of Client Authorization Proof of Possession
CN110086818B (zh) 一种云文件安全存储系统及访问控制方法
CN109088720B (zh) 一种基于混合云存储的加密文件去重方法及装置
CN114175079A (zh) 用于生物识别协议标准的系统和方法
AU2020204174B2 (en) Assuring external accessibility for devices on a network
Neela et al. A Hybrid Cryptography Technique with Blockchain for Data Integrity and Confidentiality in Cloud Computing
Umaeswari et al. Multilevel security system for big data cloud using SDBS algorithm

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