保护对关键资源的受限动作的制作方法

未命名 09-24 阅读:57 评论:0


1.本文公开的主题总体上涉及用于保护由服务提供商存储的数据的方法、系统和机器可读存储介质。


背景技术:

2.当客户使用云服务(例如,软件即服务(saas))时,客户关键数据由服务提供商存储。订阅该服务的客户拥有在订阅下供应的各种资源(例如,使用针对存储在microsoft exchange online或microsoft azure云存储服务中的数据的客户加密密钥)。在某些情况下,客户会供应密钥保管库和用于对其存储的数据进行加密的加密密钥。
3.然而,在客户丢失加密密钥的情况下或者当恶意用户破坏或绑架加密密钥时,由客户对加密密钥的控制可能会导致灾难性事件。
4.需要的是一种保护客户免遭加密密钥意外丢失的方法,加密密钥意外丢失会导致存储的数据丢失。
附图说明
5.各种附图仅示出本公开的示例实施例并且不能被视为限制其范围。
6.图1示出了根据一些示例实施例的加密密钥层次结构。
7.图2说明了根据一些示例实施例的用于保护云服务中客户拥有的资源的安全策略的创建。
8.图3示出了根据一些示例实施例的用于准许对密钥保管库的访问的基于角色的批准工作流程。
9.图4说明了根据一些示例实施例的用于数据加密的安全策略的创建。
10.图5说明了根据一些示例实施例的准许对密钥的访问的批准工作流程。
11.图6说明了用于实现示例实施例的服务系统。
12.图7是根据一些示例实施例的用于保护对加密密钥的受限动作的方法的流程图,所述加密密钥控制由服务提供商存储的数据的管理。
13.图8是说明机器的示例的框图,在此描述的一个或多个示例过程实施例可以在该机器上实现或控制,或者通过该机器来实现或控制。
具体实施方式
14.示例方法、系统和计算机程序涉及保护对加密密钥的受限动作,该加密密钥控制对由服务提供商存储的数据的管理。示例仅代表可能的变化。除非另外明确说明,组件和功能是可选的并且可以被组合或细分,并且操作可以按顺序变化或者被组合或细分。在下面的描述中,出于解释的目的,阐述了许多具体细节以提供对示例实施例的透彻理解。然而,对于本领域技术人员来说显而易见的是,无需这些具体细节也可以实践本主题。
15.当客户对控制在服务提供商处的存储的加密密钥进行管理时,存在由于错误或恶
意使用而丢失加密密钥的可能性,这将导致失去对所有存储数据的访问。为了防止这种类型的错误,实施了这样一种过程:其中对加密密钥的破坏性动作(例如,撤销访问、删除加密密钥)要受到多个用户的批准。希望执行关键操作的客户必须获得来自所有批准者的批准,该批准将为客户提供在其中执行破坏性操作的时间窗口。
16.例如,客户可能希望删除加密密钥以清除数据并确保数据不可访问。一方面,对针对高价值资源(例如,用于对客户数据进行加密/解密的加密密钥)的破坏性动作的访问对于默认情况下没有成员的客户内部用户组而言是可用的。当管理员想要访问资源时,系统实施多阶段批准流程,这需要来自若干所需个体的批准。一旦批准被准许,管理员获得组中有时限的成员身份,以访问高价值资源。在管理员是该组的成员期间(例如有权访问高价值资源),管理员可以采取对资源的破坏性动作。
17.在创建资源期间,资源管理员将资源配置为具有多阶段基于批准的访问。作为配置的一部分,资源管理员将特定人员的组配置为批准者。每组批准者都将拥有在客户组织内由特定角色的人员。此外,管理员还可以配置将需要批准的动作的类型以及准许访问权的持续时间。
18.一旦资源被设置为针对破坏性动作的基于批准的访问,任何人,甚至资源所有者,都不能在不经过批准过程的情况下执行这些动作。当管理员想要执行破坏性动作时,系统会启动批准工作流程,其包括通知批准者有关针对访问的请求的信息。在有时限的访问权过期后,请求者必须再次启动批准流程,然后才能对资源执行任何破坏性动作。
19.在一些情况下,为了保护服务的不稳定性,服务提供商还具有可用性密钥来支持与服务相关的操作(例如,将存储的数据移动到不同的位置以进行负载平衡)。此外,在某些情况下,临时访问破坏性操作的批准过程包括获得来自服务提供商的许可,以对客户数据提供额外的安全级别。在其他情况下,客户不会向服务提供商给予批准能力,从而允许客户完全拥有数据管理的所有权,例如在存储客户不希望给予外部方访问权的关键数据时。
20.该实施方式允许服务具有更好的可用性以及更好地防止客户数据丢失,而不会损害客户对不拥有所有加密根密钥的所有权的担忧。
21.在一些实施方式中,服务提供商的系统接收用于针对服务提供商的系统为客户存储的数据而生成数据加密策略(dep)的请求,该请求包括对客户密钥和可用性密钥的引用。客户密钥和可用性密钥是用于对数据加密密钥进行加密的根密钥。数据加密密钥用于对服务提供商为客户存储的数据进行加密。对可用性密钥的破坏性改变需要接收来自服务提供商的账户的批准。dep包括对存储在客户拥有的密钥保管库中的客户密钥和可用性密钥的引用,以及对一个或多个内部数据加密密钥的引用。服务提供商的系统验证dep。服务提供商的系统基于该验证来存储dep。
22.图1示出了根据一些示例实施例的加密密钥层次结构。密钥层次结构是由提供的服务的示例实现。
23.服务加密确保静态(at rest)内容(例如,当其被放置在永久存储介质上时)在服务层被加密。客户加密密钥(这里也简称为密钥)的使用提供了防止未经授权的系统或人员查看数据的保护。在某些情况下,主要目的是帮助客户满足用于控制根密钥的监管或合规义务。客户明确授权o365服务使用客户的加密密钥来保护云服务存储的静态客户数据,例如电子数据展示(ediscovery)、反恶意软件、反垃圾邮件、搜索索引等。
24.为了保护数据加密密钥(dek),使用根密钥来对dek进行加密。这意味着根密钥可用于对用于访问存储数据的dek进行解密和加密。可用性密钥104是在为客户创建数据加密策略时生成的根密钥,并且可用性密钥也用于保护dek。在一些示例实施例中,可用性密钥104由服务提供商管理,但在其他实施例中,客户管理可用性密钥104。
25.在一些示例实施例中,当与服务提供商建立服务时,客户创建两个客户密钥102,其是在密钥保管库中保护的两个根密钥,密钥保管库是由服务提供商提供的用于存储秘密(例如,数据加密密钥)的机制。
26.客户密钥的使用增强了组织满足指定与云服务提供商的密钥安排的合规性要求的能力。因此,客户可以在应用程序级别提供并控制静态数据的根加密密钥。如果客户决定退出服务,则客户可以撤销对客户密钥的访问。通过撤销对客户密钥的访问,服务提供商变得无法读取数据。
27.dep定义如何对由所提供的服务存储的数据执行加密和解密,并且dep包括加密层次结构以使用客户密钥或可用性密钥来对数据进行加密,这提供了安全层来保护数据。dep密钥106是用于实施dep的密钥,并且使用根密钥102、104中的每个根密钥将dep密钥106加密三次。此外,使用dep密钥来保护邮箱密钥108,并且将数据110与dek一起存储在盘上。该策略包括有关如何管理和执行加密的元数据,包括不同密钥的使用。当接收到用于写入或读取数据的请求时,dep用于获取dek。
28.为了对客户数据110进行解密,需要dek,并且为了获得dek,dep密钥106被解密,这可以利用两个客户密钥102之一或利用可用性密钥104来完成。
29.在一些情况下,可用性密钥104可以由服务使用。例如,在多租户环境中,存在运行以管理数据的多个进程,例如具有在不同区域或数据中心中的邮箱。有时,数据需要在不同的数据中心进行负载均衡,因此需要移动邮箱,服务系统利用可用性密钥来移动数据,从而实现负载均衡。
30.存在客户无意中删除了客户密钥102的情况。在没有可用性密钥104的实施方式中,客户密钥102的这种丢失导致数据变得不可访问并且随后对服务的操作造成中断。
31.图2说明了根据一些示例实施例的用于保护云服务中客户拥有的资源的安全策略的创建。在一些示例实施例中,基于角色的多用户批准过程被实现以使得能够对保存客户密钥和可用性密钥的密钥保管库执行任何破坏性操作。破坏性操作的一些示例包括删除密钥保管库、删除客户根密钥、删除管理员密钥、删除加密密钥、删除策略等。
32.在一些示例实施例中,策略采用利用azure特权身份管理(azure privileged identity management,pim)的形式来防止意外撤销对可用性密钥的访问,但是相同的原理可以用于其他云服务提供商。pim是azure活动目录(azure active directory)中的一项服务,其使客户能够管理、控制和监视对其组织中重要资源的访问。这些资源包括azure ad、azure和其他microsoft online services(例如microsoft 365或microsoft intune)中的资源。azure active directory是microsoft的基于云的企业身份和访问管理解决方案,但也可以使用其他类型的云访问管理。
33.作为该过程的一部分,希望执行受限操作的密钥保管库管理员需要来自客户组织内特定批准者的批准。在某些情况下,该过程还包括来自服务提供商的一个或多个批准者的许可。例如,服务提供商批准者可以确认可用性密钥是否正在使用以及客户清除其数据
的意图。
34.图2说明了创建安全策略的过程。在该所示示例中,客户创建三个根密钥:客户密钥202、客户密钥204和客户拥有的可用性密钥206。
35.在操作214处,客户管理员208供应并配置密钥保管库,并创建可用性密钥206。在一些示例实施例中,三个组被设置为针对密钥保管库访问的批准者:工作负载管理员、合规性管理员以及包括服务提供商管理员的安全组。值得注意的是,对策略的任何修改都需要来自批准者的批准。
36.在操作216处,客户管理员208向服务提供商的系统210发送用于使用三个根密钥202、204和206来创建策略的请求。
37.在操作218处,服务提供商分析可用性密钥并执行多项检查,包括:可用性密钥保管库已被配置用于访问、存在零个或多个所需的客户批准者、服务提供商的一个或多个批准者、以及启用密钥保管库以进行软删除。如果满足条件,则系统210创建并存储220策略元数据212。
38.安全策略的实施在两种情况下提供保护。首先,当客户无意中撤销对根密钥的访问并导致永久数据丢失时,服务提供商可访问的可用性密钥以及基于批准的附加保护可用于在该情况下恢复客户数据。其次,安全策略确保多租户环境中的多个服务继续运行,而不会因同一环境中其他租户的运行而导致任何服务降级。
39.图3示出了根据一些示例实施例的用于准许对密钥保管库的访问的基于角色的批准工作流程。在图示的示例中,批准工作流程对应于图2中描述的客户设置。在这种情况下,客户想要执行对所存储的数据的数据清除,因此客户想要撤销对可用性密钥206的使用。
40.未经批准,没有人有权访问310以撤销可用性密钥206。在操作311处,客户管理员208发起批准过程以请求经由云目录服务316访问以撤销可用性密钥206。云目录服务316向策略中定义的批准者发送通知。在所示的示例中,批准者包括批准者组304和批准者组306,并且需要来自每个组的一个批准才能继续批准过程。
41.云目录服务316监视来自所有批准者的批准,并且一旦接收到所有所需的批准(操作312),云目录服务就通知服务提供商的系统批准者302。
42.系统批准者302接收请求并在批准该请求之前执行若干验证。验证包括:验证该请求是否针对属于不再使用的策略的可用性密钥。如果策略正在使用中,则系统批准者302确认执行对策略和相关客户数据的清除的客户意图;如果客户意图是清除数据,则系统批准者302准备内部系统以进行数据清除。
43.一旦系统批准者302验证该请求,系统批准者302就通知(操作313)云目录服务316该请求已被批准。
44.在操作314处,向客户管理员提供对密钥保管库的有时限的访问,以对托管可用性密钥206的客户拥有的密钥保管库执行破坏性操作访问。
45.在操作315处,客户管理员208完成对可用性密钥206的破坏性动作(例如,撤销可用性密钥206)。在破坏性动作之后,在操作316处(例如,通过云目录服务316)通知系统服务。在操作317处,服务系统210针对清除而标记客户策略。
46.因此,即使客户拥有可用性密钥,服务提供商也必须批准对可用性密钥的改变。通过让服务提供商验证破坏性动作的意图,这为客户提供了额外的保护,防止错误(人为或计
算机)。因此,客户能够具有对数据的完全控制,并且服务提供商不具有对可用性密钥的访问权,但客户可以从服务提供商提供的额外检查中受益,服务提供商是主动防止错误或恶意攻击的外部实体。
47.图4说明了根据一些示例实施例的用于数据加密的安全策略212的创建。在所示示例中,创建了客户根密钥202、204并且没有管理员密钥。然而,可以利用相同的原理来创建安全策略212内的附加管理员密钥。
48.在操作402处,客户管理员208供应密钥保管库和客户密钥202、204并且启用云服务访问。启用基于云服务的访问后,对密钥保管库的任何访问都需要来自组织中具有特定角色的组的批准,如上面参考图3所描述的。例如,至少一名批准者需要是工作负载管理员,至少一名批准者需要是合规性管理员,和/或至少一名批准者需要是密码管理员。
49.在操作403处,客户管理员向服务系统210发送用于使用客户密钥202、204来创建策略212的请求。在一些示例实施例中,针对客户密钥202、204中的每个的统一资源标识符(uri)被发送到服务系统210,其中uri是提供可以找到资源的唯一地址(在因特网上或在另一专用网络上)的字符串。
50.在操作404处,服务系统210获取客户密钥202、204的元数据并验证密钥保管库已设置云服务访问并且在策略中定义了一个或多个批准者。如果满足创建策略212的条件,则在操作405处,服务系统210激活并存储策略212。在图4所示的示例中,不存在可用性密钥,因此客户密钥本身受到保护。
51.在一些示例实施例中,一些客户不希望将可用性密钥给予服务提供商(例如,以满足财务合规性要求),并且可用性密钥仍然被创建,但由客户的管理员维护,也就是说,客户的一个或多个管理员是对可用性密钥的改变的批准者。在某种程度上,就像客户将三个客户密钥保存在密钥保管库中一样。
52.通常,当客户密钥202、204由于暂时性问题或永久错误而不可访问时(其中密钥已被客户有意或无意地错误处理),则(由服务提供商或由拥有它的客户)使用可用性密钥。
53.在没有服务提供商所拥有的可用性密钥的情况下,如果客户密钥被错误处理,则不可能恢复客户数据。通过拥有可用性密钥,保护客户免受影响客户密钥202、204的潜在致命破坏性动作。
54.在一些示例实施例中,在azure活动目录中管理许可。这些是客户的azure活动目录中的azure角色。在一些示例实施例中,使用角色分配来准许许可,其中具有角色分配的实体被给予许可。对于管理员要获得特定的角色分配,管理员必须经历批准流程。如果没有批准,管理员将无法对资源执行操作,因为管理员无法获取执行动作的角色分配。
55.密钥管理的一种场景是客户想要对数据进行完整的数据清除。由于客户控制密钥保管库,并且根密钥保存在内部,因此客户可以从密钥保管库中删除所有密钥,并且客户将确信,由于解密密钥不再可被访问(因为没有根密钥来恢复数据加密密钥),因此无法再访问数据。
56.图5说明了根据一些示例实施例的对密钥保管库的访问以更新策略。在正常操作508期间,包括密钥保管库的客户管理员在内的任何管理员都不能访问密钥保管库来进行通过pim限制的改变,例如改变客户密钥202。
57.当客户管理员208想要对密钥保管库做出改变时,客户管理员208将请求512发送
到云目录服务516(例如,pim,但也可以使用其他云目录服务)。
58.云目录服务516向在客户的策略中标识的所有批准者发送通知。通知可以经由多种方式发送,例如电子邮件、文本消息、电话等。在所示示例中,存在三个批准者:工作负载管理员502、合规性管理员504和密码管理员506,但是其他实施例可以包括不同数量的批准者。
59.云目录服务516监视来自批准者的活动并且提供用于由批准者输入批准的实用程序(utility),诸如用户界面、电子邮件、文本消息等等。云目录服务516保存完成批准所需的所有批准者的列表以及来自每个批准者的批准的状态(已批准/未决批准)。
60.在一些示例实施例中,批准过程可以并行执行,其中每个批准者可以在任何时间批准请求,但在其他示例实施例中,使用顺序列表来按照策略定义的顺序获得批准,从而使得一个批准者直到先前的批准者已经批准才会得到通知,直到所有批准者都完成了批准过程为止。
61.一旦所有批准者都已经批准了该请求(操作510),云目录服务516就向客户管理员208发送511已给予批准的通知。该批准包括有限的时间量,在此期间客户管理员208可以对密钥保管库执行操作。在允许的时段过期后,批准被自动撤销。
62.允许的一些活动包括删除密钥保管库、添加或删除客户根密钥、添加或删除管理员密钥以及改变策略(例如,改变批准者列表)。
63.在操作513处,客户管理员对密钥保管库执行操作。在所示示例中,客户管理员208撤销对云目录服务的客户密钥202的访问。
64.一旦客户管理员208对密钥保管库执行操作,云目录服务516就向系统210发送514通知以通知策略改变。
65.在操作515处,服务系统210确认客户请求并完成该请求,例如撤销对客户密钥的访问。如果对两个客户密钥的访问均已被撤销,则服务系统210将针对清除而标记策略以终止客户服务以进行存储。需要注意的是,如果从密钥保管库中取出所有密钥,则所有存储的数据将变得不可用。
66.在一些示例实施例中,该过程经由azure角色和角色分配以及azure的称为拒绝分配(deny assignment)的特征来实现。拒绝分配是在客户供应并配置需要保护的密钥保管库时创建的。也就是说,在策略创建之前。这样,拒绝分配就会拒绝所有人的访问。当客户管理员208获得批准时,客户管理员在有限的时间段内获得针对拒绝分配的排除(exclusion)。管理员208通过对拒绝分配的排除来获得访问权。
67.在客户管理员208获得提供对针对密钥保管库的破坏性动作的访问的批准之后,将存在使用适用于组织中的每个人的拒绝分配的、对这些动作的明确拒绝。设置拒绝分配后,即使管理员具有管理服务所需的角色,该管理员也将被拒绝与该角色相关联的许可。当客户管理员208经历批准工作流程并获得批准时,将在拒绝分配之上为该客户管理员208添加排除,以给予客户管理员208所需的许可。
68.图6说明了用于实现示例实施例的服务系统210。在一个示例实施例中,服务系统210包括策略管理器604、批准跟踪器606、用户界面608、初步通知器610和应用程序编程接口(api)612、以及策略存储212、密钥保管库616、用户数据库614和用户数据110。
69.策略管理器604监督与批准过程相关联的操作,例如创建策略、提供对破坏性动作
的批准等等。批准跟踪器606管理用于执行与数据密钥相关联的操作的批准过程,包括当请求被批准时向批准者发送通知、跟踪批准者的批准、以及当批准成功或失败时通知策略管理器604。此外,批准跟踪器606管理为执行密钥管理操作而提供的时间边界。
70.用户界面608被提供以由管理员访问服务的特征,例如输入批准、配置新客户端等等。另外,还可以通过api 612访问服务的特征。
71.批准通知器610负责在必要时向批准者发送批准请求,例如通过发送电子邮件、文本消息、寻呼、电话呼叫等。用户数据库614包含关于用户的信息,例如服务细节、用户管理员的身份等等。
72.每个策略212包括定义加密层次结构的信息,以使用每个客户密钥以及由服务保护的可用性密钥来加密数据。此外,策略212包括标识被管理的资源、批准者、密钥保管库和批准条件(例如,给予许可的最大时间量)的元数据。另外,策略212可以包括关于对策略212执行的活动的日志信息,例如创建、改变等。密钥保管库616保存与策略212相关联的密钥。
73.服务系统210与云目录服务516交互,云目录服务516包括用于管理用于访问关键资源(例如加密密钥)的许可602的机制,如上面参考图3和图5所描述的。
74.应当注意,图6所示的实施例是示例并且没有描述每个可能的实施例。其他实施例可以利用不同的模块或附加模块、将两个或更多个模块的功能组合成单个模块等等。因此,图6所示的实施例不应被解释为排他性或限制性的,而是说明性的。
75.图7是根据一些示例实施例的用于保护对加密密钥的受限动作以执行损坏模拟的方法700的流程图,所述加密密钥控制由服务提供商存储的数据的管理。虽然顺序地呈现和描述了该流程图中的各种操作,但是普通技术人员将意识到,一些或所有操作可以以不同的顺序执行、组合或省略、或者并行执行。
76.在操作702处,服务提供商的系统接收用于针对由服务提供商的系统为客户存储的数据而生成dep的请求,该请求包括对客户密钥和可用性密钥的引用。dep定义了如何对数据执行加密和解密。客户密钥和可用性密钥是用于对数据加密密钥进行加密的根密钥。数据加密密钥用于对由服务提供商为客户存储的数据进行加密。对可用性密钥的破坏性改变需要接收来自服务提供商账户的批准。
77.该方法从操作702流向操作704,其中服务提供商的系统验证dep。
78.该方法从操作704流向操作706,其中服务提供商的系统基于验证而存储dep。
79.在一个示例中,方法700还包括:接收用于清除dep的破坏性请求;通过系统的目录服务跟踪来自多个用户账户的对清除dep的批准;通过系统跟踪来自服务提供商账户的对清除dep的批准;基于来自多个用户账户和服务提供商的账户的批准,清除dep。
80.在一个示例中,方法700还包括:检测对访问客户密钥的请求;通过系统的目录服务向多个用户账户发送对批准针对访问的请求的请求;以及当多个用户账户批准针对访问的请求时,批准针对访问的请求。
81.在一个示例中,针对访问的请求在预定时间量内被批准,并且在预定时间量过期之后撤销该批准。
82.在一个示例中,方法700还包括:由系统检测用于访问可用性密钥的请求;向服务提供商的账户发送针对访问可用性密钥的请求的通知;当服务提供商的账户批准该请求时,批准用于访问可用性密钥的请求。
83.在一个示例中,方法700还包括:利用客户密钥对加密密钥进行加密以获得第一加密的加密密钥,利用可用性密钥对加密密钥进行加密以获得第二加密的加密密钥,以及在dep下存储第一加密的加密密钥和第二加密的加密密钥。该系统向客户提供对客户密钥的控制,并向服务提供商提供对可用性密钥的控制。
84.在一个示例中,dep包括客户密钥、可用性密钥以及用于存储客户密钥和可用性密钥的密钥保管库。
85.在一个示例中,验证dep包括:验证密钥保管库被配置用于访问;以及验证对客户密钥的访问需要多个批准。
86.在一个示例中,该系统包括:用于管理批准过程的策略管理器;用于跟踪未决批准的批准跟踪器;以及用于发送批准请求的批准通知器。
87.在一个示例中,对客户密钥的破坏性改变需要接收来自多个客户账户的批准。
88.在一个示例中,方法700还包括由系统提供用于输入批准的用户界面。
89.另一一般方面是一种包括存储器和一个或多个计算机处理器的系统,该存储器包括指令。当由一个或多个计算机处理器执行时,指令使一个或多个计算机处理器执行操作,操作包括接收用于针对由服务提供商的系统为客户存储的数据而生成dep的请求,该请求包括对客户密钥和可用性密钥的引用。客户密钥和可用性密钥是用于加密数据加密密钥的根密钥。数据加密密钥用于加密服务提供商为客户存储的数据。对可用性密钥的破坏性改变需要接收来自服务提供商账户的批准。此外,指令包括验证dep,以及基于验证来存储dep。
90.在又一一般方面,机器可读存储介质(例如,非暂时性存储介质)包括指令,当由机器执行时,指令使机器执行操作,操作包括接收用于针对由服务提供商的系统为客户存储的数据而生成dep的请求,该请求包括对客户密钥和可用性密钥的引用。客户密钥和可用性密钥是用于加密数据加密密钥的根密钥。数据加密密钥用于加密服务提供商为客户存储的数据。对可用性密钥的破坏性改变需要接收来自服务提供商账户的批准。此外,指令包括验证dep,以及基于验证来存储dep。
91.图8是说明机器800的示例的框图,在机器800上或通过机器800可以实现或控制本文描述的一个或多个示例过程实施例。在替代实施例中,机器800可以作为独立设备操作或者可以连接(例如,联网)到其他机器。在联网部署中,机器800可以在服务器-客户端网络环境中以服务器机器、客户端机器或两者的身份操作。在示例中,机器800可以充当对等(p2p)(或其他分布式)网络环境中的对等机器。此外,虽然仅示出了单个机器800,但是术语“机器”还应当被理解为包括诸如经由云计算、软件即服务(saas)或其他计算机集群配置单独或联合执行一组(或多组)指令以执行本文所讨论的方法中的任何一个或多个的任何机器集合。
92.如本文所描述的,示例可以包括逻辑、多个组件或机制,或者可以通过逻辑、多个组件或机制来操作。电路系统是在包括硬件(例如简单电路、门、逻辑)的有形实体中实现的电路的集合。电路系统成员资格可以随着时间和底层硬件的变化而灵活。电路系统包括在操作时可以单独或组合地执行指定操作的成员。在示例中,电路系统的硬件可以被不变地设计为执行特定操作(例如,硬连线)。在示例中,电路系统的硬件可以包括可变连接的物理组件(例如,执行单元、晶体管、简单电路),包括物理修改(例如,磁地、电地、通过不变集聚
粒子的可移动放置)以编码特定操作的指令的计算机可读介质。在连接物理组件时,硬件组成部分的基本电气属性发生了变化(例如,从绝缘体变为导体,反之亦然)。这些指令使得嵌入式硬件(例如,执行单元或加载机制)能够经由可变连接在硬件中创建电路系统的成员,以在操作时执行特定操作的部分。因此,当设备正在操作时,计算机可读介质可通信地耦合到电路的其他组件。在一示例中,任何物理组件可以用在多于一个电路系统的多于一个成员中。例如,在操作中,执行单元可以在一个时间点在第一电路系统的第一电路中使用,并且在不同的时间由第一电路系统中的第二电路或第二电路系统中的第三电路重用。
93.机器(例如,计算机系统)800可以包括硬件处理器802(例如,中央处理单元(cpu)、硬件处理器核或其任何组合)、图形处理单元(gpu)803、主存储器804和静态存储器806,其中一些或全部可以经由互连链路(例如,总线)808彼此通信。机器800还可以包括显示设备810、字母数字输入设备812(例如,键盘)和用户界面(ui)导航设备814(例如,鼠标)。在示例中,显示设备810、字母数字输入设备812和ui导航设备814可以是触摸屏显示器。机器800还可以包括大容量存储设备(例如,驱动单元)816、信号生成设备818(例如,扬声器)、网络接口设备820和一个或多个传感器821,例如全球定位系统(gps)传感器、指南针、加速度计或另一传感器。机器800可以包括输出控制器828,例如串行(例如,通用串行总线(usb))、并行或其他有线或无线(例如,红外(ir)、近场通信(nfc))连接,以与一个或多个外围设备(例如,打印机、读卡器)通信或控制一个或多个外围设备(例如,打印机、读卡器)。
94.大容量存储设备816可以包括机器可读介质822,其上存储了体现本文描述的任何一种或多种技术或功能或由本文描述的任何一种或多种技术或功能使用的一组或多组数据结构或指令824(例如,软件)。指令824在由机器800执行期间还可以完全或至少部分地驻留在主存储器804内、静态存储器806内、硬件处理器802内或gpu 803内。在示例中,硬件处理器802、gpu 803、主存储器804、静态存储器806或大容量存储设备816中的一个或任意组合可以构成机器可读介质。
95.虽然机器可读介质822被示为单个介质,但是术语“机器可读介质”可以包括被配置为存储一个或多个指令824的单个介质或多个介质(例如,集中式或分布式数据库,和/或相关联的高速缓存和服务器)。
96.术语“机器可读介质”可以包括能够存储、编码或承载由机器800执行的指令824并且使得机器800执行本公开的技术中的任何一项或多项的任何介质,或者能够存储、编码或承载由这样的指令824使用的或与这样的指令824相关联的数据结构的任何介质。非限制性机器可读介质示例可以包括固态存储器以及光和磁介质。在示例中,海量机器可读介质包括具有多个具有不变(例如,静止)质量的粒子的机器可读介质822。因此,海量机器可读介质不是瞬态传播信号。海量机器可读介质的具体示例可以包括非易失性存储器,例如半导体存储器件(例如,电可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom))和闪存器件;磁盘,例如内置硬盘和可移动磁盘;磁光盘;以及cd-rom和dvd-rom磁盘。
97.指令824还可以经由网络接口设备820使用传输介质通过通信网络826来发送或接收。
98.贯穿本说明书,多个实例可以实现被描述为单个实例的组件、操作或结构。尽管一种或多种方法的单独操作被示出并描述为单独的操作,但是单独的操作中的一种或多种可以并发地执行,并且不要求操作以所示的顺序执行。在示例配置中呈现为单独组件的结构
和功能可以被实现为组合结构或组件。类似地,作为单个组件呈现的结构和功能可以被实现为单独的组件。这些和其他变化、修改、添加和改进落入本文主题的范围内。
99.本文所示的实施例被足够详细地描述以使本领域技术人员能够实践所公开的教导。可以使用其他实施例并从中导出其他实施例,使得可以进行结构和逻辑替换和改变而不脱离本公开的范围。因此,详细描述不应被理解为限制性的,并且各种实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
100.如本文所使用的,术语“或”可以被解释为包含性或排他性的含义。此外,可以为本文中描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界有些任意,并且在特定说明性配置的上下文中说明特定操作。可以预见功能的其他分配并且可以落入本公开的各种实施例的范围内。一般而言,在示例配置中呈现为单独资源的结构和功能可以被实现为组合结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为单独的资源。这些和其他变化、修改、添加和改进落入由所附权利要求代表的本公开的实施例的范围内。因此,说明书和附图应被视为说明性的而非限制性的。

技术特征:
1.一种服务提供商的系统,所述系统包括:存储器,其包括指令;以及一个或多个计算机处理器,其中,当由所述一个或多个计算机处理器执行时,所述指令使所述系统执行包括以下的操作:接收用于针对由所述服务提供商的所述系统为客户存储的数据而生成数据加密策略(dep)的请求,所述dep定义如何对所述数据执行加密和解密,所述请求包括对客户密钥和可用性密钥的引用,所述客户密钥和所述可用性密钥是用于对数据加密密钥进行加密的根密钥,所述数据加密密钥用于对由所述服务提供商存储的所述数据进行加密,其中,对所述可用性密钥的破坏性改变需要接收来自所述服务提供商的账户的批准;验证所述dep;以及基于所述验证存储所述dep。2.根据权利要求1所述的系统,其中,所述指令还使所述一个或多个计算机处理器执行包括以下的操作:接收用于清除所述dep的破坏性请求;通过所述系统的目录服务跟踪来自多个用户账户的对清除所述dep的批准;通过所述系统跟踪来自所述服务提供商的所述账户的对清除所述dep的批准;以及基于来自所述多个用户账户和所述服务提供商的所述账户的所述批准来清除所述dep。3.根据权利要求1所述的系统,其中,所述指令还使得所述一个或多个计算机处理器执行包括以下的操作:检测针对访问所述客户密钥的请求;通过所述系统的目录服务向多个用户账户发送对批准针对访问的所述请求的请求;以及当所述多个用户账户批准针对访问的所述请求时,批准针对访问的所述请求。4.根据权利要求3所述的系统,其中,针对访问的所述请求在预定时间量内被批准,并且在所述预定时间量过期之后撤销所述批准。5.根据权利要求1所述的系统,其中,所述指令还使得所述一个或多个计算机处理器执行包括以下的操作:通过所述系统检测针对访问所述可用性密钥的请求;向所述服务提供商的账户发送对于针对访问所述可用性密钥的所述请求的通知;以及当所述服务提供商的所述账户批准所述请求时,批准针对访问所述可用性密钥的所述请求。6.根据权利要求1所述的系统,其中,所述指令还使得所述一个或多个计算机处理器执行包括以下的操作:利用所述客户密钥对所述加密密钥进行加密以获得第一加密的加密密钥;利用所述可用性密钥对所述加密密钥进行加密以获得第二加密的加密密钥;以及在所述dep下存储所述第一加密的加密密钥和所述第二加密的加密密钥,其中,所述系统向所述客户提供对所述客户密钥的控制并向所述服务提供商提供对所述可用性密钥的控制。
7.根据权利要求1所述的系统,其中,所述dep包括所述客户密钥、所述可用性密钥、以及用于存储所述客户密钥和所述可用性密钥的密钥保管库。8.根据权利要求7所述的系统,其中,验证所述dep包括:验证所述密钥保管库被配置用于访问;以及验证对所述客户密钥的访问需要多个批准。9.根据权利要求1所述的系统,还包括:用于管理批准过程的策略管理器;用于跟踪未决批准的批准跟踪器;以及用于发送针对批准的请求的批准通知器。10.根据权利要求1所述的系统,其中,对所述客户密钥的破坏性改变需要接收来自多个客户账户的批准。11.一种计算机实现的方法,包括:通过服务提供商的系统,接收用于针对由所述服务提供商的所述系统为客户存储的数据而生成数据加密策略(dep)的请求,所述dep定义如何对所述数据执行加密和解密,所述请求包括对客户密钥和可用性密钥的引用,所述客户密钥和所述可用性密钥是用于对数据加密密钥进行加密的根密钥,所述数据加密密钥用于对由所述服务提供商为所述客户存储的所述数据进行加密,其中,对所述可用性密钥的破坏性改变需要接收来自所述服务提供商的账户的批准;通过所述服务提供商的所述系统,验证所述dep;以及通过所述服务提供商的所述系统,基于所述验证存储所述dep。12.根据权利要求11所述的方法,还包括:接收用于清除所述dep的破坏性请求;通过所述系统的目录服务跟踪来自多个用户账户的对清除所述dep的批准;通过所述系统跟踪来自所述服务提供商的所述账户的对清除所述dep的批准;以及基于来自所述多个用户账户和所述服务提供商的所述账户的所述批准来清除所述dep。13.根据权利要求11所述的方法,还包括:检测针对访问所述客户密钥的请求;通过所述系统的目录服务向多个用户账户发送对批准针对访问的所述请求的请求;以及当所述多个用户账户批准针对访问的所述请求时,批准针对访问的所述请求。14.一种系统,包括用于执行根据权利要求11-13中任一项所述的方法的单元。15.至少一种机器可读介质,其包括指令,所述指令在被机器执行时,使得所述机器执行根据权利要求11-13中任一项所述的方法。

技术总结
提出了用于保护对加密密钥的受限动作的方法、系统和计算机程序,该加密密钥控制对由服务提供商存储的数据的管理。在一些实施方式中,服务提供商的系统接收用于针对由服务提供商的系统为客户存储的数据而生成数据加密策略(DEP)的请求,该请求包括对客户密钥和可用性密钥的引用。客户密钥和可用性密钥是用于对数据加密密钥进行加密的根密钥。数据加密密钥用于对由服务提供商为客户存储的数据进行加密。此外,对可用性密钥的破坏性改变需要接收来自服务提供商的账户的批准。服务提供商的系统验证DEP。服务提供商的系统基于该验证而存储DEP。储DEP。储DEP。


技术研发人员:A
受保护的技术使用者:微软技术许可有限责任公司
技术研发日:2022.01.20
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐