用于从客户端设备向云存储系统存储数据块的方法与流程

文档序号:17816158发布日期:2019-06-05 21:42阅读:291来源:国知局
用于从客户端设备向云存储系统存储数据块的方法与流程

本发明涉及用于从客户端设备向云存储系统存储数据块的方法,该方法包括以下步骤:在云存储系统上存储经加密的第一数据块和第一客户端设备的第一数据块的挑战(challenge),以及确定存储在云存储系统上的第二客户端设备的第二数据块的散列是否等于第一数据块的散列。



背景技术:

工业设备和整个控制系统的数据备份可以存储在云中,例如,云存储系统上。在关于本地控制系统的问题的情况下,包括操作系统、控制系统和客户特定配置的数据可以从存储于云中的远程备份进行恢复。通常,在不同客户之间以及在不同备份之间存在相当大量类似的或者甚至同样的备份数据,例如,操作系统文件、控制系统软件、标准软件等。

一般地,朝向权衡保密性对比空间来设计云存储系统:一方面,如果数据以经加密的方式进行存储,客户拥有加密密钥。然而,来自每个租户(tenant)的经加密的数据通常不同,并且取决于加密算法,甚至从备份到备份也不同。另一方面,以未经加密的方式存储数据的云存储系统可以通过消除重复数据的存储而显著地减少存储空间。实际上,备份存储空间可以针对操作系统文件、控制系统软件和标准软件而减少90-95%。

在未经加密的情况下存储备份数据面临客户接受度的问题:客户不情愿将其敏感数据发送给在没有保护的情况下存储它的未知服务器。除此之外,高度复杂的针对性攻击可能如今使云受损。因而,在此区域中提供的任何云必须在甚至使得服务提供商不能够在没有牵涉到客户的情况下重构客户所拥有的数据的明确文本的此类程度下提供数据保密性。

us2013/246790a1描述了一种存储方法,包括:利用存储密钥对数据进行加密以获得经加密的数据,利用两个不同的加密方法对存储密钥进行加密以分别地生成个人密钥和数据密钥,以及在服务器中保存经加密的数据、个人密钥和数据密钥,其中个人密钥可以利用来自拥有数据的用户的密钥进行解密以获得存储密钥,并且数据密钥可以利用未经加密的数据进行解密以获得存储密钥。

然而,如之前所概述,存储利用客户的密钥加密的数据的简明直接的方法面临巨大数据重复的问题:不同客户的大量数据是相同的,并且存在相同客户的每日备份之间的甚至更多的重复。重复由于针对数据存储的成本而减少总体利润。例如,如果每天或者甚至每小时上载完整的服务器图像,则备份还花费更长的时间并且要求更多的带宽。



技术实现要素:

因此,本发明的目标是提供一种用于存储经加密的数据的方法,所述经加密的数据甚至跨各客户也不重复,由此存储空间的服务提供商不能够对数据进行解密,并且由此客户不能查明其他人存储什么。

本发明的目标通过独立权利要求的特征来解决。优选的实施例在从属权利要求中描述。

因而,通过一种用于从客户端设备向云存储系统存储数据块的方法来解决该目标,该方法包括以下步骤:

d)在云存储系统上存储经加密的第一数据块和第一客户端设备的第一数据块的挑战,

e)确定存储在云存储系统上的第二客户端设备的第二数据块的散列是否等于第一数据块的散列,

f)如果是,则从云存储系统向第二客户端设备传输第一数据块的挑战,

g)在第二客户端设备处提取包含在挑战中的范围处或者位置处的位,对所提取的位进行散列化,利用第一客户端设备或者第二客户端设备的公共密钥对散列化的位进行加密,以及从第二客户端设备向云存储系统上载经加密的位,以及

h)在云存储系统上存储来自第二客户端设备的经加密的位。

因此,本发明的关键点在于,对备份数据进行加密,而同时避免甚至跨各客户的重复数据。方法因此是遭受重复问题的任何种类的备份服务的关键促成者,同时维持敏感数据的保密性。方法提供了增加的利润,因为存储成本显著降低。从客户的角度来看,在发生故障时,方法确保了低恢复时间,因为它仅需要从备份服务下载恢复图像。相比于其中需要重新安装完整服务器和/或应用软件的解决方案,方法减少了生产停工时间,并且因此提供了用于在这种保险方面投资的极大动机。相比于本地备份,方法确保了永久的、省事的备份。客户不需要注意备份的数据完整性或者核实备份已经作出,而是可以将这个服务外包给云存储系统提供商。

客户端设备是能够访问文件并且跨网络连接与云存储系统通信的计算设备。例如,客户端设备可以被提供为台式计算机、膝上型计算机、服务器、平板计算机、掌上型计算机、智能电话、机顶盒或游戏操控台。云存储系统可以被提供为包括用于存储数据块的多个硬驱动的服务器。客户端设备优选地通过通信网络与云存储系统耦合,所述通信网络诸如局域网、无线网络或者广域网。

存储步骤优选地包括在云存储系统上保存经加密的第一数据块和第一数据块的挑战。确定步骤优选地包括在第二数据块的散列与第一数据块的所存储的散列之间进行比较,并且在比较导致相等(相应地同一性)的情况下揭示正面响应。传输步骤优选地包括在云存储系统上存储第一数据块的挑战的副本。提取步骤优选地包括用于隔离所述位或者范围的逻辑操作。

根据另一优选的实施例,方法包括在步骤d)到h)之前的以下另外的步骤:

a)确定第一客户端设备的第一数据块的散列是否存储在云存储系统上,

b)如果否,则从云存储系统向第一客户端设备提供针对第一数据块的上载请求,以及

c)响应于此,在第一客户端设备处利用随机生成的对称密钥对第一数据块进行加密,在第一数据块或者第一数据块的位范围的随机选择的位位置处创建散列化的位的挑战并且利用第一客户端设备的私人密钥对挑战进行加密,以及从第一客户端设备向云存储系统上载经加密的第一数据块和挑战。

使用数据块的散列是有利的,因为散列表示用于每个数据块的简短且最有可能的唯一元数据。通过使用强散列函数,计算对应于给定散列的数据块是不可行的,并且因而是安全的措施。另外,通过询问数据块中的随机选择的位位置或者范围处的位的散列而创建挑战是有利的,因为如果数据块是以兆字节的量级而相当大的话,以及如果选择随机范围的话,攻击者检索正确的散列是不可行的。

根据另外优选的实施例,方法包括以下另外的步骤:i)从云存储系统向第一客户端设备发送挑战和经加密的位。

根据另一优选的实施例,方法包括以下另外的步骤:

j)在第一客户端设备处提取包含在挑战中的范围处或者位置处的位,对所提取的位进行散列化,利用第二客户端设备的公共密钥对散列化的位进行加密,并且将经加密的位与在步骤c)中创建的挑战进行比较,或者包括步骤i),与在步骤i)中接收的挑战进行比较,

k)如果比较导致相等,利用第二客户端设备的公共密钥对在步骤c)中使用的对称密钥进行加密,并且从第一客户端设备向云存储系统发送经加密的对称密钥连同第一数据块或者第一数据块的位范围的随机选择的位位置处的散列化的位的新挑战,

l)在云存储系统上存储新挑战和经加密的对称密钥。

通过将旧挑战和从第二客户端设备接收的响应转发给第一客户端设备,云存储系统可以请求第一客户端设备核实所接收的结果。利用步骤j)到l),第一客户端设备然后可以通过计算给定范围处的位的散列而核实第二客户端的拥有权的要求。替换地,第一客户端设备可以追踪其当前发布的挑战并且存储散列。

根据另外优选的实施例,方法包括以下另外的步骤:

m)从云存储系统向第二客户端设备发送经加密的对称密钥,

n)利用第二客户端的私人密钥来解密对称密钥并且存储第二客户端设备的对称密钥。

云存储系统将经加密的密钥发送给优选地由第一客户端设备签名的第二客户端设备,使得第二客户端设备可以核实真实性。因为利用第二客户端的私人密钥来加密对称密钥,所以第二客户端设备可以解密它并且存储它以供随后使用。

根据另一优选的实施例,方法包括以下另外的步骤:

o)从第一客户端或第二客户端向云存储系统发送针对第一数据块的下载请求,

p)响应于此,将经加密的第一数据块从云存储系统发送给第一客户端或第二客户端设备,

q)在第一客户端或第二客户端设备处利用对称密钥来对所接收的第一数据块进行解密。

步骤o)到q)提供了一种用于第一数据块的检索机制。优选地,第一或第二客户端设备发送第一数据块的散列。作为对其的返回,云存储系统发送经加密的第一数据块。第一或第二客户端设备然后可以通过使用对应的对称密钥来恢复第一数据块。

根据另外优选的实施例,方法包括以下另外的步骤:

如果不能访问第一客户端设备以用于执行步骤i)或步骤j),则从云存储系统向第二客户端设备提供针对第二数据块的上载请求,

响应于此,在第二客户端设备处利用另外随机生成的对称密钥来对第二数据块进行加密,在第二数据块或者第二数据块的位范围的随机选择的位位置处创建散列化的位的另外的挑战并且利用第二客户端设备的私人密钥对另外的挑战进行加密,以及从第一第二设备向云存储系统上载经加密的第二数据块和另外的挑战,

在云存储系统处临时地存储经加密的第二数据块和另外的挑战,

一旦可以再次访问第一客户端设备,则执行步骤i)或者步骤i)和j),并且如果比较成功,则从云存储系统删除临时存储的经加密的第二数据块以及另外的挑战。

如果例如由于故障或者网络停工时间而不能达到第一客户端设备,则第二客户端设备可不具有对相应数据块的访问,直至第一客户端设备为第二客户端设备的拥有权的要求进行担保为止。为了解决这样的情况并且为了使得方法与客户端设备的可用性无关,在接收到第一数据块的散列之后,云存储系统发布上载请求,并且临时地存储相同数据块的多个副本,直至已经核实拥有相同数据块的所有客户端设备为止。此后,数据块的“额外”副本可以被删除。

根据另一优选的实施例,方法包括以下另外的步骤:在云存储系统处执行关于来自第二客户端设备的所上载的挑战和所上载的经加密的位的同态化加密。同态化加密已经被证明是特别有利和有效的。根据另外优选的实施例,方法包括以下另外的步骤:通过第一客户端设备、第二客户端设备和/或云存储系统响应于上载而发送和确认。

根据另一优选的实施例,方法包括用于供应第一客户端设备的公共密钥和/或第二客户端设备的公共密钥的公共密钥基础设施。这样的公共密钥基础设施优选地经由通信网络与客户端设备和/或云存储系统连接。

根据另外优选的实施例,第一数据块和/或第二数据块包括0.5、1、2或5mb的大小。根据另一优选的实施例,向每个第一数据块和/或每个第二数据块提供单独的对称密钥。

附图说明

本发明的这些和其它方面将根据下文描述的实施例是显而易见的并且参照下文描述的实施例进行阐述。

在附图中:

图1以示意图示出了用于执行根据本发明的优选实施例的方法的布置,以及

图2到6示出了用于根据本发明的优选实施例的方法的不同流程图。

具体实施方式

图1示出了根据本发明的优选实施例的方法的基本机构。当第一客户端设备1想要将敏感第一数据块2上载到云存储系统3上时,第一客户端设备1首先向云存储系统3发送以第一数据块2的散列的形式的明码文本元数据以检查第一数据块2是否已经存储于云存储系统3上(步骤1.1)。此元数据是简短的并且唯一地标识第一数据块2。如果第一数据块2尚未存在于云存储系统3上,则第一客户端设备1在接收到上载请求(步骤1.2)时以经加密的形式连同加密材料向云存储系统3发送第一数据块2(步骤1.3)。随后,云存储系统3存储经加密的第一数据块2外加加密材料(步骤1.4)。

如果第二客户端设备4想要存储第二数据块5,则云存储系统3使用由第二客户端设备4提供的元数据(步骤2.1)来检查云存储系统3是否已经存储第二数据块5。如果云存储系统3之前未曾看到此元数据,即云存储系统3接收到针对新块(即第二数据块5)的上载请求,则实施如针对第一客户端设备1那样的相同步骤(步骤1.2到1.4)。否则,云存储系统3针对与第二客户端设备4的挑战-响应交换而使用加密材料(步骤2.2到2.3)以核实第二客户端设备4想要上载的第二数据块5和所存储的第一数据块2相同。因而,第二客户端设备4证明了相同数据块2的拥有权,而没有揭示关于第一数据块2的内容的任何信息。如果核实成功,则第二客户端设备4被添加为第一数据块2的拥有者,授予第二客户端设备4在未来访问它的权利(步骤2.4)。

方法确保每个单独的数据块2、5不仅只存储一次,而且还只被转移到云存储系统3一次,这将带宽使用最小化,同时在云存储系统3不知晓关于数据块2、5本身的内容的任何事物(除了从数据导出的元数据之外)的方面保证了数据块2、5的数据的保密性。因为与发送文件相反地来逐块地发送数据,所以具有对云存储系统3的访问的攻击者还不能推断关于所存储的数据块2、5的大小的任何事物,因为所有数据块2、5具有相等的大小。

取决于加密挑战的实现,有利的是使云存储系统3与作为第一数据块2的原始上载者的第一客户端设备1进行交互,以便准许对通过所述拥有权测试的第二客户端设备4的访问,如随后所述。如果不能(始终)达到第一客户端设备1,则第二客户端设备4可不具有对第一数据块2的访问,直至第一客户端设备1为第二客户端设备4的拥有权的要求进行担保为止。

对之前描述的基本方案的延迟容忍变形解决了这个问题:在接收到元数据之后,云存储系统3总是发布上载请求,并且临时地存储相同数据块2、5的多个副本,直至已经核实拥有相同数据块2、5的所有客户端设备1、4为止。此时,可以删除数据块5的额外一个(或多个)副本。此方案的优点清楚地在于,不存在对客户端1、4的可用性的依赖性。然而,在云存储系统3处临时地使用稍微更多的盘空间,并且还由于相同数据块2、5的重复上载而消耗更多的带宽。总体上,云存储系统3上的空间要求显著地降低,同时保持所存储的数据的保密性。

图2示出了之前描述的用于在云存储系统3中存储第一数据块2和用于第一数据块2的挑战的方法的更为具体的实施例。将数据项目的散列用作针对每个数据项目的简短且(更有可能地)唯一的元数据。在给定强散列函数的情况下,计算与给定散列对应的数据块是不可行的。使用新的随机生成的对称密钥来对每个数据块2、5进行加密。第一客户端设备1持有对称密钥。因为对称密钥是小的,所以密钥存储不要求大量的空间。

通过询问第一数据块2中的随机选择的位位置或范围处的位的散列来实现挑战。如果第一数据块2相当大(例如以兆字节的量级)并且选择随机范围,则攻击者得到正确的散列是不可行的。图2示出了使用基于范围的散列和加密挑战的插入机制。要指出,第一客户端设备1(相应地客户端a)对挑战签名,使得可以核实其真实性,即通过公共密钥基础设施6。

第二客户端设备4(相应地客户端b)可以通过提取在挑战中给定的范围处的位、使它们散列化、利用其自身的公共密钥加密结果以及将所签名的结果发送给云存储系统3而证明它拥有相同的数据块2、5,参见图3,示出了第二客户端设备2设法在云存储系统3上存储相同的数据块5。替代再次存储数据块5,第二客户端设备4必须通过向挑战提交正确的响应而证明它具有数据块5。替换地,它还可以使用第一客户端设备1的公共密钥来对结果加密。

云存储系统3然后可以通过将旧挑战和从第二客户端设备4接收的响应转发给第一客户端设备1来请求第一客户端设备1核实所接收的结果。第一客户端设备1通过计算给定范围处的位的散列、利用第二客户端设备4的公共密钥对此散列加密以及检查相等来核实第二客户端设备4的拥有权的要求。

替换地,第一客户端设备1可以追踪其当前发布的挑战并且存储散列。在这个情况下,第一客户端设备1必须仅利用第二客户端设备4的公共密钥来对散列加密,以核实第二客户端4确实拥有相同的数据块2、5。如果校验成功,则第一客户端设备1利用第二客户端设备4的公共密钥来对用来加密此块的对称密钥k进行加密,并且将它连同用于相同数据块2、5的新挑战发送到云存储系统3。云存储系统3存储新挑战和经加密的密钥k,参见图4。

最后,云存储系统3将经加密的密钥k发送给第二客户端设备4。此消息被第一客户端设备1签名,使得第二客户端设备4可以核实消息的真实性。因为利用第二客户端设备4的公共密钥来对块密钥k加密,所以第二客户端设备4可以解密它并且存储它以供随后使用,参见图5。

数据块检索机制以类似的方式工作。第一客户端设备1通过发送块元数据(例如,数据块2、5的散列)来询问特定数据块2、5。云存储系统3返回经加密的数据块2、5。第一客户端设备1然后可以使用对应的对称密钥来恢复第一数据块2,参见图6。

虽然已经在附图和前面的描述中详细地图示和描述了本发明,但是这样的图示和描述要被视为是说明性或示例性且非约束性的;本发明不限于所公开的实施例。在实施所要求保护的发明时,本领域技术人员可以根据附图、公开内容和随附权利要求的研究而理解和实现对所公开的实施例的其它变化。在权利要求中,词语“包括”不排除其它元件或步骤,并且不定冠词“一”或“一个”不排除多个。在相互不同的从属权利要求中记载某些措施的仅有事实并不指示这些措施的组合不能用来获益。权利要求中的任何参考符号不应当被解释为限制范围。

参考符号列表

1第一客户端设备

2第一数据块

3云存储系统

4第二客户端设备

5第二数据块

6公共密钥基础设施

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