CN107113314A - 用于云计算中的异构数据存储管理的方法和装置 - Google Patents

用于云计算中的异构数据存储管理的方法和装置 Download PDF

Info

Publication number
CN107113314A
CN107113314A CN201580073740.0A CN201580073740A CN107113314A CN 107113314 A CN107113314 A CN 107113314A CN 201580073740 A CN201580073740 A CN 201580073740A CN 107113314 A CN107113314 A CN 107113314A
Authority
CN
China
Prior art keywords
data
duplicate removal
owner
dek
equipment
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.)
Granted
Application number
CN201580073740.0A
Other languages
English (en)
Other versions
CN107113314B (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.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
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 Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN107113314A publication Critical patent/CN107113314A/zh
Application granted granted Critical
Publication of CN107113314B publication Critical patent/CN107113314B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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 Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

公开了用于云计算中的异构数据存储管理的方法和装置。根据一些实施例,一种用于在通信网络中管理数据存储的方法包括:在通信网络中的数据中心处从第一设备接收用于在数据中心中存储数据的请求;检查相同的数据是否已经被存储在数据中心中;响应于没有相同的数据已经被存储在数据中心中的检查结果,从第一设备接收至少包含明文或密文(CT)形式的所述数据的数据包;响应于相同的数据已经被存储在数据中心中的检查结果,获得用于所述数据的去重策略;当去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或仅由AP、或仅由数据所有者控制去重时,联系AP和数据所有者中的两者或任何一者、或仅联系AP、或仅联系数据所有者,以对所述数据进行去重;以及当去重策略指示不由AP和数据所有者中的任何一者控制去重时,在数据中心处对所述数据进行去重。在一些实施例中,数据包可以包含或指示去重策略,并且包含用于数据持有权验证的信息。数据中心可以在联系以进行去重或在数据中心处进行去重之前,质询以确保数据持有权。

Description

用于云计算中的异构数据存储管理的方法和装置
技术领域
本公开的实施例一般涉及通信网络中的数据存储管理,并且更特别地涉及云计算中的异构数据存储管理。
背景技术
云计算是这样的计算,在该计算中,大批远程服务器被联网以允许集中数据存储、以及对计算机服务或资源的在线访问。云计算通过重新安排各种资源(例如,存储、计算和服务)、并基于用户的需求将各种资源(例如,存储、计算和服务)提供给用户,来提供信息技术(IT)服务的一种新方式。云计算通过将网络资源链接在一起,来提供大资源池。云计算具有合乎期望的特性,诸如可扩展性、弹性、故障耐受性、和按使用计费。因此,云计算变成有前途的服务平台,从而重新安排IT的结构。
存储服务是最广泛消费的云服务中的一种。现今,各种数据(例如,敏感的个人信息、个人数据、公开共享的数据、与一群人在有限的程度上共享的数据、等等)被存储在云处。特别地,至关重要的数据应该在云处得到保护,以防止来自未被授权方的任何访问。然而,一些不重要的数据没有这样的需求。因此,在各种情况下以高效和灵活的方式管理在云处的数据存储是云服务提供商(CSP)的重要任务。
此外,例如,重复的数据可能由相同用户或不同用户在相同CSP中或跨CSP存储在云处,尤其是针对共享数据。尽管云存储空间巨大,但是这种重复可能会极大地浪费网络资源,消耗大量电能,增加运营成本,或者使数据管理复杂。因此,经济存储将通过减少运营成本而极大地使CSP受益,并且以减少的服务费使云用户反向受益。
鉴于此,将会有利的是,提供一种方式以允许高效、灵活和经济地管理云计算中的数据存储。
发明内容
本概要被提供以便以简化的形式介绍下面在详细描述中进一步描述的概念的选集。本概要并非旨在确定所要求保护的主题的关键特征或必要特征,也并非旨在用于限制所要求保护的主题的范围。
根据本公开的一个方面,提供了一种用于在通信网络中管理数据存储的方法,该方法包括:在所述通信网络中的数据中心处从第一设备接收用于在所述数据中心中存储数据的请求;检查相同的数据是否已经被存储在所述数据中心中;响应于没有相同的数据已经被存储在所述数据中心中的检查结果,从所述第一设备接收至少包含明文或密文(CT)形式的所述数据的数据包;响应于相同的数据已经被存储在所述数据中心中的检查结果,获得用于所述数据的去重策略;当所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或仅由所述AP、或仅由所述数据所有者控制去重时,联系所述AP和所述数据所有者中的两者或任何一者、或仅联系所述AP、或仅联系所述数据所有者,以对所述数据进行去重;以及当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,在所述数据中心处对所述数据进行去重。
根据本公开的另一个方面,所述数据包还包含索引列表和散列链信息,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引;其中联系以进行去重或对所述数据进行去重包括:请求所述第一设备传送与来自所述索引列表的至少一个索引相对应的散列信息;基于来自所述第一设备的与所请求的至少一个索引相对应的所述散列信息,验证所述第一设备是否持有所述数据;以及响应于肯定验证结果,联系以进行去重或为所述第一设备记录所述数据的去重信息。
根据本公开的另一个方面,获得用于所述数据的去重策略包括:读取预先存储在所述数据中心中的所述去重策略,或者从所述数据所有者接收所述去重策略,或者根据所述数据包确定所述去重策略。
根据本公开的另一个方面,确定所述去重策略包括:当所述数据包还包含彼此不相等的第一密码密钥(CK)和第二CK时,确定将由所述AP和所述数据所有者两者控制去重,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据加密以获得所述CT;当所述数据包还包含彼此相等的第一和第二CK时,确定将由所述AP或所述数据所有者中的任何一者控制去重;当所述数据包进一步仅包含第一CK或仅包含第二CK时,确定将仅由所述AP或仅由所述数据所有者控制去重;以及当所述数据包不包含CK时,确定不由所述AP和所述数据所有者中的任何一者控制去重。
根据本公开的另一个方面,联系所述AP以对所述数据进行去重包括:当重加密密钥不可用时,从所述AP接收用于所述第一设备的重加密密钥;根据代理重加密(PRE)方案,利用所述重加密密钥对所述第一CK进行重新加密;以及将重新加密的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对重新加密的第一CK进行解密。
根据本公开的另一个方面,联系所述数据所有者以对所述数据进行去重包括:将所述第一设备的属性身份(ID)传送给所述数据所有者,使得所述数据所有者能够在所述第一设备有资格时为所述第一设备发布属性私钥,以根据基于属性的加密(ABE)方案对所述第二CK进行解密。
根据本公开的另一个方面,所述方法还包括:响应于没有相同的数据已经被存储在所述数据中心中的检查结果,请求至少一个另外的数据中心检查相同的数据是否已经被存储在所述至少一个另外的数据中心中;响应于来自所述至少一个另外的数据中心的肯定答复,为所述第一设备记录所述数据的去重信息,其中所述至少一个另外的数据中心能够对所述数据进行去重;响应于来自所述至少一个另外的数据中心的否定答复,相应地执行数据存储。
根据本公开的另一个方面,所述方法还包括:在所述数据中心处从第二设备接收用于删除数据的请求;检查所述数据是否被所述第二设备存储在所述数据中心中;响应于肯定的检查结果,为所述第二设备删除所述数据的存储记录;当所述数据的去重记录为空时删除所述数据;以及当所述数据的所述去重记录不为空时,通知所述数据的所有者更新所述CT;以及响应于否定的检查结果,联系存储所述数据的另一数据中心,其中所述另一数据中心能够为所述第二设备删除所述数据的存储记录。
根据本公开的另一个方面,所述方法还包括:通知所述所有者更新所述CT包括:询问所述所有者是否决定继续去重控制;响应于肯定决定,根据所述数据的所述去重策略与所述数据所有者协作以更新所述CT;响应于否定决定,请求所述数据的另一持有者更新所述CT,或者根据新的去重策略与所述数据所有者协作以更新所述CT,所述新的去重策略指示将仅由所述AP控制去重。
根据本公开的另一个方面,所述方法还包括:响应于对更新一数据的CT的请求,获得用于所述数据的去重策略;当所述去重策略指示需要AP去重控制时,根据PRE方案利用所述重加密密钥对更新后的第一CK进行重新加密;以及将重新加密的更新后的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对所述重新加密的更新后的第一CK进行解密;当所述去重策略指示需要由所述数据所有者进行去重控制时,在必要时根据ABE方案向所述数据所有者告知数据标识符和所述数据持有者的公钥信息,以便允许所述数据所有者通过将私钥发布给所述第一设备使得所述第一设备能够对更新后的第二CK进行解密,来执行数据去重。
根据本公开的另一个方面,提供了一种用于在用户设备中管理数据存储的方法,该方法包括:在所述用户设备处传送用于将数据存储到数据中心的请求;响应于来自所述数据中心的对所述数据的请求,将至少包含明文或密文(CT)形式的所述数据的数据包传送给所述数据中心,其中用于所述数据的去重策略被包含在所述数据包中或者能够根据所述数据包被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者控制去重,或者不由所述AP和所述数据的所有者中的任何一者控制去重,或者仅由所述AP或仅由所述数据所有者控制去重;响应于来自所述数据中心或至少一个另外的数据中心的对所述数据的去重请求,根据基于属性的加密(ABE)方案将属性私钥发布给有资格的数据持有者以用于进行去重。
根据本公开的另一个方面,所述方法还包括:在所述数据包中传送索引列表和散列链信息以用于验证有资格的数据持有者对所述数据的持有权,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引。
根据本公开的另一个方面,所述方法还包括:传送用于将第二数据存储到所述数据中心的请求;响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述第二数据的持有权。
根据本公开的另一个方面,所述方法还包括:当所述去重策略指示将由所述AP和所述数据所有者两者控制去重时,在所述数据包中传送彼此不相等的第一密码密钥(CK)和第二CK,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据进行加密以获得所述CT;当所述去重策略指示将由所述AP或所述数据所有者中的任何一者控制去重时,在所述数据包中传送彼此相等的第一和第二CK;当所述去重策略指示将仅由所述AP或仅由所述数据所有者控制去重时,在所述数据包中仅传送第一CK或仅传送第二CK;以及当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,在所述数据包中传送所述明文。
根据本公开的另一个方面,根据代理重加密(PRE)方案利用所述AP的公钥对所述第一DEK进行加密;以及其中基于访问策略对所述第二DEK进行加密,所述访问策略包含有资格持有所述数据的用户的用户身份(ID)。
根据本公开的另一个方面,对所述数据的去重请求包含用户ID信息;其中发布用于进行去重的所述属性私钥包括:验证所述用户ID信息是否表示有资格持有所述数据的用户;以及响应于肯定验证结果,基于所述用户ID信息生成所述属性私钥。
根据本公开的另一个方面,所述方法还包括:从所述数据中心接收用于所述第二数据的重新加密的第一CK;利用所述用户设备的私钥对重新加密的第一CK进行解密,以获得所述第一DEK;从所述第二数据的所有者接收属性私钥,并从所述第二数据的所有者或所述数据中心接收用于所述第二数据的第二CK;利用所述属性私钥对所述第二CK进行解密,以获得所述第二DEK;组合所述第一和第二DEK,以获得用于去重的所述DEK。
根据本公开的另一个方面,所述方法还包括:在所述用户设备处将用于删除数据的请求传送给所述数据中心;响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述数据的持有权;响应于来自所述数据中心或至少一个另外的数据中心的更新所述CT的请求,根据所述数据的去重策略更新所述CT。
根据本公开的另一个方面,所述方法还包括:当需要持续去重控制时,根据所述数据的原始去重策略更新所述CT;以及当不需要持续去重控制时,根据新的去重策略更新所述CT,所述新的去重策略指示将仅由所述AP控制去重。
根据本公开的另一个方面,所述方法还包括:将对更新数据的CT的请求传送给所述数据中心,其中用于所述数据的去重策略被包含在所述请求中或者能够根据所述请求被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或者仅由所述AP、或者仅由所述数据所有者控制去重,或者不由所述AP和所述数据所有者中的任何一者控制去重;当所述去重策略指示需要数据所有者去重控制时,当之前没有发送属性私钥时,根据基于属性的加密(ABE)方案将所述属性私钥发布给有资格的数据持有者以用于进行去重。
根据本公开的另一个的方面,所述方法还包括:从所述数据中心接收重新加密的更新后的第一CK;利用所述用户设备的私钥对重新加密的更新后的第一CK进行解密,以获得更新的第一DEK;当属性私钥不可用时,从所述数据的所有者接收属性私钥,并从所述数据中心或所述数据所有者接收更新的第二CK;利用所述属性私钥对更新的第二CK进行解密,以获得更新的第二DEK;组合更新的第一和第二DEK,以获得用于去重的更新的DEK。
根据本公开的另一个方面,提供了一种装置,其包括配置成执行上述方法中的任何一个的所有步骤的模块。
根据本公开的另一个方面,提供了一种装置,其包括:至少一个处理器;以及包括计算机可执行代码的至少一个存储器,其中至少一个存储器和计算机可执行代码配置成与至少一个处理器一起致使所述装置执行上述方法中的任何一个的所有步骤。
根据本公开的另一个方面,提供了一种计算机程序产品,包括在其中存储有计算机可执行程序代码的至少一个非暂时性计算机可读存储介质,所述计算机可执行代码配置成在被执行时致使装置根据上述方法中的任何一个进行操作。
根据将结合附图阅读的本公开的说明性实施例的下面的详细描述,本公开的这些和其它目的、特征和优点将变得明显。
附图说明
图1示出可以在其中实现本公开的至少一个实施例的示例性***;
图2绘出根据本公开的实施例的在具有异构控制的情况下进行数据去重的整体***过程的流程图;
图3绘出根据本公开的实施例的在具有被授权方的控制的情况下进行数据去重的整体***过程的流程图;
图4绘出根据本公开的实施例的在具有数据所有者的控制的情况下进行数据去重的整体***过程的流程图;
图5绘出根据本公开的实施例的在没有被授权方或数据所有者的任何控制的情况下进行数据去重的整体***过程的流程图;
图6示出根据本公开的实施例的通过多个云服务提供商的协作进行数据去重的过程的流程图;
图7示出根据本公开的实施例的用于数据删除的过程的流程图;
图8示出根据本公开的实施例的用于持续数据去重控制的过程的流程图;
图9示出根据本公开的实施例的用于更新数据加密密钥和密文的整体***过程的流程图;
图10示出根据本公开的实施例的用于在用户设备中管理数据存储的过程的流程图;
图11示出根据本公开的实施例的用于在通信网络中管理数据存储的过程的流程图;以及
图12是示出适合于在实践本公开的一些示例性实施例中使用的装置的简化框图。
具体实施方式
为了解释的目的,在下面的描述中阐述了一些细节以便提供所公开的实施例的彻底理解。然而,对于本领域技术人员来说明显的是,可以在没有这些具体细节的情况下或者利用等效配置来实现所述实施例。
如上面所提及的,在云计算的背景下,各种数据(例如,敏感的个人信息、个人数据、公开共享的数据、与一群人在有限的程度上共享的数据、等等)被存储在云处。一些至关重要的数据应该在云处得到保护,以防止来自未被授权方以及甚至云服务提供商(CSP)的任何访问,一些则并非是必要的。此外,重复的数据可能由相同用户或不同用户在相同CSP中或跨CSP存储在云处,尤其是针对共享数据。相同的数据可能会以明文或(使用由不同数据持有者已知的不同密钥加密的)密文的格式被存储。重复的数据存储极大地浪费存储资源,不必要地消耗电能,增加云服务提供商的运营成本,并且使在云处的数据管理复杂(例如,搜索数据可能会变得复杂)。
另一方面,数据所有者或持有者可能并不充分信任CSP来处置他们的数据。关于访问、存储和使用(作为数字权利管理的一部分),数据所有者或持有者有时希望由他们自己管理数据。但是由于复杂性和可用性,始终管理他们的数据或者亲自管理具有低重要性的数据,对于他们而言可能不是便利的。此外,从兼容性角度来看,高度期待的是,数据去重能够与其它数据访问控制机制协作良好。也就是说,相同的数据(以加密状态或未加密状态)在云处仅被存储一次,但是可以基于数据所有者和数据持有者(即,持有原始数据的有资格的数据用户)的策略被不同用户访问。
本公开的实施例可以提供用于安全管理云计算中的数据存储的全面和异构的方法,以灵活地支持由数据所有者、或受信任的第三方、或两者控制、或不受二者中的任何一者控制的数据去重,以便满足对数据安全性和隐私性的需求,并且同时在各种数据存储情形下节省存储空间。在下文中,将参考图1-12描述本公开的实施例。
图1示出可以在其中实现本公开的至少一个实施例的示例性***。如图所示,***100可以包括多个用户设备110-1~110-n、数据中心120和120’、以及被授权方(AP)130。对于用户设备110-1~110-n中的任何一个,其可使得其用户能够在数据中心120或120’处上传和保存数据。当数据不是至关重要的时,该数据可以以明文的格式上传和保存,并且当数据是至关重要的时,该数据可以以密文的格式上传和保存。例如,用户设备110-1~110-n的用户可能持有相同的一个数据,并且这些数据持有者中的至少一个可以是数据的所有者。当多个数据持有者在数据中心120或120’处保存相同的未加密或加密的数据时,会发生数据重复。数据所有者可自由决定允许数据去重由数据所有者、或由AP 130、或由两者控制,或不由两者中的任何一者控制。用户设备110可以是能够进行有线和/或无线通信的任何固定或移动设备,诸如台式计算机、膝上型计算机、移动电话、平板计算机、个人数字助理(PDA)等。
数据中心120或120’可提供数据存储服务。当多个数据持有者在数据中心120或120’处保存相同的未加密或加密的数据时,数据中心120或120’可以独自进行数据去重,或与数据所有者和/或AP 130协作进行数据去重。数据中心120和120’可以在商业协定下协作以通过去重节省存储空间。尽管图1中示出两个数据中心120和120’,但是在***100中可以存在更多数据中心。数据中心120和120’可以例如由不同的CSP(例如,本地CSP和远程CSP)提供。可替换地,数据中心120和120’可以通过任何其它数据存储技术(诸如传统文件托管服务技术)实现。
AP 130可以管理对存储在数据中心120或120’处的数据的访问。例如,AP 130可以代表数据所有者处置数据去重,或与数据所有者协作以经由数据中心120或120’进行数据去重。AP 130可以充当访问管理中心。AP是不与任何数据中心串通的一方,并且被数据持有者信任以处置数据去重。AP可以是例如专门成立的组织。
用户设备110-1~110-n、数据中心120和120’、以及AP 130通过其彼此通信的通信网络可包括有线和/或无线网络。这些网络可包括但不限于局域网(LAN)、城域网(MAN)、广域网(WAN)、公用数据网(例如,互联网)、自组织移动网络或任何其它适合的分组交换网络诸如商业上拥有的专有分组交换网络(例如,专有电缆或光纤网络)。无线网络可以是例如蜂窝网络,并且可采用各种技术,包括用于全球演进的增强型数据速率(EDGE)、通用分组无线业务(GPRS)、全球移动通信***(GSM)、互联网协议多媒体子***(IMS)、通用移动电信***(UMTS)等,以及任何其它适合的无线介质,例如用于微波接入的全球互操作性(WiMAX)、无线局域网(WLAN)、长期演进(LTE)网络、码分多址(CDMA)、宽带码分多址(WCDMA)、无线保真(WiFi)、卫星、移动自组网(MANET)、延迟容忍网络等。
图2绘出根据本公开的实施例的在具有异构控制的情况下进行数据去重的整体***过程的流程图。应注意的是,尽管在下文中将参考图2-9(在图2-9中通过云存储技术实现数据中心)描述本公开的一些实施例,但是本公开不应受此限制。如上面所提及的,本领域中的技术人员可理解的是,本公开的原理也可以应用于通过任何其它数据存储技术(诸如传统文件托管服务技术)实现的数据中心。
为了更好地理解整体***过程,将首先提供示例性实施例的概要以及相关的***密钥和算法。应注意的是,为了易于理解,在下文中提及的用户(例如,数据所有者或数据持有者)可表示该用户的设备。
在本公开的示例性实施例中,例如根据不同的存储情形和/或去重策略,数据所有者可以被允许将数据加密密钥(DEK)设置为空值或非空值。如果数据所有者不想控制数据访问,则DEK可被设置成具有空值。在这种情况下,明文可以被保存在CSP中,并且CSP可以完全处置去重。另一方面,如果需要数据访问控制,则DEK可以被设置成具有非空值。该非空值可以是对称私钥。在这种情况下,可以保存密文(CT)。
然后,例如根据不同的存储情形和/或去重策略,DEK可以被分离成两个部分,即DEK1和DEK2。如果数据所有者希望仅独自控制数据去重,则DEK1可以为空,并且因此DEK2=DEK。在这种情况下,可以使用基于属性的加密(ABE)方案。
在ABE***中,用户可以通过一组属性而不是确切的身份来标识。可以用基于属性的访问结构对每个数据进行加密,使得仅属性满足访问结构的用户可以对数据进行解密。取决于属性和策略如何与密文和用户的解密密钥相关联,ABE已发展成两个分支:密钥策略ABE(KP-ABE)和密文策略ABE(CP-ABE)。在CP-ABE中,密文可以根据访问控制策略进行加密,所述访问控制策略被用公式表示为针对属性的布尔公式。该构造确保仅属性满足访问控制策略的用户能够用其属性私钥对密文进行解密。在KP-ABE中,用户的私钥可以与一组属性相关联。
作为示例性示例,可以基于包含有资格的数据持有者的身份(ID)的访问策略,对DEK2进行加密以获得密码密钥CK2。也就是说,有资格的数据持有者的ID被用作属性。以该方式,有资格的数据持有者的属性满足访问策略,并且因此可对CK2进行解密。
此外,如果数据所有者希望允许仅由AP控制数据去重,则DEK2可以为空,并且因此DEK1=DEK。在这种情况下,可以使用代理重加密(PRE)方案。PRE使得授权者能够用一个密钥对实现细粒度的策略,而不需要对代理有任何额外的信任。在PRE***中,用于授权者的CT可以用该授权者的公钥生成,并且授权者可为有资格的数据持有者向代理者分配重加密密钥用于数据访问,然后代理者可以用重加密密钥对CT进行重新加密,使得重新加密的CT可以用有资格的数据持有者(即,被授权者)的私钥进行解密。
作为示例性示例,AP可以充当授权者,CSP可以充当代理者,并且有资格的数据持有者可以充当被授权者。数据所有者可以用AP的公钥对DEK1进行加密以获得CK1,并将CK1传送给CSP。CSP可以用AP分配的重加密密钥对CK1进行重新加密,并将重新加密的CK1传送给有资格的数据持有者。以该方式,有资格的数据持有者可以用其自己的被授权者私钥对重新加密的CK1进行解密。
此外,如果数据所有者希望由AP和数据所有者两者控制数据去重,则DEK1和DEK2可以都为非空。在这种情况下,可以使用ABE和PRE方案两者,并且DEK1和DEK2可以被聚合以获得DEK。此外,如果数据所有者希望由数据所有者或AP中的任何一个控制数据去重,则DEK1=DEK2=DEK。在这种情况下,可以通过联系数据所有者或AP进行去重。
以该方式,本公开能够提出通过数据所有者、或被授权方、或两者、或者不通过两者中的任何一者,对云数据去重进行二维存储管理。本公开可以应用于这样的情形:云数据去重可以由数据所有者、或受信任第三方、或两者处置,或者不由两者中的任何一者处置。
在CSP侧,可以使用重复数据M的散列码作为其标识符,该标识符被用于在数据上传和存储期间检查数据的重复。数据M的散列码(即,H(M))可以由数据所有者或数据持有者进行签名,用于由CSP执行的原始性验证。例如,H(M)可通过公钥密码***(PKC)进行签名。同时,数据M的随机选择的特定部分的多个散列码可以利用它们的索引(例如,数据的第一个20.1%的散列码、数据的21-25%的散列码)进行计算。这些散列码可被称为数据M的散列链HC(M)。
当数据所有者/持有者尝试将数据M存储在CSP处时,数据所有者/持有者可将数据M的签名后的散列码发送给CSP用于重复检查。如果重复检查结果为肯定的,则CSP可以进一步通过质询数据M的散列链(例如,链中的一些特定散列码),验证数据持有者的所有权。如果基于散列链验证,所有权验证结果为肯定的,则CSP可以基于数据所有者的用于去重的策略,联系数据所有者和/或AP用于去重。
数据重复检查可以在CSP之间执行。一个CSP可能会保存用于其它CSP的数据。如果数据持有者尝试将相同的数据保存在另一个CSP中,则可以基于它们的协定,在CSP之间执行重复检查。来自另一个CSP的有资格的用户的对重复数据的访问可以由CSP支持。
在下面的表中示出用于在本公开的示例性实施例中使用的密钥。
表1:***密钥
以上***密钥的使用将结合在示例性实施例中使用的多个基本算法的解释进行详细描述。
InitiateNode(u)
InitiateNode算法可以在***设置时在用户u处被执行,并且InitiateNode算法将节点身份u作为输入,所述节点身份u通常是唯一节点身份。该算法可以输出以下密钥对和证书:
(1)用于ABE的用户公钥PK_u和用户私钥SK_u。
假设用户u是数据所有者,并且用户u’是数据持有者。对于用户u’,用户公钥PK_u’可以被用于通过调用后述算法IssueIDSK(ID,SK_u,PK_u’),为用户u’发布属性私钥(即,SK_(ID,u,u’))。
每个用户可以维护一私钥SK_u,其被用于基于其它用户的身份,将属性私钥发布给其它用户。私钥SK_u还可以用于生成用户u的身份属性(表示为ID)的其自身的公钥–pk_(ID,u)。用户私钥SK_u还可以用于对通过PK_u加密的密文进行解密。
(2)用于公钥密码***(PKC)的密钥对PK’_u和SK’_u。SK’_u可以用于进行签名生成,并且用于对利用PK’_u加密的数据进行解密。因此,PK’_u可以用于进行签名验证,并且用于对数据进行加密。
(3)用于PRE的密钥对pk_u和sk_u。如上面提及的,在PRE***中可以存在三种类型的参与者,即授权者、代理者和被授权者。作为示例性示例,数据持有者可以是被授权者。因此,pk_u也可以被称为被授权者公钥,并且sk_u也可以被称为被授权者私钥。
(4)此外,PK_u、PK’_u和pk_u可以由被授权的第三方(例如,PKI中的CA)或CSP证实为Cert(PK_u)、Cert(PK’_u)和Cert(pk_u)。Cert(PK_u)、Cert(pk_u)和Cert(PK’_u)可以由CSP或CSP用户验证。
InitiateAP。
在该算法的过程中,AP可以独立地生成用于PRE的pk_AP和sk_AP,并且通过CSP的存储服务将pk_AP广播给CSP用户。作为示例性示例,AP可以充当PRE***中的授权者。因此,pk_AP也可以被称为授权者公钥,并且sk_AP也可以被称为授权者私钥。
Encrypt(DEK_u,M)。
该加密算法可以将数据M、对称密钥DEK_u作为输入。该算法可以用DEK_u对数据M进行加密,并且输出密文CT_u。该过程可以在用户u处进行,以利用DEK_u保护其存储在CSP处的数据。
SeparateKey(DEK_u)。
当决定DEK1_u和DEK2_u都为非空时,在输入DEK_u的情况下,该函数可以基于例如随机分离,输出密钥的两个部分:DEK1_u和DEK2_u。
CreateIDPK(ID,SK_u)。
无论何时用户u(即,数据所有者)希望控制其在云处的数据存储和访问,都可以由该用户u执行CreateIDPK算法。该算法可以检查用户u的ID(例如,PK_u)是否满足与数据存储管理相关的策略。例如,该算法可以检查ID是否是用于管理数据的存储和访问的数据所有者的有资格的ID。如果ID满足策略,则该算法可以根据ABE机制,输出与用于用户u的ID相关联的属性公钥(表示为pk_(ID,u))。否则,该算法可以输出空。
应注意的是,身份属性被表示为ID(注意,ID可以是匿名标识符)。对于具有表示(ID,u)的每个属性,存在被表示为pk_(ID,u)的公钥,其由用户u生成并且被用于对作为DEK的一部分的对称密钥DEK2进行加密。
EncryptKey(DEK2_u,A,pk_(ID,u))
EncryptKey算法可以将下述作为输入:对称密钥的第2部分DEK2_u、访问策略A,以及对应于出现在与数据存储管理相关的策略中的身份属性的公钥pk_(ID,u)。该算法可以用策略A对DEK2_u进行加密,并输出密码密钥CK2_u。该过程可以在用户u处进行,以支持在CSP处的数据存储的去重。
关于访问策略A,例如,数据所有者希望具有ID=PK_uj’(j=1,2,3)的其它数据持有者共享数据所有者的数据存储。在这种情况下,策略A可为如下:ID=PK_u’1∨PK_u’2∨PK_u’3。EncryptKey算法可遍历所有j=1,2,3,为每个合取(conjunction)生成随机值R_j并构造CK2_j。密码密钥CK2可以被获得为元组CK=<CK2_1,CK2_2,…,CK2_j>。
IssueIDSK(ID,SK_u,PK_u’)。
在调用IssueIDSK算法之前,可以通过检查Cert(PK_u’)是否是由受信任第三方或数据所有者自身证实的有效标识符,来检查用户u’的资格。可以由用户u经由CSP从用户u’接收Cert(PK_u’),这将在之后参考图2进行描述。
然后,如果上面的检查是肯定的,则可以通过首先检查具有公钥PK_u’的用户u’是否是有资格的属性ID(即,PK_u’是用于持有数据的被授权方),来由用户u执行IssueIDSK算法。例如,IssueIDSK算法可以检查PK_u’是否满足访问策略A。
如果上面的检查结果是肯定的,则IssueIDSK算法可以输出用于用户u’的属性私钥SK_(ID,u,u’)。否则,该算法可以输出空。所生成的SK_(ID,u,u’)可以由用户u通过安全信道或使用PKC发送给用户u’。
应注意的是,数据所有者u为有资格的数据持有者把用于对通过pk_(ID,u)加密的密码密钥进行解密的对应属性私钥个性化并进行发布。为了防止串通,每个数据持有者得到仅其可以使用的不同的属性私钥。用户u为有资格的持有者u’发布的属性ID的属性私钥被表示为sk_(ID,u,u’)。
DecryptKey(CK2_u,A,PK_u’,sk_(ID,u,u’))。
DecryptKey算法可以将下述作为输入:由EncryptKey算法产生的密码密钥,在其之下对CK2_u进行加密的访问策略A,以及用于用户u’的SK_u’、sk_(ID,u,u’)。DecryptKey算法可以对密码密钥CK2_u进行解密,并且如果属性(例如,PK_u’)足以满足访问策略A,则输出对应的未加密密钥DEK2_u。否则,该算法可以输出空。
如果发生重复存储,则可以在用户u’处执行该过程。该过程首先检查PK_u’是否满足加密策略A,并且如果检查结果是肯定的,则进行解密以得到DEK2_u。
如上面所提及的,PRE方案可以将AP应用于支持DEK1重新加密。代理重加密可以允许CSP(即,代理者)把在AP的公钥下计算的DEK1的密文变换为可使用有资格的数据持有者的私钥解密的密文。在被称为重新加密的密文变换期间,CSP不知道DEK1的底层明文,并且因此无法知道数据持有者的未加密数据。关于PRE方案的该算法被表示如下:
E(pk_AP,DEK1_u)。
在输入pk_AP和DEK1_u上,该算法可以输出密文CK1=E(pk_AP,DEK1_u)。
RG(pk_AP,sk_AP,pk_u’)。
在输入(pk_AP,sk_AP,pk_u’)上,重加密密钥生成算法RG可以输出用于代理者CSP的重加密密钥rk_AP→u’。
R(rk_AP→u’,CK1)。
在输入rk_AP→u’和密文CK1上,重加密函数R可以输出R(rk_AP→u’,CK1)=E(pk_u’,DEK1_u)=CK1’,其可以使用私钥sk_u’而得到解密。
D(sk_u,CK’1)。
在输入sk_u和密文CK’1上,解密算法D可以输出未加密密钥DEK1_u。
CombineKey(DEK1_u,DEK2_u)。
在输入DEK1_u和DEK2_u上,该函数可以通过组合输出完整密钥DEK_u。
Decrypt(DEK_u,CT_u)。
该解密算法可以将加密的数据CT_u和对称密钥DEK_u作为输入。该算法可以用DEK_u对CT_u进行解密,并输出未加密数据M。该过程在数据持有者处进行,以公开在CSP处存储的数据的未加密内容。
现在,将参考图2描述根据本公开的实施例的在具有异构控制的情况下进行数据去重的整体***过程。在该过程中,用户u1为真实的数据所有者,并且在使用DEK_u1进行保护的情况下将用户u1的敏感个人数据M保存在CSP处,而用户u2是尝试将相同的数据保存在CSP处的数据持有者。需要数据所有者和AP两者进行去重控制,并且在图2的***中仅存在一个CSP。
在步骤202中,可以在每个用户、CSP和AP处进行***设置。对于每个用户ui,其可以调用InitiateNode(ui)以生成三个密钥对(PK_ui,SK_ui)、(PK’_ui,SK’_ui)、(pk_ui,sk_ui)(i=1,2,…)。同时,每个用户ui可以从被授权第三方(例如,PKI中的CA)或CSP得到其生成的公钥的对应证书Cert(PK_ui)、Cert(PK’_ui)和Cert(pk_ui)。例如,在步骤202a中,用户u1可生成三个密钥对(PK_u1,SK_u1)、(PK’_u1,SK’_u1)、(pk_u1,sk_u1),并且得到其生成的公钥的对应证书Cert(PK_u1)、Cert(PK’_u1)和Cert(pk_u1)。如上面所提及的,因为用户u1是数据所有者,所以也可以省略用于PRE的密钥对即(pk_u1,sk_u1)和对应证书Cert(pk_u1)。在步骤202b中,用户u2可以生成三个密钥对(PK_u2,SK_u2)、(PK’_u2,SK’_u2)、(pk_u2,sk_u2),并且得到其生成的公钥的对应证书Cert(PK_u2)、Cert(PK’_u2)和Cert(pk_u2)。
对于AP,在步骤202d中,其可以调用InitiateAP以生成其密钥对(pk_AP,sk_AP),并且将pk_AP广播给每个用户。此外,对于CSP,在步骤202c中,其可以接收各个公钥PK_ui、PK’_ui和pk_ui,并且将对应的证书Cert(PK_ui)、Cert(PK’_ui)和Cert(pk_ui)发布给每个用户ui
然后,在步骤204中,用户u1可以生成数据M的散列信息。散列信息可以至少包括数据M的散列码。例如,用户u1可以计算H(M),并且用SK’_u1将H(M)签名为Sign(H(M),SK’_u1),其中Sign()表示签名函数。
然后,在步骤206中,用户u1可以发送至少数据M的散列信息。例如,用户u1可以将包P1={H(M),Sign(H(M),SK’_u1),Cert(PK_u1),Cert(PK’_u1),Cert(pk_u1)}发送给CSP。对于另一个示例,包可以至少包含对于数据存储重复的检查必需的H(M)、Sign(H(M),SK’_u1)和Cert(PK’_u1)。
然后,在步骤208中,CSP可以检查相同的数据M是否已经被保存在CSP处;如果没有相同的数据已被保存在CSP处,则CSP可以请求用户u1发送数据;并且如果相同的数据已被保存在CSP处,则CSP可以验证用户u1的所有权,这将在后述步骤220中详细描述。应注意的是,步骤208和220基本上相同。因为假定第一个上传者是真实的数据所有者,所以在步骤208中,CSP请求用户u1上传数据。
例如,在步骤208中,CSP可以验证证书Cert(PK’_u1),然后用PK’_u1验证签名Sign(H(M),SK’_u1),并且然后检查相同的H(M)是否被记录在CSP处。因为假定用户u1(即,数据所有者)为第一个上传者,所以在步骤210中CSP可以从用户u1请求数据。
然后,在步骤212中,用户u1可以用DEK对数据M进行加密,将DEK分离成DEK1和DEK2,根据PRE方案对DEK1进行加密,并且根据ABE方案对DEK2进行加密,并且计算数据M的索引列表和散列链信息。
例如,用户u1可以用随机选择的对称密钥DEK_u1对数据M进行加密,以用于隐私和安全保护,以得到CT_u1=Encrypt(DEK_u1,M)。然后用户u1可以调用SeparateKey(DEK_u1)以得到DEK_u1的两个随机部分:DEK1_u1和DEK2_u1。用户u1可以通过调用EncryptKey(DEK2_u1,A,pk_(ID,u1))利用pk_(ID,u1)对DEK2_u1进行加密以得到CK1_u1,其中根据用户u1的数据存储管理策略生成pk_(ID,u1),如上面所提及的。然后,用户u1可以通过调用E(pk_AP,DEK1_u1),利用pk_AP对DEK1_u1进行加密以得到CK1_u1
此外,用户u1可以随机选择指示M的特殊部分的索引列表:IN={In1,In2,…,Ink}(例如,In1指示数据的第一1%;In2指示数据的第一1.2%)。而且,用户u1可以基于索引计算各个局部M的散列码,以得到HC(M)={H(M1),H(M2),…,H(Mk)}。用户u1可以进一步用SK’_u1对HC(M)进行签名以得到Sign(HC(M),SK’_u1)。
然后,在步骤214中,用户u1可以发送索引列表、散列链信息、加密的数据、加密的DEK1和加密的DEK2。散列链信息可以至少包括数据M的散列链。例如,用户u1可以通过安全信道将数据包DP1={CT_u1,CK1_u1,CK2_u1,IN,HC(M),Sign(HC(M),SK’_u1)}发送给CSP。然后,在步骤216中,CSP可以存储数据包。
然后,在步骤218中,用户u2可以在之后尝试将相同的数据M保存在CSP处。类似于步骤206,用户u2可以发送至少数据M的散列信息。例如,用户u2可以将包P2={H(M),Sign(H(M),SK’_u2),Cert(PK_u2),Cert(PK’_u2),Cert(pk_u2)}发送给CSP。对于另一个示例,包可以至少包含对于数据存储重复的检查而言必需的H(M)、Sign(H(M),SK’_u1)和Cert(PK’_u1)。
然后,类似于步骤208,在步骤220中,CSP可以检查相同的数据是否已经被保存在CSP处;如果没有相同的数据已被保存在CSP处,则CSP可以请求用户发送数据;并且如果相同的数据已被保存在CSP处,则CSP可以验证用户的所有权。因为用户u1已经将相同的数据保存在CSP处,所以上面的检查结果是肯定的。在这种情况下,CSP可以请求用户u2发送与来自索引列表的至少一个索引相对应的散列信息。例如,CSP可以随机选择一个索引x或多于一个索引。CSP可以进一步用PK’_u2将索引x加密为E(x,PK’_u2)。然后,在步骤222中,CSP可以将索引信息(例如,E(x,PK’_u2))发送给用户u2
然后,在步骤224中,用户u2可以计算对应的散列信息并将其发送给CSP。对应的散列信息可以至少包括与从CSP发送的至少一个索引相对应的散列信息。例如,用户u2可以计算散列码HC(Mx),其中Mx表示与从CSP发送的至少一个索引x相对应的局部M。用户u2可以进一步用SK’_u2将HC(Mx)签名为Sign(HC(Mx),SK’_u2)。然后,用户u2可以将HC(Mx)和Sign(HC(Mx),SK’_u2)发送给CSP。注意,在该步骤可以由CSP质询多于一个HC(Mx),以便确保数据的持有权。
然后,在步骤226中,CSP可以基于由用户u1已经保存在CSP处的散列链信息,验证从用户u2发送的散列信息;如果验证结果是肯定的,则CSP可以联系AP和用户u1进行去重。应注意的是,尽管在图2中示出CSP首先联系AP并且然后联系用户u1,但是也可以同时或顺序地联系AP和用户u1而对次序不作限制。
例如,在步骤226中,CSP可以用PK’_u2验证Sign(HC(Mx),SK’_u2),并且检查所接收的HC(Mx)是否与已经被保存在CSP处的HC(Mx)相同。如果检查结果是肯定的,则CSP可转到步骤228。在步骤228中,如果之前没有与AP共享用户u2的用于PRE的公钥信息,则CSP可以将用户u2的用于PRE的公钥信息发送给AP。例如,CSP可以将证书Cert(pk_u2)(其包含pk_u2)发送给AP。
然后,在步骤230中,AP可以验证关于用户u2在第三方处用于数据存储的策略,并且如果验证结果是肯定的,则AP可以生成用于用户u2的重加密信息(如果用于该重加密信息不可用的话)。例如,关于有资格的数据持有者在第三方处用于数据存储的策略可以是包含有资格的数据持有者的用于PRE的公钥信息的访问策略,并且可以在步骤212中由用户所有者u1生成并在步骤214中被发送给CSP,并且在步骤228中被发送给AP,或者以另一安全方式被发送给AP。此外,例如,AP可以通过调用RG(pk_AP,sk_AP,pk_u2),生成rk_AP->u2(如果其不可用的话)。然后,在步骤232中,AP可以将重加密信息发布给CSP。例如,AP可以例如通过使用安全信道,将rk_AP->u2发布给CSP。
然后,在步骤234中,CSP可以用重加密信息对CK1_u1进行重新加密。例如,CSP可以通过调用R(rk_AP->u2,E(pk_AP,DEK1_u1))=E(pk_u2,DEK1_u1),对CK1_u1进行重新加密。然后,在步骤236中,CSP可以将重新加密的CK1_u1(即,E(pk_u2,DEK1_u1))告知给用户u2。关于E(pk_u2,DEK1_u1),用户u2可以将确认发送给CSP。然后,在步骤238中,用户u2可以(例如,通过调用D(sk_u2,E(pk_u2,DEK1_u1))用其私钥sk_u2对重新加密的CK1_u1(即,E(pk_u2,DEK1_u1))进行解密。
在步骤240中,CSP可以联系数据所有者u1,用于去重。例如,CSP可以将数据M的数据标识符(例如,H(M))和用户u2的用于ABE的公钥信息(例如,包含PK_u2的Cert(PK_u2))发送给用户u1
然后,在步骤242中,用户u1可以验证用于在第三方处进行数据存储的用户u2的资格,并且如果验证结果是肯定的,则用户u1可以生成用于用户u2的个性化属性私钥。例如,用户u1可以验证Cert(PK_u2),并且然后通过调用IssueIDSK(ID,SK_u1,PK_u2),生成sk_(ID,u1,u2)。如上面所提及的,IssueIDSK算法可以检查PK_u2是否是有资格的属性ID。
然后,在步骤244中,用户u1可以将用于用户u2的个性化属性私钥以及可选地还将加密的DEK2发布给用户u2。例如,用户u1可以(使用安全信道或PKC)将sk_(ID,u1,u2)以及可选地还将CK2_u1发布给用户u2。应注意的是,在由CSP共享CK2_u1的情况下,用户u1可以仅发布用于用户u2的个性化属性私钥。
然后,在步骤246中,用户u2可以基于用于用户u2的个性化属性私钥对加密的DEK2进行解密,并且组合获得的DEK2和DEK1以得到DEK。例如,用户u2可以通过调用DecryptKey(CK2_u1,A,SK_u2,sk_(ID,u1,u2))对CK2_u1进行解密以得到DEK2_u1,并且通过调用CombineKey(DEK1_u1,DEK2_u1),组合来自步骤238的DEK1_u1和DEK2_u1,以得到DEK_u1。以该方式,用户u2可以用所获得的DEK_u1对CT_u1进行解密,而无需将重复数据保存在CSP处。
在步骤248中,用户u1可以将数据去重的成功告知给CSP。例如,用户u1可以将Cert(PK_u2)和H(M)发送给CSP。在得到该通知之后,在步骤250中,CSP可以将对应的去重信息(例如,Cert(PK_u2)和H(M))记录在其***中。例如,CSP可以为用户u2更新关于散列信息H(M)的去重记录。此时,用户u1和u2两者可以自由访问保存在CSP处的相同数据M。在步骤246中,用户u1可以直接使用DEK_u1,并且用户u2可以获得DEK_u1
图3绘出根据本公开的实施例的在具有被授权方的控制的情况下进行数据去重的整体***过程的流程图。图2和3中所示的两个过程之间的主要差别在于DEK的分离不同。也就是说,在图2中,DEK1+DEK2=DEK,其中DEK1和DEK2都不为空,并且因此需要数据所有者和AP两者进行去重控制。相比之下,在图3中,DEK2为空,DEK1=DEK,DEK1不为空。因此,仅由AP控制去重。
下面将提供图2和3中所示的两个过程之间的差别的细节。在类似于步骤202a和202b的步骤302a和302b中,由于不需要ABE控制,所以可以省略密钥对(PK_ui,SK_ui)。接下来,在类似于步骤212的步骤312中,DEK1被设置成DEK,并且根据PRE方案仅对DEK1进行加密。对应地,在步骤314中,可以省略CK2。此外,省略图2中所示的基于ABE进行去重的步骤。
图4绘出根据本公开的实施例的在具有数据所有者的控制的情况下进行数据去重的整体***过程的流程图。图2和4中所示的两个过程之间的主要差别在于DEK的分离不同。也就是说,在图2中,DEK1+DEK2=DEK,其中DEK1和DEK2都不为空,并且因此需要数据所有者和AP两者进行去重控制。相比之下,在图4中,DEK1为空,DEK2=DEK,DEK2不为空。因此,仅由数据所有者控制去重。
下面将提供图2和4中所示的两个过程之间的差别的细节。在类似于步骤202a和202b的步骤402a和402b中,由于不需要PRE控制,所以可以省略密钥对(PK_ui,SK_ui)。此外,可以省略步骤402d。接下来,在类似于步骤212的步骤412中,DEK2被设置成DEK,并且根据ABE方案仅对DEK2进行加密。对应地,在步骤414中,可以省略CK1。此外,省略图2中所示的基于PRE进行去重的步骤。
图5绘出根据本公开的实施例的在没有被授权方或数据所有者的任何控制的情况下进行数据去重的整体***过程的流程图。在这种情况下,DEK为空,并且因此明文被保存在CSP处。
在步骤502中,可以在每个用户和CSP处进行***设置。对于每个用户ui,其可以调用InitiateNode(ui)以生成一个密钥对(PK’_ui,SK’_ui)(i=1,2,….)。同时,每个用户ui可以从被授权第三方(例如,PKI中的CA)或CSP得到其生成的公钥的对应证书Cert(PK’_ui)。例如,在步骤502a中,用户u1可生成一个密钥对(PK’_u1,SK’_u1),并且得到其生成的公钥的对应证书Cert(PK’_u1)。在步骤502b中,用户u2可以生成一个密钥对(PK’_u2,SK’_u2),并且得到其生成的公钥的对应证书Cert(PK’_u2)。对于CSP,在步骤502c中,CSP可以接收公钥PK’_ui,并且将对应的证书Cert(PK’_ui)发布给每个用户ui
然后,在步骤504中,用户u1可以生成数据M的散列信息。散列信息可以至少包括数据M的散列码。例如,用户u1可以计算H(M),并且用SK’_u1将H(M)签名为Sign(H(M),SK’_u1),其中Sign()表示签名函数。
然后,在步骤506中,用户u1可以发送至少数据M的散列信息。例如,用户u1可以将包P1={H(M),Sign(H(M),SK’_u1),Cert(PK_u1)}发送给CSP。
然后,在步骤508中,CSP可以检查相同的数据M是否已经被保存在CSP处;如果没有相同的数据已被保存在CSP处,则CSP可以请求用户u1发送数据;并且如果相同的数据已被保存在CSP处,则CSP可以验证用户u1的所有权,这将在后述步骤520中详细描述。应注意的是,步骤508和520基本上相同。因为假定第一个上传者是数据所有者,所以在步骤508中,CSP请求用户u1上传数据。
例如,在步骤508中,CSP可以验证证书Cert(PK’_u1),然后用PK’_u1验证签名Sign(H(M),SK’_u1),并且然后检查相同的H(M)是否被记录在CSP处。因为假定用户u1(即,数据所有者)为第一个上传者,所以在步骤510中CSP可以从用户u1请求数据。
然后,在步骤512中,用户u1可以计算数据M的索引列表和散列链信息。例如,用户u1可以随机选择指示M的特殊部分(例如,In1指示数据的第一1%;In2指示数据的第一1.2%)的索引列表:IN={In1,In2,…,Ink}。而且,用户u1可以基于索引,计算各个局部M的散列码,以得到HC(M)={H(M1),H(M2),…,H(Mk)}。用户u1可以进一步用SK’_u1对HC(M)进行签名,以得到Sign(HC(M),SK’_u1)。
然后,在步骤514中,用户u1可以发送至少索引列表、散列链信息和数据M。散列链信息可以至少包括数据M的散列链。例如,用户u1可以将数据包DP1={M_u1,IN,HC(M),Sign(HC(M),SK’_u1)}发送给CSP。然后,在步骤516中,CSP可以存储数据包。
然后,在步骤518中,用户u2可以在之后尝试将相同的数据M保存在CSP处。类似于步骤506,用户u2可以发送至少数据M的散列信息。例如,用户u2可以将包P2={H(M),Sign(H(M),SK’_u2),Cert(PK’_u2)}发送给CSP。
然后,类似于步骤508,在步骤520中,CSP可以检查相同的数据M是否已经被保存在CSP处;如果没有相同的数据已被保存在CSP处,则CSP可以请求用户发送数据;并且如果相同的数据已被保存在CSP处,则CSP可以验证用户的所有权。因为用户u1已经将相同的数据保存在CSP处,所以检查结果是肯定的。在这种情况下,CSP可以请求用户u2发送与来自索引列表的一个索引或多于一个索引相对应的散列信息。例如,CSP可以随机选择至少一个索引x。CSP可以进一步用PK’_u2将至少一个索引x加密为E(x,PK’_u2)。然后,在步骤522中,CSP可以将索引信息(例如,E(x,PK’_u2))发送给用户u2。注意,在该步骤可以由CSP质询多于一个HC(Mx),以便确保数据的持有权。
然后,在步骤524中,用户u2可以计算对应的散列信息并将其发送给CSP。对应的散列信息可以至少包括与从CSP发送的至少一个索引相对应的散列码。例如,用户u2可以计算散列码HC(Mx),其中Mx表示与从CSP发送的至少一个索引x相对应的局部M。用户u2可以进一步用SK’_u2将HC(Mx)签名为Sign(HC(Mx),SK’_u2)。然后,用户u2可以将HC(Mx)和Sign(HC(Mx),SK’_u2)发送给CSP。
然后,在步骤526中,CSP可以基于由用户u1已经保存在CSP处的散列链信息,验证从用户u2发送的散列信息;如果验证结果是肯定的,则CSP可以为用户u2更新关于散列信息H(M)的去重记录。以该方式,用户u2可以访问数据,而无需将重复数据保存在CSP处。
应注意的是,尽管在图2-5中所示的实施例中,用访问策略对DEK2进行加密(即,使用CP-ABE方案),但是本公开不限于此。例如,也可以在本公开的实施例中使用KP-ABE。
图6示出根据本公开的实施例的通过多个CSP的协作进行数据去重的过程的流程图。在步骤602中,用户可以向其本地CSP请求数据存储。例如,步骤602的过程可以类似于步骤204(或304、404、504)和206(或306、406、506)的过程。
然后,在步骤604中,本地CSP可以检查是否发生数据重复。如果在步骤604中的检查结果是肯定的,则本地CSP可以转到步骤606,在步骤606中,本地CSP可以基于去重的策略,独自执行去重、或者通过联系数据所有者和/或AP执行去重。例如,可以根据是否从数据所有者接收到任何CK以及接收到哪种CK,确定去重的策略。如果没有接收到CK,则CSP可以独自进行去重。否则,如果接收到CK1,则CSP可以联系AP,并且如果接收到CK2,则CSP可以联系数据所有者。注意,本公开不限于此。对于另一个示例,去重的策略也可以简单地在步骤214或314或414或514中的数据包中传送,或者可以以另一安全方式传送给CSP。对于又一个示例,去重的策略可以被预先确定(例如,根据用户u1和CSP之间的协定),并且被预先存储在CSP的***中。
步骤604和606的过程可以类似于步骤(220、222、226、228、234、236、240和250)或步骤(320、322、326、328、334和336)或步骤(520、522和526)的过程。
另一方面,如果在步骤604中的检查结果是否定的,则本地CSP可以转到步骤608,在步骤608中,CSP可以(例如,通过广播用户的数据存储请求)与其它CSP检查是否存储了相同的数据。如果不存在来自其它CSP的肯定答复,则在步骤612中,本地CSP可以通过从用户请求数据包,执行数据存储。另一方面,如果存在远程CSP’作出相同数据已经存储在其存储***中的答复,则在步骤614中,本地CSP可以在本地记录用户数据去重信息。注意,本地CSP可以可选地将去重请求发送给远程CSP’,以触发去重。然后,在步骤616中,远程CSP’可以独自执行去重,或者通过联系数据所有者和/或AP执行去重。在联系数据所有者和/或AP的情况下,对应的密钥可以由数据所有者和/或AP生成,并且可以通过CSP和CSP’的协作被发布给用户(例如,CSP’可以经由CSP联系用户)。步骤616的过程可以类似于步骤(220、222、226、228、234、236、240和250)或步骤(320、322、326、328、334和336)或步骤(520、522和526)的过程,除了以下区别外:在步骤616中,CSP’可以直接从散列链质询,由于在步骤610中已确定相同的数据将被保存在CSP’上。
图7示出根据本公开的实施例的用于数据删除的过程的流程图。在步骤702中,用户u可以将数据删除请求发送给其本地CSP。数据删除请求可以至少包括数据M的散列信息。例如,用户u可以将H(M)和Sign(H(M),SK’_u)发送给本地CSP。
然后,在步骤704中,CSP可以验证用户u的所有权,并且如果验证结果是肯定的,则CSP可以删除用户u的存储记录,并且可以阻止其对数据M的未来访问。用于验证用户u的所有权的过程可以类似于在步骤(220、222和226)中用于验证所有权的过程。
然后,在步骤706中,CSP可以检查数据是否被保存在本地。如果在步骤706中检查结果是肯定的,则在步骤718中,CSP可以检查数据去重记录是否为空(即,没有用户再将这样的数据存储在CSP中)。如果在步骤718中的检查结果是肯定的,则CSP可以删除数据。另一方面,如果在步骤718中的检查结果是否定的,则CSP可以联系数据所有者进行DEK更新,这将在稍后参考图9进行描述。如果用户u是数据所有者,则CSP可以询问用户u是否决定继续去重控制,如下面参考图8描述的。
另一方面,如果在步骤706中检查结果是否定的,则在步骤708中,本地CSP可以联系实际存储该数据的远程CSP’。例如,CSP可以将数据删除请求转发给CSP’。然后,在步骤710中,CSP’可以删除用户u的存储记录,并且阻止其对数据M的未来访问。然后,类似于步骤718,在步骤712中,CSP’可以检查数据去重记录是否为空(即,没有用户再将这样的数据存储在CSP’中)。如果在步骤712中检查结果是肯定的,则在步骤714中,CSP’可以删除数据。另一方面,如果在步骤712中检查结果是否定的,则在步骤714中,CSP’可以联系数据所有者进行DEK更新,这将在稍后参考图9进行描述。同样地,如果用户u是数据所有者,则CSP’也可以询问用户u是否决定继续去重控制,如下面参考图8描述的。
图8示出根据本公开的实施例的用于持续数据去重控制的过程的流程图。在这种情况下,数据所有者删除其在CSP处的数据,但是仍然有在CSP处存储相同数据的其它有资格的数据持有者。因此,CSP向数据所有者询问持续去重控制。
在步骤802中,CSP可以向数据所有者询问持续去重控制。如果在步骤802中数据所有者的决定是肯定的,则在步骤812中,数据所有者可以例如通过将访问密钥发布给有资格的用户,来继续去重控制。另一方面,如果在步骤802中数据所有者的决定是否定的,则在步骤806中,数据所有者可以将去重控制转移给AP。例如,数据所有者可以生成新的DEK’=DEK’1,并且用pk_AP对其进行加密,并且然后将DP’={CT’,CK1’}发送给CSP。在步骤808中,CSP可以使用所有有资格的用户的重加密密钥对CK1’执行重新加密,并且更新底层数据的去重记录。在步骤810中,当任何有资格的数据用户访问数据时,CSP可以将CT’和重新加密的CK1’提供给有资格的数据用户。
应注意的是,图8仅举例说明了持续去重控制的一个解决方案。本公开并不限于此。例如,其它数据持有者也可以接管去重控制。在这种情况下,CSP可以(例如,基于数据存储的持续时间和/或用户意愿)从现有数据持有者请求新的代表,或选择现有数据持有者中的一个。新的代表将生成新的DEK’,并且通过应用新的DEK’执行存储更新。该过程类似于下面参考图9描述的DEK更新。
图9示出根据本公开的实施例的用于更新数据加密密钥和密文的整体***过程的流程图。在步骤912中,数据所有者(或有资格的数据持有者)u1可以生成新的数据加密密钥DEK’,用DEK’对数据M进行加密,将DEK’分离成DEK1’和DEK2’,根据PRE方案对DEK1’进行加密,并且根据ABE方案对DEK2’进行加密。例如,用户u1可以用新的对称密钥DEK’_u1对数据M进行加密,以得到CT’_u1=Encrypt(DEK’_u1,M)。然后,用户u1可以调用SeparateKey(DEK’_u1),以得到DEK’_u1的两个随机部分:DEK1’_u1和DEK2’_u1。用户u1可以通过调用EncryptKey(DEK2’_u1,A,pk_(ID,u1)),利用pk_(ID,u1)对DEK2’_u1进行加密以得到CK2’_u1。然后,用户u1可以通过调用E(pk_AP,DEK1’_u1),利用pk_AP对DEK1’_u1进行加密以得到CK1’_u1
然后,在步骤914中,用户u1可以发送散列和/或散列链信息、新加密的数据、新加密的DEK1和新加密的DEK2。散列或散列链信息可以至少包括数据M的散列码或散列链。例如,用户u1可以将数据包DP1’={CT’_u1,CK1’_u1,CK2’_u1,H(M)和/或HC(M),Sign(H(M),SK’_u1)和/或Sign(HC(M),SK’_u1)}发送给CSP。然后,在步骤916中,CSP可以确认用户u1的资格,并且存储DP1’。例如,CSP可以用PK’_u1验证Sign(H(M),SK’_u1)和/或Sign(HC(M),SK’_u1),以确认用户u1的资格。
然后,在步骤928中,如果rk_AP->u2不可用,则CSP可以将任何有资格的数据持有者(例如,用户u2)的用于PRE的公钥信息发送给AP。例如,CSP可以将证书Cert(pk_u2)(其包含pk_u2)发送给AP。
然后,在步骤930中,AP可以验证关于用户u2在第三方处用于数据存储的策略,并且如果验证结果是肯定的,则AP可以生成用于用户u2的重加密信息(如果其不可用的话)。例如,AP可以通过调用RG(pk_AP,sk_AP,pk_u2),生成rk_AP->u2(如果rk_AP->u2不可用的话)。然后,在步骤932中,AP可以将重加密信息发布给CSP。例如,AP可以例如通过使用安全信道,将rk_AP->u2发布给CSP。
然后,在步骤934中,CSP可以用重加密信息对CK1’_u1进行重新加密。例如,CSP可以通过调用R(rk_AP->u2,E(pk_AP,DEK1’_u1))=E(pk_u2,DEK1’_u1),对CK1’_u1进行重新加密。然后,在步骤936中,CSP可以将重新加密的CK1’(即,E(pk_u2,DEK1’_u1))和新的加密的DEK2’(即,CK2’_u1)告知给用户u2。关于E(pk_u2,DEK1’_u1),用户u2可以将确认发送给CSP。
然后,在步骤944中,用户u1可以将用于用户u2的个性化属性私钥发布给用户u2(如果其在之前没有被发送的话)。例如,用户u1可以(使用安全信道或PKC)将sk_(ID,u1,u2)(如果其之前没有被发送的话)发布给用户u2
然后,在步骤946中,用户u2可以例如通过调用DecryptKey(CK2’_u1,A,SK_u2,sk_(ID,u1,u2))对(来自步骤936的)CK2’_u1进行解密以得到DEK2’_u1,利用用户u2的私钥sk_u2对重新加密的DEK1’_u1(即,E(pk_u2,DEK1’_u1))进行解密(例如,通过调用D(sk_u2,E(pk_u2,DEK1’_u1))),并且通过调用CombineKey(DEK1’_u1,DEK2’_u1),组合DEK1’_u1和DEK2’_u1以得到DEK’_u1。以该方式,用户u2可以用DEK’_u1访问新加密的数据CT’_u1
应注意的是,在上述过程中,假定数据所有者u1知道已经向谁发布了私钥,并且因此,CSP不需要向数据所有者告知该信息。然而,在数据所有者丢失该信息,或者资格检查被更新以限制老用户进一步访问,或者数据所有者没有按时发布私钥的情况下,可能会需要CSP通知。在这种情况下,在步骤940中,CSP可以将数据M的标识符(例如,H(M))和有资格的数据持有者的用于ABE的公钥信息(例如,Cert(PK_u2),其包含PK_u2)发送给用户u1
还应注意的是,图9仅举例说明了需要数据所有者和AP去重控制两者的一个情形。类似于图3-4,通过设置DEK1’=DEK’或DEK2’=DEK’,并且省略用于另一去重控制的步骤,可以获得用于以下情形的DEK更新过程:仅需要AP去重控制的情形,或者仅需要数据所有者去重控制的情形。
图10示出根据本公开的实施例的用于在用户设备中管理数据存储的过程的流程图。该过程可以由用户设备执行以实现本公开的功能。首先,在步骤1002中,DEK可以被设置成具有空值或非空值(例如,根据不同的存储情形和/或去重策略)。然后,在步骤1004中,可以确定DEK是否具有空值。如果在步骤1004中确定DEK具有空值,则可以将数据传送给通信网络中的数据中心,用于将数据存储在数据中心中。另一方面,如果在步骤1004中确定DEK具有非空值,则在步骤1008中用DEK对数据进行加密。
然后,在步骤1010中,可以将DEK分离成第一DEK和第二DEK(例如,根据不同的存储情形和/或去重策略),其中第一和第二DEK各自具有空值或非空值。然后,在步骤1012中,如果第一DEK具有非空值,则可以根据代理重加密(PRE)方案对第一DEK进行加密,并且如果第二DEK具有非空值,则可以根据基于属性的加密(ABE)方案对第二DEK进行加密。然后,在步骤1014中,加密的数据、加密的第一DEK(若有的话)和加密的第二DEK(若有的话)可以被传送给数据中心,用于将它们存储在数据中心中。步骤1002-1014的过程可以类似于步骤(212、214)或(312、314)或(412、414)或(512、514)的过程。
附加地,在DEK2具有非空值(即,需要数据所有者去重控制)的情况下,如果接收到去重请求,则在步骤1016中,可以生成个性化属性私钥,并将其发布给有资格的用户。步骤1016的过程可以类似于步骤(242、244)或(442、444)的过程。
可选地,在步骤1018中,作为另一数据的有资格的持有者,可以接收用于该另一数据的重新加密的DEK1’、用于该另一数据的加密的DEK2’和个性化属性私钥,可以进行解密以获得DEK1’和DEK2’,并且可以组合DEK1’和DEK2’以获得DEK’用于数据去重。步骤1018的过程可以类似于步骤(238、246)或338或446的过程。
图11示出根据本公开的实施例的用于在通信网络中管理数据存储的过程的流程图。该过程可以由数据中心执行以实现本公开的功能。首先,在步骤1102中,可以从用户接收数据存储请求。步骤1102的过程可以类似于步骤(206、218)或(306、318)或(406、418)或(506、518)的过程。然后,在步骤1104中,可以确定相同的数据是否已经被存储在数据中心中。如果在步骤1104中确定没有相同的数据已经被存储在数据中心中,则在步骤1106中,加密的数据、加密的第一数据加密密钥(DEK)(若有的话)和加密的第二DEK(若有的话)、或数据可以从第一设备接收并且被存储在数据中心中,其中通过用DEK对数据进行加密生成加密的数据,DEK被分离成第一DEK和第二DEK,第一DEK和第二DEK各自具有空值或非空值,通过根据代理重加密(PRE)方案对第一DEK进行加密来生成加密的第一DEK,并且通过根据基于属性的加密(ABE)方案对第二DEK进行加密来生成加密的第二DEK。步骤1104和1106的过程可以类似于步骤(208、210、216)或(308、310、316)或(408、410、416)或(508、510、516)的过程。
另一方面,如果在步骤1104中确定相同的数据已经被存储在数据中心中,则在步骤1108中可以(例如根据加密的第一DEK是否存在于从第一设备接收的数据中)确定是否需要AP去重控制。如果在步骤1108中确定不需要AP去重控制,则所述过程可以转到步骤1112。另一方面,如果在步骤1108中确定需要AP去重控制,则可以联系AP以根据PRE方案进行去重。步骤1108和1110的过程可以类似于步骤(228、232、234、236)或(328、332、334、336)的过程。在步骤228或328中,因为(例如根据加密的第一DEK存在于从第一设备接收的数据中的事实)确定需要AP去重控制,所以可以联系AP以进行去重。在步骤232或332中,可以从AP接收重加密密钥。在步骤234或334中,可以用重加密密钥对加密的第一DEK进行重新加密。在步骤236或336中,可以将重新加密的第一DEK发布给有资格的数据持有者。
然后,在步骤1112中,可以(例如根据加密的第二DEK是否存在于从第一设备接收的数据中)确定是否需要数据所有者去重控制。如果在步骤1112中确定不需要数据所有者去重控制,则所述过程可以在步骤1116中结束。另一方面,如果在步骤1112中确定需要数据所有者去重控制,则在步骤1114中,可以联系数据所有者以根据ABE方案进行去重。步骤1112和1114的过程可以类似于步骤240或440。然后,在步骤1116中,所述过程可以结束。
基于上面的描述,可以在本公开中实现以下有利技术效果:
(1)可扩展性:本公开可以支持在一个CSP以及多个CSP处发生的大量重复数据存储。可以在多个CSP之间处置重复检查和去重,以便节省每个CSP的存储空间。
(2)灵活性:本公开可以通过借助策略A更新,将控制属性(访问策略)引入到利用ABE的DEK2加密中,来与数据所有者处置的其它数据访问控制机制协作,以用于支持去重和访问控制。以该方式,本公开可以基于数据所有者的期待,支持数字权利管理。此外,本公开还可以通过将访问策略纳入到用于被授权方(AP)处的重加密密钥生成和/或CSP处的CK1重新加密的检查中,来与集中的数据访问控制机制协作。本发明可以基于数据所有者的意愿,灵活地支持分布式控制或集中控制或两者。
(3)通过在数据所有者处使用ABE和/或在AP处应用PRE,很容易构建包含用于数据访问和去重的属性(例如,信任等级和标识符)的访问策略树,并且很容易将策略纳入AP中以允许其为了访问和去重的目的而授权控制。
(4)低存储成本:本公开可明显地为多个CSP节省存储空间。跨多个CSP仅存储相同数据的一个副本。在每个CSP处存储去重记录可能会占据一些存储或内存。额外的重复检查和去重过程可能会请求一些内存和处理成本。但是与节省大量重复数据存储相比,可以忽略该成本。
(5)安全性:通过ABE原理、PRE原理、对称密钥加密和公开PKC原理确保了本公开的安全性。与一维去重控制相比,二维去重控制可以更安全。此外,我们应用随机散列链检查以进一步验证数据的所有权的有效性。额外的管理协议可以被应用以便在实现去重的同时支持数据存储管理。
图12是示出适合于在实践本公开的一些示例性实施例中使用的装置的简化框图。例如,图1中所示的用户设备110、数据中心120或120’和AP 130中的任何一个可以通过装置1200实现。如图所示,装置1200可以包括数据处理器(DP)1210,存储程序(PROG)1230的存储器(MEM)1220,以及用于通过有线和/或无线通信与其它外部设备通信数据的通信接口1240。
PROG 1230被假定包括程序指令,其在被DP 1210执行时使得装置1200能够根据本公开的示例性实施例进行操作,如上面所讨论的。也就是说,本公开的示例性实施例可以至少部分地通过可由DP 1210执行的计算机软件、或者通过硬件、或者通过软件和硬件的组合来实现。
MEM 1220可以是适合于本地技术环境的任何类型,并且可以使用任何适合的数据存储技术来实现,诸如基于半导体的存储器设备、闪速存储器、磁性存储器设备和***、光学存储器设备和***、固定存储器和可移动存储器。DP 1210可以是适合于本地技术环境的任何类型,并且作为非限制性示例可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个。
一般来说,各种示例性实施例可以在硬件或专用电路、软件、逻辑或其任何组合中实现。例如,一些方面可以在硬件中实现,而其它方面可以在可由控制器、微处理器或其它计算设备执行的固件或软件中实现,尽管本公开并不限于此。尽管本公开的示例性实施例的各个方面可以被示出和描述为框图、流程图,或者使用一些其它图形表示,但是应当很好理解的是,作为非限制性示例,可以在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器、或其它计算设备、或其一些组合中实现本文中描述的这些框、装置、***、技术或方法。
如此,应当理解的是,本公开的示例性实施例的至少一些方面可以在各种部件诸如集成电路芯片和模块中实践。因此,应当理解的是,本公开的示例性实施例可以在体现为集成电路的装置中实现,其中集成电路可以包括用于体现可配置成根据本公开的示例性实施例进行操作的数据处理器、数字信号处理器、基带电路和射频电路中的至少一个或多个的电路(以及可能地,固件)。
应当理解的是,本公开的示例性实施例中的至少一些方面可以被体现在由一个或多个计算机或其它设备执行的计算机可执行指令中,诸如体现在一个或多个程序模块中。一般地,程序模块包括例程、程序、对象、组件、数据结构等,其在被计算机或其它设备中的处理器执行时执行特定任务或实现特定抽象数据类型。计算机可执行指令可以被存储在计算机可读介质上,诸如硬盘、光盘、可移动存储介质、固态存储器、RAM等。本领域技术人员将理解的是,在各种实施例中程序模块的功能可以根据需要被组合或分布。另外,所述功能可以整体地或部分地体现在固件或硬件等价物(诸如集成电路、现场可编程门阵列(FPGA)等)中。
本公开包括本文中明确地或者以其任何一般化形式公开的任何新颖特征或特征组合。当结合附图阅读时,鉴于上述描述,对本公开的上述示例性实施例的各种修改和适配对于相关领域中的技术人员来说会变得明显。然而,任何和所有修改仍将落入本公开的非限制性和示例性实施例的范围内。

Claims (64)

1.一种用于在通信网络中管理数据存储的方法,所述方法包括:
在所述通信网络中的数据中心处从第一设备接收用于在所述数据中心中存储数据的请求;
检查相同的数据是否已经被存储在所述数据中心中;
响应于没有相同的数据已经被存储在所述数据中心中的检查结果,从所述第一设备接收至少包含明文或密文(CT)形式的所述数据的数据包;
响应于相同的数据已经被存储在所述数据中心中的检查结果,获得用于所述数据的去重策略;
当所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或仅由所述AP、或仅由所述数据所有者控制去重时,联系所述AP和所述数据所有者中的两者或任何一者、或仅联系所述AP、或仅联系所述数据所有者,以对所述数据进行去重;以及
当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,在所述数据中心处对所述数据进行去重。
2.根据权利要求1所述的方法,其中所述数据包还包含索引列表和散列链信息,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引;
其中联系以进行去重或对所述数据进行去重包括:
请求所述第一设备传送与来自所述索引列表的至少一个索引相对应的散列信息;
基于来自所述第一设备的与所请求的至少一个索引相对应的所述散列信息,验证所述第一设备是否持有所述数据;以及
响应于肯定验证结果,联系以进行去重或为所述第一设备记录所述数据的去重信息。
3.根据权利要求1或2所述的方法,其中获得用于所述数据的去重策略包括:读取预先存储在所述数据中心中的所述去重策略,或者从所述数据所有者接收所述去重策略,或者根据所述数据包确定所述去重策略。
4.根据权利要求1-3中任一项所述的方法,其中确定所述去重策略包括:
当所述数据包还包含彼此不相等的第一密码密钥(CK)和第二CK时,确定将由所述AP和所述数据所有者两者控制去重,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据加密以获得所述CT;
当所述数据包还包含彼此相等的第一和第二CK时,确定将由所述AP或所述数据所有者中的任何一者控制去重;
当所述数据包进一步仅包含第一CK或仅包含第二CK时,确定将仅由所述AP或仅由所述数据所有者控制去重;以及
当所述数据包不包含CK时,确定不由所述AP和所述数据所有者中的任何一者控制去重。
5.根据权利要求1-4中任一项所述的方法,其中联系所述AP以对所述数据进行去重包括:
当重加密密钥不可用时,从所述AP接收重加密密钥;
根据代理重加密(PRE)方案,利用所述重加密密钥对所述第一CK进行重新加密;以及
将重新加密的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对重新加密的第一CK进行解密。
6.根据权利要求1-5中任一项所述的方法,其中联系所述数据所有者以对所述数据进行去重包括:
将所述第一设备的属性身份(ID)传送给所述数据所有者,使得所述数据所有者能够在所述第一设备有资格时为所述第一设备发布属性私钥,以根据基于属性的加密(ABE)方案对所述第二CK进行解密。
7.根据权利要求1-6中任一项所述的方法,还包括:
响应于没有相同的数据已经被存储在所述数据中心中的检查结果,请求至少一个另外的数据中心检查相同的数据是否已经被存储在所述至少一个另外的数据中心中;
响应于来自所述至少一个另外的数据中心的肯定答复,为所述第一设备记录所述数据的去重信息,其中所述至少一个另外的数据中心能够对所述数据进行去重;
响应于来自所述至少一个另外的数据中心的否定答复,相应地执行数据存储。
8.根据权利要求1-7中任一项所述的方法,还包括:
在所述数据中心处从第二设备接收用于删除数据的请求;
检查所述数据是否被所述第二设备存储在所述数据中心中;
响应于肯定的检查结果,为所述第二设备删除所述数据的存储记录;当所述数据的去重记录为空时删除所述数据;以及当所述数据的所述去重记录不为空时,通知所述数据的所有者更新所述CT;以及
响应于否定的检查结果,联系存储所述数据的另一数据中心,其中所述另一数据中心能够为所述第二设备删除所述数据的存储记录。
9.根据权利要求8所述的方法,其中通知所述所有者更新所述CT包括:
询问所述所有者是否决定继续去重控制;
响应于肯定决定,根据所述数据的所述去重策略与所述数据所有者协作以更新所述CT;
响应于否定决定,请求所述数据的另一持有者更新所述CT,或者根据新的去重策略与所述数据所有者协作以更新所述CT,所述新的去重策略指示将仅由所述AP控制去重。
10.根据权利要求5-9中任一项所述的方法,还包括:
响应于对更新一数据的CT的请求,获得用于所述数据的去重策略;
当所述去重策略指示需要AP去重控制时,根据PRE方案利用所述重加密密钥对更新后的第一CK进行重新加密;以及
将重新加密的更新后的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对所述重新加密的更新后的第一CK进行解密;
当所述去重策略指示需要由所述数据所有者进行去重控制时,在必要时根据ABE方案向所述数据所有者告知数据标识符和所述数据持有者的公钥信息,以便允许所述数据所有者通过将私钥发布给所述第一设备使得所述第一设备能够对更新后的第二CK进行解密,来执行数据去重。
11.一种用于在用户设备中管理数据存储的方法,所述方法包括:
在所述用户设备处传送用于将数据存储到数据中心的请求;
响应于来自所述数据中心的对所述数据的请求,将至少包含明文或密文(CT)形式的所述数据的数据包传送给所述数据中心,其中用于所述数据的去重策略被包含在所述数据包中或者能够根据所述数据包被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者控制去重,或者不由所述AP和所述数据的所有者中的任何一者控制去重,或者仅由所述AP或仅由所述数据所有者控制去重;
响应于来自所述数据中心或至少一个另外的数据中心的对所述数据的去重请求,根据基于属性的加密(ABE)方案将属性私钥发布给有资格的数据持有者以用于进行去重。
12.根据权利要求11所述的方法,还包括:
在所述数据包中传送索引列表和散列链信息以用于验证有资格的数据持有者对所述数据的持有权,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引。
13.根据权利要求11或12所述的方法,还包括:
传送用于将第二数据存储到所述数据中心的请求;
响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述第二数据的持有权。
14.根据权利要求11-13中任一项所述的方法,还包括:
当所述去重策略指示将由所述AP和所述数据所有者两者控制去重时,在所述数据包中传送彼此不相等的第一密码密钥(CK)和第二CK,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据进行加密以获得所述CT;
当所述去重策略指示将由所述AP或所述数据所有者中的任何一者控制去重时,在所述数据包中传送彼此相等的第一和第二CK;
当所述去重策略指示将仅由所述AP或仅由所述数据所有者控制去重时,在所述数据包中仅传送第一CK或仅传送第二CK;以及
当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,在所述数据包中传送所述明文。
15.根据权利要求14所述的方法,其中根据代理重加密(PRE)方案利用所述AP的公钥对所述第一DEK进行加密;以及
其中基于访问策略对所述第二DEK进行加密,所述访问策略包含有资格持有所述数据的用户的用户身份(ID)。
16.根据权利要求11-15中任一项所述的方法,其中对所述数据的去重请求包含用户ID信息;
其中发布用于进行去重的所述属性私钥包括:
验证所述用户ID信息是否表示有资格持有所述数据的用户;以及
响应于肯定验证结果,基于所述用户ID信息生成所述属性私钥。
17.根据权利要求13-16中任一项所述的方法,还包括:
从所述数据中心接收用于所述第二数据的重新加密的第一CK;
利用所述用户设备的私钥对重新加密的第一CK进行解密,以获得所述第一DEK;
从所述第二数据的所有者接收属性私钥,并从所述第二数据的所有者或所述数据中心接收用于所述第二数据的第二CK;
利用所述属性私钥对所述第二CK进行解密,以获得所述第二DEK;
组合所述第一和第二DEK,以获得用于去重的所述DEK。
18.根据权利要求11-17中任一项所述的方法,还包括:
在所述用户设备处将用于删除数据的请求传送给所述数据中心;
响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述数据的持有权;
响应于来自所述数据中心或至少一个另外的数据中心的更新所述CT的请求,根据所述数据的去重策略更新所述CT。
19.根据权利要求18所述的方法,还包括:
当需要持续去重控制时,根据所述数据的原始去重策略更新所述CT;以及
当不需要持续去重控制时,根据新的去重策略更新所述CT,所述新的去重策略指示将仅由所述AP控制去重。
20.根据权利要求11-19中任一项所述的方法,还包括:
将对更新数据的CT的请求传送给所述数据中心,其中用于所述数据的去重策略被包含在所述请求中或者能够根据所述请求被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或者仅由所述AP、或者仅由所述数据所有者控制去重,或者不由所述AP和所述数据所有者中的任何一者控制去重;
当所述去重策略指示需要数据所有者去重控制时,当之前没有发送属性私钥时,根据基于属性的加密(ABE)方案将所述属性私钥发布给有资格的数据持有者以用于进行去重。
21.根据权利要求11-20中任一项所述的方法,还包括:
从所述数据中心接收重新加密的更新后的第一CK;
利用所述用户设备的私钥对重新加密的更新后的第一CK进行解密,以获得更新的第一DEK;
当属性私钥不可用时,从所述数据的所有者接收属性私钥,并从所述数据中心或所述数据所有者接收更新的第二CK;
利用所述属性私钥对更新的第二CK进行解密,以获得更新的第二DEK;
组合更新的第一和第二DEK,以获得用于去重的更新的DEK。
22.一种用于在通信网络中管理数据存储的装置,所述装置包括:
用于从第一设备接收用于在所述装置中存储数据的请求的模块;
用于检查相同的数据是否已经被存储在所述装置中的模块;
用于响应于没有相同的数据已经被存储在所述装置中的检查结果,从所述第一设备接收至少包含明文或密文(CT)形式的所述数据的数据包的模块;
用于响应于相同的数据已经被存储在所述装置中的检查结果,获得用于所述数据的去重策略的模块;
用于当所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或仅由所述AP、或仅由所述数据所有者控制去重时,联系所述AP和所述数据所有者中的两者或任何一者、或仅联系所述AP、或仅联系所述数据所有者,以对所述数据进行去重的模块;以及
用于当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,对所述数据进行去重的模块。
23.根据权利要求22所述的装置,其中所述数据包还包含索引列表和散列链信息,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引;
其中用于联系以进行去重或对所述数据进行去重的模块包括:
用于请求所述第一设备传送与来自所述索引列表的至少一个索引相对应的散列信息的模块;
用于基于来自所述第一设备的与所请求的至少一个索引相对应的所述散列信息,验证所述第一设备是否持有所述数据的模块;以及
用于响应于肯定验证结果,联系以进行去重或为所述第一设备记录所述数据的去重信息的模块。
24.根据权利要求22或23所述的装置,其中用于获得用于所述数据的去重策略的模块包括:用于读取预先存储在所述数据中心中的所述去重策略的模块,或者用于从所述数据所有者接收所述去重策略的模块,或者用于根据所述数据包确定所述去重策略的模块。
25.根据权利要求22-24中任一项所述的装置,其中用于确定所述去重策略的模块包括:
用于当所述数据包还包含彼此不相等的第一密码密钥(CK)和第二CK时,确定将由所述AP和所述数据所有者两者控制去重的模块,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据加密以获得所述CT;
用于当所述数据包还包含彼此相等的第一和第二CK时,确定将由所述AP或所述数据所有者中的任何一者控制去重的模块;
用于当所述数据包进一步仅包含第一CK或仅包含第二CK时,确定将仅由所述AP或仅由所述数据所有者控制去重的模块;以及
用于当所述数据包不包含CK时,确定不由所述AP和所述数据所有者中的任何一者控制去重的模块。
26.根据权利要求22-25中任一项所述的装置,其中用于联系所述AP以对所述数据进行去重的模块包括:
用于当重加密密钥不可用时,从所述AP接收重加密密钥的模块;
用于根据代理重加密(PRE)方案,利用所述重加密密钥对所述第一CK进行重新加密的模块;以及
用于将重新加密的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对重新加密的第一CK进行解密的模块。
27.根据权利要求22-26中任一项所述的装置,其中用于联系所述数据所有者以对所述数据进行去重的模块包括:
用于将所述第一设备的属性身份(ID)传送给所述数据所有者,使得所述数据所有者能够在所述第一设备有资格时为所述第一设备发布属性私钥,以根据基于属性的加密(ABE)方案对所述第二CK进行解密的模块。
28.根据权利要求22-27中任一项所述的装置,还包括:
用于响应于没有相同的数据已经被存储在所述装置中的检查结果,请求至少一个另外的数据中心检查相同的数据是否已经被存储在所述至少一个另外的数据中心中的模块;
用于响应于来自所述至少一个另外的数据中心的肯定答复,为所述第一设备记录所述数据的去重信息的模块,其中所述至少一个另外的数据中心能够对所述数据进行去重;
用于响应于来自所述至少一个另外的数据中心的否定答复,相应地执行数据存储的模块。
29.根据权利要求22-28中任一项所述的装置,还包括:
用于从第二设备接收用于删除数据的请求的模块;
用于检查所述数据是否被所述第二设备存储在所述装置中的模块;
用于响应于肯定的检查结果,为所述第二设备删除所述数据的存储记录;当所述数据的去重记录为空时删除所述数据;以及当所述数据的所述去重记录不为空时,通知所述数据的所有者更新所述CT的模块;以及
用于响应于否定的检查结果,联系存储所述数据的另一数据中心的模块,其中所述另一数据中心能够为所述第二设备删除所述数据的存储记录。
30.根据权利要求29所述的装置,其中用于通知所述所有者更新所述CT的模块包括:
用于询问所述所有者是否决定继续去重控制的模块;
用于响应于肯定决定,根据所述数据的所述去重策略与所述数据所有者协作以更新所述CT的模块;
用于响应于否定决定,请求所述数据的另一持有者更新所述CT,或者根据新的去重策略与所述数据所有者协作以更新所述CT的模块,所述新的去重策略指示将仅由所述AP控制去重。
31.根据权利要求26-30中任一项所述的装置,还包括:
用于响应于对更新一数据的CT的请求,获得用于所述数据的去重策略的模块;
用于当所述去重策略指示需要AP去重控制时,根据PRE方案利用所述重加密密钥对更新后的第一CK进行重新加密的模块;以及
用于将重新加密的更新后的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对所述重新加密的更新后的第一CK进行解密的模块;
用于当所述去重策略指示需要由所述数据所有者进行去重控制时,在必要时根据ABE方案向所述数据所有者告知数据标识符和所述数据持有者的公钥信息,以便允许所述数据所有者通过将私钥发布给所述第一设备使得所述第一设备能够对更新后的第二CK进行解密,来执行数据去重的模块。
32.一种用于在用户设备中管理数据存储的装置,所述装置包括:
用于传送用于将数据存储到数据中心的请求的模块;
用于响应于来自所述数据中心的对所述数据的请求,将至少包含明文或密文(CT)形式的所述数据的数据包传送给所述数据中心的模块,其中用于所述数据的去重策略被包含在所述数据包中或者能够根据所述数据包被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者控制去重,或者不由所述AP和所述数据的所有者中的任何一者控制去重,或者仅由所述AP或仅由所述数据所有者控制去重;
用于响应于来自所述数据中心或至少一个另外的数据中心的对所述数据的去重请求,根据基于属性的加密(ABE)方案将属性私钥发布给有资格的数据持有者以用于进行去重的模块。
33.根据权利要求32所述的装置,还包括:
用于在所述数据包中传送索引列表和散列链信息以用于验证有资格的数据持有者对所述数据的持有权的模块,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引。
34.根据权利要求32或33所述的装置,还包括:
用于传送用于将第二数据存储到所述数据中心的请求的模块;
用于响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述第二数据的持有权的模块。
35.根据权利要求32-34中任一项所述的装置,还包括:
用于当所述去重策略指示将由所述AP和所述数据所有者两者控制去重时,在所述数据包中传送彼此不相等的第一密码密钥(CK)和第二CK的模块,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据进行加密以获得所述CT;
用于当所述去重策略指示将由所述AP或所述数据所有者中的任何一者控制去重时,在所述数据包中传送彼此相等的第一和第二CK的模块;
用于当所述去重策略指示将仅由所述AP或仅由所述数据所有者控制去重时,在所述数据包中仅传送第一CK或仅传送第二CK的模块;以及
用于当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,在所述数据包中传送所述明文的模块。
36.根据权利要求35所述的装置,其中根据代理重加密(PRE)方案利用所述AP的公钥对所述第一DEK进行加密;以及
其中基于访问策略对所述第二DEK进行加密,所述访问策略包含有资格持有所述数据的用户的用户身份(ID)。
37.根据权利要求32-36中任一项所述的装置,其中对所述数据的去重请求包含用户ID信息;
其中用于发布用于进行去重的所述属性私钥的模块包括:
用于验证所述用户ID信息是否表示有资格持有所述数据的用户的模块;以及
用于响应于肯定验证结果,基于所述用户ID信息生成所述属性私钥的模块。
38.根据权利要求34-37中任一项所述的装置,还包括:
用于从所述数据中心接收用于所述第二数据的重新加密的第一CK的模块;
用于利用所述用户设备的私钥对重新加密的第一CK进行解密,以获得所述第一DEK的模块;
用于从所述第二数据的所有者接收属性私钥,并从所述第二数据的所有者或所述数据中心接收用于所述第二数据的第二CK的模块;
用于利用所述属性私钥对所述第二CK进行解密,以获得所述第二DEK的模块;
用于组合所述第一和第二DEK,以获得用于去重的所述DEK的模块。
39.根据权利要求32-38中任一项所述的装置,还包括:
用于将用于删除数据的请求传送给所述数据中心的模块;
用于响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述数据的持有权的模块;
用于响应于来自所述数据中心或至少一个另外的数据中心的更新所述CT的请求,根据所述数据的去重策略更新所述CT的模块。
40.根据权利要求39所述的装置,还包括:
用于当需要持续去重控制时,根据所述数据的原始去重策略更新所述CT的模块;以及
用于当不需要持续去重控制时,根据新的去重策略更新所述CT的模块,所述新的去重策略指示将仅由所述AP控制去重。
41.根据权利要求32-40中任一项所述的装置,还包括:
用于将对更新数据的CT的请求传送给所述数据中心的模块,其中用于所述数据的去重策略被包含在所述请求中或者能够根据所述请求被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或者仅由所述AP、或者仅由所述数据所有者控制去重,或者不由所述AP和所述数据所有者中的任何一者控制去重;
用于当所述去重策略指示需要数据所有者去重控制时,当之前没有发送属性私钥时,根据基于属性的加密(ABE)方案将所述属性私钥发布给有资格的数据持有者以用于进行去重的模块。
42.根据权利要求32-41中任一项所述的装置,还包括:
用于从所述数据中心接收重新加密的更新后的第一CK的模块;
用于利用所述用户设备的私钥对重新加密的更新后的第一CK进行解密,以获得更新的第一DEK的模块;
用于当属性私钥不可用时,从所述数据的所有者接收属性私钥,并从所述数据中心或所述数据所有者接收更新的第二CK的模块;
用于利用所述属性私钥对更新的第二CK进行解密,以获得更新的第二DEK的模块;
用于组合更新的第一和第二DEK,以获得用于去重的更新的DEK的模块。
43.一种用于在通信网络中管理数据存储的装置,所述装置包括:
至少一个处理器;以及
包括计算机可执行代码的至少一个存储器,
其中所述至少一个存储器和所述计算机可执行代码配置成与所述至少一个处理器一起使所述装置:
从第一设备接收用于在所述装置中存储数据的请求;
检查相同的数据是否已经被存储在所述装置中;
响应于没有相同的数据已经被存储在所述装置中的检查结果,从所述第一设备接收至少包含明文或密文(CT)形式的所述数据的数据包;
响应于相同的数据已经被存储在所述装置中的检查结果,获得用于所述数据的去重策略;
当所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或仅由所述AP、或仅由所述数据所有者控制去重时,联系所述AP和所述数据所有者中的两者或任何一者、或仅联系所述AP、或仅联系所述数据所有者,以对所述数据进行去重;以及
当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,对所述数据进行去重。
44.根据权利要求43所述的装置,其中所述数据包还包含索引列表和散列链信息,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引;
其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
请求所述第一设备传送与来自所述索引列表的至少一个索引相对应的散列信息;
基于来自所述第一设备的与所请求的至少一个索引相对应的所述散列信息,验证所述第一设备是否持有所述数据;以及
响应于肯定验证结果,联系以进行去重或为所述第一设备记录所述数据的去重信息。
45.根据权利要求43或44所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
读取预先存储在所述数据中心中的所述去重策略,或者从所述数据所有者接收所述去重策略,或者根据所述数据包确定所述去重策略。
46.根据权利要求43-45中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
当所述数据包还包含彼此不相等的第一密码密钥(CK)和第二CK时,确定将由所述AP和所述数据所有者两者控制去重,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据加密以获得所述CT;
当所述数据包还包含彼此相等的第一和第二CK时,确定将由所述AP或所述数据所有者中的任何一者控制去重;
当所述数据包进一步仅包含第一CK或仅包含第二CK时,确定将仅由所述AP或仅由所述数据所有者控制去重;以及
当所述数据包不包含CK时,确定不由所述AP和所述数据所有者中的任何一者控制去重。
47.根据权利要求43-46中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
当重加密密钥不可用时,从所述AP接收重加密密钥;
根据代理重加密(PRE)方案,利用所述重加密密钥对所述第一CK进行重新加密;以及
将重新加密的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对重新加密的第一CK进行解密。
48.根据权利要求43-47中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
将所述第一设备的属性身份(ID)传送给所述数据所有者,使得所述数据所有者能够在所述第一设备有资格时为所述第一设备发布属性私钥,以根据基于属性的加密(ABE)方案对所述第二CK进行解密。
49.根据权利要求43-48中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
响应于没有相同的数据已经被存储在所述装置中的检查结果,请求至少一个另外的数据中心检查相同的数据是否已经被存储在所述至少一个另外的数据中心中;
响应于来自所述至少一个另外的数据中心的肯定答复,为所述第一设备记录所述数据的去重信息,其中所述至少一个另外的数据中心能够对所述数据进行去重;
响应于来自所述至少一个另外的数据中心的否定答复,相应地执行数据存储。
50.根据权利要求43-49中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
在所述装置处从第二设备接收用于删除数据的请求;
检查所述数据是否被所述第二设备存储在所述装置中;
响应于肯定的检查结果,为所述第二设备删除所述数据的存储记录;当所述数据的去重记录为空时删除所述数据;以及当所述数据的所述去重记录不为空时,通知所述数据的所有者更新所述CT;以及
响应于否定的检查结果,联系存储所述数据的另一数据中心,其中所述另一数据中心能够为所述第二设备删除所述数据的存储记录。
51.根据权利要求50所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
询问所述所有者是否决定继续去重控制;
响应于肯定决定,根据所述数据的所述去重策略与所述数据所有者协作以更新所述CT;
响应于否定决定,请求所述数据的另一持有者更新所述CT,或者根据新的去重策略与所述数据所有者协作以更新所述CT,所述新的去重策略指示将仅由所述AP控制去重。
52.根据权利要求47-51中任一项所述的装置,还包括:
响应于对更新一数据的CT的请求,获得用于所述数据的去重策略;
当所述去重策略指示需要AP去重控制时,根据PRE方案利用所述重加密密钥对更新后的第一CK进行重新加密;以及
将重新加密的更新后的第一CK传送给所述第一设备,使得所述第一设备能够利用所述第一设备的私钥对所述重新加密的更新后的第一CK进行解密;
当所述去重策略指示需要由所述数据所有者进行去重控制时,在必要时根据ABE方案向所述数据所有者告知数据标识符和所述数据持有者的公钥信息,以便允许所述数据所有者通过将私钥发布给所述第一设备使得所述第一设备能够对更新后的第二CK进行解密,来执行数据去重。
53.一种用于在用户设备中管理数据存储的装置,所述装置包括:
至少一个处理器;以及
包括计算机可执行代码的至少一个存储器,
其中所述至少一个存储器和所述计算机可执行代码配置成与所述至少一个处理器一起使所述装置:
传送用于将数据存储到数据中心的请求;
响应于来自所述数据中心的对所述数据的请求,将至少包含明文或密文(CT)形式的所述数据的数据包传送给所述数据中心,其中用于所述数据的去重策略被包含在所述数据包中或者能够根据所述数据包被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者控制去重,或者不由所述AP和所述数据的所有者中的任何一者控制去重,或者仅由所述AP或仅由所述数据所有者控制去重;
响应于来自所述数据中心或至少一个另外的数据中心的对所述数据的去重请求,根据基于属性的加密(ABE)方案将属性私钥发布给有资格的数据持有者以用于进行去重。
54.根据权利要求53所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
在所述数据包中传送索引列表和散列链信息以用于验证有资格的数据持有者对所述数据的持有权,所述索引列表包括多个索引,每个索引指示所述数据的特定部分,所述散列链信息包括多个散列信息,每个散列信息对应于一个索引。
55.根据权利要求53或54所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
传送用于将第二数据存储到所述数据中心的请求;
响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述第二数据的持有权。
56.根据权利要求53-55中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
当所述去重策略指示将由所述AP和所述数据所有者两者控制去重时,在所述数据包中传送彼此不相等的第一密码密钥(CK)和第二CK,所述第一和第二CK是通过将数据加密密钥(DEK)分离成第一DEK和第二DEK并分别对所述第一和第二DEK进行加密而生成的,所述DEK被用于对所述数据进行加密以获得所述CT;
当所述去重策略指示将由所述AP或所述数据所有者中的任何一者控制去重时,在所述数据包中传送彼此相等的第一和第二CK;
当所述去重策略指示将仅由所述AP或仅由所述数据所有者控制去重时,在所述数据包中仅传送第一CK或仅传送第二CK;以及
当所述去重策略指示不由所述AP和所述数据所有者中的任何一者控制去重时,在所述数据包中传送所述明文。
57.根据权利要求56所述的装置,其中根据代理重加密(PRE)方案利用所述AP的公钥对所述第一DEK进行加密;以及
其中基于访问策略对所述第二DEK进行加密,所述访问策略包含有资格持有所述数据的用户的用户身份(ID)。
58.根据权利要求53-57中任一项所述的装置,其中对所述数据的去重请求包含用户ID信息;
其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
验证所述用户ID信息是否表示有资格持有所述数据的用户;以及
响应于肯定验证结果,基于所述用户ID信息生成所述属性私钥。
59.根据权利要求55-58中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
从所述数据中心接收用于所述第二数据的重新加密的第一CK;
利用所述用户设备的私钥对重新加密的第一CK进行解密,以获得所述第一DEK;
从所述第二数据的所有者接收属性私钥,并从所述第二数据的所有者或所述数据中心接收用于所述第二数据的第二CK;
利用所述属性私钥对所述第二CK进行解密,以获得所述第二DEK;
组合所述第一和第二DEK,以获得用于去重的所述DEK。
60.根据权利要求53-59中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
将用于删除数据的请求传送给所述数据中心;
响应于来自所述数据中心的对与至少一个索引相对应的散列信息的请求,将与所述至少一个索引相对应的所计算的散列信息传送给所述数据中心,用于验证所述数据的持有权;
响应于来自所述数据中心或至少一个另外的数据中心的更新所述CT的请求,根据所述数据的去重策略更新所述CT。
61.根据权利要求60所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
当需要持续去重控制时,根据所述数据的原始去重策略更新所述CT;以及
当不需要持续去重控制时,根据新的去重策略更新所述CT,所述新的去重策略指示将仅由所述AP控制去重。
62.根据权利要求53-61中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
将对更新数据的CT的请求传送给所述数据中心,其中用于所述数据的去重策略被包含在所述请求中或者能够根据所述请求被确定,所述去重策略指示将由被授权方(AP)和所述数据的所有者中的两者或任何一者、或者仅由所述AP、或者仅由所述数据所有者控制去重,或者不由所述AP和所述数据所有者中的任何一者控制去重;
当所述去重策略指示需要数据所有者去重控制时,当之前没有发送属性私钥时,根据基于属性的加密(ABE)方案将所述属性私钥发布给有资格的数据持有者以用于进行去重。
63.根据权利要求53-62中任一项所述的装置,其中所述计算机可执行代码还配置成当由所述至少一个处理器执行时使所述装置:
从所述数据中心或所述数据所有者接收重新加密的更新后的第一CK;
利用所述用户设备的私钥对重新加密的更新后的第一CK进行解密,以获得更新的第一DEK;
当属性私钥不可用时,从所述数据的所有者接收属性私钥,并从所述数据中心接收更新的第二CK;
利用所述属性私钥对更新的第二CK进行解密,以获得更新的第二DEK;
组合更新的第一和第二DEK,以获得用于去重的更新的DEK。
64.一种计算机程序产品,包括在其中存储有计算机可执行程序指令的至少一个非暂时性计算机可读存储介质,所述计算机可执行指令配置成在被执行时致使装置根据权利要求1-21中任一项所述进行操作。
CN201580073740.0A 2015-01-19 2015-01-19 用于云计算中的异构数据存储管理的方法和装置 Expired - Fee Related CN107113314B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2015/071013 WO2016115663A1 (en) 2015-01-19 2015-01-19 Method and apparatus for heterogeneous data storage management in cloud computing

Publications (2)

Publication Number Publication Date
CN107113314A true CN107113314A (zh) 2017-08-29
CN107113314B CN107113314B (zh) 2020-06-19

Family

ID=56416249

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580073740.0A Expired - Fee Related CN107113314B (zh) 2015-01-19 2015-01-19 用于云计算中的异构数据存储管理的方法和装置

Country Status (5)

Country Link
US (1) US10581856B2 (zh)
EP (1) EP3248354A4 (zh)
JP (1) JP6404481B2 (zh)
CN (1) CN107113314B (zh)
WO (1) WO2016115663A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404960A (zh) * 2020-03-26 2020-07-10 军事科学院***工程研究院网络信息研究所 应用于天地一体化网络接入管控***的属性提取方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097429B2 (en) * 2015-11-25 2018-10-09 Fluke Corporation System and method for applying aggregated cable test result data
US10528751B2 (en) * 2017-04-13 2020-01-07 Nec Corporation Secure and efficient cloud storage with retrievability guarantees
WO2018188074A1 (en) * 2017-04-14 2018-10-18 Nokia Technologies Oy Secure encrypted data deduplication with efficient ownership proof and user revocation
US11263087B2 (en) * 2018-07-05 2022-03-01 EMC IP Holding Company LLC Methods and systems for serverless data deduplication
CN110677487B (zh) * 2019-09-30 2022-04-26 中科柏诚科技(北京)股份有限公司 一种支持隐私和完整性保护的外包数据去重云存储方法
KR102172903B1 (ko) * 2019-12-09 2020-11-02 (주)트러스트체인파트너스위드하모니 블록체인 기술 기반 데이터 베이스 관리 시스템
US20240176189A1 (en) * 2021-03-24 2024-05-30 Toyobo Co., Ltd. Image display device, and method for selecting combination of backlight light source and polarizing plate in liquid crystal display device
CN114598535B (zh) * 2022-03-14 2023-12-15 太原科技大学 基于云计算多授权中心的cp-abe代理重加密方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104393A1 (en) * 2006-09-28 2008-05-01 Microsoft Corporation Cloud-based access control list
US20110016095A1 (en) * 2009-07-16 2011-01-20 International Business Machines Corporation Integrated Approach for Deduplicating Data in a Distributed Environment that Involves a Source and a Target
US20120173558A1 (en) * 2010-12-29 2012-07-05 Sorenson Iii James Christopher Receiver-Side Data Deduplication In Data Systems
CN103095847A (zh) * 2013-02-04 2013-05-08 华中科技大学 一种云存储***安全保障方法及其***
CN103377285A (zh) * 2012-04-25 2013-10-30 国际商业机器公司 用于增强对存储云去重技术的可靠性的方法与***
US20140075193A1 (en) * 2012-03-19 2014-03-13 Donglin Wang Storage method
CN103763362A (zh) * 2014-01-13 2014-04-30 西安电子科技大学 一种安全的分布式重复数据删除方法

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598161B1 (en) 1999-08-09 2003-07-22 International Business Machines Corporation Methods, systems and computer program products for multi-level encryption
EP1271951A1 (en) 2001-06-22 2003-01-02 Octalis S.A. Conditional access system for digital data by key decryption and re-encryption
JP2006345160A (ja) 2005-06-08 2006-12-21 Base Technology Inc 情報通信システム
JP2007129413A (ja) 2005-11-02 2007-05-24 Ntt Data Corp 情報処理システム及びコンピュータプログラム
US8094810B2 (en) * 2006-02-03 2012-01-10 Massachusetts Institute Of Technology Unidirectional proxy re-encryption
US10467606B2 (en) * 2006-04-29 2019-11-05 Api Market, Inc. Enhanced title processing arrangement
US8347407B2 (en) 2007-01-26 2013-01-01 Nec Corporation Authority management method, system therefor, and server and information equipment terminal used in the system
KR20090002660A (ko) 2007-07-02 2009-01-09 삼성전자주식회사 암호화된 컨텐츠를 재생하는 방법 및 재생을 인가하는방법과 그 장치
EP2235640A2 (en) 2008-01-16 2010-10-06 Sepaton, Inc. Scalable de-duplication mechanism
US7567188B1 (en) * 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy
US8397084B2 (en) * 2008-06-12 2013-03-12 Microsoft Corporation Single instance storage of encrypted data
US7814149B1 (en) * 2008-09-29 2010-10-12 Symantec Operating Corporation Client side data deduplication
JP5113717B2 (ja) 2008-10-27 2013-01-09 Kddi株式会社 移動通信ネットワークシステム
US8312276B2 (en) 2009-02-06 2012-11-13 Industrial Technology Research Institute Method for sending and receiving an evaluation of reputation in a social network
JP5255499B2 (ja) 2009-03-30 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 鍵情報管理方法、コンテンツ送信方法、鍵情報管理装置、ライセンス管理装置、コンテンツ送信システム、及び端末装置
US20100332401A1 (en) * 2009-06-30 2010-12-30 Anand Prahlad Performing data storage operations with a cloud storage environment, including automatically selecting among multiple cloud storage sites
US8874929B2 (en) 2009-10-27 2014-10-28 Lockheed Martin Corporation Cross domain discovery
US9077690B2 (en) 2009-12-07 2015-07-07 Nokia Corporation Preservation of user data privacy in a network
RU2012130355A (ru) * 2009-12-18 2014-01-27 Конинклейке Филипс Электроникс Н.В. Управление цифровыми правами с использованием шифрования на основе атрибутов
US8977853B2 (en) 2010-01-06 2015-03-10 Telcordia Technologies, Inc. System and method establishing trusted relationships to enable secure exchange of private information
CN102244576A (zh) 2010-05-10 2011-11-16 国民技术股份有限公司 一种实现终端安全存储的***及方法
US8931048B2 (en) 2010-08-24 2015-01-06 International Business Machines Corporation Data system forensics system and method
CN102014133B (zh) 2010-11-26 2013-08-21 清华大学 在云存储环境下一种安全存储***的实现方法
US8645702B2 (en) 2010-12-28 2014-02-04 Futurewei Technologies, Inc. Method and apparatus to use identity information for digital signing and encrypting content integrity and authenticity in content oriented networks
KR20140034222A (ko) 2011-05-14 2014-03-19 비트카사, 인코포레이티드 사용자-독립적인 암호화된 파일들의 서버측 중복제거를 하는 클라우드 파일 시스템
US9805054B2 (en) * 2011-11-14 2017-10-31 Panzura, Inc. Managing a global namespace for a distributed filesystem
CN102571746B (zh) 2011-11-23 2014-11-05 西安交通大学 一种面向云计算环境侧通道攻击防御的虚拟机部署方法
CN103975300A (zh) 2011-12-08 2014-08-06 英派尔科技开发有限公司 用于允许跨用户的重复数据删除的存储折扣
KR20130064518A (ko) * 2011-12-08 2013-06-18 삼성전자주식회사 저장 장치 및 그것의 동작 방법
CN102546764B (zh) 2011-12-20 2014-06-04 华中科技大学 一种云存储***的安全访问方法
CN102629940A (zh) 2012-03-19 2012-08-08 天津书生投资有限公司 一种存储方法、***和装置
WO2014027263A2 (en) * 2012-08-17 2014-02-20 Koninklijke Philips N.V. Attribute-based encryption
WO2014043894A1 (en) 2012-09-21 2014-03-27 Nokia Corporation Method and apparatus for providing access control to shared data based on trust level
US20140108332A1 (en) * 2012-10-17 2014-04-17 Dell Products L.P. System and method for migration and deduplication of digital assets
CN104871509B (zh) 2012-10-23 2019-03-19 诺基亚技术有限公司 用于管理访问权限的方法和装置
US9164926B2 (en) * 2012-11-22 2015-10-20 Tianjin Sursen Investment Co., Ltd. Security control method of network storage
US9390101B1 (en) * 2012-12-11 2016-07-12 Veritas Technologies Llc Social deduplication using trust networks
US9471590B2 (en) * 2013-02-12 2016-10-18 Atlantis Computing, Inc. Method and apparatus for replicating virtual machine images using deduplication metadata
FR3003968A1 (fr) 2013-03-28 2014-10-03 France Telecom Procede de stockage de donnees dans un systeme informatique effectuant une deduplication de donnees.
US9202076B1 (en) * 2013-07-26 2015-12-01 Symantec Corporation Systems and methods for sharing data stored on secure third-party storage platforms
US20150066873A1 (en) * 2013-08-30 2015-03-05 Kaladhar Voruganti Policy based deduplication techniques
US9367559B1 (en) * 2013-10-01 2016-06-14 Veritas Technologies Llc Data locality control for deduplication
US9076004B1 (en) * 2014-05-07 2015-07-07 Symantec Corporation Systems and methods for secure hybrid third-party data storage
US9397832B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080104393A1 (en) * 2006-09-28 2008-05-01 Microsoft Corporation Cloud-based access control list
US20110016095A1 (en) * 2009-07-16 2011-01-20 International Business Machines Corporation Integrated Approach for Deduplicating Data in a Distributed Environment that Involves a Source and a Target
US20120173558A1 (en) * 2010-12-29 2012-07-05 Sorenson Iii James Christopher Receiver-Side Data Deduplication In Data Systems
US20140075193A1 (en) * 2012-03-19 2014-03-13 Donglin Wang Storage method
CN103377285A (zh) * 2012-04-25 2013-10-30 国际商业机器公司 用于增强对存储云去重技术的可靠性的方法与***
CN103095847A (zh) * 2013-02-04 2013-05-08 华中科技大学 一种云存储***安全保障方法及其***
CN103763362A (zh) * 2014-01-13 2014-04-30 西安电子科技大学 一种安全的分布式重复数据删除方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404960A (zh) * 2020-03-26 2020-07-10 军事科学院***工程研究院网络信息研究所 应用于天地一体化网络接入管控***的属性提取方法
CN111404960B (zh) * 2020-03-26 2022-02-25 军事科学院***工程研究院网络信息研究所 应用于天地一体化网络接入管控***的属性提取方法

Also Published As

Publication number Publication date
JP2018508864A (ja) 2018-03-29
JP6404481B2 (ja) 2018-10-10
US10581856B2 (en) 2020-03-03
US20180034819A1 (en) 2018-02-01
WO2016115663A1 (en) 2016-07-28
EP3248354A4 (en) 2018-08-15
EP3248354A1 (en) 2017-11-29
CN107113314B (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN108632292B (zh) 基于联盟链的数据共享方法和***
CN107113314A (zh) 用于云计算中的异构数据存储管理的方法和装置
Barsoum et al. Enabling dynamic data and indirect mutual trust for cloud computing storage systems
CN106453612B (zh) 一种数据存储与共享***
CN107113165A (zh) 在云计算中用于重复数据管理的方法和装置
CN111523133B (zh) 一种区块链与云端数据协同共享方法
CN107959567A (zh) 数据存储方法、数据获取方法、装置及***
US11973867B2 (en) Encrypted search
CN108881195A (zh) 基于云环境的数据安全共享方法和装置
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
CN104158880B (zh) 一种用户端云数据共享解决方法
CN106797316B (zh) 路由器、数据设备、分发数据的方法和***
CN105100076A (zh) 一种基于USB Key的云数据安全***
CN104620535A (zh) 基于属性的加密
CN115242555A (zh) 一种可监管的跨链隐私数据共享方法及装置
KR20120132708A (ko) 클라우드 컴퓨팅 환경에서의 접근 권한 분산 관리 장치 및 그 방법
CN105553661B (zh) 密钥管理方法和装置
Zhu et al. An edge re‐encryption‐based access control mechanism in NDN
CN108494724A (zh) 基于多授权机构属性加密算法的云存储加密***及方法
Huang et al. Adaptive Secure Cross‐Cloud Data Collaboration with Identity‐Based Cryptography and Conditional Proxy Re‐Encryption
CN108933758A (zh) 可分享云存储加解密方法、装置和***
JP6840685B2 (ja) データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム
CN115766098A (zh) 基于区块链与代理重加密的个人健康数据共享方法
CN115001744A (zh) 一种云平台数据完整性验证方法及***
Salim et al. An efficient public auditing scheme for cloud storage with secure access control and resistance against DOS attack by iniquitous TPA

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200619

Termination date: 20220119

CF01 Termination of patent right due to non-payment of annual fee