CN105210079B - 针对经加密的数据的基于社区的重复删除 - Google Patents

针对经加密的数据的基于社区的重复删除 Download PDF

Info

Publication number
CN105210079B
CN105210079B CN201480008657.0A CN201480008657A CN105210079B CN 105210079 B CN105210079 B CN 105210079B CN 201480008657 A CN201480008657 A CN 201480008657A CN 105210079 B CN105210079 B CN 105210079B
Authority
CN
China
Prior art keywords
encrypted
key
computing device
block
file
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
CN201480008657.0A
Other languages
English (en)
Other versions
CN105210079A (zh
Inventor
A·奈什图特
O·本-沙洛姆
T·H·吉井
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Priority to CN201610066552.1A priority Critical patent/CN105550600B/zh
Publication of CN105210079A publication Critical patent/CN105210079A/zh
Application granted granted Critical
Publication of CN105210079B publication Critical patent/CN105210079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1453Management of the data involved in backup or backup restore using de-duplication of the data
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • 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
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/32Cryptographic 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于对经加密的内容进行重复删除的技术,包括在计算设备上将文件碎片化为块,对每个块进行加密,并在内容数据服务器上存储具有相关联的经加密的散列和成员标识的每个经加密的块。计算设备还向密钥服务器传输具有相关联的成员加密密钥和成员标识的每个经加密的块。作为重复删除过程的一部分,内容数据服务器仅存储针对特定的相关联的经加密的散列的经加密的数据的一个副本,并且密钥服务器类似地将单个成员加密密钥与经加密的散列相关联。为取回文件,计算设备从内容数据服务器接收具有它们的相关联的经加密的散列和成员标识的经加密的块,并从密钥服务器接收对应的成员解密密钥。计算设备使用成员解密密钥对每个块进行解密,并将块进行组合以生成所述文件。

Description

针对经加密的数据的基于社区的重复删除
背景技术
在当今社会中,每天都在计算设备之间传输和存储大量的数据。因此存在减少在计算的各个方面中不必要的开销量的努力。例如,当大量数据被存储在一个位置(例如,作为备用系统)时,重复数据删除是一种显著减少存储消耗的过程。重复数据删除允许开发人员利用对数据块的单个拷贝的相对小的参考点来替换大冗余数据块。
在许多实现中,存储的数据可被加密或以其它安全的方式被存储。加密和散列算法允许安全传输和存储数字数据。加密算法理想地生成出现伪随机的数据,并且在不同密码密钥下加密的相同数据应该产生完全不同的经加密的数据。因此,典型的重复数据删除对在不同密码密钥下加密的数据不起作用。
附图说明
在附图中通过示例的方式而非限制的方式示出本文所描述的概念。为说明简单和清楚起见,附图中示出的元件不一定按比例绘制。在适当的情况下,在附图中重复附图标记以指示相应的或类似的元件。
图1是用于对经加密的数据进行重复删除的系统的至少一个实施例的简化框图;
图2是图1中系统的计算设备的环境的至少一个实施例的简化框图;
图3是用于使用图1中系统的计算设备在内容数据服务器上存储内容的方法的至少一个实施例的简化流程图;
图4是用于使用图1中系统的计算设备从内容数据服务器取回内容的方法的至少一个实施例的简化流程图;
图5是用于对在图1中系统的内容数据服务器上的经加密的内容进行重复删除的方法的至少一个实施例的简化流程图;
图6是用于对在图1中系统的密钥服务器上的密码密钥进行重复删除的方法的至少一个实施例的简化流程图;
图7是用于在图1中系统的内容数据服务器上提供所请求的内容的方法的至少一个实施例的简化流程图;以及
图8是用于在图1中系统的密钥服务器上提供所请求的密钥的方法的至少一个实施例的简化流程图。
具体实施方式
虽然本公开的概念易于进行各种修改和替代形式,但是在附图中已通过示例的方式示出了其具体的实施例,并将在本文中详细描述。然而,应当理解,并非旨在将本公开的概念限制于所公开的特定形式,但是相反,旨在覆盖与本公开的内容和所附的权利要求相一致的所有修改、等同物及替代物。
说明书中提及的“一个实施例”、“实施例”、“示例性实施例”等指示所描述的实施例可以包括特定的特征、结构、或特性,但每个实施例可以或可以不必包括该特定的特征、结构、或特性。此外,这些短语不一定是指同一实施例。此外,当结合实施例描述特定的特征、结构、或特性时,所主张的是,结合无论是否明确描述的其它实施例来实现这些特征、结构、或特性是在本领域技术人员的知识范围内的。
在一些情况下,所公开的实施例可以以硬件、固件、软件、或它们的任意组合来实现。所公开的实施例还可被实现为由暂时或非暂时机器可读(例如,计算机可读)存储介质携带或存储的指令,这些指令可由一个或多个处理器读取并执行。机器可读存储介质可被实施为用于以机器可读的形式存储或传输信息的任何存储设备、机制或其它物理结构(例如,易失性或非易失性存储器、介质盘、或其它介质设备)。
在附图中,可以以特定的布置和/或顺序示出一些结构或方法特征。然而,应当理解,可以不需要特定的布置和/或顺序。相反,在一些实施例中,可以以与所示出的示例性图中不同的方式和/或顺序布置这些特征。此外,在特定的图中包含结构或方法特征并不意味着暗示了在所有的实施例中均需要这一特征,并且在一些实施例中,可能不包括或可与其它特征相结合。
现参照图1,用于对经加密的数据进行重复删除的系统100包括一个或多个计算设备102、网络104、内容数据服务器106、和密钥服务器108。在使用中,如以下更详细地讨论的,计算设备102可存储和/或从内容数据服务器106取回经加密的数据。此外,内容数据服务器106和密钥服务器108协同工作,以对存储的经加密的数据进行重复删除。尽管图1中仅示例性地示出了一个网络104、一个内容数据服务器106、和一个密钥服务器108,但系统100可包括任何数量的网络104、内容数据服务器106、和密钥服务器108。此外,如图所示,系统100可以包括一个、两个、或更多个计算设备102。在一些实施例中,计算设备102被实施为社区(例如,公司、单位、家庭或其它集体实体)中的成员设备(或简称“成员”)。根据实施方式可以以各种方式建立社区成员资格。例如,在一些实施例中,内容数据服务器106和/或密钥服务器108确定哪个计算设备102可以是社区的成员。在另一实施例中,在确定成员资格中(例如,由内容数据服务器106和/或密钥服务器108)可建立白名单和/或黑名单。如以下所讨论的,社区中的成员计算设备102共享在重复删除系统100中所使用的社区密码密钥。
计算设备102中的每个可被实施为能够建立与内容数据服务器106和密钥服务器108的通信链路并且执行本文所描述的功能的任何类型的计算设备。例如,计算设备102可以被实施为蜂窝式电话、智能电话、平板计算机、膝上型计算机、个人数字助理、移动互联网设备、台式计算机、服务器和/或任何其它计算/通信设备。在一些实施例中,计算设备102可以被实施为加密装置(例如,由机构所使用的用于备份到云供应商而不是特定设备的装置)。如图1所示,示例性计算设备102包括处理器110、输入/输出(“I/O”)子系统112、存储器114、通信电路118、一个或多个外围设备120、数据存储设备122、和安全引擎124。当然,在其它实施例中,计算设备102可包括其它或另外的组件,例如在典型的在计算设备中常见的那些组件(例如,各种输入/输出设备)。另外,在一些实施例中,示例性组件中的一个或多个可被并入到或以其它方式形成另一组件的一部分。例如,在一些实施例中,存储器114或其一部分可被并入到处理器110中。在另一实施例中,安全引擎124被并入到通信电路118中。
处理器110可被实施为能够执行本文所描述功能的任何类型的处理器。例如,处理器可被实施为单核或多核处理器、数字信号处理器、微控制器、或其它处理器或处理/控制电路。类似地,存储器114可被实施为能够执行本文所描述功能的任何类型的易失性或非易失性存储器或数据存储设备。在操作中,存储器114可以存储计算设备102运行期间所使用的各种数据和软件,例如操作系统、应用程序、程序、库、和驱动程序。在一些实施例中,存储器114包括安全存储器116。安全存储器116可以是例如存储器114的安全分区,或者可独立于存储器114。另外,安全存储器116可以存储私有或安全密码密钥。存储器114经由I/O子系统112通信地耦合到处理器110,I/O子系统112可被实施为便于与处理器110、存储器114、以及计算设备102的其它组件的输入/输出操作的电路和/或组件。例如,I/O子系统112可被实施为或以其它方式包括存储器控制器集线器、输入/输出控制集线器、固件设备、通信链路(即,点对点链路、总线链路、电线、电缆、光导、印刷电路板迹线等)和/或便于输入/输出操作的其它组件和子系统。在一些实施例中,I/O子系统112可形成片上系统(SoC)的一部分,并与处理器110、存储器114、和计算设备102的其它组件一起并并入到单个集成电路芯片上。
计算设备102的通信电路118可被实施为能够使能经由网络104在计算设备102与其它远程装置(例如,内容数据服务器106和密钥服务器108)之间的通信的通信电路、设备、或其组合。通信电路118可被配置为使用任何一种或多种通信技术(例如,无线或有线通信)和相关联的协议来实现这种通信。在一些实施例中,通信电路118被实施为网络接口卡(NIC)。此外,在一些实施例中,本文所描述功能中的一个或多个功能可被卸载到通信电路118或NIC。
计算设备102的外围设备120可以包括任意数量的另外的外围设备或接口设备。外围设备120中所包括的特定的设备可以取决于,例如,计算设备102的类型和/或预期的用途。数据存储设备122可被实施为被配置为用于短期或长期存储数据的任何类型的一个或多个设备,例如,存储器设备和电路、存储卡、硬盘驱动器、固态驱动器、或其它数据存储设备。
如以下更详细讨论的,安全引擎124被配置为执行计算设备102的各种安全和密码功能。安全引擎124可被实施为分离于处理器110的安全协处理器或类似设备。在这种实施例中,安全引擎124可以相对于处理器110的带外方式来运行(例如,安全引擎124可独立于处理器110的功率状态而运行,包括与远程设备进行通信)。在其它实施例中,安全引擎124可被实施为或以其它方式包括被并入到处理器110的密码加速器或独立的密码软件/固件中。此外,安全引擎124和/或通信电路118可被配置为用于利用远程设备执行标准认证和访问控制协议。
网络104可被实施为任何数量的各种有线和/或无线电信网络。因此,网络104可以包括一个或多个网络、路由器、交换机、计算机、和/或其它中间设备。例如,网络104可被实施为或以其它方式包括一个或多个蜂窝网络、电话网、局域网或广域网、可公开获得的全球网络(例如,互连网、或者它们的任意组合。
内容数据服务器106和密钥服务器108均可被实施为能够执行本文所描述功能的任何类型的计算设备或服务器。例如,在一些实施例中,内容数据服务器106和/或密钥服务器108可类似于上述的计算设备102。即,内容数据服务器106和密钥服务器108可被实施为企业级服务器计算机、台式计算机、膝上型计算机、平板计算机、蜂窝电话、智能电话、个人数字助理、移动互联网设备、和/或任何其它计算/通信设备。此外,内容数据服务器106和/或密钥服务器108可包括与以上所讨论的计算设备102的组件类似的组件。对计算设备102的这些组件的描述同样适用于对内容数据服务器106和密钥服务器108的组件的描述,为清楚起见,在此不再重复。此外,应当理解,内容数据服务器106和/或密钥服务器108可包括未在上文中参照计算设备102讨论的并且为清楚起见未在本文中讨论的在计算设备或服务器中常见的其它组件、子组件、和设备。
如图1所示,示例性内容数据服务器106包括经加密的块150、经散列的块152、和成员标识(ID)154。另外,密钥服务器108包括解密密钥156、经散列的块152、和成员标识154。如以下详细讨论的,计算设备102可对要存储在系统100中的文件进行加密并生成该文件的块的散列,并将经加密的块150和经散列的块152两者传输给内容数据服务器106。此外,在一些实施例中,社区中的每一个计算设备102均具有唯一的成员标识,该成员标识被传输到内容数据服务器106和密钥服务器108。如以下更详细地讨论的,计算设备102中的每个还具有用于对数据块进行加密的文件加密和解密密钥。在一些实施例中,文件解密密钥也被传输给密钥服务器108。
如以下更详细地讨论的,系统100允许在通过加密所给予的安全性与通过重复数据删除所提供的益处之间的平衡。系统100在社区成员之间建立信任关系,并且允许利用社区以未经授权的或不期望的数据暴露的最小风险来对内容进行重复删除。
现参照图2,在使用中,系统100的每个计算设备102建立环境200,以用于在内容数据服务器106上存储内容以及从内容数据服务器106中取回内容。示例性实施例中的环境200包括文件管理模块202、密码模块204、通信模块206、和安全存储器116。文件管理模块202、密码模块204、和通信模块206中的每一个均可被实施为硬件、软件、固件、或其组合。
文件管理模块202执行文件解构、重构、压缩、解压缩、和其它文件管理功能。例如,文件管理模块202可将存储在内容数据服务器106上的给定文件(例如,数字文件)碎片化以其它方式破坏成一个或多个块或簇(chunk)。例如,该文件可被实施为数字文件、程序或应用程序、代码或数据的原子部分,或其它合适的数据结构。在一些实施例中,文件管理模块202被配置为将文件碎片化为固定长度的块,而在其它实施例中,文件管理模块202可将文件碎片化为不同长度的块。在固定长度块的情况下,块的大小可以由计算设备102和/或内容数据服务器106所建立的标准来规定。另外,文件管理模块202被配置为随后将碎片化的块组合成文件(即,碎片化的逆操作)。为便于块的适当组合或重构,当将文件碎片化时,文件管理模块202可以生成与原始文件相关联的块的列表。例如,在一个实施例中,文件管理模块202可将文件碎片化成块X、Y、和Z,随后将块X、Y、和Z存储在计算设备102中和/或内容数据服务器106上的存储器的非相邻部分中。因此,块的列表提供了用于为了重构的目的而标识与文件相关联的特定块和它们的正确顺序的机制。在示例性实施例中,块的列表包括属于该文件的块的经加密的散列列表,并且可包括其它信息(例如,它们的顺序)。如以下所讨论的,计算设备102对每个块进行加密。由此,在另一实施例中,列表可与经加密的块和/或未加密的块相关联。
密码模块204执行安全和加密过程。在一些实施例中,密码模块204可访问存储在安全存储器116中的密码密钥(例如,成员密钥208、社区密钥210、和文件密钥212)。另外,密码模块204可生成密码密钥(即,文件密钥212)来对各个文件块进行加密和/或解密。在一些实施例中,密码模块204针对每个正被加密的文件“快速”生成分离的文件密钥212(或者如果使用非对称的密钥,则生成分离的密码密钥对)。例如,密码模块204使用文件加密密钥212对碎片化的文件的每个块进行加密,并使用成员加密密钥208对由文件管理模块202生成的块的列表进行加密。当然,密码模块204还可执行解密过程。每个成员密钥208被实施为与社区中的特定成员(即,特定的计算设备102)具体有关的密码密钥。社区密钥210是由系统100中的每个计算设备102所共享(即,由社区成员共享)的密钥。例如,在企业环境中的多个计算设备102可以是同一社区的成员,并且因此共享同一社区密钥210。当然,在一些实施例中,单个计算设备102可以是多个社区的成员,并且因此可保留多个社区密钥210。另外,应当理解,在各个实施例中,成员密钥208和社区密钥210中的每个可以是对称或非对称的密码密钥。当然,如果使用对称加密算法,则加密和解密密码密钥是相同的密钥。因此,文件密钥、成员密钥208和/或社区密钥210在下文中有时可被称为“加密”或“解密”密钥,其被理解为如果使用对称加密,则这些密钥可以是相同的密钥。
另外,密码模块204被配置为使用社区密钥210来生成每个块的经加密的散列。可以使用任何合适的散列函数和密钥方法。例如,在各个实施例中,安全散列算法(例如,SHA-0、SHA-1、SHA-2、SHA-3)或消息摘要算法(例如,MD5)可用作散列函数。例如,可通过执行涉及数据块和社区密钥210的某些操作并将操作的结果输入到散列函数中来生成经加密的散列。例如,在一个实施例中,可通过将社区密钥210串接或附接到数据块并将串接操作的结果用作散列函数的输入来生成经加密的散列。在另一实施例中,可在对数据进行散列之前,将逻辑异或(即,XOR)运算应用到数据块和社区密钥。在进一步的实施例中,可使用消息认证码(MAC)算法生成每个块的经加密的散列。当然,可使用基于社区密钥210的任何合适的经加密的散列生成方法。
应当理解,成员密钥208和社区密钥210可以通过任何合适的密钥分发机制分发到计算设备102。在一个实施例中,可使用密钥分发服务器(例如,内容数据服务器106、密钥服务器108、或其它密钥服务器)或Oracle来分发密钥。在另一实施例中,例如,可使用会议密钥分发系统建立社区密钥210。在一些实施例中,还可将文件密钥212从密钥分发服务器分发给计算设备102。
通信模块206通过网络104而处理计算设备102与远程设备(例如,内容数据服务器106和密钥服务器108)之间的通信。例如,在一些实施例中,通信模块206处理计算设备102与远程设备之间的安全和/或不安全的通信。如上述所讨论的,在一些实施例中,无论理器110的功率状态,通信模块206可为安全引擎124促成这种通信。
现参照图3,在使用中,系统100的每个计算设备102可执行用于在内容数据服务器106上存储内容的方法300。例如,计算设备102可在内容数据服务器106上存储内容以用于安全保护和以后取回(例如,在计算设备102上的数据丢失或损坏的情况下)。示例性方法300始于块302,其中计算设备102识别要存储在内容数据服务器106上的文件并将该文件碎片化成块。如以上所讨论的,计算设备102可将文件破碎为固定长度的块,其中块的长度/大小由内容数据服务器106建立。在块304中,计算设备102使用共享的社区密钥210生成每个块的经加密的散列。如以上所讨论的,只要社区密钥210用作散列函数的密钥,用于生成经加密的散列的任何合适的机制可被实现。
在块306中,计算设备102生成文件加密密钥212,并使用所选择的用于该文件的计算设备102的文件加密密钥212对每个块进行加密。如以上所讨论的,在一些实施例中,计算设备102“快速”生成文件加密密钥212(在非对称密码的情况下,还生成解密密钥)来对每个文件块进行加密。当然,在其它实施例中,可从一组先前生成的文件加密密钥212或从密钥分发服务器接收到的密钥中选择文件加密密钥212。在块306中,计算设备102生成属于碎片化的文件的块的列表。在示例性实施例中,该列表标识经散列的块(即,块304的输出)。如上述所讨论的,在一些实施例中,块的列表包括指示哪些块与碎片化的文件相关联,以及一旦被解密,块应该以什么顺序进行组合(即,放回到一起)的信息。在另一实施例中,所生成的列表标识未加密的块或经加密的块,而不是经散列的块。无论如何,在块310中,计算设备102利用成员加密密钥208对列表进行加密。在一些实施例中,在块312中,计算设备102还可利用成员加密密钥208对文件解密密钥进行加密,以增强安全性。
在块314中,计算设备102将经加密的块、每个块的经加密的散列、以及计算设备102的成员标识传输到内容数据服务器106。另外,在块316中,计算设备102将每个块的经加密的散列、计算设备102的文件解密密钥212、以及计算设备102的成员标识传输到密钥服务器108。如以上所讨论的,在一些实施例中,由计算设备102的成员加密密钥208进一步对传输到密钥服务器108的文件解密密钥212进行加密。当然,为提高效率,计算设备102可同时针对多个块传输上述信息。此外,例如,由于其它成员能够对经加密的文件解密密钥进行解密的期望,因此上文描述的方法和系统的一些实施例可仅由经验丰富的团队(例如,公司和组织)来实现。在一些实施例中,经验不够丰富的团队可在不进一步对文件解密密钥进行加密的情况下来实现所公开的技术。
如以下所讨论的,内容数据服务器106和密钥服务器108执行重复删除方法来确定是否要存储特定的经加密的块和文件解密密钥212,或确定是否要将计算设备102的成员ID与已存储的经加密的散列相关联(例如,如果特定块的经加密的散列与已存储的经加密的散列相匹配)。在块318中,根据特定的实现(例如,哪个设备存储哪种类型的数据),计算设备102将与文件相关联的块的经加密的列表传输到内容数据服务器106和/或密钥服务器108。当然,在一些实施例中,可在数据的加密之前使用与本文所描述的类似的那些方法来实现客户端的重复删除。
现参照图4,在使用中,系统100的每个计算设备102可执行用于从内容数据服务器106取回内容的方法400。方法400开始于块402,其中,计算设备102确定文件是否已被请求。应当理解,在一些实施例中,计算设备102只能够取回先前存储在内容数据服务器106上的文件。如果计算设备102已从内容数据服务器106请求了文件,则在块404中,计算设备102可从内容数据服务器106接收与所请求的文件相关联或对应的块的经加密的列表。当然,在列表存储在本地并且数据未丢失(例如,由于损坏或自然灾害)的实施例中,计算设备102可从存储器114或数据存储设备122取回该列表。在块306中(参见图3)计算设备102生成仅标识碎片化的文件的未加密的块的列表的实施例中,内容数据服务器106可生成与每个文件相关联的经加密的块的列表,这是由于首先从计算设备102中的一个接收到经加密的块。在块406中,计算设备102使用其成员解密密钥208对块的列表进行解密。如以上所讨论的,计算设备102可从块的列表中确定哪些块与所期望的文件相关联。
在块408中,计算设备102确定是否已请求与所期望的文件相关联的块。如果计算设备102已请求与所期望的文件相关联的数据块,则在块410中,计算设备102可从内容数据服务器106接收相应的经加密的块、经加密的散列、和成员ID(即,将每个特定的经加密的块存储到内容数据服务器106的计算设备102的成员ID)。如以下所讨论的,内容数据服务器106将特定的经加密的散列和成员ID与特定的经加密的块相关联。类似地,密钥服务器108将特定的经加密的散列和成员ID与一个特定的文件解密密钥212相关联。在块412中,计算设备102从密钥服务器108请求与每个经加密的块相关联的文件解密密钥212。这样,在块414中,计算设备102为密钥服务器108提供从内容数据服务器106接收的针对每个所请求的块的经加密的散列和成员ID。如上所述,已使用由计算设备102中的一个所生成的文件加密密钥212对存储在内容数据服务器106上的每个块进行加密。因此,对应的文件解密密钥212可用于对经加密的块进行解密。如上所述,如果使用对称加密,则文件加密密钥212和文件解密密钥212可为相同的密钥。在一些实施例中,当请求对应的文件解密密钥212时,计算设备102仅向密钥服务器108传输经加密的散列。
如以上所讨论的,在一些实施例中,文件解密密钥212可进一步被首先在内容数据服务器106上存储经加密的块的计算设备102的成员加密密钥208加密(参见图3中的块310)。在这种实施例中,如果任何文件解密密钥是由不同的计算设备102的成员加密密钥208加密的(即,由于重复删除),则在没有其它计算设备102的成员加密密钥208的情况下,访问该经加密块的计算设备102无法对其解密,并且因此无法对文件块解密,因此,在块416中,计算设备102可从对应的成员设备请求协助以对加密的文件解密密钥进行解密。在一个实施例中,计算设备102向对应的成员设备传输经加密的文件解密密钥212,该成员设备使用成员的私有成员解密密钥208对经加密的文件解密密钥212进行解密,并且该成员设备将经解密的文件解密密钥212传输到计算设备102,以供对该经加密的文件块进行解密使用。当然,该计算设备102可以以其它方式请求对应的成员设备来转发经加密的文件解密密钥212的经解密的版本。
在块418中,计算设备102使用从密钥服务器108接收的对应的文件解密密钥212对每个经加密的块进行解密。如上所述,在文件解密密钥212进一步被成员加密密钥208加密的实施例中,计算设备102必须使用对应的成员解密密钥208对文件解密密钥212进行解密,以便使用文件解密密钥212来对经加密的块进行解密。如果首先利用计算设备102将该经加密的块存储在内容数据服务器106上,则文件解密密钥212将在计算设备的102的成员加密密钥208下进行加密。在那些情况下,计算设备102可简单地使用自身的成员解密密钥208以对文件解密密钥212进行解密。然而,在一些实施例中,可已经利用成员设备而不是计算设备102的成员加密密钥208对文件解密密钥212进行了加密。因此,计算设备102可从该成员设备请求文件解密密钥212的经解密的版本(例如,通过发送经加密的文件解密密钥212以供由成员设备进行解密)。
此外,在一些实施例中,在块420中,计算设备102可验证经解密的块的完整性。为此,计算设备102使用社区密钥210生成每个经解密的块的经加密的散列(即,参考经加密的散列)。然后计算设备102将所生成的密钥散列与在块410从内容数据服务器106接收的经加密的散列进行比较。如果经加密的散列匹配,则经解密的数据块是真实的并且未被改变。在块422中,计算设备102将经解密的块进行组合以获得重构的和期望的文件。
现参照图5,在使用中,内容数据服务器106可执行用于对经加密内容进行重复删除的方法500。方法500始于方块502,其中内容数据服务器106确定成员设备102是否已传输文件信息以供存储在内容数据服务器106上。在一些实施例中,内容数据服务器106确定计算设备102是否已提供在内容数据服务器106上存储经加密的块所需的适当信息(即,经加密的块、相关联的经加密的散列、相关联的成员ID,以及可能的经加密的列表)。如上所述,成员设备102将文件碎片化为块并对文件的每个块进行加密。如果已接收到文件信息,则在块504中,内容数据服务器106访问文件的下一个经加密的块和相关联的经加密的散列以及成员ID。
在块506中,内容数据服务器106将接收的到经加密的散列与其它所存储的经加密的散列(即,存储在内容数据服务器106上)进行比较。如果在块508中未找到匹配,则在块510中,内容数据服务器106将接收到的经加密的块、经加密的散列、以及成员ID存储在内容数据服务器106上。在一些实施例中,内容数据服务器106还将经加密的散列、成员ID、以及经加密的块相互关联。然而,如果在块508中找到匹配,则在块512中,内容数据服务器106将计算设备102的成员ID与现有经加密的块和经加密的散列(即,匹配的经加密的散列)相关联。即,在一些实施例中,内容数据服务器106追踪哪些成员(例如,使用这些成员的成员ID)已储存或试图存储与特定的经加密的散列相关联的经加密的块(例如,使用列表或另一追踪机制)。
换句话说,如果内容数据服务器106上还未存储匹配的经加密的散列,则仅存储接收到的经加密的块、经加密的散列、和成员ID。如果内容数据服务器106上已存储有匹配的经加密的散列,则采用重复删除机制。由于经加密的散列匹配,未加密的块是相同的具有压倒性的概率。因此,内容数据服务器106将计算设备102的成员ID与已存储的经加密的块和经加密的散列进行关联或将计算设备102的成员ID映射到已存储的经加密的块和经加密的散列,而不是存储重复的信息。在这种情况下,使用不同的计算设备102的成员加密密钥208(即,由首先在内容数据服务器106上存储特定的经加密的块的计算设备所生成的文件加密密钥212)对所存储的经加密的块进行加密。需要首先存储经加密的块的成员的成员编号来识别哪些成员设备与适当的成员解密密钥208相对应,以对文件解密密钥212进行解密,如本文所讨论的。应当理解,内容数据服务器106可以使用任何合适的数据结构(例如,表格)来经加密的散列、经加密的块、和成员ID组织起来或彼此关联。
在块514中,内容数据服务器106确定是否留有另外的经加密的块。即,内容数据服务器106确定与文件信息中所标识的每个经加密的块相关联的经加密的散列已从传输该文件的成员设备102进行存储,还是先前从另一件设备102的文件存储设备存储在内容数据服务器106上。如果还留有另外的经加密的块,则方法500返回到块504,在块504中,内容数据服务器106取回文件的下一经加密的块,经加密的散列、以及成员ID。然而,如果在块514中内容数据服务器106确定文件信息中所标识的所有经加密的块已被存储在内容数据服务器106上,则在块516中,内容数据服务器106存储块的列表。应当理解,本文所描述的方法同样适用于在其中内容数据服务器106仅接收与文件相关的块的一部分以供存储的实施例。
现参照图6,在使用中,密钥服务器108可执行用于对密码密钥进行重复删除的方法600。方法600开始于块602,其中密钥服务器108确定是否已从计算设备102接收到经加密的散列、成员ID、和文件解密密钥212。如果接收到,则已经传输由于在密钥服务器108上存储密钥的必备信息,并且在块604中,密钥服务器108将接收到的经加密的散列与存储在密钥服务器108上的其它经加密的散列进行比较。
与方法500类似,在块606中,如果接收到的经加密的散列和所存储的经加密的散列之间的匹配(即,它们是相同的散列)未被找到,则在块608中,密钥服务器108在密钥服务器108上存储接收到的经加密的散列、文件解密密钥212、和成员ID,并将每个接收到的信息彼此关联。然而,如果在块606中找到匹配,则在一些实施例中,在块610中,将计算设备102的成员ID与现有的文件解密密钥212和经加密的散列(即,匹配的经加密的散列)相关联,而不存储重复信息。在另一实施例中,在匹配的情况下,密钥服务器108上不存储任何东西。应当理解,密钥服务器108可使用任何合适的数据结构将经加密的散列、成员ID、和文件解密密钥组织起来或彼此关联。
现参照图7,在使用中,内容数据服务器106可执行用于向计算设备102提供所请求的内容的方法700。方法700开始于块702,其中内容数据服务器106确定计算设备102中的一个是否已从内容数据服务器106请求内容。如果是,则在块704,内容数据服务器106验证计算设备102被授权访问所请求的内容(即,所请求的经加密的块)。这样,在一些实施例中,在块706中,内容数据服务器106将计算设备102的成员ID与针对每个所请求的经加密的块的相关联的成员ID的列表进行比较。如以上所讨论的,在一些实施例中,内容数据服务器106为每个经加密的块保留针对将对应的经加密的散列存储或尝试存储到内容数据服务器106上的每个成员设备的成员ID列表。因此,该列表指示计算设备102具有与经加密的块相关联的经解密的数据的先前“所有权”。当然,在其它实施例中,可采用其它方式来确定特定的成员是否被授权访问经加密的块。例如,在一些实施例中,可执行标准认证和访问控制协议(例如,在块702之前)。在块708中,内容数据服务器106确定访问是否被授权。如果是,则在块710中,内容数据服务器106向请求的计算设备102(即,成员设备)传输或以其它方式提供所请求的经加密的块、与所请求的经加密的块相关联的经加密的散列、以及与所请求的经加密的块相关联的成员ID。当然,与最初向内容数据服务器106传输块的计算设备102不同的计算设备102可请求一个特定的数据块。
现参照图8,在使用中,密钥服务器108可执行用于向计算设备102提供所请求的密钥的方法800。方法800开始于块802,其中密钥服务器108确定计算设备102中的一个是否已从密钥服务器108请求文件解密密钥212。如果是,则在块804中,密钥服务器108接收与所期望的文件解密密钥212相关联的经加密的散列和成员ID。在块806中,密钥服务器108向请求的计算设备102(即,成员设备)传输或以其它方式提供与所提供的经加密的散列和成员ID相关联的所请求的文件解密密钥212。另外,在一些实施例中,密钥服务器108执行与内容数据服务器106的方法类似的方法,也来验证请求的计算设备102被授权访问所请求的文件解密密钥212(见图7中的块704)。如上所述,请求的计算设备102可将文件解密密钥212应用于从内容数据服务器106接收到的经加密的块,以对经加密的数据块进行解密。然后,可重构该经解密的块以生成所期望的文件。当然,在文件解密密钥212进一步被成员加密密钥208加密的实施例中,计算设备102可使用那些设备的成员ID来请求它们对应的成员解密密钥208。
示例
以下提供了本文所公开的技术的示例性示例。这些技术的实施例可包括以下所描述的任意一个或多个示例以及其任意组合。
示例1包括一种用于在重复数据删除系统中的内容数据服务器上存储内容的计算设备,所述计算设备包括密码模块,其用于(i)使用由所述计算设备生成的文件加密密钥对碎片化的文件的每个块进行加密,(ii)使用社区密钥生成每个块的经加密的散列,以及(iii)使用所述计算设备的成员加密密钥对文件解密密钥进行加密;以及通信模块,其用于向内容数据服务器传输每个经加密的块、每个块的经加密的散列、以及标识计算设备的成员标识;并向密钥服务器传输每个块的所述经加密的散列、经加密的文件解密密钥、以及所述成员标识。
示例2包括示例1的主题,并进一步包括文件管理模块以用于将所述计算设备的文件碎片化以生成所述碎片化的文件的每个块。
示例3包括示例1和2中的任意一个的主题,并进一步包括文件管理模块以用于生成与属于所述碎片化的文件的每个块相关联的每个经加密的散列的列表。
示例4包括示例1-3中的任意一个的主题,并且其中所述密码模块用于使用所述成员加密密钥对所述列表进行加密;并且所述通信模块用于向所述内容数据服务器和所述密钥服务器中的至少一个传输经加密的列表。
示例5包括示例1-4中的任意一个的主题,并且其中所述经加密的散列包括经加密的安全散列算法(keyed secure hash algorithm,SHA)。
示例6包括示例1-5中的任意一个的主题,并且其中所述文件加密密钥和所述文件解密密钥是相同的对称密码密钥。
示例7包括一种用于从重复数据删除系统中的内容数据服务器取回内容的计算设备,所述计算设备包括通信模块,所述通信模块用于从所述内容数据服务器接收(i)碎片化的文件的经加密的块、(ii)与每个经加密的块相关联的经加密的散列、以及(iii)针对每个经加密的块的成员标识,所述成员标识用于标识出先前将对应的经加密的块存储在所述内容数据服务器上的计算设备;响应于向密钥服务器传输与每个对应的经加密的块相关联的经加密的散列和成员标识,从所述密钥服务器接收针对所述经加密的块中的每个的经加密的文件解密密钥;将每个接收到的、利用与另一成员设备而不是所述计算设备相对应的成员加密密钥进行加密的经加密的文件解密密钥传输到所述另一成员设备,以用于利用所述另一成员设备的成员解密密钥进行解密;并且从所述另一成员设备接收与每个接收到的、利用所述另一成员设备的所述成员加密密钥进行加密的经加密的文件解密密钥相对应的经解密的文件解密密钥;以及密码模块,其用于(i)利用所述计算设备的对应的成员解密密钥而对利用所述计算设备的成员加密密钥进行加密的每个经加密的文件解密密钥进行解密,并且(ii)使用与每个对应的经加密的块相关联的所述经解密的文件解密密钥而对所述经加密的块中的每个进行解密。
示例8包括示例7的主题,并且其中所述通信模块接收与所述碎片化的文件的经加密的块中的每个相关联的每个经加密的散列的经加密的列表;并且所述密码模块使用所述计算设备的所述成员解密密钥对所述经加密的列表进行解密。
示例9包括示例7和8中的任意一个的主题,并进一步包括文件管理模块,以通过基于经解密的列表而将所述经解密的块进行组合来生成文件。
示例10包括示例7-9中的任意一个的主题,并且其中所述密码模块使用社区密钥生成所述经解密的块中的每个的参考经加密的散列;并将所述经解密的块中的每个的所述参考经加密的散列和接收到的、与所述经加密的块中的每个相关联的经加密的散列进行比较,来验证每个块的完整性。
示例11包括一种用于在重复数据删除系统中的内容数据服务器上存储内容的方法,所述方法包括利用计算设备、使用由所述计算设备生成的文件加密密钥对碎片化的文件的每个块进行加密;使用社区密钥在所述计算设备上生成每个块的经加密的散列;使用所述计算设备的成员加密密钥在所述计算设备上对文件解密密钥进行加密;从所述计算设备向所述内容数据服务器传输(i)每个经加密的块、(ii)每个块的经加密的散列、以及(iii)标识所述计算设备的成员标识;并且从所述计算设备向密钥服务器传输(i)每个块的经加密的散列、(ii)经加密的文件解密密钥、以及(iii)成员标识。
示例12包括示例11的主题,并进一步包括在所述计算设备上将所述计算设备的文件碎片化以生成碎片化的文件的每个块。
示例13包括示例11和12中的任意一个的主题,并进一步包括在所述计算设备上生成与属于所述碎片化的文件的每个块相关联的每个经加密的散列的列表。
示例14包括示例11-13中的任意一个的主题,并进一步包括使用所述成员加密密钥在所述计算设备上对所述列表进行加密;并且从所述计算设备向所述内容数据服务器和所述密钥服务器中的至少一个传输经加密的列表。
示例15包括示例11-14中的任意一个的主题,并且其中生成所述经加密的散列包括使用所述社区密钥生成每个块的经加密的密钥安全散列算法(SHA)。
示例16包括示例11-15中的任意一个的主题,并且其中所述文件加密密钥和所述文件解密密钥是相同的对称密码密钥。
示例17包括一种计算设备,其包括处理器;以及其中存储有多个指令的存储器,当由所述处理器执行这些指令时,使得所述计算设备执行的示例11-16中的任意一个的方法。
示例18包括一种或多种机器可读存储介质,其包括存储于其上的多个指令,响应于所述指令被执行,导致计算设备中执行示例11-16中的任意一个的方法。
示例19包括一种用于从重复数据删除系统中的内容数据服务器取回内容的方法,所述方法包括利用计算设备并从所述内容数据服务器接收(i)碎片化的文件的经加密的块、(ii)与经加密的块中的每个相关联的经加密的散列、以及(iii)针对每个经加密的块的成员标识,所述成员标识标识先前将对应经加密的块存储在所述内容数据服务器上的计算设备;响应于向密钥服务器传输与每个对应的经加密的块相关联的所述经加密的散列和所述成员标识,利用所述计算设备从所述密钥服务器接收针对所述经加密的块中的每个的经加密的文件解密密钥;利用计算设备将每个接收到的、利用与另一成员设备而不是所述计算设备相对应的成员加密密钥进行加密的经加密的文件解密密钥传输到所述另一成员设备,以用于利用所述另一成员设备的成员解密密钥进行解密;利用所述计算设备并从所述另一成员设备接收与每个接收到的、利用所述另一成员设备的所述成员加密密钥进行加密的经加密的文件解密密钥相对应的经解密的文件解密密钥;在所述计算设备上,利用所述计算设备的对应的成员解密密钥对利用所述计算设备的成员加密密钥进行加密的每个经加密的文件解密密钥进行解密,在所述计算设备上,使用与每个对应的经加密的块相关联的经解密的文件解密密钥对经加密的块中的每个进行解密。
示例20包括示例19的主题,并进一步包括利用所述计算设备接收与所述碎片化的文件的经加密的块中的每个相关联的每个经加密的散列的经加密的列表;并且在所述计算设备上使用所述计算设备的所述成员解密密钥对所述经加密的列表进行解密。
示例21包括示例19和20中的任意一个的主题,并进一步包括通过基于经解密的列表将经解密的块进行组合来生成文件。
示例22包括示例19-21中的任意一个的主题,并进一步包括使用所述社区密钥在所述计算设备上生成经解密的块中的每个的参考经加密的散列;并且利用所述计算设备将所述经解密的块中的每个的参考经加密的散列和接收到的、与所述经加密的块中的每个相关联的经加密的散列进行比较,来验证每个块的完整性。
示例23包括一种计算设备,其包括处理器;以及其中存储有多个指令的存储器,当由所述处理器执行这些指令时,使得所述计算设备执行示例19-22中的任意一个的方法。
示例24包括一种或多种机器可读存储介质,其包括存储于其上的多个指令,响应于所述指令被执行,导致计算设备执行示例19-22中的任意一个的方法。
示例25包括一种用于对在重复数据删除系统中的内容数据服务器上的经加密的内容进行重复删除的方法,所述方法包括利用所述内容数据服务器从所述重复数据删除系统的第一成员设备接收(i)碎片化的文件的块的经加密的散列、(ii)所述块的经加密的版本、以及(iii)成员标识,所述成员标识用于标识所述第一成员设备;在所述内容数据服务器上将所述经加密的散列与存储在所述内容数据服务器上的其它经加密的散列进行比较;响应于所述经加密的散列与所存储的所述其它经加密的散列中的任意一个不匹配,在所述内容数据服务器上存储所述经加密的块、所述经加密的散列、和所述成员标识;响应于所述经加密的散列与所存储的经加密的散列相匹配,在所述内容数据服务器上将所述成员标识与所存储的经加密的块和经加密的散列相关联;响应于来自所述重复数据删除系统的第二成员设备的对于所述经加密块的请求,在所述内容数据服务器上确定所述第二成员设备是否被授权访问所述经加密块的块;并且响应于确定所述第二成员设备被授权访问所述经加密块的块,利用所述内容数据服务器提供所述经加密块的块、所述经加密的散列、以及所述成员标识。
示例26包括示例25的主题,并进一步包括存储与从所述第一成员设备接收到的所述碎片化的文件的每个经加密块的块相关联的每个经加密的散列的加密列表。
示例27包括示例25和26中的任意一个的主题,并且其中确定所述第二成员设备是否被授权访问所述经加密块的块包括将所述第二成员的成员标识与针对所述经加密的块的被授权的成员标识的列表进行比较。
示例28包括一种计算设备,其包括处理器;以及其中存储有多个指令的存储器,当由所述处理器执行这些指令时,使得所述计算设备执行示例25-27中的任意一个的方法。
示例29包括一种或多种机器可读存储介质,其包括存储于其上的多个指令,响应于所述指令对被执行,导致计算设备执行示例25-27中的任意一个的方法。
方法30包括一种用于对在重复数据删除系统的密码密钥服务器上重复删除密钥的方法,所述方法包括:利用密钥服务器并从重复删除系统的第一成员设备接收(i)利用所述第一成员设备的成员加密密钥进行加密的文件解密密钥、(ii)经加密的散列、以及(iii)来自重复删除系统的第一成员设备的成员标识,所述成员标识用于标识所述第一成员设备;在所述密钥服务器上将所述经加密的散列与存储在所述密钥服务器上的其它经加密的散列进行比较;响应于所述经加密的散列与所存储的所述其它经加密的散列中的任何一个不匹配,在所述密钥服务器上存储经加密的文件解密密钥、所述经加密的散列,以及所述成员标识;响应于来自所述重复删除系统的第二成员设备的对于所述经加密的文件解密密钥的请求,利用所述密钥服务器上提供与所述经加密的散列和所述成员标识相对应的所述经加密的文件解密密钥。
示例31包括示例30的主题,并进一步包括存储与从所述第一成员设备接收到的所述碎片化的文件的每个经加密的块相关联的每个经加密的散列的经加密的列表。
示例32包括示例30和31中的任意一个的主题,并进一步包括响应于所述经加密的散列与所存储的经加密的散列相匹配,在所述密钥服务器上将所述成员标识与所存储的经加密的文件解密密钥和经加密的散列相关联,其中,提供所述经加密的文件解密密钥是响应于确定所述第二成员设备的成员标识在针对所述加密的文件解密密钥的被授权的成员标识的列表上的。
示例33包括一种计算设备,其包括处理器;以及其中存储有多个指令的存储器,当由所述处理器执行这些指令时,使得所述计算设备执行示例30-32中的任意一个的方法。
示例34包括一种或多种机器可读存储介质,其包括存储于其上的多个指令,响应于所述多个指令被执行,导致计算设备执行示例30-32中的任意一个的方法。
示例35包括一种用于在重复数据删除系统中的内容数据服务器上存储内容的计算设备,所述计算设备包括用于使用由所述计算设备生成的文件加密密钥对碎片化的文件的每个块进行加密的单元;用于使用社区密钥生成每个块的经加密的散列的单元;用于使用所述计算设备的成员加密密钥对文件解密密钥进行加密的单元;用于向所述内容数据服务器传输(i)每个经加密的块、(ii)每个块的经加密的散列、以及(iii)标识出所述计算设备的成员标识的单元;以及用于向密钥服务器传输(i)每个块的所述经加密的散列、(ii)所述经加密的文件解密密钥、以及(iii)所述成员标识的单元。
示例36包括示例35的主题,并进一步包括用于将所述计算设备的文件碎片化以生成碎片化的文件的每个块的单元。
示例37包括示例35和36中的任意一个的主题,并进一步包括用于生成与属于所述碎片化的文件的每个块相关联的每个经加密的散列的列表的单元。
示例38包括示例35-37中的任意一个的主题,并进一步包括用于使用所述成员加密密钥对所述列表进行加密的单元;以及用于向所述内容数据服务器和所述密钥服务器中的至少一个传输经加密的列表的单元。
示例39包括示例35-38中的任意一个的主题,并且其中用于生成所述经加密的散列的单元包括用于使用所述社区密钥生成每个块的经加密的安全散列算法(SHA)的单元。
示例40包括示例35-39中的任意一个的主题,并且其中所述文件加密密钥和所述文件解密密钥是相同的对称密码密钥。
示例41包括一种用于从重复数据删除系统中的内容数据服务器取回内容的计算设备,所述计算设备包括用于从所述内容数据服务器接收(i)碎片化的文件的经加密的块、(ii)与所述经加密的块中的每个相关联的经加密的散列、以及(iii)针对每个经加密的块的成员标识的单元,所述成员标识用于标识先前将对应的经加密的块存储在所述内容数据服务器上的计算设备;用于响应于向密钥服务器传输与每个对应的经加密的块相关联的经加密的散列和成员标识,从所述密钥服务器接收针对所述经加密的块中的每个的经加密的文件解密密钥的单元;用于将每个接收到的、利用与另一成员设备而不是所述计算设备相对应的成员加密密钥进行加密的经加密的文件解密密钥传输到所述另一成员设备,以利用所述另一成员设备的成员解密密钥进行解密的单元;用于从所述另一成员设备接收与每个接收到的、利用所述另一成员设备的所述成员加密密钥进行加密的经加密的文件解密密钥相对应的经解密的文件解密密钥的单元;用于利用所述计算设备的对应的成员解密密钥对利用所述计算设备的成员加密密钥进行加密的每个经加密的文件解密密钥进行解密的单元;用于使用与每个对应的经加密的块相关联的所述经解密的文件解密密钥对所述经加密的块中的每个进行解密的单元。
示例42包括示例41的主题,并进一步包括用于接收与所述碎片化的文件的经加密的块中的每个相关联的每个经加密的散列的经加密的列表的单元;以及用于使用所述计算设备的所述成员解密密钥对所述经加密的列表进行解密的单元。
示例43包括示例41和42中的任意一个的主题,并进一步包括用于通过基于所述经解密的列表将经解密的块进行组合来生成文件的单元。
示例44包括示例41-43中的任意一个的主题,并进一步包括用于使用所述社区密钥生成所述经解密的块中的每个的参考经加密的散列的单元;以及用于将所述经解密的块中的每个的所述参考经加密的散列和接收到的、与所述经加密的块中的每个相关联的经加密的散列进行比较,来验证每个块的完整性的单元。
示例45包括一种用于对经加密的内容进行重复删除的重复删除系统的计算设备,所述计算设备包括用于从所述重复删除系统的第一成员设备接收(i)碎片化的文件的块的经加密的散列、(ii)所述块的经加密的版本、以及(iii)成员标识的单元,所述成员标识用于标识所述第一成员设备;用于将所述经加密的散列与存储在所述内容数据服务器上的其它经加密的散列进行比较的单元;用于响应于所述经加密的散列与所存储的所述其它经加密的散列中的任何一个不匹配,存储所述经加密的块、所述经加密的散列、和所述成员标识的单元;用于响应于所述经加密的散列与所存储的经加密的散列相匹配,将所述成员标识与所存储的经加密的块和经加密的散列相关联的单元;用于响应于来自所述重复删除系统的第二成员设备的对所述经加密的块的请求,确定所述第二成员设备是否被授权访问所述经加密的块的单元;以及用于响应于确定所述第二成员设备被授权访问所述经加密的块,提供所述经加密的块、所述经加密的散列、以及所述成员标识的单元。
示例46包括示例45的主题,并进一步包括用于存储与从所述第一成员设备接收到的所述碎片化的文件的每个经加密的块相关联的每个经加密的散列的经加密的列表的单元。
示例47包括示例45和46中的任意一个的主题,并且其中用于确定所述第二成员设备是否被授权访问所述经加密的块的单元包括用于将所述第二成员的成员标识与所述经加密的块的被授权的成员标识的列表进行比较的单元。
示例48包括一种用于对密码密钥进行重复删除的重复数据删除系统的计算设备,所述计算设备包括用于从所述重复删除系统的第一成员设备接收以下的单元:(i)利用所述第一成员设备的成员加密密钥进行加密的文件解密密钥、(ii)经加密的散列、以及(iii)来自所述重复删除系统的第一成员设备的成员标识,所述成员标识用于标识所述第一成员设备;用于将所述经加密的散列与存储在所述密钥服务器上的其它经加密的散列进行比较的单元;用于响应于所述经加密的散列与其它所存储的经加密的散列中的任何一个不匹配,存储经加密的文件解密密钥、所述经加密的散列,以及所述成员标识的单元;以及用于响应于来自所述重复删除系统的第二成员设备的对所述经加密的文件解密密钥的请求,提供与所述经加密的散列和所述成员标识相对应的所述经加密的文件解密密钥的单元。
示例49包括示例48的主题,并进一步包括用于存储与从所述第一成员设备接收的所述碎片化的文件的每个经加密的块相关联的每个经加密的散列的经加密的列表的单元。
示例50包括示例48和49中的任意一个的主题,并进一步包括用于响应于所述经加密的散列与所存储的经加密的散列相匹配,将所述成员标识身与所存储的经加密的文件解密密钥和经加密的散列相关联的单元,其中提供所述经加密的文件解密密钥是响应于确定所述第二成员设备的成员标识在针对所述加密的文件解密密钥的被授权的成员标识的列表上的。

Claims (27)

1.一种用于在重复数据删除系统中的内容数据服务器上存储内容的计算设备,所述计算设备包括:
密码模块,其用于(i)使用由所述计算设备生成的文件加密密钥对碎片化的文件的每个块进行加密,(ii)使用社区密钥生成每个块的经加密的散列,以及(iii)使用所述计算设备的成员加密密钥对文件解密密钥进行加密,其中,所述社区密钥是由所述重复数据删除系统的多个计算设备共享的密码密钥;以及
通信模块,其用于:
向所述内容数据服务器传输每个经加密的块、每个块的所述经加密的散列、以及用于标识所述计算设备的成员标识;并且
向密钥服务器传输每个块的所述经加密的散列、经加密的文件解密密钥、以及所述成员标识。
2.根据权利要求1所述的计算设备,进一步包括文件管理模块以用于将所述计算设备的文件碎片化来生成所述碎片化的文件的每个块。
3.根据权利要求1所述的计算设备,进一步包括文件管理模块以用于生成与属于所述碎片化的文件的每个块相关联的每个经加密的散列的列表。
4.根据权利要求3所述的计算设备,其中:
所述密码模块用于使用所述成员加密密钥对所述列表进行加密;并且
所述通信模块用于向所述内容数据服务器和所述密钥服务器中的至少一个传输经加密的列表。
5.根据权利要求1所述的计算设备,其中所述文件加密密钥和所述文件解密密钥是相同的对称密码密钥。
6.一种用于从重复数据删除系统中的内容数据服务器取回内容的计算设备,所述计算设备包括:
通信模块,其用于:
从所述内容数据服务器接收(i)碎片化的文件的经加密的块、(ii)与所述经加密的块中的每个相关联的经加密的散列、以及(iii)针对每个经加密的块的成员标识,所述成员标识用于标识先前已将对应的经加密的块存储在所述内容数据服务器上的计算设备,其中,与所述经加密的块中的每个相关联的经加密的散列是使用社区密钥生成的,所述社区密钥是由所述重复数据删除系统的多个计算设备共享的密码密钥;
响应于向密钥服务器传输与每个对应的经加密的块相关联的所述经加密的散列和所述成员标识,从所述密钥服务器接收针对所述经加密的块中的每个的经加密的文件解密密钥;
将每个接收到的、利用与另一成员设备而不是所述计算设备相对应的成员加密密钥进行加密的经加密的文件解密密钥传输到所述另一成员设备,以用于利用所述另一成员设备的成员解密密钥进行解密;并且
从所述另一成员设备接收与每个接收到的、利用所述另一成员设备的所述成员加密密钥进行加密的经加密的文件解密密钥相对应的经解密的文件解密密钥;以及
密码模块,其用于(i)利用所述计算设备的对应的成员解密密钥而对利用所述计算设备的成员加密密钥进行加密的每个经加密的文件解密密钥进行解密,并且(ii)使用与每个对应的经加密的块相关联的所述经解密的文件解密密钥而对所述经加密的块中的每个进行解密。
7.根据权利要求6所述的计算设备,其中:
所述通信模块接收与每个所述碎片化的文件的经加密的块相关联的每个经加密的散列的经加密的列表;并且
所述密码模块使用所述计算设备的所述成员解密密钥对所述经加密的列表进行解密。
8.根据权利要求7所述的计算设备,进一步包括文件管理模块以通过基于经解密的列表而将经解密的块进行组合来生成文件。
9.根据权利要求6所述的计算设备,其中所述密码模块用于:
使用所述社区密钥生成经解密的块中的每个的参考经加密的散列;
将所述经解密的块中的每个的所述参考经加密的散列和接收到的、与所述经加密的块中的每个相关联的经加密的散列进行比较,来验证每个块的完整性。
10.一种用于在重复数据删除系统中的内容数据服务器上存储内容的方法,所述方法包括:
利用计算设备、使用由所述计算设备生成的文件加密密钥对碎片化的文件的每个块进行加密;
使用社区密钥在所述计算设备上生成每个块的经加密的散列,所述社区密钥是由所述重复数据删除系统的多个计算设备共享的密码密钥;
使用所述计算设备的成员加密密钥在所述计算设备上对文件解密密钥进行加密;
从所述计算设备向所述内容数据服务器传输(i)每个经加密的块、(ii)每个块的经加密的散列、以及(iii)标识所述计算设备的成员标识;并且
从所述计算设备向密钥服务器传输(i)每个块的所述经加密的散列、(ii)经加密的文件解密密钥、以及(iii)所述成员标识。
11.根据权利要求10所述的方法,进一步包括在所述计算设备上将所述计算设备的文件碎片化以生成所述碎片化的文件的每个块。
12.根据权利要求10所述的方法,进一步包括在所述计算设备上生成与属于所述碎片化的文件的每个块相关联的每个经加密的散列的列表。
13.根据权利要求12所述的方法,进一步包括:
使用所述成员加密密钥在所述计算设备上对所述列表进行加密;并且从所述计算设备向所述内容数据服务器和所述密钥服务器中的至少一个传输经加密的列表。
14.根据权利要求10所述的方法,其中所述文件加密密钥和所述文件解密密钥是相同的对称密码密钥。
15.一种机器可读存储介质,其包括存储在其上的多个指令,响应于所述多个指令被执行,导致计算设备执行权利要求10-14中的任意一项所述的方法。
16.一种用于从重复数据删除系统中的内容数据服务器取回内容的方法,所述方法包括:
利用计算设备并从所述内容数据服务器接收(i)碎片化的文件的经加密的块、(ii)与所述经加密的块中的每个相关联的经加密的散列、以及(iii)针对每个经加密的块的成员标识,所述成员标识用于标识先前已将对应的经加密的块存储在所述内容数据服务器上的计算设备,其中,与所述经加密的块中的每个相关联的经加密的散列是使用社区密钥生成的,所述社区密钥是由所述重复数据删除系统的多个计算设备共享的密码密钥;
响应于向密钥服务器传输与每个对应的经加密的块相关联的所述经加密的散列和所述成员标识,利用所述计算设备从所述密钥服务器接收针对所述经加密的块中的每个的经加密的文件解密密钥;
利用所述计算设备将每个接收到的、利用与另一成员设备而不是所述计算设备相对应的成员加密密钥进行加密的经加密的文件解密密钥传输到所述另一成员设备,以用于利用所述另一成员设备的成员解密密钥进行解密;
利用所述计算设备并从所述另一成员设备接收与每个接收到的、利用所述另一成员设备的所述成员加密密钥进行加密的经加密的文件解密密钥相对应的经解密的文件解密密钥;
在所述计算设备上,利用所述计算设备的对应的成员解密密钥对利用所述计算设备的成员加密密钥进行加密的每个经加密的文件解密密钥进行解密;
在所述计算设备上,使用与每个对应的经加密的块相关联的经解密的文件解密密钥对经加密的块中的每个进行解密。
17.根据权利要求16所述的方法,进一步包括:
利用所述计算设备接收与所述碎片化的文件的经加密的块中的每个相关联的每个经加密的散列的经加密的列表;并且
使用所述计算设备的所述成员解密密钥在所述计算设备上对所述经加密的列表进行解密。
18.根据权利要求17所述的方法,进一步包括通过基于经解密的列表将经解密的块进行组合来生成文件。
19.根据权利要求16所述的方法,进一步包括:
使用所述社区密钥在所述计算设备上生成经解密的块中的每个的参考经加密的散列;并且
利用所述计算设备将所述经解密的块中的每个的所述参考经加密的散列和接收到的、与所述经加密的块中的每个相关联的经加密的散列进行比较,来验证每个块的完整性。
20.一种机器可读存储介质,其包括存储在其上的多个指令,响应于所述多个指令被执行,导致计算设备执行权利要求16-19中的任意一项所述的方法。
21.一种用于在重复数据删除系统中的内容数据服务器上存储内容的计算设备,所述计算设备包括:
用于使用由所述计算设备生成的文件加密密钥对碎片化的文件的每个块进行加密的单元;
用于使用社区密钥生成每个块的经加密的散列的单元,所述社区密钥是由所述重复数据删除系统的多个计算设备共享的密码密钥;
用于使用所述计算设备的成员加密密钥对文件解密密钥进行加密的单元;
用于向所述内容数据服务器传输以下的单元:(i)每个经加密的块、(ii)每个块的所述经加密的散列、以及(iii)标识出所述计算设备的成员标识;以及
用于向密钥服务器传输以下的单元:(i)每个块的所述经加密的散列、(ii)经加密的文件解密密钥、以及(iii)所述成员标识。
22.根据权利要求21所述的计算设备,进一步包括:
用于将所述计算设备的文件碎片化以生成碎片化的文件的每个块的单元;
用于生成与属于所述碎片化的文件的每个块相关联的每个经加密的散列的列表的单元;
用于使用所述成员加密密钥对所述列表进行加密的单元;以及
用于向所述内容数据服务器和所述密钥服务器中的至少一个传输经加密的列表的单元。
23.一种用于从重复数据删除系统中的内容数据服务器取回内容的计算设备,所述计算设备包括:
用于从所述内容数据服务器接收以下的单元:(i)碎片化的文件的经加密的块、(ii)与所述经加密的块中的每个相关联的经加密的散列、以及(iii)针对每个经加密的块的成员标识,所述成员标识用于标识先前已将对应的经加密的块存储在所述内容数据服务器上的计算设备,其中,与所述经加密的块中的每个相关联的经加密的散列是使用社区密钥生成的,所述社区密钥是由所述重复数据删除系统的多个计算设备共享的密码密钥;
用于响应于向密钥服务器传输与每个对应的经加密的块相关联的所述经加密的散列和所述成员标识,从所述密钥服务器接收针对所述经加密的块中的每个的经加密的文件解密密钥的单元;
用于将每个接收到的、利用与另一成员设备而不是所述计算设备相对应的成员加密密钥进行加密的经加密的文件解密密钥传输到所述另一成员设备,以利用所述另一成员设备的成员解密密钥进行解密的单元;
用于从所述另一成员设备接收与每个接收到的、利用所述另一成员设备的所述成员加密密钥进行加密的经加密的文件解密密钥相对应的经解密的文件解密密钥的单元;
用于利用所述计算设备的对应的成员解密密钥对利用所述计算设备的成员加密密钥进行加密的每个经加密的文件解密密钥进行解密的单元;
用于使用与每个对应的经加密的块相关联的所述经解密的文件解密密钥对所述经加密的块中的每个进行解密的单元。
24.根据权利要求23所述的计算设备,进一步包括:
用于接收与所述碎片化的文件的所述经加密的块中的每个相关联的每个经加密的散列的经加密的列表的单元;
用于使用所述计算设备的所述成员解密密钥对所述经加密的列表进行解密的单元;以及
用于通过基于所述经解密的列表将经解密的块进行组合来生成文件的单元。
25.根据权利要求23所述的计算设备,进一步包括:
用于使用所述社区密钥生成所述经解密的块中的每个的参考经加密的散列的单元;以及
用于将所述经解密的块中的每个的所述参考经加密的散列和接收到的、与所述经加密的块中的每个相关联的经加密的散列进行比较,来验证每个块的完整性的单元。
26.一种计算设备,包括:
处理器;以及
存储器,其中存储有多个指令,所述多个指令当由所述处理器执行时,使得所述计算设备执行根据权利要求10-14中的任意一项所述的方法。
27.一种计算设备,包括:
处理器;以及
存储器,其中存储有多个指令,所述多个指令当由所述处理器执行时,使得所述计算设备执行根据权利要求16-19中的任意一项所述的方法。
CN201480008657.0A 2013-03-13 2014-02-26 针对经加密的数据的基于社区的重复删除 Active CN105210079B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610066552.1A CN105550600B (zh) 2013-03-13 2014-02-26 针对经加密的数据的基于社区的重复删除

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/799,318 2013-03-13
US13/799,318 US9116849B2 (en) 2013-03-13 2013-03-13 Community-based de-duplication for encrypted data
PCT/US2014/018669 WO2014158604A1 (en) 2013-03-13 2014-02-26 Community-based de-duplication for encrypted data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201610066552.1A Division CN105550600B (zh) 2013-03-13 2014-02-26 针对经加密的数据的基于社区的重复删除

Publications (2)

Publication Number Publication Date
CN105210079A CN105210079A (zh) 2015-12-30
CN105210079B true CN105210079B (zh) 2018-09-11

Family

ID=51534030

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201610066552.1A Active CN105550600B (zh) 2013-03-13 2014-02-26 针对经加密的数据的基于社区的重复删除
CN201480008657.0A Active CN105210079B (zh) 2013-03-13 2014-02-26 针对经加密的数据的基于社区的重复删除

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201610066552.1A Active CN105550600B (zh) 2013-03-13 2014-02-26 针对经加密的数据的基于社区的重复删除

Country Status (5)

Country Link
US (2) US9116849B2 (zh)
EP (2) EP3062261B1 (zh)
JP (2) JP6177988B2 (zh)
CN (2) CN105550600B (zh)
WO (1) WO2014158604A1 (zh)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8935523B1 (en) * 2012-07-18 2015-01-13 Dj Inventions, Llc Cryptographic protected communication system with multiplexed cryptographic cryptopipe modules
US9773118B1 (en) * 2014-07-15 2017-09-26 Ionu Security, Inc. Data deduplication with encryption
US9397833B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Receipt, data reduction, and storage of encrypted data
US9397832B2 (en) 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality
CN104660720A (zh) * 2015-03-25 2015-05-27 成都艺辰德迅科技有限公司 一种基于身份认证的安全存储方法
CN104683113A (zh) * 2015-03-25 2015-06-03 成都艺辰德迅科技有限公司 一种基于数据加密的安全存储方法
WO2016209288A1 (en) * 2015-06-26 2016-12-29 Hewlett Packard Enterprise Development Lp Sharing of community-based security information
US9871786B2 (en) 2015-07-23 2018-01-16 Google Llc Authenticating communications
KR102450295B1 (ko) * 2016-01-04 2022-10-04 한국전자통신연구원 암호 데이터의 중복 제거 방법 및 장치
CN105721560B (zh) * 2016-01-27 2018-12-25 四川长虹电器股份有限公司 统一会员中心用户登录密码安全存储系统及方法
US10222987B2 (en) 2016-02-11 2019-03-05 Dell Products L.P. Data deduplication with augmented cuckoo filters
AU2017310554A1 (en) 2016-08-08 2019-02-28 Record Sure Limited A method of generating a secure record of a conversation
US10509733B2 (en) 2017-03-24 2019-12-17 Red Hat, Inc. Kernel same-page merging for encrypted memory
US10528751B2 (en) * 2017-04-13 2020-01-07 Nec Corporation Secure and efficient cloud storage with retrievability guarantees
US10209917B2 (en) 2017-04-20 2019-02-19 Red Hat, Inc. Physical memory migration for secure encrypted virtual machines
US10379764B2 (en) 2017-05-11 2019-08-13 Red Hat, Inc. Virtual machine page movement for encrypted memory
US10691340B2 (en) * 2017-06-20 2020-06-23 Samsung Electronics Co., Ltd. Deduplication of objects by fundamental data identification
US11354420B2 (en) 2017-07-21 2022-06-07 Red Hat, Inc. Re-duplication of de-duplicated encrypted memory
US10664574B1 (en) * 2017-09-15 2020-05-26 Architecture Technology Corporation Distributed data storage and sharing in a peer-to-peer network
WO2019094556A1 (en) * 2017-11-08 2019-05-16 Massachusetts Institute Of Technology System for de-duplicating network coded distributed storage and related techniques
US11153094B2 (en) * 2018-04-27 2021-10-19 EMC IP Holding Company LLC Secure data deduplication with smaller hash values
US10158483B1 (en) * 2018-04-30 2018-12-18 Xanadu Big Data, Llc Systems and methods for efficiently and securely storing data in a distributed data storage system
US11086995B2 (en) 2018-04-30 2021-08-10 EMC IP Holding Company LLC Malware scanning for network-attached storage systems
US10848559B2 (en) * 2018-05-01 2020-11-24 EMC IP Holding Company LLC Malware scan status determination for network-attached storage systems
US11205194B2 (en) 2019-04-30 2021-12-21 Advanced New Technologies Co., Ltd. Reliable user service system and method
US11741248B2 (en) * 2019-08-20 2023-08-29 Bank Of America Corporation Data access control using data block level encryption
TWI712914B (zh) * 2019-09-12 2020-12-11 奕智鏈結科技股份有限公司 文件碎形化加密引擎及其技術
US11614956B2 (en) 2019-12-06 2023-03-28 Red Hat, Inc. Multicast live migration for encrypted virtual machines
US11573929B2 (en) 2020-04-09 2023-02-07 Kyndryl, Inc. Deduplication of encrypted data using multiple keys
WO2022037778A1 (en) * 2020-08-20 2022-02-24 Huawei Technologies Co., Ltd. Methods and system of preventing duplication of encrypted data
US11329803B2 (en) * 2020-09-29 2022-05-10 Amazon Technologies, Inc. Redundancy controls in convergent encryption using dynamic salt values
US20220284110A1 (en) * 2021-03-03 2022-09-08 International Business Machines Corporation Multi-key secure deduplication using locked fingerprints
WO2023164616A1 (en) * 2022-02-25 2023-08-31 Visa International Service Association Privacy-preserving data deduplication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441583A (zh) * 2007-03-29 2009-05-27 数据中心技术公司 单一实例存储池的复制和恢复
CN102308288A (zh) * 2009-02-06 2012-01-04 国际商业机器公司 经重复消除的数据的备份

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990810A (en) 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
US7062490B2 (en) * 2001-03-26 2006-06-13 Microsoft Corporation Serverless distributed file system
JP2004180141A (ja) 2002-11-28 2004-06-24 Gendai Kyoiku Shinbunsha:Kk デジタル撮影送信ユニットを用いた動画像撮影管理システム
US8176015B1 (en) * 2004-06-14 2012-05-08 Symantec Operating Corporation Method and apparatus for reducing redundant storing of blocks of data on a server
US8165221B2 (en) 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US8655914B2 (en) * 2006-10-17 2014-02-18 Commvault Systems, Inc. System and method for storage operation access security
WO2008074534A1 (en) 2006-12-21 2008-06-26 International Business Machines Corporation Key distribution for securing broadcast transmission to groups of users in wireless networks
US8266430B1 (en) 2007-11-29 2012-09-11 Emc Corporation Selective shredding in a deduplication system
US8117464B1 (en) * 2008-04-30 2012-02-14 Netapp, Inc. Sub-volume level security for deduplicated data
US8397084B2 (en) * 2008-06-12 2013-03-12 Microsoft Corporation Single instance storage of encrypted data
JP5278898B2 (ja) * 2008-09-18 2013-09-04 株式会社日立製作所 ストレージ装置、コンテンツ公開システム及びプログラム
US8572409B2 (en) * 2008-09-26 2013-10-29 Stephen P. Spackman Method and apparatus for non-redundant encrypted storage
US8788831B2 (en) * 2009-03-20 2014-07-22 Barracuda Networks, Inc. More elegant exastore apparatus and method of operation
US8762348B2 (en) * 2009-06-09 2014-06-24 Emc Corporation Segment deduplication system with compression of segments
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
US8453257B2 (en) * 2009-08-14 2013-05-28 International Business Machines Corporation Approach for securing distributed deduplication software
US8930686B2 (en) 2009-12-23 2015-01-06 International Business Machines Corporation Deduplication of encrypted data
US8401185B1 (en) * 2010-02-01 2013-03-19 Symantec Corporation Systems and methods for securely deduplicating data owned by multiple entities
JP5600015B2 (ja) * 2010-02-19 2014-10-01 株式会社日立システムズ バックアップシステム及びバックアップ方法
US8495392B1 (en) * 2010-09-02 2013-07-23 Symantec Corporation Systems and methods for securely deduplicating data owned by multiple entities
US8661259B2 (en) 2010-12-20 2014-02-25 Conformal Systems Llc Deduplicated and encrypted backups
JP6082387B2 (ja) 2011-05-14 2017-02-15 ビットカーサ インコーポレイテッド ユーザ不可知暗号化ファイルのサーバ側非複製化を有するクラウドファイルシステム
US8682868B2 (en) * 2011-12-02 2014-03-25 International Business Machines Corporation Removal of data remanence in deduplicated storage clouds
CN102546149B (zh) * 2012-01-16 2014-12-03 华南理工大学 一种密码芯片系统及密钥提取方法
US9037856B2 (en) * 2012-07-18 2015-05-19 Nexenta Systems, Inc. System and method for distributed deduplication of encrypted chunks
US9086819B2 (en) * 2012-07-25 2015-07-21 Anoosmar Technologies Private Limited System and method for combining deduplication and encryption of data
US9390101B1 (en) * 2012-12-11 2016-07-12 Veritas Technologies Llc Social deduplication using trust networks
US9495552B2 (en) * 2012-12-31 2016-11-15 Microsoft Technology Licensing, Llc Integrated data deduplication and encryption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441583A (zh) * 2007-03-29 2009-05-27 数据中心技术公司 单一实例存储池的复制和恢复
CN102308288A (zh) * 2009-02-06 2012-01-04 国际商业机器公司 经重复消除的数据的备份

Also Published As

Publication number Publication date
EP2973186A1 (en) 2016-01-20
EP2973186B1 (en) 2019-05-01
EP3062261A1 (en) 2016-08-31
JP6306077B2 (ja) 2018-04-04
WO2014158604A1 (en) 2014-10-02
EP2973186A4 (en) 2016-11-23
CN105210079A (zh) 2015-12-30
US10402571B2 (en) 2019-09-03
JP2016516346A (ja) 2016-06-02
JP2016154033A (ja) 2016-08-25
CN105550600B (zh) 2019-05-31
US9116849B2 (en) 2015-08-25
CN105550600A (zh) 2016-05-04
US20140281486A1 (en) 2014-09-18
EP3062261B1 (en) 2020-08-19
JP6177988B2 (ja) 2017-08-09
US20160057142A1 (en) 2016-02-25

Similar Documents

Publication Publication Date Title
CN105210079B (zh) 针对经加密的数据的基于社区的重复删除
US8892866B2 (en) Secure cloud storage and synchronization systems and methods
US8661259B2 (en) Deduplicated and encrypted backups
CN100487715C (zh) 一种数据安全存储系统和装置及方法
EP2260425B1 (en) Distribution of storage area network encryption keys across data centers
WO2019210706A1 (en) Systems, devices, and methods for hybrid secret sharing
CN105100076A (zh) 一种基于USB Key的云数据安全系统
CN103780607B (zh) 基于不同权限的重复数据删除的方法
CN112740615B (zh) 多方计算的密钥管理
CN110601830B (zh) 基于区块链的密钥管理方法、装置、设备及存储介质
KR101285281B1 (ko) 자가조직 저장매체의 보안 시스템 및 그 방법
CN105072107A (zh) 增强数据传输及存储安全的系统和方法
US10268832B1 (en) Streaming authenticated encryption
CN105871858A (zh) 一种保证数据安全的方法及系统
CN108494552B (zh) 支持高效收敛密钥管理的云存储数据去重方法
Zhao Improvement of cloud computing medical data protection technology based on symmetric encryption algorithm
US20230275759A1 (en) Method and system of encoding data over distributed networks and method of assuring integrity of data transmission between sender and receiver in a communication system
CN114143098A (zh) 数据存储方法和数据存储装置
Kamboj et al. DEDUP: Deduplication system for encrypted data in cloud
Nandini et al. Implementation of hybrid cloud approach for secure authorized deduplication
Motegaonkar et al. To develop secure deduplication of data using hybrid cloud methodology
Rohini Comparative approach to cloud security models
Nandhini et al. A review of hilevel authorized deduplication method for cloud storage system
KR20170049700A (ko) 암호데이터를 저장하는 클라우드 시스템 및 그 방법
CHANDRASHEKAR et al. Supporting Secure File-Level and Block-Level Data De-Duplication In Cloud Computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant