具有安全对象复制的对象存储系统技术方案

技术编号:24865700 阅读:25 留言:0更新日期:2020-07-10 19:16
本发明专利技术公开了示例性分布式对象存储系统和方法,其提供安全的对象复制。数据对象被加密以用于读取并且被解密以用于写入,从而防止不需要访问用户数据的复制用户凭证进行不需要的数据访问。在用于读取和写入识别的数据对象的对象存储操作期间,读取操作被加密以创建对应于该识别的数据对象的加密的数据对象。该加密的数据对象可在第一存储节点和第二存储节点之间移动。在写入操作期间解密加密的数据对象以将该识别的数据对象写入到第二存储节点。对象存储操作中的用户凭证可识别用于选择性地加密和解密该识别的数据对象的复制用户凭证。

【技术实现步骤摘要】
【国外来华专利技术】具有安全对象复制的对象存储系统
本公开整体涉及数据存储,并且在更具体的示例中,涉及分布式数据存储。
技术介绍
通常,分布式存储系统用于以具有预定冗余级别的分布式且容错的方式存储大量(例如,太字节、拍字节、艾字节等)数据,诸如对象或文件。一些现有对象存储系统存储由对象标识符与文件系统引用的数据对象。这通常可以允许对象存储系统以灵活的方式超过文件系统的存储容量的最大极限,使得例如可以根据应用程序、系统和/或企业需求来添加或移除存储容量,同时随着系统增长而减少性能下降。因此,常常为大型存储系统选择对象存储系统。此类大型存储系统通常将对象存储系统中存储的数据对象分布在多个存储元件(诸如例如硬盘)或多个部件(诸如包括多个此类存储元件的存储节点)上。然而,随着此种分布式对象存储系统中的存储元件的数量增加,这些存储元件中的一个或多个存储元件的故障概率同样增加。为了应对该问题,分布式对象存储系统通常使用一定程度的冗余,这允许系统应对一个或多个存储元件的故障而不丢失数据。在其最简单的形式中,对象存储级别的冗余通过复制来实现,这意味着将数据对象的多个副本存储在分布式对象存储系统的多个存储元件上。当存储数据对象的副本的存储元件中的一个存储元件发生故障时,仍然可以从保持副本的另一个存储元件恢复该数据对象。在一些存储系统中,用于实现冗余的数据对象的复制由管理员监督或作为自动化系统任务进行监督,并且对于应用程序员和由存储系统支持的其它用户而言可能在很大程度上不可见。例如,在托管的存储模型中,复制过程可被设计成符合定义的服务质量,但是以其它方式需要来自应用程序用户和数据所有者的很少的输入。在遵循简单存储服务(S3)协议的对象存储系统中,数据对象通常由应用程序用户使用PUT命令放入存储系统中。然后可能是将所存储的对象复制到另一站点的系统任务,该另一站点可以包括同一对象存储提供方或另一遵循S3的提供方的另一站点。复制解决方案通常由并行运行的多个GET-PUT过程构成。在一些集成解决方案中,用户凭证用于保护静止数据(在存储元件中)以及区域间或站点间传送期间的数据。更具体地,可存在多个用户(存储桶所有者),他们具有他们自己的访问密钥和相关的加密密钥。他们可将数据对象存储在他们具有访问权限的存储桶中,并且可以多种方式(服务器侧加密(SSE)、利用客户加密的服务器侧加密(SSE-C)、客户端侧加密等)保护静止数据。然而,在复制期间使用实际存储桶所有者用户凭证可能导致性能下降。下级网络库(诸如负责复制的那些)创建与某个源存储节点和某个目标存储节点的连接,该连接可重复用于多次传送。如果复制代理正在复制来自不同存储桶所有者的对象,则其将必须关闭连接,切换用户凭证,并且为每个传送建立新的连接,因为不能重复使用所有者特定的连接。这些变化具有性能成本。此外,当将数据对象复制到不同站点上的不同存储桶时,复制代理可能无法访问两个存储桶所有者的用户凭证。复制代理需要访问凭证以从源存储节点读取并写入到目标存储节点,这对于跨多个部署和/或站点进行管理可能是具有挑战性的。在许多解决方案中,这涉及创建具有对所有存储桶的访问权限的管理或支持凭证,这可能表示显著的安全风险。即使通信信道是安全的,诸如使用超文本传输协议安全(HTTPS),用户数据也有在处理期间被传输应用程序诸如复制代理暴露的风险。这些传输应用程序中的一些传输应用程序可为由第三方维护的托管应用程序,从数据所有者的角度来看,降低了那些应用程序中的可信级别。传输应用程序或代理可能有意或无意地误用全访问凭证从而暴露用户数据。即使存储节点确保静止时的数据安全性,并且安全通信信道确保路由期间的数据安全性,中间处理也可启用允许在用户不知道的情况下进行用户数据访问的安全孔。即使在预置解决方案中,多个部门和/或用户组也可维护自己的控件、访问凭证和安全标准。多个部署可能使得难以遵循每个部门的安全数据移动标准和/或使用单独的所有者用户凭证或启用全访问用户(即使全访问用户凭证可以被隐藏)的部署来在存储节点之间维护数据安全性。存在对数据对象的至少改善的安全复制的需要,以防止对用户数据的未授权访问。例如,当在遵循S3的解决方案或提供方中复制数据时,需要防止用户数据在复制期间暴露。
技术实现思路
本专利技术描述了分布式对象存储系统中的数据对象复制、特别是安全数据对象复制的各个方面。在创新方面,系统包括至少一个处理器、耦接到该至少一个处理器的至少一个存储器、以及被配置为接收数据对象的多个存储节点。控制器节点存储在至少一个存储器中并能够由至少一个处理器执行以与多个存储节点进行通信以用于读取和写入数据对象。验证器存储在至少一个存储器中并能够由该至少一个处理器执行,以识别用于读取在对象存储操作中请求的识别的数据对象的用户凭证,该用户凭证具有用户类型。该用户类型选自所有者用户类型和复制用户类型。加密引擎被存储在该至少一个存储器中,并且能够基于用户类型由至少一个处理器选择性地执行,以在响应于用户类型是复制用户类型而从多个存储节点中的至少一个存储节点读取该识别的数据对象时加密识别的数据对象。该控制器节点能够执行以读取该识别的数据对象,从而执行对象存储操作。在各种实施方案中,验证器还由该至少一个处理器执行以识别用于将该识别的数据对象写入到多个存储节点中的至少一个存储节点的用户凭证。该存储系统还可包括解密引擎,该解密引擎存储在该至少一个存储器中并能够基于用户类型由至少一个处理器选择性地执行,以在响应于用户类型是复制用户类型而将识别的数据对象写入到多个存储节点中的至少一个存储节点时解密该识别的数据对象。该控制器节点能够执行以写入该识别的数据对象,从而执行对象存储操作。该控制器节点可执行以从不同的存储系统接收该识别的数据对象,并且当该识别的数据对象被接收时该识别的数据对象被加密。该加密引擎、解密引擎和不同的存储系统可各自包括公共加密密钥。该验证器、加密引擎和解密引擎可包括在与控制器节点通信的代理应用程序中。该对象存储操作可在读取或写入该识别的数据对象之前由代理应用程序处理。在一些实施方案中,用户类型是与验证器处理的对象存储操作相关联的标记。该存储系统还可包括高速缓存存储器,该高速缓存存储器用于在对象存储操作期间将该识别的数据对象存储在控制器节点中。该识别的数据对象可在被存储在高速缓存存储器中之前由加密引擎加密。在各种实施方案中,控制器节点可执行以将用于对象存储操作的用户类型设定成用于未由应用程序用户发起的系统任务的复制用户类型,并且还包括对象存储代理。对象存储代理可被配置用于发送符合简单存储服务应用程序协议接口的超文本传送协议(HTTP)调用,并且使用GET操作从第一存储节点读取该识别的数据对象,以及使用PUT操作将该识别的数据对象写入第二存储节点。当用户类型是复制用户类型时,可在GET操作期间通过加密引擎选择性地路由该识别的数据对象,并且在PUT操作期间通过解密引擎选择性地路由该识别的数据对象。该HTTP调用可被加密以用于在多个存储节点之间路由,而与加密引擎加密该识别的数据对象无关。在另一个创本文档来自技高网
...

【技术保护点】
1.一种存储系统,包括:/n至少一个处理器;/n至少一个存储器,所述至少一个存储器耦接到所述至少一个处理器;/n多个存储节点,所述多个存储节点被配置为接收数据对象;/n控制器节点,所述控制器节点存储在所述至少一个存储器中并能够由所述至少一个处理器执行以与所述多个存储节点进行通信以用于读取和写入数据对象;/n验证器,所述验证器存储在所述至少一个存储器中并能够由所述至少一个处理器执行以识别用于读取在对象存储操作中请求的识别的数据对象的用户凭证,所述用户凭证具有用户类型,所述用户类型选自所有者用户类型和复制用户类型;和/n加密引擎,所述加密引擎存储在所述至少一个存储器中并能够基于所述用户类型由所述至少一个处理器选择性地执行,以在响应于所述用户类型是所述复制用户类型而从所述多个存储节点中的至少一个存储节点读取所述识别的数据对象时加密所述识别的数据对象,/n其中所述控制器节点还能够执行以读取所述识别的数据对象来执行所述对象存储操作。/n

【技术特征摘要】
【国外来华专利技术】20180612 US 16/006,8161.一种存储系统,包括:
至少一个处理器;
至少一个存储器,所述至少一个存储器耦接到所述至少一个处理器;
多个存储节点,所述多个存储节点被配置为接收数据对象;
控制器节点,所述控制器节点存储在所述至少一个存储器中并能够由所述至少一个处理器执行以与所述多个存储节点进行通信以用于读取和写入数据对象;
验证器,所述验证器存储在所述至少一个存储器中并能够由所述至少一个处理器执行以识别用于读取在对象存储操作中请求的识别的数据对象的用户凭证,所述用户凭证具有用户类型,所述用户类型选自所有者用户类型和复制用户类型;和
加密引擎,所述加密引擎存储在所述至少一个存储器中并能够基于所述用户类型由所述至少一个处理器选择性地执行,以在响应于所述用户类型是所述复制用户类型而从所述多个存储节点中的至少一个存储节点读取所述识别的数据对象时加密所述识别的数据对象,
其中所述控制器节点还能够执行以读取所述识别的数据对象来执行所述对象存储操作。


2.根据权利要求1所述的存储系统,其中:
所述验证器还能够执行以识别用于将所述识别的数据对象写入到所述多个存储节点中的至少一个存储节点的所述用户凭证;
所述存储系统还包括解密引擎,所述解密引擎存储在所述至少一个存储器中并能够基于所述用户类型由所述至少一个处理器选择性地执行,以在响应于所述用户类型是所述复制用户类型而将所述识别的数据对象写入到所述多个存储节点中的至少一个存储节点时解密所述识别的数据对象;并且
所述控制器节点还能够执行以写入所述识别的数据对象来执行所述对象存储操作。


3.根据权利要求2所述的存储系统,其中:
所述控制器节点还能够执行以从不同的存储系统接收所述识别的数据对象;并且
当所述识别的数据对象被接收时,所述识别的数据对象被加密。


4.根据权利要求3所述的存储系统,其中所述加密引擎、所述解密引擎和所述不同的存储系统各自包括公共加密密钥。


5.根据权利要求2所述的存储系统,其中:
所述验证器、所述加密引擎和所述解密引擎被包括在与所述控制器节点通信的代理应用程序中;并且
在读取或写入所述识别的数据对象之前,由所述代理应用程序处理所述对象存储操作。


6.根据权利要求2所述的存储系统,其中:
所述控制器节点还能够执行以将用于所述对象存储操作的所述用户类型设定成用于未由应用程序用户发起的系统任务的所述复制用户类型;
所述控制器节点还包括对象存储代理,所述对象存储代理被配置用于:
发送符合简单存储服务应用程序协议接口的超文本传送协议(HTTP)调用;
使用GET操作从第一存储节点读取所述识别的数据对象;以及
使用PUT操作将所述识别的数据对象写入到第二存储节点;
响应于所述用户类型是所述复制用户类型,在所述GET操作期间通过所述加密引擎选择性地路由所述识别的数据对象,并且在所述PUT操作期间通过所述解密引擎选择性地路由所述识别的数据对象;并且
所述HTTP调用被加密以用于在所述多个存储节点之间路由,而与加密引擎加密所述识别的数据对象无关。


7.根据权利要求1所述的存储系统,其中:
所述用户类型是与由所述验证器处理的所述对象存储操作相关联的标记;
所述标记的第一值为所述所有者用户类型;并且
所述标记的第二值为所述复制用户类型。


8.根据权利要求1所述的存储系统,还包括高速缓存存储器,所述高速缓存存储器用于在对象存储操作期间将所述识别的数据对象存储在所述控制器节点中,其中所述加密引擎还能够执行以在被存储在所述高速缓存存储器中之前加密所述识别的数据对象。


9.一种计算机实现的方法,包括:
发起用于读取和写入识别的数据对象的对象存储操作;
从第一存储节点读取所述识别的数据对象;
当从所述...

【专利技术属性】
技术研发人员:S·罗伊
申请(专利权)人:西部数据技术公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1