加密数据的重复删除的制作方法

文档序号:11455405阅读:281来源:国知局
加密数据的重复删除的制造方法与工艺

本发明涉及加密信息的管理。



背景技术:

可以以各种不同的方式来执行数据存储。印刷媒体可以被保存在打印在持久的无酸纸上的档案中。最古老的现存的书籍有若干世纪那么久,然而为了存储动态创建的数据,纸存储可能是不方便的,因为更新和检索比最优的慢。例如,对基于纸的档案的远程访问可能是不方便的,因为可能必须在邮件中或使用快递服务来提供文献。

与纸存档相比,电子数据存储具有优点和缺点。电子数据存储使得能够大量信息的快速存储和检索,并且使得能够处理音频和视频数据以及文本数据。在另一个方面,在耐久性方面,电子介质次于纸,因为电子存储的数据的持久性与纸不在同一个级别上,如果正确地存储,则纸能够在几个世纪内保存信息。电子介质(如数据介质,诸如例如,数字音频、视频、照片、文档)易受火灾和事故的影响。

云存储是一种形式的电子存储,其克服了介质的不可靠性,因为云存储提供商(csp)可以布置云存储以具有定期的备份和数据冗余以对抗随机事故(诸如火灾)和随着时间而发生的介质的退磁。

一些客户设备被配置为使得能够使用该客户设备动态创建的数据的云存储。例如,数字相机可以使得能够在云存储服务中存储图像,因此该图像能够被用户访问并且没有相机自身丢失和被盗的危险。



技术实现要素:

本发明由独立权利要求的特征来限定。在从属权利要求中限定了一些特定实施例。

根据本发明的第一方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值,响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,以及将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。

第一方面的一些实施例包括来自以下符号列表的至少一个特征:

●所述装置被配置为通过向第二装置传送请求,并且从所述第二装置接收所述重新加密密钥,来获得所述重新加密密钥,所述请求包括以下至少之一:所述第二用户的公开密钥和所述第二用户的身份。

●所述装置被配置为检查所述装置是否具有所述重新加密密钥,并且响应于所述检查指示所述装置具有所述重新加密密钥,所述装置被配置为通过从存储器取回所述重新加密密钥,来获得所述重新加密密钥。

●所述装置还被配置为从所述第二用户接收以下至少之一:第二密文、第二加密的加密密钥、所述第二哈希值的密码学签名、以及所述第二用户的第二公开密钥。

●所述装置被配置为从所述第一用户接收以下至少之一:所述第一哈希值的密码学签名、所述第一用户的公开密钥以及所述第一用户的第二公开密钥。

●所述装置被配置为接收以下至少之一:所述第一用户的公开密钥、所述第二用户的公开密钥、所述第一用户的第二公开密钥和所述第二用户的第二公开密钥,它们具有各自的密码学证书。

●所述装置被配置为验证至少一个接收的公开密钥的至少一个密码学证书。

●所述装置还被配置为向所述第二用户提供重新加密的加密密钥以使得所述第二用户能够解密所述密文。

●所述装置还被配置从所述第二用户接收删除对应于所述第二哈希值的密文的指令,以及响应地阻止所述第二用户对所述密文的访问。

●所述装置还被配置为:在阻止所述第二用户对所述密文的访问后,从所述第一用户接收删除所述密文的指令,以及例如如果所述第一用户是所述密文的最后一个用户,则响应地删除所述密文。

●所述装置还被配置为:从所述第一用户接收更新的密文和更新的加密的加密密钥,将所述重新加密密钥应用于所述更新的加密的加密密钥以获得更新的重新加密的加密密钥,所述更新的重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。

根据本发明的第二方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值和第二加密的加密密钥,响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,以及将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。

根据本发明的第三方面,提供了一种方法,所述方法包括:在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值,响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,以及将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。

第三方面的一些实施例包括对应于来自结合第一方面所列出的先前符号列表的特征的至少一个特征。

根据本发明的第四方面,提供了一种方法,所述方法包括:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值和第二加密的加密密钥,响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,以及将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。

根据本发明的第五方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:使用第一密钥从明文获得密文,向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密,从所述服务器接收重新加密密钥,解密所述重新加密密钥以获得第二密钥,以及使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。

根据第五方面的装置可以被配置为传送以密码学签名形式的哈希值。根据第五方面的装置可以被配置为使用所述装置的秘密密钥解密所述重新加密密钥。

根据本发明的第六方面,提供了一种方法,所述方法包括:使用第一密钥从明文获得密文,向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密,从所述服务器接收重新加密密钥,解密所述重新加密密钥以获得第二密钥,以及使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。

根据本发明的第七方面,提供了一种装置,所述装置包括:用于在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥的构件,用于从第二用户接收第二哈希值的构件,用于响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥的构件,以及用于将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥的构件,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。

根据本发明的第八方面,提供了一种装置,所述装置包括:用于从第一用户接收密文、第一哈希值和第一加密的加密密钥的构件,用于从第二用户接收第二哈希值和第二加密的加密密钥的构件,用于响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥的构件,以及用于将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥的构件,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。

根据本发明的第九方面,提供了一种非短暂性的计算机可读介质,其具有存储在其上的一组计算机可读指令,当由至少一个处理器执行所述计算机可读指令时,所述计算机可读指令使得装置至少:在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值,响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥,以及将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。

根据本发明的第十方面,提供了一种非短暂性的计算机可读介质,其具有存储在其上的一组计算机可读指令,当由至少一个处理器执行所述计算机可读指令时,所述计算机可读指令使得装置至少:从第一用户接收密文、第一哈希值和第一加密的加密密钥,从第二用户接收第二哈希值和第二加密的加密密钥,响应于确定所述第一哈希值与所述第二哈希值相同并且所述第二用户是所述密文的拥有者,获得重新加密密钥,以及将所述重新加密密钥应用于所述第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。

根据本发明的第十一方面,提供了一种装置,所述装置包括至少一个处理核心和包含计算机程序代码的至少一个存储器,所述至少一个存储器和所述计算机程序代码被配置为与所述至少一个处理核心一起使得所述装置至少:使用第一密钥从明文获得密文,向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密,从第二服务器接收重新加密密钥,使用所述重新加密密钥对加密的第一密钥进行重新加密,解密重新加密的第一密钥以获得第一密钥,以及使用所述第一密钥解密从所述服务器接收的密文,从而获得明文。

根据本发明的第十二方面,提供了一种计算机程序,其被配置为使得执行根据第三、第四或第六方面的方法。

工业实用性

本发明的至少一个实施例在管理加密信息(例如节省数据存储系统的存储容量)中具有工业实用性

附图说明

图1说明了能够支持本发明的至少一些实施例的示例系统;

图2说明了根据本发明的至少一些实施例的示例用例;

图3说明了能够支持本发明的至少一些实施例的示例装置;

图4说明了根据本发明的至少一些实施例的信令;

图5说明了根据本发明的至少一些实施例的信令;

图6说明了根据本发明的至少一些实施例的信令;

图7说明了根据本发明的至少一些实施例的第一方法的第一流程图;

图8说明了根据本发明的至少一些实施例的第二方法的第二流程图;以及

图9说明了根据本发明的至少一些实施例的第二方法的第二流程图。

具体实施方式

存储提供商可以基于明文的哈希来确定两个加密的数据项是否是从相同的明文得到的。如果是这种情况,则重新加密密钥可以被获得并且用于对结合两个加密的数据项的第一加密的数据项提供的加密的加密密钥进行重新加密,以使得提供两个加密的数据项的另一个加密的数据项的用户能够解密两个加密的数据项中的第一加密的数据项。因此,两个加密的数据项中的仅第一加密的数据项需要被存储在存储设备中。

图1说明了能够支持本发明的至少一些实施例的示例系统。图1的系统包括:csp110,其被布置以向至少一个用户提供远程存储服务。在一些实施例中,csp110被布置以向多个用户提供存储。csp110可以将由用户提供的数据存储在csp110能够访问的大容量存储装置中。此类大容量存储装置可以包括:例如,独立磁盘的可扩展冗余阵列,raid,磁介质装置。csp110可以包括:控制设备,其被布置为控制大容量存储装置,或者csp110可以包括控制设备和大容量存储装置。

用户130和用户140可以通过网络103与csp110通信。网络103可以包括:至少一个网络,诸如例如互联网或至少一个公司网络或互联网服务提供商isp网络。csp110被布置为通过连接103a与网络103通信,连接103a可以包括有线连接,诸如例如以太网连接或光纤。用户130能够通过连接130a与网络103通信,连接130a可以包括:例如,有线连接或至少部分的无线连接。用户140能够通过连接140a与网络103通信,连接140a可以包括:例如,有线连接或至少部分的无线连接。在图1中,用户130和用户140由他们各自的设备来表示。与本发明兼容的用户设备包括:计算机,诸如台式机、膝上型计算机、平板计算机或可穿戴计算机、蜂窝电话(诸如智能电话或平板手机)、以及具有通信能力的任何其它合适的设备。

csp110被布置为通过连接110a与网络105通信。连接110a可以包括:例如,类似于连接103a类型的连接。网络105可以包括:网络103和/或不同的网络或多个网络。被授权方ap120可以包括:可信方,例如由用户130和140信任的一方。ap120可以由用户信任。ap120可以与csp110不同并且可以不依赖csp110,然而在一些实施例中,ap120的功能可以被集成在csp110中。

用户130和140可以向csp110提供数据以用于存储。例如,用户140可以使用被包括在他的设备中的相机捕获数字相片并且将它们提供给csp110以用于存储。用户130可以从互联网下载数据并且将它提供给csp110以用于存储。在将数据提供给csp110之前,出于隐私考虑希望对数据加密。例如,用户140可以在通过连接140a提供她的照片之前,选择对它们进行加密,因为可以访问连接140a、网络103、连接103a和csp110至少之一的恶意方能够以某些方式查看该照片。同样地,用户130可以在向csp110提供他的数据之前,选择对他的数据进行加密。加密密钥可以由用户自己保存,当从csp110检索数据信息时,使用该加密密钥。例如,为了在随后的时间访问她的照片,用户140可以从csp110请求加密的文件,一旦拥有加密的数据,她可以使用她的密钥反转加密过程以获得原始照片。一些数据存储系统尝试执行重复信息的去除,这可以被称为重复删除(deduplication)。在实践中,由于以下原因,允许用户管理重复删除可能是困难的:1)用户可能并不总是在线或能参与此类管理,这将导致大的存储延迟;2)尽管使用户参与重复删除可能有助于数字版权管理和访问控制,但是在通信和计算方面,设计系统可能是复杂的;3)在一些情况下,(由于用户的数据的超分发)用户不知道如何向他不认识的用户(相同数据的用户)发出访问权限或重复删除密钥。上述事实可能影响csp的业务。因此,csp不希望在数据存储重复删除上与用户合作有其正当理由。一般而言,加密的数据可以被称为密文,而未加密的数据可以被称为明文。因此,加密的操作从明文获得密文,解密的操作从密文获得明文。

csp110的存储容量可能非常大,例如,以兆兆字节、拍字节或艾字节测量,尽管如此,存储容量是有限的资源。csp110可以通过识别提供给csp110用于存储的重复数据,并且针对每个重复的数据仅存储一个副本,来节省它的存储空间。如果两个用户提供了相同的文件,则csp110可以存储一个副本,并且提供至来自两个用户的账户的数据的链接。这个过程可以被称为重复删除,一般而言,它指的是如下过程:当不止一次将相同的数据提供给存储设备时,数据项的单个副本被存储。通过提供合适的指针和/或密钥,对数据项的访问可以被安排给一个或多个用户。从用户的视角,这种安排表现为等同于如下情况:csp110将为两个用户存储各自的数据项的副本。例如,当用户130和用户140两者从互联网获得相同的数据项并且随后将它发送给csp110用于存储时,重复的数据项可能出现。

如果用户对他们的数据进行加密,则识别重复的数据对于csp110而言变得更加困难。因为用户130和用户140一般使用不同的加密密钥,因此在加密过程中,相同的初始明文被转变为不同的密文。当用户130和用户140随后将密文提供给csp110用于存储时,csp110可能没有认识到底层的数据是相同的,因为密文是不同的,并且csp110没有加密密钥。此外,当能够使用不同的密钥从两个密文恢复明文时,存储仅一个密文副本将危及用户中的一个用户对明文的访问。

使得能够存储仅一个密文副本的一种方法是使用相同的密钥由用户130和用户140彼此独立地加密明文。例如,明文的密码学(cryptographic)哈希可以用作密钥。因为所使用的密钥和明文是相同的,因此从加密过程所产生的密文是相同的,csp110可以检测它并且执行如上所述的重复删除。使用由明文的数据所确定的密钥的缺点是,它使得能够基于字典的攻击。

使得能够存储仅一个密文副本的另一个方法是使用与csp分立的密钥服务器,密钥服务器被配置为基于明文数据生成密钥。这种方法的缺点是使用分立的密钥服务器。

在图1的系统中,用户130和140可以以加密的形式在csp110上存储数据,并且重新加密方案用于执行如本文中描述的重复删除。首先,用户130使用加密算法和密钥dek对数据明文进行加密以获得密文,密钥dek可以是随机生成的。在本文中,这个密文被称为user_130_ciphertext。同样地,用户140通过使用不同的密钥对相同的明文进行加密来获得密文,在下文中其被称为user_140_ciphertext。user_130_ciphertext和user_140_ciphertext是不相同的,因为它们是从相同的明文得到的,但是使用不同的加密密钥。

用户130然后将user_130_ciphertext提供给csp110以用于存储。用户130还提供明文的哈希,使用ap120的公开加密密钥加密的dek。公开加密密钥可以被称为公开密钥作为简称,同样地,秘密加密密钥可以被称为秘密密钥。在公开密钥-秘密密钥对中,公开密钥可以用于加密而不用于解密,而使用公开密钥加密的数据可以使用对应的秘密密钥来解密。一般地,例如,可以从公开密钥库获得公开密钥,其中公开密钥库根据请求提供公开密钥。因为不需要使公开密钥保密,因此实际上使得公开密钥容易能够访问可能是优选的。

为了改进安全性,由用户130和/或用户140提供给csp110的哈希可以分别使用用户130和/或用户140的秘密密钥来签名。可以以证明的形式,将用户130和/或用户140的公开密钥提供给csp110,使得公开密钥被包括在具有密码学证书的消息中(csp110能够验证它),以确保公开密钥分别是用户130和/或用户140的那些公开密钥。

然后,用户140将user_140_ciphertext提供给csp110以用于存储。用户140还提供明文的哈希,和用户140在加密明文中使用的密钥,进而使用ap120的公开加密密钥来加密该密钥。例如,用户130和/或用户140可以通过从ap120,或者从公开密钥库,请求ap120的公开密钥,来获得ap120的公开密钥。

因为由用户130和用户140提供给csp110的哈希基于相同的明文,因此哈希是相同的,使得csp110能够确定user_130_ciphertext和user_140_ciphertext是相同数据的加密版本。然后,csp110通过获得重新加密密钥,对数据进行重复删除。例如,可以通过向ap120传送针对重新加密密钥的请求,来获得重新加密密钥。csp110可以在该请求中向ap120提供用户140的身份和用户140的公开密钥中的至少一个。非必须地,ap120可以执行关于如下的检查:在这种情况下,重复删除是否是适当的。例如,ap可以基于应用于重新加密密钥生成算法的用户140的公开密钥、ap120的秘密密钥和ap120的公开密钥,在ap120内部地获得重新加密密钥。重新加密密钥生成算法的一个示例是代理重新加密密钥生成算法。ap120可以例如通过网络105、连接105a和连接110a向csp110提供重新加密密钥。

一旦拥有了重新加密密钥,csp110可以丢弃user_140_ciphertext并且将重新加密密钥应用于csp110拥有的dek的副本,以获得密钥dek的副本,其是使用用户140的秘密密钥能够解密的。也就是说,重新加密过程从使用ap120的秘密密钥能够解密的dek的副本获得使用用户140的秘密密钥能够解密的dek的副本。可以将重新加密的密钥dek提供给用户140,以在访问明文时使用。当用户140随后请求密文时,csp110提供给用户140的密文是user_130_ciphertext,用户140能够使用重新加密的密钥dek来解密user_130_ciphertext以获得明文。

在上述重复删除过程中,ap120不会看到密文,csp110不会看到任何未加密版本的密钥dek。因此,可以访问明文的唯一实体是用户130和用户140。

用户130可以向csp110提供用户130的第二公开密钥,也可以使用密码学证书来证明用户130的第二公开密钥。同样地,用户140可以向csp110提供用户140的第二公开密钥,同样也可以使用密码学证书来证明用户140的第二公开密钥。在不只一个公开密钥密码学密钥对用于每个用户的实施例中,可以在验证签名中使用第二公开密钥,诸如例如,应用于哈希值的签名。在这些实施例中,例如,一对密钥可以用于重新加密目的,第二对用于消息传送和/或除了重新加密之外的任何其它用途。

当由用户从csp110删除重复删除的数据项时,csp110将在可以访问该数据项的所有用户都删除它时,删除所存储的数据项。如果一个用户删除该数据项,但是另一个用户(其可以访问相同的数据项)没有删除它,csp110仅是将该数据项指示为对从他的账户删除它的用户而言不再可以获得。

图2说明了根据本发明的至少一些实施例的示例系统用例。图2的系统类似于图1的系统,相似的编号表示与图1中相似的结构。在图2的系统中,在csp110和ap120之间没有分离的网络,而是csp110、ap120、用户130和用户140全部通过网络103通信。网络103可以包括:例如,互联网。一般地,不管是在图1、图2的系统中或在其它实施例中,可以使用传输层安全tls来加密在csp110和ap120之间的通信。除了传送密文之外,tls或另外的加密协议也可以用于csp110和用户之间的通信,以便除了实际的数据项之外,头部和其他数据也被加密。

图3说明了能够支持本发明的至少一些实施例的示例装置。说明了设备300,其可以包括:例如,图1或图2的csp110、用户130或用户140。设备300可以包括:台式服务器设备、膝上型计算机,或例如移动设备,诸如被布置为执行csp110的作用的平板计算机。被包含在设备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可以包括:用户接口ui360。ui360可以包括以下至少之一:显示器、小键盘、触摸屏、振动器(其被布置为通过使得设备300振动向用户传送信号)、扬声器和麦克风。用户可能能够通过ui360操作设备300,例如以接受配置数据存储配额并管理用户数据库。

设备300可以包括大存储模块370,或被配置为控制大存储模块370。大存储模块370可以包括:例如,磁盘阵列,其被配置为存储客户数据,或模块或接口,其被配置为控制此类磁盘阵列。

处理器310可以装备有传送器,其被布置为通过设备300内的电导线向包括在设备300中的其它设备输出来自处理器310的信息。此类传送器可以包括:串行总线传送器,其被配置为例如通过至少一个电导线向存储器320输出信息以用于存储在其中。作为串行总线的替代,传送器可以包括并行总线传送器。同样地,处理器310可以包括:接收器,其被配置为通过设备300内的电导线从被包括在设备300中的其它设备接收信息。此类接收器可以包括:串行总线接收器,其被配为例如通过至少一个电导线从接收器340接收信息以用于在处理器310中处理。作为串行总线的替代,接收器可以包括:并行总线接收器。

处理器310、存储器320、传送器330、接收器340、nfc收发器350、ui360和/或大存储模块370可以通过设备300内的电导线以多种不同的方式互连。例如,上述设备中的每个设备可以分别连接到设备300内部的主总线,以允许设备交换信息。然而,如本领域的技术人员了解的,这仅是一个示例,并且取决于实施例,在不背离本发明的范围的情况下,可以选择互连上述设备中的至少两个设备的各种方式。

图4说明了根据本发明的至少一些实施例的信令。在垂直轴上,从左到右公开了用户140、用户130、csp110、以及最后是ap120。上文结合图1已经描述了这些实体。

在阶段410中,例如,用户130使用由用户130随机或伪随机生成的密钥dek,加密明文以获得user_130_ciphertext。在阶段420中,用户130向用于存储的csp110提供至少以下:user_130_ciphertext、使用ap120的公开密钥加密的dek、和明文的密码学哈希。可以由用户130使用用户130的秘密密钥对密码学哈希进行签名。

在阶段430中,例如,用户140使用由用户140随机或伪随机生成的密钥,加密明文以获得user_140_ciphertext。在阶段440中,用户140向用于存储的csp110提供至少以下:user_140_ciphertext、使用ap120的公开密钥加密的密钥(该密钥用于对明文加密以获得user_140_ciphertext)、和明文的密码学哈希。可以由用户140使用用户140的秘密密钥对密码学哈希进行签名。

在阶段450,csp110可以基于在阶段420和440中接收的哈希的比较,确定在user_130_ciphertext和user_140_ciphertext下的明文是相同的。详细地,明文的相同确定哈希的相同,并且确定哈希是相同的允许确定明文是相同的。

在阶段460,csp110从ap120请求重新加密密钥。阶段460的请求可以包括以下至少之一:用户140的身份和用户140的公开密钥。例如,csp110可能已经在阶段440中接收了用户140的公开密钥。在阶段470中,非必须地,ap120可以验证重复删除是否是适当的,例如,对于涉及高优先级的用户的数据而言,可以禁用重复删除。在阶段470中,ap120得到所请求的重新加密密钥。详细地,ap120可以运行重新加密密钥导出算法,其可以采用以下作为输入:例如,用户140的公开密钥和ap120的公开和秘密密钥。如果向ap120提供了用户140的身份但是没有提供用户140的公开密钥,则ap120可以使用该身份从公开密钥库检索用户140的公开密钥。

在阶段480,ap120向csp110提供重新加密密钥,使得在阶段490中csp110能够从使用ap120的公开密钥加密的dek得到重新加密的加密密钥。在阶段4100,csp110向用户140提供重新加密的加密密钥。然后,用户140可以解密重新加密的加密密钥以获得密钥dek,其能够反转user_130_ciphertext的加密从而恢复明文。因此,使得csp110能够通过丢弃user_140_ciphertext以存储仅密文的一个副本,并且该数据被成功地重复删除。一般地,在csp110已经例如从先前的重新加密过程已经具有重新加密密钥的情况下,csp110不需要从ap120单独地请求重新加密密钥。在这点上,一般地,获得重新加密密钥可以包括:从ap120请求并且接收重新加密密钥,或者从csp110内部的存储器或者从在csp110的控制下的存储器检索重新加密密钥。

图5说明了根据本发明的至少一些实施例的信令。在图5中的信令类似于图4的信令,除了以下之外:在图5中,csp110确定用户140而不是用户130是明文的拥有者。

在阶段510中,用户130使用由用户130随机或伪随机生成的密钥dek,加密明文以获得user_130_ciphertext。在阶段520中,用户130向用于存储的csp110提供至少以下:user_130_ciphertext、使用ap120的公开密钥加密的dek和明文的密码学哈希。可以由用户130使用用户130的秘密密钥对密码学哈希进行签名。

在阶段530中,用户140使用由用户140随机或伪随机生成的密钥,加密明文以获得user_140_ciphertext。在阶段540中,用户140向用于存储的csp110提供至少以下:user_140_ciphertext、使用ap120的公开密钥加密的密钥(该密钥用于对明文加密以获得user_140_ciphertext)和明文的密码学哈希。可以由用户140使用用户140的秘密密钥对密码学哈希进行签名。

在阶段550,csp110可以基于在阶段420和440中接收的哈希的比较,确定在user_130_ciphertext和user_140_ciphertext下的明文是相同的。详细地,明文的相同确定哈希的相同。csp110还确定用户140是明文的拥有者。

在阶段560,csp110从ap120请求重新加密密钥。阶段560的请求可以包括以下至少之一:用户130的身份和用户130的公开密钥。例如,csp110可能已经在阶段520中已经接收了用户130的公开密钥。在阶段570中,非必须地,ap120可以验证重复删除是否是适当的。例如,对于涉及高优先级的用户的数据而言,可以禁用重复删除。在阶段570中,ap120得到所请求的重新加密密钥。详细地,ap120可以运行重新加密密钥导出算法,其可以采用以下作为输入:例如,用户130的公开密钥和ap120的公开和秘密密钥。如果向ap120提供了用户130的身份但是没有提供用户130的公开密钥,则ap120可以使用该身份从公开密钥库检索用户130的公开密钥。

在阶段580,ap120向csp110提供重新加密密钥,使得在阶段590中csp110能够从由用户140在阶段540中提供的密钥得到重新加密的加密密钥。在阶段5100,csp110向用户130提供重新加密的加密密钥。然后,用户130可以解密重新加密的加密密钥以获得用户140在加密明文以获得user_140_ciphertext时所使用的密钥。因此,使得用户130能够反转user_140_ciphertext的加密从而恢复明文。因此,使得csp110能够通过丢弃user_130_ciphertext以存储仅密文的一个副本,并且该数据被成功地重复删除。此外,可以由csp110丢弃由用户130提供的加密的密钥。

图6说明了根据本发明的至少一些实施例的信令。图6的轴对应于图4和图5的那些轴。图6的阶段600对应于图4中说明的所有阶段,其中阶段610发生在阶段4100之后。图6的过程对应于在csp110中更新重复删除的数据。

在阶段610中,用户130获得更新版本的明文。用户130随后使用新的密钥dek’加密更新的明文以获得user_130_ciphertext’,并且向csp110提供user_130_ciphertext’、使用ap120的公开密钥加密的dek’、以及非必需地,用户130的公开密钥和用户130的第二公开密钥。

在阶段630中,csp110从ap120请求重新加密密钥,该请求包括以下至少之一:用户140的公开密钥和用户140的身份。在阶段640中,ap120使用用户140的公开密钥和ap120的公开密钥和秘密密钥得到重新加密密钥。在阶段650中,ap120向csp110提供重新加密密钥。一般地,在csp110已经例如从先前的重新加密过程具有用户的重新加密密钥的情况下,csp110不需要单独从ap120请求重新加密密钥。在这点上,一般地,获得重新加密密钥可以包括:从ap120请求和接收重新加密密钥,或者从csp110内部的存储器或从在csp110的控制下的存储器检索重新加密密钥。

在阶段660中,csp110在加密的dek’上执行重新加密以获得用户140能够解密的重新加密的加密密钥。在阶段670中,csp120向用户140提供重新加密的加密密钥。在阶段670后,用户140能够使用用户140的秘密密钥获得密钥dek’,密钥dek’能够反转user_130_ciphertext’的加密。

csp110可以针对能够访问密文的每个用户导出重新加密密钥,以在更新后维护他们对数据的访问。

图7说明了根据本发明的至少一些实施例的第一方法的第一流程图。例如,所说明的方法的阶段可以在csp110中执行,或者在被配置为控制csp110的功能执行的控制设备中执行。阶段710包括:在装置中,从第一用户接收密文、第一哈希值和第一加密的加密密钥。阶段720包括:从第二用户接收第二哈希值和非必需地,第二用户的公开密钥。阶段730包括:响应于确定所述第一哈希值与所述第二哈希值相同,获得重新加密密钥。最后,阶段740包括:将所述重新加密密钥应用于所述第一加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第二用户的秘密密钥能够解密的。可以由用户使用他们各自的秘密密钥对哈希值(其可以包括密码学哈希)进行密码学签名。

图8说明了根据本发明的至少一些实施例的第二方法的第二流程图。例如,所说明的方法的阶段可以在csp110中执行,或者在被配置为控制csp110的功能执行的控制设备中执行。阶段810包括:从第一用户接收密文、第一哈希值和第一加密的加密密钥。阶段820包括:从第二用户接收第二哈希值和第二加密的加密密钥。阶段830包括:响应于确定所述第一哈希值与所述第二哈希值相同并且第二用户是密文的拥有者,获得重新加密密钥。最后,阶段840包括:将重新加密密钥应用于第二加密的加密密钥以获得重新加密的加密密钥,所述重新加密的加密密钥是使用所述第一用户的秘密密钥能够解密的。可以由用户使用他们各自的秘密密钥对哈希值(其可以包括密码学哈希)进行密码学签名。

图9说明了根据本发明的至少一些实施例的第三方法的第三流程图。例如,所说明的方法的阶段可以在用户设备140、用户设备130中,或者在被配置为控制用户设备140、用户设备130的功能执行的控制设备中执行。

阶段910包括:使用第一密钥从明文获得密文。阶段920包括:向服务器传送所述密文、从所述明文得到的哈希值和所述第一密钥,其中使用第二服务器的公开密钥对所述第一密钥加密。也就是说,第一密钥是以加密形式被传送的。阶段930包括:从所述服务器接收重新加密的密钥。阶段940包括:解密所述重新加密的密钥以获得第二密钥。最后,阶段950包括:使用所述第二密钥解密从所述服务器接收的第二密文,从而获得所述明文。哈希值可以包括:密码学哈希,可以使用秘密密钥对它进行签名。

将理解的是,所公开的本发明的实施例不局限于本文中公开的特定结构、过程步骤、或材料,而是可以扩展到如相关领域的技术人员将认识到的它们的等同物。还应当理解的是,本文中使用的术语仅用于描述特定实施例的目的,而不是旨在限制。

贯穿于本说明书,对“一个实施例”或“一种实施例”的引用意味着结合实施例所描述的特定特征、结构、或特点被包含在本发明的至少一个实施例中。因此,贯穿于整个说明书,在各个地方中,短语“在一个实施例中”“在一种实施例中”的出现未必全部指的是相同的实施例。

如本文中使用的,为了方便,多个物品、结构元素、组成元素、和/或材料可以存在于共同列表中。然而,这些列表应当被理解为:列表中的每个元素个体地被标识为单独的和唯一的成员。因此,此类列表的非个体元素应当被理解为:在没有相反的指示的情况下,仅基于在相同组中的它们的呈现,它们实际上是相同列表的任何其它成员的等同物。另外,本发明的各种实施例和示例可以连同针对它们的各种组件的可替代物一起在本文中被提及。理解的是,此类实施例、示例和可替代物不应当被理解为实际上是彼此的等同物,而是被理解为本发明的各自的和自治的表示。

此外,在一个或多个实施例中,所描述的特征、结构或特点可以以任何合适的方式被组合。在以下描述中,提供了许多特定的细节,诸如长度、宽度、形状等的示例以提供对本发明的实施例的彻底理解。然而,本领域的技术人员将认识到的是,可以在没有特定细节中的一个或多个细节,或者使用其它方法、组件、材料等,来实践本发明。在其它情况下,众所周知的结构、材料、或操作没有被示出,或者没有被详细地描述,以避免使本发明的各个方面不清楚。

尽管上述示例是在一个或多个特定应用中的本发明的原理的说明,但是对于本领域的技术人员而言将明显的是,在不背离本发明的原理和构思的情况下,可以在没有创造性人员的练习的情况下,做出在实现的形式、使用和细节中的许多修改。因此,旨在的不是限制本发明,本发明由以下给出的权利要求书来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1