CN113572619A - 一种基于notary的容器云镜像可信实现方法及系统 - Google Patents
一种基于notary的容器云镜像可信实现方法及系统 Download PDFInfo
- Publication number
- CN113572619A CN113572619A CN202111103191.0A CN202111103191A CN113572619A CN 113572619 A CN113572619 A CN 113572619A CN 202111103191 A CN202111103191 A CN 202111103191A CN 113572619 A CN113572619 A CN 113572619A
- Authority
- CN
- China
- Prior art keywords
- mirror image
- docker
- container
- private
- notary
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3226—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于notary的容器云镜像可信实现方法及系统,本发明包括分别在容器云中部署notary公证服务以及私有镜像仓库服务;在容器云中的任意节点中基于notary公证服务,对docker容器镜像进行验签,并将验签后的docker容器镜像通过docker服务端上传到私有镜像仓库。本发明采用notary认证服务为容器云提供安全可信的容器镜像,确保容器云安全地编排管理运行各类容器,解决了容器云环境下docker容器镜像的可信问题,通过预先对docker容器镜像进行签名认证,以确保容器云环境下每个运行的docker容器镜像均是可信镜像,实现容器云环境下的容器镜像可信。
Description
技术领域
本发明涉及计算机系统的容器安全技术,具体涉及一种基于notary的容器云镜像可信实现方法及系统。
背景技术
传统的应用部署方法是直接将应用程序部署到生产环境的物理机器上,由于开发环境与测试环境以及生产环境的不一致问题,导致应用部署升级维护成本很高,为此轻量级容器化技术Docker应运而生,其将应用打包成镜像,容器之间共享物理机操作系统,容器有自己的文件系统、CPU、内存、进程空间等,由于其与底层物理机操作系统解耦,极大的方便应用的部署升级与迁移维护。随着越来越多应用的容器化,管理编排这些容器逐渐成为一个棘手的事情,这无疑促进了容器云编排引擎kubernetes诞生。但是,随着Docker容器与容器云技术的普及与发展,其带来的安全问题不容忽视,除了Docker与容器云自身软件的安全漏洞以外,其最大的安全问题来自于Docker的各种容器镜像,容器镜像包含各类应用程序软件,其中有许多高危漏洞,也不乏恶意软件镜像。
申请号为CN202010310708.2的中国专利文献公开了一种用于k8s环境的docker白名单执行控制方法,该方法通过docker白名单执行控制方法来解决在k8s集群环境下docker容器迁移时docker白名单同步迁移问题,实现通过白名单策略对docker容器的运行控制,从而确保k8s环境下docker容器的运行安全。但是,该方法针对的是在k8s环境下docker容器运行时的安全问题,即通过docker白名单安全策略对docker容器运行时的控制,但没有对docker容器自身镜像问题提出控制,没有关心Docker容器内部的安全性,Docker容器和镜像存在高危漏洞或者恶意软件,且仍然面临被篡改的可能。
申请号为CN201910293687.5的中国专利文献公开了一种面向容器平台的可信软件授权验证系统及方法,申请号为CN201910231947.6的中国专利文献公开了一种面向多租户容器镜像安全配置方法,系统,运行终端及存储介质,申请号为CN202010644383 .1的中国专利文献公开了一种基于区块链技术的容器镜像可信认证的系统与方法,申请号为CN202011442927.2的中国专利文献公开了一种容器镜像仓库的安全访问方法及系统,这些专利文献虽然均与容器镜像可信相关,但是没有考虑k8s集群下的容器镜像安全,即k8s环境下容器镜像的拉取或运行是由kubelet调用docker服务端(daemon)自动完成的,若没有对k8s环境下容器镜像拉取或运行这一关键步骤的容器镜像控制,则无法确保容器镜像的安全。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,为了解决容器镜像中存在的各类高危漏洞,恶意软件镜像问题,提供一种基于notary的容器云镜像可信实现方法及系统,本发明旨在采用基于TUF(The Update Framework,更新框架)架构的notary认证服务,为容器云提供安全可信的容器镜像,从而确保容器云安全地编排管理运行各类容器。本发明基于notary公证服务,解决了容器云环境下docker容器镜像的可信问题。通过预先对docker容器镜像进行签名认证,以确保容器云环境下每个运行的docker容器镜像均是可信镜像,实现容器云环境下的容器镜像可信。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于notary的容器云镜像可信实现方法,包括:
1)分别在容器云中部署notary公证服务以及私有镜像仓库服务;
2)在容器云中的任意节点中基于notary公证服务,对docker容器镜像进行验签,并将验签后的docker容器镜像通过docker服务端上传到私有镜像仓库。
可选地,步骤2)中所述容器云中的任意节点的执行步骤包括:
2.1)生成私钥与公钥;
2.2)基于生成的公钥给待上传的docker容器镜像添加签名者信息,并与notary公证服务交互生成该镜像的元数据信息保存到notary公证服务的notary数据库;
2.3)给docker容器镜像签名,并与notary公证服务进行交互验证签名者密码;
2.4)调用docker服务端以将验签后的docker容器镜像上传到私有镜像仓库。
可选地,步骤2.1)中生成私钥与公钥是指执行命令“docker trust keygenerate”生成私钥与公钥,并分别保存私钥与公钥。
可选地,步骤2.2)中基于生成的公钥给待上传的docker容器镜像添加签名者信息是指执行命令“docker trust signer add --key”,其中key是指该节点保存在当前目录的公钥。
可选地,步骤2.3)中给docker容器镜像签名是指执行命令“docker trust sign”给docker容器镜像签名。
可选地,步骤2.4)中调用docker服务端后,docker服务端的执行步骤包括:首先对收到的签名后的docker容器镜像进行验签,若验签通过,则将签名后的docker容器镜像推送上传到私有镜像仓库,否则返回验签不通过的错误消息。
可选地,步骤2)之后还包括docker服务端响应容器云组件kubelet调用的步骤:
S1)docker服务端收到容器云组件kubelet对目标docker容器镜像的请求;
S2)docker服务端与notary公证服务进行交互判断私有镜像仓库中的目标docker容器镜像是否已经验签,若目标docker容器镜像已经验签则跳转至下一步;否则,返回目标docker容器镜像未验签的错误消息,跳转至步骤S7);
S3)docker服务端将目标docker容器镜像从私有镜像仓库拉取到本地;
S4)docker服务端准备运行拉取到本地的目标docker容器镜像;
S5)docker服务端与notary公证服务进行交互判断拉取到本地的目标docker容器镜像是否已经验签,若目标docker容器镜像已经验签则跳转至下一步;否则,返回目标docker容器镜像未验签的错误消息,跳转至步骤S7);
S6)docker服务端运行目标docker容器镜像;
S7)docker服务端响应容器云组件kubelet调用结束。
可选地,步骤1)中分别在容器云中部署notary公证服务以及私有镜像仓库服务是指在容器云中的指定节点上部署notary公证服务以及私有镜像仓库服务,且部署notary公证服务以及私有镜像仓库服务的节点为同一节点或者不同节点。
此外,本发明还提供一种基于notary的容器云镜像可信实现系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述基于notary的容器云镜像可信实现方法的步骤。
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于notary的容器云镜像可信实现方法的计算机程序。
和现有技术相比,本发明具有下述优点:
1、本发明通过预先对docker容器镜像进行签名认证,以确保容器云环境下每个运行的docker容器镜像均是可信镜像,能够确保docker 容器镜像的可信,每次容器云运行某一容器镜像时,该容器镜像总是可信的。
2、本发明采用基于TUF架构的notary公证服务,防止docker容器镜像在整个容器云使用过程中的篡改,确保容器云运行容器时的安全可信,可为容器云提供安全可信的容器镜像,从而确保容器云安全地编排管理运行各类容器。
附图说明
图1为本发明实施例方法的核心流程示意图。
图2为本发明实施例方法的基本原理示意图。
图3为本发明实施例中notary公证服务的实例流程图。
具体实施方式
如图1和图2所示,本实施例基于notary的容器云镜像可信实现方法包括:
1)分别在容器云中部署notary公证服务以及私有镜像仓库服务;
2)在容器云中的任意节点中基于notary公证服务,对docker容器镜像进行验签,并将验签后的docker容器镜像通过docker服务端上传到私有镜像仓库。其中,容器云又称之为Kubernetes,简称k8s,是一个开源的容器编排管理工具。notary公证服务为现有技术,采用服务端-客户端架构,为容器镜像、各类安装包的可信安装提供支持,其核心思想基于TUF架构(全称为The Update Framework,用于软件更新系统的开源安全架构),以解决TLS等安全通信方法存在的缺陷问题。docker是一个开源的应用容器引擎,采用服务端-客户端架构,让开发者可以打包他们的应用以及依赖到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上。通过上述步骤1)~步骤2)对容器云集群中每个使用的docker镜像进行验签工作,确保任何docker镜像是经过专人确认且可信,避免了容器云集群中存在恶意docker镜像的可能,即确保了docker 容器镜像的可信,每次容器云运行某一容器镜像时,该容器镜像总是可信的。
本实施例中,步骤2)中所述容器云中的任意节点的执行步骤包括:
2.1)生成私钥与公钥,如图2中箭头标识1所示;
2.2)基于生成的公钥给待上传的docker容器镜像添加签名者信息,并与notary公证服务交互生成该镜像的元数据信息保存到notary公证服务的notary数据库,如图2中箭头标识2所示;
2.3)给docker容器镜像签名,并与notary公证服务进行交互验证签名者密码,如图2中箭头标识3所示;
2.4)调用docker服务端以将验签后的docker容器镜像上传(push)到私有镜像仓库,如图2中箭头标识4和5所示。
本实施例中,如图2中箭头标识1所示,步骤2.1)中生成私钥与公钥是指执行命令“docker trust key generate”生成私钥与公钥,并分别保存私钥与公钥。本实施例中保存私钥与公钥时,将私钥保存在本地机器,而公钥保存在当前目录,以用于该节点对镜像的验签。执行命令“docker trust key generate”是通过docker客户端(docker client)来实现的,过docker客户端(docker client)是docker的客户端命令行组件,用于与docker服务端交互。docker服务端是docker服务端的服务端组件,用于为docker提供后端服务。由于该命令为docker客户端(docker client)的现有命令,故对实现细节在此不再详细说明。
本实施例中,如图2中箭头标识1所示,步骤2.2)中基于生成的公钥给待上传的docker容器镜像添加签名者信息是指执行命令“docker trust signer add --key”,其中key是指该节点保存在当前目录的公钥。由于该命令为docker客户端(docker client)的现有命令,故对实现细节在此不再详细说明。
本实施例中,如图2中箭头标识1所示,步骤2.3)中给docker容器镜像签名是指执行命令“docker trust sign”给docker容器镜像签名。由于该命令为docker客户端(dockerclient)的现有命令,故对实现细节在此不再详细说明。
本实施例中,步骤2.4)中调用docker服务端后,docker服务端的执行步骤包括:首先对收到的签名后的docker容器镜像进行验签,若验签通过,则将签名后的docker容器镜像推送(push)上传到私有镜像仓库,否则返回验签不通过的错误消息。
将验签后的docker容器镜像通过docker服务端上传到私有镜像仓库后,即可利用私有镜像仓库来提供验签后的docker容器镜像的拉取服务。该拉取服务一般是通过容器云组件kubelet来实现的,容器云组件kubelet容器云的一个组件,可用于调用docker服务端来实现对docker容器镜像的拉取。参见图2,本实施例中步骤2)之后还包括docker服务端响应容器云组件kubelet调用的步骤:
S1)docker服务端收到容器云组件kubelet对目标docker容器镜像的请求,如图2中箭头标识6所示;
S2)docker服务端与notary公证服务进行交互判断私有镜像仓库中的目标docker容器镜像是否已经验签,如图2中箭头标识7所示,若目标docker容器镜像已经验签则跳转至下一步;否则,返回目标docker容器镜像未验签的错误消息,跳转至步骤S7);
S3)docker服务端将目标docker容器镜像从私有镜像仓库拉取到本地,如图2中箭头标识8所示;
S4)docker服务端准备运行拉取到本地的目标docker容器镜像;
S5)docker服务端与notary公证服务进行交互判断拉取(pull)到本地的目标docker容器镜像是否已经验签,若目标docker容器镜像已经验签则跳转至下一步;否则,返回目标docker容器镜像未验签的错误消息,跳转至步骤S7);
S6)docker服务端运行(run)目标docker容器镜像,如图2中箭头标识9所示;
S7)docker服务端响应容器云组件kubelet调用结束。
通过上述步骤S1)~S7),每次容器云拉取、运行私有镜像仓库中的docker镜像时,利用notary公证服务防止docker镜像被篡改的特点,docker服务端均会与notary公证服务交互,杜绝了拉取、运行的镜像被恶意篡改的可能,进一步确保容器云运行容器时的安全可信。例如,现有技术docker上下文可信(Docker Context Trust)是在docker客户端层面对可信容器的一个实现,而如果在k8s集群中,Kubelet自动调用docker服务端拉取或者运行容器镜像时,则无法确保容器的可信。本实施例方法解决了这一问题,通过docker服务端与notary公证服务交互,实现k8s集群在拉取或者运行容器镜像时的可信。
本实施例步骤1)中分别在容器云中部署notary公证服务以及私有镜像仓库服务是指在容器云中的指定节点上部署notary公证服务以及私有镜像仓库服务,且部署notary公证服务以及私有镜像仓库服务的节点为同一节点或者不同节点。
如图3所示,本实施例中notary公证服务包含两个主要服务,一个是服务器(server),另一个是验签器(signer),服务器带有对应的服务器数据库(server DB),验签器带有对应的验签器数据库(signer DB),服务器前端还包括验证器(auth),用于对docker服务端的访问进行验证。参见图3,docker服务端和notary公证服务之间的交互包括:①、docker服务端向服务器请求认证。②、docker服务端获取到用于服务器请求认证的令牌(Bearer token)。③、服务器验证docker服务端上传的docker容器镜像元数据文件的有效性。④、当所有上传的容器镜像元数据文件被验证有效后,服务器生成容器镜像的时间戳(timestamp)与快照(snapshot)元数据文件,并将其发送到验签器进行签名操作。⑤、验签器对时间戳与快照元数据签名后返回给服务器。⑥、服务器存储了docker服务端上传docker容器镜像元数据文件与自身生成的元数据(时间戳与快照元数据),生成的时间戳与快照元数据证明docker服务端上传容器镜像元数据文件是该受信任集合的最新元数据文件,最后服务器会通知docker服务端上传元数据文件成功。⑦、docker服务端可以通过令牌向服务器再次请求容器镜像的元数据,获取最新的元数据信息。docker服务端通过判断某一容器镜像是否在notary 公证服务上存在相应的元数据信息从而验证容器镜像是否验签。以上则为docker服务端与notary公证服务交互的一个具体实例,通过该交互完成docker容器镜像的验签操作。
综上所述,本实施例基于notary的容器云镜像可信实现方法一方面通过上述步骤1)~步骤2)对容器云集群中每个使用的docker镜像进行验签工作,确保任何docker镜像是经过专人确认且可信,避免了容器云集群中存在恶意docker镜像的可能,即确保了docker容器镜像的可信,每次容器云运行某一容器镜像时,该容器镜像总是可信的。另一方面通过上述步骤S1)~S7),每次容器云拉取、运行私有镜像仓库中的docker镜像时,利用notary公证服务防止docker容器镜像被篡改的特点,docker服务端均会与notary公证服务交互,杜绝了拉取、运行的镜像被恶意篡改的可能,进一步确保容器云运行容器时的安全可信。
此外,本实施例还提供一种基于notary的容器云镜像可信实现系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述基于notary的容器云镜像可信实现方法的步骤。
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于notary的容器云镜像可信实现方法的计算机程序。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种基于notary的容器云镜像可信实现方法,其特征在于,包括:
1)分别在容器云中部署notary公证服务以及私有镜像仓库服务;
2)在容器云中的任意节点中基于notary公证服务,对docker容器镜像进行验签,并将验签后的docker容器镜像通过docker服务端上传到私有镜像仓库;
步骤2)中所述容器云中的任意节点的执行步骤包括:
2.1)生成私钥与公钥;
2.2)基于生成的公钥给待上传的docker容器镜像添加签名者信息,并与notary公证服务交互生成该镜像的元数据信息保存到notary公证服务的notary数据库;
2.3)给docker容器镜像签名,并与notary公证服务进行交互验证签名者密码;
2.4)调用docker服务端以将验签后的docker容器镜像上传到私有镜像仓库。
2.根据权利要求1所述的基于notary的容器云镜像可信实现方法,其特征在于,步骤2.1)中生成私钥与公钥是指执行命令“docker trust key generate”生成私钥与公钥,并分别保存私钥与公钥。
3.根据权利要求2所述的基于notary的容器云镜像可信实现方法,其特征在于,步骤2.2)中基于生成的公钥给待上传的docker容器镜像添加签名者信息是指执行命令“dockertrust signer add --key”,其中key是指该节点保存在当前目录的公钥。
4.根据权利要求1所述的基于notary的容器云镜像可信实现方法,其特征在于,步骤2.3)中给docker容器镜像签名是指执行命令“docker trust sign”给docker容器镜像签名。
5.根据权利要求1所述的基于notary的容器云镜像可信实现方法,其特征在于,步骤2.4)中调用docker服务端后,docker服务端的执行步骤包括:首先对收到的签名后的docker容器镜像进行验签,若验签通过,则将签名后的docker容器镜像推送上传到私有镜像仓库,否则返回验签不通过的错误消息。
6.根据权利要求1所述的基于notary的容器云镜像可信实现方法,其特征在于,步骤2)之后还包括docker服务端响应容器云组件kubelet调用的步骤:
S1)docker服务端收到容器云组件kubelet对目标docker容器镜像的请求;
S2)docker服务端与notary公证服务进行交互判断私有镜像仓库中的目标docker容器镜像是否已经验签,若目标docker容器镜像已经验签则跳转至下一步;否则,返回目标docker容器镜像未验签的错误消息,跳转至步骤S7);
S3)docker服务端将目标docker容器镜像从私有镜像仓库拉取到本地;
S4)docker服务端准备运行拉取到本地的目标docker容器镜像;
S5)docker服务端与notary公证服务进行交互判断拉取到本地的目标docker容器镜像是否已经验签,若目标docker容器镜像已经验签则跳转至下一步;否则,返回目标docker容器镜像未验签的错误消息,跳转至步骤S7);
S6)docker服务端运行目标docker容器镜像;
S7)docker服务端响应容器云组件kubelet调用结束。
7.根据权利要求1所述的基于notary的容器云镜像可信实现方法,其特征在于,步骤1)中分别在容器云中部署notary公证服务以及私有镜像仓库服务是指在容器云中的指定节点上部署notary公证服务以及私有镜像仓库服务,且部署notary公证服务以及私有镜像仓库服务的节点为同一节点。
8.根据权利要求1所述的基于notary的容器云镜像可信实现方法,其特征在于,步骤1)中分别在容器云中部署notary公证服务以及私有镜像仓库服务是指在容器云中的指定节点上部署notary公证服务以及私有镜像仓库服务,且部署notary公证服务以及私有镜像仓库服务的节点为不同节点。
9.一种基于notary的容器云镜像可信实现系统,包括相互连接的微处理器和存储器,其特征在于,该微处理器被编程或配置以执行权利要求1~8中任意一项所述基于notary的容器云镜像可信实现方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有被编程或配置以执行权利要求1~8中任意一项所述基于notary的容器云镜像可信实现方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111103191.0A CN113572619B (zh) | 2021-09-22 | 2021-09-22 | 一种基于notary的容器云镜像可信实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111103191.0A CN113572619B (zh) | 2021-09-22 | 2021-09-22 | 一种基于notary的容器云镜像可信实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113572619A true CN113572619A (zh) | 2021-10-29 |
CN113572619B CN113572619B (zh) | 2021-12-07 |
Family
ID=78173933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111103191.0A Active CN113572619B (zh) | 2021-09-22 | 2021-09-22 | 一种基于notary的容器云镜像可信实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113572619B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978672A (zh) * | 2022-05-19 | 2022-08-30 | 银河麒麟软件(长沙)有限公司 | 一种Docker镜像加密及编排方法与系统 |
CN115129429A (zh) * | 2022-09-01 | 2022-09-30 | 南京翼辉爱智物联技术有限公司 | 容器应用管理方法、装置、电子设备及存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468458A (zh) * | 2013-09-12 | 2015-03-25 | 中国电信股份有限公司 | 客户工作负载迁移到云环境的方法和系统以及迁移代理 |
WO2016066015A1 (zh) * | 2014-10-28 | 2016-05-06 | 华为技术有限公司 | 一种深度镜像的方法、装置和系统 |
CN106899669A (zh) * | 2017-02-23 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种基于Registry的企业容器镜像建立方法和装置 |
CN106936636A (zh) * | 2017-03-15 | 2017-07-07 | 无锡华云数据技术服务有限公司 | 一种快速部署容器化的云计算测试平台的实现方法 |
CN108200155A (zh) * | 2017-12-29 | 2018-06-22 | 平安科技(深圳)有限公司 | Docker镜像仓库的镜像同步方法和镜像同步系统 |
CN109062663A (zh) * | 2018-07-19 | 2018-12-21 | 北京百度网讯科技有限公司 | 镜像分发方法、装置及存储介质 |
US10181953B1 (en) * | 2013-09-16 | 2019-01-15 | Amazon Technologies, Inc. | Trusted data verification |
US10361868B1 (en) * | 2016-05-23 | 2019-07-23 | Google Llc | Cryptographic content-based break-glass scheme for debug of trusted-execution environments in remote systems |
US20190268164A1 (en) * | 2018-02-26 | 2019-08-29 | Red Hat, Inc. | Secure, platform-independent code signing |
CN111399980A (zh) * | 2020-03-16 | 2020-07-10 | 中国联合网络通信集团有限公司 | 容器编排器的安全认证方法、装置及系统 |
CN111562970A (zh) * | 2020-07-15 | 2020-08-21 | 腾讯科技(深圳)有限公司 | 容器实例的创建方法、装置、电子设备及存储介质 |
CN111610985A (zh) * | 2020-05-13 | 2020-09-01 | 麒麟软件有限公司 | 一种国产平台上的kubernetes集群快速部署方法 |
CN111787116A (zh) * | 2020-07-07 | 2020-10-16 | 上海道客网络科技有限公司 | 一种基于区块链技术的容器镜像可信认证的系统与方法 |
CN112506477A (zh) * | 2020-11-09 | 2021-03-16 | 麒麟软件有限公司 | 一种在Kubernetes集群中使用RESTful API添加计算节点的方法 |
CN112925555A (zh) * | 2021-02-24 | 2021-06-08 | 成都新希望金融信息有限公司 | 模型管理方法、装置、设备及存储介质 |
CN112966833A (zh) * | 2021-04-07 | 2021-06-15 | 福州大学 | 基于Kubernetes集群的机器学习模型平台 |
-
2021
- 2021-09-22 CN CN202111103191.0A patent/CN113572619B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468458A (zh) * | 2013-09-12 | 2015-03-25 | 中国电信股份有限公司 | 客户工作负载迁移到云环境的方法和系统以及迁移代理 |
US10181953B1 (en) * | 2013-09-16 | 2019-01-15 | Amazon Technologies, Inc. | Trusted data verification |
WO2016066015A1 (zh) * | 2014-10-28 | 2016-05-06 | 华为技术有限公司 | 一种深度镜像的方法、装置和系统 |
US10361868B1 (en) * | 2016-05-23 | 2019-07-23 | Google Llc | Cryptographic content-based break-glass scheme for debug of trusted-execution environments in remote systems |
CN106899669A (zh) * | 2017-02-23 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种基于Registry的企业容器镜像建立方法和装置 |
CN106936636A (zh) * | 2017-03-15 | 2017-07-07 | 无锡华云数据技术服务有限公司 | 一种快速部署容器化的云计算测试平台的实现方法 |
CN108200155A (zh) * | 2017-12-29 | 2018-06-22 | 平安科技(深圳)有限公司 | Docker镜像仓库的镜像同步方法和镜像同步系统 |
US20190268164A1 (en) * | 2018-02-26 | 2019-08-29 | Red Hat, Inc. | Secure, platform-independent code signing |
CN109062663A (zh) * | 2018-07-19 | 2018-12-21 | 北京百度网讯科技有限公司 | 镜像分发方法、装置及存储介质 |
CN111399980A (zh) * | 2020-03-16 | 2020-07-10 | 中国联合网络通信集团有限公司 | 容器编排器的安全认证方法、装置及系统 |
CN111610985A (zh) * | 2020-05-13 | 2020-09-01 | 麒麟软件有限公司 | 一种国产平台上的kubernetes集群快速部署方法 |
CN111787116A (zh) * | 2020-07-07 | 2020-10-16 | 上海道客网络科技有限公司 | 一种基于区块链技术的容器镜像可信认证的系统与方法 |
CN111562970A (zh) * | 2020-07-15 | 2020-08-21 | 腾讯科技(深圳)有限公司 | 容器实例的创建方法、装置、电子设备及存储介质 |
CN112506477A (zh) * | 2020-11-09 | 2021-03-16 | 麒麟软件有限公司 | 一种在Kubernetes集群中使用RESTful API添加计算节点的方法 |
CN112925555A (zh) * | 2021-02-24 | 2021-06-08 | 成都新希望金融信息有限公司 | 模型管理方法、装置、设备及存储介质 |
CN112966833A (zh) * | 2021-04-07 | 2021-06-15 | 福州大学 | 基于Kubernetes集群的机器学习模型平台 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978672A (zh) * | 2022-05-19 | 2022-08-30 | 银河麒麟软件(长沙)有限公司 | 一种Docker镜像加密及编排方法与系统 |
CN114978672B (zh) * | 2022-05-19 | 2024-03-26 | 银河麒麟软件(长沙)有限公司 | 一种Docker镜像加密及编排方法与系统 |
CN115129429A (zh) * | 2022-09-01 | 2022-09-30 | 南京翼辉爱智物联技术有限公司 | 容器应用管理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113572619B (zh) | 2021-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11212117B2 (en) | Tamper-resistant software development lifecycle provenance | |
US10992482B2 (en) | Verified boot and key rotation | |
CN108399329B (zh) | 一种提高可信应用程序安全的方法 | |
CN110278462B (zh) | 一种基于区块链的流动放映授权管理方法 | |
CN110782251B (zh) | 一种基于智能合约自动化部署区块链网络的方法 | |
CN113572619B (zh) | 一种基于notary的容器云镜像可信实现方法及系统 | |
CA2903376C (en) | Configuration and verification by trusted provider | |
US20120324229A1 (en) | System and method for generating keyless digital multi-signatures | |
EP3317875B1 (en) | Keyless signature infrastructure based virtual machine integrity | |
CN111314172B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN107729746B (zh) | 一种基于数字签名的已安装应用程序防篡改方法及系统 | |
WO2016109955A1 (zh) | 一种软件校验方法和装置 | |
CN110597541B (zh) | 基于区块链的接口更新处理方法、装置、设备及存储介质 | |
CN112311779B (zh) | 应用于区块链系统的数据访问控制方法及装置 | |
US11307790B2 (en) | Method, device, and computer program product for managing data placement | |
CN116956240A (zh) | 一种绕过Google safetynet认证方法及相关组件 | |
CN116707758A (zh) | 可信计算设备的认证方法、设备和服务器 | |
CN109117625B (zh) | Ai软件系统安全状态的确定方法及装置 | |
CN112926981B (zh) | 用于区块链的交易信息处理方法、装置、介质及电子设备 | |
CN115509556A (zh) | 一种应用管理方法、装置、设备及介质 | |
CN107689934B (zh) | 一种保障信息安全的方法、服务器及客户端 | |
Newberg et al. | Open-source architecture for multi-party update verification for data acquisition devices | |
CN115378605A (zh) | 基于区块链的数据处理方法及装置 | |
CN111698227B (zh) | 信息同步管理方法、装置、计算机系统及可读存储介质 | |
CN113868628A (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 |