CN114616567A - 访问主权 - Google Patents

访问主权 Download PDF

Info

Publication number
CN114616567A
CN114616567A CN201980101854.XA CN201980101854A CN114616567A CN 114616567 A CN114616567 A CN 114616567A CN 201980101854 A CN201980101854 A CN 201980101854A CN 114616567 A CN114616567 A CN 114616567A
Authority
CN
China
Prior art keywords
data
access
client
reason
customer
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.)
Pending
Application number
CN201980101854.XA
Other languages
English (en)
Inventor
约瑟夫·瓦伦特
妮可·琼斯
大卫·李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN114616567A publication Critical patent/CN114616567A/zh
Pending legal-status Critical Current

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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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
    • 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
    • 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
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • 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
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/321Cryptographic 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 a third party or a trusted authority
    • H04L9/3213Cryptographic 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 a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3228One-time or temporary data, i.e. information which is sent for every authentication or authorization, e.g. one-time-password, one-time-token or one-time-key

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

一种用于访问客户数据(50)的方法(400)包括接收请求访问存储在存储抽象(150)上的客户数据的访问请求(302)。访问请求包括规定请求访问客户数据的目的/原因的理由(204)。该方法还包括验证该理由,并且在验证该理由之后,将该理由发送到与客户数据的客户相关联的外部密钥管理服务(180)。外部密钥管理服务被配置为基于该理由授权或拒绝对客户数据的访问。该方法还包括:当外部密钥管理服务授权访问客户数据时,从外部密钥管理服务接收被认可的访问令牌(310);以及使用从外部密钥管理服务接收的被认可的访问令牌来访问存储抽象上存储的客户数据。

Description

访问主权
技术领域
本公开涉及访问主权。
背景技术
云服务提供商(CSP)在云端提供网络服务、基础设施或业务应用程序。使用CSP的好处在于效率和规模经济。个人和公司无需构建自己的基础架构来支持内部服务和应用程序,而是可以从提供共享基础架构服务的CSP购买这些服务。
云服务通常托管在数据中心,客户可以使用网络连接访问该数据中心。CSP可以“在云端”使用多种不同形式的服务,包括软件,通常称为软件即服务(SaaS),用于开发或托管应用程序的计算平台,称为平台即服务(PaaS)或整个网络或计算基础设施,称为基础设施即服务(IaaS)。然而,这些划分并不总是明确的。
发明内容
本公开的方面涉及访问所存储的数据。本发明的一个方面提供了一种授权访问客户数据的方法。该方法包括在数据处理硬件处接收请求访问存储在与数据处理硬件通信的存储抽象上的客户数据的访问请求,该访问请求包括规定请求访问客户数据的目的/原因的理由。该方法还包括由数据处理硬件验证该理由。在验证该理由之后,该方法包括由数据处理硬件将该理由传送到与客户数据的客户相关联的外部密钥管理服务,并与数据处理硬件通信。外部密钥管理服务被配置为授权对客户数据的访问或基于该理由拒绝对客户数据的访问。该方法还包括:当外部密钥管理服务授权访问客户数据时,在数据处理硬件处从外部密钥管理服务接收授权访问令牌;以及由数据处理硬件使用从外部密钥管理服务接收的授权访问令牌来访问存储在存储抽象上的客户数据。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,被认可的访问令牌包括客户侧密码密钥或客户侧密码密钥的标识符,用于访问存储在存储抽象上的客户数据。访问存储在存储抽象上的客户数据可以包括使用客户侧密钥对存储在存储抽象上的客户数据进行解密。在一些示例中,被认可的访问令牌在预定时间段内有效。如果当前时间在预定时间段之外,则该方法可以包括:响应于接收到被认可的访问令牌,由数据处理硬件拒绝对客户数据的访问。
在一些实施方式中,所接收的访问请求还包括与访问请求的请求者相关联的凭证,所述凭证包括用户标识符,组标识符,服务标识符,访问角色或域地址。验证所述理由还可以包括验证所述访问请求的凭证。在一些示例中,外部密钥管理服务包括用于访问存储在存储抽象上的客户数据的被认可的凭证的列表,并且外部密钥管理服务被配置为当访问请求的凭证与被认可的凭证列表中的被认可的凭证之一匹配时授权对客户数据的访问。验证该理由可以包括验证该理由的数据结构。外部密钥管理服务可以被配置为当证明满足与客户数据相关联的安全策略时授权对客户数据的访问。在一些示例中,安全策略定义用于访问存储在存储抽象上的客户数据的被认可的凭证列表或用于访问存储在存储抽象上的客户数据的被认可的目的/原因列表中的至少一个。
在访问存储在存储抽象中的客户数据之后,该方法可以包括由数据处理硬件将结果传送到与客户数据相关联的客户设备,该结果通知客户其客户数据被访问。在一些实施方式中,防止数据处理硬件访问客户数据而不使用被认可的访问令牌。外部密钥管理服务可以在与客户数据的客户相关联并且与数据处理硬件通信的远程客户设备上执行。
本公开的另一方面提供了一种用于授权访问客户数据的系统。该系统包括数据处理硬件和与数据处理硬件通信的存储器硬件。存储器硬件存储当在数据处理硬件上执行时使数据处理硬件执行操作的指令。该操作包括接收请求访问存储在与数据处理硬件通信的存储抽象上的客户数据的访问请求,该访问请求包括规定请求访问客户数据的目的/原因的理由。所述操作还包括验证所述理由。在验证了所述理由之后,所述操作包括将所述理由发送到与所述客户数据的客户相关联的外部密钥管理服务,并且与所述数据处理硬件通信。基于该理由,外部密钥管理服务被配置为授权对客户数据的访问或拒绝对客户数据的访问。所述操作还包括:当所述外部密钥管理服务授权访问所述客户数据时,从所述外部密钥管理服务接收被认可的访问令牌;以及使用从所述外部密钥管理服务接收的所述被认可的访问令牌来访问存储在所述存储抽象上的所述客户数据。
本公开的实施方式可以包括以下可选特征中的一个或多个。在一些实施方式中,被认可的访问令牌包括客户侧密码密钥或客户侧密码密钥的标识符,用于访问存储在存储抽象上的客户数据。访问存储在存储抽象上的客户数据可以包括使用客户侧密钥对存储在存储抽象上的客户数据进行解密。在一些示例中,被认可的访问令牌在预定时间段内有效。如果当前时间在预定时间段之外,则操作可以包括,响应于接收到被认可的访问令牌,由数据处理硬件拒绝对客户数据的访问。
在一些实施方式中,所接收的访问请求还包括与访问请求的请求者相关联的凭证,所述凭证包括用户标识符,组标识符,服务标识符,访问角色或域地址。验证所述理由还可以包括验证所述访问请求的凭证。在一些示例中,外部密钥管理服务包括用于访问存储在存储抽象上的客户数据的被认可的凭证的列表,并且外部密钥管理服务被配置为当访问请求的凭证与被认可的凭证列表中的被认可的凭证之一匹配时授权对客户数据的访问。验证该理由可以包括验证该理由的数据结构。外部密钥管理服务可以被配置为当理由满足与客户数据相关联的安全策略时授权对客户数据的访问。在一些示例中,安全策略定义用于访问存储在存储抽象上的客户数据的被认可的凭证列表或用于访问存储在存储抽象上的客户数据的被认可的目的/原因列表中的至少一个。
在访问存储在存储抽象上的客户数据之后,操作可以包括将结果发送到与客户数据的客户相关联的客户设备,该结果通知客户其客户数据被访问。在一些实施方式中,数据处理硬件在没有获得被许可的访问令牌的情况下被阻止访问客户数据。外部密钥管理服务可以在与客户数据的客户相关联并且与数据处理硬件通信的远程客户设备上执行。
本公开的一个或多个实施方式的细节在附图和以下描述中阐述。从说明书和附图以及从权利要求书中,其它方面,特征和优点将是显而易见的。
附图说明
图1是用于管理对存储在存储抽象上的客户数据的访问的示例系统的示意图。
图2是示例性的安全策略的示意图。
图3A是访问管理服务的示意图,其接收和验证请求访问存储在存储抽象上的客户数据的访问请求。
图3B是访问管理服务接收外部密钥管理服务的授权访问令牌并使用该授权访问令牌来访问存储在存储抽象中的客户数据的示意图。
图3C是以解密形式将客户数据发送到请求者的接入管理服务的示意图。
图4是用于管理对存储在存储抽象上的客户数据的访问的方法的操作的示例性布置。
图5是示例性计算设备的示意图。
在各个附图中相同的附图标记表示相同的元件。
具体实施方式
云服务提供商(CSP)可以提供多种特点云服务,包括传统的网络或应用程序托管提供商。例如,CSP可以从网络托管公司开始,之后提供平台即服务(PaaS),软件即服务(SaaS)和/或基础设施即服务(IaaS)等服务。许多CSP集中于特定的垂直市场,例如在安全IaaS计算系统中托管医疗保健应用程序。
分布式(云)数据存储是一种计算机数据存储模型,其中数字数据存储在逻辑池中。物理存储器可以跨越多个服务器(有时在多个位置),并且物理环境通常由托管公司(例如CSP)拥有和管理。这些云存储提供商负责保持授权用户可用和可访问的数据,并且保护和运行物理环境。个人和组织从提供商处购买或租用存储容量来存储用户、组织或应用程序数据。
云存储服务可以通过共处一地的云计算服务,网络(WEB)服务应用程序编程接口(API),或通过利用API的应用程序,诸如云桌面存储,云存储网关或基于WEB的内容管理系统来访问。分布式存储系统可以被托管在由托管公司或CSP拥有和管理的一个或多个数据中心中。在这种情况下,托管公司负责保护和运行物理环境。托管分布式存储系统的使用可能有多种原因,包括与构建专有基础设施相比成本更低、可靠性更高,以及随着客户需求的发展灵活扩展或缩减的能力。分布式存储系统可以存储客户数据,并使得客户数据可以例如使用网络连接对授权用户进行访问。分布式存储系统可以存储来自多个客户的数据,并使用共享基础设施向多个客户提供服务。在这种情况下,CSP可以在共享基础设施中提供防止从一个客户到另一个客户的数据外泄的安全措施。例如,每个客户的服务可以在虚拟机(VM)环境,容器环境或提供安全执行环境以隔离客户数据的其它形式的“竖井”中操作。这样,“客户数据”可以指存储在存储抽象上的客户的数据/内容,以及属于在CSP托管的安全执行环境中执行的客户的软件/服务的内容(例如,代码/指令)。
在一些示例中,驻留在分布式存储系统和/或户内数据存储上的存储抽象专用于一个客户并由CSP管理,其中CSP提供特定的保证和保障,即CSP或第三方中没有个人能够访问客户数据而不需要来自客户的明确同意。例如,CSP的管理员或其他经授权的个人可以具有访问角色,所述访问角色可以包括不时地检查存储在CSP托管/管理的存储抽象(例如,分布式存储抽象或现场存储)上的客户数据的内容,以便检查代码,扫描恶意软件,执行调试,或在系统上执行其他维护或操作。在另外的情形中,CSP可以由政府机构或执法机构请求以提供对存储在由CSP管理的存储抽象上的某些客户数据的访问。在这些场景中,每当客户以外的个人或实体需要访问存储在存储抽象中的客户数据时,个人或实体需要在提供访问客户数据所需的客户方(例如,客户控制的)加密密钥之前向客户提供客户必须许可(或预先许可)访问请求。例如,只有客户可以提供对请求方用来解密存储在存储抽象上的客户数据的所需密码密钥的访问。
一些客户数据可能是敏感的。例如,客户数据可以包括由隐私法管理的数据,诸如健康保险流通与责任法案(HIPAA),或一般数据保护规则(GDPR)。客户数据可以包含商业秘密或其他数据,这些数据在被公开的情况下可以实质上损害客户的商业或声誉。客户数据,无论是否敏感,都可以以加密的形式存储,并且需要密码密钥来以明文解密客户数据。在一些示例中,对客户数据的访问由外部密钥管理服务授权。外部密钥管理服务可以由客户管理,并且可以驻留在客户的场所中。在一些示例中,客户管理的外部密钥管理服务响应于来自被认可的请求者的用于授权目的的请求而提供访问密钥(例如,密码密钥)。由于存储在存储抽象中的客户数据被加密,并且因此在没有密钥的情况下是不可访问的,所以客户可以排他地控制如何从外部密钥管理系统访问访问客户数据所需的密钥。外部密钥管理服务可以驻留在客户场所上,或者驻留在与CSP管理的存储抽象隔离/独立的一些其它位置,并且包含客户数据。这里,外部密钥管理服务可以管理包括客户管理的加密密钥(CMEK)的客户端加密密钥。
在一些实施方式中,访问用CMEK加密的客户数据的每个请求都包括一个理由,该理由规定了请求访问客户数据的目的/原因,与客户相关联的外部密钥管理服务必须认可该目的/原因,以便提供相应的CMEK来访问(例如,解密)所请求的客户数据。客户可以为外部密钥管理服务建立安全策略,该外部密钥管理服务预先认可为特定请求者(例如,CSP的管理员)的凭证,以及指定用于访问客户许可的客户数据的被认可的目的/原因(例如,动作)的正当性。这样,当相应的访问请求包括与安全策略中的特定请求者相匹配的请求者的凭证和与安全策略中的特定目的原因相匹配的理由时,外部密钥管理服务将授权访问客户数据。类似地,如果访问请求不满足安全策略,则外部密钥管理系统将不提供用于访问所请求的客户数据的相应CMEK,从而防止请求者访问所请求的客户数据。在一些示例中,不满足安全策略的访问请求随后被转发给客户,以便具有用于授权/拒绝访问所请求的客户数据具有最终决定权。这样,CSP可以包括基础设施(例如,接入管理服务),其通过为客户数据服务接入请求以由外部密钥管理服务被认可来与外部密钥管理服务通信。进而,客户可以接收每个访问请求(例如,请求者,所请求的客户数据等)的结果(例如,调整日志),该结果指示外部密钥管理服务是否授权或拒绝访问请求。
在一些示例中,对于从请求者接收到的每个访问请求,CSP(例如,使用访问管理服务)可以在向外部密钥管理服务转发或中继调整之前首先验证访问请求(例如,凭证和/或调整)。通过这种方式,客户可能会更加确信访问请求最初是由CSP授权/认证的,然后才充当最终仲裁者以授权/拒绝访问访问请求中指定的客户数据。在一些示例中,CSP可以为被认为有效的访问请求提供保证,例如法律保证、担保或赔偿,以进一步增加客户对客户数据的访问被保护的置信度。例如,CSP可以强制执行请求者的监管链,以保持从一个软件应用程序中继、转发或传输到另一个软件应用程序的理由的完整性。CSP可以向客户提供包括数据访问请求的可审计日志的结果。
参考图1,在一些实施方式中,系统100包括与客户10相关联的一个或多个客户设备110,110a-n,客户10可以经由网络130与远程系统140通信。系统100还包括与请求者20相关联的一个或多个请求者设备120,120a-n,请求者20可以经由网络130与远程系统140通信。远程系统140可以是具有可调整/弹性资源142的分布式系统(例如,云环境)。资源142包括计算资源144(例如,数据处理硬件)和/或存储资源146(例如,存储器硬件)。存储抽象150(例如,密钥/值存储,文件系统,数据存储等)可以覆盖在存储资源148上,以允许可调整地使用存储源148来存储与客户10相关联的客户数据50(例如,客户10拥有客户数据50)。在一些实施方式中,计算资源144执行访问管理服务(AMS)300,其管理对存储在存储抽象150上的客户数据50的访问。例如,客户设备110可以在存储抽象150上加密和存储客户数据50,以及从存储抽象150检索和解密客户数据50。如将变得显而易见的,AMS 300不能/限制自由地访问和解密存储在存储抽象150上的客户数据50。
存储器硬件146可以是易失性和/或非易失性可寻址半导体存储器。非易失性存储器的实例包括(但不限于)快闪存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM),不必要的随机存取存储器(ORAM),动态随机存取存储器(DRAM),静态随机存取存储器(SRAM),相变存储器(PCM)以及磁盘或磁带。
网络130可以包括各种类型的网络,例如局域网(LAN),广域网(WAN)和/或因特网。尽管网络130可以代表长距离网络(例如,因特网或WAN),但是在一些实施方式中,网络130包括诸如局域网(LAN)之类的短距离网络。在一些实施方式中,网络130使用标准通信技术和/或协议。因此,网络130可以包括使用诸如以太网,无线保真(WiFi)(例如802.11),全球微波接入互操作性(WiMAX),3G,长期演进(LTE),数字用户线(DSL),异步传输模式(ATM),InfiniBand,PCI Express高级交换,蓝牙,低能量蓝牙(BLE)之类的技术的链路等。类似地,在网络130上使用的联网协议可以包括多协议标签交换(MPLS),传输控制协议/因特网协议(TCP/IP),用户数据报协议(UDP),超文本传输协议(HTTP),简单邮件传输协议(SMTP),文件传输协议(FTP)等。通过网络130交换的数据可以使用包括超文本标记语言(HTML),可扩展标记语言(XML)等的技术和/或格式来表示。此外,所有或一些链路可以使用常规加密技术来加密,例如安全套接字层(SSL),传输层安全(TLS),虚拟专用网(VPN),因特网协议安全(IPsec)等。在其它示例中,网络130使用定制和/或专用数据通信技术来代替上述技术,或者除了上述技术之外还使用定制和/或专用数据通信技术。
远程系统140可以与拥有和/或管理远程系统140的资源142的提供者(例如,云服务提供者(CSP))相关联。CSP可以允许客户10在存储抽象150上存储客户数据50和/或在客户10的资源142上执行软件服务。通常,CSP负责保持客户数据50可供授权用户使用和访问,同时确保资源142在物理环境中的操作。这样,客户10可以包括购买或租借存储容量和/或从CSP计算资源以存储和/或执行与个人用户或实体相关联的数据50的个人或实体(例如,组织)。尽管所示的示例描述了与远程系统140相关联的存储抽象150,但是存储抽象150的至少一部分可以可选地经由具有客户设备110的内联网在客户10的场所上以及在场所数据存储上实施。例如,存储抽象150可以包括位于客户10的场所上和/或位于由第三方(例如,另一CSP)管理的某一其它外部系统上的存储位置。这样,存储抽象150可以包括驻留在远程系统140上的存储位置的任何组合,客户的场所,或一个或多个其它外部系统。
客户设备110和请求者设备120可以是能够通过网络130与AMS 300通信的任何计算设备。客户设备110和请求者设备120分别包括但不限于台式计算设备和移动计算设备,诸如膝上型计算机,平板计算机,智能电话,智能扬声器/显示器/设备,以及可佩戴计算设备(例如,头戴式耳机和/或手表)。请求方设备120可以对应于请求方20,请求方20可以包括远程系统140的管理员(例如,提供远程系统140的CSP的雇员),诸如执法或政府机构的第三方用户/实体,或者要求访问存储在存储抽象上的客户数据50的一个或多个软件应用。
客户设备110可对应于远程系统140的客户10,其将其数据50存储在存储抽象150上和/或部署和/或访问在远程系统140上执行的软件应用程序。这里,客户数据50可以包括存储在存储抽象150上的指令序列和/或程序状态信息,以便由计算资源142在执行由客户10部署和/或访问的软件应用程序时使用。资源142可以提供用于在安全执行环境中执行由客户10部署的软件应用程序的虚拟机和/或容器。在一些情况下,客户数据50包括由虚拟机使用的任何数据(例如,源代码,指令,程序状态信息等)和/或由客户10部署使用的容器。这样的安全软件执行环境可以包括企业容器平台。配置企业容器平台可以包括将客户数据50复制到容器化的应用中。
存储在存储抽象150上的客户数据50在性质上可以是敏感的,并且可以被修改,更新,或者可以随时间改变。例如,客户数据50可以包括在每次交易之后更新的商业交易信息。商业交易信息可以包括库存记录,销售信息,雇员记录,医疗记录等。在一些示例中,存储在存储抽象150上的客户数据50在相对长的时间段内保持不变。例如,客户数据50可以包括计算机备份文件,计算机配置信息或其它数据。
在所示的示例中,客户10使用客户端加密密钥121对客户数据50进行加密,并将加密的客户数据50存储在存储抽象150上。另外,客户10可以定义与存储在存储抽象150上的客户数据50相关联的安全策略200。例如,客户10可以经由客户设备110向AMS 300提供身份和访问管理(IAM)策略,由此IAM策略定义安全策略200,该安全策略200指示“谁可以做什么”,其中“谁”包括证书202(图2),该证书202标识特定用户/实体/应用程序,并且“什么”标识托管客户数据50的资源142。“什么”包括分配给证书202的用于授权访问客户数据50的理由204(图2)。图2示出了与存储在存储抽象150上的客户数据50相关联的示例安全策略200。证书202可包括(但不限于)用于软件应用程序的个别识别符,群组识别符,服务识别符,存取角色和域地址。在所示的示例中,安全策略200包括标识CSP的管理员的证书202,标识服务二进制(例如,用于软件应用的源代码)的证书202,以及标识特定个人的证书202。与CSP管理员相关联的理由204包括“Customer_Initiated_Support”,其指定安全策略200将授权由证书202指定的CSP管理员访问客户数据50,以便执行需要访问客户数据50的客户发起的支持操作。与服务二进制码相关联的理由204包括“CSP_Initiated_System_Operation”,其指定安全策略200将在服务二进制码正在执行CSP发起的系统操作(例如,维护,调试等)时授权由证书202指定的服务二进制码访问客户数据50,所述CSP发起的系统操作需要访问客户数据50。与特定个人相关联的理由204包括“Read_Data”,其指定安全策略200将授权由证书202指定的特定个人读取对客户数据的访问。例如,定义安全策略200的客户10可以包括健康提供者(例如医院系统),并且在安全策略200中标识的特定个人可以是被允许访问他/她作为加密客户数据50存储的医疗记录的患者。当客户数据50与执行由客户10在安全执行环境中部署的软件应用程序的容器相关联时,安全策略200可以对应于安全上下文。这里,安全上下文可以定义容器的特权和访问控制设置,例如基于用户标识符和组标识符凭证访问对象/文件的权限。
CSP的管理员可以负责确保存储抽象150与相关的遵从机制(例如,反洗钱规则)一致地使用。管理员还可以负责调查客户140的滥用活动的投诉或其他信号。因此,管理员可以充当请求者20,并且使用请求者设备120来发送请求访问存储在存储抽象150上的客户数据50的访问请求302,以便扫描客户数据50以查找恶意软件,扫描客户数据50是否符合相关的遵守制度,或者调查关于客户10的滥用活动的投诉。在某些情况下,请求者20可以对应于所请求的客户数据50的客户10。
在一些示例中,客户设备110执行图形用户界面,该图形用户界面允许客户10定义与存储在存储抽象150上的客户数据50相关联的安全策略200。最初,图形用户界面可以填充从AMS 300接收的公共证书202和相关联的证明204的列表。这里,公共证书202和相关联的证明204包括AMS 300预期的证书202和证明204将可能被包括在用于访问客户数据120的访问请求302中。例如,一些公共的证书202可以包括被分配有理由204的特定CSP管理员访问角色,以访问客户数据50来检查代码,扫描恶意软件,执行调试,或在系统上执行其它维护或操作。使用在客户设备110上执行的图形用户界面,客户10可以选择/启用一些或全部公共的证书202和相关联的理由204,以便包括在与客户数据50相关联的安全策略200中。此外,图形用户界面可以允许客户10在任何时间管理和更新安全策略200。例如,客户10可以在任何时间向/从安全策略200添加/移除证书202和理由204。
回到图1,请求方设备120可以向AMS 300发送访问请求302,请求访问存储在存储抽象150上的客户数据50。每个访问请求302包括指定请求访问客户数据50的目的/原因的相应的理由204。在一些示例中,每个访问请求302还包括标识与访问请求302的请求者设备120相关联的请求者20的证书202。在所示的示例中,与客户10相关联的外部密钥管理服务180被配置为保存/存储/管理用于解密/加密客户数据50的客户端加密密钥121。这样,除非外部密钥管理服务180授权访问用于访问客户数据50的密钥121,否则用于加密访问请求302中的请求者设备10所请求的客户数据120的客户端密钥121由客户120管理,或者在客户120的控制下由AMS 300或请求者设备120不可访问。因此,在没有客户端侧密钥121的情况下,AMS 300不能服务于所接收的访问请求302,因为AMS 300不能解密存储在存储抽象150上的客户数据50。
在所示的示例中,为了获得客户端加密密钥121,AMS 300将访问请求302转发到外部密钥管理服务180,并且外部密钥管理服务180被配置为授权对密钥121的访问(从而授权对所请求的客户数据50的访问)或拒绝对密钥121的访问(从而阻止对所请求的客户数据50的访问)之一。更具体地,外部密钥管理服务180被配置为当理由204满足与客户数据50和对应的客户端方密钥121相关联的安全策略200时,授权对客户数据120的访问(例如,通过提供对对应的密钥121的访问)。例如,安全策略200可以定义用于访问客户数据50的被认可的证书202的列表或被认可的证明204的列表中的至少一个。这里,当访问请求302的理由204与包括在由安全策略200定义的被认可的理由204的列表中的理由204相匹配时,可以满足安全策略200。此外,外部密钥管理服务180还可以要求包括在访问请求302中的请求者20的证书202与包括在由安全策略定义的被认可的证书202的列表中的证书202相匹配,以便满足安全策略200。虽然被认可的凭证202和理由204的列表对应于图2所示例的安全策略200中的白名单,但是安全策略200可以附加地或可选地包括定义未授权证书202和/或未授权的理由204的黑名单,当黑名单被包括在相应的访问请求302中时,导致安全策略200不被满足。
在一些示例中,当外部密钥管理服务180授权访问客户数据50时,外部密钥管理服务180向AMS 300提供被认可的访问令牌310。被认可的访问令牌310可以包括客户侧密钥121或客户侧密钥121的标识符,用于访问存储在存储抽象150上的客户数据50。反过来,AMS300可以使用密钥121对所请求的客户数据50进行解密,并将解密后的客户数据50提供给请求者设备120。另外,AMS 300被配置为向客户设备110发送相应的结果320,该结果指示客户端密钥121是从外部密钥管理系统150访问的,用于对请求者20的客户数据120进行解密。这里,结果320可以标识访问请求302,包括理由204和证书202,所请求的客户数据50,访问请求被授权的指示,和/或数据50和/或密钥121何时被访问的时间戳。因此,结果320可以用作审计日志。在一些示例中,结果320可以以客户10选择的预定时间间隔或时间间隔提供,其中每个结果320包括在相应时间间隔期间接收的多个访问请求302的审核日志。
另一方面,当外部密钥管理服务180拒绝对客户数据50的访问(例如,拒绝对相应的客户端侧加密密钥121的访问)时,AMS 300可以向请求者设备120提供拒绝访问响应350,以通知请求者20拒绝对访问请求302中所请求的客户数据20的访问。在一些示例中,AMS300在经过预定时间段之后发送访问拒绝响应350,而不从外部密钥管理服务180接收授权访问令牌310。在另外的例子中,当外部密钥管理服务180拒绝访问客户数据50时,外部密钥管理服务180通知AMS 300。另外,AMS 300可以将指示访问请求302被拒绝的相应结果320发送到客户设备110。这里,结果320通知客户机设备110请求者20试图访问客户数据120,但是请求者20的访问请求302被拒绝。在这种情况下,指示拒绝访问客户数据50的结果320标识访问请求302,包括理由204和证书202,所请求的客户数据50,以及为什么拒绝访问客户数据的理由。例如,可以拒绝请求302具有无效/未经授权的证明204和/或未经授权的证书202(例如,证明204和/或证书202未列在安全策略200中。
当访问请求302的理由204未能满足相应的安全策略200时,外部密钥管理服务180可以拒绝对客户数据50的访问。然而,在一些配置中,未能满足相应的安全策略200可能不会自动导致拒绝访问请求302。在这些配置中,当不满足安全策略200时,外部密钥管理服务180可以将访问请求302转发到客户设备110,以允许客户10最终决定授权或拒绝对客户数据50的访问。例如,客户10可以检查在访问请求302中提供的证书202和证明204,并通过指示外部密钥管理服务180向AMS 300提供授权的访问令牌310来决定覆盖安全策略200。
在一些示例中,外部密钥管理服务180驻留在客户场所上并经由网络130与AMS300通信。外部密钥管理服务180可以在客户设备110上或者在与客户设备110和AMS 300通信的一些其它系统/服务上执行。
附图说明3A-3C示出了示例AMS 300的示意图300a、300b、300c,该示例AMS 300验证从请求者设备120接收的访问请求302,当外部密钥管理服务180授权访问访问请求302中所请求的客户数据50时,从外部密钥管理服务180接收经授权的访问令牌310,并且使用从外部密钥管理服务180接收的被认可的访问令牌310来访问存储在存储抽象150上的客户数据50。参照图3a,AMS 300接收请求访问存储在存储抽象150上的客户数据50的访问请求302。AMS 300可以从请求者20(例如远程系统140的管理员或第三方)接收访问请求302。这里,请求方20可以使用请求方设备120通过网络130将访问请求302发送到AMS 300。请求方设备120可以执行应用编程接口(API)以生成访问请求302并将其发送到AMS 300。在其它情况下,请求者20对应于由客户10部署的用于在远程系统上执行的软件应用程序的源代码,由此源代码要求访问客户数据50以运行软件应用程序。在这些场景中,请求者设备120可以包括执行软件应用程序的计算资源144或执行用于执行软件应用程序的虚拟机或容器的资源142的集合。软件应用程序的源代码可以向AMS 300提供多个访问请求302(例如,使用API调用发送),每个访问请求包括相应的证书202和相应的理由204。因此,访问请求302可以包括API调用,例如远程过程调用(RPC),其指定客户数据50并且包括请求者20的证书202(例如,访问角色和/或域地址)和指定用于请求访问客户数据50的目的/原因的理由204。
在所示的示例中,由AMS 300接收的访问请求302,302i对应于初始化访问请求302i,并且AMS 300执行初始化验证例程305以验证访问请求的理由204。这里,例程305执行调整检查,该检查首先确定初始化访问请求302i是否包括理由204,并且当请求302i包括理由204时,验证理由204。如果例程305确定所接收的访问请求302不包括理由204,则AMS 300将拒绝请求者20访问客户数据50。如果例程305确定访问请求302确实包括理由204,但是确定理由204无效,则AMS 300将拒绝请求者20访问客户数据50。在一些示例中,验证理由204包括验证理由204的数据结构符合指定的数据结构。在一些示例中,虚拟机(VM)包括远程访问接口,例如TELNET或安全外壳(SSH)。VMS也可以包括其它远程访问协议和接口。AMS 300可以确保VM远程访问接口在发送访问请求302时向理由204提供指定的数据结构。
在一些实施方式中,初始化验证例程305另外验证初始化访问请求302i的证书202。例如,例程305可以执行验证证书202的标识和访问管理(IAM)检查。这里,验证证书202可以包括认证证书202和确定证书202被授权访问数据50。在这些实施方式中,IAM检查可以访问授权的凭证(例如,访问角色,用户标识符,组标识符,服务标识符,域地址)的白名单,所述授权的凭证被授权访问客户数据50和/或访问未被授权访问客户数据50的凭证的黑名单。在一些示例中,初始化验证例程305访问与客户数据50相关联的安全策略200,以获得被认可的证书202列表(和/或未经授权的证书列表)。如果例程305确定访问请求302中的凭证无效,则AMS 300将拒绝请求者20访问客户数据50。
在初始化验证例程305验证访问请求302的理由204(并且可选地验证证书202)之后,AMS 300将验证的访问请求302,302v发送到与客户10相关联的外部密钥管理服务180。这里,验证的访问请求302v向客户10提供远程系统140的CSP已被认可了访问请求302的证明204以及可选地验证了访问请求302的证书202的保证。例如,验证证书202向客户10和相关联的外部密钥管理服务180提供请求者20的身份被授权和认证的保证。基于验证的访问请求302v中的理由204,外部密钥管理服务180被配置为授权对客户数据50的访问或拒绝对客户数据50的访问中的一个。
参照图3b,当外部密钥管理服务180授权访问客户数据50时,AMS 300接收授权的访问令牌310。在一些示例中,当访问请求302的理由204满足与客户数据50相关联的安全策略200时,外部密钥管理服务180授权对客户数据50的访问。例如,当理由204与由安全策略200指定的被认可的理由204列表中的理由匹配时,访问请求302的理由204可以满足安全策略200。服务180还可以要求访问请求302的证书202在授权访问客户数据40之前满足安全策略200。例如,当证书202匹配由安全策略200指定的证书202的被认可列表中的凭证时,访问请求302的证书202可以满足安全策略200。被认可的访问令牌310包括客户侧密码密钥121(例如,CMEK)或客户侧密码密钥121的标识符,用于访问存储在存储抽象150上的客户数据50。被认可的访问令牌310还可以包括访问请求302中包括的用于访问客户数据50的证书202和/或证明204。
在一些实施方式中,被认可的访问令牌310(或具体地,密钥121)由其中被认可的访问令牌310有效的预定时间段311绑定。在接收到被认可的访问令牌310之后,如果当前时间在被认可的访问令牌310指定的预定时间段311之外,则AMS 300可以拒绝被认可的访问令牌310。因此,通过预定时间段绑定被认可的访问令牌310的有效性防止了将来的任何和所有时间访问客户数据120的能力。
继续参考图3b,AMS 300使用从外部密钥管理服务180访问的客户端密钥121来访问存储在存储抽象150上的客户数据50。具体地,AMS 300可以将包括密钥121的解密请求312发送到存储抽象150,以对访问请求302中请求的客户数据50进行解密。
图3b还示出了AMS 300,其被配置为向请求者20提供拒绝访问响应350,以通知请求者20在诸如AMS 300不能验证理由204(图3a)的情况下拒绝对访问请求302中所请求的客户数据20的访问。外部密钥管理服务180拒绝对客户数据50的访问,或者被认可的访问令牌310违反令牌310有效的预定时间周期311。在这些情况下,AMS 300还可以向客户10提供结果320,以通知客户请求者20试图访问客户数据20,但是该请求被拒绝。可选地,结果320可以合理地提供请求302被拒绝的原因和/或何时接收到访问请求302的时间戳。
参照图3C,AMS 300从存储抽象150检索解密的客户数据50,并将解密的客户数据50发送到请求者20。另外,AMS 300将相应的结果320传送到客户10,以通知客户10从请求者20接收访问请求302,并且外部密钥管理服务180授权请求者20访问存储在存储抽象150上的所请求的客户数据10。结果320可以包括一个或多个时间戳,用于指示何时接收到访问请求,何时外部密钥管理服务180授权访问客户数据120和/或何时AMS 300访问密码密钥121,何时客户数据50被解密,以及何时请求者20访问解密的客户数据50。
图4是用于访问存储在存储抽象150上的客户数据50的方法400的操作的示例性布置的流程图。在操作402,方法400包括在数据处理硬件144处接收访问请求302,该访问请求302请求访问存储在与数据处理硬件142通信的存储抽象150上存储的客户数据50。访问请求302包括规定请求访问客户数据50的目的/原因的理由204。在操作404,方法400包括由数据处理硬件144验证理由204。在一些示例中,验证理由204包括验证理由204的数据结构。
在验证了理由204之后,方法400包括在操作406处,由数据处理硬件144将理由204发送到与客户数据50的客户10相关联并与数据处理硬件144通信的外部密钥管理服务180。外部密钥管理服务180被配置为基于理由204授权对客户数据50的访问或拒绝对客户数据50的访问中的一个。在一些示例中,外部密钥管理服务180被配置为当理由204满足与客户数据50相关联的安全策略200时授权对客户数据50的访问。例如,安全策略200可以定义用于访问客户数据50的被认可的目的/原因的列表,并且当理由204包括与被认可的目的/原因列表中的被认可的目的/原因之一相匹配的目的/原因时,外部密钥管理服务180可以授权访问客户数据50。
在操作408处,方法400包括当外部密钥管理服务180授权访问客户数据50时,在数据处理硬件144处从外部密钥管理服务180接收被认可的访问令牌310。令牌310可以包括客户端密钥121或密钥121的标识符,用于访问存储在存储抽象150上的客户数据50。在一些示例中,令牌310在预定时间段内有效。在这些示例中,当当前时间在预定时间段之外时,数据处理硬件144拒绝对存储在存储抽象150上的客户数据50的访问。在操作410,方法400包括由数据处理硬件144使用从外部密钥管理服务180接收的被认可的访问令牌来访问存储在存储抽象150上的客户数据50。
图5是可用于实现本文档中描述的系统和方法(例如,方法500)的示例计算设备500的示意图。计算设备500用于表示各种形式的数字计算机,例如膝上型计算机,台式计算机,工作站,个人数字助理,移动计算设备,可佩戴计算设备(例如,头戴式耳机和/或手表),服务器,刀片服务器,大型机和其它适当的计算机。这里所示的组件,它们的连接和关系以及它们的功能仅仅是示例性的,而不是要限制在本文件中描述和/或要求保护的本发明的实施方式。
计算设备500包括处理器510(例如,数据处理硬件144),存储器520(例如,存储器硬件146),存储设备530,连接到存储器520和高速扩展端口550的高速接口/控制器540,以及连接到低速总线570和存储设备530的低速接口/控制器560。部件510,520,530,540,550和560中的每一个使用各种总线互连,并且可以适当地安装在公共母板上或以其它方式安装。处理器510可以处理用于在计算设备500内执行的指令,包括存储在存储器520中或存储设备530上的指令,以在外部输入/输出设备(例如耦合到高速接口540的显示器580)上显示图形用户界面(GUI)的图形信息。在其它实施方式中,可以适当地使用多个处理器和/或多个总线以及多个存储器和存储器类型。此外,可以连接多个计算设备500,其中每个设备提供必要操作的部分(例如,作为服务器库,一组刀片服务器,或多处理器系统)。
存储器520在计算设备500内非暂时性地存储信息。存储器520可以是计算机可读介质,易失性存储器单元或非易失性存储器单元。非暂时性存储器520可以是用于临时或永久地存储由计算设备500使用的程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备。非易失性存储器的实例包括(但不限于)快闪存储器和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,例如引导程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM),动态随机存取存储器(DRAM),静态随机存取存储器(SRAM),相变存储器(PCM)以及磁盘或磁带。
存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备,硬盘设备,光盘设备,或磁带设备,闪存或其它类似的固态存储器设备,或设备阵列,包括存储区域网络中的设备或其它配置。在另外的实施方式中,计算机程序产品被有形地包含在信息载体中。所述计算机程序产品包含指令,所述指令在被执行时执行一个或多个方法,例如上述的那些方法。信息载体是计算机或机器可读介质,例如存储器520,存储设备530或处理器510上的存储器。
高速控制器540管理计算设备500的带宽密集操作,而低速控制器560管理较低的带宽密集操作。这种职责的分配仅是示例性的。在一些实施方式中,高速控制器540耦合到存储器520,显示器580(例如,通过图形处理器或加速器)以及高速扩展端口550,高速扩展端口550可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器560耦合到存储设备530和低速扩展端口590。可以包括各种通信端口(例如,USB,蓝牙,以太网,无线以太网)的低速扩展端口590可以例如通过网络适配器耦合到一个或多个输入/输出设备,例如键盘,定点设备,扫描仪,或联网设备,例如交换机或路由器。
计算设备500可以以多种不同的形式来实现,如图所示。例如,它可以被实现为标准服务器500a或者在一组这样的服务器500a中多次实现为膝上型计算机500b,或者实现为机架服务器系统500c的一部分。
在此描述的系统和技术的各种实施方式可以在数字电子和/或光学电路,集成电路,专门设计的ASIC(专用集成电路),计算机硬件,固件,软件和/或其组合中实现。这些各种实现实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实现实施方式,所述可编程系统包括至少一个可编程处理器,所述可编程处理器可以是专用的或通用的,被耦合以从存储系统,至少一个输入设备和至少一个输出设备接收数据和指令,以及向存储系统,至少一个输入设备和至少一个输出设备发送数据和指令。
这些计算机程序(也称为程序,软件,软件应用或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实现。如本文所用,术语“机器可读介质”和“计算机可读介质”是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品,非暂时性计算机可读介质,设备和/或设备(例如,磁盘,光盘,存储器,可编程逻辑设备(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”是指用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器来执行,这些可编程处理器执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路执行,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。例如,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括或被可操作地耦合以从一个或多个大容量存储设备接收数据或向一个或多个大容量存储设备传送数据,所述大容量存储设备用于存储数据,例如磁盘,磁光盘或光盘。然而,计算机不必具有这样的设备。适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器,介质和存储器设备,包括例如半导体存储器设备,例如EPROM,EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
为了提供与用户的交互,本公开的一个或多个方面可以在具有显示设备的计算机上实现,所述显示设备例如CRT(阴极射线管),LCD(液晶显示器)监视器,或者用于向用户显示信息的触摸屏,并且可选地还具有键盘和定点设备,例如鼠标或轨迹球,通过所述定点设备用户可以向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈,听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音,语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从WEB浏览器接收的请求向用户的客户设备上的WEB浏览器发送网页。
已经描述了多种实施方式。然而,应当理解,在不脱离本公开的精神和范围的情况下,可以进行各种修改。因此,其它实施方式也在所附权利要求的范围内。

Claims (28)

1.一种方法(400),其特征在于,包括:
在数据处理硬件(144)处接收访问请求(302),所述访问请求(302)请求访问存储在与所述数据处理硬件(144)通信的存储抽象(150)上的客户数据(50),所述访问请求(302)包括规定请求访问所述客户数据(50)的目的/原因的理由(204);
由所述数据处理硬件(144)验证所述理由(204);
所述数据处理硬件(144)在验证了所述理由(204)之后,将所述理由(204)发送到与所述客户数据(50)的客户相关联并且与所述数据处理硬件(144)通信的外部密钥管理服务(180),所述外部密钥管理服务(180)被配置为基于所述理由(204)来授权对所述客户数据(50)的访问或拒绝对所述客户数据(50)的访问中的一个;
当所述外部密钥管理服务(180)授权访问所述客户数据(50)时,在所述数据处理硬件(144)处从所述外部密钥管理服务(180)接收被认可的访问令牌(310);和
由所述数据处理硬件(144)使用从所述外部密钥管理服务(180)接收到的所述被认可的访问令牌(310)来访问存储在所述存储抽象(150)上的所述客户数据(50)。
2.根据权利要求1所述的方法(400),其特征在于,所述被认可的访问令牌(310)包括用于访问存储在所述存储抽象(150)上的所述客户数据(50)的客户侧密码密钥(121)或所述客户侧密码密钥(121)的标识符。
3.根据权利要求2所述的方法(400),其特征在于,访问存储在所述存储抽象(150)上的所述客户数据(50)包括:使用所述客户侧密码密钥(121)来解密存储在所述存储抽象(150)上的所述客户数据(50)。
4.根据权利要求1-3中任一项所述的方法(400),其特征在于,所述被认可的访问令牌(310)在预定时间段(311)内有效。
5.根据权利要求4所述的方法(400),其特征在于,所述方法(400)还包括:响应于(350)接收到的所述被认可的访问令牌(310),如果当前时间在所述预定时间段(311)之外,则由所述数据处理硬件(144)拒绝对所述客户数据(50)的访问。
6.根据权利要求1-5中任一项所述的方法(400),其特征在于,接收到的所述访问请求(302)还包括与所述访问请求(302)的请求者(20)相关联的证书(202),所述证书(202)包括用户标识符、组标识符、服务标识符、访问角色或域地址。
7.根据权利要求6所述的方法(400),其特征在于,验证所述理由(204)还包括:验证所述访问请求(302)的所述证书(202)。
8.根据权利要求6或7所述的方法(400),其特征在于:
所述外部密钥管理服务(180)包括用于访问存储在所述存储抽象(150)上的所述客户数据(50)的被认可的证书(202)的列表;以及
所述外部密钥管理服务(180)被配置为当所述访问请求(302)的所述证书(202)与所述被认可的证书(202)的列表中的所述被认可的证书(202)中的一个相匹配时,授权对所述客户数据(50)的访问。
9.根据权利要求1-8中任一项所述的方法(400),其特征在于,验证所述理由(204)包括:验证所述理由(204)的数据结构。
10.根据权利要求1-9中任一项所述的方法(400),其特征在于,所述外部密钥管理服务(180)被配置为,当所述理由(204)满足与所述客户数据(50)相关联的安全策略(200)时,授权对所述客户数据(50)的访问。
11.根据权利要求10所述的方法(400),其特征在于,所述安全策略(200)定义以下至少一个:
用于访问存储在所述存储抽象(150)上的所述客户数据(50)的所述被认可的证书(202)的列表;或
用于访问存储在所述存储抽象(150)上的所述客户数据(50)的被认可的目的/原因的列表。
12.根据权利要求1-11中任一项所述的方法(400),其特征在于,还包括:在访问存储在所述存储抽象(150)上存储的所述客户数据(50)之后,由所述数据处理硬件(144)将所述结果(320)发送到与所述客户数据(50)的所述客户相关联的客户设备(110),所述结果(320)通知所述客户所述客户数据(50)被访问了。
13.根据权利要求1-12中任一项所述的方法(400),其特征在于,防止所述数据处理硬件(144)在没有所述被认可的访问令牌(310)的情况下访问所述客户数据(50)。
14.根据权利要求1-13中任一项所述的方法(400),其特征在于,所述外部密钥管理服务(180)在与所述客户数据(50)的所述客户相关联并且与所述数据处理硬件(144)通信的远程的客户设备(110)上执行。
15.一种系统(100),其特征在于,包括:
数据处理硬件(144);和
存储器硬件(146),所述存储器硬件(146)与所述数据处理硬件(144)通信,所述存储器硬件(146)存储指令,当所述指令在所述数据处理硬件(144)上执行时,使得所述数据处理硬件(144)执行以下操作:
接收访问请求(302),所述访问请求(302)请求访问存储在与所述数据处理硬件(144)通信的存储抽象(150)上的客户数据(50),所述访问请求(302)包括规定请求访问所述客户数据(50)的目的/原因的理由(204);
验证所述理由(204);
在验证了所述理由(204)之后,将所述理由(204)发送到与所述客户数据(50)的客户相关联并且与所述数据处理硬件(144)通信的外部密钥管理服务(180),所述外部密钥管理服务(180)被配置为基于所述理由(204)来授权对所述客户数据(50)的访问或拒绝对所述客户数据(50)的访问中的一个;
当所述外部密钥管理服务(180)授权访问所述客户数据(50)时,从所述外部密钥管理服务(180)接收被认可的访问令牌(310);以及
使用从所述外部密钥管理服务(180)接收到的所述被认可的访问令牌(310)来访问存储在所述存储抽象(150)上的所述客户数据(50)。
16.根据权利要求15所述的系统(100),其特征在于,所述被认可的访问令牌(310)包括用于访问存储在所述存储抽象(150)上的所述客户数据(50)的客户侧密码密钥(121)或所述客户侧密码密钥(121)的标识符。
17.根据权利要求16所述的系统(100),其特征在于,访问存储在所述存储抽象(150)上的所述客户数据(50)包括,使用所述客户侧密码密钥(121)来解密存储在所述存储抽象(150)上的所述客户数据(50)。
18.根据权利要求15-17中任一项所述的系统(100),其特征在于,所述被认可的访问令牌(310)在预定时间段(311)内有效。
19.根据权利要求18所述的系统(100),其特征在于,所述操作还包括:响应于(350)接收到所述被认可的访问令牌(310),如果当前时间在所述预定时间段(311)之外,则拒绝对所述客户数据(50)的访问。
20.根据权利要求15-19中任一项所述的系统(100),其特征在于,接收到的所述访问请求(302)还包括与所述访问请求(302)的请求者(20)相关联的证书(202),所述证书(202)包括用户标识符、组标识符、服务标识符、访问角色或域地址。
21.根据权利要求20所述的系统(100),其特征在于,验证所述理由(204)还包括,验证所述访问请求(302)的所述证书(202)。
22.根据权利要求20或21所述的系统(100),其特征在于:
所述外部密钥管理服务(180)包括用于访问存储在所述存储抽象(150)上的所述客户数据(50)的认可的证书(202)的列表;以及
所述外部密钥管理服务(180)被配置为当所述访问请求(302)的所述证书(202)与所述被认可的证书(202)的列表中的所述被认可的证书(202)中的一个相匹配时,授权对所述客户数据(50)的访问。
23.根据权利要求15-22中任一项所述的系统(100),其特征在于,验证所述理由(204)包括:验证所述理由(204)的数据结构。
24.根据权利要求15-23中任一项所述的系统(100),其特征在于,所述外部密钥管理服务(180)被配置为:当所述理由(204)满足与所述客户数据(50)相关联的安全策略(200)时,授权对所述客户数据(50)的访问。
25.根据权利要求24所述的系统(100),其特征在于,所述安全策略(200)定义以下至少一个:
用于访问存储在所述存储抽象(150)上的所述客户数据(50)的所述被认可的证书(202)的列表;或
用于访问存储在所述存储抽象(150)上的所述客户数据(50)的被认可的目的/原因的列表。
26.根据权利要求15-25中任一项所述的系统(100),其特征在于,所述操作还包括:在访问所述客户数据(50)之后,将结果(320)发送到与所述客户数据(50)的所述客户相关联的客户设备(110),所述结果(320)通知所述客户所述客户数据(50)被访问了。
27.根据权利要求15-26中任一项所述的系统(100),其特征在于,防止所述数据处理硬件(144)在没有所述被认可的访问令牌(310)的情况下访问所述客户数据(50)。
28.根据权利要求15-26中任一项所述的系统(100),其特征在于,所述外部密钥管理服务(180)在与所述客户数据(50)的所述客户相关联并且与所述数据处理硬件(144)通信的远程的所述客户设备(110)上执行。
CN201980101854.XA 2019-09-04 2019-11-25 访问主权 Pending CN114616567A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962895690P 2019-09-04 2019-09-04
US62/895,690 2019-09-04
PCT/US2019/063021 WO2021045796A1 (en) 2019-09-04 2019-11-25 Access sovereignty

Publications (1)

Publication Number Publication Date
CN114616567A true CN114616567A (zh) 2022-06-10

Family

ID=68944411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980101854.XA Pending CN114616567A (zh) 2019-09-04 2019-11-25 访问主权

Country Status (4)

Country Link
US (3) US11277263B2 (zh)
EP (1) EP4010830A1 (zh)
CN (1) CN114616567A (zh)
WO (1) WO2021045796A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11385940B2 (en) 2018-10-26 2022-07-12 EMC IP Holding Company LLC Multi-cloud framework for microservice-based applications
US11533317B2 (en) * 2019-09-30 2022-12-20 EMC IP Holding Company LLC Serverless application center for multi-cloud deployment of serverless applications
US11741254B2 (en) * 2020-04-08 2023-08-29 International Business Machines Corporation Privacy centric data security in a cloud environment
US11469887B1 (en) * 2020-06-29 2022-10-11 Amazon Technologies, Inc. Remote hardware execution service with customer consented debugging
US11646878B2 (en) * 2020-07-10 2023-05-09 International Business Machines Corporation Distributing encrypted data objects with encryption information as metadata
US11972003B2 (en) * 2020-12-03 2024-04-30 Capital One Services, Llc Systems and methods for processing requests for access
CN113452711B (zh) * 2021-06-29 2023-07-14 新华三大数据技术有限公司 云桌面的单点登录方法及网络设备
US20240177115A1 (en) * 2022-11-28 2024-05-30 Google Llc Software Defined Community Cloud

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9106445B2 (en) * 2011-06-16 2015-08-11 Verizon Patent And Licensing Inc. Virtual extended network
EP2544117A1 (en) 2011-07-08 2013-01-09 Gemalto SA Method and system for sharing or storing personal data without loss of privacy
US8990558B2 (en) 2011-11-09 2015-03-24 Safer Point Ltd Securing information in a cloud computing system
US20160234215A1 (en) * 2012-02-29 2016-08-11 Google Inc. Method and system for managing data access within an enterprise
US10567492B1 (en) * 2017-05-11 2020-02-18 F5 Networks, Inc. Methods for load balancing in a federated identity environment and devices thereof
US11489671B2 (en) * 2019-06-25 2022-11-01 Salesforce, Inc. Serverless connected app design

Also Published As

Publication number Publication date
US11924344B2 (en) 2024-03-05
US20220182225A1 (en) 2022-06-09
US20210067324A1 (en) 2021-03-04
US11652624B2 (en) 2023-05-16
US20230254140A1 (en) 2023-08-10
EP4010830A1 (en) 2022-06-15
WO2021045796A1 (en) 2021-03-11
US11277263B2 (en) 2022-03-15

Similar Documents

Publication Publication Date Title
US11924344B2 (en) Access sovereignty
US9680654B2 (en) Systems and methods for validated secure data access based on an endorsement provided by a trusted third party
US9948652B2 (en) System for resource-centric threat modeling and identifying controls for securing technology resources
US9525666B2 (en) Methods and systems for managing concurrent unsecured and cryptographically secure communications across unsecured networks
KR102037160B1 (ko) 기대치에 따른 데이터 보안 작동
CN108701094B (zh) 在基于云的应用中安全地存储和分发敏感数据
US20150012977A1 (en) Method and apparatus for security in cloud computing service
Industry Data security standard
US9521032B1 (en) Server for authentication, authorization, and accounting
JP5827680B2 (ja) IPsecとIKEバージョン1の認証を伴うワンタイム・パスワード
Ahuja et al. A survey of the state of cloud security
Vegesna Investigations on Different Security Techniques for Data Protection in Cloud Computing using Cryptography Schemes
US9832201B1 (en) System for generation and reuse of resource-centric threat modeling templates and identifying controls for securing technology resources
US9864853B2 (en) Enhanced security mechanism for authentication of users of a system
WO2023088925A1 (en) Trusted execution environment for service mesh
US11750397B2 (en) Attribute-based encryption keys as key material for key-hash message authentication code user authentication and authorization
Sailakshmi Analysis of Cloud Security Controls in AWS, Azure, and Google Cloud
Trias et al. Enterprise level security
Stöcklin Evaluating SSH for modern deployments
US20220311777A1 (en) Hardening remote administrator access
EP3793130A1 (en) Secure decentralized cloud computing with privacy controls
Milenkovic et al. Chapter 5: Security and Management
Tesfaye An analysis of BYOD architectures in relation to mitigating security risks
Sharma et al. An implementation for conserving privacy based on encryption process to secured cloud computing environment
Majumdar Cloud Computing and Its Security

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