CN107005568B - 数据安全操作与预期 - Google Patents

数据安全操作与预期 Download PDF

Info

Publication number
CN107005568B
CN107005568B CN201580067659.1A CN201580067659A CN107005568B CN 107005568 B CN107005568 B CN 107005568B CN 201580067659 A CN201580067659 A CN 201580067659A CN 107005568 B CN107005568 B CN 107005568B
Authority
CN
China
Prior art keywords
request
security
cryptographic
encryption
encryption key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201580067659.1A
Other languages
English (en)
Other versions
CN107005568A (zh
Inventor
格里戈里·阿兰·鲁宾
格里戈里·布兰奇克·罗特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN107005568A publication Critical patent/CN107005568A/zh
Application granted granted Critical
Publication of CN107005568B publication Critical patent/CN107005568B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]

Abstract

一种密码服务允许管理加密密钥并且允许在处理传入请求时对安全预期进行评估。在一些情况下,所述密码服务在接收到执行加密操作的请求时,评估一组安全预期,以确定可用于执行所述加密操作的所述加密密钥或密钥是否应为可信的。对所述请求的响应取决于对所述安全预期的评估。

Description

数据安全操作与预期
相关申请的交叉引用
本申请要求2014年12月17日提交的题为“数据安全操作与预期(DATA SECURITYOPERATIONS WITH EXPECTATIONS)”的共同未决的美国专利申请号14/574,337的优先权,所述专利申请的全部内容以引用的方式并入本文。
背景
计算资源和相关数据的安全性在许多情况下是非常重要的。例如,组织经常利用计算装置的网络为其用户提供一组强大的服务。网络经常跨越多个地理边界,并且经常与其他网络连接。例如,组织可使用计算资源的内部网络和由他人管理的计算资源来支持其操作。例如,组织的计算机可与其他组织的计算机进行通信,以便在使用另一个组织的服务时访问和/或提供数据。在许多情况下,组织使用由其他组织管理的硬件来配置和操作远程网络,从而降低基础设施成本并实现其他优势。利用计算资源的这种配置来确保对资源和它们所持有的数据的访问是安全的,这是具有挑战性的,特别是随着这种配置的规模和复杂性的增长。
通常,为了安全目的,例如在为了防止对数据的未经授权的访问的目的而使用加密术中,可在计算机网络或系统中使用来自多个来源的加密密钥。然而,确保使用被信任的密钥来执行加密操作来避免使用来自已知的不可信实体(例如,黑客)的加密密钥是具有挑战性的。
附图说明
将参考附图描述根据本公开的各种实施方案,在附图中:
图1示出可实现各种实施方案的环境;
图2示出可实现各种实施方案的环境;
图3示出根据一个实施方案的安全策略;
图4示出根据一个实施方案的使用TRUSKEY动作的示例性安全预期;
图5是根据一个实施方案的用于实现执行加密操作的请求的说明性过程;
图6是根据一个实施方案的用于解决多个安全策略和/或多个安全预期之间的冲突的说明性过程;并且
图7示出可实现各种实施方案的环境。
详述
在以下描述中,将描述各种实施方案。为了解释的目的,阐述了具体的配置和细节,以便提供对实施方案的透彻理解。然而,对于本领域技术人员还将明显的是,实施方案可在没有具体细节的情况下实施。此外,可省略或简化众所周知的特征,以便不会模糊所描述的实施方案。
本文描述和提出的技术包括通过在执行涉及数据验证的加密操作(诸如加密资源的解密和验证)中使用安全预期来安全管理多租户可配置服务中的加密资源。在一个实施方案中,多租户、API可配置密码服务被配置来从客户端接收请求(例如,API请求,也称为API调用)以执行加密操作,诸如对加密数据进行解密和数字签名核实。注意,术语“数字签名”包括可用于加密地核实消息的真实性的任何信息,包括使用基于RSA的数字方案(诸如RSA-PSS)、数字签名算法(DSA)和椭圆曲线数字签名算法、E1Gamal签名方案、Schnorr签名方案、Pointcheval-Stern签名算法、Rabin签名算法、基于配对的数字签名方案(诸如Boneh-Lynn-Schacham签名方案)、公认优秀的数字签名方案等生成的信息。此外,消息认证码(诸如基于散列的消息认证码(HMAC)、含密钥加密散列函数和其他类型的信息也可用作数字签名。
密码服务可采用各种机制来确保服务和通过服务可访问的数据的安全性和完整性。可在多租户可配置密码服务中使用的机制是使用安全策略。如下文更详细地讨论的,安全策略(简单地简称为策略)是定义计算机系统中的权限的信息,诸如与数据访问有关的权限和用于致使计算机系统执行操作的权限,诸如API请求实现。在一些实施方案中,加密密钥可由密码服务使用以执行用于各种目的的加密操作,诸如确保数据的安全通信和/或存储。加密密钥(当从上下文中明确可知时也被称为“密钥”)可在这种环境中使用,例如对数据进行加密和解密、生成并认证数字签名。
在一些实施方案中,使用诸如被执行来实现DECRYPT和VERIFY_SIGNATURE API调用的操作的加密密钥的操作可进一步指定为了执行对应的加密操作而必须满足的安全预期。安全预期是作为实现请求的一部分(例如,可由服务提供商的客户提交和/或由服务提供商的客户授权的API调用)而评估的条件或条件集合。换句话说,安全预期表明API调用是如何实现的。安全预期可包括至少部分基于以下各项的条件:安全保护的最小比特数、一组白名单密钥(例如,可被信任的一组加密密钥,其可包括由另一服务提供商的客户管理的加密密钥的子集)、一组黑名单密钥(例如,不被信任的一组加密密钥,其可包括由服务提供商的另一客户管理的加密密钥的子集)、加密密钥的期满日期必须在其内的有效期、用于评估加密密钥是否应被信任的任意代码和/或它们的任何组合。在一些实施方案中,可针对指示(例如,声明和/或加密证明,诸如通过远程认证)请求者处于某种状态(例如,联邦信息处理标准(FIPS)模式)的请求中的信息来评估安全预期的条件。此外,像安全策略一样,安全预期可能导致实现请求被允许或被拒绝(例如,当解密密钥不被信任并且安全预期需要解密密钥的信任时,通过不响应于解密请求来提供明文),但也可有更复杂的效果。例如,根据用于执行验证的加密密钥的可靠性,安全预期的影响可能导致数字签名验证请求不同。换句话说,安全预期可能导致相同的API请求被不同地实现,诸如通过返回依赖安全预期的实现的不同结果。
安全预期可以是主要请求目的的辅助。例如,密码服务可接收验证(核实)数字签名的请求。在一些实例中(例如,当安全预期不需要时),可通过核实数字签名是正确的来实现请求,而不需要执行与用于核实数字签名的加密密钥的信任有关的任何操作。在其他实例中,安全预期可能要求验证数字签名的请求以核实数字签名是正确的,而且用于核实数字签名的加密密钥是被指定为可信任的加密密钥(例如,因为加密密钥是可加密地核实为与可信实体相关联的和/或因为在未期满的数字证书中指定加密密钥)。此外,在一些实施方案中,条件和/或预期可使用逻辑运算符来组合以形成聚合条件和/或预期,其结果至少部分地基于聚合条件的组成和/或结合逻辑运算符的预期。聚合条件可继而包含多个层次的聚合,并且形成复杂的、多层次的聚合条件和/或预期。
在一些实施方案中,安全预期可由客户端提供或以其他方式指定,例如作为被提供为使用加密密钥执行操作的请求的一部分的一个附加信息。在其他实施方案中,安全预期可与作出请求的主体相关联,使得一组安全预期被应用于由主体使用的所有加密密钥。在其他实施方案中,安全预期可与账户相关联或者可通过请求上下文确定。应当注意,这些实施方案不一定彼此不同和/或相互排斥。换句话说,在一些实例中,安全预期在请求中是明确的,并且在其他实例中,请求中的信息可用于确定是否应用任何安全预期,并且如果是,就确定应用哪种安全预期。
安全预期可由客户端提供给密码服务,或者可由密码服务集中管理(例如,通过用于管理计算资源的web服务API调用)。在一些实施方案中,安全预期被存储在由密码服务可访问的集中管理的存储库中,并且通过由密码服务可访问的策略管理模块来管理。策略管理模块可以是由密码服务可访问的软件、硬件或硬件和软件的组合,并且在一些实施方案中可以是前端系统的一部分,所述前端系统包括计算资源(例如,CPU、虚拟机实例)和数据存储装置。计算资源可至少部分地用于评估预期,检索安全预期和/或策略数据,并且运行可作为安全预期的一部分而包括的可执行代码。
此外,在一些实施方案中,诸如安全预期被通过密码服务由策略管理模块可访问地集中管理的实施方案中,用户(例如,客户)从对安全损害的更大的恢复力中受益。例如,当已发现特定加密密钥被损坏时,策略管理模块可将密钥列入黑名单(即,包含一组密钥中的将使所有安全预期评估自动失效的受损加密密钥)。相比之下,在安全预期被作为请求的一部分由客户端提供给密码服务的实施方案中,可能需要更新可使用所包含的加密密钥的所有客户端,以便将受损的加密密钥列入黑名单。
在一些实施方案中,密码服务可允许加密密钥在使用之前被信任的要求的编程配置。在这种情况下,信任是指依赖于加密密钥是否可信的计算机系统操作。例如,计算机系统可被配置成使得可信的加密密钥可用于对从密码服务可访问的数据进行加密,而尚未被确定为可信的加密密钥的加密密钥可不被用于对从密码服务可访问的数据进行加密。通常,计算机实现的方法的输出取决于加密密钥是否被指定为可信的。
存在密码服务要求加密密钥在由客户端使用之前被信任的各种有利的实施方案。这些优点至少包括使用密码服务的计算环境中的数据将仅存在于无效状态或有效状态中,而不是数据可具有多种其他状态的更复杂的系统,诸如当数字签名是正确的,但不可使用可信的加密密钥进行核实。无效状态至少包括已检测到加密数据或数字签名已(例如由恶意方或无意中)更改并且因此缺乏完整性的状态,或者数据被认为是未改变的(即具有完整性)但是使用可已知为不受信任、受损或否则缺乏客户端信任该方的基础的一方的加密密钥的状态。根据本公开的密码服务能够被配置来避免无意中使用中间有效状态,诸如数据被正确地签名但由于可用于核实数字签名不被信任的加密密钥而不被信任的状态。
在一些实施方案中,在默认情况下,客户端信任一组有限的加密密钥。例如,在默认情况下,客户端可最初仅信任来自客户端内的任何账户、来自客户端的特定账户、或者甚至来自客户端的特定加密密钥的数据。在所描述的实施方案中,来自第三方的加密密钥(即,来自其他客户端的加密密钥)不被信任,并且无法由客户端用于执行加密操作。应用编程接口调用可用于配置密码服务以根据由客户端信任的加密密钥来执行加密操作。
图1示出可实现各种实施方案的环境100。环境100示出客户端102向密码服务106发出完成加密操作104的请求,以及对此请求的响应108。为了说明,操作104是VERIFY_SIGNATURE操作,其中客户端提供数字签名110和安全预期112。为了实现执行操作的请求,密码服务可核实用于用来确定真实性的密钥的真实性和可信性的数字签名。例如,响应可指定数字签名是否被确定为是正确的。其他信息可包含在适用的响应中,诸如用于核实数字签名的正确性的数字证书是否被成功认证,用于核实数字签名的加密密钥是否被信任,数字证书是否未期满;和/或除了检查数字签名是否正确之外所执行的任何检查所产生的其他信息。需注意,VERIFY_SIGNATURE用于说明的目的,但可使用其他加密操作,诸如DECRYPT或其他。客户端102可以是被配置(例如,利用可执行代码)来执行本文所述的各种操作的计算机系统。客户端可根据客户端应用程序、操作系统或者能够被配置来如本文所讨论地操作的其他合适的软件、硬件或其组合来进行操作。
在一个实施方案中,用于核实数字签名的请求104至少包含将要核实的数字签名、据称生成数字签名的消息,并且在一些实施方案中还可包含或以其他方式指定(例如,通过标识符)加密密钥来核实签名。在一些实施方案中,请求不包括或以其他方式指定加密密钥,但是可包括由密码服务可用于选择加密密钥的信息,例如提交请求的实体的标识符,或者可包含可用于从由密码服务管理的多个加密密钥选择加密密钥的其他信息以使密码服务能够选择加密密钥。作为说明性实例,计算资源服务提供商的客户可具有将要使用的相关联的默认加密密钥。
应当注意,密钥标识符可以是但不一定是唯一的标识符。例如,密钥标识符可识别一系列加密密钥。例如,在一些实施方案中,执行密钥旋转。密钥旋转可涉及用其他密钥替换密钥以防止收集足够的解密数据来允许所使用的密码被实际破解。还应当注意,当密钥标识符不唯一地识别密钥时,可采用各种技术来实现适当功能。例如,在各种实施方案中,由密钥标识符识别的一系列加密密钥是有限的。如果请求使用由密钥标识符识别的密钥的解密操作,那么附加数据(例如,在执行加密时的时间戳)可使得能够确定适当的密钥来使用。在一些实施方案中,密文可包含指示密钥版本的信息。在一些实施方案中,所有可能的密钥被用于提供可被散列的数据的不同解码,并且可将所产生的散列与所存储的散列进行比较以识别要使用的密钥。由于存在有限数量的密钥,因此可从提供的密钥中选择适当的解密。在一些实施方案中,以使得密码服务能够检测到未至少部分地基于密钥来生成密文的方式(诸如通过使用经认证的加密)来执行密钥的解密。其他变化也认为在本公开的范围内。
密码服务106可从客户端接收请求,并且响应于此请求,确定如何基于数据的正确性和可靠性并且还至少部分地基于作为请求的一部分而提供的元数据来处理请求。密码服务可执行一系列操作114以确定数字签名110的正确性和可信性以及如何处理请求。数字签名(当从上下文中明确可知时被简单称为签名)是可用于证明数字消息的真实性的信息,并且提供由特定的已知发送者创建消息(认证)、发送方无法拒绝已发送消息(不可否认性)、以及消息在传输中未改变(完整性)的保证。目前使用的数字签名包括各种版本的公钥加密标准(PKCS)和数字签名算法(DSA)。一系列操作114可至少包括以下步骤:选择116加密密钥,确定118适用于主体的安全策略是否满足,确定120适用于加密密钥的安全预期是否满足,以及准备122对请求的响应。密码服务可包括或者可访问来自同一账户的多名用户的数据,所述数据在某些情况下可彼此共享,并且相反地,还可包括来自多个独立客户的数据,所述客户的数据不应是彼此共享的。这种配置可能希望来例如优化计算和/或存储资源,减少等待时间,增加带宽等。在一些实施方案中,将客户(例如,基于跨系统的计算资源的可用性)动态地分配给计算资源,并且可(例如,基于跨系统的计算资源的可用性的变化)将客户重新分配给其他计算资源。
加密密钥的选择116可至少部分地基于请求104的上下文。在各种实施方案中,请求104包括指定密钥标识符的附加参数并且/或者可基于与调用客户端相关联的调用客户端或账户来导出密钥标识符。此外或可替代地,加密密钥可包含在请求104中,并且由客户端提供给密码服务。
确定118适用于主体的安全策略是否满足可包括(例如,通过获取对一个或多个适用的安全策略进行编码的一个或多个电子文档)识别并获取一个或多个适用的安全策略并且评估适用的安全策略是否满足。可从策略管理模块124获取适用于主体的安全策略,并且可至少部分地基于作出请求的客户端和/或作为请求的一部分而提供的信息。在一些实施方案中,在默认情况下,主体与客户端(例如,与客户端相关联的机器、账户或用户)的身份相关联,但是可基于作为请求的一部分而提供的附加信息来覆写默认关联性。
在一个实施方案中,策略管理模块124是被配置有用于管理安全策略的存储和检索并将安全策略与主体相关联的编程逻辑的计算机系统。在一些实施方案中,作为存储在安全策略中的数据的一部分,安全策略可包括将策略与主体相关联的信息。在其他实施方案中,可存在从安全策略到主体的映射,例如通过使用其中密钥值对的密钥唯一地解析为主体的关联数组,或者通过使用其中安全策略记录包含与副主体记录相匹配的外部密钥字段的关系数据库。在一些实施方案中,也可存在组策略,其中安全策略适用于多个主体。通常,策略管理模块124被配置来使用与请求相关联的信息(例如,请求中的信息和/或请求的上下文信息并且在请求之外确定)。在从策略管理模块获取一个或多个适用的安全策略时,密码服务可评估一个或多个适用的安全策略是否满足。
在一些实施方案中,适用的安全策略可与不同于调用客户端的主体相关联。例如,在一些实施方案中,客户端可在请求中提供附加信息,所述附加信息指示不同行动者的适用的安全策略应用于识别适用的安全策略。例如,作为请求的一部分,客户端可包括来自第二客户端的数字签名的令牌,其中令牌包含指定第二客户端授权第一客户端基于第二客户端的安全策略来发出请求的信息。在这种配置中,主体将是第二客户端,而不是第一(调用)客户端。在其他实施方案中,主体可不同于调用客户端。
确定120适用于加密密钥的安全预期是否满足可包括识别并获取一个或多个适用的安全策略并且评估一个或多个适用的安全预期是否满足。在各种实施方案中,可由密码服务,策略管理模块和/或不同的硬件部件来识别、获取和评估适用于加密密钥的安全预期,所述硬件部件诸如硬件或其他安全模块(HSM)或者具有基于硬件的加密材料(例如,硬件令牌)的保护的其他装置,诸如可信平台模块(TPM)或被配置来实现一个或多个服务的其他装置,所述一个或多个服务被配置来实现本文所述的技术。
在一些实施方案中,准备122对请求的响应是至少部分地基于适用的一个安全预期(或多个安全预期)是否满足来生成的。在满足一个安全预期(或多个安全预期)的情况下,密码服务可实现根据安全预期的请求。评估安全预期可包括确定用于实现加密操作的加密密钥是否应被信任,并且评估可具有各种操作模式。操作模式确定如何评估加密密钥的可靠性。在一些实施方案中,可在请求中指定操作模式,或者可由密码服务设置操作模式。
图2示出可实践各种实施方案的环境200的说明性实例。在一个实施方案中,客户端202(也称为请求者)可向密码服务204作出请求,密码服务204是由包括策略执行模块210的前端206和预期评估引擎212组成的计算机系统。前端206是被配置来访问认证主机208的计算机系统,并且策略管理模块216被配置来访问、创建、删除和更新策略配置220。密码服务还包括后端214系统,其包括一个或多个硬件安全模块(HSM),为了清楚起见,示出单个HSM 218。在2013年2月12日提交的题为“数据安全服务(Data Security Service)”的美国专利申请号13/764,963中描述了示例性密码服务,所述专利申请以引用方式并入本文。
在一个实施方案中,服务前端主机206从一个或多个客户端接收请求,并与认证主机208进行通信,以确定如何处理请求。认证主机208可以是计算机系统、计算机系统进程、程序应用、服务模块、或者这些和/或其他这类计算系统实体的组合。认证主机208可由密码服务使用以确定是否和/或如何处理提交给前端206的请求。例如,认证主机可核实提交给密码服务的请求的数字签名,或者可以其他方式确定是否授权实现请求。此外,虽然为了说明的目的在整个本公开中讨论了客户/提供商关系,但是本文描述的技术可适用于其他背景,诸如当客户是密码202的内部客户(例如,服务提供商202的另一服务)。
策略管理模块216是密码服务的服务或子系统的说明性实例,其可操作来在适用的情况下提供关于策略和策略本身的信息。策略管理模块可操作来创建、修改、删除、复制或传播策略配置220。下文在图3中更详细地描述说明性策略配置(其实例是策略文档,并且当从上下文中明确可知时可称为策略)。返回图2,诸如策略执行模块210的前端206的部件可使用应用编程接口(API)来与策略管理模块216进行交互,并且通过扩展与策略配置220进行交互。在一些实施方案中,客户端请求可直接传递到策略管理模块,但是在其他实施方案中,前端或其中的部件(例如,认证主机)可解析客户端请求,以策略管理模块可接受的格式生成请求,并将所述请求分派给策略管理模块。在图2中,策略管理模块被示出实现为与前端和后端分离的服务。然而,在其他实施方案中,策略管理模块可被实现为后端214的一部分(即,对策略配置的访问被引导至后端214而不是中介服务)。在这种实施方案中,针对后端214的请求仍由策略管理模块执行。
策略配置220可由用户、安全管理员、系统管理员或具有足够权限的其他主体创建、修改、复制、删除或继承。在一些实施方案中,主体是否具有创建、修改、复制、删除或继承策略的足够权限可基于主体尝试创建、修改、复制、删除或继承的策略。例如,安全管理员可具有足够的权限来创建拒绝访客用户对资源的访问的策略,而访客用户可能没有足够的权限来创建拒绝安全管理员对资源的访问的策略。可在任何标准、分布式、虚拟或集群环境中使用各种基于计算机的硬件和/或软件部件来存储策略配置,包括数据服务器、数据库、数据存储装置和数据存储介质的任何组合和数量。
在一个实施方案中,当服务前端主机206接收到来自客户网络202的请求时,服务前端主机206将认证请求提交给提供认证响应的认证主机208,所述认证响应在一个实施方案中指定对服务前端主机206的请求是否是真实的(例如,所述请求的数字签名是否被成功核实)以及指定适用于所述请求的一组策略的信息。在接收到一组策略之后,服务前端主机206可利用策略执行模块来确定如何处理请求,诸如是否实现或拒绝所述请求。此外,在确定应至少部分地满足请求之后,可使用预期评估引擎212来确定应如何满足请求。预期评估引擎可用于根据可由客户端和/或由密码服务提供的安全预期(例如,通过适用的策略配置)来评估请求。
虽然预期评估引擎被示出为前端的部件,但其可以可替代地作为后端214的一部分而包含,或者作为HSM 216的一部分或者具有加密材料的基于硬件的保护的其他合适的装置而包含。一旦从策略管理模块216接收到策略,服务前端主机206可向策略执行模块提供这些策略来评估如何处理请求(例如,策略是否允许满足请求和/或应如何继续实现)。策略执行模块216可执行与策略的授权有关的各种任务,诸如执行默认策略(例如,在没有明确定义的策略的情况下确定应如何继续实现)以及确定多个策略之间的冲突如何影响请求的处理(例如,在多重策略适用的情况下确定应如何继续实现)。在一些实施方案中,策略管理模块可接收一组策略和请求上下文,并且作为响应,提供应如何实现请求(例如,允许或拒绝请求)的确定。
后端214可操作来存储和访问加密密钥,并且可至少包括硬件安全模块(HSM)或具有加密材料(例如,硬件令牌)的基于硬件的保护的其他装置。后端可在多租户系统中存储和访问来自多个客户端的加密密钥,其中一个客户端的加密密钥在默认情况下不可由系统内的其他客户端访问。
图3示出根据一个实施方案的策略文档(示例性策略配置)的说明性实例。在一个实施方案中,策略文档300对与通过策略文档编码的策略相关的各种信息进行编码。策略可被编码成声明式访问控制策略语言,诸如eXtensinble访问控制标记语言(XACML)、企业隐私授权语言(EPAL)、亚马逊Web服务访问策略语言、微软SecPol或者对必须满足将要实现的请求的一个或多个条件进行编码的任何合适的方式。如图3所示,策略文档300包括名称302,其可包括用于策略文档300的字符串。名称302可例如用于在使用人类可读术语中提供方便的标识符。例如,名称302可以是例如“我的数据存储策略(MyDataStoragePolicy)”的效果的字符串。另外如图3所示,策略文档300可包括版本304。当各种请求被接收到并被实现来更新策略时,版本304可用于跟踪策略文档300如何随时间而改变。对策略文档300的每个更新可致使版本304被更新为新值。策略文档300还可指定发布者306,发布者306可以是提交导致创建具有当前版本的策略文档300的请求的用户的标识符。如图3所示并且如上所述,策略文档300可包含一个或多个声明308。策略文档中的声明可使用逻辑“或”(OR)来处理。
如上所述,声明可以是许可的形式描述或者通常关于访问一个或多个资源的一个或多个条件的形式描述。如上所述,图3相应地示出在策略文档中可被编码的声明308的说明性实例。如图3所示,声明308可包含识别一个或多个主体310的信息。主体可以是声明308所适用的实体(例如,用户、用户组、用户类别、计算机系统、或者可被授予权限访问系统内的系统或资源的任何实体)。
例如,计算资源服务提供商的客户可具有账户。账户可与各自对应于客户的用户的多个子账户相关联。每个用户可具有对应的标识符,所述标识符可作为主体包含在声明中。还可以其他方式来识别主体。例如,可通过集合的标识符来标识主体的集合。作为说明性实例,组织中的部门可具有对应的标识符。通过在声明中列出此部门的标识符,声明可适用于与部门相关联的用户。用于主体集合的标识符可能是有用的,例如,当集合动态变化的时候,诸如当雇员被雇用和/或离开组织和/或其中部门时。
通常,可至少部分地基于主体的特征来定义主体集合。主体的标识符也可以是开放式的。例如,可包含指示声明308适用于任何人的信息,即所有用户能够代表计算资源服务提供商的账户或通常所有用户来提交请求。在一些实施方案中,声明必须至少标识主体310、资源312、动作316和效果318。在安全策略中描述的主体可例如是能够由密码服务认证的用户、组、域、服务、计算机、人员、进程、线程、环境或其他类型的实体。主体的一些实例可包括一组行动者(例如,多个用户或诸如“管理员”的用户组),具有不同类型的行动者的集合(例如,包括用户和域的集合)或其任何组合。主体可基于一个或多个主体的特性启发式地进行描述,例如策略的主体可包括通过安全传输层安全(TLS)连接而连接到密码服务的实体。
所描述的资源可以是可应用策略的基于计算机的资源。策略中所描述的资源包括各种类型的计算资源,包括但不限于:计算资源(例如,处理器、计算集群)、计算机存储装置(例如计算机文件、计算机磁盘驱动器或分区、物理硬盘驱动器、磁带数据存储装置)、加密资源(例如加密密钥)、计算机操作(例如,API或API集)和系统资源(例如,同步原语)。与主体类似,策略中指定的资源可应用于单个资源(例如,文件)、一组资源(例如,任意文件列表)、资源类型的组合(例如,计算机文件和处理器)或其任何组合。策略的动作指定行动者允许对策略中指定的一个或多个资源执行哪种动作或哪一组动作。例如,动作可以是诸如单个API调用的单个特定动作(例如,其中提供列出存储在逻辑容器中的所有数据的列表的‘ListData’API)表示访问级别(例如,“读”访问,其中包括可包括‘ListData’的所有读操作)或其某些组合。
如图3所示,声明308识别一个或多个资源312。资源可以是诸如上述的计算资源。资源可以例如是由计算资源服务提供商提供的服务的对象。例如,资源可以是虚拟计算机系统、可以是用于将数据对象相关联在一起的逻辑数据容器、可以是块级数据存储装置的卷标识符、数据库、存储在数据库中的项目、数据对象(例如,文件)和通常可作为服务提供的任何类型的资源。在一些实施方案中,资源是加密密钥,诸如代表客户或其他实体(例如,用户、角色、组等)由加密服务管理的加密密钥和/或用作一个或多个数据存储服务的默认密钥的加密密钥。与主体一样,可使用可至少部分地基于资源的特征来定义的资源集合的标识符来描述资源。例如,在一些实施方案中,虚拟计算机系统能够与可描述由虚拟计算机系统实现的角色的用户生成的标签相关联。例如,一组虚拟计算机系统可与标签“web服务器”相关联。因此,可由这种标签来标识资源。作为另一实例,资源可对应于逻辑数据容器,从而使声明308适用于存储在逻辑数据容器内(即与逻辑数据容器相关联)的任何数据对象。资源(例如,数据对象)也可由用于加密资源的密钥来定义。除了上述之外,策略应用的对象(例如,主体和资源)可以是至少部分地基于可使用安全断言标记语言(SAML)传送的属性和/或使用目录确定的属性。
如图3所示,声明308还可包括一个或多个条件。在一个实施方案中,条件是确定策略文档中的声明是否适用于特定上下文,即在其所提交的上下文中应用于提交的请求。所述条件可利用布尔运算符(等于、小于等)来允许对声明(主体、资源等)中的其他值和授权上下文中的其他值的条件进行评估,所述条件可以或可以不提供在用于评估策略的请求中。条件值可包括日期、时间、请求者的互联网协议(IP)地址、请求源的标识符、用户名、用户标识符和/或请求者的用户代理和/或其他值。对于条件适用的服务,值也可以是唯一的。可使用诸如“和”(AND)和“或”(OR)的逻辑连接器将条件逻辑上连接以便进行评估。
声明也可对一个或多个动作316进行编码。在一个实施方案中,动作是可由服务提供商执行的操作。在一个实施方案中,动作对应于由服务提供商支持的API调用(即,可对服务提供商产生的服务提供商可实现的API调用)。指定的动作也可以是作为实现API调用(可能是多种不同类型的API调用)的一部分而执行的操作,其中对于某些API调用,也可执行其他操作。例如,API调用的实现可包括执行多个操作,并且在策略中,可将一个或多个操作指定为动作。
如图3所示,声明308还可包括一个或多个效果318。在一个实施方案中,效果确定请求的预期结果,其中策略的行动者尝试在同一策略中指定的资源上执行策略中指定的操作。效果可只是简单地“允许(ALLOW)”或“拒绝(DENY)”访问资源的操作。例如,当由策略文档300编码的策略适用于解密请求时,声明308中的条件的满足可根据效果318致使允许或拒绝实现请求。当两个不同的声明具有同时可实现的相应声明并且两个声明之间的效果不同时,可将解决冲突的规则应用在实例中。例如,默认可能是拒绝,除非策略明确允许,并且可配置系统使得明确拒绝优先于明确允许,反之亦然。下文结合图6讨论涉及冲突解决的示例性方法。明确效果(例如,明确允许或明确拒绝)是在策略中编码的效果。
图4示出授权访问来使用TRUSTKEY动作使用加密密钥的访问的示例性安全策略。为了清楚起见,策略文件400仅显示了主体、资源、动作和效果,尽管策略文档可包含如上文在图3中讨论的附加信息。基于在策略文档中指定的效果408,TRUSTKEY动作406授权或拒绝在策略文档中识别的主体402在执行加密操作中访问来使用资源404。在一些实施方案中,在策略文档400中指定的资源404可包括加密密钥和可与加密密钥(诸如加密文件或加密的介质存储装置)结合使用的其他资源。注意,在一些实施方案中,TRUSTKEY动作可对应于TRUSTKEY API调用,而在其他实施方案中,TRUSTKEY动作是另一API调用的一部分(即具有附加动作的另一API调用)。
在一些实施方案中,客户端可通过对密码服务的TRUSTKEY动作来为此组可信加密密钥包含附加加密密钥。TRUSTKEY动作将至少描述客户端希望信任的加密密钥或一组加密密钥,以用于执行至少包括加密操作的各种操作,诸如对数据进行加密和解密,以及生成并验证数字签名。只有可信的加密密钥可用于执行加密操作。在一些实施方案中,TRUSTKEY操作还可包括为了使TRUSTKEY操作将加密密钥识别为可信而必须满足的条件。在一些实施方案中,用于实现TRUSTKEY操作(或与确定是否信任加密操作的结果相关的其他操作)中使用的条件可包括加密密钥所固有的特性的使用。加密密钥所固有的特性可包括可从密钥本身确定的密钥大小和其他信息。
图5描述了用于在上述实施方案中处理请求的过程500的说明性实例。过程500可由诸如密码服务或其部件的任何合适的系统(诸如实现诸如上述前端的web服务器)或者通过与应用服务器和/或安全模块有关的web服务器来执行。为了说明的目的,过程结合诸如图2中描述的密码服务来描述,尽管用于实现密码服务的计算资源的其他配置被认为在本公开的范围内。密码服务可接收502执行加密操作的请求。在一些实例中,请求是web服务请求,尽管其他API调用被认为在本公开的范围内。此外,在一些实施方案中,过程500或其操作的子集可由诸如HSM的硬件装置或提供对加密密钥的硬件保护的其他装置来执行,并且在一些实施方案中,因为所述硬件保护所述加密密钥无法以明文形式输出。如果不存在以编程方式导致装置提供信息的合法的方式(例如通过装置的接口),那么可以说信息无法以编程方式输出。例如,可维护信息,使得没有请求机制(例如,应用编程接口(API)调用)用于致使硬件以明文形式访问信息以便以明文形式显示信息。例如,存储信息的装置(例如,加密模块)可被配置成缺乏提供其一些或全部存储器的副本的能力,使得此副本以明文形式包含此信息。然而,应当注意的是,尽管为了说明的目的,尽管在整个公开内容中使用没有以明文形式获取信息的合法方式的信息,但是可维护一些信息,使得可通过有限数量的授权用途获取信息,这可能需要使用各种安全协议,并且能够以明文形式防止对信息的未经授权的访问。通常,以编程方式不可输出的信息是如果可能以明文形式获取信息,那么必须采取特殊措施以获取明文形式的信息的信息(例如,一个或多个加密密钥)。
为了清楚起见,将在图5的上下文中描述示例性DECRYPT操作。然而,所描述的过程500也可用于处理执行加密操作的其他请求,诸如数字签名核实。请求可通过网络被接收502,并且在一些实例中是web服务请求。
为了处理请求,在一个实施方案中,密码服务选择504个加密密钥。例如,加密密钥可至少部分地基于在接收到502的请求中的加密密钥的标识符和/或包含在请求中的其他信息,如上所述。可从请求外部的信息确定的上下文信息也可用于选择504加密密钥。
密码服务或其中的部件检查506以确定请求是否是真实的。在一些实施方案中,密码服务(诸如图2中描述的认证主机)内或由其可访问的认证模块可执行此步骤。真实请求是可对客户端的身份进行认证的请求,使得接收请求的一方(即,密码服务)可确保此请求是由特定方(例如,客户端202或者将请求的提交委托给客户端202的第三方)作出的。在一些实施方案中,使用经认证的加密、数字签名、消息认证码(MAC)或者使用具有使密码服务能够验证对手方的特性(例如,TLS连接)的密码协议来进行请求。应当注意,在请求本身上进行真实性检查,即对于DECRYPT请求,真实性检查将至少验证发出请求的一方的身份,并且在一些实施方案中不核实包含在响应中的密文是真实的。在无法确定请求是真实的时(例如,当数字签名被篡改或者使用不正确的加密密钥生成数字签名时),密码服务将拒绝520此请求,并且在一些实施方案中可将错误返回给客户端和/或采取其他措施(例如,通过一个或多个电子消息来通知安全管理员)。
一旦确定请求是真实的,那么在一个实施方案中,密码服务或其中的部件确定508请求是否满足任何适用的安全策略。在一些实施方案中,密码服务内的或可由其访问的策略执行模块可执行此步骤。如上所述,作为确定请求的真实性的一部分,可获得适用于请求的一组策略(统称为安全策略),尽管在其他实施方案中可以其他方式获得安全策略。获得的安全策略可包含关于主体被允许执行哪些动作和/或哪些资源可用来执行动作的限制。例如,一些安全策略可限制较少权限的主体仅允许其执行“读取”或“读取”类型加密操作(例如DECRYPT)的能力,但不允许其使用“写入“或”写入“相关的加密操作(例如,ENCRYPT)来修改或创建新内容。作为第二实例,一些安全策略可允许主体执行”写入“或”写入“相关的加密操作,但是限制可能被解密的资源集合。当检测到请求不符合安全策略条件时,密码服务可拒绝520请求,并且在一些实施方案中可向客户端返回错误和/或采取其他措施(例如,通知安全管理员)。
作为确定请求的实现满足所获取的安全策略的结果,在一个实施方案中,密码服务或其中的部件获取510用于实现接收到的请求的加密操作的所选加密密钥和与加密密钥相关联的安全预期。如上所述,可从请求和/或从请求外部的信息(例如,适用于请求的一组策略)获取一组安全预期。如所讨论的,安全预期的集合可定义适用于所选择的加密密钥的一组条件,当条件实现并且不管所选择的加密密钥是否可用于执行加密操作时,指示加密操作的结果是可信的。
在DECRYPT实例中,与加密操作一起使用的加密密钥是可操作来从请求中解密密文的加密密钥。在一些实例中,加密密钥被以加密形式存储在数据存储系统中,仅可由密码服务的安全模块进行解密。在这种实施方案中,加密的加密密钥可从数据存储系统获取并提供给安全模块。在其他实施方案中,安全模块可存储加密密钥并从本地数据存储装置访问加密密钥。通常,可使用获取加密密钥的任何方式,并且获取加密密钥的方式可根据各种密码服务配置而变化。在一些实施方案中,密码服务可使用策略管理模块或类似部件来识别并获取与加密密钥相关联的安全预期。在其他实施方案中,安全预期可至少部分地包含在请求中。需注意,虽然图5示出作为过程500的一部分来获取加密密钥,但是在一些实施方案中,可不获取加密密钥,诸如当在不访问加密密钥的情况下可评估安全预期时,并且当这类评估结果无需访问加密密钥时。
在一个实施方案中,密码服务或其中的部件根据安全预期来评估512请求。评估可由诸如上文图2中所述的预期评估引擎的部件来执行。例如,如果由适用的安全预期指示的话,评估可包括确定用于实现加密操作的加密密钥是否应被信任。评估可具有各种操作模式。操作模式确定如何评估加密密钥的可靠性。在一些实施方案中,可在请求中指定操作模式,或者可由密码服务设置操作模式。
在一些实施方案中,操作模式可包括禁用状态、默认操作模式或TRUSTKEY操作模式。禁用的操作状态是指在此步骤中关闭验证的操作模式。这种操作状态呈现超过其他操作模式的性能优点,并且可在其中计算系统固有地安全(例如,可靠的计算环境)的一些实施方案中使用。默认操作模式可以是其中用于实现加密操作的加密密钥的验证基于编码策略的操作模式。默认操作模式的实例可包括评估所有请求,使得用于实现加密操作的加密密钥必须是来自主体账户的密钥。TRUSTKEY操作模式可以是其中策略的验证被附加到作出调用的主体的操作模式。在一个实施方案中,策略管理模块用于查找以确定是否存在与允许针对加密密钥的TRUSTKY动作的主体相关联的安全策略。在DECRYPT实例中,操作将成功地解密并提供明文,其中存在与调用客户端相关联的安全策略,所述调用客户端允许对密文文件/资源进行TRUSTKEY动作。在数字签名核实的实例中,肯定的响应将表明数字签名是正确的,并且用于核实数字签名的正确性的密钥是可信的。
基于对安全预期的评估,产生响应并提供514(例如,通过网络传输)响应。在满足安全预期的情况下,操作完成,并且可提供适当的响应(例如,解密密文的明文结果)。在一些实施方案中,不能满足安全预期(例如,没有允许TRUSTKEY动作的策略)可导致向客户端返回故障。
图6描述了用于解决多个适用的安全策略之间的冲突的过程600的说明性实例。过程600可由诸如密码服务或其部件的任何合适的系统来执行。例如,当关于安全策略执行时,上述策略执行模块可执行过程600。在一些实施方案中,密码服务可在处理请求时(例如,根据图5中描述的过程并如上文结合图2所述)获取多个安全策略。在检测到602将要评估的两个或更多个策略时,各自评估604策略,并且确定每个个别策略/预期的结果。随后可在计算随后的评估的同时将各个策略结果的结果存储在瞬态(例如,RAM或临时缓存)或持久(例如,硬盘或网络存储)介质中)。在一些实施方案中,评估可以并行化或分布式方式进行。
在完成所有评估后,通过首先检查606是否存在任何明确的效果来拒绝访问来解决冲突。明确拒绝可源自具有DENY效果的安全策略。如果检测到明确拒绝,那么冲突解决的结果是所述请求将被拒绝访问资源。然而,如果没有明确拒绝并且检测到608至少一个允许效果,那么所述请求将被允许622,这意味着冲突解决的结果是允许622访问所述资源。
在评估安全预期时可执行类似的过程。例如,对于特定类型的API调用(例如,DECRYPT或VERIFY_SIGNATURE),可存在默认的方式来实现请求,这些请求可由安全预期中明确声明的效果所覆写。例如,DECRYPT的默认值可以是提供解密的密文,除非安全预期需要用于信任的解密密钥,并且当不满足这种要求时,可拒绝请求。作为另一实例,无论用于检查正确性的密钥的信任度如何,VERIFY_SIGNATURE的默认值可提供指示数字签名是否正确的响应,除非安全预期要求密钥被指定为可信的。利用这种安全预期,可通过提供指示不能核实数字签名的响应或者在一些实施方案中指示数字签名是正确但不可信任的响应来处理使用非信任密钥来核实数字签名的请求。实现请求的默认方式可根据各种实施方案、在逐个账户的基础上和/或以其他方式而变化。例如,在一些上下文中,默认值可确保更大的安全性,除非安全预期明确允许较少的安全性(例如,使用不可信密钥进行数字签名核实或者使用不可信密钥进行解密)。
图7示出根据各种实施方案的用于实现各方面的示例性环境700的各方面。应当理解,尽管为了解释的目的使用基于web的环境,但是适当地可使用不同的环境来实现各种实施方案。所述环境包括电子客户端装置702,其可包括可操作来通过适当的网络704发送和/或接收请求、消息或信息的任何适当的装置,并且在一些实施方案中,将信息传送回装置的用户。这类客户端装置的实例包括个人计算机、蜂窝电话、手持消息传送装置、膝上型计算机、平板计算机、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器等。网络可包括任何合适的网络,包括内联网、互联网、蜂窝网络、局域网、卫星网络或任何其他这种网络和/或其组合。用于这种系统的部件可至少部分取决于所选择的网络和/或环境的类型。用于通过这种网络进行通信的协议和部件是众所周知的,并且本文将不再详细论述。通过网络的通信可通过有线或无线连接及其组合来实现。在此实例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的web服务器706,但是对于其他网络来说,可使用服务类似目的替代装置,如本领域普通技术人员所显而易见的。
说明性环境包括至少一个应用服务器708和数据存储区710。应当理解,可存在可被链接或以其他方式配置的若干应用服务器、层或其他元件、过程或部件,其可交互以执行任务,诸如从适当的数据存储区获取数据。如本文所使用的,可以各种方式来实现服务器,诸如硬件装置或虚拟计算机系统。在一些上下文中,服务器可指正在计算机系统上执行的编程模块。如本文所使用的,除非另行指出或从上下文中明确可知,否则术语“数据存储区”是指能够存储、访问和检索数据的任意装置或装置组合,所述装置或装置组合可包括任意标准、分布式、虚拟或集群式环境中的任意组合和任意数目的数据服务器、数据库、数据存储装置和数据存储介质。应用服务器可包括任何适当硬件、软件和固件,所述硬件、软件和固件视执行客户端装置的一个或多个应用程序的各方面的需要而与数据存储区集成、处理应用程序的一些或所有数据访问和业务逻辑。应用服务器可提供与数据存储区协作的存取控制服务,并且能够生成可用于提供给用户的内容,所述内容包括但不限于文本、图片、音频、视频和/或其他内容,所述内容可以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、层叠样式表(“CSS”)或另一种适当客户端结构化语言的形式由web服务器提供给用户。传送给客户端装置的内容可由客户端装置处理,以便提供呈一种或多种形式的内容,所述形式包括但不限于用户可通过听觉、视觉和/或通过其他感觉(包括触觉、味觉和/或嗅觉)来感知的形式。全部请求和响应的处理以及客户端装置702与应用服务器708之间的内容递送可由web服务器使用以下PHP来处理:在这个实例中为超文本预处理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML或另一种适当服务器端结构化语言。应当理解,web服务器和应用服务器不是必要的,且仅仅是示例性部件,因为本文所论述的结构化代码可在如本文其他地方所论述的任意适当装置或主机上执行。此外,除非上下文另外清楚规定,否则如由单个装置执行的本文所述的操作可由可形成分布式和/或虚拟系统的多个装置共同执行。
数据存储区710可包括用于存储与本公开的特定方面相关的数据的若干单独数据表、数据库、数据文档、动态数据存储方案和/或其他数据存储机构和介质。例如,所示数据存储区可包括用于存储生成数据712和用户信息716的机构,其可用于提供用于生成端的内容。数据存储区还被示出为包括用于存储日志数据714的机构,所述日志数据可用于报告、分析或其他此类目的。应当理解,可能存在可能需要存储在数据存储区中的许多其他方面,诸如页面图像信息和访问权信息,所述方面可视情况存储在上文列出的机构中的任意机构中或存储在数据存储710中的额外机构中。数据存储区710可通过与其相关联的逻辑来操作,以便从应用服务器708接收指令,并且响应于所述指令而获得、更新或以其他方式处理数据。应用服务器708可响应于所接收指令提供静态数据、动态数据或静态数据和动态数据的组合。动态数据(诸如web日志(博客)、购物应用程序、新闻服务以及其他这类应用程序中使用的数据)可由如本文所描述的服务器端结构化语言生成,或者可由在应用服务器上操作或在其控制下的内容管理系统(“CMS”)提供。在一个实例中,用户通过由用户操作的装置可提交针对某种类型的项目的搜索请求。在这种情况下,数据存储区可能访问用户信息来验证用户的身份,并且可访问目录详细信息以获得关于所述类型的项目的信息。随后,可将信息诸如以网页上的结果列表的形式返回给用户,用户能够通过用户装置702上的浏览器来查看所述网页。可在浏览器的专用页面或窗口中查看感兴趣的特定项目的信息。然而,应当注意,本公开的实施方案不一定限于网页的内容,但是可更一般地适用于处理基本请求,其中请求不一定是针对内容的请求。
每个服务器通常将包括提供用于此服务器的基本管理和操作的可执行程序指令的操作系统,并且通常将包括计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),其存储当由服务器的处理器执行时允许服务器执行其预期功能的指令。服务器的操作系统和基本功能的合适实现方式是已知的或可商购获得的,并且由本领域普通技术人员特别是根据本公开而容易地实现。
在一个实施方案中,环境是利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的多个计算机系统和部件的分布式和/或虚拟计算环境。然而,本领域普通技术人员应了解,这种系统可在具有比图7中所示的部件更少或更多数量的部件的系统中同样顺利地操作。因此,图7中的系统700的描绘本质上应视为说明性的,并且不限制本公开的范围。
各种实施方案还可在各种各样的操作环境中实现,所述操作环境在一些情况下可包括可用于操作多个应用中的任何一个的一个或多个用户计算机、计算装置或处理装置。用户或客户端装置可包括许多通用个人计算机中的任何一个,诸如运行标准操作系统的台式机、膝上计算机或平板计算机,以及运行移动软件的蜂窝、无线和手持装置,并且能够支持多个网络和消息传送协议。这种系统还可包括运行多种可商购获得的操作系统和其他已知应用程序中的任何一种的许多工作站,以用于诸如开发和数据库管理的目的。这些装置还可包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和能够通过网络进行通信的其他装置。这些装置还可包括虚拟装置,诸如虚拟机、管理程序和能够通过网络通信的其他虚拟装置。
本公开的各种实施方案利用本领域技术人员可能熟悉的网络来支持使用多种可商购获得的协议中的任一种进行通信,所述协议诸如传输控制协议/互联网协议(″TCP/IP″)、用户数据报协议(″UDP″)、在开放系统互连(″OSI″)模型的各个层中操作的协议、文件传送协议(″FTP″)、通用即插即用(″UpnP″)、网络文件系统(″NFS″)、公共互联网文件系统(″CIFS″)以及AppleTalk。网络可以是例如局域网、广域网、虚拟专用网、互联网、内部网、外部网、公共交换电话网、红外网、无线网、卫星网以及上述网络的任何组合。
在利用web服务器的实施方案中,web服务器可运行多种服务器或中间层级应用程序中的任一种,包括超文本传送协议(″HTTP″)服务器、FTP服务器、通用网关接口(″CGI″)服务器、数据服务器、Java服务器、Apache服务器和业务应用服务器。服务器还能够响应于来自用户装置的请求而执行程序或脚本,诸如通过执行可实现为以任何编程语言(诸如
Figure BDA0001319103060000251
C、C#或C++)或任何脚本语言(诸如Ruby、PHP、Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个web应用程序。服务器也可包括数据库服务器,包括但不限于,可从
Figure BDA0001319103060000252
Figure BDA0001319103060000253
商购获得的数据库服务器、以及开源服务器(诸如MySQL、Postgres、SQLite、MongoDB),以及能够存储、检索和访问结构化数据或非结构化数据的任何其他服务器。数据库服务器可包括基于表格的服务器、基于文件的服务器、非结构化服务器、关系式服务器、非关系式服务器或这些和/或其他数据库服务器的组合。
环境可包括如上文所论述的各种各样的数据存储区以及其他存储器和存储介质。这些可驻留在各种位置,诸如在存储介质上,所述存储介质在一个或多个计算机的本地(和/或驻留在其中),或者远离网络中的任何或所有计算机。在一组特定实施方案中,信息可驻留在本领域技术人员熟悉的存储区域网络(“SAN”)中。类似地,在适当情况下,用于执行归因于计算机、服务器或其他网络装置的功能的任何必要文件可在本地和/或远程存储。在系统包括计算机化装置的情况下,每个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可包括诸如磁盘驱动器、光存储装置和诸如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储装置、以及可移动媒体装置、存储卡、闪存卡等的一个或多个存储装置。
此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信设备等)和如上所述的工作存储器。计算机可读存储介质读取器可与表示远程、本地、固定和/或可移动存储装置以及用于临时和/或更永久地包含、存储、发送和检索计算机可读信息的存储介质的计算机可读存储介质连接或被配置来接收所述计算机可读存储介质。系统和各种装置通常还将包括位于工作存储器装置内的许多软件应用、模块、服务或其他元件,包括诸如客户端应用或网络浏览器的操作系统和应用程序。应当理解,替代实施方案可具有与上述不同的许多变化。例如,还可使用定制硬件并且/或者特定元件可在硬件、软件(包括便携式软件,例如小程序)或两者中实现。此外,可采用与其他计算装置(诸如网络输入/输出装置)的连接。
用于包含代码或代码部分的存储介质和计算机可读介质可包括本领域中已知或使用的任何适当的介质,所述介质包括存储介质和通信介质,诸如以任何方法或技术实现用于存储和/或传输信息的易失性和非易失性、可移动和不可移动介质,所述信息诸如计算机可读指令、数据结构、程序模块或其他数据,所述介质包括RAM、ROM、电可擦除可编程只读存储器(“EEPROM”)、闪速存储器或其他存储器技术、光盘只读存储器(“CD-ROM”)、数字通用盘(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储装置或者可用来存储所需信息并且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教义,本领域普通技术人员将了解实现各个实施方案的其他方式和/或方法。
因此,说明书和附图相应地视为说明性而非限制性意义。然而,显而易见的是,在不脱离如权利要求所阐述的本发明的更广泛的精神和范围的情况下,可进行各种修改和改变。
其他变化在本公开的精神内。因此,虽然公开的技术易于进行各种修改和替代构造,但是其某些示出的实施方案在附图中示出并已在上文详细描述。然而,应当理解,不意图将本发明限制为所公开的一种或多种具体形式,相反,本发明旨在覆盖落入本发明的精神和范围内的所有修改、替代构造和等效物,如所附权利要求中所限定的。
在描述公开的实施方案(特别是在所附权利要求的上下文中)的上下文中使用术语“一个”、“一种”和“所述”以及类似的指示物应被解释为涵盖单数和复数,除非本文另外指明或上下文明显矛盾。术语“包括”、“具有”、“包含”和“含有”均被解释为开放式术语(即意味着“包括但不限于”),除非另有说明。术语“连接的”在未经修改且涉及物理连接的情况下,应解释为部分地或整体地包含在内、附接到或接合在一起,即使会有一些物件介于其间。除非本文另有说明,否则值的范围的叙述在本文仅用于作为单独参考落在所述范围内的每个单独值的速记方法,并且将每个单独数值并入本说明书中,如同在本文单独列举每个单独数值一样。术语“组”(例如,“一组项目”)或“子集”的使用除非另有说明或与上下文相矛盾,否则应被解释为包括一个或多个成员的非空集合。此外,除非另有说明或与上下文相矛盾,否则对应集合的术语“子集”不一定表示对应集合的适当子集,但子集和对应集合可相等。
除非另外特别规定或另外与上下文矛盾,否则连接性语言,诸如具有形式“A、B、以及C中的至少一个”或“A、B以及C中的至少一个”的短语与上下文一起理解为一般用来呈现项目、术语等可以是A或B或C,或A和B和C的集合的任何非空子集。例如,在具有三个成员的集的说明性实例中,连接性短语“A、B、和C中的至少一个”和“A、B和C中的至少一个”是指以下集中的任一集:{A}、{B}、{C}、{A,B}、{A,C}、{B,C}、{A,B,C}。因此,此类连接性语言一般并非意图暗示某些实施方案需要A中的至少一个、B中的至少一个以及C中的至少一个每个存在。
本文所描述的进程的操作可以任何合适的顺序执行,除非本文另外指明或者否则上下文明显矛盾。本文所描述的进程(或其变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可被实现为通过硬件或其组合在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)。代码可存储在计算机可读存储介质上,例如以包括可由一个或多个处理器执行的多条指令的计算机程序的形式进行存储。计算机可读存储介质可以是非暂时性的。
本文所提供的任何和所有实例或示例性语言(例如“诸如”)的使用仅旨在更好地说明本发明的实施方案,并且不对本发明的范围构成限制,除非另有说明。说明书中的任何语言都不应解读为指示任何未要求保护的要素是实施本发明所必需的。
本文描述了本公开的实施方案,包括本发明人已知的用于执行本发明的最佳模式。在阅读前面的描述之后,这些实施方案的变型对于本领域普通技术人员来说可能变得显而易见。本发明人期望本领域技术人员在适当情况下使用这种变型,并且本发明人希望本公开的实施方案以不同于本文具体描述的方式来实施。因此,本公开的范围包括根据适用法律允许的所附权利要求中所述的主题的所有修改和等效物。此外,除非本文另外指明或者否则上下文明显矛盾,否则所有可能变型的上述元素的任何组合都包含在本公开的范围内。
本文所引用的所有参考文献(包括出版物、专利申请和专利)据此以引用方式并入,其程度等同于每个参考文献单独地且具体地被表示为以引用方式并入本文并且以其全文在本文得以陈述。
本公开的实施方案可鉴于以下条款来描述:
1.一种计算机实现的方法,其包括:
从与服务提供商的客户相关联的请求者接收web服务请求,所述web服务请求的实现包括执行加密操作;
至少部分地基于所述web服务请求中的信息来从多个加密密钥中选择加密密钥,所述多个加密密钥由所述服务提供商为所述服务提供商的多个客户进行管理;
确定适用于所述web服务请求的一组安全预期,所述组安全预期定义适用于所述选择的加密密钥的一组条件,当实现所述加密密钥时并且无论所述选择的加密密钥是否可用于执行所述加密操作,都指示所述加密操作的结果是可信的;
针对所述选择的加密密钥来评估所述组安全预期;
至少部分地基于所述组安全预期的评估来生成对所述web服务请求的响应;以及
提供所述生成的响应。
2.如条款1所述的计算机实现的方法,其中在所述请求中指定所述组安全预期。
3.如条款1或2所述的计算机实现的方法,其中:
所述方法还包括:
确定适用于所述请求的一组策略,所述组策略来自存储的多个策略文档;以及
确定所述组策略允许实现所述请求;以及
确定所述组安全预期包括从所述确定的一组策略确定至少一个安全预期。
4.如条款3所述的计算机实现的方法,其中所述方法还包括:
从由修改策略的所述客户授权的实体接收对与所述客户相关联的一组策略执行所述组安全预期的web服务请求;以及
通过修改所述组策略以包含所述组安全预期来实现所述请求。
5.如条款3或4所述的计算机实现的方法,其中所述加密操作是解密或数字签名核实。
6.一种系统,其包括被配置来实现一个或多个服务的至少一个计算装置,所述一个或多个服务被配置来:
从客户端接收执行加密操作的请求;
确定用于执行所述加密操作的加密密钥,所述加密密钥来自由所述系统管理的一组加密密钥;
至少部分地基于所述请求中所包含的信息来确定一组条件,在所述组条件下,所述加密操作的执行结果应由所述客户端信任;
至少部分地基于所述加密密钥和所述确定的一组条件来生成对所述请求的响应;以及
向所述客户端提供所述生成的响应。
7.如条款6所述的系统,其中所述一个或多个服务还被配置来根据所述请求中指定的所述至少一个条件来确定所述组条件中的至少一个条件。
8.如条款6或7所述的系统,其中:
所述客户端被认证为身份;并且
所述一个或多个服务被配置来至少通过以下各项来确定所述组条件:
选择适用于所述身份的一组策略的子集;以及
根据在所述组策略的所述子集中所指定的所述至少一个条件来确定所述组条件中的至少一个条件。
9.如条款8所述的系统,其中:
所述系统由服务提供商进行操作;
所述组策略可由与所述身份相关联的所述服务提供商的客户以编程方式修改。
10.如条款6-9中任一项所述的系统,其中所述系统是具有所述组加密密钥的基于硬件的保护的装置,并且通过所述保护,所述加密密钥不可从所述装置以明文形式以编程方式输出。
11.如条款6-10中任一项所述的系统,其中:
所述加密密钥由所述系统代表服务提供商的第一客户来进行管理;并且
所述组加密密钥包含由所述系统代表所述服务提供商的第二客户来管理的第二加密密钥。
12.如条款11所述的系统,其中所述客户端由所述服务提供商的第三客户来操作。
13.如条款6-12中任一项所述的系统,其中所述生成的响应包含指示所述组条件的评估结果的信息。
14.如条款6-13中任一项所述的系统,其中所述组条件要求所述加密密钥来自被指定为可信的一组加密密钥。
15.一种非暂时性计算机可读存储介质,其具有存储在其上的可执行指令,所述可执行指令当由计算机系统的一个或多个处理器执行时,致使所述计算机系统提供服务,所述服务被配置来:
至少部分地基于请求中包含的信息来通过请求者确定谁的实现包括涉及加密密钥的加密操作、适用于所述加密密钥的用于确定所述请求者是否应信任所述加密操作的结果的一组条件,所述加密密钥来自由所述计算机系统为多个实体管理的一组加密密钥,所述多个实体各自具有所述组加密密钥的对应子集;
评估所述确定的一组条件,以确定实现所述请求的方式;以及
作为指示所述加密密钥可信的所述确定的一组条件的评估结果,致使执行所述加密操作并且响应于所述请求来提供所述加密操作的所述结果。
16.如条款15所述的非暂时性计算机可读存储介质,其中所述实体是操作所述计算机系统的服务提供商的客户。
17.如条款15或16所述的非暂时性计算机可读存储介质,其中所述指令当由所述一个或多个处理器执行时致使所述计算机系统确定所述组条件,致使所述系统从与提交所述请求的身份相关联的策略获取所述组条件中的至少一个条件。
18.如条款15-17中任一项所述的非暂时性计算机可读存储介质,其中所述请求是web服务请求。
19.如条款15-18中任一项所述的非暂时性计算机可读存储介质,其中所述一个或多个条件至少部分地基于所述加密密钥的固有特性。
20.如条款15-19中任一项所述的非暂时性计算机可读存储介质,其中来自所述确定的一组条件的至少一个条件由所述请求指定。
21.如条款20所述的非暂时性计算机可读存储介质,其中所述组条件包括与布尔运算符连接的多个条件。
22.如条款15-21中任一项所述的非暂时性计算机可读存储介质,其中所述指令还包括在由所述一个或多个处理器执行时致使所述计算机系统评估适用于所述请求的一组策略作为先决条件来对所述确定的一组条件进行评估的指令。

Claims (15)

1.一种计算机实现的方法,其包括:
从与服务提供商的客户相关联的请求者接收web服务请求,所述web服务请求的实现包括执行加密操作;
至少部分地基于所述web服务请求中的信息来从多个加密密钥中选择加密密钥,所述多个加密密钥由所述服务提供商为所述服务提供商的多个客户进行管理;
确定适用于所述web服务请求的一组安全预期,所述组安全预期定义适用于所述选择的加密密钥的一组条件,当实现所述组条件时并且无论所述选择的加密密钥是否可用于执行所述加密操作,都指示所述加密操作的结果是可信的;
针对所述选择的加密密钥来评估所述组安全预期;
至少部分地基于所述组安全预期的评估来生成对所述web服务请求的响应;以及
提供所述生成的响应。
2.如权利要求1所述的计算机实现的方法,其中在所述请求中指定所述组安全预期。
3.如权利要求1所述的计算机实现的方法,其中:
所述方法还包括:
确定适用于所述请求的一组策略,所述组策略来自存储的多个策略文档;以及
确定所述组策略允许实现所述请求;以及
确定所述组安全预期包括从所述确定的一组策略确定至少一个安全预期。
4.如权利要求3所述的计算机实现的方法,其中所述方法还包括:
从由修改策略的所述客户授权的实体接收对与所述客户相关联的一组策略执行所述组安全预期的web服务请求;以及
通过修改所述组策略以包含所述组安全预期来实现所述请求。
5.如权利要求3所述的计算机实现的方法,其中所述加密操作是解密或数字签名核实。
6.一种计算机实现的系统,其包括被配置来实现一个或多个服务的至少一个计算装置,所述一个或多个服务被配置来:
从客户端接收执行加密操作的请求;
确定用于执行所述加密操作的加密密钥,所述加密密钥来自由所述系统管理的一组加密密钥;
确定适用于所述请求的一组安全预期,所述组安全预期定义适用于所述确定的加密密钥的一组条件,当实现所述组条件时并且无论所述确定的加密密钥是否可用于执行所述加密操作,都指示所述加密操作的执行结果应由所述客户端信任;至少部分地基于所述加密密钥和所述确定的一组条件来生成对所述请求的响应;以及
向所述客户端提供所述生成的响应。
7.如权利要求6所述的系统,其中所述一个或多个服务还被配置来根据所述请求中指定的所述至少一个条件来确定所述组条件中的至少一个条件。
8.如权利要求6所述的系统,其中:
所述客户端被认证为身份;并且
所述一个或多个服务被配置来至少通过以下各项来确定所述组条件:
选择适用于所述身份的一组策略的子集;以及
根据在所述组策略的所述子集中所指定的所述至少一个条件来确定所述组条件中的至少一个条件。
9.如权利要求8所述的系统,其中:
所述系统由服务提供商进行操作;
所述组策略可由与所述身份相关联的所述服务提供商的客户以编程方式修改。
10.如权利要求6所述的系统,其中所述系统是具有所述组加密密钥的基于硬件的保护的装置,并且通过所述保护,所述加密密钥不可从所述装置以明文形式以编程方式输出。
11.如权利要求6所述的系统,其中:
所述加密密钥由所述系统代表服务提供商的第一客户来进行管理;并且
所述组加密密钥包含由所述系统代表所述服务提供商的第二客户来管理的第二加密密钥。
12.如权利要求11所述的系统,其中所述客户端由所述服务提供商的第三客户来操作。
13.如权利要求6所述的系统,其中所述生成的响应包含指示所述组条件的评估结果的信息。
14.如权利要求6所述的系统,其中所述组条件要求所述加密密钥来自被指定为可信的一组加密密钥。
15.一种计算机实现的系统,其包括被配置来实现一个或多个服务的至少一个计算装置,所述一个或多个服务被配置来:
至少部分地基于请求中包含的信息来通过请求者确定谁的实现包括涉及加密密钥的加密操作;
确定适用于所述请求的一组安全预期,所述组安全预期定义适用于所述加密密钥的一组条件,用于当实现所述组条件时并且无论所述涉及的加密密钥是否可用于执行所述加密操作,确定所述请求者是否应信任所述加密操作的结果,所述加密密钥来自由所述计算机系统为多个实体管理的一组加密密钥,所述多个实体各自具有所述组加密密钥的对应子集;
评估所述确定的一组条件,以确定实现所述请求的方式;以及
作为指示所述加密密钥可信的所述确定的一组条件的评估结果,致使执行所述加密操作并且响应于所述请求来提供所述加密操作的所述结果。
CN201580067659.1A 2014-12-17 2015-12-14 数据安全操作与预期 Active CN107005568B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/574,337 US10560441B2 (en) 2014-12-17 2014-12-17 Data security operations with expectations
US14/574,337 2014-12-17
PCT/US2015/065638 WO2016126332A2 (en) 2014-12-17 2015-12-14 Data security operations with expectations

Publications (2)

Publication Number Publication Date
CN107005568A CN107005568A (zh) 2017-08-01
CN107005568B true CN107005568B (zh) 2021-01-05

Family

ID=56130836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580067659.1A Active CN107005568B (zh) 2014-12-17 2015-12-14 数据安全操作与预期

Country Status (9)

Country Link
US (1) US10560441B2 (zh)
EP (2) EP3235223A2 (zh)
JP (2) JP6851970B2 (zh)
KR (1) KR102037160B1 (zh)
CN (1) CN107005568B (zh)
AU (2) AU2015381756A1 (zh)
CA (1) CA2969740C (zh)
SG (1) SG11201704602QA (zh)
WO (1) WO2016126332A2 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10630686B2 (en) 2015-03-12 2020-04-21 Fornetix Llc Systems and methods for organizing devices in a policy hierarchy
US10965459B2 (en) 2015-03-13 2021-03-30 Fornetix Llc Server-client key escrow for applied key management system and process
US11063980B2 (en) * 2016-02-26 2021-07-13 Fornetix Llc System and method for associating encryption key management policy with device activity
US10860086B2 (en) * 2016-02-26 2020-12-08 Fornetix Llc Policy-enabled encryption keys having complex logical operations
US10068397B2 (en) * 2016-04-06 2018-09-04 Guardtime IP Holdings, Ltd. System and method for access control using context-based proof
JP6780462B2 (ja) * 2016-11-14 2020-11-04 大日本印刷株式会社 電子情報記憶媒体、セキュア処理実行方法、及びセキュア処理実行プログラム
US10243731B2 (en) 2017-01-27 2019-03-26 Accenture Global Solutions Limited Hardware blockchain acceleration
US20180268172A1 (en) * 2017-03-14 2018-09-20 Massachusetts Institute Of Technology Electronic device authentication system
US10484352B2 (en) 2017-03-31 2019-11-19 Microsoft Technology Licensing, Llc Data operations using a proxy encryption key
US10565391B2 (en) 2017-06-02 2020-02-18 Microsoft Technology Licensing, Llc Expression evaluation of database statements for restricted data
WO2018236420A1 (en) 2017-06-20 2018-12-27 Google Llc CLOUD EQUIPMENT SECURITY MODULES FOR CRYPTOGRAPHIC EXTERNALIZATION OPERATIONS
US10574702B1 (en) * 2018-01-03 2020-02-25 Amazon Technologies, Inc. Authorization for build configuration using telemetry data assessment
CN109687959B (zh) 2018-12-29 2021-11-12 上海唯链信息科技有限公司 密钥安全管理系统和方法、介质和计算机程序
CN110442326B (zh) * 2019-08-11 2023-07-14 西藏宁算科技集团有限公司 一种基于Vue简化前后端分离权限控制的方法及其系统
US11190353B2 (en) * 2020-03-26 2021-11-30 Atlassian Pty Ltd. Computer implemented methods and systems for managing a cryptographic service
CN117097564B (zh) * 2023-10-18 2024-02-02 沃通电子认证服务有限公司 密码服务调用方法、装置、终端设备以及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2638525B2 (ja) 1994-08-03 1997-08-06 日本電気株式会社 電子署名検証装置
JP2003224563A (ja) 2002-01-29 2003-08-08 Nippon Telegr & Teleph Corp <Ntt> 署名検証システムおよび方法と署名検証プログラムおよび該プログラムを記録したコンピュータ読取り可能な記録媒体
JP4062206B2 (ja) 2003-08-01 2008-03-19 日本電気株式会社 署名復号サービスシステム及びプログラム
US8645697B1 (en) 2003-08-08 2014-02-04 Radix Holdings, Llc Message authorization
US7266847B2 (en) 2003-09-25 2007-09-04 Voltage Security, Inc. Secure message system with remote decryption service
GB201104094D0 (en) 2011-03-10 2011-04-27 Amethyst Cryptographic Services Ltd A cryptographic system and method
US8713314B2 (en) 2011-08-30 2014-04-29 Comcast Cable Communications, Llc Reoccuring keying system
US9436961B2 (en) * 2012-04-26 2016-09-06 Ribbon Payments, Inc. System and method for selling a product through an adaptable purchase interface
US9590959B2 (en) 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service
US9268931B2 (en) * 2012-06-12 2016-02-23 Microsoft Technology Licensing, Llc Gate keeper cookie
DE102012012252B4 (de) 2012-06-22 2022-05-05 Krohne Ag System zur Durchflussmessung
US8713633B2 (en) * 2012-07-13 2014-04-29 Sophos Limited Security access protection for user data stored in a cloud computing facility
US9350536B2 (en) 2012-08-16 2016-05-24 Digicert, Inc. Cloud key management system
US9134156B2 (en) 2012-10-19 2015-09-15 Daniel Measurement And Control, Inc. Determination of reference values for ultrasonic flow metering systems
JP6538570B2 (ja) 2013-03-04 2019-07-03 ドキュサイン,インコーポレイティド クラウドデータセキュリティのためのシステム及び方法
US9071429B1 (en) * 2013-04-29 2015-06-30 Amazon Technologies, Inc. Revocable shredding of security credentials
CN104242933B (zh) 2013-08-22 2018-03-23 西安电子科技大学 高速模数转换器的数字后台校准方法
US9571279B2 (en) * 2014-06-05 2017-02-14 Cavium, Inc. Systems and methods for secured backup of hardware security modules for cloud-based web services
US10491398B2 (en) * 2014-09-12 2019-11-26 Salesforce.Com, Inc. Facilitating dynamic end-to-end integrity for data repositories in an on-demand services environment

Also Published As

Publication number Publication date
SG11201704602QA (en) 2017-07-28
WO2016126332A3 (en) 2016-10-27
JP6851970B2 (ja) 2021-03-31
WO2016126332A2 (en) 2016-08-11
EP3235223A2 (en) 2017-10-25
JP2020108156A (ja) 2020-07-09
AU2019200419A1 (en) 2019-02-07
KR20170092642A (ko) 2017-08-11
KR102037160B1 (ko) 2019-10-29
US20160182470A1 (en) 2016-06-23
AU2019200419B2 (en) 2020-12-24
EP3700166A1 (en) 2020-08-26
US10560441B2 (en) 2020-02-11
AU2015381756A1 (en) 2017-06-29
JP2018504806A (ja) 2018-02-15
CA2969740C (en) 2020-12-22
CA2969740A1 (en) 2016-08-11
CN107005568A (zh) 2017-08-01

Similar Documents

Publication Publication Date Title
CN107005568B (zh) 数据安全操作与预期
US11870816B1 (en) Trusted-code generated requests
AU2017204853B2 (en) Data security service
US11431757B2 (en) Access control using impersonization
JP2018504806A5 (zh)
US10944561B1 (en) Policy implementation using security tokens
US20140229732A1 (en) Data security service
US10958653B1 (en) Dynamically adaptive computer security permissions
US20210083873A1 (en) Secure authorization for sensitive information
US11146379B1 (en) Credential chaining for shared compute environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant