用于基于分布式账本技术的在云计算系统中的服务映像部署的方法和系统与流程

文档序号:29630289发布日期:2022-04-13 15:45阅读:208来源:国知局
用于基于分布式账本技术的在云计算系统中的服务映像部署的方法和系统与流程

1.本发明的实施例涉及分布式账本技术领域;并且更具体地,涉及基于分布式账本技术的在云计算系统中的映像部署。


背景技术:

2.在云计算系统中,应用的多个实例可以被部署在一个或多个服务器上。应用的实例通常被用于向云计算系统的用户提供服务。应用的每个实例包括程序代码,该程序代码可以被称为映像或服务映像,并且分别在云计算系统的一个或多个服务器上执行。应用的实例可以被部署为虚拟机或容器。服务映像可以包括程序代码,该程序代码表示由云计算系统提供的计算服务、联网服务和存储服务或者由使用云计算系统的第三方提供的另一种服务。
3.在云计算系统上正确并且安全地供应服务映像对于确保向应用的用户提供可靠并且安全的服务是至关重要的。例如,安装到云计算系统中的未授权映像或损坏的映像可能破坏用户的数据以及云计算系统的资源。
4.存在一些机制以用于确保被部署在云计算系统上的映像在被执行之前是合法的和经过验证的。在一些机制中,云计算系统支持和维护经过证明的虚拟操作系统映像集合,并且控制这些映像的提供。如果云计算系统的用户使用这些映像之一,则用户很有可能避开已被攻击者破坏的映像。但是,未经证明或验证并且在云计算系统引导之后在云计算系统上被执行的任何服务映像可能已被攻击者改变。
5.在一些机制中,云计算系统提供者依赖于用户登录凭证(例如用户名/密码)来验证安装新服务映像的用户。在这些机制中,当用户的账户在这些机制不知情的情况下被盗用(例如恶意实体可以访问用户登录凭证)时,恶意或损坏的映像可能被安装在云计算系统上,从而允许攻击者收集有关应用的信息或者中断云计算系统的操作。
6.一些机制依赖于可信计算组可信平台模块(tpm)标准以用于验证和确认服务映像。tpm提供了一系列服务以用于在栈中的各个级别(引导加载程序、操作系统、应用)证明服务映像的有效性和身份验证。tpm依赖于维护可信映像散列数据库的可信第三方(ttp)。该过程的一个问题是映像散列如何在数据库中结束。攻击者可以破坏服务提供者的持续集成/持续部署(cicd)流水线,并且可以插入虚假服务映像的散列,或者如果攻击者只是想要中断服务提供者的操作,则插入虚假散列。在第一种情况下,攻击者将能够伪装成服务并且骗取服务用户的信息以及可能骗取金钱,而在第二种情况下,攻击者将能够阻止服务正常运行。另一个问题是,管理存储散列的数据库的系统被设想为集中式实体。尽管可伸缩性技术对于确保集中式数据库具有足够的可用性而言是公知的,但是集中式系统可能遇到在高度分散的数据中心网络中保持记录同步的困难。


技术实现要素:

7.一个总体方面包括一种由网络节点执行的方法,所述方法包括:从服务安装器接收第一签名消息,所述第一签名消息包括用于授权服务映像的安装的请求、服务映像标识符、服务安装器账户标识符、以及所述服务映像的一个或多个散列;以及响应于基于所述服务安装器账户标识符和分布式账本而确定所述服务安装器被授权在云计算系统中安装用所述服务映像标识符标识的服务映像,执行以下操作:在所述分布式账本的有效服务映像列表中记录所述服务映像的所述一个或多个散列;以及向所述服务安装器发送包括第一服务安装令牌和所述服务映像标识符的第一消息,其中,所述第一服务安装令牌使得所述服务安装器在所述云计算系统中安装所述服务映像。
8.一个总体方面包括一种网络节点,所述网络节点包括:一个或多个处理器;以及存储指令的非暂时性计算机可读存储介质,所述指令当由所述一个或多个处理器执行时使得所述网络节点:从服务安装器接收第一签名消息,所述第一签名消息包括用于授权服务映像的安装的请求、服务映像标识符、服务安装器账户标识符、以及所述服务映像的一个或多个散列;以及响应于基于所述服务安装器账户标识符和分布式账本而确定所述服务安装器被授权在云计算系统中安装用所述服务映像标识符标识的服务映像,执行以下操作:在所述分布式账本的有效服务映像列表中记录所述服务映像的所述一个或多个散列,以及向所述服务安装器发送(322)包括第一服务安装令牌和所述服务映像标识符的第一消息,其中,所述第一服务安装令牌使得所述服务安装器在所述云计算系统中安装所述服务映像。
附图说明
9.通过参考被用于说明本发明的实施例的以下描述和附图,可以最好地理解本发明。在附图中:
10.图1示出了根据一些实施例的可以被用于提供经验证服务映像部署的示例性系统的框图;
11.图2a示出了根据一些实施例的在服务安装器与服务管理系统之间的用于获得服务安装器账户的示例性交易的框图;
12.图2b示出了根据一些实施例的用于授权服务映像的安装的示例性操作的框图;
13.图2c示出了根据一些实施例的用于授权服务映像的卸载的示例性操作的框图;
14.图2d示出了根据一些实施例的用于服务映像的安全执行的示例性操作的框图;
15.图3a示出了根据一些实施例的用于获得服务安装器账户的示例性操作的流程图;
16.图3b示出了根据一些实施例的用于授权服务映像的安装的示例性操作的流程图;
17.图3c示出了根据一些实施例的由服务安装器执行的示例性操作的流程图;
18.图3d示出了根据一些实施例的用于授权服务映像的卸载的示例性操作的流程图;
19.图3e示出了根据一些实施例的用于请求服务映像的卸载的示例性操作的流程图;
20.图3f示出了根据一些实施例的用于安全地执行服务映像的示例性操作的流程图;
21.图4示出了根据一些实施例的其中可以执行新的创世区块的生成和/或验证的网络设备的框图。
具体实施方式
22.以下说明描述了用于基于分布式账本技术的在云计算系统中的映像部署的方法和装置。在以下描述中,阐述了许多特定细节,例如逻辑实现、操作码、用于指定操作数的手段、资源划分/共享/复制实现、系统组件的类型和相互关系、以及逻辑划分/集成选择,以便提供对本发明的更透彻的理解。但是,本领域技术人员将理解,可以在没有这样的特定细节的情况下实践本发明。在其他情况下,未详细示出控制结构、门级电路和完整的软件指令序列以便不使本发明模糊不清。通过所包括的描述,本领域普通技术人员将能够实现适当的功能而无需过多的实验。
23.本说明书中对“一个实施例”、“一实施例”、“一个示例实施例”等的引用指示描述的实施例可以包括特定的特性、结构或特征,但可能不是每个实施例都一定包括该特定的特性、结构或特征。此外,这样的短语不一定指相同的实施例。此外,当结合一个实施例描述特定的特性、结构或特征时,认为结合其他实施例(无论是否被显式描述)来实现这样的特性、结构或特征是在本领域技术人员的知识范围内。
24.本文可以使用括号内文本和具有虚线边界(例如大虚线、小虚线、点虚线以及点)的方框来说明向本发明的实施例添加附加特性的可选操作。但是,这样的表示法不应被认为意味着它们是仅有选项或可选操作,和/或不应被认为意味着在本发明的特定实施例中,具有实线边界的方框不是可选的。
25.在以下描述和权利要求中,可以使用术语“耦接”和“连接”及其派生词。应该理解,这些术语并非旨在作为彼此的同义词。“耦接”被用于指示两个或更多个单元(它们可能会也可能不会彼此直接物理接触或电接触)彼此协作或交互。“连接”被用于指示在彼此耦接的两个或更多个单元之间建立通信。
26.本文提供的实施例描述了基于分布式账本技术的在云计算系统中的映像部署机制。本文描述的机制相对于先前的映像部署机制提供了明显的优点。在本文提供的实施例中,服务安装器在分布式账本(例如,由一组服务安装器拥有和维护的许可区块链)中建立账户。分布式账本充当服务提供者的服务管理系统。当服务安装器/提供者安装新映像时,该映像的散列(包括与应用的初始执行相关的任何动态链接库和其他文件的散列)被记录到分布式账本(例如,区块链)中。服务映像执行器基于分布式账本中针对服务映像存储的散列而执行对该服务映像的所有文件的检查,然后调度该服务映像以用于执行。
27.该解决方案提供了一种用于将服务映像文件安装到云计算系统(例如数据中心)中的机制,其中,服务提供者能够记录来源证明(proof of providence),以使得能够在引导/执行服务映像之前验证该服务映像的来源。本文提供的解决方案适用于以任何形式(虚拟机、容器或简单的应用二进制文件)打包的应用,并且包含配置文件和动态链接库以及主应用映像。
28.图1示出了根据一些实施例的可以被用于提供经验证服务映像部署的示例性系统的框图。系统100包括一组服务安装器110a-n、服务管理系统(sms)120、一组云计算系统130a-l、以及服务安装器验证系统140。
29.服务安装器110a-n可操作以管理被部署在一个或多个云计算系统上的应用(在本文中通常被称为服务)的生命周期。服务安装器110a-n中的每一个可操作以请求在云计算系统130a-l中安装、更新或删除服务映像。在一些实施例中,服务安装器可以是持续集成和
传送(ci/cd)流水线、编排系统、运营支持系统(oss)或任何其他的服务管理系统,并且在本文中被统称为服务安装器(si)。每个服务安装器可以包括或有权访问一组服务映像。在以下描述中,为了简化描述,将针对来自该组服务安装器110a-n的单个服务安装器110a来描述本文的操作,并且这不应被认为是对本发明实施例的限制。在不偏离本发明概念的范围的情况下,系统100可以包括一个或多个服务安装器。服务安装器110a可以存储或有权访问一个或多个服务映像101a-m的集合。
30.sms 120可操作以接收用于安装服务映像的请求,以及可以验证和授权服务映像在一个或多个云计算系统中的安装、卸载。sms 120包括多个分布式sms节点121a-k。sms 120是基于分布式账本技术被构建的,并且可操作以在分布式账本中记录关于服务映像的信息。在一些实施例中,sms节点121a-k中的每一个可以包括允许在分布式账本中记录数据的分布式账本技术。在一些实施例中,分布式账本是许可分布式账本。在一些实施例中,分布式账本是许可区块链。
31.该组云计算系统130a-l包括跨越多个网络设备分布的计算、联网和存储资源。在一些实施例中,sms节点121a-k和/或服务安装器110a-n可以是云计算系统130a-l的一部分。在其他实施例中,sms节点121a-k或服务安装器110a-n可以与云计算系统相分离。例如,服务安装器110a-n可以是第三方服务提供者,第三方服务提供者不是云计算系统的一部分,而是通过在一个或多个云计算系统130a-l的物理资源上执行它们的服务映像来向用户提供一个或多个服务。
32.服务安装器验证系统140是允许用户获得服务安装器证书的服务。服务安装证书允许证明服务安装证书的持有者被允许使用服务管理系统并且获得用于在云计算系统上安装一个或多个服务的账户。在验证服务安装器110a是来自公共/私有加密密钥的公钥的合法所有者并且服务安装器110a被授权使用sms 120在云计算系统130a-l中安装服务映像后,服务安装器验证系统140向服务安装器110a发送服务安装证书。服务安装证书允许证明持有私钥/公钥对的服务安装器110a被授权获得sms 120的账户以在一个或多个云计算系统130a-l上安装服务映像。在一些实施例中,服务安装器验证系统140是基于公钥基础设施(pki)。在一些实施例中,服务安装器110a的服务安装证书长期存在并且是在任何映像被生成和安装之前获得的。
33.下面将参考图2a-d进一步详细地描述图1中的系统的多个组件的操作。
34.图2a示出了根据一些实施例的在服务安装器与服务管理系统之间的用于获得服务安装器账户的示例性交易的框图。
35.在操作202,服务安装器110a向sms 120发送签名消息。签名消息包括对账户的请求、服务安装证书(sic)、以及服务安装器110a的公钥。该消息被用服务安装器110a的私钥进行签名。服务安装器110a的私钥和公钥是基于非对称加密机制而确定的一对公共/私有加密密钥。sms 120从服务安装器110a接收签名消息。在操作204,sms 120至少部分地基于服务安装证书来确定服务安装器110a是否被授权具有sms 120的账户。在操作204处的确定可以包括基于服务安装器110a的公钥来确定所接收的消息的签名有效。该确定还可以包括基于服务安装证书来确定服务安装器110a被授权获得sms 120的分布式账本中的账户。
36.响应于确定服务安装器未被授权在sms处具有账户,sms 120拒绝账户创建。在一些实施例中,sms 120可以向服务安装器110a发送具有拒绝账户创建指示的响应。
37.替代地,响应于确定服务安装器110a被授权在sms 120处具有账户,操作流程移动到操作206-210。在操作206,sms 120在分布式账本中创建服务安装器110a的账户。该账户被用对服务安装器110a而言唯一的服务安装器账户标识符来标识。在一些实施例中,服务安装器账户标识符可以是服务安装器110a的公钥或服务安装器110a的公钥的散列。在其他实施例中,其他类型的唯一标识符可以被用于在sms 120中唯一地标识服务安装器110a-n。例如,服务安装器账户标识符可以是被生成以充当服务安装器账户的标识符的随机字符串。
38.在操作208,sms 120在分布式账本中记录服务安装器账户标识符和服务安装器110a的公钥。在一些实施例中,sms 120可以在分布式账本中记录服务安装器账户标识符的散列。在其他实施例中,服务安装器账户标识符的散列未被记录在分布式账本中。在一些实施例中,在操作210,sms 120可以对服务安装器账户标识符执行散列运算,可以在分布式账本中存储服务安装器的账户信息,以及使用服务安装器账户标识符的散列作为关键字(key)来标识账户信息。sms 120在操作212向服务安装器110a发送服务安装器账户标识符。在接收到服务账户标识符后,服务安装器110a在操作214安全地存储服务安装器账户标识符。服务安装器110a可以使用服务安装器账户标识符来请求在经由sms 120管理的一个或多个云计算系统中安装服务映像。
39.图2b示出了根据一些实施例的用于授权服务映像的安装的示例性操作的框图。在创建账户并从sms 120获得服务安装器账户标识符后,服务安装器110a可操作以在云计算系统上安装一个或多个服务映像。将使用示例性服务安装器110a和云计算存储系统131a来描述这些操作。在一些实施例中,服务安装器110a可以请求在多个云计算系统130a-l中的任何一个上的服务安装。
40.在操作220,服务安装器110a发送第一签名消息,第一签名消息包括用于授权服务映像的安装的请求。第一签名消息包括用于授权安装的请求、服务映像标识符、服务安装器账户标识符、以及服务映像的一个或多个散列。在一些实施例中,服务映像的散列由对形成代码的一个或多个文件执行散列运算而产生,该代码当在云计算系统的服务器上执行时导致应用向用户提供服务。这些文件可以包括被用于配置服务映像的配置文件。基于这些文件的服务映像的配置在对映像文件的散列运算和散列的生成之前被执行。服务映像标识符标识针对其寻求安装授权的服务映像的版本。在一些实施例中,服务安装器110a可以具有被安装或要被安装在云计算系统中的服务映像的多个活动版本。在一些实施例中,签名消息还包括服务安装器110a的公钥。在其他实施例中,例如当服务映像标识符是服务安装器110a的公钥时,签名消息可以不包括服务安装器110a的公钥。第一签名消息被用服务安装器110a的私钥进行签名。
41.sms 120接收第一签名消息。在操作222,sms 120基于服务安装器账户标识符和分布式账本而确定服务安装器110a是否被授权在云计算系统中安装用服务映像标识符标识的服务映像。在一些实施例中,为了确定服务安装器是否被授权安装服务映像,sms 120可以确定服务安装器账户标识符是否与分布式账本中的合法账户相关联,并且sms 120可以进一步确定与被存储在分布式账本中的服务安装器账户标识符相对应的公钥是否验证签名消息(用于授权安装的请求在其中被接收)的签名。在一些实施例中,在确定请求中包括的服务安装器账户标识符与分布式账本中的合法账户相关联,并且与服务安装器标识符相
关联的服务安装器110a的公钥能够被用于验证签名消息的签名后,sms 120确定服务安装器110a被授权安装服务映像。在其他实施例中,在确定请求中包括的服务安装器账户标识符不与分布式账本中的合法账户相关联,或者与服务安装器标识符相关联的服务安装器110a的公钥不能被用于验证签名消息的签名后,sms 120确定服务安装器110a未被授权安装服务映像。
42.在确定服务安装器110a未被授权安装服务映像后,sms 120拒绝映像服务安装。在一些实施例中,sms 120可以向服务安装器110a发送包括对映像服务安装的拒绝的消息。在其他实施例中,不发送消息。在一些实施例中,当服务安装被拒绝时,sms 120可以将服务安装器110a的标识报告和/或在黑名单中记录为恶意服务安装器。
43.在确定服务安装器110a被授权安装服务映像后,sms 120执行操作224-226。在操作224,sms 120在分布式账本的有效服务映像列表中记录服务映像的散列。在操作225,sms 120还生成并在分布式账本中记录与服务安装器标识符和服务映像标识符相关联的服务安装令牌。sms 120在操作226向服务安装器110a发送包括服务安装令牌和服务映像标识符的第二消息。服务安装令牌使得服务安装器110a在云计算系统中安装服务映像。
44.在接收到服务安装令牌后,服务安装器110a在操作228向云计算系统发送用于安装服务映像的请求。该请求包括服务安装令牌、服务映像、服务映像标识符、以及服务安装器账户标识符的散列。该请求被发送到服务映像要被安装在其中的云计算存储系统131a。在一些实施例中,在用服务安装器110a的私钥来签名的消息中发送用于安装服务的请求。在接收到该请求后,云计算存储系统131a在操作230确定服务安装令牌的有效性。在一些实施例中,确定服务安装令牌的有效性可以包括向sms 120发送用于对照在分布式账本中记录的用于服务安装器110a和服务映像标识符的数据来检查服务安装令牌的请求。sms 120可以从分布式账本中取得所存储的用于由服务安装器标识符标识的服务安装器110a和用于被用服务映像标识符标识的服务映像的服务安装令牌。在一些实施例中,确定服务安装令牌的有效性可以进一步包括确定从服务安装器110a接收的消息可以被用于验证服务安装器110a,例如,包括该请求的签名消息是有效的。响应于确定服务安装令牌有效,云计算存储系统131a在操作232安装具有关联的服务映像标识符的映像。云计算存储系统131a还记录服务安装器账户标识符的散列。在确定安装完成后,云计算存储系统131a在操作234向服务安装器110a发送安装确认。在一些实施例中,云计算存储系统131a在操作236可以确定服务安装令牌不是有效令牌,并且拒绝服务映像的安装。在一些实施例中,云计算存储系统131a在操作238可以向服务安装器110a发送拒绝服务映像安装消息以指示服务映像未被安装。
45.图2c示出了根据一些实施例的用于授权服务映像的卸载的示例性操作的框图。在一些实施例中,服务安装器110a可能需要卸载安装在任何云计算系统130a-l中的一个或多个服务映像。如参考图2c的操作所描述的,卸载过程是基于授权令牌而被执行的,该授权令牌基于服务安装器110a在sms 120的分布式账本中的账户而被提供给服务安装器110a。
46.在操作240,服务安装器110a向sms 120发送签名消息,该签名消息包括用于授权先前安装在云计算系统中的服务映像的卸载的请求。该签名消息包括用于授权卸载的请求、唯一地标识要被卸载的服务映像的服务映像标识符、以及在sms 120的分布式账本中唯一地标识服务安装器110a的服务安装器账户标识符。在一些实施例中,服务安装器110a可
以具有被安装的服务映像的多个活动版本,并且可以在用于卸载这些服务映像的一个或多个标识符的请求中进行发送。服务安装器110a可以请求服务映像的一个或多个版本的卸载/删除。签名消息被用服务安装器110a的私钥进行签名。
47.sms 120接收签名消息。在操作242,sms 120基于服务安装器账户标识符和分布式账本,确定服务安装器110a是否被授权卸载用服务映像标识符标识的服务映像。在一些实施例中,为了确定服务安装器是否被授权卸载服务映像,sms 120可以确定服务安装器账户标识符是否与分布式账本中的合法账户相关联,并且sms 120可以进一步确定与被存储在分布式账本中的服务安装器账户标识符相对应的公钥是否验证签名消息(在其中接收用于卸载的请求)的签名。在一些实施例中,在确定请求中包括的服务安装器账户标识符与分布式账本中的合法账户相关联,并且与服务安装器账户标识符相关联的服务安装器110a的公钥可以被用于验证签名消息的签名后,sms 120确定服务安装器110a被授权卸载服务映像。在其他实施例中,在确定请求中包括的服务安装器账户标识符不与分布式账本中的合法账户相关联,或者与服务安装器标识符相关联的服务安装器110a的公钥不能被用于验证签名消息的签名后,sms 120确定服务安装器110a未被授权卸载服务映像。
48.在确定服务安装器110a未被授权卸载服务映像后,sms 120拒绝映像服务卸载。在一些实施例中,sms 120可以向服务安装器110a发送包括拒绝映像服务安装的消息。在其他实施例中,不发送消息。在一些实施例中,当服务安装被拒绝时,sms 120可以将服务安装器的标识报告和/或在黑名单中记录为恶意服务安装器。
49.在确定服务安装器110a被授权卸载服务映像后,sms 120执行操作244-246。在操作244,sms 120从分布式账本的有效服务映像列表中删除服务映像的散列。在操作245,sms 120还在分布式账本中生成和记录与服务安装器标识符和服务映像标识符相关联的服务卸载令牌。sms 120在操作246向服务安装器110a发送包括服务卸载令牌的消息。服务卸载令牌使得服务安装器110a在云计算系统中卸载服务映像。
50.在接收到服务卸载令牌后,服务安装器110a在操作248向云计算存储系统131a发送用于卸载服务映像的请求。该请求包括服务卸载令牌和服务映像标识符。该请求被发送到服务映像要在其中被卸载的云计算存储系统131a。在一些实施例中,在用服务安装器110a的私钥来签名的消息中发送用于卸载服务的请求。在接收到该请求后,云计算存储系统131a在操作250确定服务卸载令牌的有效性。在一些实施例中,确定服务卸载令牌的有效性可以包括向sms 120发送用于对照在分布式账本中记录的用于服务安装器110a和服务映像标识符的数据来检查服务卸载令牌的请求。sms 120可以从分布式账本中取得所存储的用于由服务安装器标识符标识的服务安装器110a和用于被用服务映像标识符标识的服务映像的服务卸载令牌。在一些实施例中,确定服务卸载令牌的有效性还可以包括确定从服务安装器110a接收的消息可以被用于验证服务安装器110a,例如,包括该请求的签名消息是有效的。响应于确定服务卸载令牌有效,云计算存储系统131a在操作252卸载用服务映像标识符标识的映像。云计算存储系统131a还记录服务安装器账户标识符的散列。在确定卸载完成后,云计算存储系统131a在操作254向服务安装器110a发送卸载确认。在一些实施例中,云计算存储系统131a可以在操作256确定服务卸载令牌不是有效令牌,并且拒绝服务映像的卸载。在一些实施例中,云计算存储系统131a可以在操作258向服务安装器110a发送拒绝服务映像卸载消息以指示服务映像未被卸载。
51.图2d示出了根据一些实施例的用于服务映像的安全执行的示例性操作的框图。一旦服务映像被存储在云计算系统中(例如云计算存储系统131a中),并且服务映像的散列和服务安装器账户标识符被记录在分布式账本中,服务映像便可以被安全地上传以及由一个或多个服务映像执行器执行。例如,服务映像执行器133a(其可以是云计算系统130a的一部分或在云计算系统外部)可能需要从云计算存储系统131a中取得服务映像,以及在服务映像的执行之前验证服务映像。在一些实施例中,基于图2d的操作来执行服务映像的验证。
52.在操作262,服务映像执行器133a向云计算存储系统131a发送对服务映像的请求。该请求包括服务名称和服务映像标识符。云计算存储系统131a在操作264基于映像服务标识符和服务名称来取得服务映像。云计算存储系统131a在操作266向服务映像执行器133a发送服务映像和服务安装器账户标识符的散列。在接收到服务映像后,服务映像执行器133a在操作268生成所接收的服务映像的一个或多个散列的第二集合。
53.服务映像执行器133a在操作270向sms 120发送请求,以在执行服务映像之前验证服务映像。sms 120从服务映像执行器接收用于验证服务映像的请求。该请求包括服务安装器账户标识符的散列和由服务映像执行器从云计算系统中取得的服务映像的一个或多个散列的第二集合。在操作272,sms 120基于服务安装器账户标识符的散列而确定服务映像的一个或多个散列的第二集合是否与被存储在分布式账本中的服务映像的一个或多个散列相对应。响应于确定服务映像的一个或多个散列的第二集合与被存储在分布式账本中的服务映像的一个或多个散列相对应,sms 120在操作274向服务映像执行器发送服务映像可以被执行的确认。在接收到确认后,服务映像执行器133a可以在操作276安全地执行服务映像。
54.在一些实施例中,可以基于服务映像执行器133a中的可信平台模块(tpm)的机制来执行确定服务映像的散列。tpm基于服务映像的私钥和服务映像的散列来创建证书,并且用证明标识密钥skaik对证书进行签名。在这些实施例中,服务映像执行器还可以向sms 120发送通过tpm生成的证书以使能服务映像的验证。sms 120基于在分布式账本中记录的用于服务映像的信息而验证该证书和从服务映像执行器接收的服务映像的散列。在确定证书有效并且服务映像的散列与所记录的散列相匹配后,服务映像被验证以用于在服务映像执行器133a处执行。
55.将参考图1-2d的示例性实施例来描述流程图中的操作。但是,应该理解,可以由参考其他附图讨论的实施例之外的本发明的实施例来执行流程图的操作,并且参考这些其他附图讨论的本发明的实施例可以执行与参考流程图讨论的操作不同的操作。
56.图3a示出了根据一些实施例的用于获得服务安装器账户的示例性操作的流程图。图3a的操作可以由sms 120执行。在一个示例中,当sms 120被实现为多个sms节点时,图3a的操作可以由作为sms 120的一部分的sms节点(例如dlt的sms节点121a)执行。在操作302,服务管理系统(例如sms 120)从服务安装器(例如服务安装器110a)接收签名消息。签名消息包括对sms 120处的账户的请求、服务安装证书、以及服务安装器的公钥。在操作304,sms 120至少部分地基于服务安装证书来确定服务安装器是否被授权在sms 120处具有账户。操作304处的确定可以包括基于服务安装器110a的公钥来确定所接收的消息的签名有效。该确定还可以包括基于服务安装证书来确定服务安装器被授权获得sms的分布式账本中的账户。
57.响应于确定服务安装器未被授权在sms 120处具有账户,sms 120在操作306拒绝账户创建。在一些实施例中,sms 120可以向服务安装器110a发送具有拒绝账户创建指示的响应。
58.替代地,响应于确定服务安装器被授权在服务管理系统处具有账户,操作流程移动到操作308-312。在操作308,sms 120在分布式账本中创建服务安装器的账户。该账户被用对服务安装器而言唯一的服务安装器账户标识符来标识。在一些实施例中,服务安装器账户标识符可以是服务安装器的公钥或服务安装器的公钥的散列。在其他实施例中,可以使用其他类型的唯一标识符来唯一地标识服务安装器110a-n。例如,服务安装器账户标识符可以是所生成的充当服务安装器账户的标识符的随机字符串。
59.在操作310,sms 120在分布式账本中记录服务安装器账户标识符和公钥。在一些实施例中,在操作311,sms 120可以对服务安装器账户标识符执行散列运算,以及可以在分布式账本中存储服务安装器的账户信息,以及使用服务安装器账户标识符的散列作为密钥来标识账户信息。在操作313,sms 120向服务安装器发送服务安装器账户标识符。
60.图3b示出了根据一些实施例的用于授权服务映像的安装的示例性操作的流程图。在操作312,sms 120从服务安装器110a接收第一签名消息,该第一签名消息包括用于授权服务映像的安装的请求、服务映像标识符、服务安装器账户标识符、以及服务映像的一个或多个散列。在一些实施例中,服务映像的散列由对形成代码的一个或多个文件执行散列运算而产生,该代码当在云计算系统的服务器上被执行时导致应用向用户提供服务。这些文件可以包括被用于配置服务映像的配置文件。基于这些文件的服务映像的配置在对映像文件的散列运算和散列的生成之前被执行。服务映像标识符标识针对其寻求安装授权的服务映像的版本。在一些实施例中,服务安装器110a可以具有被安装或要被安装在云计算系统中的同一个服务映像的多个活动版本。在一些实施例中,签名消息还包括服务安装器110a的公钥。在其他实施例中,例如当服务映像标识符是服务安装器110a的公钥时,签名消息可以不包括服务安装器110a的公钥。
61.在操作314,sms 120基于服务安装器账户标识符和分布式账本而确定服务安装器是否被授权在云计算系统中安装用服务映像标识符标识的服务映像。在一些实施例中,sms 120在操作316确定服务安装器账户标识符是否与分布式账本中的合法账户相关联。sms 120还在操作318确定与被存储在分布式账本中的服务安装器账户标识符相对应的公钥是否验证签名消息(在其中接收用于授权安装的请求)的签名。在一些实施例中,在确定请求中包括的服务安装器账户标识符与分布式账本中的合法账户相关联,并且与服务安装器标识符相关联的服务安装器110a的公钥能够被用于验证签名消息的签名后,sms 120确定服务安装器被授权安装服务映像。在其他实施例中,在确定请求中包括的服务安装器账户标识符不与分布式账本中的合法账户相关联,或者与服务安装器标识符相关联的服务安装器110a的公钥不能被用于验证签名消息的签名后,sms 120确定服务安装器110a未被授权安装服务映像。
62.在确定服务安装器110a未被授权安装服务映像后,sms 120在操作324拒绝映像服务安装。在一些实施例中,sms 120可以向服务安装器110a发送包括拒绝映像服务安装的消息。在其他实施例中,不发送消息。在一些实施例中,当服务安装被拒绝时,sms 120可以将服务安装器的标识报告和/或在黑名单中记录为恶意服务安装器。
63.在确定服务安装器110a被授权安装服务映像后,sms 120执行以下操作320-322。在操作320,sms 120在分布式账本的有效服务映像列表中记录服务映像的一个或多个散列。在操作321,sms 120还在分布式账本中生成和记录与服务安装器标识符和服务映像标识符相关联的服务安装令牌。sms 120在操作322向服务安装器发送包括服务安装令牌和服务映像标识符的第二消息。服务安装令牌使得服务安装器110a在云计算系统中安装服务映像。
64.图3c示出了根据一些实施例的由服务安装器执行的示例性操作的流程图。服务安装器110a在操作332向sms 120发送签名消息。该签名消息包括对账户的请求、服务安装证书、以及服务安装器110a的公钥。用服务安装器的私钥对该消息进行签名。服务安装器110a的私钥和公钥是基于非对称加密机制而确定的一对公共/私有加密密钥。服务安装器110a在操作334接收服务管理系统的分布式账本中标识服务安装器的服务账户标识符。在接收到服务账户标识符后,服务安装器110a在操作336安全地存储服务安装器账户标识符。服务安装器110a可以使用服务安装器账户标识符来请求在经由sms 120管理的一个或多个云计算系统中安装服务映像。
65.在操作340,服务安装器110a发送第一签名消息,第一签名消息包括用于授权服务映像的安装的请求。第一签名消息包括用于授权安装的请求、服务映像标识符、服务安装器账户标识符、以及服务映像的一个或多个散列。在一些实施例中,服务映像的散列由对形成代码的一个或多个文件执行散列运算而产生,该代码当在云计算系统的服务器上被执行时导致应用向用户提供服务。这些文件可以包括被用于配置服务映像的配置文件。基于这些文件的服务映像的配置在对映像文件的散列运算和散列的生成之前被执行。服务映像标识符标识针对其寻求安装授权的服务映像的版本。在一些实施例中,服务安装器110a可以具有被安装或要被安装在云计算系统中的服务映像的多个活动版本。在一些实施例中,签名消息还包括服务安装器110a的公钥。在其他实施例中,例如当服务映像标识符是服务安装器110a的公钥时,签名消息可以不包括服务安装器110a的公钥。第一签名消息被用服务安装器110a的私钥进行签名。
66.服务安装器在操作342接收包括服务安装令牌和服务映像标识符的第二消息。服务安装令牌使得服务安装器110a在云计算系统中安装服务映像。
67.在接收到服务安装令牌后,服务安装器110a在操作344向云计算系统发送用于安装服务映像的请求。该请求包括服务安装令牌、服务映像、服务映像标识符、以及服务安装器账户标识符的散列。该请求被发送到服务映像要被安装在其中的云计算存储系统131a。在接收到请求后,云计算存储系统131a确定安装令牌的有效性。响应于确定服务安装令牌有效,云计算存储系统131a安装具有关联的服务映像标识符的映像。云计算存储系统131a还记录服务安装器账户标识符的散列。在确定安装完成后,服务安装器110a在操作346接收对安装的确认。在一些实施例中,云计算存储系统131a可以确定服务安装令牌不是有效令牌,并且拒绝服务映像的安装。在一些实施例中,云计算存储系统131a可以向服务安装器110a发送拒绝服务映像安装消息以指示服务映像未被安装。在这些实施例中,代替接收对安装的确认,服务安装器110a可以从云计算系统接收拒绝安装消息。
68.图3d示出了根据一些实施例的用于授权服务映像的卸载的示例性操作的流程图。在操作352,sms 120从服务安装器110a接收签名消息,该签名消息包括用于授权先前被安
装在云计算存储系统中的服务映像的卸载的请求。该签名消息还包括服务映像标识符和服务安装器账户标识符。服务映像标识符标识针对其寻求卸载授权的服务映像的版本。在一些实施例中,服务安装器110a可以具有被安装的服务映像的多个活动版本,以及可以发送服务映像的一个或多个标识符以请求卸载。
69.在操作354,sms 120基于服务安装器账户标识符和分布式账本而确定服务安装器是否被授权卸载被用服务映像标识符标识的服务映像。在一些实施例中,sms 120确定服务安装器账户标识符是否与分布式账本中的合法账户相关联(操作356)。sms 120还在操作358确定与被存储在分布式账本中的服务安装器账户标识符相对应的公钥是否验证签名消息(在其中接收用于授权安装的请求)的签名。在一些实施例中,在确定请求中包括的服务安装器账户标识符与分布式账本中的合法账户相关联,并且与服务安装器标识符相关联的服务安装器110a的公钥能够被用于验证签名消息的签名后,sms 120确定服务安装器110a被授权卸载服务映像。在其他实施例中,在确定请求中包括的服务安装器账户标识符不与分布式账本中的合法账户相关联,或者与服务安装器标识符相关联的服务安装器110a的公钥不能被用于验证签名消息的签名时,sms 120确定服务安装器110a未被授权卸载服务映像。
70.在确定服务安装器110a未被授权卸载服务映像后,sms 120在操作364拒绝映像服务卸载。在一些实施例中,sms 120可以在操作366向服务安装器110a发送包括拒绝映像服务安装的消息。在其他实施例中,不发送消息。在一些实施例中,当服务安装被拒绝后,sms 120可以将服务安装器的标识报告和/或在黑名单中记录为恶意服务安装器。
71.在确定服务安装器110a被授权卸载服务映像后,sms 120执行操作360-362。在操作360,sms 120从分布式账本的有效服务映像列表中删除服务映像的散列。在操作361,sms 120还在分布式账本中生成和记录与服务安装器标识符和服务映像标识符相关联的服务卸载令牌。sms 120在操作362向服务安装器110a发送包括服务卸载令牌的消息。服务卸载令牌使得服务安装器110a在云计算系统中卸载服务映像。
72.图3e示出了根据一些实施例的用于请求服务映像的卸载的示例性操作的流程图。在操作370,服务安装器110a发送签名消息,该签名消息包括用于授权服务映像的卸载的请求。第一签名消息包括用于授权卸载的请求、服务映像标识符、以及服务安装器账户标识符。服务映像标识符标识针对其寻求安装授权的服务映像的版本。在一些实施例中,服务安装器110a可以具有被安装在云计算系统中的服务映像的多个活动版本。在一些实施例中,该请求可以包括多于一个的服务映像标识符,这些标识符标识要被卸载的多个服务映像。签名消息被用服务安装器110a的私钥进行签名。
73.服务安装器在操作372接收包括服务卸载令牌和服务映像标识符的消息。服务卸载令牌使得服务安装器110a在云计算系统中卸载服务映像。在接收到服务卸载令牌后,服务安装器110a在操作374向云计算系统发送用于卸载服务映像的请求。该请求包括服务卸载令牌、服务映像标识符、以及服务安装器账户标识符的散列。该请求被发送到要在其中卸载服务映像的云计算存储系统131a。在接收到该请求后,云计算存储系统131a确定服务卸载令牌的有效性。响应于确定服务卸载令牌有效,云计算存储系统131a卸载与服务映像标识符相关联的映像。在确定卸载完成后,服务安装器110a在操作376接收对卸载的确认。在一些实施例中,云计算存储系统131a可以确定服务卸载令牌不是有效令牌,并且拒绝服务
映像的卸载。在一些实施例中,云计算存储系统131a可以向服务安装器110a发送拒绝服务映像卸载消息以指示服务映像未被卸载。在这些实施例中,代替接收对卸载的确认,服务安装器110a可以从云计算系统接收拒绝卸载消息。
74.图3f示出了根据一些实施例的用于安全地执行服务映像的示例性操作的流程图。一旦服务映像被存储在云计算系统中(例如云计算存储系统131a中),并且服务映像的散列和服务安装器账户标识符被记录在分布式账本中,服务映像便可以被安全地上传并由一个或多个服务映像执行器执行。例如,服务映像执行器133a(其可以是云计算系统130a的一部分或在云计算系统外部)可能需要从云计算存储系统131a中取得服务映像,以及在服务映像的执行之前验证服务映像。在一些实施例中,基于图3f的操作来执行服务映像的验证。
75.服务管理系统在操作380接收对sms 120的在执行服务映像之前验证服务映像的请求。该请求包括服务安装器账户标识符的散列和由服务映像执行器从云计算系统中取得的服务映像的一个或多个散列的第二集合。在操作382,sms 120基于服务安装器账户标识符的散列而确定服务映像的一个或多个散列的第二集合是否与被存储在分布式账本中的服务映像的一个或多个散列相对应。响应于确定服务映像的一个或多个散列的第二集合与被存储在分布式账本中的服务映像的一个或多个散列相对应,sms 120在操作384向服务映像执行器发送服务映像能够被执行的确认。在接收到确认后,服务映像执行器133a能够安全地执行服务映像。在一些实施例中,响应于确定服务映像的第二散列集合不与被存储在分布式账本中的服务映像的散列相对应,sms 120在操作386确认服务不能被执行。在一些实施例中,sms 120可以向服务映像执行器发送指示服务映像不能被执行的消息。在替代实施例中,sms 120可以不发送消息。
76.架构:
77.电子设备使用机器可读介质(也被称为计算机可读介质)来存储和发送(在内部和/或通过网络与其他电子设备一起)代码(其包括软件指令,并且有时被称为计算机程序代码或计算机程序)和/或数据,机器可读介质例如包括机器可读存储介质(例如磁盘、光盘、固态驱动器、只读存储器(rom)、闪存设备、相变存储器)和机器可读传输介质(也被称为载体)(例如电、光、无线电、声学或其他形式的传播信号,例如载波、红外信号等)。因此,电子设备(例如计算机)包括硬件和软件,例如被耦接到一个或多个机器可读存储介质的一组一个或多个处理器(例如,其中处理器是微处理器、控制器、微控制器、中央处理单元、数字信号处理器、专用集成电路、现场可编程门阵列、其他电子电路、前述一个或多个的组合),以存储用于在该组处理器上执行的代码和/或存储数据。例如,电子设备可以包括包含代码的非易失性存储器,因为即使当电子设备被关闭时(当断电时),非易失性存储器也可以保持代码/数据,以及当电子设备开启时,代码的要由该电子设备的处理器执行的部分通常从该电子设备的较慢的非易失性存储器被复制到易失性存储器(例如动态随机存取存储器(dram)、静态随机存取存储器(sram))中。典型的电子设备还包括一组一个或多个物理网络接口(ni)以与其他电子设备建立网络连接(以使用传播信号来发送和/或接收代码和/或数据)。例如,该组物理ni(或该组物理ni与执行代码的该组处理器相结合)可以执行任何格式化、编码或转换以允许电子设备发送和接收数据(无论通过有线和/或无线连接)。在一些实施例中,物理ni可以包括无线电电路,其能够通过无线连接从其他电子设备接收数据和/或经由无线连接向其他设备发出数据。该无线电电路可以包括适合于射频通信的发射机、接
收机和/或收发机。无线电电路可以将数字数据转换成具有适当参数(例如频率、定时、信道、带宽等)的无线电信号。然后,可以经由天线向适当的接收者发送无线电信号。在一些实施例中,该组物理ni可以包括网络接口控制器(nic),也被称为网络接口卡、网络适配器或局域网(lan)适配器。nic可以促进将电子设备连接到其他电子设备,从而允许它们通过将电缆插入被连接到nic的物理端口而经由电线进行通信。可以使用软件、固件和/或硬件的不同组合来实现本发明的实施例的一个或多个部分。
78.网络设备(nd)是在通信上互连网络上的其他电子设备(例如其他网络设备、最终用户设备)的电子设备。一些网络设备是“多服务网络设备”,其提供对多种网络功能(例如路由、桥接、交换、第2层聚合、会话边界控制、服务质量和/或用户管理)的支持,和/或提供对多种应用服务(例如数据、语音和视频等)的支持。
79.图4示出了根据一些实施例的其中可以执行服务映像的验证的网络设备的框图。根据一个实施例,网络设备430包括硬件405。硬件405包括与计算机可读存储介质412耦接的网络通信接口460。计算机可读存储介质412还可以包括服务管理代码434。服务管理代码434当在一个或多个处理器414上被执行时使得网络设备执行参考图1-3f中的一个或多个描述的服务管理系统的操作。
80.尽管一个实施例不实现虚拟化,但是替代实施例可以使用不同形式的虚拟化。例如,在一个这样的替代实施例中,虚拟化层420表示允许创建多个实例(被称为软件容器,其可以各自被用于执行多组应用中的一个(或多个))的操作系统的内核(或在基本操作系统上执行的垫片(shim));其中,多个软件容器(也被称为虚拟化引擎、虚拟专用服务器或jail)是用户空间(通常是虚拟存储器空间),这些用户空间彼此分离,并且与其中运行操作系统的内核空间分离;以及其中,除非显式允许,否则在给定用户空间中运行的该组应用不能访问其他进程的内存。在另一个这样的替代实施例中,虚拟化层420表示系统管理程序(有时被称为虚拟机监视程序(vmm))或在主机操作系统之上执行的系统管理程序,并且多组应用中的每一个在实例440内的客机操作系统之上运行,实例440被称为在系统管理程序之上运行的虚拟机(其在某些情况下可以被认为是一种严格隔离形式的软件容器)—客机操作系统和应用可能不知道它们正在虚拟机上运行而不是在“裸金属”主机电子设备上运行,或者通过半虚拟化,操作系统和/或应用可能知道用于优化目的的虚拟化的存在。在其他替代实施例中,一个、一些或所有应用被实现为unikernel,可以通过直接使用应用仅编译提供应用所需要的特定os服务的有限的一组库(例如来自包括os服务的驱动程序/库的库操作系统(libos))来生成unikernel。因为unikernel可以被实现为直接在硬件705上运行,直接在系统管理程序上运行(在这种情况下,unikernel有时被描述为在libos虚拟机内运行),或者在软件容器中运行,所以实施例可以完全使用直接在由虚拟化层420表示的系统管理程序上运行的unikernel、在由实例表示的软件容器内运行的unikernel来实现,或者被实现为unikernel和上述技术的组合(例如,均直接在系统管理程序上运行的unikernel和虚拟机、在不同的软件容器中运行的unikernel和多组应用)。
81.一组或多组一个或多个应用以及虚拟化(如果实现)的实例化被统称为软件实例。每组应用、对应的虚拟化构造(如果实现)、以及硬件的执行它们的部分(专用于该执行的硬件和/或临时共享的硬件的时间切片)形成单独的虚拟网元。
82.尽管附图中的流程图示出了由本发明的特定实施例执行的操作的特定顺序,但是
应该理解,这样的顺序是示例性的(例如替代实施例可以以不同的顺序来执行操作,组合特定操作,重叠特定操作等)。
83.尽管根据多个实施例描述了本发明,但是本领域技术人员将认识到本发明不限于所描述的实施例,本发明可以通过在所附权利要求的精神和范围内的修改和变更来实现。说明书因此被认为是说明性的而不是限制性的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1