CN110069921B - 一种面向容器平台的可信软件授权验证***及方法 - Google Patents
一种面向容器平台的可信软件授权验证***及方法 Download PDFInfo
- Publication number
- CN110069921B CN110069921B CN201910293687.5A CN201910293687A CN110069921B CN 110069921 B CN110069921 B CN 110069921B CN 201910293687 A CN201910293687 A CN 201910293687A CN 110069921 B CN110069921 B CN 110069921B
- Authority
- CN
- China
- Prior art keywords
- container
- mirror image
- program
- signature
- certificate
- 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.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims abstract description 84
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims description 17
- 238000004422 calculation algorithm Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 8
- 238000013475 authorization Methods 0.000 claims description 5
- 238000013515 script Methods 0.000 claims description 3
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 241000529895 Stercorarius Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 208000011580 syndromic disease Diseases 0.000 description 1
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/51—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- 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/3263—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种面向容器平台的可信软件授权验证***及方法,包括:构建公钥基础设施模块、构建容器镜像身份模块、构建签名列表模块、验证容器镜像模块、加载签名列表和用户证书模块、验证容器程序模块;本发明能够方便地对容器镜像和容器中运行的软件进行授权,并在合适的时机验证容器镜像和容器中的程序,最终保证容器平台上运行的容器镜像都是可信的,同时容器中运行的软件也都是可信的,从而提高容器平台的安全性。
Description
技术领域
本发明涉及一种面向容器平台的可信软件授权验证***及方法,属于云计算和信息安全领域。
背景技术
自从2013年Docker[D.Merkel,“Docker:lightweight linux containers forconsistent development and deployment,”Linux J.,vol.2014,no.239,p.2,2014.]发布以来,容器技术迅速流行。容器技术把相关软件打包成容器镜像,并在隔离的环境中实例化容器镜像,启动容器。容器中的软件直接运行在宿主操作***中,中间没有虚拟化层,因此效率更高。另外,当前容器生态***繁荣,各种工具不断涌现,使得容器使用方便快捷。目前,越来越多的组织和企业开始搭建自己的容器平台处理业务。容器平台的层级模型如图1所示,从底层到上层分别是硬件、主机操作***内核、容器运行时和编排器。其中容器运行时负责管理一台主机上的容器,包括提供容器运行环境、管理容器的生命周期等。编排器工作在集群层面,负责在容器群层面管理容器,它的功能包括容器调度、集群状态监控、服务发现等。容器平台允许用户自主地创建、管理和销毁容器,完成特定的工作。
随着容器平台的广泛流行,避免不可信的程序在容器中运行至关重要。对于容器来说,容器镜像可能被篡改,包含不可信甚至是恶意的软件;运行中的容器可能访问恶意网站,下载恶意程序运行。因此,面向容器平台的可信软件包含两部分,其一是容器运行所基于的容器镜像,其二是在容器中运行的软件。
针对容器镜像的保护。Docker基于Notary[“Getting started with DockerNotary,”Docker Documentation,08-Nov-2018.[Online].Available:https://docs.docker.com/notary/getting_started/.[Accessed:14-Nov-2018].]保证Docker镜像从发布者到消费者的安全性。Notary使用The Update Framework(TUF)[“The UpdateFramework.”[Online].Available:https://theupdateframework.github.io/.[Accessed:14-Nov-2018].],定义了许多角色和元数据,利用数字签名算法,保护Docker镜像,可以抵御多种攻击,包括镜像篡改、版本回滚攻击、重放攻击等。另外一个容器引擎rkt[“rkt Overview.”[Online].Available:https://coreos.com/rkt/.[Accessed:14-Nov-2018].]也提供对容器镜像的验证,它利用数字签名算法,可以在下载或者运行容器镜像时验证容器镜像的来源和完整性。
针对容器中运行软件的保护。完整性度量架构(IMA)[R.Sailer,X.Zhang,T.Jaeger,and L.Van Doorn,“Design and Implementation of a TCG-based IntegrityMeasurement Architecture.,”in USENIX Security symposium,2004,vol.13,pp.223–238.]在Linux security modules(LSM)[J.Morris,S.Smalley,and G.Kroah-Hartman,“Linux security modules:General security support for the linux kernel,”inUSENIX Security Symposium,2002.]钩子中度量在操作***中运行软件的完整性,并可以根据存储在文件***中的扩展属性,保证***中运行软件的可信性。由于IMA工作在操作***层而看不到容器,Linux内核邮件列表中提出的针对IMA进行Namespacing的方案[Guilherme Magalhaes,“[RFC 00/11]ima:namespace support for IMA policy,”LinuxKernel Mailing List.[Online].Available:https://lkml.org/lkml/2017/5/11/699.[Accessed:14-Nov-2018].]、[Mehmet Kayaalp,“[RFC PATCH 0/5]ima:namespacing IMAaudit messages,”Linux Kernel Mailing List.[Online].Available:https://lkml.org/lkml/2017/7/20/905.[Accessed:14-Nov-2018].]、[Stefan Berger,“[RFCPATCH v4 0/5]ima:Namespacing IMA,”Linux Kernel Mailing List.[Online].Available:https://lkml.org/lkml/2018/5/11/383.[Accessed:14-Nov-2018].]。这几种方案存在很多问题,如密钥管理,缓存设计等,但可以预见未来在Linux内核社区会有比较成熟的IMA Namespacing方案。对于运行中容器可能存在的安全问题,IBM提出了一种扫描方案[N.Bila,P.Dettori,A.Kanso,Y.Watanabe,and A.Youssef,“Leveraging theserverless architecture for securing linux containers,”in DistributedComputing Systems Workshops(ICDCSW),2017IEEE 37th International Conferenceon,2017,pp.401–404.]。该方案周期性的扫描运行中的容器,通过分析发现其中的恶意软件执行等安全问题。IBM使用无服务器架构实现了该方案。
目前容器引擎针对容器镜像的验证有以下不足:
(1)不同的容器引擎有不同的容器镜像授权验证方案,没有统一的方法。
(2)目前的方案,容器镜像和签名等元数据是分开的,需要额外传输元数据,兼容性差。
(3)目前的方案都是选择性的而非强制性的,恶意用户很容易通过容器运行时的命令行绕过验证。
目前容器内运行程序的验证有以下不足:
(1)目前IMA验证无法针对不同的容器使用不同的验证策略。
(2)即使IMA的Namespacing方案完成,它基于文件***的扩展属性中存储数字签名进行验证,使用不方便,不易于改动和管理。
(3)即使IMA的Namespacing方案完成,它基于文件***的扩展属性中存储数字签名进行验证,无法处理不同容器镜像共享主机文件的情况,例如Docker镜像分层共享主机文件。
(4)扫描方法周期性地扫描容器发现安全问题,无法提前阻止不可信程序运行,不够安全。
发明内容
本发明技术解决问题:克服现有技术的不足,一种安全、高效、易用的面向容器平台的可信软件授权验证***及方法,能够方便地对容器镜像和容器中运行的软件进行授权,并在合适的时机验证容器镜像和容器中的程序,最终保证容器平台上运行的容器镜像都是可信的,同时容器中运行的软件也都是可信的,从而提高容器平台的安全性。
本发明技术解决方案:一种面向容器平台的可信软件授权验证***,包括:构建公钥基础设施模块、构建容器镜像身份模块、构建签名列表模块、验证容器镜像模块、加载签名列表和用户证书模块、验证容器程序模块;其中:
构建公钥基础设施模块:根据不同的应用场景,构建公钥基础设施,为每一个用户签发用户证书密钥对;
构建容器镜像身份模块:使用数字签名算法和用户证书密钥对,在原有容器镜像的基础上,生成功能相同的具有身份的容器镜像,并推送到容器镜像仓库以备使用,该身份包含了用户证书和使用用户私钥生成的原有容器镜像签名,后续容器平台会在该镜像仓库拉取容器镜像启动容器;
构建签名列表模块:使用数字签名算法和用户证书密钥对,为所述容器镜像生成一个签名列表,并上传到容器平台;所述签名列表包含以容器镜像为基础的容器能够运行的程序;
验证容器镜像模块:在容器创建时,验证容器镜像的身份,保证容器镜像是可信的;如果验证失败,则中止容器创建过程;
加载签名列表和用户证书模块:在容器启动时,加载容器镜像的签名列表和容器镜像制作者的用户证书到操作***内核中,作为验证容器内程序;
验证容器程序模块:以容器镜像为基础的容器运行的程序载入内核后,开始运行之前,基于载入的签名列表和用户证书验证容器内程序,如果验证失败,则中止所述程序的运行。
所述构建公钥基础设施模块中,构建公钥基础设施,为每一个用户签发证书密钥对的具体过程为:根据不同的应用场景,需要构建不同的证书密钥树;在证书密钥树中,根是自签名证书,叶子结点是用户证书,根和叶子结点之间存在多层,对应现实中的不同管理层次;在根以外,每一层的证书都由上一层签发,不同管理层次的机构决定签发和撤销该机构中下一层次的证书,方便管理。
所述证书密钥树中的所有私钥都是离线的,以保证私钥的安全性。
所述构建容器镜像身份模块具体过程为:
(1)对每一个容器镜像,构建所述容器镜像的身份,完成容器镜像授权;所述容器镜像的身份包括两部分,一是用户使用自己的私钥对容器镜像内容和重要配置的签名;所述重要配置包括:环境变量、端口、启动命令、启动参数、数据卷、工作目录、用户ID;二是用户的证书,签名包含容器镜像的完整性信息,证书包含容器镜像制作者的信息,它们一起构成了容器镜像的身份;
(2)容器镜像是不可更改的,为了绑定容器镜像身份和容器镜像,需要打包原来的容器镜像、签名和证书得到新的容器镜像,并把签名和证书放入新镜像事先约定一个目录中,新的容器镜像和原来的容器镜像拥有的相同的功能以及重要配置,同时拥有镜像身份信息。
所述构建容器镜像的身份的过程,对于分层镜像和不分层镜像均适用。
所述构建签名列表模块中,
对每一个容器镜像,生成一个签名列表,完成容器程序授权;所述列表包含所有可以在以该容器镜像为基础的容器中运行的程序;对每一个授权运行的程序,用户使用自己的私钥计算程序文件的签名,并放入签名列表中;签名列表中的每一项,都表示一个程序,每一项包括但不限于程序签名、程序哈希值、程序名称。
对于程序签名的表示使用包括二进制、base64编码、十六进制字符串在内的多种表示方式。
所述验证容器镜像模块中,验证容器镜像发生在容器创建时,验证过程包含三步:第一,验证镜像携带的证书是否属于该容器平台的证书密钥树,如果是,继续第二步验证,否则,验证失败;第二,使用第一步验证通过的证书验证镜像携带的签名,这一步验证时需要排除约定的目录中的内容;第三步验证约定目录中的内容,保证该目录中只包含两个文件,证书和签名文件;以上两步验证容器镜像的完整性,保证容器镜像内容以及配置没有被篡改。为加速容器镜像的验证,可以使用容器引擎维护的哈希值。
所述加载签名列表和用户证书模块中,
加载签名列表和证书的时间在容器启动时,容器中所有的程序运行之前,容器启动发生在容器创建之后,在容器镜像验证通过才会执行;
把签名列表和证书从用户空间载入内核空间,通过文件***写入,当使用文件***加载数据时,应把数据写入点放在只有主机能看到的目录下,避免恶意软件在容器内篡改签名列表或者证书;
写入签名列表和证书的时机也应该在主机文件***转换为容器文件***之前。
在内核中,使用多种数据结构组织签名列表,所述多种数据结构包括:链表、双向链表、哈希表、红黑树或基数树。
载入用户证书时,需要验证用户证书的合法性,即是验证该证书是否属于容器平台的证书密钥树,因此需要事先把平台证书密钥树的所有非叶子节点的证书全部载入内核,在编译内核时写入或是在***启动时载入;如果用户证书不合法,则拒绝加载该证书,后续的所有验证都将失败。
所述验证容器程序模块中,
为验证容器中运行的程序,需要在操作***内核中识别不同的容器,识别方法根据操作***的不同而有所不同。在Linux***中,可以使用内核中的mount namespace id在内核中识别不同容器;在加载签名列表和用户证书时,容器运行时告知内核对应容器的mount namespace id。
验证容器程序的时机在程序文件载入内存之后,开始执行之前,对于Linux***来说,在LSM钩子中验证,采用的LSM钩子有mmap_file和bprm_check_security;验证的文件包括可执行二进制程序、动态链接库、可执行脚本;验证过程是查看该程序文件的签名是否在签名列表中,同时也需要验证签名列表中的签名是否正确。
为了提高验证的效率,需要缓存验证的结果,只对未经验证的程序文件或者改变的程序文件验证签名;每一个容器对应一个缓存,主机上的同一个程序文件,可能出现在不同容器的缓存中,从而避免不同的容器镜像共享主机上的文件影响容器中程序的验证。
本发明的一种面向容器平台的可信软件授权验证方法,包括以下步骤:
(1)根据不同的应用场景,构建公钥基础设施,为每一个用户签发用户证书密钥对;
(2)使用数字签名算法和步骤(1)中的用户证书密钥对,在原有容器镜像的基础上,生成功能相同的具有身份的容器镜像,并推送到容器镜像仓库以备使用,该身份包含了用户证书和使用用户私钥生成的原有容器镜像签名,后续容器平台会在该镜像仓库拉取容器镜像启动容器;
(3)使用数字签名算法和步骤(1)中的用户证书密钥对,为所述容器镜像生成一个签名列表,并上传到容器平台;所述签名列表包含以容器镜像为基础的容器运行的程序;
(4)在容器创建时,验证步骤(2)中构建的容器镜像的身份,保证容器镜像是可信的;如果验证失败,则中止容器创建过程;
(5)在容器启动时,加载步骤(3)中构建的容器镜像的签名列表和步骤(2)中构建的容器镜像身份中的用户证书到操作***内核中,供后续验证容器内运行程序使用;
(6)以容器镜像为基础的容器运行的程序载入内核后,开始运行之前,基于步骤(5)中加载的签名列表和用户证书在操作***内核中验证程序,如果验证失败,则中止所述程序的运行。
本发明与现有技术相比的优点在于:
(1)本发明通过授权和验证容器镜像,保证运行在容器平台上的所有容器镜像都是可信的。因此,它可以有效阻止携带恶意软件或者来源不明的容器镜像在容器平台上运行。
(2)本发明通过对容器建立身份并绑定容器镜像和容器镜像身份,完全兼容现有的容器镜像管理***,不需要额外的支持。
(3)本发明的容器镜像授权和验证,不针对某一个容器引擎设计,具有一般性。
(4)本发明通过授权并验证可以在容器中运行的程序,保证运行在容器中的软件都是可信的。因此,它可以有效阻止恶意软件在容器中的运行。
(5)本发明通过建立缓存并有效组织签名列表,并在内核中完成验证过程,可以安全高效验证容器中运行的程序。
附图说明
图1为容器平台的层级模型;
图2为本发明的***总体架构图;
图3为本发明的方法实现的流程图;
图4为本发明三层证书密钥树的例子;
图5为本发明中一个签名列表的例子;
图6为本发明中一个缓存结构的例子。
具体实施方式
下面结合附图及实施例对本发明进行详细说明。
如图2、3所示,本发明***的整体架包含:构建公钥基础设施模块,构建容器镜像身份模块,构建签名列表模块,验证容器镜像模块,加载签名列表和用户证书模块,验证容器程序模块。
(1)构建公钥基础设施模块:根据不同的应用场景,构建公钥基础设施,为每一个用户签发证书密钥对。这是整个***的基础。
(2)构建容器镜像身份模块:使用数字签名算法和用户证书密钥对,在原有容器镜像的基础上,生成功能相同的具有身份的容器镜像,并推送到容器镜像仓库以备使用。
(3)构建签名列表:使用数字签名算法和用户证书密钥对,为容器镜像生成一个签名列表,并上传到容器平台。该列表包含了以该镜像为基础的容器可以运行的程序。
(4)验证容器镜像模块:在容器创建时,验证容器镜像的身份,保证容器镜像是可信的。如果验证失败,则中止容器创建过程。
(5)加载签名列表和用户证书模块:在容器启动时,加载容器基础镜像的签名列表和容器镜像制作者的用户证书到内核中。
(6)验证容器程序模块:容器中程序载入内存之后,开始运行之前,基于签名列表和用户证书在操作***内核中验证程序。如果验证失败,则中止程序的运行。
下面将详细介绍该***的六个模块。
(1)构建公钥基础设施模块
容器服务提供者需要构建公钥基础设施,从而为容器平台的每一个用户生成一个证书密钥对。根据不同的应用场景,需要构建不同的证书密钥树。在证书密钥树中,根是自签名证书,叶子结点是用户证书,根和叶子结点之间可以存在多层,对应现实中的不同管理层次;在根以外,每一层的证书都由上一层签发;不同管理层次的机构决定签发和撤销该机构中下一层次的证书,方便管理。图4展示了一个三层的证书密钥树,该证书密钥树中的三层分别是根,部门层和用户层,根是自签名的证书,部门层的证书由根签署发放,用户层的证书由部门层签署发放。本模块构建的公钥基础设施的证书密钥树中,所有私钥都是离线的,因此可以保证私钥的安全性。
(2)构建容器镜像身份模块
该步骤对每一个容器镜像,构建该镜像的身份,完成容器镜像授权。容器镜像的身份,包括两部分。其一是用户使用自己的私钥对容器镜像内容和重要配置的签名,配置包括但不限于环境变量、端口、启动命令、启动参数、数据卷、工作目录、用户ID等。其二是用户的证书。签名包含了容器镜像的完整性信息,证书包含了容器镜像制作者的信息,它们一起构成了容器镜像的身份。
容器镜像是不可更改的,为了绑定容器镜像身份和容器镜像,需要打包原来的容器镜像、签名和证书得到新的容器镜像;同时,需要事先约定一个目录,比如/etc/identity/,并把签名和证书放入新镜像的该目录中;新的容器镜像和原来的容器镜像拥有的相同的功能以及重要配置,同时拥有镜像身份信息。该方法对于分层镜像(如Docker镜像)和不分层镜像(如rkt镜像)都适用,具有一般性。
具有身份的容器镜像构建完成之后,用户需要把该镜像推送到容器镜像仓库中,后续容器平台会在该镜像仓库拉取容器镜像启动容器。
(3)构建签名列表模块
该步骤对每一个容器镜像,生成一个签名列表,完成容器程序授权。该列表包含了所有可以在以该容器镜像为基础的容器中运行的程序。对每一个授权运行的程序,用户使用自己的私钥计算程序文件的签名,并放入签名列表中。签名列表中的每一项,都表示一个程序,每一项可以包括但不限于程序签名、程序哈希值、程序名称等。此外,对于程序签名的表示,可以使用包括二进制、base64编码、十六进制字符串在内的多种表示方式。图5展示了一个签名列表的例子,该签名列表包含多个签名项,每一个签名项包含三部分,分别是程序哈希值,程序名称和程序签名,其中程序哈希值用十六进制字符串表示,程序签名使用base64编码表示。签名列表生成之后,用户需要把该列表上传到容器平台上。在容器启动时,会把该列表和对应的用户证书一起加载进内核,供后续验证容器内运行程序使用。
(4)验证容器镜像模块
验证容器镜像发生在容器创建时。验证过程包含三步:第一,验证镜像携带的证书是否属于该容器平台的证书密钥树,如果是,继续第二步验证,否则,验证失败。这一步保证容器镜像来源合法;第二,使用第一步验证通过的证书验证镜像携带的签名,这一步验证时需要排除约定的目录(如/etc/identity/)中的内容。第三步验证约定目录中的内容,保证该目录(如/etc/identity/)中只包含两个文件,证书和签名文件。以上两步验证容器镜像的完整性,保证容器镜像内容以及配置没有被篡改。
为加速容器镜像的验证,在该步骤可以使用容器引擎维护的哈希值,比如Docker维护的镜像每一层的sha256值。但并不一定要使用该哈希值。
(5)加载签名列表和用户证书模块
加载签名列表和证书的时间在容器启动时,容器中所有的程序运行之前。容器启动发生在容器创建之后,因此,该步骤只有在容器镜像验证通过才会执行。
把签名列表和证书从用户空间载入内核空间,可以通过文件***写入,例如Linux的securityfs文件***,但也可以使用其他方式。容器使用的文件***是主机文件***的一部分,它们看到不同的文件***视图。以Linux***为例,它们使用不同的mountnamespace和根文件***。因此,当使用文件***加载数据时,应把数据写入点放在只有主机能看到的目录下,避免恶意软件在容器内篡改签名列表或者证书。写入签名列表和证书的时机也应该在主机文件***转换为容器文件***之前。
在内核中,可以使用多种数据结构组织签名列表,包括但不限于链表、双向链表、哈希表、红黑树、基数树等。
载入用户证书时,需要验证用户证书的合法性,也就是验证该证书是否属于容器平台的证书密钥树。因此,需要事先把平台证书密钥树的所有非叶子节点的证书全部载入内核,可以在编译内核时写入,也可以是在***启动时载入。如果用户证书不合法,则拒绝加载该证书,后续的所有验证都将失败。
(6)验证容器程序模块
为验证容器中运行的程序,需要在操作***内核中识别不同的容器,识别方法根据操作***的不同而有所不同。在Linux***中,可以使用内核中的mount namespace id在内核中识别不同容器;在加载签名列表和用户证书时,容器运行时告知内核对应容器的mount namespace id。
验证容器程序的时机在程序文件载入内存之后,开始执行之前。对于Linux***来说,可以在LSM钩子中验证,常用的LSM钩子有mmap_file和bprm_check_security。验证的文件包括但不限于可执行二进制程序、动态链接库、可执行脚本等,对于Linux***,二进制程序和动态链接库可以在LSM钩子mmap_file中验证,可执行脚本可以在LSM钩子bprm_check_security中验证。验证过程主要是查看该程序文件的签名是否在签名列表中,同时也需要验证签名列表中的签名是否正确。
为了提高验证的效率,需要缓存验证的结果,只对未经验证的程序文件或者改变的程序文件验证签名。每一个容器对应一个缓存,主机上的同一个程序文件,可能出现在不同容器的缓存中,从而避免不同的容器镜像共享主机上的文件影响容器中程序的验证。图6展示了一个缓存结构的例子。该缓存结构在内核中为每一个容器创建三种缓存,分别是文件缓存、签名缓存和命名空间缓存。对每一个要在容器中运行的程序,创建一个文件缓存,其中包含了文件的inode、文件版本、文件哈希值和文件验证结果;其中文件版本标识文件是否被修改,文件验证结果记录上次验证文件的结果;所有的文件缓存组成一棵红黑树,根在命名空间缓存中,键是文件inode。对每一个签名列表中的签名项,创建一个签名缓存,其中包含了程序哈希值、程序签名和签名验证结果;签名验证结果记录该签名是否有效,避免重复验证签名;一个签名文件的签名缓存组成一棵红黑树,根在命名空间缓存中,键是程序哈希值。对每一个容器,创建一个命名空间缓存,其中包含了该容器的mount namespaceid、用户证书以及文件缓存和签名缓存红黑树的根;内核中所有的命名空间缓存组成一棵基数树,根是一个全局变量,键是mount namespace id。使用该缓存结构,可以有效组织验证容器程序使用的数据,安全、高效验证容器中的可执行程序。
总之,本发明针对在容器平台运行的软件,具体包括容器镜像和容器中运行的程序,进行授权,并且在合适的时机分别验证容器镜像和容器中运行程序的来源和完整性,进一步阻止不可信的软件在平台上运行,保证了容器平台上运行的容器镜像和容器中运行的程序是可信的,从而了提升容器平台的安全性。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。
Claims (12)
1.一种面向容器平台的可信软件授权验证***,其特征在于,包括:构建公钥基础设施模块、构建容器镜像身份模块、构建签名列表模块、验证容器镜像模块、加载签名列表和用户证书模块、验证容器程序模块;其中:
构建公钥基础设施模块:根据不同的应用场景,构建公钥基础设施,为每一个用户签发用户证书密钥对;
构建容器镜像身份模块:使用数字签名算法和用户证书密钥对,在原有容器镜像的基础上,生成功能相同的具有身份的容器镜像,并推送到容器镜像仓库以备使用,该身份包含了用户证书和使用用户私钥生成的原有容器镜像签名,后续容器平台会在该镜像仓库拉取容器镜像启动容器;
构建签名列表模块:使用数字签名算法和用户证书密钥对,为所述容器镜像生成一个签名列表,并上传到容器平台;所述签名列表包含以容器镜像为基础的容器能够运行的程序;
验证容器镜像模块:在容器创建时,验证容器镜像的身份,保证容器镜像是可信的;如果验证失败,则中止容器创建过程;
加载签名列表和用户证书模块:在容器启动时,加载容器镜像的签名列表和镜像制作者的用户证书到操作***内核中,作为验证容器内程序;
验证容器程序模块:以容器镜像为基础的容器运行的程序载入内核后,开始运行之前,基于载入的签名列表和用户证书验证容器内程序,如果验证失败,则中止所述程序的运行。
2.根据权利要求1所述的面向容器平台的可信软件授权验证***,其特征在于:所述构建公钥基础设施模块中,构建公钥基础设施,为每一个用户签发证书密钥对的具体过程为:根据不同的应用场景,需要构建不同的证书密钥树;在证书密钥树中,根是自签名证书,叶子结点是用户证书,根和叶子结点之间存在多层,对应现实中的不同管理层次;在根以外,每一层的证书都由上一层签发;不同管理层次的机构决定签发和撤销该机构中下一层次的证书,方便管理。
3.根据权利要求1所述的面向容器平台的可信软件授权验证***,其特征在于:所述构建容器镜像身份模块具体过程为:
(1)对每一个容器镜像,构建所述容器镜像的身份,完成容器镜像授权;所述容器镜像的身份包括两部分,一是用户使用自己的私钥对容器镜像内容和重要配置的签名;所述重要配置包括:环境变量、端口、启动命令、启动参数、数据卷、工作目录、用户ID;二是用户的证书;签名包含容器镜像的完整性信息,证书包含容器镜像制作者的信息,它们一起构成了容器镜像的身份;
(2)容器镜像是不可更改的,为了绑定容器镜像身份和容器镜像,需要打包原来的容器镜像、签名和证书得到新的容器镜像,并把签名和证书放入新镜像事先约定一个目录中,新的容器镜像和原来的容器镜像拥有的相同的功能以及重要配置,同时拥有镜像身份信息。
4.根据权利要求1所述的面向容器平台的可信软件授权验证***,其特征在于:所述构建签名列表模块中,对每一个容器镜像,生成一个签名列表,完成容器程序授权;所述列表包含所有可以在以该容器镜像为基础的容器中运行的程序;对每一个授权运行的程序,用户使用自己的私钥计算程序文件的签名,并放入签名列表中;签名列表中的每一项,都表示一个程序,每一项包括但不限于程序签名、程序哈希值、程序名称。
5.根据权利要求1所述的面向容器平台的可信软件授权验证***,其特征在于:所述验证容器镜像模块中,验证容器镜像发生在容器创建时,验证过程包含三步:第一,验证镜像携带的证书是否属于该容器平台的证书密钥树,如果是,继续第二步验证,否则,验证失败;第二,使用第一步验证通过的证书验证镜像携带的签名,这一步验证时需要排除约定的目录中的内容;第三步验证约定目录中的内容,保证该目录中只包含两个文件,证书和签名文件;以上两步验证容器镜像的完整性,保证容器镜像内容以及配置没有被篡改。
6.根据权利要求1所述的面向容器平台的可信软件授权验证***,其特征在于:所述加载签名列表和用户证书模块中,
加载签名列表和证书的时间在容器启动时,容器中所有的程序运行之前,容器启动发生在容器创建之后,在容器镜像验证通过才会执行;
把签名列表和证书从用户空间载入内核空间,通过文件***写入,当使用文件***加载数据时,应把数据写入点放在只有主机能看到的目录下,避免恶意软件在容器内篡改签名列表或者证书;
写入签名列表和证书的时机也应该在主机文件***转换为容器文件***之前。
7.根据权利要求6所述的面向容器平台的可信软件授权验证***,其特征在于:在内核中,使用多种数据结构组织签名列表,所述多种数据结构包括:链表、双向链表、哈希表、红黑树或基数树。
8.根据权利要求6所述的面向容器平台的可信软件授权验证***,其特征在于:载入用户证书时,需要验证用户证书的合法性,即是验证该证书是否属于容器平台的证书密钥树,因此需要事先把平台证书密钥树的所有非叶子节点的证书全部载入内核,在编译内核时写入或是在***启动时载入;如果用户证书不合法,则拒绝加载该证书,后续的所有验证都将失败。
9.根据权利要求1所述的面向容器平台的可信软件授权验证***,其特征在于:所述验证容器程序模块中,
为验证容器中运行的程序,需要在操作***内核中识别不同的容器,识别方法根据操作***的不同而有所不同,在Linux***中,可以使用内核中的mount namespace id在内核中识别不同容器。
10.据权利要求9所述的面向容器平台的可信软件授权验证***,其特征在于:验证容器程序的时机在程序文件载入内存之后,开始执行之前,对于Linux***来说,在LSM钩子中验证,采用的LSM钩子有mmap_file和bprm_check_security;验证的文件包括可执行二进制程序、动态链接库、可执行脚本;验证过程是查看该程序文件的签名是否在签名列表中,同时也需要验证签名列表中的签名是否正确。
11.根据权利要求9所述的面向容器平台的可信软件授权验证***,其特征在于:为了提高验证的效率,需要缓存验证的结果,只对未经验证的程序文件或者改变的程序文件验证签名;每一个容器对应一个缓存,主机上的同一个程序文件,可能出现在不同容器的缓存中,从而避免不同的容器镜像共享主机上的文件影响容器中程序的验证。
12.一种面向容器平台的可信软件授权验证方法,其特征在于,包括以下步骤:
(1)根据不同的应用场景,构建公钥基础设施,为每一个用户签发用户证书密钥对;
(2)使用数字签名算法和步骤(1)中的用户证书密钥对,在原有容器镜像的基础上,生成功能相同的具有身份的容器镜像,并推送到容器镜像仓库以备使用,该身份包含了用户证书和使用用户私钥生成的原有容器镜像签名,后续容器平台会在该镜像仓库拉取容器镜像启动容器;
(3)使用数字签名算法和步骤(1)中的用户证书密钥对,为所述容器镜像生成一个签名列表,并上传到容器平台;所述签名列表包含以容器镜像为基础的容器能够运行的程序;
(4)在容器创建时,验证步骤(2)中构建的容器镜像的身份,保证容器镜像是可信的;如果验证失败,则中止容器创建过程;
(5)在容器启动时,加载步骤(3)中构建的容器镜像的签名列表和步骤(2)中构建的容器镜像身份中的用户证书到操作***内核中,供后续验证容器内运行程序使用;
(6)以容器镜像为基础的容器运行的程序载入内核后,开始运行之前,基于步骤(5)中加载的签名列表和用户证书在操作***内核中验证程序,如果验证失败,则中止所述程序的运行。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910293687.5A CN110069921B (zh) | 2019-04-12 | 2019-04-12 | 一种面向容器平台的可信软件授权验证***及方法 |
US17/602,683 US20220164214A1 (en) | 2019-04-12 | 2020-04-01 | Container platform-oriented trusted software authorization and verification system and method |
PCT/CN2020/082667 WO2020207306A1 (zh) | 2019-04-12 | 2020-04-01 | 一种面向容器平台的可信软件授权验证***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910293687.5A CN110069921B (zh) | 2019-04-12 | 2019-04-12 | 一种面向容器平台的可信软件授权验证***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110069921A CN110069921A (zh) | 2019-07-30 |
CN110069921B true CN110069921B (zh) | 2021-01-01 |
Family
ID=67367527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910293687.5A Active CN110069921B (zh) | 2019-04-12 | 2019-04-12 | 一种面向容器平台的可信软件授权验证***及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220164214A1 (zh) |
CN (1) | CN110069921B (zh) |
WO (1) | WO2020207306A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069921B (zh) * | 2019-04-12 | 2021-01-01 | 中国科学院信息工程研究所 | 一种面向容器平台的可信软件授权验证***及方法 |
US11537701B2 (en) * | 2020-04-01 | 2022-12-27 | Toyota Motor North America, Inc. | Transport related n-factor authentication |
EP3901807B1 (de) * | 2020-04-20 | 2022-07-27 | Siemens Aktiengesellschaft | Erstellen eines domain-name-system-container-images zum erstellen einer domain-name-system-container-instanz |
CN111428208B (zh) * | 2020-06-09 | 2020-10-30 | 北京信安世纪科技股份有限公司 | 一种应用软件授权方法、装置及存储介质 |
CN111562970B (zh) * | 2020-07-15 | 2020-10-27 | 腾讯科技(深圳)有限公司 | 容器实例的创建方法、装置、电子设备及存储介质 |
CN111859428B (zh) * | 2020-07-22 | 2022-07-19 | 成都安恒信息技术有限公司 | 一种基于容器化的密钥存储方法及*** |
CN111857967B (zh) * | 2020-07-29 | 2022-04-12 | 中科方德软件有限公司 | 一种容器完整性校验方法 |
CN114428661A (zh) * | 2020-10-29 | 2022-05-03 | 华为技术有限公司 | 一种镜像管理方法及装置 |
CN113296879B (zh) * | 2020-10-29 | 2024-03-08 | 阿里巴巴集团控股有限公司 | 容器创建方法以及装置 |
US11693683B2 (en) * | 2021-01-08 | 2023-07-04 | Pivotal Software, Inc. | Container certificate injection |
US12001822B2 (en) | 2021-02-01 | 2024-06-04 | Capital One Services, Llc | Multi-signature validation of deployment artifacts |
CN113391880B (zh) * | 2021-06-21 | 2023-04-07 | 超越科技股份有限公司 | 一种分层双重哈希验证的可信镜像传输方法 |
US20230131132A1 (en) * | 2021-10-21 | 2023-04-27 | Nokia Solutions And Networks Oy | Securing containerized applications |
US11954219B1 (en) | 2021-11-15 | 2024-04-09 | Amdocs Development Limited | System, method, and computer program for universal security of container images |
CN113901435B (zh) * | 2021-12-13 | 2022-03-01 | 广东电网有限责任公司 | 面向容器的可信软件授权验证方法 |
CN114519078B (zh) * | 2022-04-19 | 2022-08-09 | 北京理工大学 | 一种基于区块链的跨链可信查询方法及*** |
CN116049810B (zh) * | 2022-08-26 | 2023-11-07 | 荣耀终端有限公司 | ***启动方法和电子设备 |
CN115129429B (zh) * | 2022-09-01 | 2023-06-13 | 南京翼辉爱智物联技术有限公司 | 容器应用管理方法、装置、电子设备及存储介质 |
CN115391750B (zh) * | 2022-10-26 | 2023-02-14 | 浙江华东工程数字技术有限公司 | 一种算法授权方法、装置、电子设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761329A (zh) * | 2014-02-08 | 2014-04-30 | 广东欧珀移动通信有限公司 | 一种对移动设备进行刷机的方法及其装置 |
CN105069353A (zh) * | 2015-08-11 | 2015-11-18 | 武汉大学 | 一种基于Docker的可信容器安全加固方法 |
CN108733455A (zh) * | 2018-05-31 | 2018-11-02 | 上海交通大学 | 基于ARM TrustZone的容器隔离性增强*** |
JP2019056986A (ja) * | 2017-09-20 | 2019-04-11 | 日本電気株式会社 | 検証装置及び検証方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040104723A (ko) * | 2002-05-09 | 2004-12-10 | 마츠시타 덴끼 산교 가부시키가이샤 | 공개 키 인증서 무효화 리스트 생성 장치, 무효화 판정장치 및 인증 시스템 |
CN102546648B (zh) * | 2012-01-18 | 2015-04-01 | Ut斯达康通讯有限公司 | 一种资源访问授权的方法 |
US9703950B2 (en) * | 2012-03-30 | 2017-07-11 | Irdeto B.V. | Method and system for preventing and detecting security threats |
CN104715183B (zh) * | 2013-12-13 | 2018-06-01 | ***通信集团公司 | 一种虚拟机运行时的可信验证方法和设备 |
US10223534B2 (en) * | 2015-10-15 | 2019-03-05 | Twistlock, Ltd. | Static detection of vulnerabilities in base images of software containers |
US10261782B2 (en) * | 2015-12-18 | 2019-04-16 | Amazon Technologies, Inc. | Software container registry service |
CN109416718B (zh) * | 2015-12-24 | 2023-05-12 | 英特尔公司 | 云数据中心中应用容器的可信部署 |
LU93150B1 (en) * | 2016-07-13 | 2018-03-05 | Luxtrust S A | Method for providing secure digital signatures |
KR101707552B1 (ko) * | 2016-07-27 | 2017-02-16 | 주식회사 티맥스 소프트 | 클라우드 환경에서 사용자로 하여금 애플리케이션을 체험할 수 있도록 체험 환경을 제공하는 방법 및 이를 이용한 서버 |
US10303899B2 (en) * | 2016-08-11 | 2019-05-28 | Intel Corporation | Secure public cloud with protected guest-verified host control |
US10372945B2 (en) * | 2017-01-24 | 2019-08-06 | Microsoft Technology Licensing, Llc | Cross-platform enclave identity |
US10637669B2 (en) * | 2017-02-24 | 2020-04-28 | Guardtime Sa | Data and data lineage control, tracking, and verification |
CN107239688B (zh) * | 2017-06-30 | 2019-07-23 | 平安科技(深圳)有限公司 | Docker镜像仓库的权限认证方法和*** |
CN107577937B (zh) * | 2017-09-01 | 2021-05-04 | 深信服科技股份有限公司 | 一种应用程序保护方法及*** |
US10762079B2 (en) * | 2017-09-29 | 2020-09-01 | Oracle International Corporation | System and method for managing a blockchain cloud service |
US10735472B2 (en) * | 2018-07-10 | 2020-08-04 | Cisco Technology, Inc. | Container authorization policies for network trust |
US10884725B2 (en) * | 2019-03-27 | 2021-01-05 | Wipro Limited | Accessing container images in a distributed ledger network environment |
CN110069921B (zh) * | 2019-04-12 | 2021-01-01 | 中国科学院信息工程研究所 | 一种面向容器平台的可信软件授权验证***及方法 |
-
2019
- 2019-04-12 CN CN201910293687.5A patent/CN110069921B/zh active Active
-
2020
- 2020-04-01 US US17/602,683 patent/US20220164214A1/en active Pending
- 2020-04-01 WO PCT/CN2020/082667 patent/WO2020207306A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761329A (zh) * | 2014-02-08 | 2014-04-30 | 广东欧珀移动通信有限公司 | 一种对移动设备进行刷机的方法及其装置 |
CN105069353A (zh) * | 2015-08-11 | 2015-11-18 | 武汉大学 | 一种基于Docker的可信容器安全加固方法 |
JP2019056986A (ja) * | 2017-09-20 | 2019-04-11 | 日本電気株式会社 | 検証装置及び検証方法 |
CN108733455A (zh) * | 2018-05-31 | 2018-11-02 | 上海交通大学 | 基于ARM TrustZone的容器隔离性增强*** |
Non-Patent Citations (1)
Title |
---|
一种基于容器的安全云计算平台设计;孔同等;《万方数据库》;20171228;第10-18页 * |
Also Published As
Publication number | Publication date |
---|---|
US20220164214A1 (en) | 2022-05-26 |
CN110069921A (zh) | 2019-07-30 |
WO2020207306A1 (zh) | 2020-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069921B (zh) | 一种面向容器平台的可信软件授权验证***及方法 | |
CN111527487B (zh) | 用于内容项同步的唯一标识符的指配和再分配 | |
US10338946B1 (en) | Composable machine image | |
KR102618665B1 (ko) | 블록체인을 사용한 버전 이력 관리 | |
US9600683B1 (en) | Protecting data in insecure cloud storage | |
CN108628658B (zh) | 一种容器的许可证管理方法及装置 | |
EP2176984B1 (en) | Creating and validating cryptographically secured documents | |
CA2903376C (en) | Configuration and verification by trusted provider | |
CN110278462B (zh) | 一种基于区块链的流动放映授权管理方法 | |
US10671372B2 (en) | Blockchain-based secure customized catalog system | |
CN108289098B (zh) | 分布式文件***的权限管理方法和装置、服务器、介质 | |
CN114666412A (zh) | 混合云计算***中的访问服务 | |
CN111562970B (zh) | 容器实例的创建方法、装置、电子设备及存储介质 | |
US10379894B1 (en) | Lineage-based trust for virtual machine images | |
US20140181984A1 (en) | Method and apparatus for authentication of solution topology | |
CN110555293A (zh) | 用于保护数据的方法、装置、电子设备和计算机可读介质 | |
US9740870B1 (en) | Access control | |
CN114116684B (zh) | 基于Docker容器化的深度学习大模型与大数据集版本管理方法 | |
Chen et al. | FileWallet: A File Management System Based on IPFS and Hyperledger Fabric. | |
CN114297598A (zh) | 用户权限处理方法及装置 | |
CN114117508A (zh) | 一种基于ipfs的目录文件权限管理方法及设备 | |
US11687656B2 (en) | Secure application development using distributed ledgers | |
Du et al. | A Four‐Tier Smart Contract Model with On‐Chain Upgrade | |
US12022005B2 (en) | Commit signing service | |
CN116208383A (zh) | 一种基于webhook的云原生可信度量方法、***及存储介质 |
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 |