CN107113164B - 加密数据的重复删除的方法、装置和计算机可读介质 - Google Patents
加密数据的重复删除的方法、装置和计算机可读介质 Download PDFInfo
- Publication number
- CN107113164B CN107113164B CN201480084128.9A CN201480084128A CN107113164B CN 107113164 B CN107113164 B CN 107113164B CN 201480084128 A CN201480084128 A CN 201480084128A CN 107113164 B CN107113164 B CN 107113164B
- Authority
- CN
- China
- Prior art keywords
- encryption key
- user
- key
- encrypted
- hash value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/0825—Key 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) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
根据本发明的第一示例方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值,响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,以及将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
Description
技术领域
本发明涉及加密信息的管理。
背景技术
可以以各种不同的方式来执行数据存储。印刷媒体可以被保存在打印在持久的无酸纸上的档案中。最古老的现存的书籍有若干世纪那么久,然而为了存储动态创建的数据,纸存储可能是不方便的,因为更新和检索比最优的慢。例如,对基于纸的档案的远程访问可能是不方便的,因为可能必须在邮件中或使用快递服务来提供文献。
与纸存档相比,电子数据存储具有优点和缺点。电子数据存储使得能够大量信息的快速存储和检索,并且使得能够处理音频和视频数据以及文本数据。在另一个方面,在耐久性方面,电子介质次于纸,因为电子存储的数据的持久性与纸不在同一个级别上,如果正确地存储,则纸能够在几个世纪内保存信息。电子介质(如数据介质,诸如例如,数字音频、视频、照片、文档)易受火灾和事故的影响。
云存储是一种形式的电子存储,其克服了介质的不可靠性,因为云存储提供商(CSP)可以布置云存储以具有定期的备份和数据冗余以对抗随机事故(诸如火灾)和随着时间而发生的介质的退磁。
一些客户设备被配置为使得能够使用该客户设备动态创建的数据的云存储。例如,数字相机可以使得能够在云存储服务中存储图像,因此该图像能够被用户访问并且没有相机自身丢失和被盗的危险。
发明内容
本发明由独立权利要求的特征来限定。在从属权利要求中限定了一些特定实施例。
根据本发明的第一方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值,响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,以及将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
第一方面的一些实施例包括来自以下符号列表的至少一个特征:
●所述装置被配置为通过向第二装置传送请求,并且从所述第二装置接收所述重新加密密钥,来获得所述重新加密密钥,所述请求包括以下至少之一:所述第二用户的公开密钥和所述第二用户的身份。
●所述装置被配置为检查所述装置是否具有所述重新加密密钥,并且响应于所述检查指示所述装置具有所述重新加密密钥,所述装置被配置为通过从存储器取回所述重新加密密钥,来获得所述重新加密密钥。
●所述装置还被配置为从所述第二用户接收以下至少之一:第二密文、第二加密的加密密钥、所述第二哈希值的密码学签名、以及所述第二用户的第二公开密钥。
●所述装置被配置为从所述第一用户接收以下至少之一:所述第一哈希值的密码学签名、所述第一用户的公开密钥以及所述第一用户的第二公开密钥。
●所述装置被配置为接收以下至少之一:所述第一用户的公开密钥、所述第二用户的公开密钥、所述第一用户的第二公开密钥和所述第二用户的第二公开密钥,它们具有各自的密码学证书。
●所述装置被配置为验证至少一个接收的公开密钥的至少一个密码学证书。
●所述装置还被配置为向所述第二用户提供重新加密的加密密钥以使得所述第二用户能够解密所述密文。
●所述装置还被配置从所述第二用户接收删除对应于所述第二哈希值的密文的指令,以及响应地阻止所述第二用户对所述密文的访问。
●所述装置还被配置为:在阻止所述第二用户对所述密文的访问后,从所述第一用户接收删除所述密文的指令,以及例如如果所述第一用户是所述密文的最后一个用户,则响应地删除所述密文。
●所述装置还被配置为:从所述第一用户接收更新的密文和更新的加密的加密密钥,将所述重新加密密钥应用于所述更新的加密的加密密钥以获得更新的重新加密的加密密钥,所述更新的重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
根据本发明的第二方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值和第二加密的加密密钥,响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,以及将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
根据本发明的第三方面,提供了一种方法,所述方法包括:在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值,响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,以及将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
第三方面的一些实施例包括对应于来自结合第一方面所列出的先前符号列表的特征的至少一个特征。
根据本发明的第四方面,提供了一种方法,所述方法包括:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值和第二加密的加密密钥,响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,以及将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
根据本发明的第五方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:使用第一密钥从明文获得密文,向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密,从所述服务器接收重新加密密钥,解密所述重新加密密钥以获得第二密钥,以及使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。
根据第五方面的装置可以被配置为传送以密码学签名形式的哈希值。根据第五方面的装置可以被配置为使用所述装置的秘密密钥解密所述重新加密密钥。
根据本发明的第六方面,提供了一种方法,所述方法包括:使用第一密钥从明文获得密文,向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密,从所述服务器接收重新加密密钥,解密所述重新加密密钥以获得第二密钥,以及使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。
根据本发明的第七方面,提供了一种装置,所述装置包括:用于在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥的构件,用于从第二用户接收第二哈希值的构件,用于响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥的构件,以及用于将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥的构件,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
根据本发明的第八方面,提供了一种装置,所述装置包括:用于从第一用户接收密文、第一哈希值和第一加密的加密密钥的构件,用于从第二用户接收第二哈希值和第二加密的加密密钥的构件,用于响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥的构件,以及用于将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥的构件,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
根据本发明的第九方面,提供了一种非短暂性的计算机可读介质,其具有存储在其上的一组计算机可读指令,当由至少一个处理器执行所述计算机可读指令时,所述计算机可读指令使得装置至少:在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值,响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,以及将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
根据本发明的第十方面,提供了一种非短暂性的计算机可读介质,其具有存储在其上的一组计算机可读指令,当由至少一个处理器执行所述计算机可读指令时,所述计算机可读指令使得装置至少:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值和第二加密的加密密钥,响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,以及将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
根据本发明的第十一方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:使用第一密钥从明文获得密文,向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密,从第二服务器接收重新加密密钥,使用所述重新加密密钥对加密的第一密钥进行重新加密,解密重新加密的第一密钥以获得第一密钥,以及使用所述第一密钥解密从所述服务器接收的密文,从而获得明文。
根据本发明的第十二方面,提供了一种计算机程序,其被配置为使得执行根据第三、第四或第六方面的方法。
工业实用性
本发明的至少一个实施例在管理加密信息(例如节省数据存储系统的存储容量)中具有工业实用性
附图说明
图1说明了能够支持本发明的至少一些实施例的示例系统;
图2说明了根据本发明的至少一些实施例的示例用例;
图3说明了能够支持本发明的至少一些实施例的示例装置;
图4说明了根据本发明的至少一些实施例的信令;
图5说明了根据本发明的至少一些实施例的信令;
图6说明了根据本发明的至少一些实施例的信令;
图7说明了根据本发明的至少一些实施例的第一方法的第一流程图;
图8说明了根据本发明的至少一些实施例的第二方法的第二流程图;以及
图9说明了根据本发明的至少一些实施例的第二方法的第二流程图。
具体实施方式
存储提供商可以基于明文的哈希来确定两个加密的数据项是否是从相同的明文得到的。如果是这种情况,则重新加密密钥可以被获得并且用于对结合两个加密的数据项的第一加密的数据项提供的加密的加密密钥进行重新加密,以使得提供两个加密的数据项的另一个加密的数据项的用户能够解密两个加密的数据项中的第一加密的数据项。因此,两个加密的数据项中的仅第一加密的数据项需要被存储在存储设备中。
图1说明了能够支持本发明的至少一些实施例的示例系统。图1的系统包括:CSP110,其被布置以向至少一个用户提供远程存储服务。在一些实施例中,CSP 110被布置以向多个用户提供存储。CSP 110可以将由用户提供的数据存储在CSP 110能够访问的大容量存储装置中。此类大容量存储装置可以包括:例如,独立磁盘的可扩展冗余阵列,RAID,磁介质装置。CSP 110可以包括:控制设备,其被布置为控制大容量存储装置,或者CSP 110可以包括控制设备和大容量存储装置。
用户130和用户140可以通过网络103与CSP 110通信。网络103 可以包括:至少一个网络,诸如例如互联网或至少一个公司网络或互联网服务提供商ISP网络。CSP 110被布置为通过连接103A与网络103通信,连接103A可以包括有线连接,诸如例如以太网连接或光纤。用户130能够通过连接130A与网络103通信,连接130A可以包括:例如,有线连接或至少部分的无线连接。用户140能够通过连接140A与网络103通信,连接140A可以包括:例如,有线连接或至少部分的无线连接。在图1中,用户130和用户140由他们各自的设备来表示。与本发明兼容的用户设备包括:计算机,诸如台式机、膝上型计算机、平板计算机或可穿戴计算机、蜂窝电话(诸如智能电话或平板手机)、以及具有通信能力的任何其它合适的设备。
CSP 110被布置为通过连接110A与网络105通信。连接110A可以包括:例如,类似于连接103A类型的连接。网络105可以包括:网络103 和/或不同的网络或多个网络。被授权方AP 120可以包括:可信方,例如由用户130和140信任的一方。AP 120可以由用户信任。AP120可以与 CSP 110不同并且可以不依赖CSP 110,然而在一些实施例中,AP 120的功能可以被集成在CSP 110中。
用户130和140可以向CSP 110提供数据以用于存储。例如,用户 140可以使用被包括在他的设备中的相机捕获数字相片并且将它们提供给 CSP 110以用于存储。用户130可以从互联网下载数据并且将它提供给CSP 110以用于存储。在将数据提供给CSP 110之前,出于隐私考虑希望对数据加密。例如,用户140可以在通过连接140A提供她的照片之前,选择对它们进行加密,因为可以访问连接140A、网络103、连接103A和CSP 110至少之一的恶意方能够以某些方式查看该照片。同样地,用户130可以在向CSP 110提供他的数据之前,选择对他的数据进行加密。加密密钥可以由用户自己保存,当从CSP 110检索数据信息时,使用该加密密钥。例如,为了在随后的时间访问她的照片,用户140可以从CSP 110请求加密的文件,一旦拥有加密的数据,她可以使用她的密钥反转加密过程以获得原始照片。一些数据存储系统尝试执行重复信息的去除,这可以被称为重复删除(deduplication)。在实践中,由于以下原因,允许用户管理重复删除可能是困难的:1)用户可能并不总是在线或能参与此类管理,这将导致大的存储延迟;2)尽管使用户参与重复删除可能有助于数字版权管理和访问控制,但是在通信和计算方面,设计系统可能是复杂的;3)在一些情况下,(由于用户的数据的超分发)用户不知道如何向他不认识的用户 (相同数据的用户)发出访问权限或重复删除密钥。上述事实可能影响 CSP的业务。因此,CSP不希望在数据存储重复删除上与用户合作有其正当理由。一般而言,加密的数据可以被称为密文,而未加密的数据可以被称为明文。因此,加密的操作从明文获得密文,解密的操作从密文获得明文。
CSP 110的存储容量可能非常大,例如,以兆兆字节、拍字节或艾字节测量,尽管如此,存储容量是有限的资源。CSP 110可以通过识别提供给CSP 110用于存储的重复数据,并且针对每个重复的数据仅存储一个副本,来节省它的存储空间。如果两个用户提供了相同的文件,则CSP 110 可以存储一个副本,并且提供至来自两个用户的账户的数据的链接。这个过程可以被称为重复删除,一般而言,它指的是如下过程:当不止一次将相同的数据提供给存储设备时,数据项的单个副本被存储。通过提供合适的指针和/或密钥,对数据项的访问可以被安排给一个或多个用户。从用户的视角,这种安排表现为等同于如下情况:CSP110将为两个用户存储各自的数据项的副本。例如,当用户130和用户140两者从互联网获得相同的数据项并且随后将它发送给CSP 110用于存储时,重复的数据项可能出现。
如果用户对他们的数据进行加密,则识别重复的数据对于CSP 110 而言变得更加困难。因为用户130和用户140一般使用不同的加密密钥,因此在加密过程中,相同的初始明文被转变为不同的密文。当用户130和用户140随后将密文提供给CSP 110用于存储时,CSP110可能没有认识到底层的数据是相同的,因为密文是不同的,并且CSP 110没有加密密钥。此外,当能够使用不同的密钥从两个密文恢复明文时,存储仅一个密文副本将危及用户中的一个用户对明文的访问。
使得能够存储仅一个密文副本的一种方法是使用相同的密钥由用户 130和用户140彼此独立地加密明文。例如,明文的密码学(cryptographic) 哈希可以用作密钥。因为所使用的密钥和明文是相同的,因此从加密过程所产生的密文是相同的,CSP 110可以检测它并且执行如上所述的重复删除。使用由明文的数据所确定的密钥的缺点是,它使得能够基于字典的攻击。
使得能够存储仅一个密文副本的另一个方法是使用与CSP分立的密钥服务器,密钥服务器被配置为基于明文数据生成密钥。这种方法的缺点是使用分立的密钥服务器。
在图1的系统中,用户130和140可以以加密的形式在CSP 110上存储数据,并且重新加密方案用于执行如本文中描述的重复删除。首先,用户130使用加密算法和密钥DEK对数据明文进行加密以获得密文,密钥DEK可以是随机生成的。在本文中,这个密文被称为user_130_ciphertext。同样地,用户140通过使用不同的密钥对相同的明文进行加密来获得密文,在下文中其被称为user_140_ciphertext。 user_130_ciphertext和user_140_ciphertext是不相同的,因为它们是从相同的明文得到的,但是使用不同的加密密钥。
用户130然后将user_130_ciphertext提供给CSP 110以用于存储。用户130还提供明文的哈希,使用AP 120的公开加密密钥加密的DEK。公开加密密钥可以被称为公开密钥作为简称,同样地,秘密加密密钥可以被称为秘密密钥。在公开密钥-秘密密钥对中,公开密钥可以用于加密而不用于解密,而使用公开密钥加密的数据可以使用对应的秘密密钥来解密。一般地,例如,可以从公开密钥库获得公开密钥,其中公开密钥库根据请求提供公开密钥。因为不需要使公开密钥保密,因此实际上使得公开密钥容易能够访问可能是优选的。
为了改进安全性,由用户130和/或用户140提供给CSP 110的哈希可以分别使用用户130和/或用户140的秘密密钥来签名。可以以证明的形式,将用户130和/或用户140的公开密钥提供给CSP 110,使得公开密钥被包括在具有密码学证书的消息中(CSP 110能够验证它),以确保公开密钥分别是用户130和/或用户140的那些公开密钥。
然后,用户140将user_140_ciphertext提供给CSP 110以用于存储。用户140还提供明文的哈希,和用户140在加密明文中使用的密钥,进而使用AP 120的公开加密密钥来加密该密钥。例如,用户130和/或用户140 可以通过从AP 120,或者从公开密钥库,请求AP120的公开密钥,来获得AP 120的公开密钥。
因为由用户130和用户140提供给CSP 110的哈希基于相同的明文,因此哈希是相同的,使得CSP 110能够确定user_130_ciphertext和 user_140_ciphertext是相同数据的加密版本。然后,CSP 110通过获得重新加密密钥,对数据进行重复删除。例如,可以通过向AP 120传送针对重新加密密钥的请求,来获得重新加密密钥。CSP 110可以在该请求中向AP 120提供用户140的身份和用户140的公开密钥中的至少一个。非必须地,AP 120可以执行关于如下的检查:在这种情况下,重复删除是否是适当的。例如,AP可以基于应用于重新加密密钥生成算法的用户140的公开密钥、AP 120的秘密密钥和AP 120的公开密钥,在AP120内部地获得重新加密密钥。重新加密密钥生成算法的一个示例是代理重新加密密钥生成算法。AP 120可以例如通过网络105、连接105A和连接110A向CSP 110 提供重新加密密钥。
一旦拥有了重新加密密钥,CSP 110可以丢弃user_140_ciphertext 并且将重新加密密钥应用于CSP 110拥有的DEK的副本,以获得密钥 DEK的副本,其是使用用户140的秘密密钥能够解密的。也就是说,重新加密过程从使用AP 120的秘密密钥能够解密的DEK的副本获得使用用户 140的秘密密钥能够解密的DEK的副本。可以将重新加密的密钥DEK提供给用户140,以在访问明文时使用。当用户140随后请求密文时,CSP 110 提供给用户140的密文是user_130_ciphertext,用户140能够使用重新加密的密钥DEK来解密user_130_ciphertext以获得明文。
在上述重复删除过程中,AP 120不会看到密文,CSP 110不会看到任何未加密版本的密钥DEK。因此,可以访问明文的唯一实体是用户130 和用户140。
用户130可以向CSP 110提供用户130的第二公开密钥,也可以使用密码学证书来证明用户130的第二公开密钥。同样地,用户140可以向 CSP 110提供用户140的第二公开密钥,同样也可以使用密码学证书来证明用户140的第二公开密钥。在不只一个公开密钥密码学密钥对用于每个用户的实施例中,可以在验证签名中使用第二公开密钥,诸如例如,应用于哈希值的签名。在这些实施例中,例如,一对密钥可以用于重新加密目的,第二对用于消息传送和/或除了重新加密之外的任何其它用途。
当由用户从CSP 110删除重复删除的数据项时,CSP 110将在可以访问该数据项的所有用户都删除它时,删除所存储的数据项。如果一个用户删除该数据项,但是另一个用户(其可以访问相同的数据项)没有删除它,CSP 110仅是将该数据项指示为对从他的账户删除它的用户而言不再可以获得。
图2说明了根据本发明的至少一些实施例的示例系统用例。图2的系统类似于图1的系统,相似的编号表示与图1中相似的结构。在图2的系统中,在CSP 110和AP 120之间没有分离的网络,而是CSP 110、AP 120、用户130和用户140全部通过网络103通信。网络103可以包括:例如,互联网。一般地,不管是在图1、图2的系统中或在其它实施例中,可以使用传输层安全TLS来加密在CSP 110和AP 120之间的通信。除了传送密文之外,TLS或另外的加密协议也可以用于CSP 110和用户之间的通信,以便除了实际的数据项之外,头部和其他数据也被加密。
图3说明了能够支持本发明的至少一些实施例的示例装置。说明了设备300,其可以包括:例如,图1或图2的CSP 110、用户130或用户 140。设备300可以包括:台式服务器设备、膝上型计算机,或例如移动设备,诸如被布置为执行CSP 110的作用的平板计算机。被包含在设备300 中的是处理器310,其可以包括:例如,单核或多核处理器,其中单核处理器包括:一个处理核心,多核处理器包括不只一个处理核心。处理器310 可以包括:例如,高通骁龙800处理器。处理器310可以包括:不只一个处理器。处理核心可以包括:由安谋国际制造的Cortex-A8处理核心,或者由高级微设备公司生产的布里斯班处理核心。处理器310可以包括:至少一个高通骁龙和/或因特尔Atom处理器。处理器310可以包括:至少一个专用集成电路ASIC。处理器310可以包括:至少一个现场可编程门阵列FPGA。处理器310可以是用于执行设备300中的方法的构件。处理器 310可以至少部分地由计算机指令被配置为执行动作。
设备300可以包括:存储器320。存储器320可以包括:随机存取存储器和/或持久存储器。存储器320可以包括:至少一个RAM芯片。存储器320可以包括:例如,磁、光和/或全息存储器。存储器320可以至少部分地被处理器310访问。存储器320可以是用于存储信息的构件。存储器320可以包括:被配置为由处理器310执行的计算机指令。当被配置为使得处理器310执行某些动作的计算机指令被存储在存储器320中,并且使用来自存储器320的计算机指令,设备300整体地被配置为在处理器310 的指导下运行时,处理器310和/或它的至少一个处理核心可以被认为被配置为执行所述某些动作。存储器320可以至少部分地被包含在处理器310 中。
设备300可以包括:传送器330。设备300可以包括:接收器340. 传送器330和接收器340可以被配置为根据至少一个蜂窝或非蜂窝无线电通信标准分别传送和接收信息。传送器330可以包括:不只一个传送器。接收器340可以包括不只一个接收器。传送器330和/或接收器340可以被配置为根据以太网和/或其它联网技术进行操作。
设备300可以包括:用户接口UI 360。UI 360可以包括以下至少之一:显示器、小键盘、触摸屏、振动器(其被布置为通过使得设备300振动向用户传送信号)、扬声器和麦克风。用户可能能够通过UI 360操作设备300,例如以接受配置数据存储配额并管理用户数据库。
设备300可以包括大存储模块370,或被配置为控制大存储模块370。大存储模块370可以包括:例如,磁盘阵列,其被配置为存储客户数据,或模块或接口,其被配置为控制此类磁盘阵列。
处理器310可以装备有传送器,其被布置为通过设备300内的电导线向包括在设备300中的其它设备输出来自处理器310的信息。此类传送器可以包括:串行总线传送器,其被配置为例如通过至少一个电导线向存储器320输出信息以用于存储在其中。作为串行总线的替代,传送器可以包括并行总线传送器。同样地,处理器310可以包括:接收器,其被配置为通过设备300内的电导线从被包括在设备300中的其它设备接收信息。此类接收器可以包括:串行总线接收器,其被配为例如通过至少一个电导线从接收器340接收信息以用于在处理器310中处理。作为串行总线的替代,接收器可以包括:并行总线接收器。
处理器310、存储器320、传送器330、接收器340、NFC收发器350、 UI 360和/或大存储模块370可以通过设备300内的电导线以多种不同的方式互连。例如,上述设备中的每个设备可以分别连接到设备300内部的主总线,以允许设备交换信息。然而,如本领域的技术人员了解的,这仅是一个示例,并且取决于实施例,在不背离本发明的范围的情况下,可以选择互连上述设备中的至少两个设备的各种方式。
图4说明了根据本发明的至少一些实施例的信令。在垂直轴上,从左到右公开了用户140、用户130、CSP 110、以及最后是AP 120。上文结合图1已经描述了这些实体。
在阶段410中,例如,用户130使用由用户130随机或伪随机生成的密钥DEK,加密明文以获得user_130_ciphertext。在阶段420中,用户 130向用于存储的CSP 110提供至少以下:user_130_ciphertext、使用AP 120的公开密钥加密的DEK、和明文的密码学哈希。可以由用户130使用用户130的秘密密钥对密码学哈希进行签名。
在阶段430中,例如,用户140使用由用户140随机或伪随机生成的密钥,加密明文以获得user_140_ciphertext。在阶段440中,用户140 向用于存储的CSP 110提供至少以下:user_140_ciphertext、使用AP 120 的公开密钥加密的密钥(该密钥用于对明文加密以获得 user_140_ciphertext)、和明文的密码学哈希。可以由用户140使用用户 140的秘密密钥对密码学哈希进行签名。
在阶段450,CSP 110可以基于在阶段420和440中接收的哈希的比较,确定在user_130_ciphertext和user_140_ciphertext下的明文是相同的。详细地,明文的相同确定哈希的相同,并且确定哈希是相同的允许确定明文是相同的。
在阶段460,CSP 110从AP 120请求重新加密密钥。阶段460的请求可以包括以下至少之一:用户140的身份和用户140的公开密钥。例如, CSP 110可能已经在阶段440中接收了用户140的公开密钥。在阶段470 中,非必须地,AP 120可以验证重复删除是否是适当的,例如,对于涉及高优先级的用户的数据而言,可以禁用重复删除。在阶段470中,AP 120 得到所请求的重新加密密钥。详细地,AP 120可以运行重新加密密钥导出算法,其可以采用以下作为输入:例如,用户140的公开密钥和AP 120 的公开和秘密密钥。如果向AP 120提供了用户140的身份但是没有提供用户140的公开密钥,则AP 120可以使用该身份从公开密钥库检索用户 140的公开密钥。
在阶段480,AP 120向CSP 110提供重新加密密钥,使得在阶段490 中CSP 110能够从使用AP 120的公开密钥加密的DEK得到重新加密的加密密钥。在阶段4100,CSP 110向用户140提供重新加密的加密密钥。然后,用户140可以解密重新加密的加密密钥以获得密钥DEK,其能够反转 user_130_ciphertext的加密从而恢复明文。因此,使得CSP 110能够通过丢弃user_140_ciphertext以存储仅密文的一个副本,并且该数据被成功地重复删除。一般地,在CSP 110已经例如从先前的重新加密过程已经具有重新加密密钥的情况下,CSP 110不需要从AP 120单独地请求重新加密密钥。在这点上,一般地,获得重新加密密钥可以包括:从AP 120请求并且接收重新加密密钥,或者从CSP 110内部的存储器或者从在CSP 110的控制下的存储器检索重新加密密钥。
图5说明了根据本发明的至少一些实施例的信令。在图5中的信令类似于图4的信令,除了以下之外:在图5中,CSP 110确定用户140而不是用户130是明文的拥有者。
在阶段510中,用户130使用由用户130随机或伪随机生成的密钥 DEK,加密明文以获得user_130_ciphertext。在阶段520中,用户130向用于存储的CSP 110提供至少以下:user_130_ciphertext、使用AP 120的公开密钥加密的DEK和明文的密码学哈希。可以由用户130使用用户130 的秘密密钥对密码学哈希进行签名。
在阶段530中,用户140使用由用户140随机或伪随机生成的密钥,加密明文以获得user_140_ciphertext。在阶段540中,用户140向用于存储的CSP 110提供至少以下:user_140_ciphertext、使用AP 120的公开密钥加密的密钥(该密钥用于对明文加密以获得user_140_ciphertext)和明文的密码学哈希。可以由用户140使用用户140的秘密密钥对密码学哈希进行签名。
在阶段550,CSP 110可以基于在阶段420和440中接收的哈希的比较,确定在user_130_ciphertext和user_140_ciphertext下的明文是相同的。详细地,明文的相同确定哈希的相同。CSP 110还确定用户140是明文的拥有者。
在阶段560,CSP 110从AP 120请求重新加密密钥。阶段560的请求可以包括以下至少之一:用户130的身份和用户130的公开密钥。例如, CSP 110可能已经在阶段520中已经接收了用户130的公开密钥。在阶段 570中,非必须地,AP 120可以验证重复删除是否是适当的。例如,对于涉及高优先级的用户的数据而言,可以禁用重复删除。在阶段570中,AP120得到所请求的重新加密密钥。详细地,AP 120可以运行重新加密密钥导出算法,其可以采用以下作为输入:例如,用户130的公开密钥和AP 120 的公开和秘密密钥。如果向AP 120提供了用户130的身份但是没有提供用户130的公开密钥,则AP 120可以使用该身份从公开密钥库检索用户 130的公开密钥。
在阶段580,AP 120向CSP 110提供重新加密密钥,使得在阶段590 中CSP 110能够从由用户140在阶段540中提供的密钥得到重新加密的加密密钥。在阶段5100,CSP 110向用户130提供重新加密的加密密钥。然后,用户130可以解密重新加密的加密密钥以获得用户140在加密明文以获得user_140_ciphertext时所使用的密钥。因此,使得用户130能够反转user_140_ciphertext的加密从而恢复明文。因此,使得CSP 110能够通过丢弃user_130_ciphertext以存储仅密文的一个副本,并且该数据被成功地重复删除。此外,可以由CSP110丢弃由用户130提供的加密的密钥。
图6说明了根据本发明的至少一些实施例的信令。图6的轴对应于图4和图5的那些轴。图6的阶段600对应于图4中说明的所有阶段,其中阶段610发生在阶段4100之后。图6的过程对应于在CSP 110中更新重复删除的数据。
在阶段610中,用户130获得更新版本的明文。用户130随后使用新的密钥DEK’加密更新的明文以获得user_130_ciphertext’,并且向CSP 110提供user_130_ciphertext’、使用AP 120的公开密钥加密的DEK’、以及非必需地,用户130的公开密钥和用户130的第二公开密钥。
在阶段630中,CSP 110从AP 120请求重新加密密钥,该请求包括以下至少之一:用户140的公开密钥和用户140的身份。在阶段640中, AP 120使用用户140的公开密钥和AP120的公开密钥和秘密密钥得到重新加密密钥。在阶段650中,AP 120向CSP 110提供重新加密密钥。一般地,在CSP 110已经例如从先前的重新加密过程具有用户的重新加密密钥的情况下,CSP 110不需要单独从AP 120请求重新加密密钥。在这点上,一般地,获得重新加密密钥可以包括:从AP 120请求和接收重新加密密钥,或者从CSP 110内部的存储器或从在CSP110的控制下的存储器检索重新加密密钥。
在阶段660中,CSP 110在加密的DEK’上执行重新加密以获得用户 140能够解密的重新加密的加密密钥。在阶段670中,CSP 120向用户140 提供重新加密的加密密钥。在阶段670后,用户140能够使用用户140的秘密密钥获得密钥DEK’,密钥DEK’能够反转user_130_ciphertext’的加密。
CSP 110可以针对能够访问密文的每个用户导出重新加密密钥,以在更新后维护他们对数据的访问。
图7说明了根据本发明的至少一些实施例的第一方法的第一流程图。例如,所说明的方法的阶段可以在CSP 110中执行,或者在被配置为控制 CSP 110的功能执行的控制设备中执行。阶段710包括:在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥。阶段720包括:从第二用户接收第二哈希值和非必需地,第二用户的公开密钥。阶段730包括:响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥。最后,阶段740包括:将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。可以由用户使用他们各自的秘密密钥对哈希值(其可以包括密码学哈希)进行密码学签名。
图8说明了根据本发明的至少一些实施例的第二方法的第二流程图。例如,所说明的方法的阶段可以在CSP 110中执行,或者在被配置为控制 CSP 110的功能执行的控制设备中执行。阶段810包括:从第一用户接收密文、第一哈希值和第一加密的加密密钥。阶段820包括:从第二用户接收第二哈希值和第二加密的加密密钥。阶段830包括:响应于确定所述第一哈希值与所述第二哈希值相同并且第二用户是密文的拥有者,获得重新加密密钥。最后,阶段840包括:将重新加密密钥应用于第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。可以由用户使用他们各自的秘密密钥对哈希值(其可以包括密码学哈希)进行密码学签名。
图9说明了根据本发明的至少一些实施例的第三方法的第三流程图。例如,所说明的方法的阶段可以在用户设备140、用户设备130中,或者在被配置为控制用户设备140、用户设备130的功能执行的控制设备中执行。
阶段910包括:使用第一密钥从明文获得密文。阶段920包括:向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密。也就是说,第一密钥是以加密形式被传送的。阶段930包括:从所述服务器接收重新加密的密钥。阶段940包括:解密所述重新加密的密钥以获得第二密钥。最后,阶段950包括:使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。哈希值可以包括:密码学哈希,可以使用秘密密钥对它进行签名。
将理解的是,所公开的本发明的实施例不局限于本文中公开的特定结构、过程步骤、或材料,而是可以扩展到如相关领域的技术人员将认识到的它们的等同物。还应当理解的是,本文中使用的术语仅用于描述特定实施例的目的,而不是旨在限制。
贯穿于本说明书,对“一个实施例”或“一种实施例”的引用意味着结合实施例所描述的特定特征、结构、或特点被包含在本发明的至少一个实施例中。因此,贯穿于整个说明书,在各个地方中,短语“在一个实施例中”“在一种实施例中”的出现未必全部指的是相同的实施例。
如本文中使用的,为了方便,多个物品、结构元素、组成元素、和/ 或材料可以存在于共同列表中。然而,这些列表应当被理解为:列表中的每个元素个体地被标识为单独的和唯一的成员。因此,此类列表的非个体元素应当被理解为:在没有相反的指示的情况下,仅基于在相同组中的它们的呈现,它们实际上是相同列表的任何其它成员的等同物。另外,本发明的各种实施例和示例可以连同针对它们的各种组件的可替代物一起在本文中被提及。理解的是,此类实施例、示例和可替代物不应当被理解为实际上是彼此的等同物,而是被理解为本发明的各自的和自治的表示。
此外,在一个或多个实施例中,所描述的特征、结构或特点可以以任何合适的方式被组合。在以下描述中,提供了许多特定的细节,诸如长度、宽度、形状等的示例以提供对本发明的实施例的彻底理解。然而,本领域的技术人员将认识到的是,可以在没有特定细节中的一个或多个细节,或者使用其它方法、组件、材料等,来实践本发明。在其它情况下,众所周知的结构、材料、或操作没有被示出,或者没有被详细地描述,以避免使本发明的各个方面不清楚。
尽管上述示例是在一个或多个特定应用中的本发明的原理的说明,但是对于本领域的技术人员而言将明显的是,在不背离本发明的原理和构思的情况下,可以在没有创造性人员的练习的情况下,做出在实现的形式、使用和细节中的许多修改。因此,旨在的不是限制本发明,本发明由以下给出的权利要求书来限定。
Claims (32)
1.一种用于加密数据的重复删除的装置,包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:
从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥,其中所述加密密钥的第一加密的加密密钥不能被所述装置解密;
从第二用户接收第二哈希值;
响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
2.根据权利要求1所述的装置,其中所述装置被配置为通过向第二装置传送请求,并且从所述第二装置接收所述重新加密密钥,来获得所述重新加密密钥,所述请求包括以下至少之一:所述第二用户的公开密钥和所述第二用户的身份。
3.根据权利要求1所述的装置,其中所述装置被配置为检查所述装置是否具有所述重新加密密钥,并且响应于所述检查指示所述装置具有所述重新加密密钥,所述装置被配置为通过从存储器取回所述重新加密密钥,来获得所述重新加密密钥。
4.根据权利要求1、2或3所述的装置,其中所述装置还被配置为从所述第二用户接收以下至少之一:第二密文、第二加密的加密密钥、所述第二哈希值的密码学签名、以及所述第二用户的第二公开密钥。
5.根据权利要求1-3任一所述的装置,其中所述装置被配置为从所述第一用户接收以下至少之一:所述第一哈希值的密码学签名、所述第一用户的公开密钥以及所述第一用户的第二公开密钥。
6.根据权利要求1-3任一所述的装置,所述装置被配置为接收以下至少之一:所述第一用户的公开密钥、所述第二用户的公开密钥、所述第一用户的第二公开密钥和所述第二用户的第二公开密钥,它们具有各自的密码学证书。
7.根据权利要求6所述的装置,其中所述装置被配置为验证至少一个接收的公开密钥的至少一个密码学证书。
8.根据权利要求1-3任一所述的装置,还被配置为向所述第二用户提供所述重新加密的加密密钥以使得所述第二用户能够解密所述密文。
9.根据权利要求1-3任一所述的装置,其中所述装置还被配置从所述第二用户接收删除对应于所述第二哈希值的密文的指令,以及响应地阻止所述第二用户对所述密文的访问。
10.根据权利要求8所述的装置,所述装置还被配置为:在阻止所述第二用户对所述密文的访问后,从所述第一用户接收删除所述密文的指令,以及如果所述第一用户是存储所述密文的最后一个用户,响应地删除所述密文。
11.根据权利要求1-3任一所述的装置,还被配置为:从所述第一用户接收更新的密文和更新的加密的加密密钥,将所述重新加密密钥应用于所述更新的加密的加密密钥以获得更新的重新加密的加密密钥,所述更新的重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
12.一种用于加密数据的重复删除的装置,包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:
从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥,其中,所述加密密钥的第一加密的加密密钥不能被所述装置解密;
从第二用户接收第二哈希值和第二加密的加密密钥,其中所述第二加密的加密密钥不能被所述装置解密;
响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
13.一种由装置执行的用于加密数据的重复删除的方法,包括:
从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥,其中所述加密密钥的第一加密的加密密钥不能被所述装置解密;
从第二用户接收第二哈希值;
响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
14.根据权利要求13所述的方法,包括:通过向第二装置传送请求,并且从所述第二装置接收所述重新加密密钥,来获得所述重新加密密钥,所述请求包括以下至少之一:所述第二用户的公开密钥和所述第二用户的身份。
15.根据权利要求13或14所述的方法,还包括:检查所述装置是否具有所述重新加密密钥,并且响应于所述检查指示所述装置具有所述重新加密密钥,通过从存储器取回所述重新加密密钥,来获得所述重新加密密钥。
16.根据权利要求13-14任一所述的方法,还包括:从所述第二用户接收以下至少之一:第二密文、第二加密的加密密钥、所述第二哈希值的密码学签名、以及所述第二用户的第二公开密钥。
17.根据权利要求13-14任一所述的方法,还包括:从所述第一用户接收以下至少之一:所述第一哈希值的密码学签名、所述第二用户的公开密钥以及所述第一用户的第二公开密钥。
18.根据权利要求13-14任一所述的方法,包括:接收以下至少之一:所述第一用户的公开密钥、所述第二用户的公开密钥、所述第一用户的第二公开密钥和所述第二用户的第二公开密钥,它们具有各自的密码学证书。
19.根据权利要求18所述的方法,还包括:验证至少一个接收的公开密钥的至少一个密码学证书。
20.根据权利要求13-14任一所述的方法,还包括:向所述第二用户提供所述重新加密的加密密钥以使得所述第二用户能够解密所述密文。
21.根据权利要求13-14任一所述的方法,还包括:从所述第二用户接收删除对应于所述第二哈希值的密文的指令,以及响应地阻止所述第二用户对所述密文的访问。
22.根据权利要求21所述的方法,还包括:在阻止所述第二用户对所述密文的访问后,从所述第一用户接收删除所述密文的指令,以及如果所述第一用户是存储所述密文的最后一个用户,响应地删除所述密文。
23.根据权利要求13-14任一所述的方法,还包括:从所述第一用户接收更新的密文和更新的加密的加密密钥,以将所述重新加密密钥应用于所述更新的加密的加密密钥以获得更新的重新加密的加密密钥,所述更新的重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
24.一种由装置执行的用于加密数据的重复删除的方法,包括:
从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥,其中,所述加密密钥的第一加密的加密密钥不能被所述装置解密;
从第二用户接收第二哈希值和第二加密的加密密钥,其中所述第二加密的加密密钥不能被所述装置解密;
响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
25.一种用于加密数据的重复删除的装置,包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:
使用第一密钥从明文获得密文;
向服务器传送所述密文、从所述明文得到的哈希值和加密的第一密钥,其中所述加密的第一密钥是通过使用第二服务器的公开密钥对所述第一密钥加密而生成的,其中,所述加密的第一密钥不能被所述服务器解密;
从所述服务器接收重新加密的密钥,其中所述重新加密的密钥是通过将重新加密密钥应用于加密的第二密钥来获得的,以及所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;
解密所述重新加密的密钥以获得所述第二密钥;以及
使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。
26.根据权利要求25所述的装置,其中所述装置被配置为传送以密码学签名的形式的哈希值。
27.根据权利要求25或26所述的装置,其中所述装置被配置为使用所述装置的秘密密钥来解密所述重新加密的密钥。
28.一种用于加密数据的重复删除的方法,包括:
使用第一密钥从明文获得密文;
向服务器传送所述密文、从所述明文得到的哈希值和加密的第一密钥,其中所述加密的第一密钥是通过使用第二服务器的公开密钥对所述第一密钥加密而生成的,其中,所述加密的第一密钥不能被所述服务器解密;
从所述服务器接收重新加密的密钥,其中所述重新加密的密钥是通过将重新加密密钥应用于加密的第二密钥来获得的,以及所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;
解密所述重新加密的密钥以获得所述第二密钥;以及
使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。
29.一种用于加密数据的重复删除的装置,包括:
用于在装置中从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥的构件,其中所述加密密钥的第一加密的加密密钥不能被所述装置解密;
用于从第二用户接收第二哈希值的构件;
用于响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥的构件,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
用于将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥的构件,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
30.一种用于加密数据的重复删除的装置,包括:
用于从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥的构件,其中,所述加密密钥的第一加密的加密密钥不能被所述装置解密;
用于从第二用户接收第二哈希值和第二加密的加密密钥的构件,其中所述第二加密的加密密钥不能被所述装置解密;
用于响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥的构件,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
用于将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥的构件,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
31.一种非短暂性的计算机可读介质,其具有存储在其上的一组计算机可读指令,当由至少一个处理器执行所述计算机可读指令时,所述计算机可读指令使得装置至少:
在装置中,从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥,其中所述加密密钥的第一加密的加密密钥不能被所述装置解密;
从第二用户接收第二哈希值;
响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。
32.一种非短暂性的计算机可读介质,其具有存储在其上的一组计算机可读指令,当由至少一个处理器执行所述计算机可读指令时,所述计算机可读指令使得装置至少:
从第一用户接收通过使用加密密钥来加密明文获得的密文、从所述明文得到的第一哈希值和所述加密密钥的第一加密的加密密钥,其中,所述加密密钥的第一加密的加密密钥不能被所述装置解密;
从第二用户接收第二哈希值和第二加密的加密密钥,其中所述第二加密的加密密钥不能被所述装置解密;
响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,其中所述重新加密密钥是使用代理重新加密密钥生成算法而生成的;以及
将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/094189 WO2016095152A1 (en) | 2014-12-18 | 2014-12-18 | De-duplication of encrypted data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107113164A CN107113164A (zh) | 2017-08-29 |
CN107113164B true CN107113164B (zh) | 2021-07-06 |
Family
ID=56125615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480084128.9A Active CN107113164B (zh) | 2014-12-18 | 2014-12-18 | 加密数据的重复删除的方法、装置和计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10897362B2 (zh) |
EP (1) | EP3235163B1 (zh) |
CN (1) | CN107113164B (zh) |
WO (1) | WO2016095152A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105939191B (zh) * | 2016-07-08 | 2019-04-16 | 南京理工大学 | 一种云存储中密文数据的客户端安全去重方法 |
US11132451B2 (en) * | 2017-08-31 | 2021-09-28 | Parity Technologies Ltd. | Secret data access control systems and methods |
US10965653B2 (en) * | 2018-03-28 | 2021-03-30 | Xaptum, Inc. | Scalable and secure message brokering approach in a communication system |
JP2019195116A (ja) * | 2018-05-01 | 2019-11-07 | ルネサスエレクトロニクス株式会社 | データ転送システム及び転送方法 |
EP4099309A4 (en) * | 2020-02-05 | 2023-02-22 | Mitsubishi Electric Corporation | CRYPTOSYSTEM, ENCRYPTED DATA CONVERSION DEVICE AND CONVERSION PROGRAM |
US11573929B2 (en) | 2020-04-09 | 2023-02-07 | Kyndryl, Inc. | Deduplication of encrypted data using multiple keys |
US20210377016A1 (en) * | 2020-05-29 | 2021-12-02 | EMC IP Holding Company LLC | Key rollover for client side encryption in deduplication backup systems |
CN114402325A (zh) * | 2020-08-20 | 2022-04-26 | 华为技术有限公司 | 防止加密数据重复的方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811212A (zh) * | 2011-06-02 | 2012-12-05 | 英业达集团(天津)电子技术有限公司 | 重复数据删除的数据加密方法及其系统 |
CN102981969A (zh) * | 2012-11-21 | 2013-03-20 | 记忆科技(深圳)有限公司 | 重复数据删除的方法及其固态硬盘 |
CN103731423A (zh) * | 2013-12-25 | 2014-04-16 | 北京安码科技有限公司 | 一种安全的重复数据删除方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6098056A (en) * | 1997-11-24 | 2000-08-01 | International Business Machines Corporation | System and method for controlling access rights to and security of digital content in a distributed information system, e.g., Internet |
US7454021B2 (en) | 2004-10-29 | 2008-11-18 | Hewlett-Packard Development Company, L.P. | Off-loading data re-encryption in encrypted data management systems |
JP5595701B2 (ja) * | 2009-09-16 | 2014-09-24 | 株式会社日立製作所 | ファイル管理方法及びストレージシステム |
US8930686B2 (en) | 2009-12-23 | 2015-01-06 | International Business Machines Corporation | Deduplication of encrypted data |
CN102810107B (zh) * | 2011-06-01 | 2015-10-07 | 英业达股份有限公司 | 重复数据的处理方法 |
US20130212388A1 (en) | 2012-02-13 | 2013-08-15 | Alephcloud Systems, Inc. | Providing trustworthy workflow across trust boundaries |
US9037856B2 (en) * | 2012-07-18 | 2015-05-19 | Nexenta Systems, Inc. | System and method for distributed deduplication of encrypted chunks |
US8997179B2 (en) * | 2012-09-26 | 2015-03-31 | Empire Technology Development Llc | Shared secret identification for secure communication |
US9495552B2 (en) * | 2012-12-31 | 2016-11-15 | Microsoft Technology Licensing, Llc | Integrated data deduplication and encryption |
CN103095843B (zh) * | 2013-01-28 | 2018-01-30 | 刘海峰 | 一种基于版本矢量的数据备份方法及客户端 |
CN103647642B (zh) | 2013-11-15 | 2016-07-06 | 河海大学 | 一种基于证书代理重加密方法及系统 |
FR3014224A1 (fr) * | 2013-12-02 | 2015-06-05 | Orange | Procede de mise a jour d'une arborescence de fichiers memorisee sur un serveur de stockage |
CN103888249B (zh) * | 2013-12-04 | 2018-04-24 | 中国人民武装警察部队工程大学 | 组播通信用代理重加密方法 |
CN103731261B (zh) | 2014-01-09 | 2017-01-18 | 西安电子科技大学 | 加密重复数据删除场景下的密钥分发方法 |
CN103795545B (zh) * | 2014-02-14 | 2017-01-18 | 飞天诚信科技股份有限公司 | 一种安全通信的方法和系统 |
CN103970852A (zh) * | 2014-05-06 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种备份服务器的数据重删方法 |
CN103970875B (zh) * | 2014-05-15 | 2017-02-15 | 华中科技大学 | 一种并行重复数据删除方法和系统 |
CN103957109B (zh) | 2014-05-22 | 2017-07-11 | 武汉大学 | 一种云数据隐私保护安全重加密方法 |
-
2014
- 2014-12-18 WO PCT/CN2014/094189 patent/WO2016095152A1/en active Application Filing
- 2014-12-18 CN CN201480084128.9A patent/CN107113164B/zh active Active
- 2014-12-18 EP EP14908187.9A patent/EP3235163B1/en active Active
- 2014-12-18 US US15/534,658 patent/US10897362B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102811212A (zh) * | 2011-06-02 | 2012-12-05 | 英业达集团(天津)电子技术有限公司 | 重复数据删除的数据加密方法及其系统 |
CN102981969A (zh) * | 2012-11-21 | 2013-03-20 | 记忆科技(深圳)有限公司 | 重复数据删除的方法及其固态硬盘 |
CN103731423A (zh) * | 2013-12-25 | 2014-04-16 | 北京安码科技有限公司 | 一种安全的重复数据删除方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3235163B1 (en) | 2021-07-14 |
EP3235163A4 (en) | 2018-08-08 |
CN107113164A (zh) | 2017-08-29 |
WO2016095152A1 (en) | 2016-06-23 |
US20180270069A1 (en) | 2018-09-20 |
US10897362B2 (en) | 2021-01-19 |
EP3235163A1 (en) | 2017-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647007B2 (en) | Systems and methods for smartkey information management | |
CN107113164B (zh) | 加密数据的重复删除的方法、装置和计算机可读介质 | |
US12001579B1 (en) | Cloud messaging system | |
EP2831803B1 (en) | Systems and methods for secure third-party data storage | |
US10762229B2 (en) | Secure searchable and shareable remote storage system and method | |
US20200084027A1 (en) | Systems and methods for encryption of data on a blockchain | |
CN107113165B (zh) | 在云计算中用于重复数据管理的方法和装置 | |
US8966287B2 (en) | Systems and methods for secure third-party data storage | |
EP3050249B1 (en) | Data security using request-supplied keys | |
KR102330538B1 (ko) | 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법 | |
US9088538B2 (en) | Secure network storage | |
US20190068614A1 (en) | Federated Messaging | |
CN107113314B (zh) | 用于云计算中的异构数据存储管理的方法和装置 | |
JP2018106026A (ja) | アクセス管理システム、アクセス管理方法及びプログラム | |
US20110154015A1 (en) | Method For Segmenting A Data File, Storing The File In A Separate Location, And Recreating The File | |
US20160359822A1 (en) | Sovereign share encryption protocol | |
US20190068746A1 (en) | Directory Lookup for Federated Messaging | |
Yu et al. | Provable data possession supporting secure data transfer for cloud storage | |
US9825920B1 (en) | Systems and methods for multi-function and multi-purpose cryptography | |
KR102269753B1 (ko) | 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 | |
US9178855B1 (en) | Systems and methods for multi-function and multi-purpose cryptography | |
Thota et al. | Split key management framework for Open Stack Swift object storage cloud | |
KR101413248B1 (ko) | 데이터 암호화 장치 및 데이터 암호화를 수행하는 프로그램을 저장하는 저장매체 | |
US9189638B1 (en) | Systems and methods for multi-function and multi-purpose cryptography | |
KR20170124405A (ko) | 클라우드 서비스 제공 시스템 및 그것의 파일 공유 방법 |
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 |