CN108696520B - 多权限数据安全和访问 - Google Patents

多权限数据安全和访问 Download PDF

Info

Publication number
CN108696520B
CN108696520B CN201810448049.1A CN201810448049A CN108696520B CN 108696520 B CN108696520 B CN 108696520B CN 201810448049 A CN201810448049 A CN 201810448049A CN 108696520 B CN108696520 B CN 108696520B
Authority
CN
China
Prior art keywords
key
data
encrypted
customer
request
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
CN201810448049.1A
Other languages
English (en)
Other versions
CN108696520A (zh
Inventor
G·B·罗斯
M·J·雷恩
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 CN108696520A publication Critical patent/CN108696520A/zh
Application granted granted Critical
Publication of CN108696520B publication Critical patent/CN108696520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • 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/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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

Abstract

加密数据使得解密所述数据需要多个密钥。所述密钥是不同实体可访问的,使得无单个实体可访问所有所述密钥。至少一个密钥是由服务提供方管理的。所述服务提供方的顾客计算机系统可被配置有可执行指令,所述指令指导具有所述密钥的访问权限的各个实体之间的通信的协调。因此,与密钥相关联的安全危害其本身不会使得所述数据可解密。

Description

多权限数据安全和访问
本申请是申请日为2014年6月16日、申请号为“201480035028.7”、发明名称为“多权限数据安全和访问”的发明专利申请的分案申请。
相关申请的交叉引用
本申请案要求2013年6月20日提交的共同未决的美国专利申请号13/922,875的优先权,所述申请的全部内容以引用的方式并入本文。
技术背景
在许多语境中,计算资源和相关数据的安全性非常重要。作为实例,组织通常利用计算装置的网络来向它们的用户提供一组稳健的服务。网络通常跨多个地理边界并通常与其他网络连接。例如,组织可支持其使用计算资源的内部网络和由其他人管理的计算资源两者进行的操作。例如,组织的计算机可在使用另一个组织的服务的同时与其他组织的计算机通信以访问和/或提供数据。在许多情况下,组织使用由其他组织管理的硬件来配置并操作远程网络,从而降低基础设施成本并实现其他优点。在具有此类计算资源配置的情况下,确保对它们所持有的资源和数据的访问安全可能具有挑战性,尤其是随着此类配置的大小和复杂性的增长。
在许多实例中,各个实体发现利用由他人提供的计算资源服务是有利的。这常常涉及将数据转移至由第三方控制的计算资源和将数据存储在由第三方控制的计算资源中。尽管此类第三方已采取极大的努力来运营已强调数据安全的环境,但是可存在信任的缺失,不论合理或不合理,其都可阻碍由第三方运营的服务的使用。此外,利用第三方的服务的组织可能希望加强它们自己的数据安全,使得例如在可导致的损害的量的方面限制不良雇员或具有数据访问权限的其他人。当在组织的操作期间将数据在各个实体之间移动时,确保数据的安全性通常是困难的、复杂的并且消耗显著量的资源。
附图简述
将参照附图描述根据本公开的各个实施方案,在附图中:
图1示出示出本公开的各个方面的图;
图2示出可实现各个实施方案的示例性环境;
图3示出根据至少一个实施方案的可被用于实现加密服务的环境的示例性实例;
图4示出示出本公开的各个方面的图的示例性实例;
图5示出根据至少一个实施方案的安全地存储数据的方法的示例性实例;
图6示出根据至少一个实施方案的安全地存储数据的方法的示例性实例;
图7示出根据至少一个实施方案的安全地存储数据的方法的示例性实例;
图8示出根据至少一个实施方案的安全地存储数据的方法的示例性实例;
图9示出根据至少一个实施方案的用于存储数据的过程的示例性实例;
图10示出根据至少一个实施方案的用于访问数据的过程的示例性实例;并且
图11示出可实现各个实施方案的环境。
详述
在以下描述中,将描述各个实施方案。出于解释的目的,将阐述具体的配置和细节,以便提供实施方案的透彻理解。然而,对本领域的技术人员将是显而易见的是,没有具体细节的情况下也可以实行实施方案。此外,为了不使所描述的实施方案变得模糊,可能会省略或简化众所周知的特征。
本文所描述和提出的技术涉及以确保无单个实体能够在无授权的情况下访问数据的方式加密数据。在一些实施方案中,用于加密的过程涉及多个实体和多个密码密钥,也更通常被称作“密钥”的使用。所用的密钥可对于一个所涉及的实体可用,但对于另一个不可用,并且数据的经授权的解密可需要所有密钥(例如,不必获得没有授权的一个或多个密钥的数据的解密)。在这种方式中,如果密钥被盗用(例如,如果未经授权的实体获得密钥的访问权),那么在没有获得可能由其他实体存储的一个或多个额外密钥情况下所述密钥不可被用于解密数据。
在一些实施方案中,计算资源提供方的顾客具有计算资源提供方无访问权限的顾客密钥的访问权限。相似地,计算资源服务提供方具有顾客无访问权限的托管密钥访问权限。然而,顾客可向计算资源服务提供方提交请求以致使计算资源提供方使用托管密钥执行密码操作。所述请求可通过与托管密钥相关联的标识符指定托管密钥。托管密钥可为顾客唯一地托管,同时确保顾客(以及其他实体)不具有访问托管密钥的权限。在各个实施方案中,数据是加密的,使得需要顾客密钥和托管密钥二者以解密数据。在一些实施方案中,在加密过程中利用多个计算资源服务提供方(或,一般地,多个第三方实体),使得对于数据的授权解密来说由每一个第三方唯一持有的密钥是必要的。
在各个实施方案中,计算机可读存储介质包含可执行的指令,其当被顾客计算机系统的一个或多个处理器执行时致使计算机系统安排数据流以致使数据被使用多个密钥加密。可执行指令可由计算资源提供方提供,诸如具有用于利用由计算资源服务提供方提供的服务的各种编程模块的可下载客户端库的一部分。又如,可执行指令可以是
Figure BDA0001657713690000041
的形式或另一种解释语言和/或脚本语言。多个顾客可利用所述可执行指令来安排具有涉及加密和/或解密过程的密钥的各个实体之间的数据流,从而通过确保一个实体处的危害不足以未经授权地访问数据来加强它们的数据安全性。
如下文更详细论述,在一些实施方案中,系统包括一个或多个计算机系统,所述计算机系统包括一个或多个处理器和计算机存储器,其中所述存储器包括一旦被一个或多个处理器执行就致使系统执行各种操作的指令。所述操作可包括从客户端(诸如计算资源服务提供方的顾客的计算设备)接收请求,以使用所述请求中指定的第一密钥执行密码操作。系统可根据所述指令,响应于所述请求,发送使用由运行所述一个或多个计算机系统的服务提供方控制的至少一个密钥加密的密码密钥。所述系统可另外地根据指令接收使用密码密钥加密的数据,其中使用密码密钥加密的数据被另外使用客户端密钥加密。一旦接收到使用密码密钥加密的数据,系统可根据指令执行与加密数据相关的一个或多个操作,诸如通过将加密数据持久性地存储在一个或多个数据存储装置中。
图1是示出本公开的各个方面的图。如图1中所示,本文所描述和提出的各种技术应用至加密数据。具体地,可根据本文描述的各种技术加密数据,使得对于解密数据来说多个密钥是必要的。多个密钥可被不同实体持有,使得任何特定实体不能够用所述实体具有访问权限的任何密钥解密数据。如下文更详细论述,解密数据所需的多个密钥可以是个人密钥和/或衍生自相同密钥的密钥。
图2示出环境200的示例性实例,其中可实施本公开的各个实施方案。在环境200中,计算资源服务提供方202可向顾客204提供多种服务。顾客204可以是可利用由计算资源服务提供方202提供的多种服务以保持信息并向其雇员递送信息的组织,其可位于各种地理位置。另外,顾客204可以是可利用各种服务向远程定位的工作组递送内容的个人。如图2中所示,顾客204可通过一个或多个通信网络206诸如因特网与计算资源服务提供方202通信。从顾客204到计算资源服务提供方202的一些通信可致使计算资源服务提供方202根据本文所述的各种技术或其变型进行操作。
如上面所提到的,计算资源服务提供方202可向其顾客提供各种计算资源服务。在这个实例中,由计算资源服务提供方提供的服务包括虚拟计算机系统服务208、块级数据存储服务210、密码服务212(也被称作密钥管理服务)、按需数据存储服务214以及一个或多个其他服务216,虽然并非本公开的所有实施方案将包括所有此类服务并且除了本文明确描述的服务之外或作为其替代形式可提供另外的服务。服务中的每一个可包括一个或多个网络服务接口,其允许顾客204通过网络服务请求向各个服务提交适当配置的API调用。此外,服务中的每一个可包括一个或多个服务接口,其允许服务彼此访问(例如,允许虚拟西算计系统服务208的虚拟计算机系统将数据存储进按需数据存储服务或从按需数据存储服务中检索数据和/或访问由块数据存储服务提供的一个或多个块级数据存储设备)。
虚拟计算机系统服务208可以是被配置来为计算资源服务提供方202的顾客204将虚拟机实例实例化到虚拟计算系统上的计算资源的集合。计算资源服务提供方202的顾客204可与虚拟算计系统的服务进行交互(通过适当配置的并且经认证的API调用)以准备并运行在由计算资源服务提供方202托管并运行的物理计算设备上实例化的虚拟计算机系统。虚拟计算机系统可被用于各种目的,诸如用作支持网站的服务器、运行商业应用程序或大体上充当顾客的计算能力。用于虚拟计算机系统的其他应用程序可用于支持数据库应用程序、电子商务应用程序、商业应用程序和/或其他应用程序。
块级数据存储服务210可包括计算资源的集合,其集体地运行以使用块级存储设备(和/或其虚拟化)为顾客204存储数据。块级数据存储服务210的块级存储设备可例如被可操作地连接到由虚拟计算机系统服务208提供的虚拟计算机系统,作为计算机系统的逻辑单元(例如,虚拟驱动)。块级存储设备可允许对应的虚拟计算机系统使用/生成的数据的持久性存储,其中虚拟计算机系统服务208可仅提供短暂的数据存储。
如图2中所示,计算资源服务提供方202可运行密码服务,所述密码服务结合图3在下文中更详细地描述。一般来讲,密码服务可以是集体地配置来为计算资源服务提供方的顾客管理并使用密码密钥的计算资源的集合。由密码服务212所使用的密钥可具有在提交请求以执行密码操作(诸如加密、解密和信息签名)和/或其他操作诸如密钥轮替时顾客可参考的相关联的标识符。密码服务可安全地维持密码密钥以避免被未经授权的各方访问。
计算资源服务提供方202可还包括按需数据存储服务。按需数据存储服务214可以是被配置来同步地处理请求以存储和/或访问数据的计算资源的集合。按需数据存储服务208可使用允许按需数据存储服务208迅速地定位并且检索数据以便允许响应于对数据的请求提供数据的计算资源(例如,数据库)来运行。例如,按需数据存储服务可以使得在检索到对数据对象的请求时可响应于所述请求提供数据对象(或可发起数据对象流)的方式维持所存储的数据。正如所提到的,存储在按需数据存储服务214中的数据可被组织成数据对象。数据对象可具有任意的尺寸,除非也许尺寸的某些限制。因此,按需数据存储服务214可存储变化的尺寸的多个数据对象。按需数据存储服务214可作为密钥值存储器运行,其将数据对象与数据对象的标识符相关联,所述标识符可被顾客204用于检索或执行与由按需数据存储服务210储存的数据对象相关的其他操作。按需数据存储服务214可还为可被密码服务212访问的。例如,在一些实施方案中,密码服务利用按需数据存储服务来以加密形式存储顾客的密钥,其中可用于解密顾客密钥的密钥仅密码服务212的特定设备可访问。顾客、另一个服务或其他实体对数据存储服务的访问可通过适当配置的API调用进行。
计算资源服务提供方202可根据其顾客204的需要另外维持一个或多个其他服务216。例如,计算资源服务提供方202可为其顾客204维持数据库服务。数据库服务可以是为一个或多个顾客204集体地操作来运行一个或多个数据库的计算资源的集合。计算资源服务提供方202的顾客204可通过利用适当配置的API调用来操作和管理来自数据库服务的数据库。这转而可允许顾客204维持并且潜在地衡量数据库中的操作。其他服务包括但不限于对象水平档案数据存储服务、管理和/或监视其他服务的服务和/或其他服务。
如以上所论述,本公开的各个实施方案涉及提供密码服务。密码服务可由如上所述的密码服务系统来提供。图3相应地示出根据各个实施方案的密码服务300的说明性实例。如图3所示并且如以上所论述,密码服务300在逻辑上包括前端系统和后端系统。前端系统和后端系统两者都可由被配置来执行本文描述的操作的一个或多个计算机系统来实现。例如,如图3中所示,密码服务300的前端系统实现请求API306和策略配置API308。在一个实施方案中,请求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,Public Key)
Reinstate(KeyID,Private Key)
在一个实施方案中,SetKeyPolicy(KeyID,Policy)请求可用于引起密码服务存储关于由KeyID标识的密钥(或密钥族)的策略。策略可以是确定在具体语境中是否可执行所请求密码操作的信息。策略可以陈述性访问控制策略语言来编码,如可扩展访问控制标记语言(XACML)、企业隐私授权语言(EPAL)、亚马逊网络服务访问策略语言、MicrosoftSecPol或编码执行密码操作必须满足的一个或多个条件的任何合适的方式。策略可限定可执行什么操作,何时可执行操作,哪些实体可为执行操作做出授权请求,授权特定请求需要哪些信息等。另外,除了或替代以上给出的实例,策略可使用访问控制列表、与用户关联的特权和/或操作位掩码来限定和/或强制实施。以下呈现示例性策略。
在一些实施方案中,密码服务可例如使用Suspend(KeyID,Public Key)API调用来支持暂停操作。暂停操作允许密码服务的客户拒绝密码服务的操作者使用或访问密钥。这对关心隐蔽合法命令或其中密码服务的操作者可被强迫使用密钥执行一些操作的其他情况的客户可能有用。它也对希望锁定特定数据并使其在线不可访问的客户可能有用。在一些实施方案中,暂停操作可能包括:从客户接收公共密钥并利用所接收公共密钥对由给定KeyID指定的密钥进行加密、并销毁由KeyID指定的密钥,使得提供者不能访问已暂停密钥,除非例如使用既指定KeyID又包括私人密钥的Reinstate(KeyID,Private Key)API调用提供与公共密钥关联的私人密钥。在一些其他实施方案中,暂停操作可能包括:使用由密码服务管理的另一个密钥对与指定KeyID关联的密钥进行加密,所述另一个密钥包括但不限于为了立即暂停操作的目的而创建的一个密钥。可向客户提供通过这个操作产生的密文,而不是将密文保留在密码服务内。随后可销毁由KeyID标识的原始密钥。密码服务可以可操作来接收所提供密文并再导入已暂停密钥。在一些实施方案中,密文可以将防止密码服务向客户返回已解密版本的方式生成。
如图3中所示,密码服务300包括后端系统,在一些实施方案中,后端系统302自身包括各种组件。例如,在此实例中,后端系统包括请求处理系统(也被称作请求处理单元或请求处理组件)304,所述请求处理系统可以是密码服务系统300被配置来根据通过请求API306或策略配置API308接收的请求执行操作的子系统。例如,请求处理组件可接收通过请求API和策略配置API接收的请求,确定此类请求是否可信并且因此确定是否可完成,并且可完成请求。完成请求可包括:例如,执行和/或已经执行密码操作。请求处理单元可被配置来与认证接口310交互,所述认证接口310允许请求处理单元确定请求是否可信。认证接口可被配置来与认证系统进行交互,所述认证系统可以是被计算资源服务提供方的多个服务所利用的认证系统。例如,当由请求处理单元接收到请求时,请求处理单元可利用认证接口与认证服务系统交互,如果适用,认证服务系统可提供可使用以引起执行密码操作的认证证明。请求处理系统304可还被配置有允许与计算资源服务提供方的其他服务进行交互的接口。例如,在顾客密钥以加密形式存储在数据存储服务中的实施方案中,请求处理系统304可向数据存储服务提交API调用以在需要时获得顾客密钥。密码服务可还以加密形式将顾客密钥存储在本地数据存储系统中或以加密或不加密形式存储在一个或多个安全模块312中,下文讨论。
在此说明性实例中,密码服务系统300的后端系统包括多个安全模块312(密码模块)、策略强制实施模块314和协调器模块316。协调器模块可以是被配置来协调安全模块312的系统。例如,在一些实施方案中,协调器模块被配置来确保被识别为密码域的构件(也被简称为“域”)的安全模块312根据域的一致的运行参数运行。作为一个实例,每一个安全模块都可具有域的域密钥的访问权限。顾客密钥可在域密钥下被加密并且外部地存储至安全模块(例如,存储在后端系统中和/或使用数据存储服务),从而允许安全模块312运行而无需存储安全模块可使用的所有顾客密钥。简而言之,当顾客请求使用通过KeyID识别的密钥执行密码操作时,由KeyID所识别的加密的顾客密钥可被提供至安全模块,其可使用域密钥来解密顾客密钥并且使用解密的顾客密钥来执行所请求的使用解密顾客密钥的操作。
又如,协调器模块316可被配置来确保安全模块312在接收(例如,重新配置)到一组更新的操作参数之前每一个执行一组共同的规则。例如,每一个安全模块可执行限定足以授权操作参数的某些改变,诸如域密钥的改变(例如,轮换域密钥)、包含所述域的所述组安全模块的构件的改变、域的一组操作员(例如,被授权以参与引起将对所述域作出的改变的那些)的改变等等,的一组或多组操作员的群体规则。
在图3中所示的实施方案中,尽管安全模块中的一个或多个可为硬件安全模块,但在各个实施方案中,安全模块可为被配置为具有本文所述能力的任何合适的计算机装置。在一个实施方案中,每一个安全模块都是加密的,存储与KeyID相关联的多个密钥和/或在其下外部地存储的密钥与KeyID相关联的存储密钥。每一个安全模块可被配置来安全地存储密钥,以便不被密码服务300的其他组件和/或其他系统的其他组件访问。例如,在其中安全模块如上所述存储域密钥的一些实施方案中,仅域的安全模块可存储对应的域密钥。所有其他实体可无域密钥的访问权限。
在各种实施方案中,安全模块中的一些或全部遵从至少一种安全标准。例如,在一些实施方案中,安全模块各自被验证为遵从联邦信息处理标准(FIPS),其概括于FIPS出版物140-1和/或140-2中,如FIPS出版物140-2中所概括的一个或多个安全等级。此外,在一些实施方案中,每个安全模块都在密码模块验证程序(CMVP)下被证实。正如所提到的,安全模块可实现为硬件安全模块(HSM)或具有HSM的一些或所有能力的另一种安全模块。在一些实施方案中,已验证模块用于引导操作。在一些实施方案中,客户可配置存储在已验证模块中并仅由已验证模块对其进行操作的一些密钥以及由软件对其进行操作的其他密钥。在一些实施方案中,与这些不同选项关联的性能或成本可能不同。
安全模块可被配置来根据请求处理单元304所提供的指令来执行密码操作。例如,请求处理单元可向适当的安全模块提供密文和KeyID,并向安全模块提供使用与KeyID关联的密钥对密文进行解密并且作为响应提供明文的指令。在顾客密钥被外部地存储至安全模块的实施方案中,请求处理单元304可访问通过KeyID识别的密钥的加密版本(例如,从本地存储系统或外部密码服务)并且将密钥的加密版本提供至安全模块,所述安全模块可继而解密密钥并且继而使用密钥。
在一个实施方案中,密码服务系统300的后端系统安全地存储形成密钥空间的多个密钥。安全模块中的每一个可将所有密钥存储在密钥空间中;然而,变体被认为是在本公开的范围内。例如,安全模块中的每一个可存储密钥空间的子空间。由安全模块存储的密钥空间的子空间可重叠,使得密钥可冗余地存储在整个安全模块中。在一些实施方案中,特定密钥可仅存储在指定地理区域中。在一些实施方案中,某些密钥可仅由具有特定证书或许可等级的操作者访问。在一些实施方案中,某些密钥可存储在由特定第三方提供者操作的模块中并且仅由所述模块使用,特定第三方提供者与数据存储服务系统的提供者有合约。在一些实施方案中,安全模块的构造控制可能要求试图迫使使用密钥而非由客户授权的合法命令涉及正被强迫的另外实体或强迫动作的另外管辖范围。在一些实施方案中,可向客户提供对他们的密文和他们的密钥都存储在其中的管辖范围的独立选择权。在一些实施方案中,存储密钥的安全模块可被配置来向密钥的所有者提供审计信息,并且安全模块可被配置成使得审计信息的生成和提供不受客户抑制。在一些实施方案中,安全模块可被配置来独立验证由客户生成的签名,使得提供者(例如,托管安全模块)不能在由安全模块存储的密钥下执行操作。此外,一些安全模型可存储密钥空间的全部并且一些安全模块可存储密钥空间的子空间。其他变体也被视为是在本公开的范围内。在不同安全模块存储密钥空间的不同子空间的情况下,请求处理单元可被配置为如具有关系表或其他机构,关系表或其他机构用以根据各种请求确定哪个安全模块来命令执行密码操作。
在一个实施方案中,策略强制实施模块314被配置来获取来自请求处理单元的信息,并且至少部分地基于所述信息来确定是否可执行通过API接收的请求。例如,当通过请求API接收执行密码操作的请求时,请求处理单元可与策略强制实施模块交互,以根据任何适用策略、如适用于请求中指定的KeyID的策略和/或其他策略、如与请求者关联的策略来确定请求的完成是否被授权。如果策略强制实施模块允许完成请求,请求处理单元可相应地根据完成请求来命令适当的安全模块执行密码操作。
与本文描述的所有附图一样,众多变体被认为是在本公开的范围内。例如,图3示出与安全模块分开的策略强制实施模块。然而,除了或替代被示出为分开的策略强制实施模块,每个安全模块可包括策略强制实施模块。因此,每个安全模块可独立地被配置来强制实施策略。此外,作为另一个实例,每个安全模块可包括所强制实施的策略不同于分开的策略强制实施模块所强制实施的策略的策略强制实施模块。众多其他变体被视为是在本公开的范围内。
如图3中所示,密码服务300可包括记录模块318。记录模块可以是被配置来执行与追踪密码服务的各种操作相关的各种活动的系统。例如,提交至请求API306的请求可由记录模块318记录与其他数据相联系,诸如对于每一个请求,代表谁据称提交请求的顾客的标识符、与传送请求的顾客(例如,雇员或承包人)相关联的身份、请求的类型(例如,使用了几种服务API调用类型中的哪种)、请求是否被核准、请求是否被满足、请求未被核准的任何原因(如果可适用)、满足请求所使用的密钥的标识符等等。记录模块可还被配置来维持用于由KeyID识别的密钥的计数器。当信息被记录模块接收指示一个或多个操作已用密钥执行时,记录模块可因此为密钥更新计数器。计数器可为致使密码密钥消耗的类型的操作而更新。例如,加密操作可致使计数器增加,反之解密操作可不增加。应注意,在一些实施方案中,计数器不由记录模块维持,但计数器将被来自记录模块的访问记录所更新并且计算已被执行的操作的数量。
图4示出示出本公开的各个方面的图。如图4中所示,服务提供方402为服务提供方的顾客404提供各种服务。如图4中所示,服务提供方402具有管理密钥406的访问权限,顾客404不具有所述管理密钥406的访问权限。相似地,顾客404具有顾客密钥408的访问权限,服务提供方402不具有所述顾客密钥408的访问权限。所述密钥,并且一般来讲本文所述的所有密钥,可以是被配置成可用一个或多个密码加密法使用的数据。数据可在顾客404和与顾客404的由服务提供方402提供的服务的使用相关联的服务提供方402之间传输。在服务提供方402和顾客404之间交换的数据可使用密钥加密,发送者具有所述密钥的访问权限但接收者没有。例如,如图4中所示,数据410由服务提供方402在管理密钥406下加密并且以加密的形式传输至顾客404。相似地,如下文所详述的可与数据410相关的数据412被使用顾客密钥408加密并且以加密形式传输至服务提供方402。这样,顾客404不能够解密数据410,因为没有管理密钥406的访问权限。相似地,服务提供方402不能够解密在顾客密钥408下加密的数据412,因为服务提供方没有顾客密钥408的访问权限。
如图4中所示,环境400包括顾客网络和提供方网络之间的访问屏障。访问屏障可以是顾客网络和提供方网络之间的逻辑和/或物理屏障,一个网络中的数据不能被另一个网络中的设备自由地访问。例如,顾客网络和提供方网络可被公共通信网络分隔。顾客网络和提供方网络可各自采用一个或多个防火墙、策略管理系统、访问控制机构和/或其他访问控制机构来限制访问。应注意,访问屏障无需限制顾客404和提供方402之间的所有数据访问,但可自由地允许一些访问而限制其他访问。例如,服务提供方可利用公共地可访问的网络服务接口。然而,服务提供方402可配置提供方网络使得顾客404不能访问管理密钥406。相似地,顾客404可配置顾客网络使得服务提供方402不能访问顾客密钥408。应注意,顾客网络和提供方网络无需为完全独立的网络。例如,顾客网络中的一些或全部可被托管在提供方网络的计算资源上。例如,网络中的一些或全部可被实现为由服务提供方402托管的物理计算系统的覆盖网络。顾客网络可包括由服务提供方402的硬件资源实现的一个或多个虚拟计算机系统作为虚拟计算机系统服务的一部分。其他变体也被视为是在本公开的范围内。
图5示出示出本公开的实施方案的图。图5中的图示出包括顾客网络502和提供方网络504的环境,其中顾客和提供方可如上所述。顾客网络可由顾客506管理(本地地和/或远程地),所述顾客506,尽管以人的形式示出,可以是组织。提供方可以是向顾客506提供服务的服务提供方并且在一些实施方案中提供方是计算资源服务提供方。如上面所讨论的,顾客网络502和提供方网络504被访问屏障分隔。如所讨论的,访问屏障可包括顾客网络502和提供方网络504之间的一个或多个物理和/或逻辑屏障。如下面更详细地讨论的,顾客506可传输数据至服务提供方和从服务提供方接收数据。顾客506,并且一般来讲本文所述的顾客,可根据包含在计算机可读存储介质中的计算机可读指令传输此类数据,所述指令可被顾客506的计算机系统执行。
顾客506的计算机系统可以是计算设备,诸如下面所枚举的计算设备中的任一种。在一些实施方案中,顾客的计算机系统是移动设备(例如,移动电话和/或平板计算设备)。移动设备可被配置来存储密钥(例如,顾客密钥),以在多个移动设备或与用户相关联的设备(例如,用户的移动电话、个人计算机和平板计算设备)上同步密钥。同步可通过一个或多个企业同步产品来执行。同步可利用一个或多个通信方法诸如
Figure BDA0001657713690000171
近场通信(NFC)或另一种本地通信方法。此外,去向/来自客户506的计算机系统的各种通信可通过浏览器或在客户计算机系统上执行的其他应用程序来协调。浏览器和/或其他应用程序可按照从计算资源服务提供方的服务器提供至顾客的可执行指令协调与密码服务和数据存储服务的通信。例如,计算资源服务提供方可以动态内容的形式提供执行代码,诸如
Figure BDA0001657713690000172
或另一种脚本语言。
如图5中所示,具有顾客密钥缩写为CK的顾客506向密码服务508提交请求以获得数据密钥,缩写为DK。密码服务508可验证请求,并且如果可信,提供包含数据密钥的响应,并且所述数据密钥在管理密钥({DK}MK)下加密,其中所述管理密钥可以是由密码服务508为顾客管理的密钥,诸如上面所述的。应注意,记号{A}B指示数据A在密钥B下被加密。换句话讲,{A}B指示至少部分地基于使用输入B的密码加密法的应用程序所获得的数据。应理解,{A}B并非必须是,但可以是,加密法的直接输出,但可以是非直接输出。例如,使用密钥B的对A的机密算法的应用程序的输出可被输入进另一个加密法,可能使用另一个密钥。如图5中所示,管理密钥被缩写为MK。
在从密码服务508接收到所述数据密钥和在管理密钥下加密的数据密钥时,顾客506可使用所述数据密钥来加密数据并且可使用其自身的顾客密钥来加密已在管理密钥下经加密的数据密钥。此外,在使用数据密钥加密数据之后,顾客506可电子地放弃数据密钥,诸如通过允许存储数据密钥的存储器被覆盖。一般来讲,可以顾客失去对数据密钥的即时访问权限的任何合适的方式来放弃数据密钥(即,顾客必须执行和/或已执行一个或多个密码操作来以明文方式访问数据密钥)。这样,数据密钥变得可访问仅具有对管理密钥和顾客密钥二者的访问权限,其可需要多个实体的集体行动,其中的每一个不具有对二者密钥的访问权限,诸如下面所描述的。
顾客继而可致使数据在数据密钥下加密并且数据密钥在管理密钥和待存留的顾客密钥下加密。例如,如图5中所示,顾客将在数据密钥下加密的数据和在管理密钥和顾客密钥二者下加密的数据密钥(例如,{{DK}MK}CK)传输至由服务提供方运营的数据存储服务510。在数据密钥下加密的数据,{数据}DK,和在管理密钥和顾客密钥二者下加密的数据密钥,{{DK}MK}CK,可以其他方式存留。例如,{数据}DK和{{DK}MK}CK可被顾客本地地存储在顾客网络502中的设备中,或使用不同服务提供方的数据存储服务,其未示出。可例如通过合并和存储为单个数据对象来彼此相关联地存储{数据}DK和{{DK}MK}CK(例如,使用分隔{数据}DK和{{DK}MK}CK的分隔符以允许将{数据}DK区别于{{DK}MK}CK)。或者,{数据}DK和{{DK}MK}CK可各自被存储为彼此相关联的独立的数据对象,其中所述关联可由存储在一者或二者数据对象中的数据库和/或数据(例如,标引信息)维持。此外,{数据}DK和{{DK}MK}CK无需被存储在相同位置。例如,顾客可本地地存储{{DK}MK}CK但使用数据存储五福510或另一个数据存储服务来存储{数据}DK。其他变体也被视为是在本公开的范围内。
图6示出演示根据本公开的另一个实施方案的示例性图。在图6中所示的图中,环境包括顾客网络602、第一提供方网络604和第二提供方网络606。顾客网络602和第一提供方网络604可以是诸如以上结合图5所述的顾客网络502和提供方网络504的网络。第二提供方网络606可以是诸如以上所述的网络,但由与第一提供方网络604的服务提供方不同的实体所运营。此外,第一提供方网络604和第二提供方网络606可不同地运营,诸如通过不同地支持格式化的API调用和/或通过不同地处理请求。如图6中所示,顾客网络602、第一提供方网络604和第二提供方网络606被访问屏障分隔,诸如上面所述。
如图6中所示,顾客608向第一提供方密码服务610提交数据密钥的请求。可诸如上面结合图5所描述的提交所述请求,例如作为适当地配置的网络服务API调用。类似于上面结合图5所描述的,第一服务方密码服务610可具有由第一服务提供方代表顾客管理的管理密钥的访问权限。在图6中,由第一服务提供方管理的管理密钥缩写为MK1并且结合图6还被称为“第一管理密钥”。响应于对数据密钥的请求,第一提供方密码服务610可向请求提供包括数据密钥和在第一管理密钥下加密的所述数据密钥,即DK和{DK}MK1
如上面结合图5所述的,顾客可使用数据密钥来加密使用接收自第一服务提供方的数据密钥的数据。顾客608可继而向第二提供方密码服务612提交请求以使用第二管理密钥加密在数据密钥下经加密的数据({数据}),图中缩写为MK2。第二提供方密码服务612可向所述请求提供相应以加密在数据密钥下经加密的数据,{数据}DK。具体地,第二提供方密码服务612可使用第二管理密钥MK2加密{数据}DK,并且响应于来自顾客608的请求提供在在第二管理密钥下加密的数据密钥下加密的数据,{{数据}DK}MK。顾客608可继而向第一服务提供方的数据存储服务614提交请求,以储存在数据密钥和第二管理密钥二者下加密的数据和在第一管理密钥下加密的数据密钥,即存储{{数据}DK}MK2和{DK}MK1的请求。如图5和本文所示的其他过程一样,可提交多个请求,诸如存储{{数据}DK}MK2的第一请求和存储{DK}MK1的第二请求。
这样,访问数据的权限需要使用第一管理密钥MK1以访问数据密钥DK和访问第二管理密钥MK2的权限以访问数据二者。
与本文描述的其他实施方案一样,另外的变体被认为是在本公开的范围内。例如,作为图6中所示的实施方案的替代方案,顾客608可请求第二提供方密码服务612不加密在数据密钥下经加密的数据,而加密在第一管理密钥下经加密的数据密钥。第二提供方密码服务可相应地提供响应,即响应可包括{{DK}MK1}MK2。其他变型,诸如在何处为顾客加密数据,存留在诸如在第二提供方密码服务的数据存储服务中的顾客608的本地数据存储器中和/或在其他位置中。
图7示出示出本公开的另一个实施方案的图。如图所示,所述图示出包括顾客网络702和提供方网络704的环境,所述网络可以是诸如上面所描述的网络并且可被诸如上面所描述的访问屏障分隔。如图7中所示,顾客706具有顾客密钥缩写为CK的访问权限。不同于上面结合图5所示的实施方案,在图7中,运营提供方网络704的服务提供方从不具有用于加密数据的数据密钥缩写为DK的访问权限。在图7中所示的实施方案中,顾客706具有数据密钥的访问权限,诸如通过生成数据密钥本身或从另一个实体,诸如未示出的另一个服务提供方,接收数据密钥。
在所示的实施方案中,顾客706向运营提供方网络704的服务提供方的密码服务708提交请求。如上,所述请求可以是适当配置的API调用,以加密在顾客密钥下经加密的数据密钥。例如,顾客可已使用顾客密钥来加密数据密钥,并且在请求中将在顾客密钥下经加密的数据密钥提供给密码服务708。密码服务708可通过使用对应于诸如上面所述的顾客706的管理密钥加密所述在顾客密钥下经加密的数据密钥来响应于所述请求。因此,所述响应和包括在顾客密钥和管理密钥二者下经加密的数据密钥,例如{{DK}CK}MK。顾客可继而存留在数据密钥下加密的数据和在顾客密钥和管理密钥二者下加密的数据密钥。这样,顾客密钥和管理密钥二者对于访问数据密钥以便解密数据来说是必须的。顾客可例如致使在数据密钥下加密的数据和在顾客密钥和管理密钥二者下加密的数据密钥被使用运营提供方网络704的服务提供方的数据存储服务存储或存储在另一个位置,诸如上文所描述的。
在一些实施方案中,数据密钥形成自使用可被不同实体访问的不同密钥独立加密的组件,以便获得类似结果。图8相应地示出本公开的实施方案的示例性实例。图8具体地示出示出诸如上文所述的包括顾客网络802和提供方网络804的环境的图。相似地,诸如上文所述,顾客网络802和提供方网络804可被访问屏障分隔。如图中所示,数据密钥缩写为DK形成自多个组件。在这个实例中,组件被缩写为DK1和DK2,并且数据密钥可大体上被视作DK1和DK2的函数。例如,在一些实施方案中,DK1和DK2以指定的顺序串联在一起以形成数据密钥DK。然而,使用DK1和DK2作为输入的任何函数都可被用来生成DK。另外,应注意,DK1和DK2可衍生自DK或反之亦然。例如,DK1和DK2可被获得并且继而合并,或DK可被获得并且分割或以其他方式处理以确定DK1和DK2。
在图8中所示的实施方式中,顾客具有DK和顾客密钥CK的访问权限。可以任何合适的方式获得数据密钥的访问权限,诸如通过从不同实体获得数据密钥诸如上文所述,或通过生辰数据密钥自身。另外,如图所示,顾客具有数据密钥的组件,DK1和DK2,的访问权限。在所示的实施方案中,顾客向运营提供方网络804的密码服务808提交请求。如上文所讨论的,密码服务808可具有管理密钥缩写为MK的访问权限,所述管理密钥被代表顾客806管理。密码服务808可响应于所述请求加密第二数据密钥DK2,其中所述相应包括在管理密钥下加密的第二数据密钥{DK2}MK。顾客可使用顾客密钥加密数据密钥的第一组件DK1。{数据}DK、{DK1}CK和{DK2}MK可继而被存留在诸如由运营提供方网络的服务提供方运营的数据存储服务810中或以另一种方式存放诸如上文所述。例如,顾客806可通过一个或多个适当配置的API调用致使数据存储服务810将{数据}DK,{DK1}CK和{DK2}MK彼此相关联地存储在一个或多个数据对象中。
图9示出根据各个实施方案的可被执行来安全地存储数据的过程900的示例性实例。过程900可通过任何合适的系统执行,诸如通过被配置有用于与一个或多个服务提供方通信的可执行指令的顾客的计算机系统,诸如上文所述。在一个实施方案中,过程900包括致使902数据在数据密钥下加密。数据密钥可通过系统以任何合适的方式执行过程900获得。例如,参考图5-6,可从密码服务获得数据密钥。在其他实例中,执行过程900的系统可生成数据密钥本身。此外,致使902数据在数据密钥下被加密可根据各个实施方案以各种方式执行。例如,执行过程900的系统可使用数据密钥本身加密数据。又如,执行过程900的系统可将数据传输至具有数据密钥的另一个系统,以致使其他系统使用数据密钥加密数据。一般来说,可以任何合适的方式使用数据密钥致使902数据被加密。
请求可被传输904至服务提供方以使用管理密钥执行加密操作。所述请求可识别所述管理密钥,所述管理密钥可以是由服务提供方代替系执行过程900的系统或与之相关联的顾客管理的密钥。待执行的特定的加密操作可根据各个实施方案而变化。例如,参考图5,加密操作可包括使用管理密钥加密数据密钥。相似地,参考图6,加密操作可包括使用根据过程900的特性使用的若干管理密钥中的一个加密数据密钥。参考图7,加密操作可包括加密已在另一个密钥,诸如顾客密钥或另一个管理密钥,下加密的数据密钥。参考图8,加密操作可包括使用管理密钥加密数据密钥的一个组件。虽然在图9中未示出,但过程900可还包括相同或另一个服务提供方的另外的请求,诸如图6中所示的。
在一个实施方案中,过程900还包括获得906在管理密钥和顾客密钥二者(并且可能一个或更多其他密钥)下加密的数据密钥。参考图5,例如,获得906所述在管理密钥和顾客密钥二者下加密的数据密钥可包括接收在管理密钥下机密的数据密钥,和使用顾客密钥加密所接收到的在管理密钥下加密的数据密钥。参考图7,获得906所述在管理密钥和顾客密钥二者下加密的数据密钥可包括使用顾客密钥加密数据密钥,和将所述在顾客密钥下加密的数据密钥传输至服务提供方以便另外地在管理密钥下加密(并且获得此加密的结果)。参考图8,获得906所述在管理密钥和顾客密钥二者下加密的数据密钥包括将数据密钥的一部分,不论以明文或加密形式,传输至服务提供方,用于使用管理密钥加密(并且获得此加密的结果)。
在各个实施方案中,过程900包括致使908数据被存留(即,持久性存储)致使访问数据需要多个密钥。例如,如图9中所示,过程900可包括持久性存储(例如,致使另一个系统存储):在数据密钥下加密的数据;以及在管理密钥和顾客密钥二者下加密的数据,诸如上文结合图5-8所述的。
如所提到的,本公开的各个实施方案允许安全地存储以使得只有具有多个密钥的访问权限才可访问数据的方式加密的数据。图10示出根据本文所述的各个实施方案的如何访问数据的示例性实例。如图10中所示,过程1000包括获得1002在数据密钥以及在管理密钥和顾客密钥二者下加密的数据密钥下加密的数据。在管理密钥和顾客密钥二者下加密的数据密钥可根据过程900和/或本文所述的其他技术被持久性地存储。在一个实施方案中,过程1000包括将请求传输1004至服务提供方以使用管理密钥执行解密操作。解密操作可根据各个实施方案而变化,例如参考图5-6,解密操作可包括在管理密钥下加密的数据密钥的解密。在管理密钥下加密的数据密钥可通过解密所述在在顾客密钥下加密的管理密钥下加密的数据密钥来获得。参考图7,解密操作可以是解密在在管理密钥下加密的顾客密钥下加密的数据密钥的操作。换句话说,使用图5-8的记号,解密操作可包括解密{{DK}CK}MK以获得{{DK}CK。参考图8,解密操作可包括使用管理密钥来解密数据密钥的一个组件。一般来说,解密操作的结果可被用于获得1006所述数据密钥。过程1000可包括使用已获得的,诸如通过具有数据密钥的访问权限的实体,数据密钥致使数据被解密。
与本文描述的所有过程一样,变体被认为是在本公开的范围内。例如,虽然在图10中未示出,但过程1000可包括另外的操作,诸如致使某些数据被相同的服务提供方或另一个服务提供方解密。例如,如果用于加密数据的过程包括致使第二服务提供方使用管理密钥来加密数据密钥中的一些或全部,那么可致使具有管理密钥的访问权限的第二服务提供方或其他实体执行适当的解密操作。一般来说,在加密包括除本文所述的那些之外的操作的实施方案中,数据的访问权限可包括适当的解密操作。
众多其他变体被视为是在本公开的范围内。例如,如上文所提到的,顾客计算机系统可根据在计算机可读存储介质上编码的可执行指令执行本文所述的各个过程。所述指令可从服务提供方被提供至顾客计算机系统,诸如由服务提供方提供的可执行代码编程模块的客户端库的一部分。服务提供方可使得此代码可通过因特网或另一种网络访问。此外,本文示出了使用具有不同密钥的访问权限的两个或三个不同实体的各个实施方案,虽然本公开的范围不限于此类实施方案和所涉及到的实体的数量。例如,本文所示和所述的技术可延伸到涉及具有密钥访问权限的另外的实体。一般来说,可使用来自不同实体的多个密钥来封装(例如,加密)数据和/或密钥。顾客计算机系统可被配置来为了加密数据的目的协调各个实体的所述操作(例如,加密/解密)使得需要并且为了加密以此种方式加密的数据的目的涉及所有实体。
在一些实例中,使用支持使用附加认证数据(AAD)的加密算法执行一个或多个密码操作(例如,由服务提供方执行)。在一个实施方案中,所述AAD是与待加密的数据一起被用作到加密算法中的输入的数据。所述AAD可以明文形式被存留。加密算法可被配置成使得对应的解密需要密文和不变的AAD来使解密成功。此外,系统(例如,服务提供方系统)可使用AAD来实施策略。例如,元数据(例如,IP地址、身份、用于存储数据的逻辑数据容器的逻辑数据容器标识符等)中的一个或多个值可被用于确定解密是否被至少部分地基于所述值的一个或多个策略所允许。这样,密码算法和策略二者用于确保仅允许经授权的对数据的访问。换句话说,在提供对数据的访问之前需要不变的AAD的存在和允许解密的策略的存在二者。
此外,上文所述的各种技术涉及与可由客户端计算机系统(例如,顾客的计算机系统,上文所述)协调的一个或多个服务提供方的各种通信。用于致使客户端计算机系统利用一种或多种技术的代码可被集成进用于创造用于客户端计算机系统的应用程序的软件开发工具包(SDK)中。另外,在一些实施方案中,客户端计算机系统可被编程以结合各种触发器利用上文所述的技术中的一种或多种。在一个实例中,应用程序可提供文件系统接口(例如,文件系统驱动器接口)或存储设备接口(例如,用于利用数据存储服务的虚拟存储设备)。可响应于通过所述接口的各种命令的接收酌情利用上文所述的各种技术。例如,指示命令以将数据存储在文件系统或存储设备中的与接口的交互可致使加密根据上述实施方案中的一个或多个发生。相似地,指示命令以从文件系统或存储设备检索数据的与接口的交互可致使利用上述的技术中的一个或多个用于解密数据。此类技术科还被应用于其他接口。
作为变型的另一个实例,其被认为在本公开的范围内。可以允许向下兼容的方式利用本文所述的各种技术的集合。利用所述各种技术的应用程序可例如读取配置以确定如何与服务提供方交互和使用哪个密钥(即,哪些密钥使用其自身和哪些密钥以指定服务提供方)。这样,如果在SDK中编码的技术随时间变化,那么使用先前利用的技术加密和存储的数据可仍然保持可访问。SDK可包含允许选择使用哪个技术(如果有的话)、使用哪个密钥等等的编程逻辑。为了确定使用哪个技术(如果有的话)和/或使用哪个密钥,SDK中的编程逻辑可利用关于客户端计算机系统的本地配置组的信息、提供自服务提供方计算机系统的信息和/或以其他方式。
可鉴于以下条款对本公开的各个实施方案进行描述:
1.一种计算机可读存储介质,其具有存储在其上的指令,当由计算资源服务提供方的顾客的计算机系统的一个或多个处理器执行时,所述指令致使所述计算机系统:
致使数据在第一密钥下加密;
获得至少部分地基于第二密钥和第三密钥加密的所述第一密钥,所述顾客无所述第二密钥的访问权限并且所述计算资源服务提供方无所述第三密钥的访问权限,获得至少部分地基于所述第二密钥和所述第三密钥加密的所述第一密钥包括:
向所述计算资源服务提供方提交请求以使用第二密钥执行一个或多个密码操作,所述请求包括允许计算资源提供方从代表所述计算资源服务提供方的顾客管理的多个密钥中选择所述第二密钥的信息;并且
致使所述第一密钥下加密的所述数据被与至少部分地基于所述第二密钥和所述第三密钥加密的所述第一密钥相关联地存储。
2.如条款1所述的计算机实现的方法,其中获得至少部分地基于所述第二密钥和所述第三密钥加密的所述第一密钥包括:
从所述计算资源服务提供方接收在所述第二密钥下加密的所述第一密钥;并且
加密所述接收到的在所述第二密钥下加密的第一密钥。
3.如条款1或条款2所述的计算机实现的方法,其中获得至少部分地基于所述第二密钥和所述第三密钥加密的所述第一密钥包括:
从所述计算资源服务提供方接收在所述第二密钥下加密的所述第一密钥;并且
致使第二计算资源服务提供方使用所述第三密钥加密所述接收到的在所述第二密钥下加密的第一密钥。
4.如前述条款中任一项所述的计算机实现的方法,其中获得至少部分地基于所述第二密钥和所述第三密钥加密的所述第一密钥包括:
使用所述第三密钥加密所述第一密钥;并且
所述请求提供所述加密的第一密钥。
5.如前述条款中任一项所述的计算机实现的方法,其中:
所述第一密钥至少部分地给予第一密钥组件和第二密钥组件;
所述请求提供所述第一密钥组件用于由所述计算资源服务提供方使用所述第二密钥进行加密;
获得至少部分地基于第二密钥加密的所述第一密钥包括致使所述第二密钥组件在所述第二密钥下被加密。
6.如前述条款中任一项所述的计算机实现的方法,其中致使在所述第一密钥下加密的所述数据被存储包括传输,向由所述计算资源服务提供方运营的数据存储服务,在所述第一密钥下加密的所述数据和至少部分地基于所述第二密钥和所述第三密钥加密的所述第一密钥。
7.一种计算机实现的方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
至少部分地基于计算资源服务提供方不可访问的第一信息和所述计算资源服务提供方的顾客不可访问的第二信息,获得加密的第一密钥和在所述第一密钥下加密的数据,通过至少:
向所述计算资源服务提供方提交请求以使用第二信息执行一个或多个操作,所述请求包括允许计算资源服务提供方从代表所述计算资源服务提供方的其他顾客管理的其他信息中选择所述第二信息的信息;并且
致使在所述第一密钥下加密的所述数据和经加密的第一密钥被存放,使得在所述第一密钥下加密的所述数据的授权解密需要使用所述第一信息和第二信息。
8.如条款7所述的方法,其中所述第一信息包括第二密钥并且所述第二信息包括第三密钥。
9.如条款7或条款8所述的方法,其中:
所述方法还包括:
向具有所述第一信息的访问权限的第二计算资源服务提供方传输在所述第一密钥下加密的所述数据;并且
从所述第二计算资源服务提供方获得包含在也使用所述第一信息加密的所述第一密钥下加密的所述数据的第三信息;并且
致使在所述第一密钥下加密的所述数据和经加密的第一密钥被存放包括致使所述第三信息和经加密的第一密钥被存储在无所述第一信息和所述第二信息二者的访问权限的数据存储系统中。
10.如条款7至条款9中任一项所述的方法,其中所述计算资源服务提供方无所述第一密钥的访问权限。
11.如条款7至条款10中任一项所述的方法,其中:
所述第一密钥是可从包括第一密钥组件和第二密钥组件的多个密钥组件中确定的;并且
所述经加密的第一密钥包括:待使用所述第一信息加密的所述第一密钥组件;和待使用所述第二信息加密的所述第二密钥组件。
12.如条款7至条款11中任一项所述的方法,其中所述第一信息是所述顾客可访问的。
13.一种系统,其包括:
计算资源的集合集体地被配置来:
运行第一服务,所述第一服务被配置来代表多个实体管理多个密钥;
运行第二服务,所述第二服务被配置来存储数据,其不具有对所述多个密钥的访问权限;并且
向对应于多个实体中的一个实体的客户端计算设备提供可执行指令,所述指令致使所述客户端计算设备至少:
提交请求以执行使用由所述请求指定的来自所述多个密钥的第一密钥的一个或多个密码操作;
响应于所述请求接收所述一个或多个密码操作的执行的结果;
至少部分地基于所述结果和所述系统不可访问的第二密钥生成包括经加密的数据的信息,所述信息被配置成使得解密所述数据需要至少所述第一密钥和第二密钥的使用;并且
将所述生成的信息传输至所述存储服务。
14.如条款13所述的系统,其中:
用第三密钥加密所述经加密的数据;并且
所述信息包括至少部分地基于所述第一密钥和第二密钥加密的所述第三密钥。
15.如条款14所述的系统,其中所述客户端计算设备具有所述第三密钥的访问权限。
16.如条款13至条款15中任一项所述的系统,其中:
所述第一服务和所述第二服务各自提供对应的网络服务应用编程接口;
通过所述第一服务的网络服务接口接收所述请求;并且
传输所述生成的信息包括向所述第二服务的网络服务接口提交网络服务调用。
17.如条款13至条款16中任一项所述的系统,其中所述系统无所述第二密钥的访问权限。
18.如条款13至条款17中任一项所述的系统,其中所述可执行指令呈脚本语言的形式。
19.一种计算机可读存储介质,其具有存储在其上的指令,当由计算机系统的一个或多个处理器执行时,所述指令致使所述计算机系统:
至少部分地基于计算资源服务提供方不可访问的第一信息和第二信息,获得加密的第一密钥和在所述第一密钥下加密的数据,通过至少:
向所述计算资源服务提供方提交请求以使用第二信息执行一个或多个操作,所述请求包括允许计算资源服务提供方从代表所述计算资源服务提供方的顾客管理的其他信息中选择所述第二信息的信息;并且
致使在所述第一密钥下加密的所述数据和所述经加密的第一密钥被持久性地存储,使得对呈明文形式的所述数据的授权访问需要使用所述第一信息和第二信息。
20.如条款19所述的计算机可读存储介质,其中致使在所述第一密钥下加密的所述数据和所述经加密的第一密钥被持久性地存储包括利用所述计算资源服务提供方的数据存储服务来存储在所述第一密钥下加密的所述数据和所述经加密的第一密钥中的至少一个。
21.如条款19或条款20所述的计算机可读存储介质,其中所述计算资源服务提供方无所述第一密钥的访问权限。
22.如条款19至条款21中任一项所述的计算机可读存储介质,其中获得在所述第一密钥下加密的所述数据包括致使第二计算资源服务提供方使用所述第一信息执行一个或多个操作。
23.如条款19至条款22中任一项所述的计算机可读存储介质,其中:
所述第一信息是所述计算机系统具有访问权限的第二密钥;并且
获取在所述第一密钥下加密的数据包括使用所述第二密钥执行一个或多个操作。
24.如条款19至条款23中任一项所述的计算机可读存储介质,其中:
所述第一信息是第二密钥并且所述第二信息是第三密钥;并且
所述第二密钥和所述第三密钥二者被用于获得在所述第一密钥下加密的所述数据。
25.如条款19至条款24中任一项所述的计算机可读存储介质,其中所述可执行指令被配置成使得获得所述经加密的第一密钥和在所述第一密钥下加密的数据和致使在所述第一密钥下加密的所述数据和所述经加密的第一密钥被持久性地存储被作为对文件系统接口以执行存储操作的指令的结果执行。
26.如条款19至条款25中任一项所述的计算机可读存储介质,其中:
所述一个或多个操作包括支持附加验证数据的密码算法的使用;
所述请求包括可被所述计算资源服务提供方用作附加验证数据的元数据,所述计算资源服务提供方被配置来至少部分地基于所述元数据实施一个或多个策略。
图11示出用于实现根据各个实施方案的各方面的示例性环境1100的各方面。如将了解,尽管出于解释目的使用基于网络的环境,但是可视情况使用不同环境来实现各个实施方案。环境包括电子客户端装置1102,所述电子客户端装置1102可包括可操作来在适当网络1104上发送和接收请求、消息或信息并且将信息传送回装置用户的任何适当装置。此类客户设备的实例包括个人计算机、手机、手持通信设备,笔记本计算机、平板计算机、机顶盒,个人数据助理、嵌入式计算机系统、电子书阅读器等。网络可包括任何适当网络,包括内部网、互联网、蜂窝网、局域网或任何其他此类网络或上述网络的组合。此类系统所用的组件可以至少部分地取决于所选网络和/或环境的类型。用于通过此类网络通信的协议和组件是众所周知的,因而本文不再详细论述。网络上的通信可通过有线或无线连接及其组合来实现。在这个实例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的网络服务器1106,然而对于其他网络来说,可使用服务类似目的的替代装置,如本领域技术人员所显而易见的。
所示环境包括至少一个应用程序服务器1108和数据存储器1110。应当理解,可以存在可以链接起来或以其他方式来配置的若干应用程序服务器、层或其他元件、过程或组件,这些应用程序服务器、层或其他元件、过程或组件可交互来执行如从适合的数据存储器获取数据的任务。可以各种方式实现服务器,如本文所用的,诸如硬件设备或虚拟计算机系统。在一些语境中,服务器可以指在计算机系统上执行的编程模块。如本文所使用的,术语“数据存储器”指代能够存储、访问和检索数据的任何装置或装置组合,所述装置的装置组合可包括任何标准、分布式或集群式环境中的任何组合和任何数目的数据服务器、数据库、数据存储装置和数据存储介质。应用程序服务器可包括任何适当硬件和软件,所述硬件和软件视执行客户端装置的一个或多个应用程序的各方面的需要而与数据存储器集成、处置应用程序的一些(甚至大多数)数据访问和业务逻辑。应用程序服务器可提供与数据存储器协作的存取控制服务,并且能够生成将要传送到用户的内容、如文本、图片、音频和/或视频,在这个实例中,所述内容可以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)或另一种适当结构化语言的形式由网络服务器向用户提供。所有请求和响应的处置以及客户端装置1102与应用程序服务器1108之间的内容递送可由网络服务器来处置。应当理解,网络服务器和应用程序服务器不是必要的,且仅仅是示例性组件,因为本文所论述的结构化代码可在如本文其他地方所论述的任何适当装置或主机上执行。此外,如由单个设备执行的本文所述的操作可,除非上下文中另外清楚地指出,由多个设备集体地执行,其可形成分布式系统。
数据存储器1110可包括若干单独的数据表、数据库或其他数据存储机构和介质,用来存储与本公开的特定方面相关的数据。例如,所示的数据存储器可包括用于存储生成数据1112和用户信息1116的机构,其可被用于为生成端提供内容。数据存储器还被示出为包括用于存储日志数据1114的机构,其可被用于报告、分析或其他此类目的。应当理解,可能存在可能需要存储在数据存储器中的许多其他方面,如页面图像信息和访问权信息,所述方面可视情况存储在上文所列机构中的任何机构中或存储在数据存储器1110中的另外机构中。数据存储器1110可通过与它关联的逻辑来操作,以便从应用程序服务器1108接收指令,并且响应于所述指令而获取、更新或以其他方式处理数据。在一个实例中,用户,通过由所述用户操作的设备,可以针对某种类型的项目提交搜索请求。在此状况下,数据存储器可能访问用户信息来验证用户的身份,并且可访问目录详细信息以获取有关所述类型的项目的信息。接着可将信息如以网页上的结果列表的形式返回给用户,用户能够通过用户装置1102上的浏览器来查看所述网页。可在浏览器的专用页面或窗口中查看到感兴趣的特定项目的信息。然而,应注意,本公开的实施方案不必限于网页的语境,而是可更一般地适用于通常地处理请求,其中所述请求不必请求内容。
每个服务器通常将包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),当由服务器的处理器执行时,所述指令允许服务器实行其期望的功能。操作系统的适合实现方式和服务器的一般功能是众所周知的或可商购的,并且易于由本领域普通技术人员实现,尤其是根据本文中的公开来实现。
在一个实施方案中,环境是利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和组件的分布式计算环境。然而,本领域普通技术人员应理解,这种系统可在具有比图11所示的组件更少或更多组件的系统中同样顺利地操作。因此,图11中的系统1100的描绘本质上应视为说明性的,并且不限制本公开的范围。
各个实施方案可进一步在广泛范围的操作环境中实现,在一些情况下,所述环境可包括一个或多个用户计算机、计算装置或可用于操作多个应用程序中的任一个的处理装置。用户或客户端装置可包括多个通用个人计算机中的任何一个,如运行标准操作系统的台式计算机、膝上计算机或平板计算机,以及运行移动软件并且能够支持多个网络连接协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括多个工作站,所述工作站运行各种可商购得的操作系统和用于如开发和数据库管理等目的的其他已知应用程序中的任一个。这些装置还可包括其他电子装置,如虚拟终端、薄型客户端、游戏系统和能够通过网络通信的其他装置。
本公开的各个实施方案利用本领域技术人员可能熟悉的至少一种网络来使用各种各样可商购得的协议中的任一种支持通信,诸如传输控制协议/互联网协议(“TCP/IP”)、在开放系统互连(“OSI”)模型的各层中运行的协议、文件传送协议(“FTP”)、通用即插即用(“UpnP”)、网络文件系统(“NFS”)、公共互联网文件系统(“CIFS”)以及AppleTalk。网络例如可以是例如局域网、广域网、虚拟专用网、互联网、内部网、外联网、公共交换电话网、红外网络、无线网络以及上述网络的任何组合。
在利用网络服务器的实施方案中,网络服务器可以运行各种各样服务器或中间层应用程序中的任一种,包括超文本传输协议(“HTTP”)服务器、FTP服务器、公共网关接口(“CGI”)服务器、数据服务器、Java服务器和业务应用程序服务器。服务器还能够响应来自用户装置的请求而执行程序或脚本,如通过执行可以实施为以任何编程语言(如
Figure BDA0001657713690000351
C、C#或C++)或任何脚本语言(如Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个网络应用程序。所述服务器还可以包括数据库服务器,包括但不限于这些可商购的
Figure BDA0001657713690000361
Figure BDA0001657713690000362
环境可包括如上文所论述的各种各样数据存储区以及其他存储器和存储介质。这些可驻留在各种各样位置,如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任何或所有计算机。在实施方案的特定集中,信息可驻留在本领域技术人员熟悉的存储区域网(“SAN”)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要的文件可视情况本地或远程存储。在系统包括计算机化装置的情况下,这个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可包括一个或多个存储装置,如硬盘驱动器、光存储装置和如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储装置、以及可移动媒体装置、存储卡、闪存卡等。
此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上文所论述。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储装置以及用于暂时和/或更永久地含有、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用程序、模块、服务系统或其他元件,包括操作系统和应用程序,如客户端应用程序或网络浏览器。应当了解,替代实施方案可具有与上述实施方案不同的众多变体。例如,也可使用定制硬件,和/或特定元件可以在硬件、软件(包括可移植软件,如小程序)或两者中实现。此外,可以采用与如网络输入/输出装置的其他计算装置的连接。
用于含有代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,如但不限于以用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移动和不可移动的介质,包括RAM、ROM、电可擦可编程只读存储器(“EEPROM”)、闪存或其他存储器技术、只读光盘驱动器(“CD-ROM”)、数字通用光盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教义,本技术领域普通技术人员将了解实现各个实施方案的其他方式和/或方法。
因此,应在说明性意义而不是限制性意义上理解本说明书和附图。然而,将显而易见的是:在不脱离如在权利要求书中阐述的本发明的更宽广精神和范围的情况下,可以对其做出各种修改和改变。
其他变体也在本公开的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其特定实施方案。然而,应当了解,并不旨在将本发明限制于所公开的一种或多种具体形式,相反地,旨在涵盖落在如所附权利要求书限定的本发明的精神和范围内的所有修改、替代构造和等效物。
在描述所公开实施方案的上下文中(尤其是在以下权利要求书的上下文中),术语“一个(a,an)”和“所述”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非在本文另外地指示或明显地与上下文矛盾。术语“包含”、“具有”、“包括”和“含有”应解释为开放式术语(即,意味着“包括但不限于”),除非另外地注解。术语“连接的”,在不被修改并且指物理连接时,应解释为部分地或全部地纳入在以下解释内:附接至或结合在一起,即使存在介入物。除非本文另外指明,否则本文中值范围的列举仅仅意图用作个别地表示属于所述范围的各单独值的速记方法,并且犹如本文个别描述地那样将各单独值并入到本说明书中。术语“集合”(例如,“项目集合”)或“子集”的使用,除非另有说明或与上下文矛盾,将理解为包括一个或多个成员的非空集合。此外,除非另有说明或与上下文矛盾,对应组的术语“子组”不必代表对应组的正确子组,但所述子集和所述对应集可以是相等的。
除非另外特别说明或另外明显地与上下文矛盾,否则连接性语言,诸如“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中的至少一个。
可按任何合适的顺序来执行本文所述的过程的操作,除非本文另外指明或明显地与上下文矛盾。本文描述的过程(或变体和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下实行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)、由硬件或其组合来实施。代码可以例如包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读储存介质上。计算机可读储存介质可以是非暂时性的。
本文所提供的任何以及所有实例或示例性语言(例如,“如”)的使用仅意图更好地说明本发明的实施方案,并且除非另外要求,否则不会对本发明的范围施加限制。本说明书中的语言不应解释为将任何非要求的要素指示为实践本发明所必需。
本文中描述了本公开的优选实施方案,包括发明人已知用于执行本发明的最佳模式。阅读上述说明后那些优选实施方案的变体对于本领域的普通技术人员可以变得显而易见。发明人希望技术人员视情况采用此类变体,并且发明人意图以不同于如本文所特别描述的方式来实践本公开的实施方式。因此,经适用的法律许可,本公开的范围包括在此附加的权利要求中叙述的所有标的物的改良形式和等价物。此外,除非本文另外指示或明显地与上下文矛盾,否则本公开的范围涵盖其所有可能变体中的上述元素的任何组合。
本文所引用的所有参考文献、包括出版物、专利申请和专利据此以引用方式并入,其程度等同于每个参考文献单独地且具体地被表示为以引用方式并入本文并且以其全文在本文得以陈述。

Claims (18)

1.一种用于多权限数据安全和访问的计算机实现的方法,包括:
从计算资源服务提供方的顾客接收使用顾客不可访问的托管密钥执行一个或多个操作的请求,所述请求指示允许所述计算资源服务提供方从代表所述计算资源服务提供方的顾客管理的其他密钥中选择所述托管密钥的密钥标识符;
响应于所述请求和所述顾客,提供至少在所述托管密钥下加密的经加密的数据密钥;
从所述顾客接收至少在所述数据密钥下加密的数据;并且
在由所述计算资源服务提供方操作的数据存储服务中存储所述经加密的数据密钥和所述至少在所述数据密钥下加密的数据,以在持久性存储中存储所述经加密的数据密钥和所述至少在所述数据密钥下加密的数据,其中,由于所述经加密的数据密钥至少部分在所述托管密钥下被加密,所述计算资源服务提供方不可访问的顾客密钥和所述顾客不可访问的托管密钥集体地足以用于访问来自所述持久性存储的明文形式的数据,但是单独地不足以用于访问来自所述持久性存储的明文形式的数据。
2.如权利要求1所述的计算机实现的方法,其中所述请求是应用编程接口调用。
3.如权利要求1所述的计算机实现的方法,其中所述一个或多个操作包括使用支持附加验证数据的加密算法。
4.如权利要求1所述的计算机实现的方法,其中所述经加密的数据密钥和在所述数据密钥下加密的数据通过至所述数据存储服务的应用编程接口请求传送到所述数据存储服务。
5.如权利要求1所述的计算机实现的方法,所述请求是至加密服务的第一应用编程接口调用,并且所述经加密的数据密钥和所述至少在所述数据密钥下加密的数据通过第二应用编程接口调用传送到所述数据存储服务。
6.如权利要求1所述的计算机实现的方法,其中所述数据密钥由所述顾客生成。
7.如权利要求1所述的计算机实现的方法,进一步包括:
从所述顾客接收解密所述经加密的数据密钥的请求,解密所述经加密的数据密钥的请求包括所述托管密钥的标识符;以及
响应于解密所述经加密的数据密钥,使用所述托管密钥以解密所述经加密的数据密钥并且提供所述数据密钥使所述顾客能够使用所述数据密钥以解密所述经加密的数据。
8.一种用于多权限数据安全和访问的系统,包括:
第一服务,所述第一服务包括一个或多个第一处理器和包括第一指令的第一存储器,作为由所述一个或多个第一处理器执行的结果,所述第一指令使所述第一服务:
从计算资源服务提供方的顾客接收使用所述顾客不可访问的托管密钥执行一个或多个操作的第一请求,所述请求指示允许所述计算资源服务提供方从由代表所述计算资源服务提供方的顾客的所述第一服务管理的其他密钥中选择所述托管密钥的密钥标识符;并且
向所述顾客提供经加密的数据密钥,所述经加密的数据密钥至少在所述托管密钥下被加密;以及
第二服务,所述第二服务包括一个或多个第二处理器和包括第二指令的第二存储器,作为由所述一个或多个第二处理器执行的结果,所述第二指令使所述第二服务:
从所述顾客接收存储至少在所述数据密钥下加密的数据的第二请求;并且
响应于所述第二请求,在持久性存储中存储所述经加密的数据密钥以及所述至少在所述数据密钥下加密的数据,其中所述数据存储服务在没有所述数据存储服务不可访问的顾客密钥的情况下不能解密所述至少在所述数据密钥下加密的数据。
9.如权利要求8所述的系统,其中:
所述第一请求通过由所述第一服务提供的第一应用编程接口接收;并且
所述第二请求通过由所述第二服务提供的第二应用编程接口接收。
10.如权利要求8所述的系统,其中所述数据密钥由所述顾客生成。
11.如权利要求8所述的系统,其中所述第一指令进一步使所述第一服务:
接收解密所述经加密的数据密钥的请求,所述请求包括所述托管密钥的标识符;并且
使用所述托管密钥以解密所述经加密的数据密钥并且响应于所述请求提供所述数据密钥。
12.如权利要求8所述的系统,其中所述第一请求包含附加验证数据。
13.如权利要求8所述的系统,其中所述第一服务是密码服务,用于执行加密操作的应用编程接口调用可以被提交到所述密码服务。
14.如权利要求8所述的系统,其中所述顾客在没有所述托管密钥的情况下不能解密所述至少在所述数据密钥下加密的数据。
15.一组非暂时性计算机可读存储介质,在所述非暂时性计算机可读存储介质上存储可执行的指令,作为由计算机系统的一个或多个处理器执行所述指令的结果,使所述计算机系统至少:
从计算资源服务提供方的顾客接收使用所述顾客不可访问的托管密钥执行一个或多个操作的第一网络服务请求,所述请求指示允许所述计算资源服务提供方从代表所述计算资源服务提供方的顾客管理的其他密钥中选择所述托管密钥的密钥标识符;
响应于所述请求和所述顾客,提供至少在所述托管密钥下加密的经加密的数据密钥;
从所述顾客接收至少在所述数据密钥下加密的数据;并且
响应于存储所述至少在所述数据密钥下加密的数据的第二网络服务请求,将所述经加密的数据密钥和所述至少在所述数据密钥下加密的数据存储在由所述计算资源服务提供方操作的数据存储服务中,以在持久性存储中存储所述经加密的数据密钥和所述至少在所述数据密钥下加密的数据,其中,由于至少无顾客密钥的访问权限,所述至少在所述数据密钥下加密的数据由所述数据存储服务存储,所述数据存储服务不能解密所述至少在所述数据密钥下加密的数据。
16.如权利要求15所述的非暂时性计算机可读存储介质,其中所述计算资源服务提供方无所述顾客密钥的访问权限。
17.如权利要求15所述的非暂时性计算机可读存储介质,其中所述计算资源服务提供方无所述顾客密钥的访问权限。
18.如权利要求15所述的非暂时性计算机可读存储介质,其中所述数据密钥不由所述计算资源服务提供方生成。
CN201810448049.1A 2013-06-20 2014-06-16 多权限数据安全和访问 Active CN108696520B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/922,875 US9407440B2 (en) 2013-06-20 2013-06-20 Multiple authority data security and access
US13/922,875 2013-06-20
CN201480035028.7A CN105378649B (zh) 2013-06-20 2014-06-16 多权限数据安全和访问

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201480035028.7A Division CN105378649B (zh) 2013-06-20 2014-06-16 多权限数据安全和访问

Publications (2)

Publication Number Publication Date
CN108696520A CN108696520A (zh) 2018-10-23
CN108696520B true CN108696520B (zh) 2021-02-02

Family

ID=52105163

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480035028.7A Active CN105378649B (zh) 2013-06-20 2014-06-16 多权限数据安全和访问
CN201810448049.1A Active CN108696520B (zh) 2013-06-20 2014-06-16 多权限数据安全和访问

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201480035028.7A Active CN105378649B (zh) 2013-06-20 2014-06-16 多权限数据安全和访问

Country Status (5)

Country Link
US (2) US9407440B2 (zh)
EP (2) EP4148554A1 (zh)
JP (3) JP6082166B2 (zh)
CN (2) CN105378649B (zh)
WO (1) WO2014204862A1 (zh)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9756022B2 (en) * 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
KR102015108B1 (ko) * 2013-03-12 2019-10-22 한국전자통신연구원 이종 서비스 간 서비스 제공 방법과 사용자 단말 및 웹 서버
US9298942B1 (en) * 2013-12-31 2016-03-29 Google Inc. Encrypted augmentation storage
US10742520B2 (en) * 2013-12-31 2020-08-11 Citrix Systems, Inc. Providing mobile device management functionalities
US10574442B2 (en) * 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US20160350544A1 (en) * 2014-10-22 2016-12-01 Sze Yuen Wong Methods And Apparatus For Sharing Encrypted Data
US9379890B1 (en) 2015-12-07 2016-06-28 Workiva Inc. System and method for managing cryptographic keys
US10122533B1 (en) 2015-12-15 2018-11-06 Amazon Technologies, Inc. Configuration updates for access-restricted hosts
US10419214B2 (en) * 2015-12-28 2019-09-17 Dell Products L.P. Mobile device management delegate for managing isolated devices
JP6720581B2 (ja) * 2016-03-02 2020-07-08 株式会社リコー 情報処理装置、情報処理方法、及び情報処理プログラム
US10021075B1 (en) * 2016-06-23 2018-07-10 EMC IP Holding Company LLC Multiple data center data security
US20180048601A1 (en) * 2016-08-12 2018-02-15 9069569 Canada Inc. Emergency callback system
US10404452B2 (en) * 2016-08-19 2019-09-03 Amazon Technologies, Inc. Message service with distributed key caching for server-side encryption
US10491387B2 (en) * 2016-11-15 2019-11-26 International Business Machines Corporation End-to-end encryption of a block storage device with protected key
WO2018236420A1 (en) * 2017-06-20 2018-12-27 Google Llc CLOUD EQUIPMENT SECURITY MODULES FOR CRYPTOGRAPHIC EXTERNALIZATION OPERATIONS
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
CA3175443A1 (en) * 2018-06-06 2019-12-12 Slack Technologies, Llc Method, apparatus, and computer program product for encryption key management within a group-based communication system
US11539675B2 (en) 2018-06-06 2022-12-27 Slack Technologies, Llc Encryption key management for international data residency
JP7113589B2 (ja) * 2018-07-17 2022-08-05 株式会社デンソー 情報仲介装置、情報提供装置、及び情報取得装置
US11477197B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Sidecar architecture for stateless proxying to databases
US11477217B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Intruder detection for a network
US11477196B2 (en) 2018-09-18 2022-10-18 Cyral Inc. Architecture having a protective layer at the data source
CN109462475B (zh) * 2018-11-15 2021-08-13 泰康保险集团股份有限公司 数据加密方法、解密方法及相关装置
US11949739B2 (en) 2018-12-14 2024-04-02 Salesforce, Inc. Methods, apparatuses, and computer program products for management of data deletion requests based on geographically distributed data
US11361088B2 (en) 2019-02-25 2022-06-14 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
US11763011B2 (en) 2019-02-25 2023-09-19 Oocl (Infotech) Holdings Limited Zero trust communication system for freight shipping organizations, and methods of use
CN110417726B (zh) * 2019-05-27 2021-08-24 腾讯科技(深圳)有限公司 一种密钥管理方法及相关设备
CN114503105A (zh) * 2019-09-25 2022-05-13 联邦科学和工业研究组织 用于浏览器应用的密码服务
US11163459B2 (en) * 2019-10-28 2021-11-02 EMC IP Holding Company LLC Rekeying information on storage devices using a proactive copy service
US11366645B2 (en) 2019-11-11 2022-06-21 Klarna Bank Ab Dynamic identification of user interface elements through unsupervised exploration
US11379092B2 (en) 2019-11-11 2022-07-05 Klarna Bank Ab Dynamic location and extraction of a user interface element state in a user interface that is dependent on an event occurrence in a different user interface
US11726752B2 (en) 2019-11-11 2023-08-15 Klarna Bank Ab Unsupervised location and extraction of option elements in a user interface
US11386356B2 (en) 2020-01-15 2022-07-12 Klama Bank AB Method of training a learning system to classify interfaces
US11409546B2 (en) 2020-01-15 2022-08-09 Klarna Bank Ab Interface classification system
US10846106B1 (en) 2020-03-09 2020-11-24 Klarna Bank Ab Real-time interface classification in an application
US11496293B2 (en) * 2020-04-01 2022-11-08 Klarna Bank Ab Service-to-service strong authentication
US11303432B2 (en) * 2020-05-01 2022-04-12 Microsoft Technology Licensing, Llc Label-based double key encryption
CA3092836A1 (en) * 2020-07-01 2022-01-01 Slack Technologies, Inc. Computer-reabable media, method and system for encryption key management
US10897351B1 (en) 2020-07-02 2021-01-19 Slack Technologies, Inc. Encryption key management for an automated workflow
CN114117460A (zh) * 2020-09-01 2022-03-01 鸿富锦精密电子(天津)有限公司 数据保护方法、装置、电子设备及存储介质
US11184159B1 (en) 2020-09-01 2021-11-23 Slack Technologies, Inc. Encryption key management for channels with multiple organizations
US11012245B1 (en) * 2020-09-10 2021-05-18 Cyberark Software Ltd. Decentralized management of data access and verification using data management hub
US10931454B1 (en) 2020-09-10 2021-02-23 Cyberark Software Ltd. Decentralized management of data access and verification using data management hub
JP2023040843A (ja) 2021-09-10 2023-03-23 株式会社東芝 クラウド鍵管理サービス基盤システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236259A (ja) * 1999-12-13 2001-08-31 Mitsubishi Electric Corp 貸金庫システム
JP2002082611A (ja) * 2000-09-06 2002-03-22 Hitachi Ltd 取引情報の保全方法及び取引情報の保管元コンピュータ
JP2006522507A (ja) * 2003-04-01 2006-09-28 エントロピック・テクノロジーズ・プロプライエタリー・リミテッド セキュア通信システム及びセキュア通信方法
CN103039088A (zh) * 2010-03-17 2013-04-10 布盖斯电信公司 保证数字化数据流广播安全的方法与系统

Family Cites Families (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5200999A (en) 1991-09-27 1993-04-06 International Business Machines Corporation Public key cryptosystem key management based on control vectors
US5179591A (en) 1991-10-16 1993-01-12 Motorola, Inc. Method for algorithm independent cryptographic key management
US5418854A (en) 1992-04-28 1995-05-23 Digital Equipment Corporation Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system
JP3684266B2 (ja) 1996-04-26 2005-08-17 株式会社日立製作所 暗号化された共有データのアクセス制御方法及びシステム
US6021202A (en) 1996-12-20 2000-02-01 Financial Services Technology Consortium Method and system for processing electronic documents
US6038563A (en) * 1997-10-31 2000-03-14 Sun Microsystems, Inc. System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects
US6279110B1 (en) 1997-11-10 2001-08-21 Certicom Corporation Masked digital signatures
US6185316B1 (en) 1997-11-12 2001-02-06 Unisys Corporation Self-authentication apparatus and method
US6097817A (en) 1997-12-10 2000-08-01 Omnipoint Corporation Encryption and decryption in communication system with wireless trunk
US6453416B1 (en) 1997-12-19 2002-09-17 Koninklijke Philips Electronics N.V. Secure proxy signing device and method of use
US6084969A (en) 1997-12-31 2000-07-04 V-One Corporation Key encryption system and method, pager unit, and pager proxy for a two-way alphanumeric pager network
US6754820B1 (en) 2001-01-30 2004-06-22 Tecsec, Inc. Multiple level access system
US6985583B1 (en) 1999-05-04 2006-01-10 Rsa Security Inc. System and method for authentication seed distribution
WO2001015162A2 (en) 1999-08-13 2001-03-01 Microsoft Corporation Methods and systems of protecting digital content
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US7085931B1 (en) 1999-09-03 2006-08-01 Secure Computing Corporation Virtual smart card system and method
JP4622064B2 (ja) 2000-04-06 2011-02-02 ソニー株式会社 情報記録装置、情報再生装置、情報記録方法、情報再生方法、および情報記録媒体、並びにプログラム提供媒体
US6826686B1 (en) 2000-04-14 2004-11-30 International Business Machines Corporation Method and apparatus for secure password transmission and password changes
US7757271B2 (en) 2000-04-19 2010-07-13 Hewlett-Packard Development Company, L.P. Computer system security service
US7512965B1 (en) 2000-04-19 2009-03-31 Hewlett-Packard Development Company, L.P. Computer system security service
US20020016840A1 (en) 2000-05-12 2002-02-07 Shai Herzog Applying recursive policy for scoping of administration of policy based networking
US7139917B2 (en) 2000-06-05 2006-11-21 Phoenix Technologies Ltd. Systems, methods and software for remote password authentication using multiple servers
US20020194483A1 (en) 2001-02-25 2002-12-19 Storymail, Inc. System and method for authorization of access to a resource
US20030041110A1 (en) 2000-07-28 2003-02-27 Storymail, Inc. System, Method and Structure for generating and using a compressed digital certificate
WO2002013445A2 (en) 2000-08-04 2002-02-14 First Data Corporation Linking public key of device to information during manufacture
US7010689B1 (en) 2000-08-21 2006-03-07 International Business Machines Corporation Secure data storage and retrieval in a client-server environment
WO2002023796A1 (en) 2000-09-11 2002-03-21 Sentrycom Ltd. A biometric-based system and method for enabling authentication of electronic messages sent over a network
US7308431B2 (en) 2000-09-11 2007-12-11 Nokia Corporation System and method of secure authentication and billing for goods and services using a cellular telecommunication and an authorization infrastructure
US6959394B1 (en) 2000-09-29 2005-10-25 Intel Corporation Splitting knowledge of a password
US20020112181A1 (en) 2000-12-12 2002-08-15 Smith Mark Elwin Multilevel secure network access system
JP2002278839A (ja) 2001-03-15 2002-09-27 Sony Corp データアクセス管理システム、メモリ搭載デバイス、およびデータアクセス管理方法、並びにプログラム記憶媒体
US6957393B2 (en) 2001-03-19 2005-10-18 Accenture Llp Mobile valet
US20020162019A1 (en) 2001-04-25 2002-10-31 Berry Michael C. Method and system for managing access to services
US20020161998A1 (en) 2001-04-27 2002-10-31 International Business Machines Corporation Method and system for providing hardware cryptography functionality to a data processing system lacking cryptography hardware
AU2002345935A1 (en) 2001-06-26 2003-03-03 Enterprises Solutions, Inc. Transaction verification system and method
US7610390B2 (en) 2001-12-04 2009-10-27 Sun Microsystems, Inc. Distributed network identity
US7921288B1 (en) * 2001-12-12 2011-04-05 Hildebrand Hal S System and method for providing different levels of key security for controlling access to secured items
KR100458516B1 (ko) 2001-12-28 2004-12-03 한국전자통신연구원 웹-리소스 불법 변경 감지 장치 및 그 방법
US7073195B2 (en) 2002-01-28 2006-07-04 Intel Corporation Controlled access to credential information of delegators in delegation relationships
US20040158734A1 (en) 2002-02-01 2004-08-12 Larsen Vincent Alan System and method for process-based security in a portable electronic device
US7249379B2 (en) 2002-02-01 2007-07-24 Systems Advisory Group Enterprises, Inc. Method and apparatus for implementing process-based security in a computer system
US7228417B2 (en) 2002-02-26 2007-06-05 America Online, Inc. Simple secure login with multiple-authentication providers
US7200756B2 (en) * 2002-06-25 2007-04-03 Microsoft Corporation Base cryptographic service provider (CSP) methods and apparatuses
US7546633B2 (en) 2002-10-25 2009-06-09 Microsoft Corporation Role-based authorization management framework
US20040088260A1 (en) 2002-10-31 2004-05-06 Foster Ward Scott Secure user authentication
AU2003293125A1 (en) 2002-11-27 2004-06-23 Rsa Security Inc Identity authentication system and method
US7319757B2 (en) 2003-01-02 2008-01-15 Intel Corporation Wireless communication device and method for over-the-air application service
US20040143733A1 (en) 2003-01-16 2004-07-22 Cloverleaf Communication Co. Secure network data storage mediator
US7320076B2 (en) 2003-03-05 2008-01-15 Sun Microsystems, Inc. Method and apparatus for a transaction-based secure storage file system
US7702916B2 (en) 2003-03-31 2010-04-20 Visa U.S.A. Inc. Method and system for secure authentication
US20040221174A1 (en) 2003-04-29 2004-11-04 Eric Le Saint Uniform modular framework for a host computer system
US20070186102A1 (en) 2003-05-06 2007-08-09 Ng Raymond K Method and apparatus for facilitating fine-grain permission management
JP3919700B2 (ja) 2003-06-06 2007-05-30 株式会社モバイル・テクニカ 暗号システム及びその暗号文処理方法
US7711097B2 (en) 2003-07-09 2010-05-04 Fujitsu Limited Pay-per-connection scheme for wireless access to internet
JP4690321B2 (ja) 2003-08-13 2011-06-01 トムソン ライセンシング コンテンツキーを介した通信ネットワーク上の安全なコンテンツ送信のための方法及び装置
EP1668448A2 (en) 2003-09-12 2006-06-14 RSA Security Inc. System and method providing disconnected authentication
US20050060566A1 (en) 2003-09-16 2005-03-17 Chebolu Anil Kumar Online user-access reports with authorization features
US8453196B2 (en) 2003-10-14 2013-05-28 Salesforce.Com, Inc. Policy management in an interoperability network
TWI240530B (en) 2003-12-11 2005-09-21 Inst Information Industry Dynamic delegation method, storage medium and device using the same
US7434050B2 (en) 2003-12-11 2008-10-07 International Business Machines Corporation Efficient method for providing secure remote access
US7636941B2 (en) 2004-03-10 2009-12-22 Microsoft Corporation Cross-domain authentication
US8522039B2 (en) 2004-06-09 2013-08-27 Apple Inc. Method and apparatus for establishing a federated identity using a personal wireless device
US7814314B2 (en) 2004-08-31 2010-10-12 Ntt Docomo, Inc. Revocation of cryptographic digital certificates
GB0419479D0 (en) 2004-09-02 2004-10-06 Cryptomathic Ltd Data certification methods and apparatus
KR100645512B1 (ko) 2004-09-30 2006-11-15 삼성전자주식회사 통신 시스템에서 네트워크 접속에 대한 사용자 인증 장치및 그 방법
US8181219B2 (en) 2004-10-01 2012-05-15 Microsoft Corporation Access authorization having embedded policies
US20060130100A1 (en) 2004-10-12 2006-06-15 Pentland Joseph D Methods and apparatus for remotely displaying and distributing advertising and emergency information
US7251476B2 (en) 2004-11-01 2007-07-31 Xcellasave, Inc. Method for advertising on digital cellular telephones and reducing costs to the end user
US7251478B2 (en) 2004-11-01 2007-07-31 Xcellasave, Inc. Method for advertising on digital cellular telephones and reducing costs to the end user
US20060100928A1 (en) 2004-11-09 2006-05-11 Walczak Robert Jr System and method for providing content to a mobile communication device
US7886155B2 (en) 2004-12-20 2011-02-08 Biogy, Inc. System for generating requests to a passcode protected entity
US7734051B2 (en) 2004-11-30 2010-06-08 Novell, Inc. Key distribution
KR101202671B1 (ko) 2004-12-28 2012-11-19 텔레콤 이탈리아 소시에떼 퍼 아찌오니 사용자가 가입자 단말에서 단말 장치에 원격으로 접속할 수있게 하기 위한 원격 접속 시스템 및 방법
US20060149677A1 (en) 2005-01-06 2006-07-06 Microsoft Corporation Contextual ad processing on local machine
CN101107808B (zh) 2005-01-24 2011-01-26 松下电器产业株式会社 署名生成装置及署名验证装置
US20060174125A1 (en) 2005-01-31 2006-08-03 Brookner George M Multiple cryptographic key security device
US9785973B2 (en) 2005-02-04 2017-10-10 Cellfire Inc. Delivering targeted advertising to mobile devices
EP1849119B1 (en) 2005-02-18 2019-07-10 EMC Corporation Derivative seeds
US7478419B2 (en) 2005-03-09 2009-01-13 Sun Microsystems, Inc. Automated policy constraint matching for computing resources
US7770206B2 (en) 2005-03-11 2010-08-03 Microsoft Corporation Delegating right to access resource or the like in access management system
US7784092B2 (en) 2005-03-25 2010-08-24 AT&T Intellectual I, L.P. System and method of locating identity providers in a data network
WO2006119637A1 (en) 2005-05-13 2006-11-16 Cryptomill Cryptographic control for mobile storage means
CN101366034A (zh) 2005-05-13 2009-02-11 克赖普托米尔技术有限公司 内容加密防火墙系统
FI20050562A0 (fi) 2005-05-26 2005-05-26 Nokia Corp Menetelmä avainmateriaalin tuottamiseksi
US20060282878A1 (en) 2005-06-14 2006-12-14 Stanley James C Expression of packet processing policies using file processing rules
US7685430B1 (en) 2005-06-17 2010-03-23 Sun Microsystems, Inc. Initial password security accentuated by triple encryption and hashed cache table management on the hosted site's server
US7836306B2 (en) 2005-06-29 2010-11-16 Microsoft Corporation Establishing secure mutual trust using an insecure password
US20070037552A1 (en) 2005-08-11 2007-02-15 Timothy Lee Method and system for performing two factor mutual authentication
US20070061885A1 (en) 2005-09-09 2007-03-15 Hammes Peter C System and method for managing security testing
JP2007080145A (ja) * 2005-09-16 2007-03-29 Ricoh Co Ltd データ管理システム、データ処理方法およびデータ処理プログラム
US7721322B2 (en) 2005-11-22 2010-05-18 Oracle International Corporation Enterprise service-to-service trust framework
KR100825736B1 (ko) 2005-12-07 2008-04-29 한국전자통신연구원 무선 xml 전자 서명 서비스 제공 장치 및 그 방법
KR20070108315A (ko) 2005-12-07 2007-11-09 한국전자통신연구원 서명된 콜백 유알엘 메시지를 이용한 개인정보 공유 서비스제공 장치 및 방법
US8006289B2 (en) 2005-12-16 2011-08-23 International Business Machines Corporation Method and system for extending authentication methods
US7716240B2 (en) 2005-12-29 2010-05-11 Nextlabs, Inc. Techniques and system to deploy policies intelligently
US9407662B2 (en) 2005-12-29 2016-08-02 Nextlabs, Inc. Analyzing activity data of an information management system
CN100571125C (zh) 2005-12-30 2009-12-16 上海贝尔阿尔卡特股份有限公司 一种用于用户设备与内部网络间安全通信的方法及装置
US8688813B2 (en) 2006-01-11 2014-04-01 Oracle International Corporation Using identity/resource profile and directory enablers to support identity management
JP4843325B2 (ja) * 2006-02-06 2011-12-21 株式会社リコー 文書アクセス制御システム
US8312523B2 (en) 2006-03-31 2012-11-13 Amazon Technologies, Inc. Enhanced security for electronic communications
US8239671B2 (en) 2006-04-20 2012-08-07 Toshiba America Research, Inc. Channel binding mechanism based on parameter binding in key derivation
US7913084B2 (en) 2006-05-26 2011-03-22 Microsoft Corporation Policy driven, credential delegation for single sign on and secure access to network resources
US8151116B2 (en) 2006-06-09 2012-04-03 Brigham Young University Multi-channel user authentication apparatus system and method
US8151317B2 (en) 2006-07-07 2012-04-03 International Business Machines Corporation Method and system for policy-based initiation of federation management
US20120245978A1 (en) 2006-07-12 2012-09-27 Arbitron, Inc. System and method for determinimg contextual characteristics of media exposure data
US20080040773A1 (en) 2006-08-11 2008-02-14 Microsoft Corporation Policy isolation for network authentication and authorization
DE102006038037A1 (de) 2006-08-14 2008-02-21 Siemens Ag Verfahren und System zum Bereitstellen eines zugangsspezifischen Schlüssels
CA2656934A1 (en) 2006-08-24 2008-02-28 Cfph, Llc Multi-display computer terminal system
US8705746B2 (en) 2006-09-29 2014-04-22 Microsoft Corporation Data security in an off-premise environment
US8601598B2 (en) * 2006-09-29 2013-12-03 Microsoft Corporation Off-premise encryption of data storage
US8041954B2 (en) 2006-12-07 2011-10-18 Paul Plesman Method and system for providing a secure login solution using one-time passwords
US8468244B2 (en) 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US9124602B2 (en) 2007-01-05 2015-09-01 International Business Machines Corporation Method and apparatus for creating custom access control hierarchies
JP5340173B2 (ja) 2007-01-26 2013-11-13 インターデイジタル テクノロジー コーポレーション ロケーション情報およびロケーション情報を用いるアクセス制御を保証する方法および機器
JP4916915B2 (ja) * 2007-02-28 2012-04-18 Kddi株式会社 端末装置、データ管理装置およびコンピュータプログラム
JP4973246B2 (ja) 2007-03-09 2012-07-11 日本電気株式会社 アクセス権管理システム、サーバ及びアクセス権管理プログラム
US8413221B2 (en) 2007-03-23 2013-04-02 Emc Corporation Methods and apparatus for delegated authentication
US7996823B2 (en) 2007-05-31 2011-08-09 International Business Machines Corporation Mechanism to provide debugging and optimization in policy and knowledge controlled distributed computing systems, through the use of tagged policies and knowledge representation elements
US20090049518A1 (en) 2007-08-08 2009-02-19 Innopath Software, Inc. Managing and Enforcing Policies on Mobile Devices
US8332922B2 (en) 2007-08-31 2012-12-11 Microsoft Corporation Transferable restricted security tokens
CN101809584B (zh) 2007-09-25 2014-01-01 日本电气株式会社 证书生成/分发系统、证书生成/分发方法和证书生成/分发程序
US8059820B2 (en) 2007-10-11 2011-11-15 Microsoft Corporation Multi-factor content protection
US8453198B2 (en) 2007-12-27 2013-05-28 Hewlett-Packard Development Company, L.P. Policy based, delegated limited network access management
US8266306B2 (en) 2007-12-31 2012-09-11 Symantec Corporation Systems and methods for delegating access to online accounts
US9323938B2 (en) 2007-12-31 2016-04-26 Enterra Solutions, Llc Holistic XACML and obligation code automatically generated from ontologically defined rule set
US8621561B2 (en) 2008-01-04 2013-12-31 Microsoft Corporation Selective authorization based on authentication input attributes
CA2621147C (en) 2008-02-15 2013-10-08 Connotech Experts-Conseils Inc. Method of bootstrapping an authenticated data session configuration
US20090210712A1 (en) 2008-02-19 2009-08-20 Nicolas Fort Method for server-side detection of man-in-the-middle attacks
US8418222B2 (en) 2008-03-05 2013-04-09 Microsoft Corporation Flexible scalable application authorization for cloud computing environments
JP2009232012A (ja) * 2008-03-21 2009-10-08 Hitachi Software Eng Co Ltd 機密データ通信システム及びプログラム
US8464058B1 (en) 2008-04-08 2013-06-11 Hewlett-Packard Development Company, L.P. Password-based cryptographic method and apparatus
US8281151B2 (en) 2008-04-09 2012-10-02 Hewlett-Packard Development Company L. P. Auditor assisted extraction and verification of client data returned from a storage provided while hiding client data from the auditor
CN102057618A (zh) 2008-06-23 2011-05-11 松下电器产业株式会社 信息处理装置、加密密钥的管理方法、计算机程序及集成电路
US8245039B2 (en) 2008-07-18 2012-08-14 Bridgewater Systems Corp. Extensible authentication protocol authentication and key agreement (EAP-AKA) optimization
US20110055585A1 (en) 2008-07-25 2011-03-03 Kok-Wah Lee Methods and Systems to Create Big Memorizable Secrets and Their Applications in Information Engineering
US8276184B2 (en) 2008-08-05 2012-09-25 International Business Machines Corporation User-centric resource architecture
US9258113B2 (en) 2008-08-29 2016-02-09 Red Hat, Inc. Username based key exchange
US8099768B2 (en) 2008-09-18 2012-01-17 Oracle America, Inc. Method and system for multi-protocol single logout
WO2010037201A1 (en) 2008-09-30 2010-04-08 Wicksoft Corporation System and method for secure management of mobile user access to enterprise network resources
KR101019322B1 (ko) 2008-10-22 2011-03-07 성균관대학교산학협력단 상황 인지 역할 기반 접근 제어 시스템 및 그 제어방법
US8744077B2 (en) 2008-10-28 2014-06-03 International Business Machines Corporation Cryptographic encoding and decoding of secret data
US8891756B2 (en) 2008-10-30 2014-11-18 Certicom Corp. Collision-resistant elliptic curve hash functions
US20100125894A1 (en) 2008-11-19 2010-05-20 At&T Intellectual Property I, L.P. Systems, methods and computer program products that facilitate remote access of devices in a subscriber network
US9106426B2 (en) 2008-11-26 2015-08-11 Red Hat, Inc. Username based authentication and key generation
US8505078B2 (en) 2008-12-28 2013-08-06 Qualcomm Incorporated Apparatus and methods for providing authorized device access
US20100205649A1 (en) 2009-02-06 2010-08-12 Microsoft Corporation Credential gathering with deferred instantiation
US20130132232A1 (en) 2009-04-22 2013-05-23 Florian Pestoni System And Method For Digital Rights Management With Delegated Authorization For Content Access
US8068504B2 (en) 2009-05-18 2011-11-29 Tresys Technology, Llc One-way router
JP5432999B2 (ja) 2009-06-23 2014-03-05 パナソニック株式会社 暗号鍵配布システム
JP2011008701A (ja) 2009-06-29 2011-01-13 Sony Corp 情報処理サーバ、情報処理装置、および情報処理方法
WO2011024298A1 (ja) * 2009-08-28 2011-03-03 リプレックス株式会社 サービスシステム
US20110055562A1 (en) 2009-08-28 2011-03-03 The Go Daddy Group, Inc. Public key certificate based social website account authentication
US8498959B2 (en) 2009-09-29 2013-07-30 Hewlett-Packard Development Company, L.P. Policy enforcement
US20110083015A1 (en) 2009-10-05 2011-04-07 Eidgenossiche Technische Hochschule Zurich System and method for an electronic signature for quick and efficient data authentication
US20110126197A1 (en) 2009-11-25 2011-05-26 Novell, Inc. System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US9225526B2 (en) 2009-11-30 2015-12-29 Red Hat, Inc. Multifactor username based authentication
JP5552541B2 (ja) 2009-12-04 2014-07-16 クリプトグラフィ リサーチ, インコーポレイテッド 検証可能な耐漏洩性暗号化および復号化
US20110167479A1 (en) 2010-01-07 2011-07-07 Oracle International Corporation Enforcement of policies on context-based authorization
US8776204B2 (en) 2010-03-12 2014-07-08 Alcatel Lucent Secure dynamic authority delegation
US20110231940A1 (en) 2010-03-19 2011-09-22 Microsoft Corporation Credential-based access to data
US8353019B2 (en) 2010-03-26 2013-01-08 Canon Kabushiki Kaisha Security token destined for multiple or group of service providers
US9015489B2 (en) 2010-04-07 2015-04-21 Microsoft Technology Licensing, Llc Securing passwords against dictionary attacks
US8918848B2 (en) 2010-04-26 2014-12-23 Blackberry Limited Method and system for third party client authentication
US9160738B2 (en) 2010-05-27 2015-10-13 Microsoft Corporation Delegation-based authorization
EP2583211B1 (en) 2010-06-15 2020-04-15 Oracle International Corporation Virtual computing infrastructure
US8625802B2 (en) * 2010-06-16 2014-01-07 Porticor Ltd. Methods, devices, and media for secure key management in a non-secured, distributed, virtualized environment with applications to cloud-computing security and management
US8352611B2 (en) 2010-06-29 2013-01-08 International Business Machines Corporation Allocating computer resources in a cloud environment
US20120017095A1 (en) 2010-07-19 2012-01-19 Coreguard Software Service for Encrypting and Decrypting Data
JP2012028860A (ja) 2010-07-20 2012-02-09 Toshiba Corp 記録装置、コントローラ及び記録装置の制御方法
US8799656B2 (en) 2010-07-26 2014-08-05 Intel Corporation Methods for anonymous authentication and key agreement
US8868923B1 (en) 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
WO2012030624A1 (en) 2010-08-30 2012-03-08 Vmware, Inc. Unified workspace for thin, remote, and saas applications
US20120060035A1 (en) 2010-09-08 2012-03-08 Microsoft Corporation Secure and Verifiable Data Handling
US8776190B1 (en) 2010-11-29 2014-07-08 Amazon Technologies, Inc. Multifactor authentication for programmatic interfaces
US8832271B2 (en) 2010-12-03 2014-09-09 International Business Machines Corporation Identity provider instance discovery
US8955035B2 (en) 2010-12-16 2015-02-10 Microsoft Corporation Anonymous principals for policy languages
US8538029B2 (en) 2011-03-24 2013-09-17 Hewlett-Packard Development Company, L.P. Encryption key fragment distribution
US8561152B2 (en) 2011-05-17 2013-10-15 Microsoft Corporation Target-based access check independent of access request
US10963584B2 (en) 2011-06-08 2021-03-30 Workshare Ltd. Method and system for collaborative editing of a remotely stored document
US8862889B2 (en) * 2011-07-02 2014-10-14 Eastcliff LLC Protocol for controlling access to encryption keys
US9009315B2 (en) 2011-07-28 2015-04-14 Telefonaktiebolaget L M Ericsson (Publ) Hierarchical delegation and reservation of lookup keys
US9178701B2 (en) 2011-09-29 2015-11-03 Amazon Technologies, Inc. Parameter based key derivation
US9197409B2 (en) 2011-09-29 2015-11-24 Amazon Technologies, Inc. Key derivation techniques
JP2014533445A (ja) * 2011-10-18 2014-12-11 榮治 渡邊 人に依存しない鍵管理のシステム
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
US20140013409A1 (en) 2012-07-06 2014-01-09 Milind I. Halageri Single sign on for cloud
US20130254536A1 (en) 2012-03-22 2013-09-26 Workshare, Ltd. Secure server side encryption for online file sharing and collaboration
US9692732B2 (en) 2011-11-29 2017-06-27 Amazon Technologies, Inc. Network connection automation
US9330245B2 (en) 2011-12-01 2016-05-03 Dashlane SAS Cloud-based data backup and sync with secure local storage of access keys
US8819444B2 (en) 2011-12-27 2014-08-26 Majid Shahbazi Methods for single signon (SSO) using decentralized password and credential management
JP5925910B2 (ja) 2011-12-28 2016-05-25 インテル コーポレイション シングルサインオンサービスを容易にする方法及び装置
US8966268B2 (en) 2011-12-30 2015-02-24 Vasco Data Security, Inc. Strong authentication token with visual output of PKI signatures
CN104115465A (zh) 2012-01-20 2014-10-22 交互数字专利控股公司 具有本地功能的身份管理
CN102624530B (zh) * 2012-03-14 2014-08-20 西安电子科技大学 无线体域网的无证书远程匿名认证方法
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US20130282461A1 (en) 2012-04-20 2013-10-24 Visa International Service Association Systems and methods to use transaction authorization communications to process offers
US9053329B2 (en) 2012-05-24 2015-06-09 Lockbox Llc Systems and methods for validated secure data access
US20140019753A1 (en) * 2012-07-10 2014-01-16 John Houston Lowry Cloud key management
US8837734B2 (en) * 2012-09-14 2014-09-16 Red Hat, Inc. Managing encrypted data and encryption keys
US8769651B2 (en) 2012-09-19 2014-07-01 Secureauth Corporation Mobile multifactor single-sign-on authentication
WO2014063361A1 (en) * 2012-10-26 2014-05-01 Nokia Corporation Methods and apparatus for data access control
US9137222B2 (en) * 2012-10-31 2015-09-15 Vmware, Inc. Crypto proxy for cloud storage services
US9064109B2 (en) 2012-12-20 2015-06-23 Intel Corporation Privacy enhanced key management for a web service provider using a converged security engine
JP6082589B2 (ja) 2012-12-25 2017-02-15 株式会社日立ソリューションズ 暗号鍵管理プログラム、データ管理システム
US9246678B2 (en) * 2013-03-14 2016-01-26 Intel Corporation Secure cloud storage and encryption management system
US10362006B2 (en) 2013-03-15 2019-07-23 Mastercard International Incorporated Systems and methods for cryptographic security as a service
US9300639B1 (en) * 2013-06-13 2016-03-29 Amazon Technologies, Inc. Device coordination
US9544293B2 (en) 2013-09-20 2017-01-10 Oracle International Corporation Global unified session identifier across multiple data centers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001236259A (ja) * 1999-12-13 2001-08-31 Mitsubishi Electric Corp 貸金庫システム
JP2002082611A (ja) * 2000-09-06 2002-03-22 Hitachi Ltd 取引情報の保全方法及び取引情報の保管元コンピュータ
JP2006522507A (ja) * 2003-04-01 2006-09-28 エントロピック・テクノロジーズ・プロプライエタリー・リミテッド セキュア通信システム及びセキュア通信方法
CN103039088A (zh) * 2010-03-17 2013-04-10 布盖斯电信公司 保证数字化数据流广播安全的方法与系统

Also Published As

Publication number Publication date
EP3011429A1 (en) 2016-04-27
CN108696520A (zh) 2018-10-23
US20140380054A1 (en) 2014-12-25
JP2016522658A (ja) 2016-07-28
JP6609010B2 (ja) 2019-11-20
CN105378649B (zh) 2018-06-08
EP3011429A4 (en) 2017-02-15
WO2014204862A1 (en) 2014-12-24
CN105378649A (zh) 2016-03-02
US9407440B2 (en) 2016-08-02
JP2018170802A (ja) 2018-11-01
JP6082166B2 (ja) 2017-02-15
EP4148554A1 (en) 2023-03-15
JP6383019B2 (ja) 2018-08-29
JP2017069988A (ja) 2017-04-06
EP3011429B1 (en) 2022-11-30
US20160285625A1 (en) 2016-09-29
US10090998B2 (en) 2018-10-02

Similar Documents

Publication Publication Date Title
CN108696520B (zh) 多权限数据安全和访问
CA2980590C (en) Key export techniques
EP3585032B1 (en) Data security service
US20190007207A1 (en) Probabilistic key rotation
US11431757B2 (en) Access control using impersonization
JP6622196B2 (ja) 仮想サービスプロバイダゾーン
CA2899027C (en) Data security service

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