用于管理容器的方法、系统和计算机可读介质技术方案

技术编号:34963457 阅读:22 留言:0更新日期:2022-09-17 12:43
本公开的实施例涉及用于管理容器的方法、系统和计算机可读介质。可以接收对应于可执行代码的容器。响应于接收容器,驻留在计算环境的存储器中的容器管理器可以被执行以验证容器。容器管理器可以由计算环境的引导加载器来验证。容器访问计算环境的资源的许可可以在容器管理器对容器的验证之后确定。基于针对计算环境的资源的容器的许可,对计算环境的一个或多个资源的访问可以通过将对一个或多个资源的控制从容器管理器转移到容器来提供。的控制从容器管理器转移到容器来提供。的控制从容器管理器转移到容器来提供。

【技术实现步骤摘要】
用于管理容器的方法、系统和计算机可读介质
[0001]相关申请
[0002]本申请是国际申请号为PCT/US2016/046428、国际申请日为2016年8月10日、进入中国国家阶段日期为2018年1月19日、中国国家申请号为201680042707.6、专利技术名称为“用于管理容器的方法、系统和计算机可读介质”的专利技术专利申请的分案申请。


[0003]本公开的实施例涉及用于管理容器的方法、系统和计算机可读介质。
附图说明
[0004]根据以下给出的具体实施方式以及本公开的各种实现的附图,将更全面地理解本公开。
[0005]图1图示了根据本公开的一些实施例的具有引导加载器、容器管理器、以及一个或多个容器的示例安全计算环境。
[0006]图2图示了根据一些实施例的安全计算环境的示例架构。
[0007]图3是根据本公开的一些实施例的提供安全计算环境的示例方法的流程图。
[0008]图4是根据一些实施例的用于执行安全计算环境的引导加载器的示例方法的流程图。
[0009]图5A是根据本公开的一些实施例的用于提供安全计算环境的资源的分时共享的示例方法的流程图。
[0010]图5B是根据本公开的一些实施例的用于执行安全计算环境的容器管理器的示例方法的流程图。
[0011]图6是根据本公开的一些实施例的更新容器管理器的示例方法的流程图。
[0012]图7图示了根据一些实施例的与一个或多个容器和存储器位置交互的示例容器管理器。
[0013]图8图示了根据本公开的一些实施例的用于提供容器之间的交互的示例方法。
[0014]图9图示了根据一些实施例的与存储器交互的容器的示例。
[0015]图10图示了根据一些实施例的容器与安全计算环境外部的部件交互的示例性方法。
[0016]图11图示了本公开的一些实施例可以在其中操作的计算机系统的实施例的框图。
具体实施方式
[0017]本公开的各方面涉及安全计算环境。系统或设备可以包括引导加载器、容器管理器以及可以用于提供安全计算环境的一个或多个容器。引导加载器可以是基于硬件的状态机,其可以响应于系统或设备的初始化而被启动或执行。在引导加载器的执行期间,存储在诸如系统的只读存储器(ROM)的存储器中的、或经由系统或设备的互连(例如,如网列表表示的)被存储、或存储在闪存或系统或设备上的其他存储装置中的容器管理器可以在引导
加载器已经执行用于安全计算环境的初始化过程之后并且已经验证了容器管理器之后被执行。
[0018]引导加载器可以验证容器管理器。验证可以包括散列结果并将结果与预期结果进行比较。例如,散列可以对应于诸如SHA

2或SHA

3操作的安全散列算法(SHA)操作。备选地,验证可以包括使用公钥密码的引导加载器。例如,验证可以基于椭圆曲线密码数字签名(ECDS)操作。在容器管理器已被验证之后,引导加载器可以允许容器管理器控制系统或设备的安全计算环境的中央处理单元(CPU)或其他这样的处理设备或硬件。容器管理器可以是具有较高或最高权限的系统或设备的软件,其为随后接收到的、与不安全用户代码相对应的容器提供某些功能。因此,引导加载器可以验证容器管理器,并在容器管理器被验证之后授权容器管理器控制系统或设备的CPU。
[0019]容器管理器可以提供用于容器的执行的框架。每个容器可对应于可执行代码或指令(例如,在系统或设备的制造之后接收到的)以及访问系统或设备的某些功能或资源的许可。容器管理器可以连续地接收和执行容器,使得系统或设备的安全计算环境的资源被容器共享或分时共享。
[0020]由容器管理器提供的框架可以进一步促进容器之间的通信或交互。例如,容器管理器可以执行第一容器,并从第一容器接收要被存储在进程间通信(IPC)寄存器或存储器中的数据。第一容器还可以向容器管理器指定被授权接收数据的后续容器的标识。容器管理器随后可以存储从第一容器接收到的数据、接收容器的标识(例如,数据旨在被接收到的后续容器的标识)以及在IPC寄存器或存储器中的数据的发送方的标识(例如第一容器)。随后的容器可以由容器管理器执行,并且当容器管理器执行第二容器时,容器管理器可以将来自在第一容器的、存储在IPC寄存器的数据提供给第二容器,使得该数据可以在第二容器的执行期间被使用。如果第二容器的标识不同于接收容器的标识,则容器管理器可以限制对IPC寄存器或存储器的访问。容器管理器可以在IPC本身的寄存器或存储器中存储发送方容器标识,使得发送方容器可以不提供错误的标识。
[0021]容器管理器可以进一步向容器提供用于与安全计算环境外的部件或实体进行通信的功能。例如,系统可以包括高级操作系统(HLOS)寄存器或存储器,高级操作系统(HLOS)寄存器或存储器可用于提供来自容器的数据请求的指示,并且从安全计算环境的外部的外部实体接收针对容器的对应数据。例如,容器可以向容器管理器发送数据以用于在HLOS寄存器处存储,该数据指示对特定类型的数据的请求。外部软件应用或部件可以访问HLOS寄存器并且可以标识HLOS寄存器当前指示针对特定类型的数据的请求。作为响应,外部软件应用或部件可以为HLOS寄存器提供所请求的数据,并且容器管理器可以允许容器取回从外部软件应用或部件接收到的数据,该数据当前存储在HLOS寄存器或存储器中。
[0022]此外,安全计算环境可以允许容器验证容器管理器。例如,引导加载器可以在引导加载器被执行时提供容器管理器的版本号或其他这样的标识,并且可以将版本号存储在特定的寄存器或存储器位置中。由容器管理器执行的容器可以包括验证容器管理器的版本号的指令。例如,容器可以被提供对特定寄存器或存储器位置中的版本号的访问,并且可以基于容器管理器的版本号而被执行。例如,如果容器管理器的版本号与来自容器的指令的容器管理器的授权版本号相匹配,则容器可以被执行。然而,如果容器管理器的版本号与来自容器的指令的容器管理器的授权版本号不匹配,则容器可以不进一步实行或执行其指令的
操作。
[0023]因此,本公开的各方面可以提供安全计算环境,其中系统或设备的引导加载器可以验证容器管理器,该容器管理器可以进一步提供用于以容器的形式执行用户代码的框架。此外,容器可以进一步验证容器管理器,使得可以在安全计算环境中执行容器的执行。
[0024]图1图示了示例安全计算环境100,示例安全计算环境100具有引导加载器110、在只读存储器120中存储的容器管理器121、以及一个或多个容器130。通常,安全计算环境100可以对应于为一个或多个容器130提供安全计算环境的系统或设备的一部分。
[0025]如图1所示,安全计算环境100可以包括引导加载器110,引导加载器110与被存储在设备的只读存储器(ROM)120的容器管理器121交互,该设备包括安全计算环境100。引导加载器110可以是基于硬件的状态机,其响应于安全计算环境100或包括安全计算环境100的设备的初始化(即本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:接收与可执行代码相对应的容器;响应于所述容器的所述接收,执行驻留在计算环境的存储器中的容器管理器以验证所述容器,其中所述容器管理器由所述计算环境的引导加载器验证;在由所述容器管理器对所述容器的所述验证之后,确定所述容器访问所述计算环境的资源的许可;以及由处理设备基于针对所述计算环境的所述资源的所述容器的所述许可,通过将对一个或多个资源的控制从所述容器管理器转移到所述容器,来提供对所述计算环境的所述一个或多个资源的访问。2.根据权利要求1所述的方法,还包括:从所述容器接收数据,其中所述数据是针对第二容器的;以及将所述数据和所述第二容器的标识存储在所述计算环境的另一存储器中。3.根据权利要求2所述的方法,还包括:在所述容器的执行完成之后接收所述第二容器,其中所述第二容器对应于附加的可执行代码;以及响应于所述第二容器的标识与所述计算环境的所述另一存储器中的所述第二容器的所述标识相匹配,向所述第二容器提供来自所述计算环境的所述另一存储器的所述数据。4.根据权利要求1所述的方法,所述方法还包括:接收与所述容器管理器相关联的版本号;以及基于与所述容器管理器相关联的所述版本号和与在所述容器中存储的所述容器管理器相关联的另一版本号的比较,来执行所述容器。5.根据权利要求1所述的方法,还包括:从所述容器接收用于从所述计算环境外部的部件接收数据的请求;以及将用于接收数据的所述请求的指示存储到所述计算环境的另一存储器中,其中所述另一存储器由所述计算环境外部的所述部件访问。6.根据权利要求1所述的方法,还包括:执行所述容器;以及在所述容器的所述执行之...

【专利技术属性】
技术研发人员:A
申请(专利权)人:密码研究公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1