数据安全服务系统的制作方法_2

文档序号:9401962阅读:来源:国知局
收带有所检索数据的同步响应)。另 一个数据储存服务系统可提供存档数据储存服务系统。这种存档数据储存服务系统可利用 异步请求处理。例如,检索数据的请求可不接收包括所检索数据的同步响应。相反地,一旦 存档数据储存服务系统准备好提供所检索数据,存档数据储存服务系统就可要求提交获取 所检索数据的第二请求。如另一个实例,环境200可包括计量服务系统,所述计量服务系统 接收来自密码服务系统(和/或其他服务系统)的信息并且使用所述信息产生会计记录。 会计记录可用于针对密码服务系统(和/或其他服务系统)的使用给客户开账单。此外, 来自密码服务系统的信息可提供如何会产生费用的指示。例如,在一些情况下,可向客户提 供针对密码服务系统的使用的账单。在其他情况下,针对密码服务系统的使用的费用可卷 入其他服务系统(如作为其操作的一部分,利用密码服务系统的数据服务系统)的使用费 用中。使用可以各种方式来计量并开账,如每操作、每时间段和/或以其他方式。其他数据 服务系统也可包括在环境200 (或本文描述的其他环境)中。
[0039] 另外,图2描述用户与数据服务前端交互。应理解,用户可通过图中未示出的用户 装置(例如,计算机)与数据服务前端交互。此外,图2 (和图中的其他地方)描述的用户也 可代表非人类实体。例如,在计算机系统上执行的自动化过程可与如本文所述的数据服务 前端交互。作为一个说明性实例,由图2中的用户代表的实体可以是服务器,作为服务器的 操作的一部分,服务器使用数据服务前端向/从数据服务后端存储系统存储和/或检索数 据。作为又一个实例,由图2中的用户代表的实体可以是作为计算资源提供者的服务系统 提供的实体,所述计算资源提供者操作图2中的一个或多个服务系统。例如,图2中的用户 可代表由计算资源提供者提供的程序执行服务系统的虚拟或其他计算机系统。其他变体, 包括下文描述的其他环境的变体,也被视为是在本公开的范围内。
[0040] 例如,图3示出可实现本公开的各个实施方案的环境300的说明性实例。与图2 一样,图3中的环境包括认证服务系统、数据服务前端系统(数据服务前端)、密码服务系统 和数据服务后端储存系统。认证服务系统、数据服务前端、密码服务系统和数据服务后端储 存系统可如上文结合图2描述那样被配置。例如,用户可通过合适的通信网络访问数据服 务前端,尽管这样的网络未在图中示出。在图3所示的示例性环境300中,提供表示信息流 动的箭头。在这个实例中,用户向数据服务前端传输PUT请求。PUT请求可以是将指定数据 存储在数据服务后端储存系统中的请求。响应于PUT请求,数据服务前端可以确定PUT请 求是否可信,也就是用户是否已经以所请求操作可根据由系统实施的认证策略来执行的方 式提交请求。
[0041] 在图3中,示出如何可做出此类认证决定的说明性实例。在这个具体实例中,数据 服务前端向认证服务系统提交认证请求。认证服务系统可使用认证请求来确定来自用户的 PUT请求是否可信。如果请求可信,则认证服务系统可向数据服务前端提供认证证明。认 证证明可以是可由另一个服务系统(如密码服务系统)使用以独立地确定接收到可信请 求的电子令牌或其他信息。在一个说明性实例中,PUT请求与PUT请求的签名一起被传输。 PUT请求及其签名通过认证服务系统来提供,如果可信,认证服务系统独立地计算签名应该 是什么。如果由认证服务系统生成的签名匹配由用户提供的签名,则认证服务系统可确定 PUT请求可信并且作为响应可提供认证证明。确定PUT请求是否可信还可包括与策略的强 制实施有关的一个或多个操作。例如,如果签名有效但策略以其他方式指示不应完成PUT 请求(例如,请求在由策略所不允许的时间期间提交),则认证服务系统可提供指示请求不 可信的信息。(然而,应注意,这样的策略强制实施可由环境300的其他组件执行。)认证 服务系统可生成签名,如通过使用由认证服务系统和用户共享的密钥。如上所述,认证证明 可以是另一个服务系统(如密码服务系统)可根据其独立地验证请求可信的信息。例如, 使用图3所示的密码服务系统的实例,认证证明可至少部分地基于由认证服务系统和密码 服务系统两者共享的密钥(如其他服务系统不可访问的密钥)生成。
[0042] 如图3所示,在接收到来自认证服务系统的认证证明之后,数据服务前端向密码 服务系统提供明文和认证证明。可根据到密码服务系统的API调用或其他电子请求(例如, 加密API调用)提供明文和认证证明。密码服务系统可分析认证证明以确定是否对明文进 行加密。
[0043] 应注意,可向密码服务系统提供另外信息。例如,将要用于对明文进行加密的密钥 的标识符可作为来自数据服务前端(其又可能已经接收来自用户的标识符)的API调用的 输入参数被提供。然而,应注意,标识符可不被传输至密码服务系统。例如,在各个实施方 案中,可以其他方式确定使用哪个密钥来加密明文。例如,从数据服务前端传输至密码服务 系统的信息可包括与用户关联的信息,如用户和/或与用户关联的组织的标识符,如用户 已经代表其提交PUT请求的客户的标识符。此类信息可由密码服务系统用于确定将要使用 的默认密钥。换句话说,密钥可由可用于确定密钥的信息隐式地指定。一般地,将要使用的 密钥的确定可以任何合适的方式来执行。此外,在一些实施方案中,密码服务系统可生成或 选择密钥,并且提供后来将要使用的所生成或选择密钥的标识符。另一个示例性API参数 可以是为其执行加密操作的客户账户的主密钥的标识符。
[0044] 如图3所示,如果认证证明对于密码服务系统加密明文来说是足够的,则密码服 务系统可执行一个或多个密码操作。在实施方案中,一个或多个密码操作可包括生成将要 用于对明文进行加密的包络密钥的操作。包络密钥可以是随机生成的对称密钥或密钥对的 私人密钥。在生成包络密钥之后,密码服务系统可利用API调用中指定的主密钥对包络密 钥进行加密,并使得已加密包络密钥持久地被储存(例如,通过将已加密密钥存储在储存 服务系统或一些其他持久性储存装置中)或丢弃。另外,密码服务系统可向数据服务前端 发送包络密钥的明文版本以及已加密包络密钥。数据服务系统随后可使用包络密钥的明文 版本对明文(即,与加密请求关联的数据)进行加密,并且使得包络密钥被储存在与用于对 包络密钥进行加密的主密钥的标识符关联的持久性储存装置中。此外,数据服务系统可丢 弃包络密钥的明文版本。因此,在实施方案中,在数据服务系统丢弃包络密钥的明文版本之 后,数据服务系统将不再能够对密文进行解密。
[0045] 在替代实施方案中,密码操作可包括对明文进行加密。例如,密码服务系统对明文 进行加密并向数据服务前端储存系统提供密文。数据服务前端随后可向数据服务后端储存 系统提供密文以便根据其操作进行持久性储存。还可将其他信息从数据服务前端传输至数 据服务后端存储系统。例如,用于对明文进行加密以生成密文的密钥的标识符可与密文一 起提供以便由数据服务后端储存系统储存。还可提供其他信息(如标识用户和/或用户的 组织的元数据)。
[0046] 与本文描述的所有环境一样,众多变体被视为是在本公开的范围内。例如,环境 300的各种组件之间的信息流动可不同于所示的那样。例如,通过中间组件从一个组件流动 至另一个组件的信息(例如,从认证服务系统到密码服务系统的数据和/或从密码服务系 统到数据服务后端储存系统的数据)可直接和/或通过环境300的其他中间组件(未必包 括在图中)被提供至其目的地。作为另一个实例,PUT请求(和下文的GET请求)为说明 目的而提供。然而,可使用用于执行所描述操作的任何合适的请求。
[0047] 图4示出根据实施方案的过程400的说明性实例,过程400可用于将数据存储在 数据存储服务系统中。过程400可由例如图3所示的数据服务前端执行。过程400(或本 文描述的任何其他过程,或变体和/或其组合)的一些或全部可在配置有可执行指令的一 个或多个计算机系统的控制下实行,并且可作为共同地在一个或多个处理器上执行的代码 (例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)、由硬件或其组合来 实施。代码可以例如包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储 在计算机可读储存介质上。计算机可读储存介质可以是非暂时性的。
[0048] 如图4中所示,过程400包括接收402 PUT请求。PUT请求可在网络上电子地接收 并且可包括与请求关联的信息,如认证所需要的信息,如PUT请求的电子签名。响应于已经 接收PUT请求,过程400可包括提交404认证请求。例如,执行过程400的系统可向分开的 认证服务系统提交(例如,通过适当配置的API调用)认证请求,如上文结合图3所描述。 类似地,执行其自己的认证的数据服务前端可向由数据服务前端实现的认证模块提交认证 请求。一般地,认证请求可根据各个实施方案以任何合适的方式来提交。
[0049] 在提交认证请求之后,认证请求被提交404到的实体接收406认证响应。例如,参 照图3,认证服务系统可向数据服务前端提供包括用于由其他服务系统使用的认证的证明 的响应。还可传输其他信息,如认证是否成功的指示。可做出408请求是否可信的确定。请 求的可信性可取决于由实体、如由认证服务系统或共同执行此类检查的实体的组合所检查 的一个或多个因素。可信性可能例如要求请求提供必需的有效证书(例如,由检查实体所 共享的秘密密钥生成的电子签名)和/或要求策略允许完成请求。从提交404认证请求并 接收认证响应的系统的角度,可信性可取决于所接收认证响应。因此,在实施方案中,请求 是否可信的确定408可至少部分地基于所接收认证响应来执行。例如,如果认证不可信,则 认证响应这样指示并且可相应地做出确定408。类似地,响应可隐式地指示认证请求可信, 如通过不包括请求可信情况下将包括的信息。如果确定408 PUT请求不可信,那么可拒绝 410 PUT请求。拒绝PUT请求可以任何合适的方式执行并且可取决于过程400被执行的各 个实施方案。例如,拒绝410 PUT请求可包括向提交PUT请求的用户传输消息。消息可指 示请求被拒绝。拒绝请求还可包括提供关于请求为什么被拒绝的信息,如电子签名不正确、 或可用于确定如何解决导致PUT请求的任何问题的其他原因不可信或未经授权。
[0050] 在实施方案中,如果确定408 PUT请求可信或已授权,那么过程400包括执行412 导致明文被解密的一个或多个密码操作。例如,可向密码服务系统提交请求(例如,适当配 置的API调用),以提供将要用于执行一个或多个密码操作的密钥。向密码服务系统提供的 请求可与PUT请求可信的证明一起被提供,使得密码服务系统可独立地确定是否执行密码 操作(例如,对明文进行加密并且提供密文或生成可用于对明文进行加密的包络密钥)。然 而,在各个实施方案中,可不向密码服务系统提供认证证明,并且例如,密码服务系统可根 据它所接收的请求进行操作。例如,如果密码服务系统接收来自数据服务前端的请求,密码 服务系统可依赖于数据服务前端已经独立地验证请求的认证的事实。在这个实施方案和其 他实施方案中,数据服务前端可利用密码服务系统对自身进行认证,以便提供另外的安全 层。密码服务系统可生成或以其他方式获取密钥,加密所获取密钥或以其他方式获取已加 密密钥(例如,从存储器),并响应请求而提供所获取密钥和已加密的所获取密钥。所获取 密钥可使用到密码服务系统的请求中所标识的密钥来加密。所获取密钥可用于对明文进行 加密,并且在对明文进行加密之后,可丢弃所获取密钥(例如,不可撤销地从存储器移除)。 在替代实施方案中,执行过程400的系统可生成或以其他方式获取用于执行一个或多个密 码操作的密钥,向密码服务系统提供将要加密的所获取密钥。
[0051] 在一些实施方案中,执行一个或多个密码操作可导致生成密文。由于一个或多个 密码操作而生成的密文可被储存414以用于在后来时间可能进行的检索。如上所述,密文 的储存可包括储存使得能够在后来时间对密文进行解密的另外信息。例如,密文可与用于 将明文加密成密文的密钥的标识符一起被储存,使得具有所述标识符的密钥之后可用于对 密文进行解密以获取明文。密文的储存也可以任何合适的方式来执行。例如,密文的储存 可由数据服务后端储存系统执行,如上所述。
[0052] 图5相应地示出环境500的说明性实例以及示出如何可获取明文的信息流动。在 这个实例中,环境500包括认证服务系统、密码服务系统、数据服务前端和数据服务后端储 存系统。认证服务系统、密码服务系统、数据服务前端和数据服务后端储存系统可以是如上 所述的系统。如图5所示,数据服务前端被配置来接收来自用户的GET请求并作为响应提 供明文。为了做到这一点,数据服务前端还可被配置来向认证服务系统提交认证请求,如果 适当的话,认证服务系统自身可被配置来向数据服务前端提供认证证明。数据服务前端还 可被配置来向密码服务系统发送请求,以引起密码服务系统执行与对数据进行解密有关的 一个或多个密码操作。在使用包络密钥的实施方案中,数据服务系统可向密码服务系统提 交包括或指定已加密包络密钥(或已加密包络密钥的标识符)认证证明的请求(例如,API 调用),并且向密码服务系统提交用于对包络密钥进行加密的主密钥的标识符。密码服务系 统可确定认证证明对于允许操作是否足够,并且如果认证证明足够,则对包络密钥进行解 密。已解密包络密钥可被发送回到数据服务系统,数据服务系统可使用密钥来解密已加密 明文。数据服务系统随后可丢弃已解密明文密钥。
[0053] 在替代实施方案中,数据服务前端可被配置来向密码服务系统提供所接收认证证 明与密文,以便密码服务系统进行解密。密码服务系统相应地可被配置来确定认证证明对 于允许对密文进行解密是否足够,并且如果认证证明足够,则使用适当的密钥(其可由数 据服务前端向密码服务系统标识出)对密文进行解密,并向数据服务前端提供已解密密文 (明文)。为了向密码服务系统提供密文,数据服务前端可被配置来从数据服务后端储存系 统获取(例如,通过适当配置的API调用)密文。
[0054] 图6示出根据各个实施方案的可用于获取明文的过程600的说明性实例。过程 600可例如由上文结合图5示出的数据服务前端系统(数据服务前端)执行,尽管过程600 及其变体可由任何合适的系统来执行。在实施方案中,过程600包括接收602来自用户的 GET请求(或其他适当的请求)。接收GET请求可如上文结合其他类型的请求所描述来执 行。在接收到602 GET请求之后,可如上所述向认证服务系统或以任何方式提交604认证 请求。相应地可接收认证响应。至少部分地基于所接收认证响应,可做出608 GET请求是 否可信的确定。如果确定608 GET请求不可信,则过程600可包括拒绝610请求,如上文所 述,拒绝610请求可根据各个实施方案以各种方式来执行。
[0055] 如果确定608 GET请求可信,则过程600可包括从储存装置检索密文。从储存装 置检索612密文可以任何合适的方式来执行。例如,参照上文结合图5论述的环境500,数 据服务前端可向数据服务后端储存系统提交获得密文的请求并且作为响应可接收密文。一 般地,密文可以任何合适的方式从储存装置获取。在接收到密文之后,过程600可包括执行 614与对密文进行解密有关的一个或多个操作。例如,在实施方案中,数据储存服务系统可 向密码服务系统发送请求以执行与对密文进行解密有关的一个或多个密码操作614。在一 种示例性配置中,数据服务系统可向密码服务系统发送包括已加密包络密钥(或已加密包 络密钥的标识符)认证证明的API调用,并且向密码服务系统发送用于对包络密钥进行加 密的主密钥的标识符。密码服务系统可确定认证证明对于允许操作是否足够,并且如果认 证证明足够,则对包络密钥进行解密。已解密包络密钥可被发送回到数据服务系统,数据服 务系统可使用密钥来解密已加密明文。
[0056] 在另一种配置中,可向密码服务系统、如上文结合图5描述的密码服务系统提供 密文。还可向密码服务系统提供其他信息,如可由密码服务系统使用以确定是否对密文进 行解密的认证证明。另外,在一些实施方案中,可向密码服务系统提供将要由密码服务系统 使用来对密文进行解密的密钥的标识符。然而,在其他实施方案中,可隐式地向密码服务系 统指示出密钥。例如,密码服务系统可使用与向密码服务系统指示出的客户关联的默认密 钥。一般地,可使用密码服务系统可确定使用哪个密钥来对密文进行解密的任何方式。
[0057] 如图6所示,在对密文进行解密之后,过程600可包括提供616对GET请求的响应。 提供对GET请求的响应可根据各个实施方案以各种方式来执行。例如,提供对GET请求的 响应可包括提供明文。在其他实施方案中,明文可以是随后响应于GET请求而提供的用于 对其他已加密信息进行解密的密钥。一般地,取决于明文在本公开的具体实施方案中的作 用,提供对GET请求的响应可以各种方式来执行。
[0058] 如上所述,本公开的各个实施方案允许由数据储存服务系统以各种方式储存数 据。图7示出根据这个实施方案的具有指示信息流动的箭头的环境700的说明性实例。如 图7所示,环境700包括认证服务系统、密码服务系统、数据服务前端和数据服务后端储存 系统,如上所述。在这个具体实例中,数据服务前端是被配置来接收来自各种用户的PUT请 求的计算机系统。PUT请求可包括或指定将要由数据服务后端储存系统储存的数据对象。 PUT请求还可指定将要用于对数据对象进行加密的密钥的密钥标识符。数据服务前端还可 被配置来与认证服务系统进行交互,如上所述,以便向密码服务系统提供认证证明,密码服 务系统可操作来接收密钥和密钥标识符并且作为响应提供由密钥标识符标识的密钥所加 密的密钥。数据服务前端随后可引起在数据服务后端储存系统中进行储存。可储存的数据 可包括由密钥加密的数据对象。可储存的数据还可包括由密钥标识符标识的密钥所加密的 密钥。如本文在别处所论述,已加密数
当前第2页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1