CN105103119A - 数据安全服务系统 - Google Patents

数据安全服务系统 Download PDF

Info

Publication number
CN105103119A
CN105103119A CN201480020482.5A CN201480020482A CN105103119A CN 105103119 A CN105103119 A CN 105103119A CN 201480020482 A CN201480020482 A CN 201480020482A CN 105103119 A CN105103119 A CN 105103119A
Authority
CN
China
Prior art keywords
service system
key
request
data
cryptographic service
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.)
Granted
Application number
CN201480020482.5A
Other languages
English (en)
Other versions
CN105103119B (zh
Inventor
G·B·罗斯
M·J·雷恩
E·J·布兰德怀恩
B·I·普拉特
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
Priority to CN201911354068.9A priority Critical patent/CN111147255B/zh
Publication of CN105103119A publication Critical patent/CN105103119A/zh
Application granted granted Critical
Publication of CN105103119B publication Critical patent/CN105103119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0471Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • 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/602Providing cryptographic facilities or services
    • 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
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2101Auditing as a secondary aspect
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/045Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3242Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

一种分布式计算环境利用一种密码服务系统。所述密码服务系统代表一个或多个实体安全地管理密钥。所述密码服务系统被配置来接收并响应于执行密码操作、如加密和解密的请求。所述请求可源自使用所述分布式计算环境和/或所述分布式计算环境的子系统的实体。

Description

数据安全服务系统
相关申请的交叉引用
本申请要求2013年2月12日提交的美国专利申请号13/764,963的优先权,所述专利的内容以引用的方式整体并入本文。本申请出于所有目的以引用的方式结合以下专利申请的全部公开内容:与本申请同时提交的标题为“AUTOMATICKEYROTATION”的共同待决的美国专利申请号13/764,944;与本申请同时提交的标题为“POLICYENFORCEMENTWITHASSOCIATEDDATA”的共同待决的美国专利申请号13/764,995;与本申请同时提交的标题为“DATASECURITYWITHASECURITYMODULE”的共同待决的美国专利申请号13/765,020;与本申请同时提交的标题为“FEDERATEDKEYMANAGEMENT”的共同待决的美国专利申请号13/765,209;与本申请同时提交的标题为“DELAYEDDATAACCESS”的共同待决的美国专利申请号13/765,239;与本申请同时提交的标题为“DATASECURITYSERVICE”的共同待决的美国专利申请号13/765,265;以及与本申请同时提交的标题为“SECUREMANAGEMENTOFINFORMATIONUSINGASECURITYMODULE”的共同待决的美国专利申请号13/765,283。
背景技术
在许多语境中,计算资源和相关数据的安全性非常重要。作为实例,组织通常利用计算装置的网络来向它们的用户提供一组稳健的服务。网络通常跨多个地理边界并通常与其他网络连接。例如,组织可支持其使用计算资源的内部网络和由其他人管理的计算资源两者进行的操作。例如,组织的计算机可在使用另一个组织的服务的同时与其他组织的计算机通信以访问和/或提供数据。在许多情况下,组织使用由其他组织管理的硬件来配置并操作远程网络,从而降低基础设施成本并实现其他优点。在具有此类计算资源配置的情况下,确保对它们所持有的资源和数据的访问安全可能具有挑战性,尤其是随着此类配置的大小和复杂性的增长。
附图简述
将参照附图描述根据本公开的各个实施方案,在附图中:
图1示出表示根据各个实施方案的本公开的各个方面的说明性图;
图2示出可实现本公开的各个方面的环境的说明性实例;
图3示出根据至少一个实施方案的可实现本公开的各个方面的环境的说明性实例以及环境的各个组件之间的示例性信息流动;
图4示出根据至少一个实施方案的用于储存密文的说明性过程的示例性步骤;
图5示出根据至少一个实施方案的可实现本公开的各个方面的环境的说明性实例以及环境的各个组件之间的示例性信息流动;
图6示出根据至少一个实施方案的用于响应检索数据的请求的说明性过程的示例性步骤;
图7示出根据至少一个实施方案的可实现本公开的各个方面的环境的说明性实例以及环境的各个组件之间的示例性信息流动;
图8示出根据至少一个实施方案的用于响应储存数据的请求的说明性过程的示例性步骤;
图9示出根据至少一个实施方案的可实现本公开的各个方面的环境的说明性实例以及环境的各个组件之间的示例性信息流动;
图10示出根据至少一个实施方案的用于响应检索数据的请求的说明性过程的示例性步骤;
图11示出可实现本公开的各个方面的环境的说明性实例;
图12示出根据至少一个实施方案的可实现本公开的各个方面的环境的说明性实例以及环境的各个组件之间的示例性信息流动;
图13示出根据至少一个实施方案的用于响应检索数据的请求的说明性过程的示例性步骤;
图14示出根据至少一个实施方案的用于响应对数据进行解密的请求的说明性过程的示例性步骤;
图15示出根据至少一个实施方案的用于获取已解密数据的说明性过程的示例性步骤;
图16示出根据至少一个实施方案的示例性密码服务系统的图解表示;
图17示出根据至少一个实施方案的用于配置策略的说明性过程的示例性步骤;
图18示出根据至少一个实施方案的用于在强制实施策略的同时执行密码操作的说明性过程的示例性步骤;并且
图19示出可实现各个实施方案的环境的说明性实例。
详述
在以下描述中,将描述各个实施方案。出于解释的目的,将阐述具体的配置和细节,以便提供实施方案的透彻理解。然而,对本领域的技术人员将是显而易见的是,没有具体细节的情况下也可以实行实施方案。此外,为了不使所描述的实施方案变得模糊,可能会省略或简化众所周知的特征。
本文描述并提议的技术允许增强包括分布式计算资源的环境中的数据安全性。在一个实例中,分布式计算环境包括可由适当的计算资源实现的一个或多个数据服务系统。数据服务系统可允许执行与数据有关的各种操作。作为一个说明性实例,分布式计算环境包括一个或多个数据储存服务系统。可向数据储存服务系统传输执行数据储存操作的电子请求。示例性操作是使用数据储存服务系统储存数据的操作和使用数据储存服务系统检索由数据储存服务系统储存的数据的操作。数据服务系统、包括数据储存服务系统还可执行操纵数据的操作。例如,在一些实施方案中,数据储存服务系统能够对数据进行加密。
本公开的各个实施方案包括分布式计算环境,所述分布式计算环境包括使用适当的计算资源实现的密码服务系统。密码服务系统可由分布式系统实现,所述分布式系统接收并响应于执行密码操作、如明文的加密和密文的解密的电子请求。在一些实施方案中,密码服务系统管理密钥。响应于执行密码操作的请求,密码服务系统可执行使用所管理密钥进行的密码操作。例如,响应于所接收请求,密码服务系统可选择适当的密钥来执行密码操作,执行密码操作,并提供密码操作的一个或多个结果。在替代配置中,密码服务系统可产生包络密钥(例如,用于加密特定数据项的会话密钥)并将包络密钥返回至调用服务系统的密码操作的系统。系统随后可使用包络密钥执行密码操作。
在一些实施方案中,密码服务系统为计算资源服务提供者的多个租户管理密钥。计算资源的租户可以是作为计算资源提供者的客户操作的实体(例如,组织或个人)。客户可以远程地并编程地配置并操作物理上由计算资源提供者托管的资源。当客户向密码服务系统提供执行密码操作的请求时(或当实体向密码服务系统提交请求时),密码服务系统可选择由密码服务系统为客户管理的密钥来执行密码操作。由密码服务系统管理的密钥可得到安全管理,使得其他用户和/或数据服务系统不能访问他人密钥。实体(例如,用户、客户、服务系统)缺少对另一个实体的密钥的访问权可意味着所述实体不具有获取他人密钥的授权方式和/或所述实体不具有引起管理他人密钥的系统在所述实体的指导下使用密钥的授权方式。例如,密码服务系统可管理密钥,使得对于一个客户来说,其他客户既无法访问所述客户的密钥也不能引起密码服务系统使用所述客户的密钥来执行密码操作。作为另一个实例,密码服务系统可管理密钥,使得其他服务系统(如数据储存服务系统)不能引起密码服务系统使用一些或所有密钥来执行密码操作。对密钥的未授权访问可通过适当的安全措施来阻止,使得例如未授权访问是困难或不可能的。困难可能是由于计算上的不切实际性和/或由于需要未授权事件(例如,非法的、侵权的和/或以其他方式不被允许的,如授权证书的泄露)发生以便获得访问。根据各个实施方案的系统可被配置来确保对获得对密钥的访问权的计算上的不切实际性进行客观测量。此类测量可例如根据具有限定单位计算能力(例如,一定操作数/单位时间)的计算机破解经授权访问密钥所需的已加密信息将花费的平均时间的量来测量。
如上所述,密码服务系统可接收来自各种实体(如计算资源提供者的客户)的请求。密码服务系统还可接收来自计算资源提供者内部的实体的请求。例如,在一些实施方案中,由计算资源提供者实现的数据服务系统可向密码服务系统传输请求,以引起密码服务系统执行密码操作。作为一个实例,客户可向数据储存服务系统传输储存数据对象的请求。请求可指示在储存时数据对象应被加密。数据储存服务系统可向密码服务系统传达执行密码操作的请求。密码操作可以是例如对由数据储存服务系统用来加密数据对象的密钥进行加密。密码操作可以是对数据对象本身进行加密。密码操作可以是生成数据储存服务系统可用来加密数据对象的包络密钥。
根据各个实施方案的系统实施各种安全措施以提供增强的数据安全性。例如,在各个实施方案中,密码服务系统可利用它所管理的密钥的方式受到限制。例如,在一些实施方案中,密码服务系统被配置来仅在适当的授权之后使用对应于客户的密钥。如果使用客户的密钥的请求据称源自客户(即,来自代表客户操作的计算装置),则密码服务系统可被配置来要求请求是使用客户所拥有的适当证书电子地(数字地)被签名。如果使用客户的密钥的请求源自另一个数据服务系统,则密码服务系统可被配置来要求数据服务系统提供客户已经向数据服务系统做出已签名请求的证明。例如,在一些实施方案中,数据服务系统被配置来获取并提供用作已认证客户请求的证明的令牌。其他安全措施也可内置于包括密码服务系统的电子环境的配置中。例如,在一些实施方案中,密码服务系统被配置来根据语境限制密钥使用。作为一个说明性实例,针对来自客户或来自代表客户起作用的数据服务系统的请求,密码服务系统可被配置来使用密钥进行加密。然而,针对来自客户(而不是来自另一个数据服务系统)的请求,密码服务系统可被配置来仅使用密钥进行解密。以此方式,如果数据服务系统泄露,则数据服务系统将不能引起密码服务系统对数据进行解密。
各种安全措施可内置于密码服务系统和/或它的电子环境中。一些安全措施可根据策略来管理,在一些实施方案中所述策略是可配置的。作为一个实例,密码服务系统可利用使得用户能够配置关于密钥的策略的应用程序编程接口(API)。关于密钥的策略可以是以下信息:当由密码服务系统处理时,所述信息确定密钥在一定情况下是否可使用。策略可例如限制能够直接使用密钥的用户和/或系统的标识码,限制密钥可使用时的时间,限制密钥可用来对其执行密码操作的数据,并提供其他限制。策略可提供显式限制(例如,谁不可使用密钥)和/或可提供显式授权(例如,谁可使用密钥)。此外,策略可复杂地构成以便大体上提供密钥可以和不可以使用时的条件。当接收到使用密钥执行密码操作的请求时,关于密钥的任何策略可被访问并处理,以确定请求是否可根据策略完成。
图1是展示本公开的各个实施方案的说明性图100。在实施方案中,密码服务系统执行密码操作,密码操作可包括根据一个或多个密码算法应用一个或多个计算。如图1所示,密码服务系统使得用户或服务系统能够从密文生成明文。在示例性配置中,密码服务系统可用于对密钥进行加密/解密,并且这些密钥可用于对数据、如储存在数据储存服务系统中的数据进行加密/解密。例如,密码服务系统接收从在密钥下加密的密文生成明文的请求。密码服务系统确定请求者是授权实体;使用主密钥对密钥进行解密并且将现已解密的密钥返回至服务系统,所述服务系统可使用已解密密钥从密文生成明文。在另一种配置中,密码服务系统接收密文并且将所接收密文处理成明文,所述明文作为服务由密码服务系统提供。在这个实例中,密文可作为从授权实体到密码服务系统的电子请求的部分来提供给密码服务系统,授权实体可以是操作密码服务系统的计算资源提供者的客户和/或可以是计算资源提供者的另一个服务系统。图1所示的密码服务系统可利用一个或多个强加密算法对数据进行加密。此类强加密算法可包括例如高级加密标准(AES)、Blowfish、数据加密标准(DES)、三重DES、Serpent或Twofish,并且根据所选择的具体实现方式,可以是不对称的或对称的密钥体系。一般地,密码服务系统可利用任何加密和/或解密算法(加密法)或利用由密码服务系统管理的数据的算法的组合。
如下文将更详细论述,密码服务系统可以各种方式来实现。在实施方案中,密码服务系统由根据下文的描述配置的计算机系统来实现。计算机系统自身可包括一个或多个计算机系统。例如,根据各个实施方案,密码服务系统可实现为共同地被配置来执行密码操作的计算机系统的网络。或换言之,计算机系统可以是分布式系统。在实施方案中,密文是已经使用密码算法加密的信息。在图1的实例中,密文是呈已加密形式的明文。明文可以是任何信息,并且当名称不包括文字文本时,明文和密文可以是以任何合适形式编码的信息,并且不必包括文本信息,但它可包括文本信息。例如,如图1所示,明文和密文包括比特序列。明文和密文也可以其他方式并且一般以加密和解密可由计算机系统执行的任何方式来表示。
图2示出可实现如图1所示的密码服务系统的环境200的说明性实例。在200的环境中,各种组件一起操作,以便提供安全数据相关的服务。在这个具体实例中,环境200包括密码服务系统、认证服务系统、数据服务前端以及数据服务后端储存系统。在一个实施方案中,在环境200中,密码服务系统被配置来执行密码操作,如通过接收来自数据服务前端的明文并提供密文作为回报,或向服务系统提供包络密钥、使得服务系统可使用包络密钥来执行加密操作。密码服务系统可执行如下文描述的另外的功能,如安全存储用于执行密码操作的密钥,密码操作如将明文转换成密文和将密文解密成明文。密码服务系统还可执行策略强制实施所包括的操作,如强制实施与其中储存的密钥关联的策略。以下提供可由密码服务系统强制实施的示例性策略。在实施方案中,数据服务前端是被配置来接收并响应在网络上从各个用户传输的请求的系统。请求可以是执行与储存或将要储存在数据服务后端储存系统中的数据有关的操作的请求。在环境200中,认证服务系统、密码服务系统、数据服务前端以及数据服务后端储存系统可以是计算资源提供者的系统,所述计算资源提供者利用系统向由图2所示的用户代表的客户提供服务。图2所示的网络可以是任何合适的网络或网络组合,包括下文论述的那些。
在实施方案中,认证服务系统是被配置来执行对用户进行认证所包括的操作的计算机系统。例如,数据服务前端可向认证服务系统提供来自用户的信息,以接收指示用户请求是否可信的信息作为回报。确定用户请求是否可信可以任何合适的方式来执行,并且执行认证的方式在各个实施方案之间可能有所不同。例如,在一些实施方案中,用户对传输至数据服务前端的消息进行电子签名。电子签名可使用进行认证的实体(例如,用户)和认证服务系统都可获得的秘密信息(例如,与用户关联的密钥对的私人密钥)生成。可向认证服务系统提供请求和请求的签名,认证服务系统可使用秘密信息计算用于与所接收签名进行比较的参考签名,以便确定请求是否可信。如果请求可信,那么认证服务系统可以提供以下信息,数据服务前端可以使用所述信息向其他服务系统(如密码服务系统)证明请求是可信的,从而使得其他服务系统能够相应地操作。例如,认证服务系统可提供另一个服务系统可分析以验证请求可信性的令牌。电子签名和/或令牌可具有以各种方式来限制的有效性。例如,电子签名和/或令牌可在一定时间量内是有效的。在一个实例中,电子签名和/或令牌至少部分地基于将时间戳看作输入的函数(例如,基于散列的消息认证码)生成,时间戳包括在用于验证的电子签名和/或令牌内。检验所提交电子签名/或令牌的实体可以检查所接收时间戳是足够当前的(例如,在从当前时间开始的预先确定的时间量内)并使用所接收时间戳生成参考签名/令牌。如果用于生成所提交电子签名/令牌的时间戳不是足够当前的和/或所提交签名/令牌和参考签名/令牌不匹配,那么认证可能失败。以此方式,如果电子签名泄露,它将仅在短时间内有效,从而限制由泄露造成的潜在危害。应注意,验证可信性的其他方式也被视为是在本公开的范围内。
在实施方案中,数据服务后端储存系统是根据通过数据服务前端接收的请求储存数据的计算机系统。如下文更详细论述,数据服务后端储存系统可以已加密形式储存数据。数据服务后端储存系统中的数据也可以非加密形式储存。在一些实施方案中,由数据服务前端实现的API允许请求指定是否应加密将要存储在数据服务后端储存系统中的数据。根据各个实施方案,加密并储存在数据服务后端储存系统中的数据可以各种方式来加密。例如,在各个实施方案中,数据是使用密码服务系统可访问但环境200的一些或所有其他系统不可访问的密钥来加密。数据可由密码服务系统编码以便储存在数据服务后端储存系统中,和/或在一些实施方案中,数据可由另一系统、如用户系统或数据服务前端的系统使用由密码服务系统解密的密钥来加密。以下提供环境200可操作以对数据进行加密的各种方式的实例。
环境200(和本文描述的其他环境)的众多变体被视为是在本公开的范围内。例如,环境200可包括可与密码服务系统和/或认证服务系统通信的另外服务系统。例如,环境200可包括可以不同方式储存数据的另外数据储存服务系统(各自可包括前端系统和后端系统)。例如,一个数据储存服务系统可提供有效数据访问,其中数据储存服务系统以同步方式执行数据储存服务(例如,检索数据的请求可接收带有所检索数据的同步响应)。另一个数据储存服务系统可提供存档数据储存服务系统。这种存档数据储存服务系统可利用异步请求处理。例如,检索数据的请求可不接收包括所检索数据的同步响应。相反地,一旦存档数据储存服务系统准备好提供所检索数据,存档数据储存服务系统就可要求提交获取所检索数据的第二请求。如另一个实例,环境200可包括计量服务系统,所述计量服务系统接收来自密码服务系统(和/或其他服务系统)的信息并且使用所述信息产生会计记录。会计记录可用于针对密码服务系统(和/或其他服务系统)的使用给客户开账单。此外,来自密码服务系统的信息可提供如何会产生费用的指示。例如,在一些情况下,可向客户提供针对密码服务系统的使用的账单。在其他情况下,针对密码服务系统的使用的费用可卷入其他服务系统(如作为其操作的一部分,利用密码服务系统的数据服务系统)的使用费用中。使用可以各种方式来计量并开账,如每操作、每时间段和/或以其他方式。其他数据服务系统也可包括在环境200(或本文描述的其他环境)中。
另外,图2描述用户与数据服务前端交互。应理解,用户可通过图中未示出的用户装置(例如,计算机)与数据服务前端交互。此外,图2(和图中的其他地方)描述的用户也可代表非人类实体。例如,在计算机系统上执行的自动化过程可与如本文所述的数据服务前端交互。作为一个说明性实例,由图2中的用户代表的实体可以是服务器,作为服务器的操作的一部分,服务器使用数据服务前端向/从数据服务后端存储系统存储和/或检索数据。作为又一个实例,由图2中的用户代表的实体可以是作为计算资源提供者的服务系统提供的实体,所述计算资源提供者操作图2中的一个或多个服务系统。例如,图2中的用户可代表由计算资源提供者提供的程序执行服务系统的虚拟或其他计算机系统。其他变体,包括下文描述的其他环境的变体,也被视为是在本公开的范围内。
例如,图3示出可实现本公开的各个实施方案的环境300的说明性实例。与图2一样,图3中的环境包括认证服务系统、数据服务前端系统(数据服务前端)、密码服务系统和数据服务后端储存系统。认证服务系统、数据服务前端、密码服务系统和数据服务后端储存系统可如上文结合图2描述那样被配置。例如,用户可通过合适的通信网络访问数据服务前端,尽管这样的网络未在图中示出。在图3所示的示例性环境300中,提供表示信息流动的箭头。在这个实例中,用户向数据服务前端传输PUT请求。PUT请求可以是将指定数据存储在数据服务后端储存系统中的请求。响应于PUT请求,数据服务前端可以确定PUT请求是否可信,也就是用户是否已经以所请求操作可根据由系统实施的认证策略来执行的方式提交请求。
在图3中,示出如何可做出此类认证决定的说明性实例。在这个具体实例中,数据服务前端向认证服务系统提交认证请求。认证服务系统可使用认证请求来确定来自用户的PUT请求是否可信。如果请求可信,则认证服务系统可向数据服务前端提供认证证明。认证证明可以是可由另一个服务系统(如密码服务系统)使用以独立地确定接收到可信请求的电子令牌或其他信息。在一个说明性实例中,PUT请求与PUT请求的签名一起被传输。PUT请求及其签名通过认证服务系统来提供,如果可信,认证服务系统独立地计算签名应该是什么。如果由认证服务系统生成的签名匹配由用户提供的签名,则认证服务系统可确定PUT请求可信并且作为响应可提供认证证明。确定PUT请求是否可信还可包括与策略的强制实施有关的一个或多个操作。例如,如果签名有效但策略以其他方式指示不应完成PUT请求(例如,请求在由策略所不允许的时间期间提交),则认证服务系统可提供指示请求不可信的信息。(然而,应注意,这样的策略强制实施可由环境300的其他组件执行。)认证服务系统可生成签名,如通过使用由认证服务系统和用户共享的密钥。如上所述,认证证明可以是另一个服务系统(如密码服务系统)可根据其独立地验证请求可信的信息。例如,使用图3所示的密码服务系统的实例,认证证明可至少部分地基于由认证服务系统和密码服务系统两者共享的密钥(如其他服务系统不可访问的密钥)生成。
如图3所示,在接收到来自认证服务系统的认证证明之后,数据服务前端向密码服务系统提供明文和认证证明。可根据到密码服务系统的API调用或其他电子请求(例如,加密API调用)提供明文和认证证明。密码服务系统可分析认证证明以确定是否对明文进行加密。
应注意,可向密码服务系统提供另外信息。例如,将要用于对明文进行加密的密钥的标识符可作为来自数据服务前端(其又可能已经接收来自用户的标识符)的API调用的输入参数被提供。然而,应注意,标识符可不被传输至密码服务系统。例如,在各个实施方案中,可以其他方式确定使用哪个密钥来加密明文。例如,从数据服务前端传输至密码服务系统的信息可包括与用户关联的信息,如用户和/或与用户关联的组织的标识符,如用户已经代表其提交PUT请求的客户的标识符。此类信息可由密码服务系统用于确定将要使用的默认密钥。换句话说,密钥可由可用于确定密钥的信息隐式地指定。一般地,将要使用的密钥的确定可以任何合适的方式来执行。此外,在一些实施方案中,密码服务系统可生成或选择密钥,并且提供后来将要使用的所生成或选择密钥的标识符。另一个示例性API参数可以是为其执行加密操作的客户账户的主密钥的标识符。
如图3所示,如果认证证明对于密码服务系统加密明文来说是足够的,则密码服务系统可执行一个或多个密码操作。在实施方案中,一个或多个密码操作可包括生成将要用于对明文进行加密的包络密钥的操作。包络密钥可以是随机生成的对称密钥或密钥对的私人密钥。在生成包络密钥之后,密码服务系统可利用API调用中指定的主密钥对包络密钥进行加密,并使得已加密包络密钥持久地被储存(例如,通过将已加密密钥存储在储存服务系统或一些其他持久性储存装置中)或丢弃。另外,密码服务系统可向数据服务前端发送包络密钥的明文版本以及已加密包络密钥。数据服务系统随后可使用包络密钥的明文版本对明文(即,与加密请求关联的数据)进行加密,并且使得包络密钥被储存在与用于对包络密钥进行加密的主密钥的标识符关联的持久性储存装置中。此外,数据服务系统可丢弃包络密钥的明文版本。因此,在实施方案中,在数据服务系统丢弃包络密钥的明文版本之后,数据服务系统将不再能够对密文进行解密。
在替代实施方案中,密码操作可包括对明文进行加密。例如,密码服务系统对明文进行加密并向数据服务前端储存系统提供密文。数据服务前端随后可向数据服务后端储存系统提供密文以便根据其操作进行持久性储存。还可将其他信息从数据服务前端传输至数据服务后端存储系统。例如,用于对明文进行加密以生成密文的密钥的标识符可与密文一起提供以便由数据服务后端储存系统储存。还可提供其他信息(如标识用户和/或用户的组织的元数据)。
与本文描述的所有环境一样,众多变体被视为是在本公开的范围内。例如,环境300的各种组件之间的信息流动可不同于所示的那样。例如,通过中间组件从一个组件流动至另一个组件的信息(例如,从认证服务系统到密码服务系统的数据和/或从密码服务系统到数据服务后端储存系统的数据)可直接和/或通过环境300的其他中间组件(未必包括在图中)被提供至其目的地。作为另一个实例,PUT请求(和下文的GET请求)为说明目的而提供。然而,可使用用于执行所描述操作的任何合适的请求。
图4示出根据实施方案的过程400的说明性实例,过程400可用于将数据存储在数据存储服务系统中。过程400可由例如图3所示的数据服务前端执行。过程400(或本文描述的任何其他过程,或变体和/或其组合)的一些或全部可在配置有可执行指令的一个或多个计算机系统的控制下实行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)、由硬件或其组合来实施。代码可以例如包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读储存介质可以是非暂时性的。
如图4中所示,过程400包括接收402PUT请求。PUT请求可在网络上电子地接收并且可包括与请求关联的信息,如认证所需要的信息,如PUT请求的电子签名。响应于已经接收PUT请求,过程400可包括提交404认证请求。例如,执行过程400的系统可向分开的认证服务系统提交(例如,通过适当配置的API调用)认证请求,如上文结合图3所描述。类似地,执行其自己的认证的数据服务前端可向由数据服务前端实现的认证模块提交认证请求。一般地,认证请求可根据各个实施方案以任何合适的方式来提交。
在提交认证请求之后,认证请求被提交404到的实体接收406认证响应。例如,参照图3,认证服务系统可向数据服务前端提供包括用于由其他服务系统使用的认证的证明的响应。还可传输其他信息,如认证是否成功的指示。可做出408请求是否可信的确定。请求的可信性可取决于由实体、如由认证服务系统或共同执行此类检查的实体的组合所检查的一个或多个因素。可信性可能例如要求请求提供必需的有效证书(例如,由检查实体所共享的秘密密钥生成的电子签名)和/或要求策略允许完成请求。从提交404认证请求并接收认证响应的系统的角度,可信性可取决于所接收认证响应。因此,在实施方案中,请求是否可信的确定408可至少部分地基于所接收认证响应来执行。例如,如果认证不可信,则认证响应这样指示并且可相应地做出确定408。类似地,响应可隐式地指示认证请求可信,如通过不包括请求可信情况下将包括的信息。如果确定408PUT请求不可信,那么可拒绝410PUT请求。拒绝PUT请求可以任何合适的方式执行并且可取决于过程400被执行的各个实施方案。例如,拒绝410PUT请求可包括向提交PUT请求的用户传输消息。消息可指示请求被拒绝。拒绝请求还可包括提供关于请求为什么被拒绝的信息,如电子签名不正确、或可用于确定如何解决导致PUT请求的任何问题的其他原因不可信或未经授权。
在实施方案中,如果确定408PUT请求可信或已授权,那么过程400包括执行412导致明文被解密的一个或多个密码操作。例如,可向密码服务系统提交请求(例如,适当配置的API调用),以提供将要用于执行一个或多个密码操作的密钥。向密码服务系统提供的请求可与PUT请求可信的证明一起被提供,使得密码服务系统可独立地确定是否执行密码操作(例如,对明文进行加密并且提供密文或生成可用于对明文进行加密的包络密钥)。然而,在各个实施方案中,可不向密码服务系统提供认证证明,并且例如,密码服务系统可根据它所接收的请求进行操作。例如,如果密码服务系统接收来自数据服务前端的请求,密码服务系统可依赖于数据服务前端已经独立地验证请求的认证的事实。在这个实施方案和其他实施方案中,数据服务前端可利用密码服务系统对自身进行认证,以便提供另外的安全层。密码服务系统可生成或以其他方式获取密钥,加密所获取密钥或以其他方式获取已加密密钥(例如,从存储器),并响应请求而提供所获取密钥和已加密的所获取密钥。所获取密钥可使用到密码服务系统的请求中所标识的密钥来加密。所获取密钥可用于对明文进行加密,并且在对明文进行加密之后,可丢弃所获取密钥(例如,不可撤销地从存储器移除)。在替代实施方案中,执行过程400的系统可生成或以其他方式获取用于执行一个或多个密码操作的密钥,向密码服务系统提供将要加密的所获取密钥。
在一些实施方案中,执行一个或多个密码操作可导致生成密文。由于一个或多个密码操作而生成的密文可被储存414以用于在后来时间可能进行的检索。如上所述,密文的储存可包括储存使得能够在后来时间对密文进行解密的另外信息。例如,密文可与用于将明文加密成密文的密钥的标识符一起被储存,使得具有所述标识符的密钥之后可用于对密文进行解密以获取明文。密文的储存也可以任何合适的方式来执行。例如,密文的储存可由数据服务后端储存系统执行,如上所述。
图5相应地示出环境500的说明性实例以及示出如何可获取明文的信息流动。在这个实例中,环境500包括认证服务系统、密码服务系统、数据服务前端和数据服务后端储存系统。认证服务系统、密码服务系统、数据服务前端和数据服务后端储存系统可以是如上所述的系统。如图5所示,数据服务前端被配置来接收来自用户的GET请求并作为响应提供明文。为了做到这一点,数据服务前端还可被配置来向认证服务系统提交认证请求,如果适当的话,认证服务系统自身可被配置来向数据服务前端提供认证证明。数据服务前端还可被配置来向密码服务系统发送请求,以引起密码服务系统执行与对数据进行解密有关的一个或多个密码操作。在使用包络密钥的实施方案中,数据服务系统可向密码服务系统提交包括或指定已加密包络密钥(或已加密包络密钥的标识符)认证证明的请求(例如,API调用),并且向密码服务系统提交用于对包络密钥进行加密的主密钥的标识符。密码服务系统可确定认证证明对于允许操作是否足够,并且如果认证证明足够,则对包络密钥进行解密。已解密包络密钥可被发送回到数据服务系统,数据服务系统可使用密钥来解密已加密明文。数据服务系统随后可丢弃已解密明文密钥。
在替代实施方案中,数据服务前端可被配置来向密码服务系统提供所接收认证证明与密文,以便密码服务系统进行解密。密码服务系统相应地可被配置来确定认证证明对于允许对密文进行解密是否足够,并且如果认证证明足够,则使用适当的密钥(其可由数据服务前端向密码服务系统标识出)对密文进行解密,并向数据服务前端提供已解密密文(明文)。为了向密码服务系统提供密文,数据服务前端可被配置来从数据服务后端储存系统获取(例如,通过适当配置的API调用)密文。
图6示出根据各个实施方案的可用于获取明文的过程600的说明性实例。过程600可例如由上文结合图5示出的数据服务前端系统(数据服务前端)执行,尽管过程600及其变体可由任何合适的系统来执行。在实施方案中,过程600包括接收602来自用户的GET请求(或其他适当的请求)。接收GET请求可如上文结合其他类型的请求所描述来执行。在接收到602GET请求之后,可如上所述向认证服务系统或以任何方式提交604认证请求。相应地可接收认证响应。至少部分地基于所接收认证响应,可做出608GET请求是否可信的确定。如果确定608GET请求不可信,则过程600可包括拒绝610请求,如上文所述,拒绝610请求可根据各个实施方案以各种方式来执行。
如果确定608GET请求可信,则过程600可包括从储存装置检索密文。从储存装置检索612密文可以任何合适的方式来执行。例如,参照上文结合图5论述的环境500,数据服务前端可向数据服务后端储存系统提交获得密文的请求并且作为响应可接收密文。一般地,密文可以任何合适的方式从储存装置获取。在接收到密文之后,过程600可包括执行614与对密文进行解密有关的一个或多个操作。例如,在实施方案中,数据储存服务系统可向密码服务系统发送请求以执行与对密文进行解密有关的一个或多个密码操作614。在一种示例性配置中,数据服务系统可向密码服务系统发送包括已加密包络密钥(或已加密包络密钥的标识符)认证证明的API调用,并且向密码服务系统发送用于对包络密钥进行加密的主密钥的标识符。密码服务系统可确定认证证明对于允许操作是否足够,并且如果认证证明足够,则对包络密钥进行解密。已解密包络密钥可被发送回到数据服务系统,数据服务系统可使用密钥来解密已加密明文。
在另一种配置中,可向密码服务系统、如上文结合图5描述的密码服务系统提供密文。还可向密码服务系统提供其他信息,如可由密码服务系统使用以确定是否对密文进行解密的认证证明。另外,在一些实施方案中,可向密码服务系统提供将要由密码服务系统使用来对密文进行解密的密钥的标识符。然而,在其他实施方案中,可隐式地向密码服务系统指示出密钥。例如,密码服务系统可使用与向密码服务系统指示出的客户关联的默认密钥。一般地,可使用密码服务系统可确定使用哪个密钥来对密文进行解密的任何方式。
如图6所示,在对密文进行解密之后,过程600可包括提供616对GET请求的响应。提供对GET请求的响应可根据各个实施方案以各种方式来执行。例如,提供对GET请求的响应可包括提供明文。在其他实施方案中,明文可以是随后响应于GET请求而提供的用于对其他已加密信息进行解密的密钥。一般地,取决于明文在本公开的具体实施方案中的作用,提供对GET请求的响应可以各种方式来执行。
如上所述,本公开的各个实施方案允许由数据储存服务系统以各种方式储存数据。图7示出根据这个实施方案的具有指示信息流动的箭头的环境700的说明性实例。如图7所示,环境700包括认证服务系统、密码服务系统、数据服务前端和数据服务后端储存系统,如上所述。在这个具体实例中,数据服务前端是被配置来接收来自各种用户的PUT请求的计算机系统。PUT请求可包括或指定将要由数据服务后端储存系统储存的数据对象。PUT请求还可指定将要用于对数据对象进行加密的密钥的密钥标识符。数据服务前端还可被配置来与认证服务系统进行交互,如上所述,以便向密码服务系统提供认证证明,密码服务系统可操作来接收密钥和密钥标识符并且作为响应提供由密钥标识符标识的密钥所加密的密钥。数据服务前端随后可引起在数据服务后端储存系统中进行储存。可储存的数据可包括由密钥加密的数据对象。可储存的数据还可包括由密钥标识符标识的密钥所加密的密钥。如本文在别处所论述,已加密数据对象和已加密密钥可储存在不同服务系统中。
如图7所示,数据服务前端被配置来向数据服务后端储存系统提供已加密信息以便储存。在这个实例中,数据服务前端被配置来提供在密钥下加密的数据对象以及在具有KeyID的另一个密钥下加密的所述密钥。应注意,出于说明目的,使用波形括号记号来指明加密。具体地说,波形括号内的信息是在下标中所指定的密钥下加密的信息。例如,{DataObject}Key表示数据“DataObject”在密钥“Key”下被加密。应注意,使用这个波形括号记号,密钥标识符也可出现在下标中。当密钥标识符出现在下标中时,波形括号内的信息在由密钥标识符标识的密钥下被加密。例如,{DataObject}KeyID表示数据对象“DataObject”在由密钥标识符“KeyID”标识的密钥下被加密。类似地,{Key}KeyID表示密钥“Key”在由密钥标识符“KeyID”标识的密钥下被加密。换句话说,本公开在下标中利用密钥和密钥标识符两者,并且从上下文应明白下标的意义。密文可包括可用于确定关联解密密钥的标识码的另外元数据。
图8示出过程800的说明性实例,过程800可被执行以将数据对象存储在数据储存系统、如上文结合图7描述的数据服务后台储存系统中。过程800可由任何合适的系统来执行,如由上文结合图7描述的数据服务前端系统。在实施方案中,过程800包括接收802数据对象的PUT请求。接收数据对象的PUT请求可以任何合适的方式来执行,如上所述。应注意,可接收与请求相关的数据对象或可从另一个服务系统接收数据对象。例如,请求可包括数据对象的标识符,可使用标识符从另一个服务系统获取数据对象。与上文描述的其他过程一样,在实施方案中,过程800包括提交804认证请求和接收806认证响应。所接收806的认证响应可用于确定808PUT请求是否是可信请求。如果确定808PUT请求不可信,则过程800可包括拒绝810请求,如上所述。如果确定808PUT请求可信,则过程800可包括获取812密钥标识符(KeyID),如用于对包络密钥进行加密的主密钥的KeyID。获取812KeyID可以任何合适的方式来执行,并且获取KeyID的方式可根据各个实施方案而改变。例如,如图7所示,PUT请求可指定KeyID。作为另一个实例,用户的或以其他方式与用户关联的标识码可用于获取标识符或默认密钥。作为另一个实例,密文可提供关联密钥ID的指示。作为又一个实例,一个或多个策略确定可用于确定获取哪个密钥标识符。
在实施方案中,过程800还包括生成814密钥,如包络密钥。生成密钥可由例如密码服务系统或向密码服务系统请求加密操作的服务系统(例如,数据储存服务系统)以任何合适的方式来执行。例如,密钥可使用密钥衍生函数生成,密钥衍生函数使用密钥衍生函数的适当输入。示例性密钥衍生函数包括IEEEStd13632000中所限定的KDF1、ANSIX9.42中所限定的密钥衍生函数以及基于HMAC的密钥衍生函数,如RFC5869中所规定的基于HMAC的提取和扩展密钥衍生函数(HKDF)。作为另一个实例,密钥可由如由美国国家标准技术研究院特别公开(NISTSP)800-90A所规定的随机或伪随机数发生器、硬件熵源或确定性随机位发生器生成。应注意,虽然图8示出过程800包括生成814密钥,但密钥可以其他方式获取,如通过从储存装置检索。换句话说,密钥可以是已经预先生成的。
继续图8所示的过程800,在实施方案中,过程800包括使用816所生成密钥对数据对象进行加密。例如,在密码服务系统生成密钥的实施方案中,密码服务系统可向数据服务系统提供密钥、KeyID以及密钥的已加密副本。例如,参照图7,数据服务前端可接收来自密码服务系统的包络密钥和用于对包络密钥进行加密的主密钥的KeyID与任何其他相关信息、如认证证明。加密密钥的明文副本随后可用于对数据对象进行加密。可丢弃加密密钥的明文副本并且随后可存储已加密数据对象以及已加密密钥818。例如,参照图7,数据服务前端可向数据服务后端储存系统传输已加密数据对象和已加密密钥以便储存。在服务系统生成密钥的配置中,服务系统可向密码服务系统提供密钥和KeyID。例如,数据服务前端可向密码服务系统发送包络密钥和用于对包络密钥进行加密的主密钥的KeyID与任何其他相关信息、如认证证明。加密密钥的明文副本随后可用于对数据对象进行加密。服务系统可丢弃加密密钥的明文副本,并且随后可被储存已加密数据对象以及已加密密钥。例如,参照图7,数据服务前端可向数据服务后端储存系统传输已加密数据对象和已加密密钥以便储存。
已加密数据对象和已加密包络密钥可被存储而密钥的明文版本不被储存,也就是说,明文密钥可能是数据服务后端储存系统和一个或多个其他系统不可访问的。可以任何合适的方式使得数据对象在其下被加密的密钥(例如,主密钥)不可访问。在一些实施方案中,这通过将密钥储存在仅密码服务系统可访问的存储器中来实现。在一些其他实施方案中,这可通过将主密钥储存在硬件或其他安全模块中或以其他方式在硬件或其他安全模块的保护下储存主密钥来实现。在一些实施方案中,可允许重写储存明文包络密钥的存储器位置(例如,数据服务系统的存储器),或可有意地重写储存密钥的存储器位置,以使密钥是数据服务前端不可访问的。作为另一个实例,明文包络密钥可被维持在最终停止储存密钥的易失性存储器中。以此方式,包络密钥仅在使用由KeyID标识的密钥解密的情况下可访问,或在其他情况下以未经授权的方式获取,如通过在不具有由KeyID标识的密钥的情况下破解密钥,而这在计算上可能是不切实际的。换句话说,经授权访问数据对象在其下被加密的密钥需要由KeyID标识的密钥。因此,如果图7的数据服务后端储存系统泄露,这样的泄露将不提供对未加密数据对象的访问,因为对数据对象进行解密将需要访问密钥,而密钥仅可通过使用由KeyID标识的密钥进行解密或通过在计算上不可行的其他方式来获取。
如上所述,本公开的各个实施方案允许用户以安全方式储存数据对象并检索它们。图9相应地示出可用于从储存装置获取数据对象的环境900的说明性实例。如图9中所示,环境900包括认证服务系统、密码服务系统、数据服务前端和数据服务后端储存系统。认证服务系统、密码服务系统、数据服务前端和数据服务后端储存系统可以是如上所述的计算机系统。如图9所示,数据服务前端系统被配置来接收数据对象请求并作为响应提供数据对象。如图9所示,在这个实施方案中,为了提供数据对象作为响应,数据储存前端系统被配置来与认证服务系统、密码服务系统和数据服务后端储存系统交互。例如,在各个实施方案中,数据服务前端系统被配置来向认证服务提交认证请求并响应于请求接收认证证明。作为另一个实例,数据服务前端被配置来向密码服务系统提供由KeyID标识的密钥所加密的密钥以及认证证明,密码服务系统可操作来至少部分地基于认证证明确定是否提供密钥,并且如果确定提供密钥,则随后向数据服务前端提供密钥。数据服务前端还可被配置来向密码服务系统提供其他信息、如KeyID。但在一些实施方案中,可隐式地向密码服务系统指示出KeyID,如通过与向密码服务系统提供的其他信息关联。还应注意,在一些实施方案中,与向数据服务前端提交请求一起,用户向数据服务前端提供KeyID。此外,如图9所示,在实施方案中,数据服务前端被配置来向数据服务后端储存系统请求数据对象,并且作为响应接收由密钥加密的数据对象以及由KeyID标识的密钥所加密的密钥。在一些实施方案中,密码服务系统可以可操作来拒绝执行不是使用与指定KeyID关联的密钥生成的密文的解密。
在实施方案中,数据服务前端被配置来使用从密码服务系统接收的密钥来对数据对象进行解密并向用户提供已解密数据对象。图10相应地示出根据各个实施方案的可用于提供已解密对象的过程1000的说明性实例。过程1000可由任何合适的系统来执行,如结合图9描述的数据服务前端系统。在实施方案中,过程1000包括接收1002数据对象的GET请求。接收数据对象的GET请求可以任何合适的方式来执行,如上文结合其他类型的请求所描述。例如,数据对象的GET请求可包括用于对请求进行认证的信息和/或其他信息。在实施方案中,与本文描述的其他过程一样,过程1000相应地包括向认证系统提交1004认证请求和接收1006认证响应。提交认证请求和接收认证响应可如上所述以任何合适的方式来执行。认证响应可用于确定1008GET请求是否可信。在实施方案中,如果确定1008GET请求不可信,则过程1000包括拒绝1010请求。然而,在实施方案中,如果确定1008GET请求可信,则过程1000包括从储存装置检索1012已加密数据对象和已加密密钥。例如上文结合图9所示,数据服务前端系统可从数据服务后端储存系统获取已加密数据对象和已加密密钥。
在实施方案中,过程1000包括向密码服务系统提供1014已加密包络密钥。向密码服务系统提供1014已加密包络密钥可以任何合适的方式来执行,并且可与其他信息、如使得密码服务系统能够确定是否对已加密密钥进行解密的认证证明一起提供。另外,向密码服务系统提供1014已加密包络密钥可包括:提供授权对已加密包络密钥进行解密所需要的密钥的标识符,以使得密码服务系统能够从在由密码服务系统管理的多个密钥之中选择由标识符标识的密钥。然而,如上所述,密钥可隐式地被标识。因此,密码服务系统可选择适当的密钥并对已加密密钥进行解密。在实施方案中,过程1000相应地包括从密码服务系统接收1016已加密包络密钥。例如,如果密码服务系统确定认证证明有效和/或对已加密数据对象进行解密根据任何适用的策略是可允许的,则密码服务系统可向试图对数据对象进行解密的系统提供已解密密钥。数据对象随后可使用已解密包络密钥来解密1018。随后可向请求者、如提交GET请求的用户或其他系统提供1020已解密数据对象。
在许多情况下,希望用户(即,一般是利用密码服务系统的装置)与密码服务系统直接交互。图11相应地示出允许用户直接访问密码服务系统的环境1100的说明性实例。环境1100中包括认证服务系统、数据服务前端和数据服务后端储存系统。认证服务系统、数据服务前端和数据服务后端储存系统可以是如上所述。例如,数据服务前端可被配置来如图11中所示在合适的网络上接收并响应来自用户的请求。作为在网络上响应来自用户的请求的一部分,数据服务前端还可被配置来与认证服务系统交互,以便确定用户请求是否可信和/或是否强制实施关于请求的策略。作为完成用户请求的一部分,数据服务前端还可被配置来与数据服务后端储存系统交互。用户请求可包括例如将数据存储在后端储存系统中的PUT请求以及从数据服务后端储存系统检索数据的GET请求。如上所述,根据各个实施方案也可以使用其他请求,如删除储存在数据服务后端储存系统中的数据的请求、更新储存在数据服务后端储存系统中的数据的请求等。
在图11的特定实例中,在环境1100中,密码服务系统包括密码服务前端和数据服务后端。与数据服务前端一样,密码服务前端被配置来在网络上接收并响应来自用户的请求。密码服务前端还被配置来与认证服务系统交互以确定用户请求是否可信。确定用户请求是否可信可如上文所述以简单方式来执行。应注意,虽然密码服务前端和数据服务前端与同一认证服务系统交互,但密码服务前端和数据服务前端可与不同的认证服务系统交互。此外,密码服务前端可被配置来在响应用户请求时强制实施策略。
在实施方案中,密码服务前端被配置来与密码服务后端交互。根据从密码服务前端接收的指令,密码服务后端被配置来执行密码操作。密码操作包括加密、解密和散列计算等。环境1100可例如由用户使用来使得明文由密码服务系统进行加密,使得已加密数据可储存在数据服务后端储存系统中。以下提供这样使用环境1100的实例。另外,下文还提供示例性密码服务系统的示例性细节。
数据可如上所述以任何合适的方式储存在数据服务后端储存系统中。例如,在环境1100中可使用上文描述的用于将已加密数据存储在后端储存系统中的技术。例如,虽然未示出,但数据服务前端可与密码服务前端通信,以引起密码服务后端随后对可储存在数据服务后端储存系统中的数据进行加密。已加密数据可以是数据对象和/或用于对数据对象进行加密的已加密密钥。在环境1100中,数据也可以其他方式放置到数据服务后端储存系统中。例如,用户可提供将由密码服务系统加密的明文并作为响应接收密文。用户随后可与数据服务前端交互或可向数据服务前端提交请求,以请求将密文储存在数据服务后端储存系统中。在这个实例中,数据服务前端可以任何方式来储存密文。例如,数据服务前端和后端储存系统可被配置成与数据是否被加密无关。
另外,与本文示出的所有环境一样,另外的前端系统可在逻辑上位于用户与数据服务前端、与密码服务前端、可能地与其他前端系统之间,以便协调系统之间的动作。例如,在一些实施方案中,用户可与前端系统交互,前端系统自身与密码服务前端和数据服务前端交互,使得从用户的角度操作更简单。例如,用户可请求加密并储存数据对象,并且前端系统通过与密码服务前端和数据服务前端的适当交互来响应请求。然而,从用户的角度,这可通过单个请求来执行。其他变体也在本公开的范围内。
图12示出可用于实现本公开的各个实施方案的环境1200的说明性实例。在图12中,环境1200被配置来使得用户能够将密文存储在数据服务后端储存系统中。如图12所示,环境1200相应地包括数据服务前端、数据服务后端储存系统、认证服务系统、密码服务前端和密码服务后端。数据服务后端储存系统、数据服务前端、认证服务系统、密码服务前端和密码服务后端可以是如上文结合图11描述的系统。例如,如图12中所示,数据服务前端被配置来接收并响应用户请求,并且还可被配置来强制实施关于用户请求的策略。作为响应请求的一部分,数据服务前端可被配置来向认证服务系统提交认证请求并作为响应接收认证证明。在成功认证之后,数据服务前端可进一步被配置来与数据服务后端储存系统交互,以从数据服务后端储存系统获取随后可向用户提供的已加密数据对象和可能地未加密数据对象。
如图12所示,密码服务前端也被配置来向认证服务系统提交认证请求并作为响应接收认证证明。认证证明可用于从密码服务后端获取服务。例如,密码服务前端可被配置来向密码服务后端提供密文与认证证明,并且密码服务后端可被配置来对密文进行解密并提供密文作为回报。如图12所示,密文可以是已加密密钥,并且密码服务后端可对已加密密钥进行解密并向密码服务前端提供已解密密钥(也就是明文密钥),密码服务前端进一步被配置来向用户提供明文密钥。用户随后可使用密钥来对从数据服务前端接收的已加密数据对象进行解密,或对储存在用户的域内(例如,在用户操作或控制的数据中心或计算机系统内)的已加密数据对象进行解密。在这个实例中,用户可能已经从数据服务前端获取已加密密钥。例如,用户可能已经向数据服务前端提交获得数据对象和/或用于对数据对象进行加密的密钥的请求。虽然在图11中作为单个请求示出,但可针对数据对象和密钥两者做出单独的请求。如图11所示,数据服务前端可从数据服务后端储存系统获取已加密数据对象和已加密密钥,并向用户提供已加密数据对象和已加密密钥。
应注意,与本文所示的所有环境一样,变体也被视为是在本公开的范围内。例如,图12示出向用户提供在密钥下加密的数据对象和所述密钥,所述密钥由密钥标识符标识的另一个密钥加密。还可使用更高等级的加密。例如,数据对象可在仅用户可访问(和/或环境1200的其他组件不可访问)的密钥下被加密。用于加密数据对象的密钥也可在仅用户可访问的密钥下被加密。在这个实例中,对环境1200的组件(缺少用户)的未授权访问仍然不提供对数据对象的未加密内容的访问,因为经授权解密仍然需要对用户的密钥进行访问。
作为另一个实例,在图12所示的环境1200中,数据服务前端和数据服务后端储存系统不可访问由数据服务后端储存系统储存的明文数据,因为数据服务前端和数据服务后台储存系统不可访问对已加密数据进行解密所需的密钥。然而,在一些实施方案中,可准许访问数据服务前端和/或数据服务后端储存系统。例如,在实施方案中,可允许数据服务前端对密钥进行临时访问,以使得数据服务前端能够获取已加密数据、对已加密数据进行解密、使用已解密数据用于特定目的(例如,索引),并随后删除或以其他方式丢失对已解密数据的访问权。此类动作可通过由数据服务前端和/或密码服务系统强制实施的策略来支配,并且可能需要来自用户的授权。
图13示出过程1300的说明性实例,过程1300可用于获取如来自如上所述的数据服务后端储存系统的已加密数据对象和已加密密钥。过程1300可例如由上文结合图12描述的数据服务前端系统来执行。在实施方案中,过程1300包括接收1302已加密数据对象的GET请求。接收GET请求可以任何合适的方式来执行,如借助于通过到数据服务前端系统的API调用来接收请求。因为已经接收GET请求,过程1300可包括提交1304认证请求和接收1306认证响应。如上所述,提交1304认证请求和接收1306认证响应可如上所述以任何合适的方式来执行。认证响应可用于确定1308GET请求是否可信。如果确定1308GET请求不可信,则过程1300可包括拒绝1310GET请求。如上所述,拒绝1310GET请求可如上所述以任何合适的方式来执行。然而,如果确定1308所述GET请求可信,则过程1300可包括提供1312已加密数据对象与已加密密钥,当解密时,已加密密钥可用于对已加密数据对象进行解密。应注意,与本文描述的所有过程一样,众多变体也被视为是在本公开的范围内。例如,过程1300可被配置来当GET请求可信时,通过提供已加密数据对象但不提供已加密密钥来响应GET请求。请求者,也就是提交GET请求的用户或系统,可以其他方式获取已加密密钥。例如,在一些实施方案中,用户它们自己可将已加密密钥存储在处于用户的控制下的数据储存系统中。作为另一个实例,一个储存服务系统可储存已加密数据对象,并且另一个服务系统可储存已加密密钥,并且用户可从相应服务系统获取已加密数据对象和已加密密钥。作为另一个实例,另一个服务系统或用户的第三方可用于储存已加密密钥,并且用户应请求可获取已加密密钥。一般地,可使用可提供已加密密钥的任何方式。
如图13所示,过程1300可使得实体已经被提供数据对象和可用于对数据对象进行解密的已加密密钥。在各个实施方案中,为了对数据对象进行解密,必须对已加密密钥进行解密。图14相应地示出过程1400的说明性实例,过程1400可将已解密密钥提供给需要这种已解密密钥以便使用已解密密钥来对已加密数据对象进行解密的实体。过程1400可由任何合适的系统来执行,如由上文结合图12描述的密码服务前端系统。在实施方案中,过程1400包括接收1402使用具有指定KeyID的另一个密钥对密钥进行解密的解密请求。虽然结合密钥的解密描述过程1400,但应注意,过程1400一般可适用于数据的解密。解密请求可如上所述以任何合适的方式来接收1402(例如,通过适当配置的API调用)。此外,解密请求可由对执行过程1400的语境适当的任何实体来接收。例如,解密请求可源自用户或源自另一个系统,如上文论述的数据服务前端。解密请求还可包括将要解密的数据(例如,密钥)或其参考内容。KeyID也可以任何合适的方式来指定。例如,在一些实施方案中,解密请求包括KeyID或KeyID的参考内容,也就是,可用于确定KeyID的信息。如以上所论述,也可隐式地指定KeyID。例如,可通过与可获得的数据、如提交解密请求的请求者的标识码关联来获取KeyID。例如,对应于KeyID的密钥可以是用于请求者或被代表来提交请求的实体的默认密钥。
在实施方案中,过程1400包括提交1404认证请求和接收1406认证响应。提交1404认证请求和接收1406认证响应可如上所述以任何合适的方式来执行。此外,如上所述,所接收认证响应可用于确定1408GET请求是否可信。如果确定1408GET请求不可信,则过程1400可包括拒绝1410GET请求。如上所述,拒绝1410GET请求可如上所述以任何合适的方式来执行。然而,如果确定1408GET请求可信,则过程1400可包括访问针对指定KeyID和/或请求者的策略信息。策略信息可包括以下信息,所述信息包括关于KeyID和/或请求者的一个或多个策略的信息。
在实施方案中,所访问策略信息用于确定1414任何适用策略是否允许对具有指定KeyID的密钥进行解密。如果确定1414策略不允许对由KeyID指定的密钥进行解密,则过程1400可包括拒绝1410GET请求,如上所述。然而,如果确定1414策略允许对具有指定KeyID的密钥进行解密,则过程1400可包括使用由KeyID标识的密钥对密钥进行解密1416。一旦密钥已经使用具有KeyID的密钥来解密,随后就可如通过在网络上进行传输来向提交解密请求的请求者(或,在一些实施方案中,另一个授权的目的地)提供1418已解密密钥。
如上文论述的环境1200所示,用户可以各种方式获取已加密数据对象和用于对数据对象进行解密的密钥。图15示出根据各个实施方案的可用于获取明文的过程1500的说明性实例。过程1500可由任何合适的系统来执行,如由结合图12描述的用户所操作和/或托管的系统。其他合适的系统包括代表用户并且不必根据所提供的实时用户输入但或许根据预先编程的过程进行操作的系统。
在实施方案中,过程1500包括从数据储存服务系统接收1502密文。向数据储存服务系统请求1502密文可如上所述以任何合适的方式来执行。例如,执行过程1500的系统可在上文结合图12示出的环境1200中使用适当配置的API调用和/或通过上文结合图13描述的过程1300来请求1502密文。
过程1500还可包括接收密文和已加密密钥。接收密文和已加密密钥可以任何合适的方式来执行。例如,可响应于从数据储存服务系统获取密文的请求来接收密文和已加密密钥。然而,一般地,密文和已加密密钥可以其他合适的方式来接收1504。例如,从数据储存服务系统接收密文的请求可以是异步请求,并且可依据随后提交的另一个请求来接收1504密文。此外,密文和已加密密钥可作为单个响应提供或可以独立地获取,如通过不同的响应(不同响应可来自相同系统或不同系统)。作为另一个实例,执行过程1500的系统可本地地或以其他方式储存已加密密钥,并且已加密密钥可从本地存储器接收。
在实施方案中,过程1500包括请求使用具有指定KeyID的密钥对已加密密钥进行解密。KeyID可如上所述以任何合适的方式来指定。此外,应注意,执行过程1500的系统可能够以任何合适的方式指定KeyID。例如,与KeyID一起提供的已加密密钥和/或信息可指定KeyID。作为另一个实例,执行过程1500的系统可本地或远程访问使得能够确定KeyID的信息。例如本地或远程数据库可使数据对象与用于对数据对象进行加密的密钥的密钥标识符关联。一般地,可使用可使得系统能够指定KeyID的任何方式。此外,在一些实施方案中,无需指定KeyID,如当向密码服务系统提供的信息足以确定KeyID时。用于对已加密密钥进行解密的请求1506可以如与上文结合图12论述的环境相关的任何合适的方式和/或通过执行上文结合图14描述的过程1400来执行。
在实施方案中,过程1500包括接收1508已解密密钥。接收1508已解密密钥可以任何合适的方式来执行。例如,可响应于用于对已加密密钥进行解密的请求来接收已解密密钥。作为另一个实例,用于对已加密密钥进行解密的请求可以是异步请求,并且可能已经提交用于接收已解密密钥的另一个请求。一般地,已解密密钥可以任何合适的方式来接收。此外,与从一个装置流向另一个装置的所有信息一样,信息的传递可使用安全通道来执行。例如,已解密密钥可由接收已解密密钥的实体再次加密以用于解密。一般地,任何方式的安全通信可用于从一个实体向另一个实体传递信息。
一旦已经接收1508已解密密钥,过程1500就可包括使用1510已解密密钥对密文进行解密1510并且因此获取明文。应注意,与本文描述的所有过程一样,变体被视为是在本公开的范围内。例如,过程1500示出获取密文的请求和用于对已加密密钥进行解密的请求顺序地被执行。然而,与本文关于各种过程描述的许多操作一样,在各个实施方案中无需顺序地执行操作。例如,如果执行过程1500的系统可在请求密文之前访问已加密密钥,或以其他方式能够这样做,则系统可并行地或以与所示方式不同的顺序请求密文并请求对已加密密钥进行解密。其他变体也被视为是在本公开的范围内。
如以上所论述,本公开的各个实施方案涉及提供密码服务。密码服务可由如上所述的密码服务系统来提供。图16相应地示出根据各个实施方案的密码服务系统1600的说明性实例。如图16所示并且如以上所论述,密码服务系统1600在逻辑上包括前端系统和后端系统。前端系统和后端系统两者都可由被配置来执行本文描述的操作的一个或多个计算机系统来实现。例如,如图16中所示,密码服务系统1600的前端系统实现请求API和策略配置API。在实施方案中,请求API是被配置用于请求将要由密码服务系统执行的密码操作和其他操作的API。因此,可通过请求API向前端系统做出请求,以便由密码服务系统执行此类密码操作。
请求API可被配置为具有以下可获得的示例性高级请求:
CreateKey(KeyID)
Encrypt(KeyID,Data,[AAD])
Decrypt(KeyID,Ciphertext,[AAD])
Shred(KeyID)
ReKey(Ciphertext,OldKeyID,NewKeyID)。
在实施方案中,CreateKey(KeyID)请求引起密码服务系统创建由请求中所标识的KeyID标识的密钥。在接收到请求之后,密码服务系统可生成密钥并使密钥与KeyID关联。应知道,KeyID可以是但不必是唯一的标识符。例如,KeyID可标识密钥族。例如,在一些实施方案中,执行密钥轮换。密钥轮换可包括:将密钥替换为其他密钥,以防止收集到足够允许实际破解所使用加密法的已解密数据。如果在不同于密码服务系统的实体的指导下执行,则使用CreateKey(KeyID)请求可引起密码服务系统创建新密钥以替换由KeyID标识的旧密钥。旧密钥可保持由KeyID标识,但是可例如仅用于解密(已经使用旧密钥进行加密的数据)而不用于将来的加密。作为另一个实例,在一些实施方案中,密码服务系统的用户提供他们自己的密钥标识符,并且可能的是两个不同客户可能提供相同标识符。在此类情况下,标识符可能不是唯一地标识密钥或甚至唯一地标识密钥族。各种措施可就位以解决此问题。例如,与密码服务系统的用户关联的标识码或其他信息可用于标识适当的密钥或密钥族。在再其他实施方案中,密码服务系统可随机地、顺序地、或使用任何其他方法分配KeyID。
应注意,当KeyID不是唯一地标识密钥时,各种系统可就位以实现适当的功能。例如,在各个实施方案中,由KeyID标识的密钥族是有限的。如果请求使用由KeyID标识的密钥进行的解密操作,则另外数据(例如,执行加密时的时间戳)可使得能够确定要使用的适当密钥。在一些实施方案中,密文可包括指示密钥版本的信息。在一些实施方案中,所有可能的密钥被用于提供数据的不同解密过程。由于存在有限次数的密钥,可从所提供的那些解密中选择适当的解密过程。在一些实施方案中,用密钥进行解密以使得密码服务系统能够检测到密文不是至少部分地基于密钥生成(如通过使用已认证加密)的方式来执行。其他变体也被视为是在本公开的范围内。
Encrypt(KeyID,Data,[AAD])请求可用于引起密码服务系统使用由KeyID标识的密钥对指定数据进行加密。另外的已认证数据(AAD)可用于各种目的并且可以是不必加密但经认证的数据,例如通过电子签名、消息认证码、或一般地包括在AAD内的加密钥散列值来认证。在一些实施方案中,密文被生成为包括AAD的至少一部分。在一些其他实施方案中,AAD是在解密期间单独地提供。在一些其他实施方案中,AAD是在解密时至少部分地基于请求和或其他元数据生成,使得解密将仅在元数据传递时成功。在一些实施方案中,策略可约束关于特定AAD是否可执行密码操作。通过编程逻辑和/或由密码服务系统强制实施的策略,Encrypt(KeyID,Data,[AAD])请求的处理可既要求AAD包括具体值又要求AAD可信(例如,自原始传输以来未被修改)。类似地,Decrypt(KeyID,Ciphertext,[AAD])请求可用于引起密码服务系统使用由KeyID标识的密钥对指定密文进行解密。Decrypt(KeyID,Ciphertext,[AAD])请求中的AAD可如上所述来使用。例如,通过编程逻辑和/或由密码服务系统强制实施的策略,Decrypt(KeyID,Ciphertext,[AAD])的处理可既要求AAD包括具体值又要求AAD可信(例如,自原始传输以来未被修改)。
在实施方案中,Shred(KeyID)可用于引起密码服务系统电子地销毁(shred)由指定KeyID标识的密钥或密钥族。电子销毁可包括使密钥不再可访问。例如,使用Shred(KeyID)请求可引起密码服务系统命令一个或多个硬件装置对由指定KeyID标识的一个或多个密钥执行SecureErase操作。一般地,由KeyID标识的密钥可以任何合适的方式电子地销毁,如通过用其他数据(例如,一系列零或一,或随机字符串)重写编码密钥的数据。如果密钥以在密钥下被加密的方式被存储,则可电子地销毁用于对密钥进行加密的密钥,从而使得丢失对密钥的访问权。在一些实施方案中,销毁操作可使得指示所销毁KeyID的解密操作在将来某一确定时刻失败。可使用安全地并且永久地摧毁对密钥的任何可能访问的其他方式。
在实施方案中,ReKey(Ciphertext,OldKeyID,NewKeyID)请求可用于引起密码服务系统在不同密钥下对密文进行加密。当密码服务系统接收ReKey(Ciphertext,OldKeyID,NewKeyID)请求时,它可使用由OldKeyID标识的密钥对指定密文进行解密并随后使用由NewKeyID标识的密钥对已解密密文进行加密。如果由NewKeyID标识的密钥尚不存在,则密码服务系统可生成要使用的密钥并使所生成密钥与指定NewKeyID关联,如结合以上所述的Create(KeyID)请求所描述。在一些实施方案中,ReKey操作可以可操作来使得数据可在密钥服务系统的孤立实体之间传送。在一些实施方案中,策略可能允许对密文执行rekey操作,但可能不允许相同请求者直接对密文进行解密。在一些实施方案中,ReKey可能支持将密文的密钥从由第一账户内的第一KeyID标识的密钥更新为由第二账户内的KeyID标识的密钥。
类似地,前端系统可实现策略配置API,在实施方案中,策略配置API使得用户能够提交用于配置用于执行密码操作和其他策略相关操作的策略的请求。在各个实施方案中,策略可与密钥、密钥组、账户、用户和其他逻辑实体关联。以下提供可通过策略配置API配置的示例性策略。在实施方案中,密码服务策略配置API包括以下请求:
SetKeyPolicy(KeyID,Policy)
Suspend(KeyID,PublicKey)
Reinstate(KeyID,PrivateKey)
在实施方案中,SetKeyPolicy(KeyID,Policy)请求可用于引起密码服务系统存储关于由KeyID标识的密钥(或密钥族)的策略。策略可以是确定在具体语境中是否可执行所请求密码操作的信息。策略可以陈述性访问控制策略语言来编码,如可扩展访问控制标记语言(XACML)、企业隐私授权语言(EPAL)、亚马逊网络服务访问策略语言、MicrosoftSecPol或编码执行密码操作必须满足的一个或多个条件的任何合适的方式。策略可限定可执行什么操作,何时可执行操作,哪些实体可为执行操作做出授权请求,授权特定请求需要哪些信息等。另外,除了或替代以上给出的实例,策略可使用访问控制列表、与用户关联的特权和/或操作位掩码来限定和/或强制实施。以下呈现示例性策略。
在一些实施方案中,密码服务系统可例如使用Suspend(KeyID,PublicKey)API调用来支持暂停操作。暂停操作使得密码服务系统的客户能够拒绝密码服务系统的操作者使用或访问密钥。这对关心隐蔽合法命令或其中密码服务系统的操作者可被强迫使用密钥执行一些操作的其他情况的客户可能有用。它也对希望锁定特定数据并使其在线不可访问的客户可能有用。在一些实施方案中,暂停操作可能包括:从客户接收公共密钥并利用所接收公共密钥对由给定KeyID指定的密钥进行加密、并销毁由KeyID指定的密钥,使得提供者不能访问已暂停密钥,除非例如使用既指定KeyID又包括私人密钥的Reinstate(KeyID,PrivateKey)API调用提供与公共密钥关联的私人密钥。在一些其他实施方案中,暂停操作可能包括:使用由密码服务系统管理的另一个密钥对与指定KeyID关联的密钥进行加密,所述另一个密钥包括但不限于为了立即暂停操作的目的而创建的一个密钥。可向客户提供通过这个操作产生的密文,而不是将密文保留在密码服务系统内。随后可销毁由KeyID标识的原始密钥。密码服务系统可以可操作来接收所提供密文并再导入已暂停密钥。在一些实施方案中,密文可以将防止密码服务系统向客户返回已解密版本的方式生成。
如图16所示,密码服务系统1600包括后端系统,在一些实施方案中,后端系统自身包括各种组件。例如,在此实例中,后端系统包括请求处理系统,所述请求处理系统可以是密码服务系统1600被配置来根据通过请求API或策略配置API接收的请求执行操作的子系统。例如,请求处理组件可接收通过请求API和策略配置API接收的请求,确定此类请求是否可信并且因此确定是否可完成,并且可完成请求。完成请求可包括:例如,执行和/或已经执行密码操作。请求处理单元可被配置来与认证接口交互,认证接口使得请求处理单元能够确定请求是否可信。认证接口可被配置来与如上所述的认证系统交互。例如,当由请求处理单元接收到请求时,请求处理单元可利用认证接口与认证服务系统交互,如果适用,认证服务系统可提供可使用以引起执行密码操作的认证证明。
在此说明性实例中,密码服务系统1600的后端系统还包括多个安全模块(密码模块)和策略强制实施模块。尽管安全模块中的一个或多个可为硬件安全模块,但在各个实施方案中,安全模块可为被配置为具有本文所述能力的任何合适的计算机装置。在实施方案中,每个安全模块存储与KeyID关联的多个密钥。每个安全模块可被配置来安全地存储密钥,以便不被密码服务系统1600的其他组件和/或其他系统的其他组件访问。在实施方案中,安全模块中的一些或全部遵从至少一种安全标准。例如,在一些实施方案中,安全模块各自被验证为遵从联邦信息处理标准(FIPS)出版物140-1和/或140-2中所概括的FIPS,如FIPS出版物140-2中所概括的一个或多个安全等级。此外,在一些实施方案中,每个安全模块都在密码模块验证程序(CMVP)下被证实。安全模块可实现为硬件安全模块(HSM)或具有HSM的一些或所有能力的另一种安全模块。在一些实施方案中,已验证模块用于引导操作。在一些实施方案中,客户可配置存储在已验证模块中并仅由已验证模块对其进行操作的一些密钥以及由软件对其进行操作的其他密钥。在一些实施方案中,与这些不同选项关联的性能或成本可能不同。
安全模块可被配置来根据请求处理单元所提供的指令来执行密码操作。例如,请求处理单元可向适当的安全模块提供密文和KeyID,并向安全模块提供使用与KeyID关联的密钥对密文进行解密并且作为响应提供明文的指令。在实施方案中,密码服务系统1600的后端系统安全地存储形成密钥空间的多个密钥。安全模块中的每一个可将所有密钥存储在密钥空间中;然而,变体被认为是在本公开的范围内。例如,安全模块中的每一个可存储密钥空间的子空间。由安全模块存储的密钥空间的子空间可重叠,使得密钥可冗余地存储在整个安全模块中。在一些实施方案中,特定密钥可仅存储在指定地理区域中。在一些实施方案中,某些密钥可仅由具有特定证书或许可等级的操作者访问。在一些实施方案中,某些密钥可存储在由特定第三方提供者操作的模块中并且仅由所述模块使用,特定第三方提供者与数据存储服务系统的提供者有合约。在一些实施方案中,安全模块的构造控制可能要求试图迫使使用密钥而非由客户授权的合法命令涉及正被强迫的另外实体或强迫动作的另外管辖范围。在一些实施方案中,可向客户提供对他们的密文和他们的密钥都存储在其中的管辖范围的独立选择权。在一些实施方案中,存储密钥的安全模块可被配置来向密钥的所有者提供审计信息,并且安全模块可被配置成使得审计信息的生成和提供不受客户抑制。在一些实施方案中,安全模块可被配置来独立验证由客户生成的签名,使得提供者(例如,托管安全模块)不能在由安全模块存储的密钥下执行操作。此外,一些安全模型可存储密钥空间的全部并且一些安全模块可存储密钥空间的子空间。其他变体也被视为是在本公开的范围内。在不同安全模块存储密钥空间的不同子空间的情况下,请求处理单元可被配置为如具有关系表或其他机构,关系表或其他机构用以根据各种请求确定哪个安全模块来命令执行密码操作。
在实施方案中,策略强制实施模块被配置来获取来自请求处理单元的信息,并且至少部分地基于所述信息来确定是否可执行通过API接收的请求。例如,当通过请求API接收执行密码操作的请求时,请求处理单元可与策略强制实施模块交互,以根据任何适用策略、如适用于请求中指定的KeyID的策略和/或其他策略、如与请求者关联的策略来确定请求的完成是否被授权。如果策略强制实施模块允许完成请求,请求处理单元可相应地根据完成请求来命令适当的安全模块执行密码操作。
与本文描述的所有附图一样,众多变体被认为是在本公开的范围内。例如,图16示出与安全模块分开的策略强制实施模块。然而,除了或替代被示出为分开的策略强制实施模块,每个安全模块可包括策略强制实施模块。因此,每个安全模块可独立地被配置来强制实施策略。此外,作为另一个实例,每个安全模块可包括所强制实施的策略不同于分开的策略强制实施模块所强制实施的策略的策略强制实施模块。众多其他变体被视为是在本公开的范围内。
如以上所论述,各种策略可由与KeyID关联的用户来配置,使得当请求指定结合对应于KeyID的密钥执行密码操作时,可强制实施策略。图17提供根据各个实施方案的用于更新策略的过程1700的说明性实例。过程1700可由任何合适的系统来执行,如由如上文结合图16所描述的密码服务系统。在实施方案中,过程1300包括接收1302更新针对KeyID的策略的请求。请求可以任何合适的方式来接收1302。例如,作为实例参照图16,请求可通过上述密码服务系统1600的前端系统的策略配置API来接收。请求可以任何合适的方式来接收。
在实施方案中,过程1700包括提交1704认证请求和接收1706认证响应。提交1704认证请求和接收1706认证响应可如上所述以任何合适的方式来执行。同样如上所述,所接收认证响应可用于确定1708更新针对KeyID的策略的请求是否可信。如果确定1708所接收的更新针对KeyID的策略的请求不可信,则可拒绝1710请求。拒绝1710请求可以任何合适的方式来执行,如上所述。然而,如果确定1708所接收的更新针对KeyID的策略的请求可信,则过程1700可包括访问1712适用于请求者的策略信息。策略信息可以是可根据其强制实施适用于请求者的任何策略的信息。例如,在利用由过程1700执行的密码服务的组织中,只有组织的某些用户可被允许更新针对KeyID的策略。策略信息可指示哪些用户能够引起密码服务系统更新针对KeyID的策略和/或甚至策略根据现有策略是否可更新。例如,在一些实施方案中,密码服务系统可接收强制实施新策略的请求。密码服务系统可检查任何现有策略是否允许将新策略付诸实施。如果密码服务系统确定现有策略不允许强制实施新策略,则可拒绝请求。一般地,策略信息可为可用于强制实施适用于请求者的策略的任何信息。
如图17所示,过程1700包括使用访问策略信息来确定1704策略是否允许执行所请求的更新。如果确定1714策略不允许执行所请求的更新,则过程1700可如上所述包括拒绝1710请求。然而,如果确定1714策略允许执行所请求的更新,则过程1700可包括更新1716针对KeyID的策略。更新针对KeyID的策略可包括:更新策略信息,和根据KeyID或与其关联地存储已更新策略。已更新策略信息可例如通过如上文结合图16所描述的密码服务系统的策略强制实施模块来存储。
策略还可由电子环境中结合密码服务系统操作的其他组件来强制实施。例如上文参照图2所论述,密码服务系统可向数据服务前端提供策略的电子表示,以便数据服务器端强制实施。这在数据服务系统更适合于强制实施策略的情况下可能有用。例如,动作是否为策略所允许可至少部分地基于数据服务前台可访问且密码服务系统不可访问的信息。作为一个实例,策略可取决于由数据服务后端存储系统代表与策略关联的客户所存储的数据。
如上文所论述,密码服务系统可包括允许根据关于具有KeyID的密钥的策略来强制实施策略的各种系统。图18相应地示出可用于强制实施策略的过程1800的说明性实例。过程1800可由任何合适的系统执行,如由如上文结合图16描述的密码服务系统。在实施方案中,过程1800包括接收1802使用具有KeyID的密钥执行一个或多个密码操作的请求。虽然图18将过程1800示出为结合执行一个或多个密码操作的请求来执行,但应注意,过程1800可适合于与执行不一定是密码操作的操作的任何请求一起使用。以上描述了示例性操作。
可做出1804所接收请求是否可信的确定。确定所接收请求是否可信可如上所述以任何合适的方式来执行。例如,确定1804请求是否可信可如上所述包括提交认证请求和接收认证响应。如果确定1804请求不可信,则过程1800可包括拒绝1806请求。拒绝1806请求可如上所述以任何合适的方式来执行。然而,如果确定1804请求可信,则过程1800可包括访问1808针对KeyID和/或请求者的策略信息。访问针对KeyID和/或请求的策略信息可以任何合适的方式来执行。例如,访问针对KeyID和/或请求者的策略信息可通过访问存储策略信息来执行,所述存储策略信息来自存储此类策略信息的一个或多个存储系统。所访问策略信息可用于确定1810策略是否允许执行一个或多个操作。
如果确定1810策略不允许执行一个或多个策略,则过程1800可包括拒绝1806请求。然而,如果确定策略允许执行一个或多个策略,则过程1800可包括执行1812所请求的一个或多个密码操作。可提供1814执行一个或多个密码操作的一个或多个结果,如向提交所接收1802的执行一个或多个密码操作的请求的请求者提供。在一些实施方案中,至少部分地衍生自所允许的请求和或所拒绝的请求的信息可通过审计子系统来提供。
如所论述的,本公开的实施方案允许灵活的策略配置和强制实施。在一些实施方案中,策略可说明哪些服务系统可在哪些语境中执行哪些操作。例如,关于密钥的策略可允许数据存储服务系统引起密码服务系统执行加密操作但不执行解密操作。关于密钥的策略还可包括关于密文和/或已解密明文的一个或多个条件。例如,策略可要求密文和/或明文在响应于请求而提供操作结果之前产生特定散列值(其可为加密钥散列值)。策略可指定至少部分地基于时间、请求所源自的互联网协议(IP)、将被加密/解密内容的类型、AAD和/或其他信息的一个或多个限制条件和/或权限。
众多变体被视为是在本公开的范围内。例如,上文论述的各个实施方案论述与分开的认证服务系统的交互。然而,上文论述的环境的组件可具有它们自己的授权组件,并且确定请求是否可信可以或可以不包括与另一个实体通信。另外,上文所论述的实施方案中的每一个结合由环境实现的特定操作和能力来说明。上文结合不同环境所论述的技术可相结合,并且一般地,根据本公开的环境可允许灵活使用各种技术。仅作为一个实例,密码服务系统可用于根据请求对密钥、和其他内容如无密钥数据对象两者进行加密。作为另一个实例,密码服务系统可被配置来接收并响应来自用户(例如,计算资源提供者的客户)和其他服务系统(例如,数据存储服务系统)两者的请求。在一些实施方案中,密码服务系统和/或关联认证服务系统可被配置用于与移动装置一起用于执行所存储数据的加密。在一些实施方案中,至少一个解锁pin可由密码服务系统验证。在再其他实施方案中,作为操作的一部分,密码服务系统可接收通过硬件鉴证生成的信息。在一些实施方案中,密码服务系统可以可操作来关于内容提供数字版权管理服务。
可鉴于以下条款对本公开的各个实施方案进行描述:
1.一种用于提供数据存储服务的计算机实现的方法,其包括:
在计算资源服务提供者的一个或多个计算机系统的控制下,所述一个或多个计算机系统被配置有可执行指令,
从所述计算资源服务提供者的客户接收利用所述计算资源服务提供者的数据存储服务系统的请求;
由于接收到利用所述数据存储服务系统的所述请求,引起所述计算资源服务提供者的密码服务系统提供信息,所述信息由所述密码服务系统使用所述数据存储服务系统不可访问的密钥来加密,所述信息可用于以未加密形式获取所述数据对象并且从由所述密码服务系统代表所述计算资源服务提供者的多个客户管理的多个密钥中获取所述密钥;以及
使用所述数据存储服务系统存储所述已加密信息。
2.如条款1所述的计算机实现的方法,其中:
引起所述密码服务系统提供所述已加密信息包括:向所述密码服务系统提供证明信息,所述证明信息使得所述密码服务系统能够验证所接收请求的可信性;并且
所述证明信息是所述密码服务系统提供所述已加密信息所必须的。
3.如条款1或2所述的计算机实现的方法,其中:
利用所述数据存储服务系统的所述请求包括:使用所述数据存储服务系统以已加密形式存储数据对象;
所述信息包括用于对所述数据对象进行加密的第二密钥;并且
使用所述数据存储服务系统存储所述已加密信息包括:使用所述数据存储服务系统以已加密形式存储所述数据对象。
4.如前述条款中任一项所述的计算机实现的方法,其中所述方法还包括:
接收从所述数据存储服务系统检索所述数据对象的请求;
从所述数据储存服务系统获取所述已加密信息;
引起所述密码服务系统对所述已加密信息进行解密;以及
响应于所接收的检索所述数据对象的请求而使用所述信息提供所述数据对象。
5.如条款4所述的计算机实现的方法,其中响应于所接收的检索所述数据对象的请求而使用所述信息提供所述数据对象包括:使用所述密钥对所述已加密数据对象进行解密。
6.如前述条款中任一项所述的计算机实现的方法,其中所述方法还包括:
向所述密码服务系统提供所述已加密信息以便进行解密;以及
引起所述密码服务系统检查关于所述密钥的策略是否允许使用所述密钥对所述已加密信息进行解密,并且当所述策略允许时,对所述已加密信息进行解密。
7.如前述条款中任一项所述的计算机实现的方法,其中:
所述方法还包括:从所述客户接收代表关于所述密钥的政策的信息;
引起所述密码服务系统根据所代表的策略进行操作。
8.如前述条款中任一项所述的计算机实现的方法,其中:所述方法还包括:
从所述密码服务系统接收关于所述密钥的策略;
检查所接收的策略是否允许完成所述请求;以及
引起所述密码服务系统提供所述已加密信息依赖于所述策略允许完成所述请求。
引起所述密码服务系统根据所代表的策略进行操作。
9.一种用于提供密码服务的计算机实现的方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
由于服务系统接收利用所述服务系统的第一请求,接收执行完成所述第一请求所必须的一个或多个密码操作的第二请求;
执行所请求的一个或多个密码操作;以及
向所述服务系统提供执行所请求的一个或多个密码操作的一个或多个结果,所述一个或多个结果是完成所接收的利用所述服务系统的请求的至少一种方式所必须的。
10.如条款9所述的计算机实现的方法,其中所述一个或多个密码操作包括:对完成所接收的利用所述数据服务系统的请求所需的密钥进行解密。
11.如条款9或10所述的计算机实现的方法,其中:
所述方法还包括:接收验证所接收的利用所述数据服务系统的请求可信的信息;并且
执行所述一个或多个密码操作要求接收验证所接收的利用所述服务系统的请求可信的所述信息。
12.如条款9至11中任一项所述的计算机实现的方法,其中所接收的利用所述服务系统的请求是获取由所述服务系统存储的数据的请求。
13.如条款9至12中任一项所述的计算机实现的方法,其中所接收的利用所述服务系统的请求是使用所述服务系统存储数据的请求。
14.如条款9至13中任一项所述的计算机实现的方法,其还包括:从各自由所述密码服务系统代表不同实体管理的包括至少两个密钥的多个密钥中选择用于执行所述一个或多个密码操作的至少一个密钥。
15.如条款9至14中任一项所述的计算机实现的方法,其中:
所述一个或多个密码操作要求使用密钥;
所述方法还包括:针对所述密钥接收针对所述密钥的策略;以及
执行所述一个或多个密码操作要求所述一个或多个密码操作的执行遵从所接收的策略。
16.如条款9至15中任一项所述的计算机实现的方法,其还包括:
接收针对可用于执行所述一个或多个密码操作的密钥的策略;
检查现有策略是否允许实施所述请求;以及
由于所述现有策略不允许实施所述策略而拒绝所接收的策略。
17.一种计算机系统,其包括:
一个或多个处理器;以及
存储指令的存储器,所述指令由所述一个或多个处理器执行以引起所述计算机系统至少实现:
密码服务系统,其被配置来至少:
存储多个密钥,使得所述多个密钥是不同于所述密码服务系统的服务系统不可访问的;并且
在检测在所述服务系统处待决的请求之后,从所述多个密钥中选择密钥并使用所选择密钥执行完成所述待决请求所需的一个或多个密码操作。
18.如条款17所述的计算机系统,其中检测在所述服务系统处待决的所述请求包括:从所述服务系统接收在所述服务系统处待决的所述请求的通知和证明。
19.如条款17或18所述的计算机系统,其中:
所述计算机系统由计算资源服务提供者操作;
所述请求由所述计算资源提供者的多个客户中的客户生成;并且
所述多个密钥中的每个密钥具有所述计算资源提供者的对应客户。
20.如条款17至19中任一项所述的计算机系统,其中所述密码服务系统进一步被配置来验证所述待决请求是经授权的。
21.如条款17至20中任一项所述的计算机系统,其还包括计量服务系统,所述计量服务系统被配置来接收所述密码服务系统的输出并至少部分地基于所接收输出生成会计记录。
22.如条款17至21中任一项所述的计算机系统,其中所述密码服务系统进一步被配置来:
存储策略信息,所述策略信息定义针对所述多个密钥的至少一个子集中的每一个的一个或多个策略;并且
强制实施所定义的一个或多个策略。
23.如条款22所述的计算机系统,其中:
所述计算机系统由计算资源服务提供者操作;
所述多个密钥中的每个密钥对应于所述计算资源提供者的客户;并且
所述密码服务系统被配置来:
从所述计算资源提供者的客户接收策略更新;并且
根据所接收的策略更新来更新所存储的策略信息。
24.一种计算机可读存储介质,其具有存储在其上的指令,当由计算机系统的一个或多个处理器执行时,所述指令引起所述计算机系统至少:
接收利用服务系统的请求;
由于已经接收利用所述服务系统的所述请求:
至少部分地基于所述请求,向密码服务系统提供所述请求被接收的证明,从而引起所述密码服务系统基于信息使用密钥执行一个或多个密码操作,所述信息在已经执行所述一个或多个密码操作之后可用于完成利用所述服务系统的所述请求;并且
使用所述信息完成利用所述服务系统的所述请求,所述一个或多个密码操作基于所述信息来执行。
25.如条款24所述的计算机可读存储介质,其中所述证明包括认证信息,所述认证信息使得所述密码服务系统能够验证利用所述服务系统的所述请求是可信的。
26.如条款24或25所述的计算机可读存储介质,其中:
利用所述服务系统的所述请求包括执行与数据对象有关的操作的请求;并且
所述信息是用于对所述数据对象进行加密的密钥。
27.如条款24至26中任一项所述的计算机可读存储介质,其中当由所述一个或多个处理器执行时,所述指令引起所述密码服务系统强制实施关于所述密钥的一个或多个策略,所一个或多个策略确定所述一个或多个密码操作是否可使用所述密钥执行。
28.如条款24至27中任一项所述的计算机可读存储介质,其中利用所述服务系统的所述请求是执行与数据对象有关的存储操作的请求。
29.如条款24至28中任一项所述的计算机可读存储介质,其中引起所述密码服务系统使用所述密钥执行一个或多个密码操作包括:提供所述密钥的标识符以使得所述密码服务系统能够从由所述密码服务系统存储的多个密钥中选择所述密钥。
图19示出用于实现根据各个实施方案的各方面的示例性环境1900的各方面。如将了解,尽管出于解释目的使用基于网络的环境,但是可视情况使用不同环境来实现各个实施方案。环境包括电子客户端装置1902,电子客户端装置1902可包括可操作来在适当网络1904上发送和接收请求、消息或信息并且将信息传送回装置用户的任何适当装置。此类客户端装置的实例包括个人计算机、手机、手持式消息传递装置、膝上计算机、机顶盒、个人数据助理、电子书阅读器等等。网络可包括任何适当网络,包括内部网、互联网、蜂窝网、局域网或任何其他此类网络或上述网络的组合。此类系统所用的组件可以至少部分地取决于所选网络和/或环境的类型。用于通过此类网络通信的协议和组件是众所周知的,因而本文不再详细论述。网络上的通信可通过有线或无线连接及其组合来实现。在这个实例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的网络服务器1906,然而对于其他网络来说,可使用服务类似目的的替代装置,如本领域技术人员所显而易见的。
所示环境包括至少一个应用程序服务器1908和数据存储器1910。应当理解,可以存在可以链接起来或以其他方式来配置的若干应用程序服务器、层或其他元件、过程或组件,所述应用程序服务器、层或其他元件、过程或组件可交互来执行如从适当数据存储器获取数据的任务。如本文所使用的,术语“数据存储器”指代能够存储、访问和检索数据的任何装置或装置组合,所述装置的装置组合可包括任何标准、分布式或集群式环境中的任何组合和任何数目的数据服务器、数据库、数据存储装置和数据存储介质。应用程序服务器可包括任何适当硬件和软件,所述硬件和软件视执行客户端装置的一个或多个应用程序的各方面的需要而与数据存储器集成、处置应用程序的大多数数据访问和业务逻辑。应用程序服务器提供与数据存储器协作的存取控制服务,并且能够生成将要传送到用户的内容、如文本、图片、音频和/或视频,在这个实例中,所述内容可以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)或另一种适当结构化语言的形式由网络服务器向用户提供。所有请求和响应的处置以及客户端装置1902与应用程序服务器1908之间的内容递送可由网络服务器来处置。应当理解,网络服务器和应用程序服务器不是必要的,且仅仅是示例性组件,因为本文所论述的结构化代码可在如本文其他地方所论述的任何适当装置或主机上执行。
数据存储器1910可包括若干单独的数据表、数据库或其他数据存储机构和介质,用来存储与特定方面相关的数据。举例来说,所示数据存储器包括用于存储生成数据1912和用户信息1916的机构,生成数据1912和用户信息1916可用于提供用于生成端的内容。数据存储器还被示出为包括用于存储日志数据1914的机构,所述日志数据1914可用于报告、分析或其他此类目的。应当理解,可能存在可能需要存储在数据存储器中的许多其他方面,如页面图像信息和访问权信息,所述方面可视情况存储在上文所列机构中的任何机构中或存储在数据存储器1910中的另外机构中。数据存储器1910可通过与它关联的逻辑来操作,以便从应用程序服务器1908接收指令,并且响应于所述指令而获取、更新或以其他方式处理数据。在一个实例中,用户可以针对某种类型的项目提交搜索请求。在此情况下,数据存储器可能访问用户信息来验证用户的身份,并且可访问目录详细信息以获取有关所述类型的项目的信息。接着可将信息如以网页上的结果列表的形式返回给用户,用户能够通过用户装置1902上的浏览器来查看所述网页。可在浏览器的专用页面或窗口中查看到感兴趣的特定项目的信息。
每个服务器通常将包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),当由服务器的处理器执行时,所述指令允许服务器实行其期望的功能。操作系统和服务器一般功能的合适实现方式是已知的或可商购得的,并且本领域的普通技术人员,特别是根据本公开,较易实施这些方式。在一些实施方案中,操作系统可根据一个或多个验证制度如评估保证等级(EAL)等级4来配置或在其下被验证。
在一个实施方案中,环境是利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和组件的分布式计算环境。然而,本领域普通技术人员应理解,这种系统可在具有比图19所示的组件更少或更多组件的系统中同样顺利地操作。因此,图19中的系统1900的描绘本质上应视为说明性的,并且不限制本公开的范围。
各个实施方案可进一步在广泛范围的操作环境中实现,在一些情况下,所述环境可包括一个或多个用户计算机、计算装置或可用于操作多个应用程序中的任一个的处理装置。用户或客户端装置可包括多个通用个人计算机中的任何一个,如运行标准操作系统的台式计算机或膝上计算机,以及运行移动软件并且能够支持多个网络连接协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括多个工作站,所述工作站运行各种可商购得的操作系统和用于如开发和数据库管理等目的的其他已知应用程序中的任一个。这些装置还可包括其他电子装置,如虚拟终端、薄型客户端、游戏系统和能够通过网络通信的其他装置。
大多数实施方案利用本领域技术人员可能熟悉的至少一种网络来使用各种各样可商购得的模型和协议中的任一种支持通信,所述模型和协议如传输控制协议/互联网协议(“TCP/IP”)、开放系统互连(“OSI”)、文件传送协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统(“NFS”)、公共互联网文件系统(“CIFS”)以及AppleTalk。网络例如可以是例如局域网、广域网、虚拟专用网、互联网、内部网、外联网、公共交换电话网、红外网络、无线网络以及上述网络的任何组合。
在利用网络服务器的实施方案中,网络服务器可以运行各种各样服务器或中间层应用程序中的任一种,包括超文本传输协议(“HTTP”)服务器、FTP服务器、公共网关接口(“CGI”)服务器、数据服务器、Java服务器和业务应用程序服务器。服务器还能够响应来自用户装置的请求而执行程序或脚本,如通过执行可以实施为以任何编程语言(如C、C#或C++)或任何脚本语言(如Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个网络应用程序。服务器还可包括数据库服务器,包括但不限于可商购自 的数据库服务器。
环境可包括如上文所论述的各种各样数据存储区以及其他存储器和存储介质。这些可驻留在各种各样位置,如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任何或所有计算机。在实施方案的特定集中,信息可驻留在本领域技术人员熟悉的存储区域网(“SAN”)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要的文件可视情况本地或远程存储。在系统包括计算机化装置的情况下,这个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可包括一个或多个存储装置,如硬盘驱动器、光存储装置和如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储装置、以及可移动媒体装置、存储卡、闪存卡等。本公开的各个实施方案还可使用定制硬件来实现,所述定制硬件包括但不限于定制密码处理器、智能卡和/或硬件安全模块。
此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上文所论述。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储装置以及用于暂时和/或更永久地含有、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用程序、模块、服务系统或其他元件,包括操作系统和应用程序,如客户端应用程序或网络浏览器。应当了解,替代实施方案可具有与上述实施方案不同的众多变体。例如,也可使用定制硬件,和/或特定元件可以在硬件、软件(包括可移植软件,如小程序)或两者中实现。此外,可以采用与如网络输入/输出装置的其他计算装置的连接。
用于含有代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,如但不限于以用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移动和不可移动的介质,包括RAM、ROM、电可擦可编程只读存储器(“EEPROM”)、闪存或其他存储器技术、只读光盘驱动器(“CD-ROM”)、数字通用光盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教义,本技术领域普通技术人员将了解实现各个实施方案的其他方式和/或方法。
因此,应在说明性意义而不是限制性意义上理解本说明书和附图。然而,将显而易见的是:在不脱离如在权利要求书中阐述的本发明的更宽广精神和范围的情况下,可以对其做出各种修改和改变。
其他变体也在本公开的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其特定实施方案。然而,应当了解,并不旨在将本发明限制于所公开的一种或多种具体形式,相反地,旨在涵盖落在如所附权利要求书限定的本发明的精神和范围内的所有修改、替代构造和等效物。
在描述所公开实施方案的上下文中(尤其是在以下权利要求书的上下文中),术语“一个(a,an)”和“所述”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非在本文另外地指示或明显地与上下文矛盾。术语“包含”、“具有”、“包括”和“含有”应解释为开放式术语(即,意味着“包括但不限于”),除非另外地注解。术语“连接的”应解释为部分地或全部地纳入在以下解释内:附接至或结合在一起,即使存在介入物。除非本文另外指明,否则本文中值范围的列举仅仅意图用作个别地表示属于所述范围的各单独值的速记方法,并且犹如本文个别描述地那样将各单独值并入到本说明书中。可按任何合适的顺序来执行本文所述的所有方法,除非本文另外指明或明显地与上下文矛盾。本文所提供的任何以及所有实例或示例性语言(例如,“如”)的使用仅意图更好地说明本发明的实施方案,并且除非另外要求,否则不会对本发明的范围施加限制。本说明书中的语言不应解释为将任何非要求的要素指示为实践本发明所必需。
本文中描述了本公开的优选实施方案,包括发明人已知用于执行本发明的最佳模式。阅读上述说明后那些优选实施方案的变体对于本领域的普通技术人员可以变得显而易见。发明人希望技术人员视情况采用此类变体,并且发明人意图以不同于如本文所特别描述的方式来实践本发明。因此,只要法律允许,本发明包括此处所附权利要求书中叙述的主题的所有修改和等效物。此外,除非本文另外指示或明显地与上下文矛盾,否则本发明涵盖其所有可能变体中的上述元素的任何组合。
本文所引用的所有参考文献、包括出版物、专利申请和专利据此以引用方式并入,其程度等同于每个参考文献单独地且具体地被表示为以引用方式并入本文并且以其全文在本文得以陈述。

Claims (15)

1.一种用于提供密码服务的计算机实现的方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
由于服务系统接收利用所述服务系统的第一请求,接收执行完成所述第一请求所必须的一个或多个密码操作的第二请求;
执行所请求的一个或多个密码操作;以及
向所述服务系统提供执行所请求的一个或多个密码操作的一个或多个结果,所述一个或多个结果是完成所接收的利用所述服务系统的请求的至少一种方式所必须的。
2.如权利要求1所述的计算机实现的方法,其中所述一个或多个密码操作包括:对完成所接收的利用所述数据服务系统的请求所需的密钥进行解密。
3.如权利要求1或2所述的计算机实现的方法,其中:
所述方法还包括:接收验证所接收的利用所述数据服务系统的请求可信的信息;并且
执行所述一个或多个密码操作要求接收验证所接收的利用所述服务系统的请求可信的所述信息。
4.如前述权利要求中任一项所述的计算机实现的方法,其中所接收的利用所述服务系统的请求是获取由所述服务系统存储的数据的请求。
5.如前述权利要求中任一项所述的计算机实现的方法,其中所接收的利用所述服务系统的请求是使用所述服务系统存储数据的请求。
6.如前述权利要求中任一项所述的计算机实现的方法,其还包括:从各自由所述密码服务系统代表不同实体管理的包括至少两个密钥的多个密钥中选择用于执行所述一个或多个密码操作的至少一个密钥。
7.如前述权利要求中任一项所述的计算机实现的方法,其中:
所述一个或多个密码操作要求使用密钥;
所述方法还包括:针对所述密钥接收针对所述密钥的策略;以及
执行所述一个或多个密码操作要求所述一个或多个密码操作的执行遵从所接收的策略。
8.如前述权利要求中任一项所述的计算机实现的方法,其还包括:
接收针对可用于执行所述一个或多个密码操作的密钥的策略;
检查现有策略是否允许实施所述请求;以及
由于所述现有策略不允许实施所述策略而拒绝所接收的策略。
9.一种计算机系统,其包括:
一个或多个处理器;以及
存储指令的存储器,所述指令由所述一个或多个处理器执行以引起所述计算机系统至少实现:
密码服务系统,其被配置来至少:
存储多个密钥,使得所述多个密钥是不同于所述密码服务系统的服务系统不可访问的;并且
在检测在所述服务系统处待决的请求之后,从所述多个密钥中选择密钥并使用所选择密钥执行完成所述待决请求所需的一个或多个密码操作。
10.如权利要求9所述的计算机系统,其中检测在所述服务系统处待决的所述请求包括:从所述服务系统接收在所述服务系统处待决的所述请求的通知和证明
11.如权利要求9或10所述的计算机系统,其中:
所述计算机系统由计算资源服务提供者操作;
所述请求由所述计算资源提供者的多个客户中的客户生成;并且
所述多个密钥中的每个密钥具有所述计算资源提供者的对应客户。
12.如权利要求9至11中任一项所述的计算机系统,其中所述密码服务系统进一步被配置来验证所述待决请求是经授权的。
13.如权利要求9至12中任一项所述的计算机系统,其还包括计量服务系统,所述计量服务系统被配置来接收所述密码服务系统的输出并至少部分地基于所接收输出生成会计记录。
14.如权利要求9至13中任一项所述的计算机系统,其中所述密码服务系统进一步被配置来:
存储策略信息,所述策略信息定义针对所述多个密钥的至少一个子集中的每一个的一个或多个策略;并且
强制实施所定义的一个或多个策略。
15.如权利要求14所述的计算机系统,其中:
所述计算机系统由计算资源服务提供者操作;
所述多个密钥中的每个密钥对应于所述计算资源提供者的客户;并且
所述密码服务系统被配置来:
从所述计算资源提供者的客户接收策略更新;并且
根据所接收的策略更新来更新所存储的策略信息。
CN201480020482.5A 2013-02-12 2014-02-07 数据安全服务系统 Active CN105103119B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911354068.9A CN111147255B (zh) 2013-02-12 2014-02-07 数据安全服务系统、方法和计算机可读储存介质

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/764,963 2013-02-12
US13/764,963 US9590959B2 (en) 2013-02-12 2013-02-12 Data security service
PCT/US2014/015404 WO2014126813A1 (en) 2013-02-12 2014-02-07 Data security service

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201911354068.9A Division CN111147255B (zh) 2013-02-12 2014-02-07 数据安全服务系统、方法和计算机可读储存介质

Publications (2)

Publication Number Publication Date
CN105103119A true CN105103119A (zh) 2015-11-25
CN105103119B CN105103119B (zh) 2020-01-17

Family

ID=51298333

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201911354068.9A Active CN111147255B (zh) 2013-02-12 2014-02-07 数据安全服务系统、方法和计算机可读储存介质
CN201480020482.5A Active CN105103119B (zh) 2013-02-12 2014-02-07 数据安全服务系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201911354068.9A Active CN111147255B (zh) 2013-02-12 2014-02-07 数据安全服务系统、方法和计算机可读储存介质

Country Status (10)

Country Link
US (2) US9590959B2 (zh)
EP (2) EP3585032B1 (zh)
JP (3) JP6290932B2 (zh)
KR (2) KR102055116B1 (zh)
CN (2) CN111147255B (zh)
AU (2) AU2014216607B2 (zh)
BR (1) BR112015019378B1 (zh)
CA (2) CA2898995C (zh)
SG (3) SG10201709421SA (zh)
WO (1) WO2014126813A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111279663A (zh) * 2017-11-01 2020-06-12 国际商业机器公司 在具有硬件安全模块的密钥管理系统中推迟熵耗尽
CN113841144A (zh) * 2019-06-05 2021-12-24 万事达卡国际公司 分布式计算系统中的凭证管理

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5982343B2 (ja) 2012-10-17 2016-08-31 ボックス インコーポレイテッドBox, Inc. クラウドベース環境におけるリモートキー管理
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9697358B2 (en) * 2013-06-13 2017-07-04 Google Inc. Non-volatile memory operations
US9456003B2 (en) 2013-07-24 2016-09-27 At&T Intellectual Property I, L.P. Decoupling hardware and software components of network security devices to provide security software as a service in a distributed computing environment
US9298942B1 (en) * 2013-12-31 2016-03-29 Google Inc. Encrypted augmentation storage
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10560441B2 (en) 2014-12-17 2020-02-11 Amazon Technologies, Inc. Data security operations with expectations
WO2016112338A1 (en) * 2015-01-08 2016-07-14 Intertrust Technologies Corporation Cryptographic systems and methods
CN104683350A (zh) * 2015-03-13 2015-06-03 北京深思数盾科技有限公司 一种可扩展的信息安全服务系统及方法
US9727742B2 (en) * 2015-03-30 2017-08-08 Airbnb, Inc. Database encryption to provide write protection
US10469477B2 (en) 2015-03-31 2019-11-05 Amazon Technologies, Inc. Key export techniques
US10237246B1 (en) 2015-07-31 2019-03-19 Symphony Communication Services Holdings Llc Secure message search
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US10412068B2 (en) * 2015-12-07 2019-09-10 Salesforce.Com, Inc. API authentication
US20170187752A1 (en) * 2015-12-24 2017-06-29 Steffen SCHULZ Remote attestation and enforcement of hardware security policy
CN107347058B (zh) * 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
US10581807B2 (en) * 2016-08-29 2020-03-03 International Business Machines Corporation Using dispersal techniques to securely store cryptographic resources and respond to attacks
US10567408B2 (en) 2016-09-23 2020-02-18 Apple Inc. Managing credentials of multiple users on an electronic device
US10819709B1 (en) * 2016-09-26 2020-10-27 Symphony Communication Services Holdings Llc Authorizing delegated capabilities to applications in a secure end-to-end communications system
US10705889B2 (en) * 2016-12-27 2020-07-07 Dropbox, Inc. Kernel event triggers
US10331623B2 (en) 2017-10-16 2019-06-25 Dropbox, Inc. Workflow functions of content management system enforced by client device
CN108259169B (zh) * 2018-01-09 2021-07-20 北京大学深圳研究生院 一种基于区块链云存储的文件安全分享方法及系统
US10728025B2 (en) 2018-04-13 2020-07-28 Amazon Technologies, Inc. Encryption by default in an elastic computing system
US11132673B1 (en) * 2018-04-25 2021-09-28 Dmitry Mikhailov Use of secure chips for storage of hashed data and private keys in hardware cryptowallets
US11005971B2 (en) * 2018-08-02 2021-05-11 Paul Swengler System and method for user device authentication or identity validation without passwords or matching tokens
US10867052B1 (en) * 2018-09-25 2020-12-15 Amazon Technologies, Inc. Encryption intermediary for volume creation
US20200111080A1 (en) * 2018-10-08 2020-04-09 BitGo Holdings, Inc. Security Secret Interface and Token Wrap Structure Apparatuses, Methods and Systems
US11128459B2 (en) * 2018-11-28 2021-09-21 Its, Inc. Mitigating service disruptions in key maintenance
WO2019120324A2 (en) 2019-03-29 2019-06-27 Alibaba Group Holding Limited Cryptography chip with identity verification
AU2019204710C1 (en) 2019-03-29 2021-07-08 Advanced New Technologies Co., Ltd. Managing cryptographic keys based on identity information
CA3057398C (en) 2019-03-29 2021-07-06 Alibaba Group Holding Limited Securely performing cryptographic operations
SG11201908931TA (en) 2019-03-29 2019-10-30 Alibaba Group Holding Ltd Cryptographic key management based on identity information
EP3748526A1 (en) * 2019-06-05 2020-12-09 Mastercard International Incorporated Security model for distributed computing system
EP4184365A1 (en) * 2019-06-05 2023-05-24 Mastercard International Incorporated Credential management in distributed computing system
CN112003690B (zh) * 2019-08-16 2024-01-12 华控清交信息科技(北京)有限公司 密码服务系统、方法及装置
US11411731B2 (en) * 2019-09-03 2022-08-09 Fujitsu Limited Secure API flow
US11790092B1 (en) * 2020-05-26 2023-10-17 Amazon Technologies, Inc. Cryptoprocessor access management
US11475140B1 (en) * 2020-11-24 2022-10-18 Amazon Technologies, Inc. Enclave-based cryptography services in edge computing environments
US11556659B1 (en) 2021-03-03 2023-01-17 Amazon Technologies, Inc. Partially encrypted snapshots

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215240A (ja) * 1999-01-22 2000-08-04 Mitsubishi Electric Corp 情報仲介システム
JP2005533438A (ja) * 2002-07-12 2005-11-04 イングリアン ネットワークス インコーポレーテッド ネットワークに付随する暗号化
JP2007081482A (ja) * 2005-09-09 2007-03-29 Canon Inc 端末認証方法及びその装置、プログラム
US8091125B1 (en) * 2002-01-14 2012-01-03 Fs Networks, Inc. Method and system for performing asynchronous cryptographic operations
CN102318263A (zh) * 2009-02-16 2012-01-11 微软公司 受信云计算和服务框架
US20120290850A1 (en) * 2011-05-12 2012-11-15 Hewlett-Packard Development Company Lp Data management
US8607358B1 (en) * 2010-05-18 2013-12-10 Google Inc. Storing encrypted objects

Family Cites Families (227)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US809112A (en) * 1905-06-28 1906-01-02 Dolphis Joyal Lamp-burner.
US6175625B1 (en) 1944-12-15 2001-01-16 The United States Of America As Represented By The National Security Agency Control circuits for electric coding machines
US4868877A (en) 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4918728A (en) 1989-08-30 1990-04-17 International Business Machines Corporation Data cryptography operations using control vectors
US5054067A (en) 1990-02-21 1991-10-01 General Instrument Corporation Block-cipher cryptographic device based upon a pseudorandom nonlinear sequence generator
US5146498A (en) 1991-01-10 1992-09-08 Motorola, Inc. Remote key manipulations for over-the-air re-keying
US5201000A (en) 1991-09-27 1993-04-06 International Business Machines Corporation Method for generating public and private key pairs without using a passphrase
US5495533A (en) 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive
US7904722B2 (en) * 1994-07-19 2011-03-08 Certco, Llc Method for securely using digital signatures in a commercial cryptographic system
US5826245A (en) 1995-03-20 1998-10-20 Sandberg-Diment; Erik Providing verification information for a transaction
US5633931A (en) 1995-06-30 1997-05-27 Novell, Inc. Method and apparatus for calculating message signatures in advance
US5675653A (en) 1995-11-06 1997-10-07 Nelson, Jr.; Douglas Valmore Method and apparatus for digital encryption
US5761306A (en) 1996-02-22 1998-06-02 Visa International Service Association Key replacement in a public key cryptosystem
US5933503A (en) 1996-03-15 1999-08-03 Novell, Inc Controlled modular cryptography apparatus and method
US5862220A (en) 1996-06-03 1999-01-19 Webtv Networks, Inc. Method and apparatus for using network address information to improve the performance of network transactions
US6012144A (en) 1996-10-08 2000-01-04 Pickett; Thomas E. Transaction security method and apparatus
JP3542895B2 (ja) 1997-08-22 2004-07-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 時間制約暗号システム
US6182216B1 (en) 1997-09-17 2001-01-30 Frank C. Luyster Block cipher method
US6259789B1 (en) 1997-12-12 2001-07-10 Safecourier Software, Inc. Computer implemented secret object key block cipher encryption and digital signature device and method
US6185679B1 (en) 1998-02-23 2001-02-06 International Business Machines Corporation Method and apparatus for a symmetric block cipher using multiple stages with type-1 and type-3 feistel networks
JP3659791B2 (ja) 1998-03-23 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 小時間鍵生成の方法及びシステム
US6336186B1 (en) 1998-07-02 2002-01-01 Networks Associates Technology, Inc. Cryptographic system and methodology for creating and managing crypto policy on certificate servers
US6356941B1 (en) 1999-02-22 2002-03-12 Cyber-Ark Software Ltd. Network vaults
US6505299B1 (en) 1999-03-01 2003-01-07 Sharp Laboratories Of America, Inc. Digital image scrambling for image coding systems
US6546492B1 (en) 1999-03-26 2003-04-08 Ericsson Inc. System for secure controlled electronic memory updates via networks
JP2000295209A (ja) 1999-04-09 2000-10-20 Ntt Data Corp 鍵管理方法、鍵管理システム及び記録媒体
JP4132530B2 (ja) 2000-01-24 2008-08-13 株式会社リコー 電子保存装置
US8868914B2 (en) 1999-07-02 2014-10-21 Steven W. Teppler System and methods for distributing trusted time
SE9904094D0 (sv) 1999-11-12 1999-11-12 Protegrity Research & Dev Method for reencryption of a database
US6826609B1 (en) 2000-03-31 2004-11-30 Tumbleweed Communications Corp. Policy enforcement in a secure data file delivery system
DE10025626A1 (de) 2000-05-24 2001-11-29 Deutsche Telekom Ag Verschlüsseln von abzuspeichernden Daten in einem IV-System
US8538843B2 (en) 2000-07-17 2013-09-17 Galactic Computing Corporation Bvi/Bc Method and system for operating an E-commerce service provider
US20030021417A1 (en) 2000-10-20 2003-01-30 Ognjen Vasic Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US7362868B2 (en) 2000-10-20 2008-04-22 Eruces, Inc. Hidden link dynamic key manager for use in computer systems with database structure for storage of encrypted data and method for storage and retrieval of encrypted data
US6986040B1 (en) 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
WO2002044970A1 (fr) 2000-11-28 2002-06-06 Sanyo Electric Co., Ltd. Terminal de donnees destine a la gestion de donnees de contenu chiffrees et droit d'utilisation obtenu par voie logicielle
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7050583B2 (en) 2001-03-29 2006-05-23 Etreppid Technologies, Llc Method and apparatus for streaming data using rotating cryptographic keys
CA2358048A1 (en) 2001-09-25 2003-03-25 Luis Rueda A cryptosystem for data security
CA2358980A1 (en) 2001-10-12 2003-04-12 Karthika Technologies Inc. Distributed security architecture for storage area networks (san)
US7200747B2 (en) 2001-10-31 2007-04-03 Hewlett-Packard Development Company, L.P. System for ensuring data privacy and user differentiation in a distributed file system
US7243366B2 (en) 2001-11-15 2007-07-10 General Instrument Corporation Key management protocol and authentication system for secure internet protocol rights management architecture
US20020076044A1 (en) 2001-11-16 2002-06-20 Paul Pires Method of and system for encrypting messages, generating encryption keys and producing secure session keys
US7865446B2 (en) 2001-12-11 2011-01-04 International Businesss Machines Corporation Method for secure electronic commercial transaction on-line processing
US7580972B2 (en) 2001-12-12 2009-08-25 Valve Corporation Method and system for controlling bandwidth on client and server
JP4291970B2 (ja) 2001-12-20 2009-07-08 富士通株式会社 暗号処理装置
US7117366B2 (en) * 2002-01-08 2006-10-03 International Business Machines Corporation Public key based authentication method for transaction delegation in service-based computing environments
US7146009B2 (en) * 2002-02-05 2006-12-05 Surety, Llc Secure electronic messaging system requiring key retrieval for deriving decryption keys
JP3897613B2 (ja) 2002-02-27 2007-03-28 株式会社日立製作所 公開鍵暗号方式における登録局サーバの運用方法、登録局サーバ、及びプログラム
US20030188188A1 (en) 2002-03-15 2003-10-02 Microsoft Corporation Time-window-constrained multicast for future delivery multicast
US7890771B2 (en) 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
EP1510028A4 (en) 2002-05-23 2008-01-23 Atmel Corp CRYPTOGRAPHIC MOTOR OF TECHNICAL EQUIPMENT BASED ON ADVANCED ENCRYPTION STANDARD (AES)
US20040009815A1 (en) 2002-06-26 2004-01-15 Zotto Banjamin O. Managing access to content
US7620680B1 (en) 2002-08-15 2009-11-17 Microsoft Corporation Fast byzantine paxos
US7877607B2 (en) 2002-08-30 2011-01-25 Hewlett-Packard Development Company, L.P. Tamper-evident data management
FR2844656B1 (fr) 2002-09-18 2005-01-28 France Telecom Procede de signature electronique, programme et serveur pour la mise en oeuvre du procede
US8064508B1 (en) 2002-09-19 2011-11-22 Silicon Image, Inc. Equalizer with controllably weighted parallel high pass and low pass filters and receiver including such an equalizer
US20040107345A1 (en) 2002-10-21 2004-06-03 Brandt David D. System and methodology providing automation security protocols and intrusion detection in an industrial controller environment
US7565419B1 (en) 2002-11-22 2009-07-21 Symantec Operating Corporation Conflict resolution in a peer to peer network
US20040143733A1 (en) 2003-01-16 2004-07-22 Cloverleaf Communication Co. Secure network data storage mediator
GB2400699B (en) 2003-04-17 2006-07-05 Hewlett Packard Development Co Security data provision method and apparatus and data recovery method and system
US20050015471A1 (en) * 2003-07-18 2005-01-20 Zhang Pu Paul Secure cluster configuration data set transfer protocol
JP4062206B2 (ja) 2003-08-01 2008-03-19 日本電気株式会社 署名復号サービスシステム及びプログラム
JP2005151529A (ja) 2003-10-20 2005-06-09 Sony Corp データ伝送方法、データ伝送装置及びデータ受信装置
US7421079B2 (en) 2003-12-09 2008-09-02 Northrop Grumman Corporation Method and apparatus for secure key replacement
JP2005197912A (ja) 2004-01-06 2005-07-21 Nippon Telegr & Teleph Corp <Ntt> 情報開示制御方法、情報開示制御プログラム、ならびに、耐タンパ装置
US8065720B1 (en) 2004-01-06 2011-11-22 Novell, Inc. Techniques for managing secure communications
US7296023B2 (en) 2004-01-15 2007-11-13 International Business Machines Corporation Method and apparatus for persistent real-time collaboration
JP2005258801A (ja) 2004-03-11 2005-09-22 Matsushita Electric Ind Co Ltd 個人認証システム
EP2267625A3 (en) 2004-04-19 2015-08-05 Lumension Security S.A. On-line centralized and local authorization of executable files
WO2005112335A1 (ja) 2004-05-17 2005-11-24 Mitsubishi Denki Kabushiki Kaisha 量子暗号通信装置
US20050273629A1 (en) 2004-06-04 2005-12-08 Vitalsource Technologies System, method and computer program product for providing digital rights management of protected content
US20060010323A1 (en) 2004-07-07 2006-01-12 Xerox Corporation Method for a repository to provide access to a document, and a repository arranged in accordance with the same method
KR20070030272A (ko) 2004-07-15 2007-03-15 마츠시타 덴끼 산교 가부시키가이샤 시각인증장치, 시각인증방법, 컴퓨터 프로그램, 기록매체,집적회로 및 시각인증시스템
US20060021018A1 (en) 2004-07-21 2006-01-26 International Business Machines Corporation Method and system for enabling trust infrastructure support for federated user lifecycle management
US20060048222A1 (en) 2004-08-27 2006-03-02 O'connor Clint H Secure electronic delivery seal for information handling system
WO2006026737A2 (en) 2004-08-31 2006-03-09 Ntt Docomo Inc. Revocation of cryptographic digital certificates
US8315387B2 (en) 2004-11-05 2012-11-20 Nucrypt Llc System and method for data transmission over arbitrary media using physical encryption
US7607164B2 (en) 2004-12-23 2009-10-20 Microsoft Corporation Systems and processes for managing policy change in a distributed enterprise
JP4714482B2 (ja) 2005-02-28 2011-06-29 株式会社日立製作所 暗号通信システムおよび方法
US7900247B2 (en) 2005-03-14 2011-03-01 Microsoft Corporation Trusted third party authentication for web services
US7774826B1 (en) 2005-03-18 2010-08-10 Novell, Inc. System and method for determining effective policy profiles in a client-server architecture
JP4622627B2 (ja) 2005-03-30 2011-02-02 ブラザー工業株式会社 通信装置、通信システム及びプログラム
US8051487B2 (en) 2005-05-09 2011-11-01 Trend Micro Incorporated Cascading security architecture
US8312064B1 (en) 2005-05-11 2012-11-13 Symantec Corporation Method and apparatus for securing documents using a position dependent file system
US7639819B2 (en) 2005-06-16 2009-12-29 Oracle International Corporation Method and apparatus for using an external security device to secure data in a database
US8295492B2 (en) 2005-06-27 2012-10-23 Wells Fargo Bank, N.A. Automated key management system
US7784087B2 (en) 2005-08-04 2010-08-24 Toshiba Corporation System and method for securely sharing electronic documents
US8917159B2 (en) 2005-08-19 2014-12-23 CLARKE William McALLISTER Fully secure item-level tagging
US8566607B2 (en) 2005-08-26 2013-10-22 International Business Machines Corporation Cryptography methods and apparatus used with a processor
JP4569464B2 (ja) 2005-12-20 2010-10-27 沖電気工業株式会社 マルチホップネットワークにおける鍵更新システム,鍵管理装置,通信端末および鍵情報構築方法
US7912994B2 (en) 2006-01-27 2011-03-22 Apple Inc. Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host
US7925023B2 (en) 2006-03-03 2011-04-12 Oracle International Corporation Method and apparatus for managing cryptographic keys
US7751570B2 (en) 2006-04-04 2010-07-06 Oracle International Corporation Method and apparatus for managing cryptographic keys
US8064604B2 (en) 2006-04-04 2011-11-22 Oracle International Corporation Method and apparatus for facilitating role-based cryptographic key management for a database
JP2007293468A (ja) 2006-04-24 2007-11-08 Fujifilm Corp プリントサービスシステムおよびプリント処理方法
US9002018B2 (en) 2006-05-09 2015-04-07 Sync Up Technologies Corporation Encryption key exchange system and method
US20080005024A1 (en) 2006-05-17 2008-01-03 Carter Kirkwood Document authentication system
US20070283446A1 (en) 2006-06-05 2007-12-06 Kabushiki Kaisha Toshiba System and method for secure handling of scanned documents
US20080019516A1 (en) 2006-06-22 2008-01-24 Entriq Inc. Enforced delay of access to digital content
JP4943751B2 (ja) 2006-07-04 2012-05-30 株式会社内田洋行 電子データアクセス制御システム、プログラム及び情報記憶媒体
US20080028464A1 (en) 2006-07-25 2008-01-31 Michael Paul Bringle Systems and Methods for Data Processing Anomaly Prevention and Detection
US8689287B2 (en) 2006-08-17 2014-04-01 Northrop Grumman Systems Corporation Federated credentialing system and method
US20100316219A1 (en) 2007-08-06 2010-12-16 David Boubion Systems and methods for simultaneous integrated multiencrypted rotating key communication
US7953978B2 (en) 2006-09-07 2011-05-31 International Business Machines Corporation Key generation and retrieval using key servers
US8407806B2 (en) 2006-09-29 2013-03-26 Purusharth Agrawal Digital data distribution detection, deterrence and disablement system and method
GB2443244A (en) 2006-10-05 2008-04-30 Hewlett Packard Development Co Authenticated Encryption Method and Apparatus
WO2008121157A2 (en) 2006-10-12 2008-10-09 Rsa Security Inc. Cryptographic key management system facilitating secure access of data portions to corresponding groups of users
US20100098248A1 (en) 2006-10-31 2010-04-22 Agency For Science Technology And Research Device and method of generating and distributing access permission to digital object
US8090098B2 (en) 2006-11-13 2012-01-03 Electronics And Telecommunications Research Institute Method of generating message authentication code using stream cipher and authentication/encryption and authentication/decryption methods using stream cipher
US8213602B2 (en) 2006-11-27 2012-07-03 Broadcom Corporation Method and system for encrypting and decrypting a transport stream using multiple algorithms
WO2008127446A2 (en) 2006-12-01 2008-10-23 President And Fellows Of Harvard College A method and apparatus for time-lapse cryptography
KR101016224B1 (ko) 2006-12-12 2011-02-25 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 인코더, 디코더 및 시간 영역 데이터 스트림을 나타내는 데이터 세그먼트를 인코딩하고 디코딩하는 방법
US20080172562A1 (en) 2007-01-12 2008-07-17 Christian Cachin Encryption and authentication of data and for decryption and verification of authenticity of data
KR101391152B1 (ko) 2007-04-05 2014-05-02 삼성전자주식회사 Ums 기기의 컨텐츠를 보호하기 위한 방법 및 장치
US8218761B2 (en) 2007-04-06 2012-07-10 Oracle International Corporation Method and apparatus for generating random data-encryption keys
WO2008128212A1 (en) 2007-04-12 2008-10-23 Ncipher Corporation Ltd. Method and system for identifying and managing encryption keys
US8429406B2 (en) 2007-06-04 2013-04-23 Qualcomm Atheros, Inc. Authorizing customer premise equipment into a network
JP2008306418A (ja) 2007-06-07 2008-12-18 Kddi Corp ネットワーク負荷軽減システム、ネットワーク負荷軽減方法およびプログラム
US20080319909A1 (en) 2007-06-25 2008-12-25 Perkins George S System and method for managing the lifecycle of encryption keys
US8650038B2 (en) 2007-07-17 2014-02-11 William Howard Peirson, JR. Systems and processes for obtaining and managing electronic signatures for real estate transaction documents
US8111828B2 (en) 2007-07-31 2012-02-07 Hewlett-Packard Development Company, L.P. Management of cryptographic keys for securing stored data
US7894626B2 (en) 2007-08-31 2011-02-22 Xerox Corporation System and method for the generation of multiple angle correlation-based digital watermarks
WO2009029842A1 (en) 2007-08-31 2009-03-05 Exegy Incorporated Method and apparatus for hardware-accelerated encryption/decryption
US8140847B1 (en) 2007-09-18 2012-03-20 Jianqing Wu Digital safe
CN101400059B (zh) 2007-09-28 2010-12-08 华为技术有限公司 一种active状态下的密钥更新方法和设备
US8549278B2 (en) 2007-10-20 2013-10-01 Blackout, Inc. Rights management services-based file encryption system and method
WO2009060283A1 (en) 2007-11-05 2009-05-14 Synaptic Laboratories Limited Method and apparatus for secure communication
KR100980831B1 (ko) 2007-12-12 2010-09-10 한국전자통신연구원 일회용 패스워드를 이용한 신뢰성 있는 통신 시스템 및방법
US8495357B2 (en) 2007-12-19 2013-07-23 International Business Machines Corporation Data security policy enforcement
US8175276B2 (en) 2008-02-04 2012-05-08 Freescale Semiconductor, Inc. Encryption apparatus with diverse key retention schemes
JP4896054B2 (ja) 2008-03-06 2012-03-14 イートライアル株式会社 個人情報管理装置,個人情報管理プログラムおよび個人情報管理システム
US8681990B2 (en) 2008-03-28 2014-03-25 International Business Machines Corporation Renewal management for data items
JP4526574B2 (ja) 2008-03-31 2010-08-18 富士通株式会社 暗号データ管理システム、および暗号データ管理方法
US8225106B2 (en) 2008-04-02 2012-07-17 Protegrity Corporation Differential encryption utilizing trust modes
US8494168B1 (en) 2008-04-28 2013-07-23 Netapp, Inc. Locating cryptographic keys stored in a cache
US8589697B2 (en) 2008-04-30 2013-11-19 Netapp, Inc. Discarding sensitive data from persistent point-in-time image
US20090300356A1 (en) 2008-05-27 2009-12-03 Crandell Jeffrey L Remote storage encryption system
US20100014662A1 (en) 2008-06-19 2010-01-21 Sami Antti Jutila Method, apparatus and computer program product for providing trusted storage of temporary subscriber data
WO2009157142A1 (ja) 2008-06-23 2009-12-30 パナソニック株式会社 情報処理装置、暗号鍵の管理方法、コンピュータプログラム及び集積回路
US8261320B1 (en) 2008-06-30 2012-09-04 Symantec Corporation Systems and methods for securely managing access to data
GB0811897D0 (en) 2008-06-30 2008-07-30 Steed Darren Intelligent file encapsulation
US8005859B2 (en) 2008-07-09 2011-08-23 The Go Daddy Group, Inc. Maintaining contact with a document storage file owner
US8245039B2 (en) 2008-07-18 2012-08-14 Bridgewater Systems Corp. Extensible authentication protocol authentication and key agreement (EAP-AKA) optimization
JP4620146B2 (ja) 2008-07-18 2011-01-26 株式会社東芝 情報処理装置及び認証方法
JP2010072916A (ja) * 2008-09-18 2010-04-02 Hitachi Software Eng Co Ltd データ保護システム及びデータ保護方法
US8302170B2 (en) 2008-09-22 2012-10-30 Bespoke Innovations S.A.R.L. Method for enhancing network application security
US9742555B2 (en) 2008-09-25 2017-08-22 Nokia Technologies Oy Encryption/identification using array of resonators at transmitter and receiver
US8804950B1 (en) 2008-09-30 2014-08-12 Juniper Networks, Inc. Methods and apparatus for producing a hash value based on a hash function
US8392682B2 (en) 2008-12-17 2013-03-05 Unisys Corporation Storage security using cryptographic splitting
JP2010128824A (ja) 2008-11-27 2010-06-10 Hitachi Software Eng Co Ltd ポリシーグループ識別子を利用したクライアント制御システム
CN101753302B (zh) 2008-12-09 2012-07-04 北大方正集团有限公司 一种保证sip通信安全的方法和系统
US8555089B2 (en) 2009-01-08 2013-10-08 Panasonic Corporation Program execution apparatus, control method, control program, and integrated circuit
US8699704B2 (en) 2010-01-13 2014-04-15 Entropic Communications, Inc. Secure node admission in a communication network
US8245037B1 (en) 2009-02-17 2012-08-14 Amazon Technologies, Inc. Encryption key management
WO2010096923A1 (en) 2009-02-27 2010-09-02 Certicom Corp. System and method for securely communicating with electronic meters
US20100250965A1 (en) 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm
US8654970B2 (en) 2009-03-31 2014-02-18 Oracle America, Inc. Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm
US20100266132A1 (en) 2009-04-15 2010-10-21 Microsoft Corporation Service-based key escrow and security for device data
US8251283B1 (en) 2009-05-08 2012-08-28 Oberon Labs, LLC Token authentication using spatial characteristics
US8284945B2 (en) 2009-06-02 2012-10-09 Hewlett-Packard Development Company, L.P. Automatic change of symmetrical encryption key
US9031876B2 (en) 2009-06-19 2015-05-12 Hewlett-Packard Development Company, L.P. Managing keys for encrypted shared documents
JP2011019129A (ja) 2009-07-09 2011-01-27 Nec Corp データ管理システム及びデータ管理方法
US8799322B2 (en) 2009-07-24 2014-08-05 Cisco Technology, Inc. Policy driven cloud storage management and cloud storage policy router
US9311465B2 (en) 2009-09-21 2016-04-12 James McNulty Secure information storage and retrieval apparatus and method
IL201351A0 (en) 2009-10-01 2010-05-31 Michael Feldbau Device and method for electronic signature via proxy
US9043877B2 (en) 2009-10-06 2015-05-26 International Business Machines Corporation Temporarily providing higher privileges for computing system to user identifier
US8572369B2 (en) * 2009-12-11 2013-10-29 Sap Ag Security for collaboration services
CN101741547B (zh) 2009-12-18 2012-05-23 西安西电捷通无线网络通信股份有限公司 节点间保密通信方法及系统
JP2013514577A (ja) 2009-12-18 2013-04-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 属性ベースの暗号化を用いるデジタル権利管理
US8478996B2 (en) 2009-12-21 2013-07-02 International Business Machines Corporation Secure Kerberized access of encrypted file system
GB201000288D0 (en) 2010-01-11 2010-02-24 Scentrics Information Security System and method of enforcing a computer policy
US8650129B2 (en) 2010-01-20 2014-02-11 American Express Travel Related Services Company, Inc. Dynamically reacting policies and protections for securing mobile financial transaction data in transit
WO2011089712A1 (ja) 2010-01-22 2011-07-28 富士通株式会社 認証方法、認証システムおよび認証プログラム
JP5070305B2 (ja) 2010-01-29 2012-11-14 株式会社日本総合研究所 取引中継方法および取引中継システム
US20110213971A1 (en) 2010-03-01 2011-09-01 Nokia Corporation Method and apparatus for providing rights management at file system level
US8370648B1 (en) 2010-03-15 2013-02-05 Emc International Company Writing and reading encrypted data using time-based encryption keys
US8667269B2 (en) 2010-04-02 2014-03-04 Suridx, Inc. Efficient, secure, cloud-based identity services
US8555059B2 (en) 2010-04-16 2013-10-08 Microsoft Corporation Secure local update of content management software
EP2378451B1 (en) 2010-04-19 2018-07-04 Vodafone Holding GmbH User authentication in a tag-based service
US9160738B2 (en) 2010-05-27 2015-10-13 Microsoft Corporation Delegation-based authorization
US20120079289A1 (en) 2010-09-27 2012-03-29 Skymedi Corporation Secure erase system for a solid state non-volatile memory device
JP2012073374A (ja) 2010-09-28 2012-04-12 Fujikura Ltd 光ファイバ切断装置
US8504837B2 (en) 2010-10-15 2013-08-06 Rockwell Automation Technologies, Inc. Security model for industrial devices
US9961550B2 (en) 2010-11-04 2018-05-01 Itron Networked Solutions, Inc. Physically secured authorization for utility applications
US20120114118A1 (en) 2010-11-05 2012-05-10 Samsung Electronics Co., Ltd. Key rotation in live adaptive streaming
US8832726B2 (en) 2010-11-17 2014-09-09 Verizon Patent And Licensing Inc. Video streaming entitlement determined based on the location of the viewer
US8401186B2 (en) 2010-11-29 2013-03-19 Beijing Z&W Technology Consulting Co., Ltd. Cloud storage data access method, apparatus and system based on OTP
US8565422B2 (en) 2010-12-03 2013-10-22 Salesforce.Com, Inc. Method and system for enryption key versioning and key rotation in a multi-tenant environment
KR101145766B1 (ko) 2010-12-10 2012-05-16 고려대학교 산학협력단 보안 서비스 제공 시스템 및 방법
CN102130768B (zh) 2010-12-20 2012-11-07 西安西电捷通无线网络通信股份有限公司 一种具有链路层加解密能力的终端设备及其数据处理方法
US8478858B2 (en) 2011-02-01 2013-07-02 Limelight Networks, Inc. Policy management for content storage in content delivery networks
US8588426B2 (en) 2011-02-21 2013-11-19 Blackberry Limited Methods and apparatus to secure communications in a mobile network
JP5564453B2 (ja) 2011-02-25 2014-07-30 株式会社エヌ・ティ・ティ・データ 情報処理システム、及び情報処理方法
CN103636160B (zh) 2011-03-07 2016-11-23 安全第一公司 安全文件共享方法与系统
US8379857B1 (en) 2011-03-30 2013-02-19 Google Inc. Secure key distribution for private communication in an unsecured communication channel
US8789210B2 (en) 2011-05-04 2014-07-22 International Business Machines Corporation Key usage policies for cryptographic keys
US9076020B2 (en) 2011-05-13 2015-07-07 Microsoft Technology Licensing, Llc Protected mode for mobile communication and other devices
US8544070B2 (en) 2011-05-16 2013-09-24 Novell, Inc. Techniques for non repudiation of storage in cloud or shared storage environments
US9690941B2 (en) 2011-05-17 2017-06-27 Microsoft Technology Licensing, Llc Policy bound key creation and re-wrap service
US9049023B2 (en) 2011-05-24 2015-06-02 Zeutro Llc Outsourcing the decryption of functional encryption ciphertexts
US9106633B2 (en) 2011-05-26 2015-08-11 First Data Corporation Systems and methods for authenticating mobile device communications
KR20120134509A (ko) 2011-06-02 2012-12-12 삼성전자주식회사 어플리케이션 개발 시스템에서 디바이스용 어플리케이션을 생성 및 설치하기 위한 장치 및 방법
US8516244B2 (en) 2011-06-10 2013-08-20 Zeutro Llc System, apparatus and method for decentralizing attribute-based encryption information
US20120323990A1 (en) 2011-06-15 2012-12-20 Microsoft Corporation Efficient state reconciliation
US20120323786A1 (en) 2011-06-16 2012-12-20 OneID Inc. Method and system for delayed authorization of online transactions
US8891772B2 (en) 2011-06-17 2014-11-18 Microsoft Corporation Cloud key escrow system
US8751807B2 (en) 2011-06-23 2014-06-10 Azuki Systems Inc. Method and system for secure over-the-top live video delivery
US9009315B2 (en) 2011-07-28 2015-04-14 Telefonaktiebolaget L M Ericsson (Publ) Hierarchical delegation and reservation of lookup keys
US8798273B2 (en) 2011-08-19 2014-08-05 International Business Machines Corporation Extending credential type to group Key Management Interoperability Protocol (KMIP) clients
US8788843B2 (en) 2011-10-28 2014-07-22 LogMeln, Inc. Storing user data in a service provider cloud without exposing user-specific secrets to the service provider
US8774403B2 (en) 2011-12-08 2014-07-08 Dark Matter Labs, Inc. Key creation and rotation for data encryption
US8639951B2 (en) 2011-12-19 2014-01-28 International Business Machines Corporation States for breakout appliance in a mobile data network
US8954758B2 (en) 2011-12-20 2015-02-10 Nicolas LEOUTSARAKOS Password-less security and protection of online digital assets
WO2013093209A1 (en) 2011-12-21 2013-06-27 Ssh Communications Security Oyj Automated access, key, certificate, and credential management
US9449183B2 (en) 2012-01-28 2016-09-20 Jianqing Wu Secure file drawer and safe
CN104169935B (zh) * 2012-03-28 2017-10-31 索尼公司 信息处理装置、信息处理系统、信息处理方法
US8964990B1 (en) 2012-05-17 2015-02-24 Amazon Technologies, Inc. Automating key rotation in a distributed system
US9237446B2 (en) 2012-05-24 2016-01-12 Blackberry Limited System and method for controlling access to media content
US20140012750A1 (en) 2012-07-09 2014-01-09 Jvl Ventures, Llc Systems, methods, and computer program products for integrating third party services with a mobile wallet
US9400890B2 (en) 2012-08-10 2016-07-26 Qualcomm Incorporated Method and devices for selective RAM scrambling
WO2014070134A2 (en) 2012-10-29 2014-05-08 Empire Technology Development Llc Quorum-based virtual machine security
US9137222B2 (en) 2012-10-31 2015-09-15 Vmware, Inc. Crypto proxy for cloud storage services
US8713311B1 (en) 2012-11-07 2014-04-29 Google Inc. Encryption using alternate authentication key
US8997197B2 (en) 2012-12-12 2015-03-31 Citrix Systems, Inc. Encryption-based data access management
US9367697B1 (en) 2013-02-12 2016-06-14 Amazon Technologies, Inc. Data security with a security module
US9705674B2 (en) 2013-02-12 2017-07-11 Amazon Technologies, Inc. Federated key management

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215240A (ja) * 1999-01-22 2000-08-04 Mitsubishi Electric Corp 情報仲介システム
US8091125B1 (en) * 2002-01-14 2012-01-03 Fs Networks, Inc. Method and system for performing asynchronous cryptographic operations
JP2005533438A (ja) * 2002-07-12 2005-11-04 イングリアン ネットワークス インコーポレーテッド ネットワークに付随する暗号化
JP2007081482A (ja) * 2005-09-09 2007-03-29 Canon Inc 端末認証方法及びその装置、プログラム
CN102318263A (zh) * 2009-02-16 2012-01-11 微软公司 受信云计算和服务框架
US8607358B1 (en) * 2010-05-18 2013-12-10 Google Inc. Storing encrypted objects
US20120290850A1 (en) * 2011-05-12 2012-11-15 Hewlett-Packard Development Company Lp Data management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111279663A (zh) * 2017-11-01 2020-06-12 国际商业机器公司 在具有硬件安全模块的密钥管理系统中推迟熵耗尽
CN111279663B (zh) * 2017-11-01 2022-06-07 国际商业机器公司 在具有硬件安全模块的密钥管理系统中推迟熵耗尽
CN113841144A (zh) * 2019-06-05 2021-12-24 万事达卡国际公司 分布式计算系统中的凭证管理

Also Published As

Publication number Publication date
KR20170095404A (ko) 2017-08-22
SG10201709421SA (en) 2018-01-30
BR112015019378A2 (pt) 2017-07-18
JP6606156B2 (ja) 2019-11-13
BR112015019378B1 (pt) 2022-05-03
CA3173681A1 (en) 2014-08-21
JP2016508643A (ja) 2016-03-22
US10404670B2 (en) 2019-09-03
EP2956852B1 (en) 2019-09-04
CA2898995C (en) 2022-12-20
KR102055116B1 (ko) 2020-01-22
KR101769282B1 (ko) 2017-08-18
EP2956852A4 (en) 2016-09-21
CA2898995A1 (en) 2014-08-21
EP3585032B1 (en) 2024-04-03
SG11201505742PA (en) 2015-08-28
US20170134348A1 (en) 2017-05-11
CN111147255A (zh) 2020-05-12
JP2018049650A (ja) 2018-03-29
US20140229729A1 (en) 2014-08-14
WO2014126813A1 (en) 2014-08-21
US9590959B2 (en) 2017-03-07
JP6290932B2 (ja) 2018-03-07
KR20150119112A (ko) 2015-10-23
CN105103119B (zh) 2020-01-17
AU2017204853A1 (en) 2017-08-03
JP2020009500A (ja) 2020-01-16
AU2014216607B2 (en) 2017-04-13
AU2014216607A1 (en) 2015-08-06
EP3585032A1 (en) 2019-12-25
CN111147255B (zh) 2023-08-18
JP6941146B2 (ja) 2021-09-29
AU2017204853B2 (en) 2019-05-30
EP2956852A1 (en) 2015-12-23
SG10202108884YA (en) 2021-09-29

Similar Documents

Publication Publication Date Title
CN105103119A (zh) 数据安全服务系统
US11470054B2 (en) Key rotation techniques
JP6329970B2 (ja) 関連データを有するポリシー施行
CN105122265A (zh) 数据安全服务系统
CN105027130A (zh) 延迟数据访问
JP2018067941A (ja) フェデレーテッドキー管理
CN105378649A (zh) 多权限数据安全和访问
US9300639B1 (en) Device coordination
JP2012518329A (ja) 信頼済みクラウドコンピューティングおよびサービスに関するフレームワーク
JP5494171B2 (ja) ファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラム

Legal Events

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