CN112514348A - 安全绑定工作流 - Google Patents

安全绑定工作流 Download PDF

Info

Publication number
CN112514348A
CN112514348A CN201980050599.0A CN201980050599A CN112514348A CN 112514348 A CN112514348 A CN 112514348A CN 201980050599 A CN201980050599 A CN 201980050599A CN 112514348 A CN112514348 A CN 112514348A
Authority
CN
China
Prior art keywords
application
service
credential
credentials
location identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201980050599.0A
Other languages
English (en)
Other versions
CN112514348B (zh
Inventor
A·D·利
C·杰克逊
E·J·马尔姆
S·C·莱文
Z·D·罗宾逊
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.)
Pivotal Software Inc
Original Assignee
Pivotal Software 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 Pivotal Software Inc filed Critical Pivotal Software Inc
Publication of CN112514348A publication Critical patent/CN112514348A/zh
Application granted granted Critical
Publication of CN112514348B publication Critical patent/CN112514348B/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

在计算机存储介质上编码的用于将服务凭证绑定到应用程序的方法、***和计算机程序。一个示例***接收对云应用平台中应用程序的服务绑定请求。该服务绑定请求包括绑定由云应用平台中的服务主机提供的服务的请求。该服务绑定请求指定(i)该服务的标识符和(ii)该应用程序的唯一标识符。该***从服务主机接收用于应用程序访问该服务的凭证。该***将凭证提供给安装在云应用平台上的安全凭证中心。该安全凭证中心将凭证与凭证位置标识符关联地存储。该***向应用程序的唯一标识符授予对凭证位置标识符的读取访问权限。该***将凭证位置标识符存储为该应用程序的应用程序元数据。

Description

安全绑定工作流
相关申请的交叉引用
本申请要求2018年9月12日提交的美国专利申请No.16/129,517的优先权,其全部内容通过引用合并于本文。
背景技术
本说明书涉及计算平台。
计算平台是为组织提供虚拟空间的服务,可以在虚拟空间中开发、部署、运行和管理其用户提供的进程。计算平台的一个示例是云应用平台,云应用平台促进移动和Web应用程序的开发。通常,云应用平台包括应用程序编程接口(API),所述API为开发人员提供对平台的访问。通过该API,开发人员可以将其应用程序代码上传到该平台,可以连接到支持其应用程序的服务,并可以编译和运行其应用程序。该API还可以为组织定义空间和用户角色。空间是开发、部署或维护应用程序的共享位置。用户角色定义了开发人员对这些空间的访问。
云应用平台跟踪应用程序代码、应用程序版本和应用程序实例。它们还可以提供对服务的访问,其简化了应用程序的该开发和管理,使开发人员能够专注于其应用程序代码中的逻辑。服务是应用程序实现其预期功能所必需的外部资源。服务提供了诸如中间件、数据库、消息队列、电子邮件等资源。
通常,云应用平台上的应用程序使用由相应服务生成的服务凭证(例如,用户账户的用户名和密码)来访问该相应服务。该服务凭证可以作为该应用程序的元数据存储在该云应用平台上的中心化数据库中。将服务凭证存储为元数据存在一些安全缺陷。例如,该服务凭证可能需要通过该***的某些组件不透明地传输,从而有可能使服务暴露于比必要范围更广范围的漏洞和攻击。此外,该服务凭证对于托管应用程序实例的计算资源可能是可见的。
发明内容
本说明书描述了用于在云应用平台上安全存储用于服务的服务凭证的技术。在平台控制器的指导下,对于云应用平台上的特定应用程序,特定服务的服务代理向该服务发送供应请求和服务绑定请求。该供应请求导致该服务为该应用程序保留资源。例如,如果该服务是数据库服务,则该供应请求可能导致该服务创建为该应用程序保留的新数据库实例。同时,该服务绑定请求导致该服务提供允许该应用程序访问该服务的凭证。该凭证通常是“属于”该应用程序的用户账户的用户名和密码。
该服务代理从该服务接收凭证,但不将该凭证存储在云应用平台上的中心化数据库中。相反,该服务代理将该凭证提供给安装在云应用平台上的安全凭证中心。安全凭证中心将凭证存储在由凭证位置标识符标识的位置中。安全凭证中心将凭证位置标识符提供给服务代理。凭证存储中心还基于应用程序的唯一标识符,授予发送了对其的绑定请求的应用程序的读取访问权限。
此后,服务代理将凭证位置标识符(而不是实际凭证)提供给云应用平台的中心化数据库。凭证位置标识符作为应用程序的元数据存储在中心化数据库中。
当云应用平台启动应用程序的实例时,托管实例的计算资源生成证书,该证书对应用程序的唯一标识符进行编码。为了访问服务,计算资源将证书和凭证位置标识符提供给安全凭证中心。安全凭证中心查证唯一标识符是否与可以访问由凭证位置标识符定义的位置的应用程序相关联,并将存储在该位置的凭证提供给计算资源。然后,计算资源用该凭证填充应用程序的启动实例的进程环境。应用程序可以通过从进程环境获取凭证来访问服务。
本说明书中描述的主题可以在特定实施例中实施,以便实现以下优点中的一个或更多个。通过将凭证位置标识符存储为应用程序元数据而不是服务凭证,即通过存储对服务凭证的引用而不是服务凭证本身,来限制对那些服务凭证的访问。只有具有唯一标识符的应用程序才能检索凭证,该唯一标识符被授予对存储凭证的安全凭证中心中的位置的读取访问权限。云应用平台的其他组件(以及使用云应用平台的开发人员和实体)无法访问该位置。因此,服务凭证仅公开给创建它们的服务、负责存储它们的实体,以及消费实体,例如,托管使用相应服务的应用程序的容器。这限制了开发人员和其他实体有意或无意地查看、使用或分发这些凭证的能力。
使用服务代理还可以确保凭证不会暴露给不需要这些凭证的云应用平台的组件。服务代理促进了平台控制器、安全凭证中心和托管应用程序实例的计算资源之间的安全通信。服务代理通过使用传输层安全性(TLS)协议来促进安全通信,该协议提供具有相互认证、数据机密性和完整性、密钥生成和分发、以及安全性参数协商的连接安全性。
将服务凭证存储在单独的组件中还允许云应用平台将更改服务凭证的进程与更改应用程序状态解耦合,这实现了服务凭证轮换,而无需跨计算资源重新调度应用程序工作负载。
最后,从应用程序的角度来看,没有什么不同。当启动应用程序实例时,将提供应用程序期望在进程环境中看到的凭证。
本说明书主题的一个或更多个实施例的细节在附图和以下描述中阐述。根据说明书、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示例云应用平台的示意图。
图2是用于将服务绑定到云应用平台中的应用程序的示例过程的流程图。
图3是用于用服务凭证填充应用程序实例的进程环境的示例过程的流程图。
在各个附图中,类似的附图标记和名称表示类似的元件。
具体实施方式
图1是示例云应用平台100的示意图。云应用平台100是计算服务,其向组织提供虚拟空间,在虚拟空间中开发、部署、运行和管理其移动和web应用。
云应用平台100包括平台控制器110。平台控制器110可以跟踪应用程序代码、应用程序版本和应用程序实例。平台控制器110还包括API 112,API 112可以向开发者提供对云应用平台100的访问。在一些实现方式中,API 112是图形用户界面。在其他实现方式中,API112是命令行接口。通过API 112,开发者可以将其应用程序代码上传到云应用平台100,并编译和运行其应用程序。API 112还可以允许开发者为组织定义空间和用户角色。空间是开发、部署或维护应用程序的共享位置。用户角色定义了开发者对这些空间的访问。
API 112还可以提供对简化应用程序的开发和管理的服务的访问,从而允许开发者专注于其应用程序代码的逻辑。服务提供了诸如中间件、数据库、消息队列、电子邮件等资源。
云应用平台100具有容器管理***120,容器管理***120可以控制在其中托管应用程序实例的容器。即,容器管理***120可以创建在其中运行应用程序实例的容器,并调整这些容器之间的资源分配。
容器管理***120可以托管一个或更多个虚拟机,并且每个虚拟机可以托管一个或更多个应用程序实例容器122a-122n。在本说明书中,容器是指由操作***级虚拟化实现的隔离的用户空间实例。容器共享其各自计算***的计算资源,例如内存或处理能力。计算***可以根据需要动态调整容器之间的资源分配。
容器在几个方面与虚拟机不同。首先,托管在特定物理计算机上的容器可以与托管在同一物理计算机上的其他容器共享操作***资源。因此,仅使用单个操作***来运行多个容器是可能的。另一方面,不同的虚拟机不共享操作***资源。换句话说,要在同一物理计算机上运行两个不同的虚拟机,通常需要运行两个完整的操作***。
其次,计算***可以将不同级别的计算资源分配给在同一物理计算机上运行的不同容器。此外,可以动态更改该分配。相反,虚拟机无法轻松更改虚拟机上对程序的资源分配。
应用程序的每个实例都可以在虚拟机之一中的其自己的容器中运行。该容器可以使用操作***特征以及虚拟和物理基础设施的特性,来隔离进程、内存和文件***,云应用平台100部署在虚拟和物理基础设施中。
云应用平台100还包括中心化数据库130。中心化数据库130可以存储任何适当的应用程序数据,例如,应用程序代码、应用程序名称、由开发者指定的实例数量、应用程序的构建包(如果适用),以及与支持应用程序的服务相关的信息。
开发者可以使用云应用平台100来部署和运行其应用程序。首先,开发者可以通过平台控制器110的API 112来提供包含应用程序源代码的目录,并且可以使用API 112来发布推送命令。推送命令启动一系列步骤,这些步骤最终使得应用程序在云应用平台100上运行,在其中应用程序可以开始执行任务,例如,服务来自外部用户的请求。
响应于接收到推送命令,平台控制器110可以在中心化数据库130中创建应用程序的记录。也就是说,平台控制器110将应用程序元数据写入中心化数据库130,应用程序元数据包括例如应用程序名称、开发者指定的实例数量和用于应用程序的构建包以及其他信息。平台控制器110还可以将指定目录中的应用程序文件写入中心化数据库130,并且可以从这些应用程序文件来创建应用程序包。然后,平台控制器110可以向容器管理***120发出暂存(staging)请求,容器管理***120调度容器来运行应用程序的暂存任务。暂存任务可以下载应用程序的构建包,并可以使用构建包来编译和暂存应用程序。
调度用于暂存应用程序的虚拟机,可以将暂存过程的输出流式传输到API 112,以便开发者可以对应用程序暂存问题进行故障排除。暂存任务可以将已编译和暂存的应用程序打包到一执行单元中,执行单元被选择为在其自己的容器中运行。暂存任务还可以将数据写入高速缓存,以备下次暂存应用程序之用。
如上,云应用平台100上的应用程序可以利用服务。服务促进了应用程序的开发、部署和管理。例如,服务通过允许开发者专注于其应用程序代码中的逻辑,而不是后端基础设施,简化了应用程序的开发和管理。尽管在图1中仅描绘了单个服务140,但是云应用平台100可以提供对任何数量服务的访问。服务的示例包括中间件、数据库、消息队列和电子邮件,仅举几例。
云应用平台100包括一个或更多个服务代理150,以促进平台控制器110、一个或更多个服务,以及托管应用程序实例的一个或更多个容器之间的安全通信。在一些实施例中,云应用平台100具有单个服务代理。例如,图1的云应用平台100仅包括连接到多个服务的单个服务代理150。在其他实现方式中,云应用平台100具有多个服务代理。例如,云应用平台100可以针对每个服务具有单独的服务代理。为了方便起见,云应用平台100将被描述为具有单个服务代理。
在一些实现方式中,服务代理150是云应用平台100的独立底层组件。在其他实现方式中,服务代理150是在云应用平台100上运行的应用程序。
服务代理150可以实现API,平台控制器110是用于API的客户端。服务代理150可以公布服务目录,服务目录是针对一个或更多个服务的服务供应和服务计划。服务代理150还可以促进从平台控制器110到服务的传输请求。供应请求为特定的应用程序实例保留服务上的资源。保留的资源也称为服务实例。绑定请求要求服务提供允许应用程序实例或在其中运行应用程序实例的容器访问保留的资源的凭证,例如用户账户的用户名和密码。并且取消供应请求(de-provision)将删除资源。服务实例的内容可能因服务而异,它可以是多租户服务器上的单个数据库、专用集群,甚至是Web应用上的账户。
服务代理150可以使用任何适当的协议与服务以及与云应用平台100的其他组件建立安全连接。例如,服务代理150可以使用传输层安全性(TLS)协议,该协议提供与相互认证、数据机密性和完整性、密钥生成和分发以及安全性参数协商的连接。使用TLS协议可确保第三方无法访问凭证,因为凭证在服务和服务代理150之间交换,或者在服务代理150和云应用平台100的其他组件之间交换。
云应用平台100的框架可用于减少暴露给服务凭证的组件。为此,云应用平台100上的中心化数据库130可以存储对服务凭证的引用,而不是存储服务凭证本身。实际的服务凭证可以使用更严格的访问控制和内置的安全协议存储在不同的位置。为此,云应用平台100还包括安全凭证中心160,安全凭证中心160可以存储服务凭证。除了存储服务凭证之外,安全凭证中心160还可以存储凭证元数据并处理凭证的生成和版本控制。
在服务140创建了服务实例并为应用程序创建了服务凭证之后,平台控制器110可以从开发者或从应用程序部署管线接收将服务凭证应用于应用程序的请求。通常,这样的请求与启动应用程序的请求相关联。在这种情况下,如上所述,平台控制器110可以指示容器管理***120在新容器中启动应用程序。
然后,容器可以开始将服务凭证应用于应用程序。为此,容器可以生成证书,该证书对应用程序的唯一标识符进行编码。容器可以向安全凭证中心160提供证书和对服务凭证的引用两者。安全凭证中心160使用(i)编码在证书中的唯一标识符和(ii)对服务凭证的引用,来查证(verify)应用程序是否可以访问服务凭证。一旦安全凭证中心160确实确定了应用程序可以访问服务凭证,它就会从该引用所标识的位置检索服务凭证。安全凭证中心160可以选择性地使用证书中提供的附加信息来对凭证进行加密。
容器从安全凭证中心160接收用于应用程序访问服务的凭证。此后,容器可以在应用程序的运行实例的进程环境中填充凭证。通过从该进程环境中获取凭证,应用程序可以使用该凭证来访问服务。
以上描述的将服务凭证绑定到应用程序的过程,可以在应用程序生命周期的几个阶段之一执行。在某些实现方式中,应用程序的构建包(buildpack)包括指定如何配置应用程序以与服务进行通信的代码。在这样的实现方式中,绑定过程在应用程序的初始编译和暂存期间执行,并且当启动应用程序时,在其中运行应用程序的容器会在应用程序的进程环境中填充服务凭证。在其他实现方式中,平台控制器110将单独的代码注入在其中运行应用程序的容器中。单独的代码可以使容器仅在需要时才填充特定的服务凭证,即,在暂存的应用程序需要访问服务时才填充。在其他实现方式中,容器可以在应用程序启动时绑定某些凭证,并且仅在应用程序需要它们时才绑定某些凭证。
图2是用于将服务绑定到云应用平台中的应用程序的示例过程的流程图。该过程可以由云应用平台的一个或更多个组件执行,还可以在该组件的指示下执行。例如,该过程可以由服务代理150在平台控制器110的指示下执行。为方便起见,该过程将被描述为由一个或更多个位置中的一个或更多个计算机的***执行。
***接收云应用平台中的应用程序的服务绑定请求(210)。通常,开发者使用云应用平台的API发起服务绑定请求。API可以提供服务列表,并且针对每个服务提供计划列表。每个计划以不同的成本提供不同级别的资源。开发者可以通过选择特定服务和特定计划,来发起服务绑定请求。例如,开发者可以在存储服务上选择2GB的计划。
服务绑定请求是从特定服务主机检索凭证(例如用户账户的用户名和密码)的请求。凭证允许应用程序访问服务主机提供的资源。继续上面的示例,凭证将允许应用程序访问服务器上2GB的存储空间。服务绑定请求指定所需服务的标识符和将使用服务的应用程序的唯一标识符。在某些情况下,唯一标识符标识尚未启动的应用程序。
在某些情况下,供应请求先于服务绑定请求。供应请求为应用程序保留服务资源。
响应于服务绑定请求,***从服务主机接收用于应用程序访问服务的凭证(220)。
***向安装在云应用平台上的安全凭证中心提供凭证(230)。在一些实现方式中,安全凭证中心是应用程序。在其他实现方式中,安全凭证中心是云应用平台的本机组件。
安全凭证中心与凭证位置标识符相关联地存储凭证,凭证位置标识符表示安全凭证中心中存储服务凭证的位置。在一些实现方式中,凭证位置标识符是路径,例如,安全凭证中心中存储服务凭证的文件或目录的名称。
***还向安全凭证中心提供应用程序的唯一标识符,该应用程序将使用该凭证访问服务。安全凭证中心向具有唯一标识符的应用程序授予对安全凭证中心中由凭证位置标识符标识的位置的读取访问权限(240)。这样,只有该应用程序可以访问该凭证,而其他应用程序则不能访问。
最后,***将凭证位置标识符作为应用程序元数据存储在云应用平台的中心化数据库中(250)。因为***并不将凭证本身存储在中心化数据库中,所以开发者和其他应用程序无法访问该服务。
图3是用于在应用程序的环境内填充服务凭证以使应用程序可以访问服务的示例过程的流程图。该过程可以由云应用平台的一个或更多个组件执行,或在其指示下执行。例如,该过程可以由服务代理150在平台控制器110的指示下执行,或者在托管需要使用凭证的应用程序的计算资源的指示下执行。
***接收在应用程序的环境变量内填充凭证的请求(310)。通常,在启动应用程序时,***从容器管理***接收该请求。在某些情况下,容器管理***仅在应用程序需要访问服务时才发送请求。
响应于请求,在云应用平台内托管应用程序的计算资源,例如托管应用程序的虚拟机或容器,生成对应用程序的唯一标识符进行编码的证书(320)。在一些实现方式中,证书包括用于加密计算资源与安全凭证中心之间的消息的公钥和私钥对。消息通常根据TLS协议来进行加密。在一些实现方式中,证书用中间证书签名,与主证书的情况相比,中间证书对于该计算资源是唯一的,而不是一组计算资源。在某些情况下,托管应用程序的计算资源可以使用此中间证书进行预先配置。如果托管应用程序实例的每个计算资源都具有其自己的中间证书和私钥对,则安全凭证中心可以在查证证书时更具选择性。例如,安全凭证中心可以检查与唯一标识符相对应的应用程序实例是否实际位于计算资源上。这可以防止出现泄露另一计算资源的中间证书并将其用于颁发任意特定于实例的证书的情况。类似地,如果已知计算资源已被泄露,则计算资源可以有选择地撤销其中间证书。当中间证书的有效期较短时,其有效性更高。
托管应用程序的计算资源向安全凭证中心提供(i)对应用程序的唯一标识符进行编码的证书和(ii)凭证位置标识符(330)。计算资源可以从云应用平台上最初存储凭证位置标识符的中心化数据库中检索凭证位置标识符。凭证位置标识符定义了安全凭证中心中存储服务凭证的位置。凭证位置标识符可以是路径,例如,安全凭证中心中的文件或目录的名称。使用发出请求的应用程序的唯一标识符,安全凭证中心查证应用程序是否对存储凭证的路径具有读取访问权限。如果发出请求的应用程序确实具有读取访问权限,则安全凭证中心从路径中检索凭证。
计算资源从安全凭证中心接收用于应用程序访问服务的凭证(340)。
此后,计算资源可以在计算资源主机上的应用程序的运行实例的进程环境中填充凭证(350)。在某些情况下,在启动应用程序时,计算资源将填充凭证。在其他情况下,应用程序可能不需要立即使用凭证,因此计算资源并不在进程环境中填充凭证,直到稍后才填充。然后,通过从进程环境中获取凭证,应用程序可以使用这些凭证来访问服务。如果凭证已加密,则应用程序可以使用计算主机先前生成的私钥对其进行解密。
本说明书将术语“配置为”与***、装置和计算机程序组件结合使用。对于一个或更多个计算机组成的***被配置为执行特定的操作或动作,意味着***已在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得***执行操作或动作。对于一个或更多个计算机程序被配置为执行特定操作或动作,意味着一个或更多个程序包括指令,该指令在由数据处理装置执行时,使得装置执行操作或动作。对于专用逻辑电路被配置为执行特定操作或动作,意味着电路具有执行操作或动作的电子逻辑。
本说明书中所描述的主题的实施例以及动作和操作,可以用数字电子电路、有形包含的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其等同结构)或其一个或更多个的组合实现。本说明书中描述的主题的实施例可以被实现为一个或更多个计算机程序,即编码在有形的非暂时性存储介质上的计算机程序指令的一个或更多个模块,用于由数据处理装置执行或控制其操作。替代地或附加地,程序指令可以被编码在人工产生的传播信号上,例如机器产生的电、光或电磁信号,这些信号被产生以对信息进行编码,以传输到合适的接收器装置,用于由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储设备,或它们中的一个或更多个的组合,或者是它们的一部分。计算机存储介质不是传播信号。
术语“数据处理装置”涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。数据处理装置可以包括专用逻辑电路,例如,FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件之外,装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或更多个的组合的代码。
计算机程序,其还可以称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言来编写,包括编译或解释语言,或者声明性或程序性语言;并且计算机程序可以以任何形式进行部署,包括作为独立程序或作为模块、组件、引擎、子例程或适合在计算环境中执行的其他单元,计算环境可以包括由数据通信网络在一个或更多个位置互连的一个或更多个计算机。
计算机程序可以但不必与文件***中的文件相对应。计算机程序可以存储在保存其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或更多个脚本),存储在专用于所讨论的程序的单个文件中,或者存储在多个协调文件中(例如,存储一个或更多个模块、子程序或部分代码的文件)。
本说明书中描述的进程和逻辑流可以由一个或更多个计算机执行,该一个或更多个计算机执行一个或更多个计算机程序,以通过对输入数据进行操作并生成输出来执行操作。进程和逻辑流还可由专用逻辑电路来执行,例如FPGA、ASIC或GPU,或由专用逻辑电路和一个或更多个编程计算机的组合来执行。
适用于执行计算机程序的计算机可以基于通用或专用微处理器或基于两者,或者基于任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的中央处理单元和用于存储指令和数据的一个或更多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
通常,计算机还将包括一个或更多个大容量存储设备或可操作地与其耦合,以从一个或更多个大容量存储设备接收数据,或将数据传输到一个或更多个大容量存储设备。例如,大容量存储设备可以是磁、磁光、或光盘、或固态驱动器。然而,计算机不必具有此类设备。此外,计算机可以被嵌入到另一个设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动器)中,仅举几例。
为了提供与用户的交互,本说明书中所描述的主题的实施例可以在计算机上实现,或配置为与计算机通信,计算机具有显示设备(例如LCD(液晶显示器)监视器)和输入设备,显示设备用于将信息显示给用户,,用户可通过输入设备向计算机提供输入,例如键盘和指示设备(例如鼠标、轨迹球或触摸板)。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,诸如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收到的请求,将网页发送到用户设备上的网络浏览器,或者与用户设备(例如智能手机或电子平板电脑)上运行的应用程序进行交互。而且,计算机可以通过将文本消息或其他形式的消息发送到个人设备(例如,运行消息收发应用程序的智能手机)并反过来从用户接收响应消息来与用户交互。
本说明书中所描述的主题的实施例可以在计算***中实现,计算***包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面的客户端计算机)、Web浏览器或app,用户可以通过app与本说明书中所描述的主题的实现,或一个或更多个此类后端、中间件或前端组件的任意组合进行交互。***的组件可以通过数字数据通信的任何形式或介质互连,例如通信网络。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且通常通过通信网络进行交互。客户端和服务器之间的关系通过在各自的计算机上运行的计算机程序以及彼此具有客户机-服务器关系而产生。在一些实施例中,服务器将数据(例如HTML页面)发送到用户设备,例如,为了向与设备交互的用户显示数据,以及从与设备交互的用户接收用户输入,该设备充当客户端。在用户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从该设备接收。
除了上述实施例之外,以下实施例也是创新的:
实施例1是一种方法,包括:
接收对云应用平台***中的应用程序的服务绑定请求,其中所述服务绑定请求包括绑定由所述云应用平台***中的服务主机提供的服务的请求,其中所述服务绑定请求指定(i)所述服务的标识符和(ii)所述应用程序的唯一标识符;
从所述服务主机接收用于所述应用程序访问所述服务的凭证;
将所述凭证提供给安全凭证中心,所述安全凭证中心安装在所述云应用平台***上,其中所述安全凭证中心将所述凭证与凭证位置标识符关联地存储;
向所述应用程序的所述唯一标识符授予对所述凭证位置标识符的读取访问权限;以及
将所述凭证位置标识符存储为所述应用程序的应用程序元数据。
实施例2是根据实施例1的方法,还包括:
接收在所述应用程序的环境内填充所述凭证的请求;
由计算资源主机生成证书,所述证书对所述应用程序的所述唯一标识符进行编码,所述计算资源主机在所述云应用平台***内托管所述应用程序;
由所述计算资源主机向所述安全凭证中心提供所述证书,所述证书对所述应用程序的所述唯一标识符和所述凭证位置标识符进行编码;以及由所述计算资源主机从所述安全凭证中心接收用于所述应用程序访问所述服务的所述凭证。
实施例3是根据实施例2的方法,还包括:
在所述计算资源主机上的所述应用程序的运行实例的进程环境内填充所述凭证,
其中所述应用程序被配置为通过从所述进程环境中获取所述凭证来访问所述服务。
实施例4是根据实施例2-3中任一项的方法,其中所述安全凭证中心查证所述应用程序是否具有对由所述凭证位置标识符标识的所述位置的读取访问权限。
实施例5是根据实施例2-4中任一项的方法,其中生成证书包括:生成公钥和私钥对。
实施例6是根据实施例2-5中任一项的方法,其中生成证书包括:使用中间证书对证书进行签名。
实施例7是根据实施例6的方法,其中计算资源主机被预先配置为具有中间证书。
实施例8是根据实施例3的方法,其中在应用程序启动时,会发生在所述计算资源主机上的所述应用程序的运行实例的进程环境中填充所述凭证。
实施例9是根据实施例1-8中任一项的方法,其中将所述凭证位置标识符存储为所述应用程序的应用程序元数据包括:将所述凭证位置标识符存储在所述云应用平台上的中心化数据库中,还包括:
由计算资源主机从所述中心化数据库中检索所述凭证位置标识符,所述计算资源主机在所述云应用平台内托管所述应用程序。
实施例10是根据实施例1-9中任一项的方法,其中将凭证提供给安全凭证中心包括:
使用预配置客户端进行认证。
实施例11是根据实施例1-10中任一项的方法,其中唯一标识符用于尚未启动的应用程序。
实施例12是根据实施例1-11中任一项的方法,其中凭证位置标识符是路径。
实施例13是根据实施例1-12中任一项的方法,其中多个应用程序具有对同一凭证位置标识符的读取访问权限。
实施例14是一种***,包括一个或更多个计算机和存储指令的一个或更多个存储设备,所述指令在由所述一个或更多个计算机执行时,使得所述一个或更多个计算机执行实施例1-13中任一项的方法。
实施例15是一种或更多种计算机存储介质,其存储可操作的指令,所述指令在由一个或更多个计算机执行时,使得所述一个或更多个计算机执行实施例1-13中任一项的方法。
尽管本说明书包含许多特定的实现细节,但是这些细节不应被解释为对任何发明的范围或所主张或可要求保护的范围的限制,而是对特定于特定发明的特定实施例的特征的描述。在单独的实施例的上下文中,在本说明书中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中或以任何合适的子组合来实现。此外,尽管以上可以将特征描述为以某些组合起作用,并且甚至最初是这样要求保护的,但是在某些情况下,可以从所要求保护的组合中切除来自该组合的一个或更多个特征,并且权利要求书可以涉及子组合或子组合的变体。
类似地,尽管以特定顺序在附图中描绘了操作并且在权利要求中对其进行了记载,但这不应理解为要求以所示的特定顺序或以连续的顺序执行这些操作,或者要求执行所有图示的操作以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中各种***模块和组件的分离,不应理解为在所有实施例中都需要这种分离,并且应当理解,所描述的程序组件和***通常可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行,并且仍然获得期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或连续顺序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (27)

1.一种***,其包括一个或更多个计算机和存储指令的一个或更多个存储设备,所述指令在由所述一个或更多个计算机执行时,使得所述一个或更多个计算机执行操作,所述操作包括:
接收对云应用平台***中的应用程序的服务绑定请求,其中所述服务绑定请求包括绑定由所述云应用平台***中的服务主机提供的服务的请求,其中所述服务绑定请求指定(i)所述服务的标识符和(ii)所述应用程序的唯一标识符;
从所述服务主机接收用于所述应用程序访问所述服务的凭证;
将所述凭证提供给安全凭证中心,所述安全凭证中心安装在所述云应用平台***上,其中所述安全凭证中心将所述凭证与凭证位置标识符关联地存储;
向所述应用程序的所述唯一标识符授予对所述凭证位置标识符的读取访问权限;以及
将所述凭证位置标识符存储为所述应用程序的应用程序元数据。
2.根据权利要求1所述的***,其中所述操作还包括:
接收在所述应用程序的环境内填充所述凭证的请求;
由在所述云应用平台***内托管所述应用程序的计算资源主机生成证书,所述证书对所述应用程序的所述唯一标识符进行编码;
由所述计算资源主机向所述安全凭证中心提供所述证书,所述证书对所述应用程序的所述唯一标识符和所述凭证位置标识符进行编码;以及由所述计算资源主机从所述安全凭证中心接收用于所述应用程序访问所述服务的所述凭证。
3.根据权利要求2所述的***,其中所述操作还包括:
在所述计算资源主机上的所述应用程序的运行实例的进程环境内填充所述凭证,
其中所述应用程序被配置为通过从所述进程环境中获取所述凭证来访问所述服务。
4.根据权利要求2所述的***,其中所述安全凭证中心查证所述应用程序是否具有对由所述凭证位置标识符标识的所述位置的读取访问权限。
5.根据权利要求2所述的***,其中生成所述证书包括:生成公钥和私钥对。
6.根据权利要求2所述的***,其中生成所述证书包括:使用中间证书对所述证书进行签名。
7.根据权利要求6所述的***,其中所述计算资源主机被预先配置具有所述中间证书。
8.根据权利要求3所述的***,其中在所述计算资源主机上的所述应用程序的运行实例的进程环境中填充所述凭证在应用程序启动时发生。
9.根据权利要求1所述的***,其中将所述凭证位置标识符存储为所述应用程序的应用程序元数据包括:将所述凭证位置标识符存储在所述云应用平台上的中心化数据库中,并且其中所述操作还包括:
由在所述云应用平台内托管所述应用程序的计算资源主机从所述中心化数据库中检索所述凭证位置标识符。
10.根据权利要求1所述的***,其中将所述凭证提供给安全凭证中心包括:
使用预配置客户端进行认证。
11.根据权利要求1所述的***,其中所述唯一标识符用于尚未启动的应用程序。
12.根据权利要求1所述的***,其中所述凭证位置标识符是路径。
13.根据权利要求1所述的***,其中多个应用程序具有对同一凭证位置标识符的读取访问权限。
14.一种方法,包括:
接收对云应用平台***中的应用程序的服务绑定请求,其中所述服务绑定请求包括绑定由所述云应用平台***中的服务主机提供的服务的请求,其中所述服务绑定请求指定(i)所述服务的标识符和(ii)所述应用程序的唯一标识符;
从所述服务主机接收用于所述应用程序访问所述服务的凭证;
将所述凭证提供给安全凭证中心,所述安全凭证中心安装在所述云应用平台***上,其中所述安全凭证中心将所述凭证与凭证位置标识符关联地存储;
向所述应用程序的所述唯一标识符授予对所述凭证位置标识符的读取访问权限;以及
将所述凭证位置标识符存储为所述应用程序的应用程序元数据。
15.根据权利要求14所述的方法,还包括:
接收在所述应用程序的环境内填充所述凭证的请求;
由在所述云应用平台***内托管所述应用程序的计算资源主机生成证书,所述证书对所述应用程序的所述唯一标识符进行编码;
由所述计算资源主机向所述安全凭证中心提供所述证书,所述证书对所述应用程序的所述唯一标识符和所述凭证位置标识符进行编码;以及由所述计算资源主机从所述安全凭证中心接收用于所述应用程序访问所述服务的所述凭证。
16.根据权利要求15所述的方法,还包括:
在所述计算资源主机上的所述应用程序的运行实例的进程环境内填充所述凭证,
其中所述应用程序被配置为通过从所述进程环境中获取所述凭证来访问所述服务。
17.根据权利要求15所述的方法,其中所述安全凭证中心查证所述应用程序是否具有对由所述凭证位置标识符标识的所述位置的读取访问权限。
18.根据权利要求15所述的方法,其中生成所述证书包括:生成公钥和私钥对。
19.根据权利要求15所述的方法,其中生成所述证书包括:使用中间证书对所述证书进行签名。
20.根据权利要求19所述的方法,其中所述计算资源主机被预先配置具有所述中间证书。
21.根据权利要求16所述的方法,其中在所述计算资源主机上的所述应用程序的运行实例的进程环境中填充所述凭证在应用程序启动时发生。
22.根据权利要求14所述的方法,其中将所述凭证位置标识符存储为所述应用程序的应用程序元数据包括:将所述凭证位置标识符存储在所述云应用平台上的中心化数据库中,并且其中所述操作还包括:
由在所述云应用平台内托管所述应用程序的计算资源主机从所述中心化数据库中检索所述凭证位置标识符。
23.根据权利要求14所述的方法,其中将所述凭证提供给安全凭证中心包括:
使用预配置客户端进行认证。
24.根据权利要求14所述的方法,其中所述唯一标识符用于尚未启动的应用程序。
25.根据权利要求14所述的方法,其中所述凭证位置标识符是路径。
26.根据权利要求14所述的方法,其中多个应用程序具有对同一凭证位置标识符的读取访问权限。
27.一种或更多种非暂时性计算机存储介质,其存储可操作的指令,所述指令在由一个或更多个计算机执行时,使得所述一个或更多个计算机执行操作,所述操作包括:
接收对云应用平台***中的应用程序的服务绑定请求,其中所述服务绑定请求包括绑定由所述云应用平台***中的服务主机提供的服务的请求,其中所述服务绑定请求指定(i)所述服务的标识符和(ii)所述应用程序的唯一标识符;
从所述服务主机接收用于所述应用程序访问所述服务的凭证;
将所述凭证提供给安全凭证中心,所述安全凭证中心安装在所述云应用平台***上,其中所述安全凭证中心将所述凭证与凭证位置标识符关联地存储;
向所述应用程序的所述唯一标识符授予对所述凭证位置标识符的读取访问权限;以及
将所述凭证位置标识符存储为所述应用程序的应用程序元数据。
CN201980050599.0A 2018-09-12 2019-09-10 安全绑定工作流 Active CN112514348B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/129,517 US10693968B2 (en) 2018-09-12 2018-09-12 Secure binding workflow
US16/129,517 2018-09-12
PCT/US2019/050452 WO2020060806A1 (en) 2018-09-12 2019-09-10 Secure binding workflow

Publications (2)

Publication Number Publication Date
CN112514348A true CN112514348A (zh) 2021-03-16
CN112514348B CN112514348B (zh) 2023-11-28

Family

ID=69174571

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980050599.0A Active CN112514348B (zh) 2018-09-12 2019-09-10 安全绑定工作流

Country Status (4)

Country Link
US (1) US10693968B2 (zh)
EP (1) EP3811591B1 (zh)
CN (1) CN112514348B (zh)
WO (1) WO2020060806A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220021544A1 (en) * 2020-07-15 2022-01-20 Micron Technology, Inc. Secure Serial Peripheral Interface (SPI) Flash
US11570180B1 (en) * 2021-12-23 2023-01-31 Eque Corporation Systems configured for validation with a dynamic cryptographic code and methods thereof
CN114465827B (zh) * 2022-04-11 2022-06-24 南京智人云信息技术有限公司 基于零信任网络的数据机密信息保护***

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100162370A1 (en) * 2008-12-23 2010-06-24 Ahmet Altay Managing host application privileges
CN102089767A (zh) * 2008-05-30 2011-06-08 爱迪德加拿大公司 无人值守应用程序的经认证数据库连接
CN102739687A (zh) * 2012-07-09 2012-10-17 广州杰赛科技股份有限公司 基于标识的应用服务网络访问方法及***
CN105074713A (zh) * 2013-03-15 2015-11-18 赛门铁克公司 用于当连接至网络时识别安全应用程序的***和方法
CN105376734A (zh) * 2014-08-29 2016-03-02 中国电信股份有限公司 进行智能管道能力调用的方法与***
US9288193B1 (en) * 2013-06-25 2016-03-15 Intuit Inc. Authenticating cloud services
CN105427099A (zh) * 2014-09-16 2016-03-23 卡巴斯克 安全电子交易的网络认证方法
CN106549773A (zh) * 2015-09-16 2017-03-29 深圳市银信网银科技有限公司 一种通信检测方法、***以及装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101841925B (zh) * 2010-04-21 2012-10-17 华为终端有限公司 一种双中央微处理器间的通信方法、装置及***
US8468352B2 (en) 2010-09-17 2013-06-18 Microsoft Corporation Retrieving and using cloud based storage credentials
US9672355B2 (en) * 2011-09-16 2017-06-06 Veracode, Inc. Automated behavioral and static analysis using an instrumented sandbox and machine learning classification for mobile security
US9477517B2 (en) 2011-10-28 2016-10-25 Qualcomm Incorporated Service broker systems, methods, and apparatus
US9397990B1 (en) * 2013-11-08 2016-07-19 Google Inc. Methods and systems of generating and using authentication credentials for decentralized authorization in the cloud
US9825949B2 (en) 2014-03-26 2017-11-21 Rockwell Automation Technologies, Inc. Device authentication to facilitate secure cloud management of industrial data
US9361011B1 (en) * 2015-06-14 2016-06-07 Google Inc. Methods and systems for presenting multiple live video feeds in a user interface
US10749854B2 (en) * 2015-11-12 2020-08-18 Microsoft Technology Licensing, Llc Single sign-on identity management between local and remote systems
US10812324B2 (en) 2016-06-29 2020-10-20 Interactive Intelligence Group, Inc. Technologies for managing application configurations and associated credentials
US10187323B2 (en) 2016-09-02 2019-01-22 Pivotal Software, Inc. On-demand resource provisioning
US20180191718A1 (en) * 2016-12-29 2018-07-05 Ingram Micro Inc. Technologies for securely extending cloud service apis in a cloud service marketplace
KR20180081998A (ko) * 2017-01-09 2018-07-18 한국전자통신연구원 모바일 클라우드를 위한 안전 실행 환경 제공 장치 및 방법
US10901812B2 (en) * 2017-09-18 2021-01-26 Rapyuta Robotics Co., Ltd. Managing communication between cloud and heterogeneous devices across networks
TWI672924B (zh) * 2017-11-23 2019-09-21 財團法人資訊工業策進會 平台即服務雲端伺服器及其機器學習資料處理方法
EP3585026A1 (en) * 2018-06-19 2019-12-25 Siemens Aktiengesellschaft Method and system of providing secure access to a cloud service in a cloud computing environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102089767A (zh) * 2008-05-30 2011-06-08 爱迪德加拿大公司 无人值守应用程序的经认证数据库连接
US20100162370A1 (en) * 2008-12-23 2010-06-24 Ahmet Altay Managing host application privileges
CN102739687A (zh) * 2012-07-09 2012-10-17 广州杰赛科技股份有限公司 基于标识的应用服务网络访问方法及***
CN105074713A (zh) * 2013-03-15 2015-11-18 赛门铁克公司 用于当连接至网络时识别安全应用程序的***和方法
US9288193B1 (en) * 2013-06-25 2016-03-15 Intuit Inc. Authenticating cloud services
CN105376734A (zh) * 2014-08-29 2016-03-02 中国电信股份有限公司 进行智能管道能力调用的方法与***
CN105427099A (zh) * 2014-09-16 2016-03-23 卡巴斯克 安全电子交易的网络认证方法
CN106549773A (zh) * 2015-09-16 2017-03-29 深圳市银信网银科技有限公司 一种通信检测方法、***以及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
朱磊等: "一种面向服务的权限管理模型", 《计算机学报》 *
郑会永等, 西安电子科技大学出版社 *

Also Published As

Publication number Publication date
EP3811591B1 (en) 2022-12-07
CN112514348B (zh) 2023-11-28
WO2020060806A1 (en) 2020-03-26
EP3811591A1 (en) 2021-04-28
US20200084281A1 (en) 2020-03-12
US10693968B2 (en) 2020-06-23

Similar Documents

Publication Publication Date Title
US11184427B2 (en) Local microservice development for remote deployment
US10721293B2 (en) Hybrid cloud applications
US10574644B2 (en) Stateful session manager
JP7015916B2 (ja) クライアントのためのアプリケーションの管理をサポートするためのコンピュータ自動化方法、コンピュータ・プログラム、およびシステム
US9197408B2 (en) Systems and methods for providing a secure data exchange
US9426155B2 (en) Extending infrastructure security to services in a cloud computing environment
CN112514348B (zh) 安全绑定工作流
US20160173454A1 (en) Jurisdictional cloud data access
Andrawos et al. Cloud Native Programming with Golang: Develop microservice-based high performance web apps for the cloud with Go
JP7308002B2 (ja) ハイブリッド・クラウドkmsソリューションにおけるhsmの自己破壊方法、システム、プログラム
US20200296089A1 (en) Validating containers on a microservice framework
CN115039100A (zh) 为安全访客保留一个或多个安全模块
CN117813605A (zh) 开源容器数据管理
CN115349117B (zh) 用于多租户无服务器环境的多级高速缓存网格***
US10291405B2 (en) Seamless abort and reinstatement of TLS sessions
CN116745766A (zh) 安全存储器共享
US10083293B1 (en) Timer and content security
WO2023160521A1 (en) Protecting api keys for accessing services
WO2023213168A1 (en) Access configuration in hybrid network environments
CN117693749A (zh) 敏感数据加密
Fernández Development of an OpenStack Cloud deployment tool
CN117957540A (zh) 安全地分发用于硬件安全模块的根密钥
CN118282681A (zh) 跨集群***及其控制方法、装置、设备和介质

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: California, USA

Patentee after: Pivotal Software, Inc.

Country or region after: U.S.A.

Address before: California, USA

Patentee before: PIVOTAL SOFTWARE, Inc.

Country or region before: U.S.A.