一种基于可信计算的容器镜像完整性校验方法与流程

文档序号:33295295发布日期:2023-02-28 21:16阅读:86来源:国知局
一种基于可信计算的容器镜像完整性校验方法与流程

1.本发明涉及信息安全技术领域,尤其涉及一种基于可信计算的容器镜像完整性校验方法。


背景技术:

2.随着云计算的发展以及kubernetes、openshift等开源技术的广泛应用,越来越多的应用采用了容器化部署,容器对操作系统进行抽象,容器内只包含应用程序及必要的依赖资源,可以隔离不同软硬件系统,具有非常好的可移植性,但随之引入了容器数据安全性问题,在实际应用中,容器可能承载有敏感信息,容器的可移植、共享特性可能会泄露敏感数据,黑客攻击者有可能在镜像中植入病毒木马,从而盗取用户的敏感数据,对用户造成损失。
3.容器镜像完整性校验可保证容器数据不被篡改,但是静态完整性校验只能解决容器镜像在运行前的完整性,不能保证容器镜像运行环境的安全可信,也不能保证运行过程中容器镜像内核心数据的完整性。
4.因此,如何提供一种整合容器镜像静态完整性校验技术与可信技术的方法,对容器镜像的静态度量及动态度量,实现容器镜像的全生命周期的完整性校验,成为亟待解决的技术问题。


技术实现要素:

5.有鉴于此,为了克服现有技术的不足,本发明主要解决的是。
6.本发明提供一种基于可信计算的容器镜像完整性校验方法,包括:
7.步骤s1:向tcas申请签名私钥对容器镜像进行镜像签名,输出镜像基线文件至部署在云环境内的tccp;
8.步骤s2:采用镜像基线文件对容器镜像进行签名验证;
9.步骤s3:校验运行环境,将通过签名验证的容器镜像部署至云环境内可信的节点上;
10.步骤s4:在节点本地环境中对容器镜像运行时的完整性进行动态校验。
11.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s1中,向tcas申请签名私钥对容器镜像进行镜像签名,包括:通过自动化镜像构建软件向tcas申请签名私钥,调用tcas的签名接口获取所述签名私钥对系统版本内所有容器镜像进行镜像签名。
12.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s2,包括:将未通过签名验证的容器镜像判定为不合法,终止不合法容器镜像的调度和部署执行。
13.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s3,包括:
14.在云环境内的所有节点上部署可信客户端,通过可信客户端将节点的可信状态同步至tccp;
15.tccp根据节点的可信状态为节点设置标签,将通过签名验证的容器镜像调度至标
签状态为可信的节点进行部署;
16.通过tccp更新节点的的可信状态。
17.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s3中,tccp根据节点的可信状态为节点设置标签,包括:
18.当节点的可信状态为可信,采用tccp为节点设置状态为可信的标签;
19.当节点的可信状态为不可信,采用tccp为节点设置状态为不可信的标签。
20.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s3中,通过tccp更新节点的的可信状态,包括:
21.通过tccp将节点的不可信状态推送至云环境中恢复为可信状态,通过可信客户端将恢复的可信状态同步至tccp,并通过tccp将对应节点的可信状态更新为可信,为所述节点设置状态为可信的标签。
22.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s4,包括:
23.步骤s41:通过可信客户端加载动态度量驱动,通过动态度量驱动初始化linux系统环境;
24.步骤s42:对驱动配置文件内的容器应用及容器内运行的应用软件的静态区、常量区及代码区分别进行度量基准值计算,将计算所得的度量基准值保存至可信计算模块;
25.步骤s43:基于动态度量驱动的钩子函数分别对容器应用及容器内运行的应用软件的静态区、常量区及代码区进行动态度量;
26.步骤s44:将容器应用及容器内运行的应用软件在运行过程中的静态区、常量区及代码区的度量值分别与对应的度量基准值进行比较,根据比较结果判定所述容器是否通过动态完整性校验。
27.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s44,包括:
28.如果容器应用及容器内运行的应用软件在运行过程中的静态区、常量区及代码区的度量值分别与对应的度量基准值相匹配,判定所述容器应用及容器内运行的应用软件通过动态完整性校验;
29.如果存在不匹配的比较结果,判定所述容器应用及容器内运行的应用软件未通过动态完整性校验,终止所述容器的运行。
30.进一步地,本发明基于可信计算的容器镜像完整性校验方法的步骤s4,还包括:通过可信客户端收集动态完整性校验结果,并将校验结果同步至tccp。
31.进一步地,本发明基于可信计算的容器镜像完整性校验方法中,校验结果包括动态完整性产生的异常数据。
32.本发明基于可信计算的容器镜像完整性校验方法,通过镜像基线文件对容器镜像签名验证,将通过签名验证的容器镜像部署至云环境内可信的节点上,在节点本地环境中对容器镜像运行时的完整性进行动态校验,保证容器镜像运行环境的安全可信以及保证运行过程中容器镜像内核心数据的完整性。
附图说明
33.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域
普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
34.图1为本发明示例性第一实施例一种基于可信计算的容器镜像完整性校验方法的流程图。
35.图2为本发明示例性第三实施例一种基于可信计算的容器镜像完整性校验方法的流程图。
具体实施方式
36.下面结合附图对本发明实施例进行详细描述。
37.需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合;并且,基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
38.需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
39.以下各实施例涉及的名词解释如下:
40.tccp:全称为trust computer container platform,一种可信计算容器平台,tccp基于云环境内的webhook机制,在镜像部署前插入容器镜像完整性校验功能及添加可信节点亲和性标签,同时收集可信客户端实时上报的节点可信状态信息,根据可信状态对节点设置可信标签,强制将容器部署至可信节点,用于云环境内的资源进行校验、生成及修改,同步已部署可信客户端的节点可信状态,同时设置节点可信状态。
41.tcas:全称为trust certification authority service,一种可信证书管理服务,tcas基于可信计算模块提供符合公钥基础设施标准(pki)的证书管理服务,提供证书的签发、证书校验、证书的吊销、证书的自动轮转等功能,用于云环境下镜像加密公钥证书的签发、校验及自动轮转。
42.图1为根据本发明示例性第一实施例的一种基于可信计算的容器镜像完整性校验方法的流程图,如图1所示,本实施例的方法,包括:
43.步骤s1:向tcas申请签名私钥对容器镜像进行镜像签名,输出镜像基线文件至部署在云环境内的tccp;
44.步骤s2:采用镜像基线文件对容器镜像进行签名验证;
45.步骤s3:校验运行环境,将通过签名验证的容器镜像部署至云环境内可信的节点上;
46.步骤s4:在节点本地环境中对容器镜像运行时的完整性进行动态校验。
47.在实际应用中,本实施例方法的步骤s1中,向tcas申请签名私钥对容器镜像进行镜像签名,包括:通过自动化镜像构建软件向tcas申请签名私钥,调用tcas的签名接口获取所述签名私钥对系统版本内所有容器镜像进行镜像签名。
48.在实际应用中,本实施例方法的步骤s2,包括:将未通过签名验证的容器镜像判定为不合法,终止不合法容器镜像的调度和部署执行。
49.本实施例方法的步骤s4,还包括:通过可信客户端收集动态完整性校验结果,并将校验结果同步至tccp,其中,校验结果包括动态完整性产生的异常数据。
50.本实施例方法可以保证容器镜像运行环境的安全可信以及保证运行过程中容器镜像内核心数据的完整性。
51.本发明示例性第二实施例提供一种基于可信计算的容器镜像完整性校验方法,本实施例方法是图1所示方法的优选实施例,本实施例方法的步骤s3,包括:
52.在云环境内的所有节点上部署可信客户端,通过可信客户端将节点的可信状态同步至tccp;
53.tccp根据节点的可信状态为节点设置标签,当节点的可信状态为可信,采用tccp为节点设置状态为可信的标签;当节点的可信状态为不可信,采用tccp为节点设置状态为不可信的标签;将通过签名验证的容器镜像调度至标签状态为可信的节点进行部署;
54.通过tccp更新节点的的可信状态,具体的,通过tccp将节点的不可信状态推送至云环境中恢复为可信状态,通过可信客户端将恢复的可信状态同步至tccp,并通过tccp将对应节点的可信状态更新为可信,为所述节点设置状态为可信的标签。
55.图2为根据本发明示例性第三实施例的一种基于可信计算的容器镜像完整性校验方法的流程图,本实施例方法是图1所示方法的优选实施例,如图2所示,本实施例方法的步骤s4,包括:
56.步骤s41:通过可信客户端加载动态度量驱动,通过动态度量驱动初始化linux系统环境;
57.步骤s42:对驱动配置文件内的容器应用及容器内运行的应用软件的静态区、常量区及代码区分别进行度量基准值计算,将计算所得的度量基准值保存至可信计算模块;
58.步骤s43:基于动态度量驱动的钩子函数分别对容器应用及容器内运行的应用软件的静态区、常量区及代码区进行动态度量;
59.步骤s44:将容器应用及容器内运行的应用软件在运行过程中的静态区、常量区及代码区的度量值分别与对应的度量基准值进行比较,根据比较结果判定所述容器是否通过动态完整性校验。
60.具体的,本实施例方法的步骤s44按以下方式实施:
61.如果容器应用及容器内运行的应用软件在运行过程中的静态区、常量区及代码区的度量值分别与对应的度量基准值相匹配,判定所述容器应用及容器内运行的应用软件通过动态完整性校验;
62.如果存在不匹配的比较结果,判定所述容器应用及容器内运行的应用软件未通过动态完整性校验,终止所述容器的运行。
63.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1