CN116848818A - 集群资源签名验证 - Google Patents
集群资源签名验证 Download PDFInfo
- Publication number
- CN116848818A CN116848818A CN202280012974.4A CN202280012974A CN116848818A CN 116848818 A CN116848818 A CN 116848818A CN 202280012974 A CN202280012974 A CN 202280012974A CN 116848818 A CN116848818 A CN 116848818A
- Authority
- CN
- China
- Prior art keywords
- resource definition
- signature
- received
- original
- definition
- 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.)
- Pending
Links
- 238000012795 verification Methods 0.000 title description 18
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000008859 change Effects 0.000 claims abstract description 22
- 230000004044 response Effects 0.000 claims abstract description 6
- 238000012545 processing Methods 0.000 claims description 41
- 230000015654 memory Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 238000004088 simulation Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 10
- 230000002085 persistent effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000009434 installation Methods 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000007792 addition Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- 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/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于验证资源定义的方法和系统包括仿真原始资源定义以识别由管理服务对原始资源定义做出的至少一个改变。生成接收的资源定义的签名,省略所接收的资源定义的与所识别的至少一个改变相对应的部分。将所接收的资源定义的签名与原始资源定义的签名进行比较以找到匹配并验证所接收的资源定义。响应于找到匹配,实现所接收的资源定义。
Description
背景技术
本发明总体上涉及集群管理和安全,并且更具体地,涉及对资源定义的静态部分进行签名。
云计算系统现在运行各种各样的任务关键应用,包括金融和政府机构。这样的系统可以以各种方式实现,包括若干容器编排系统中的任何一个。这种应用的敏感特性带来了对强安全性的需要,例如,用以防止资源在实施之前被篡改。
发明内容
一种用于验证资源定义的方法,包括:仿真原始资源定义以识别由管理服务对原始资源定义做出的至少一个改变。生成所接收的资源定义的签名,省略所接收的资源定义的与至少一个所识别的改变相对应的部分。将所接收的资源定义的签名与原始资源定义的签名进行比较以找到匹配并且验证所接收的资源定义。响应于找到匹配,实现所接收的资源定义。
一种用于验证资源定义的系统,包括硬件处理器和存储计算机程序代码的存储器。当计算机程序代码由硬件处理器执行时,它使硬件处理器仿真原始资源定义以识别由管理服务对原始资源定义做出的至少一个改变,生成所接收的资源定义的签名,省略所接收的资源定义的与至少一个所识别的改变相对应的部分,将所接收的资源定义的签名与原始资源定义的签名进行比较以找到匹配并且验证所接收的资源定义,以及响应于找到匹配而实现所接收的资源定义。
从以下结合附图阅读的对本发明的说明性实施例的详细描述中,这些和其它特征和优点将变得显而易见。
附图说明
以下描述将参考以下附图提供优选实施例的细节,其中:
图1是根据本发明实施例的包括资源签名验证的平台即服务(PaaS)系统的框图;
图2是根据本发明实施例的PaaS系统中的对接收的资源定义执行签名验证的单独的处理节点的框图;
图3是根据本发明的实施例的用于对照相应的原始资源定义的签名来验证接收的资源定义的方法的框图/流程图;
图4是根据本发明实施例的用于在包括签名验证的PaaS系统中安装和使用请求的资源的方法的框图/流程图;
图5是根据本发明的实施例的签名验证系统的框图,该签名验证系统仿真原始资源定义以识别在资源定义的处理期间发生的改变的白名单,并且使用该白名单验证接收的资源定义;
图6是示出根据本发明的实施例的不同种类的资源定义和可能在它们中发生的改变的图;
图7是根据本原理的云计算环境的图;以及
图8是根据本原理的抽象模型层的图。
具体实施方式
给定的集群资源在使用期间会改变。例如,原始资源可能与实际实现的资源不同。当应用要求在安装之前对资源进行数字签名时,这提出了挑战。在这种情况下,安装可能失败,因为签名的资源与正在安装的资源不同。
为了解决这个问题,可以生成资源白名单来识别资源的不会改变的部分。这可以通过多次仿真资源以识别资源内保持不变的那些属性以及改变的那些属性来实现。然后可以生成基于资源的静态部分的签名文件。在安装时,可以通过仅查看资源内的静态的那些属性来验证签名。
现在参考图1,示出了作为平台即系统(PaaS)系统100的图。用户102具有用于在分布式计算平台上执行的工作负载。用户102与管理器系统104通信,并提供关于工作负载的信息,包括执行工作负载将需要的处理节点106的数量和类型。提供给管理器系统104的信息包括例如处理节点106的数量、处理器类型、操作系统、执行环境、存储容量、随机存取存储器容量、网络带宽以及工作负载可能需要的任何其它点。用户102还可以向管理器系统104提供特定映像或容器以存储在那里的注册表中。应当理解,PaaS系统100可包括数千个处理节点106,其中的每一个在任何给定时间可根据PaaS系统100执行的工作负载而空闲或繁忙。还应当理解,尽管示出了单个管理器系统104,但是可以存在多个这样的管理器系统104,其中多个注册表跨PaaS系统100分布。虽然这可以通过提供替代映像源来减少注册表处的有限带宽的问题,但是非常大的部署仍将导致延迟。此外,尽管管理器系统104被示处为单个设备,但是应当理解,可以在与映像注册表分离的位置处执行调度。
在执行工作负载之前以及执行工作负载期间,管理器系统104确定哪些处理节点106将使用哪些映像。管理器系统104因此根据其自己的内部逻辑,例如基于在供应时的节点和资源可用性,将映像分发到处理节点106。管理器系统104和PaaS系统100能够处理来自多个不同用户102的多个不同工作负载,使得特定资源的可用性将通常取决于PaaS系统100中发生的事物。
本文使用的术语供应(provisioning)指的是PaaS系统100中的资源被分配给用户102并且被准备用于执行的过程。因此,供应包括由管理器系统104做出的关于哪些处理元件106将用于工作负载以及映像的传输和准备处理节点106以用于工作负载的执行所需的任何配置步骤的确定。然后,由管理器系统104选择的处理节点106安装映像并执行工作负载所需的任何配置。然后,由管理器系统104、用户102或任何其它适当的源触发的执行可以继续进行。
应当预先理解,尽管本公开包括云计算的详细描述,但是本文所记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
现在参考图2,示出了处理节点106的附加细节。处理节点106包括硬件处理器202、存储器204和网络接口206。网络接口206被配置为使用任何适当的有线或无线通信介质和协议,根据需要与管理器系统104以及与其他处理节点106通信。处理节点106还包括一个或多个功能模块,在一些实施例中,这些功能模块可以被实现为存储在存储器204中并由硬件处理器202执行的软件。在其它实施例中,功能模块中的一个或多个可以实现为例如专用集成芯片或现场可编程门阵列形式的一个或多个分立硬件组件。
处理节点106可以包括一个或多个容器208,例如,已经由管理器系统104分配给它的容器。特别地可以设想,每个容器208代表不同的操作环境。容器208各自包括一组软件应用、配置文件、工作负载数据集和执行特定工作负载所需的任何其它信息或软件。容器208被存储在存储器204中,并且在需要时由容器编排引擎210实例化和停止使用。应该理解,作为一般情况,处理节点106的操作系统存在于容器208的外部。因此,每个容器208与相同的操作系统内核对接,减少了同时执行多个容器所需的开销。同时,容器208通常在特别同意的接口之外彼此不进行通信,从而减少了安全性问题。
容器208可以访问在多个处理节点106之间共享的分布式文件系统。容器208可以与容器编排引擎210通信以挂接持久卷218。在接收到来自容器208的请求时,容器编排引擎210与存储供应引擎212通信。当存储供应引擎212接收到目录请求时,它向分布式文件系统供应本地目录挂接点,通知配额管理器214和同步引擎216完成配额/隔离和信息同步过程,并将目录提供回容器编排引擎210。
配额管理器214与存储供应引擎202交互以设置持久卷目录218的配额和隔离。配额管理器214从存储供应引擎212获得关于分布式文件系统的成功挂接的信息,并且可以被实现为例如内核模块,其中系统调用监控持久卷218的目录大小和隔离。配额管理器214与存储供应引擎212交互以寻址超出其配额的卷。例如,配额管理器214可以基于策略执行动作,所述策略例如为当目录的大小超过预定配额时停止写入操作。当创建持久卷218时,确定用于个体目录的配额量。隔离用于确保持久卷218不能被其它进程使用。
同步引擎216与其它处理节点106中的同步引擎216通信。同步引擎216传送与如何使用持久卷218有关的信息,包括配额信息和隔离信息。配额和隔离是在每个主机的基础上设置的,因此同步引擎216将该信息传送到其它主机以保证不同节点之间的一致性。
持久卷218在本文中表示为处理节点106的本地文件系统中的目录。这些目录然后可以是分布式文件系统106的挂接点220。当容器208访问持久卷218时,向和从分布式文件系统106传输文件系统操作,使得分布式文件系统106中的数据可被容器访问。特别地,应当注意,多个容器208可以以这种方式共享对分布式文件系统的访问。
在一些情况下,在可安装资源之前需要签名验证的情况下,容器编排引擎210与签名验证器222通信。签名验证器将待安装的资源(例如,容器208的描述)与该资源的签名进行比较。如果签名匹配,则可安装并执行资源。如果签名不匹配,则签名验证器222拒绝请求,并且阻止资源被安装或执行。
现在参考图3,示出了用于验证资源定义的方法。框302为原始资源定义生成签名。在一个具体的非限制性示例中,系统可以用于容器管理。在这样的实施例中,可以使用“YAML”格式的基于文本的文件来定义资源。以下是可以在KUBERNETES系统中使用的示例性YAML资源定义:
abiVersion:v1
kind:ConfigMap
data:
sample-data:abc
Security-enabled:true
应当理解,这个资源定义纯粹是示例性的,并且代替地可以使用任何适当的资源。签名可以通过任何适当的签名算法生成,例如使用签名密钥。这样的算法可以包括例如RSA、DSA和ECDSA。另外,也可以想到使用其它容器管理系统。
框304接收例如使用已被KUBERNETES系统修改的资源定义文件来安装资源的请求。例如,被修改的资源定义可以如下改变,其中差异被指出:
abiVersion:v1
kind:ConfigMap
metadata: #这行是添加的uid:a2b4e4f2-3ca8-a996 #这行是添加的data:
sample-data:abc
Security-enabled:true
default-config:def#这行是添加的如果针对原始资源定义形成了签名,并且签名验证器222稍后尝试验证用于整个修改的资源定义的签名,则验证将失败,因为修改后的资源定义不一样了。为了解决这个问题,签名验证器222忽略修改的资源定义中预期被系统更改的那些行。排除这些行后,签名验证器222生成剩余行的签名,并且将其与原始资源定义的签名进行比较。如果存在匹配,则可以验证修改的资源定义。
尽管这些可改变的行和字段可以通过分析KUBERNETES系统软件而被预先确定,但是软件更新会引起如何处理资源定义的改变,并且可能添加先前未被考虑的新类型的信息。为了解决这个问题,可以在运行时基于每个资源来分析改变,以构建当前改变的白名单。
因此,框306可以例如使用KUBERNETES“DryRun”功能来仿真原始资源定义,以生成一个或多个仿真的资源定义,其可以以与KUBERNETES系统针对实际实现进行的改变类似的方式被改变。通过对资源进行仿真,而不是依赖于静态白名单,可以立即适应对底层软件的改变。通过将仿真的资源定义与原始资源定义进行比较,框308可以找到在仿真的资源定义中已经改变的行或已经添加到仿真的资源定义的行。可以运行至少两次仿真,但是更大的次数可以提供更好的结果。
框310为修改的资源定义生成签名,忽略框308中指示为被改变的任何行。框312将原始资源定义的签名与修改的资源定义的签名进行比较。如果框314发现两个签名不匹配,则框316拒绝资源。在这种情况下,签名验证器222指示容器编排引擎210拒绝安装资源的请求。如果两个签名匹配,则框318使得签名验证器222指示容器编排引擎210安装资源。
现在参考图4,一种用于使用PaaS系统(例如上述系统100)执行任务的方法。框402生成工作负载。例如,工作负载可以包括任何适当的软件以执行任何目的,诸如处理金融交易或对大数据集执行统计计算。框404确定将需要什么资源来执行工作负载。例如,框404可以确定可能需要多少实例化,可以使用什么操作系统和支持软件,以及可以使用什么容器。框406将对这些资源的请求发送到管理器系统104。
框408如上所述验证资源签名。如果验证成功,则框410安装所请求的资源,并且框412使用所安装的资源来执行工作负载。在框408验证资源签名失败的情况下,用户102可以返回审核他们的资源请求,以识别和解决差异。验证签名失败可以指示攻击者篡改资源的尝试。
本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如Smalltalk、C++等)和过程编程语言(例如“C”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
说明书中对本发明的“一个实施例”或“实施例”及其它变型的引用意味着结合该实施例描述的特定特征、结构、特性等被包括在本发明的至少一个实施例中。因此,在整个说明书中的各个地方出现的短语“在一个实施例中”或“在实施例中”以及任何其它变型的出现不一定都指相同的实施例。
应当理解,例如在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况下,使用以下“/”、“和/或”以及“中的至少一个”中的任何一个旨在涵盖仅对第一个列出的选项(A)的选择、或仅对第二个列出的选项(B)的选择、或对两个选项(A和B)的选择。作为进一步的例子,在“A、B和/或C”和“A、B和C中的至少一个”的情况下,这样的措词旨在包括仅选择第一个列出的选项(A),或者仅选择第二个列出的选项(B),或者仅选择第三个列出的选项(C),或者仅选择第一个和第二个列出的选项(A和B),或者仅选择第一个和第三个列出的选项(A和C),或者仅选择第二个和第三个列出的选项(B和C),或者选择所有三个选项(A和B和C)。这可以扩展到所列的许多项目,这对于本领域和相关领域的普通技术人员来说是显而易见的。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
如本文所使用的,术语“硬件处理器子系统”或“硬件处理器”可以指协作以执行一个或多个特定任务的处理器、存储器、软件或其组合。在有用的实施例中,硬件处理器子系统可以包括一个或多个数据处理元件(例如,逻辑电路、处理电路、指令执行设备等),一个或多个数据处理元件可以包括在中央处理单元、图形处理单元和/或单独的基于处理器或计算元件的控制器(例如,逻辑门等)中。硬件处理器子系统可以包括一个或多个板上存储器(例如,高速缓存、专用存储器阵列、只读存储器等)。在一些实施例中,硬件处理器子系统可以包括一个或多个存储器,所述一个或多个存储器可以在板上或板外或者可以专门供硬件处理器子系统使用(例如,ROM、RAM、基本输入/输出系统(BIOS)等)。
在一些实施例中,硬件处理器子系统可以包括并执行一个或多个软件元件。该一个或多个软件元件可以包括操作系统和/或一个或多个应用和/或特定代码以实现指定结果。
在其它实施例中,硬件处理器子系统可以包括专用的、专门的电路,其执行一个或多个电子处理功能以实现指定结果。这种电路可以包括一个或多个专用集成电路(ASIC)、FPGA和/或PLA。
根据本发明的实施例,还想到硬件处理器子系统的这些和其它变型。
现在参考图5,示出了签名验证器222的附加细节。应当理解,签名验证器222可以被实现为如上所述的处理节点106的一部分,可以被实现为管理器系统104的一部分,可以是在单独的硬件上运行的独立系统,或者可以以任何其它适当的方式来实现。在签名验证器222在单独硬件上运行的情况下,则其可以包括硬件处理器、存储器和通信接口(未示出)。如果签名验证器222与管理器系统104或处理节点106并置排列,则其可以共享那些系统的硬件资源。
签名验证器222接收并存储原始资源定义502的副本。由于由PaaS系统(例由KUBERNETES软件)引入的差异,这个原始资源定义502可能不同于原始资源定义。资源仿真器504(例如,KUBERNETES的“DryRun”功能)运行原始资源定义502的一次或多次仿真,以生成仿真资源506。白名单生成器508分析仿真资源506以识别该定义中的在它被PaaS系统处理时改变的部分。白名单生成器508由此生成签名白名单510,其可以标识资源定义中在正常操作期间改变的行和字段。
所请求的资源定义511由签名生成器512处理,例如使用与用于生成原始资源签名516的函数相同的函数,使用签名白名单510来省略所请求的资源定义511的在正常操作期间改变的部分。签名生成器512由此产生所请求的资源签名514。在签名比较518处将所请求的资源签名514与原始资源签名516进行比较。验证器520基于两个签名之间的任何差异,确定所请求的资源定义是否合法并可以被安装。
现在参考图6,示出了各种资源定义的比较。原始资源定义被示出为框502,其示出了指定资源的信息。框506示出了基于原始资源定义502的仿真资源定义的集合。在仿真期间改变的部分被显示为下划线;这些添加是由PaaS系统出于其自身的目的而引入的,并且通常不影响最终资源安装的功能。
在框511中示出了所请求的资源定义。在验证期间,在仿真定义506中示出的那些添加位于所请求的资源定义511内,并且在签名验证期间被省略。排除这些添加,所请求的资源定义511的剩余内容与原始资源定义502的内容匹配,因此验证成功。
相反,示出了恶意资源定义602。与所请求的资源定义511一样,在签名验证期间省略任何所识别的可改变行。然而,另一行由恶意行动者引入,以粗体示出。如果该恶意资源定义602被提交用于签名验证,则所引入的行导致的不匹配将导致验证失败,从而阻止恶意资源的安装。
云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。
宽带网接入:能力在网络上可用,并且通过促进由异构的薄或厚客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级别(例如国家、州或数据中心)指定位置。
快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量的服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用程序可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户机界面从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于建筑物内或建筑物外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心处是包括互连的节点的网络的基础设施。
现在参考图7,描绘了说明性云计算环境50。如图所示,云计算环境50包括云消费者使用的本地计算设备可以与其通信的一个或多个云计算节点10,所述本地计算设备例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图7中所示的计算设备54A-N的类型仅旨在说明,并且计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用web浏览器)与任何类型的计算机化设备通信。
现在参考图8,示出了由云计算环境50(图7)提供的一组功能抽象层。应当预先理解,图8中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66.在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户机75。
在一个示例中,管理层80可以提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供了在云计算环境中利用资源时的成本跟踪,以及用于消耗这些资源的开帐单或发票。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源分配和管理,使得满足所需的服务级别。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA预期未来需求。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;交易处理95;以及签名验证96。
已经描述了集群资源签名验证的优选实施例(其旨在是说明性的而非限制性的),注意,本领域技术人员根据上述教导可以进行修改和变化。因此,应当理解,可以在所公开的特定实施例中进行改变,这些改变在由所附权利要求概括的本发明的范围内。因此,已经用专利法所要求的细节和特性描述了本发明的各方面,在所附权利要求中阐述了所要求保护的和期望由专利证书保护的内容。
Claims (20)
1.一种用于对资源定义进行验证的计算机实现的方法,包括:
仿真原始资源定义以识别由管理服务对所述原始资源定义做出的至少一个改变;
生成接收的资源定义的签名,省略所接收的资源定义的与所识别的至少一改变相对应的部分;
将所接收的资源定义的签名与所述原始资源定义的签名进行比较以找到匹配并且验证所接收的资源定义;以及
响应于找到所述匹配,实现所接收的资源定义。
2.根据权利要求1所述的方法,其中所述原始资源定义和所接收的资源定义是针对容器管理器定义的。
3.根据权利要求2所述的方法,其中所述至少一个改变由所述容器管理器在处理任何资源定义期间引入。
4.根据权利要求2所述的方法,其中仿真所述原始资源定义包括使用所述容器管理器的DryRun功能运行所述原始资源定义。
5.根据权利要求1所述的方法,其中仿真所述原始资源定义包括至少两次运行所述原始资源定义的仿真。
6.根据权利要求1所述的方法,其中生成所接收的资源定义的签名包括从所接收的资源定义移除所接收的资源定义的与所识别的至少一个改变相对应的部分,然后从剩余部分生成签名。
7.根据权利要求1所述的方法,还包括从用户接收所接收的资源定义,其中所述仿真原始资源定义是在接收到所接收的资源定义之后执行的。
8.根据权利要求7所述的方法,其中还包括生成所述原始资源定义的签名,其中生成所述原始资源定义的签名是在接收到所接收的资源定义之前执行的。
9.根据权利要求1所述的方法,其中所述原始资源定义和所接收的资源定义是基于文本的YAML文件。
10.根据权利要求1所述的方法,其中实现所接收的资源定义包括在本地处理节点上安装对应的资源。
11.一种用于对资源定义进行验证的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质具有随其实施的程序指令,所述程序指令可由硬件处理器执行以使所述硬件处理器:
仿真原始资源定义以识别由管理服务对所述原始资源定义做出的至少一个改变;
生成接收的资源定义的签名,省略所接收的资源定义的与所识别的至少一个改变相对应的部分;
将所接收的资源定义的签名与所述原始资源定义的签名进行比较以找到匹配并且验证所接收的资源定义;以及
响应于找到所述匹配,实现所接收的资源定义。
12.根据权利要求11所述的计算机程序产品,其中所述原始资源定义和所接收的资源定义是针对容器管理器定义的。
13.根据权利要求12所述的计算机程序产品,其中所述至少一个改变由所述容器管理器在处理任何资源定义期间引入。
14.根据权利要求12所述的计算机程序产品,其中仿真所述原始资源定义包括使用所述容器管理器的DryRun功能运行所述原始资源定义。
15.根据权利要求11所述的计算机程序产品,其中仿真所述原始资源定义包括至少两次运行所述原始资源定义的仿真。
16.根据权利要求11所述的计算机程序产品,其中生成所接收的资源定义的签名包括从所接收的资源定义移除所接收的资源定义的与所识别的至少一个改变相对应的部分,然后从剩余部分生成签名。
17.根据权利要求11所述的计算机程序产品,其中所述程序指令还可由硬件处理器执行以使所述硬件处理器从用户接收所接收的资源定义,其中所述仿真原始资源定义是在接收到所接收的资源定义之后执行的。
18.根据权利要求17所述的计算机程序产品,其中所述程序指令还可由硬件处理器执行以使所述硬件处理器生成所述原始资源定义的签名,其中生成所述原始资源定义的签名是在接收到所接收的资源定义之前执行的。
19.根据权利要求11所述的计算机程序产品,其中实现所接收的资源定义包括在本地处理节点上安装对应资源。
20.一种用于对资源定义进行验证的系统,包括:
硬件处理器;以及
存储器,其存储计算机程序代码,所述计算机程序代码在由所述硬件处理器执行时使所述硬件处理器:
仿真原始资源定义以识别由管理服务对所述原始资源定义做出的至少一个改变;
生成接收的资源定义的签名,省略所接收的资源定义的与所识别的至少一个改变相对应的部分;
将所接收的资源定义的签名与所述原始资源定义的签名进行比较以找到匹配并且验证所接收的资源定义;以及
响应于找到所述匹配,实现所接收的资源定义。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/167,398 US11914755B2 (en) | 2021-02-04 | 2021-02-04 | Cluster resource signature verification |
US17/167,398 | 2021-02-04 | ||
PCT/CN2022/071600 WO2022166549A1 (en) | 2021-02-04 | 2022-01-12 | Cluster resource signature verification |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116848818A true CN116848818A (zh) | 2023-10-03 |
Family
ID=82612492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280012974.4A Pending CN116848818A (zh) | 2021-02-04 | 2022-01-12 | 集群资源签名验证 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11914755B2 (zh) |
JP (1) | JP2024505417A (zh) |
CN (1) | CN116848818A (zh) |
DE (1) | DE112022000390T5 (zh) |
WO (1) | WO2022166549A1 (zh) |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6263434B1 (en) | 1999-09-21 | 2001-07-17 | Sun Microsystems, Inc. | Signed group criteria |
US8122106B2 (en) * | 2003-03-06 | 2012-02-21 | Microsoft Corporation | Integrating design, deployment, and management phases for systems |
FR2853741B1 (fr) * | 2003-04-14 | 2005-09-09 | Gemplus Card Int | Procede de gestion d'un code executable telecharge dans un systeme embarque reprogrammable |
US9329951B2 (en) * | 2009-07-31 | 2016-05-03 | Paypal, Inc. | System and method to uniformly manage operational life cycles and service levels |
US9256765B2 (en) * | 2012-06-29 | 2016-02-09 | Kip Sign P1 Lp | System and method for identifying software changes |
US9665385B1 (en) * | 2013-03-14 | 2017-05-30 | EMC IP Holding Company LLC | Method and apparatus for simulation storage shelves |
US9268935B2 (en) * | 2014-02-24 | 2016-02-23 | Ca, Inc. | Smart containerization of mobile computing device resources |
US9679122B1 (en) | 2014-06-11 | 2017-06-13 | Red Hat, Inc. | Methods and apparatus for using credentials to access computing resources |
US9507636B2 (en) | 2015-04-20 | 2016-11-29 | International Business Machines Corporation | Resource management and allocation using history information stored in application's commit signature log |
US10291706B1 (en) * | 2016-03-24 | 2019-05-14 | EMC IP Holding Company LLC | Container image distribution acceleration |
US20200067789A1 (en) * | 2016-06-24 | 2020-02-27 | QiO Technologies Ltd. | Systems and methods for distributed systemic anticipatory industrial asset intelligence |
US10169209B2 (en) * | 2016-11-04 | 2019-01-01 | Red Hat, Inc. | Container images by composition |
US10404474B1 (en) * | 2017-02-02 | 2019-09-03 | Citigroup Technology, Inc. | Systems and methods for container orchestration security |
CN107135103B (zh) | 2017-05-08 | 2021-03-19 | 网宿科技股份有限公司 | 在异构资源上构建内容分发网络平台的方法和系统 |
US20180367528A1 (en) | 2017-06-12 | 2018-12-20 | Cyberark Software Ltd. | Seamless Provision of Authentication Credential Data to Cloud-Based Assets on Demand |
US10963349B2 (en) | 2017-08-25 | 2021-03-30 | Vmware, Inc. | Containerized application snapshots |
US10824726B1 (en) * | 2018-03-29 | 2020-11-03 | EMC IP Holding Company LLC | Container anomaly detection using container profiles |
CN108777625B (zh) | 2018-06-28 | 2020-08-11 | 腾讯科技(深圳)有限公司 | 签名的验证方法、装置和系统、存储介质、电子装置 |
EP3912035A1 (en) * | 2019-01-15 | 2021-11-24 | Microsoft Technology Licensing, LLC | Dynamic auto-configuration of multi-tenant paas components |
US10742421B1 (en) * | 2019-03-08 | 2020-08-11 | Ares Technologies, Inc. | Methods and systems for anonymous hardware attestation |
US11310057B2 (en) * | 2019-11-13 | 2022-04-19 | Red Hat, Inc. | Preventing exploitation of serverless-function flows |
CN111144859A (zh) | 2019-12-27 | 2020-05-12 | 腾讯科技(深圳)有限公司 | 一种虚拟资源转移方法、装置、计算机设备和存储介质 |
US11593139B2 (en) * | 2020-04-02 | 2023-02-28 | Vmware, Inc. | Software compatibility checking for managed clusters in a virtualized computing system |
US11507355B2 (en) * | 2020-07-20 | 2022-11-22 | International Business Machines Corporation | Enforcement of signatures for software deployment configuration |
US11593495B2 (en) * | 2020-09-08 | 2023-02-28 | Vmware, Inc. | Signing and verifying mutable structured documents |
US11550615B2 (en) * | 2020-10-13 | 2023-01-10 | Sap Se | Kubernetes resource policy enforcement |
US20220237048A1 (en) * | 2021-01-26 | 2022-07-28 | Vmware, Inc. | Affinity and anti-affinity for sets of resources and sets of domains in a virtualized and clustered computer system |
-
2021
- 2021-02-04 US US17/167,398 patent/US11914755B2/en active Active
-
2022
- 2022-01-12 WO PCT/CN2022/071600 patent/WO2022166549A1/en active Application Filing
- 2022-01-12 DE DE112022000390.1T patent/DE112022000390T5/de active Pending
- 2022-01-12 JP JP2023542732A patent/JP2024505417A/ja active Pending
- 2022-01-12 CN CN202280012974.4A patent/CN116848818A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220245285A1 (en) | 2022-08-04 |
JP2024505417A (ja) | 2024-02-06 |
DE112022000390T5 (de) | 2023-09-28 |
US11914755B2 (en) | 2024-02-27 |
WO2022166549A1 (en) | 2022-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831517B2 (en) | Deploying a virtual machine in a computing environment | |
US10713031B2 (en) | Enforcing security policies for software containers | |
US10841328B2 (en) | Intelligent container resource placement based on container image vulnerability assessment | |
US10372419B2 (en) | Trusted random number generation by a cloud server | |
US10284647B2 (en) | Providing information on published configuration patterns of storage resources to client systems in a network computing environment | |
US10021111B2 (en) | Location based authentication of users to a virtual machine in a computer system | |
US11093272B2 (en) | Virtual machine allocation and migration between hardware devices by destroying and generating enclaves using transmitted datafiles and cryptographic keys | |
US10936747B2 (en) | Privacy annotation from differential analysis of snapshots | |
CN113544675A (zh) | 安全执行客户机所有者环境控制符 | |
US11294727B2 (en) | Resolving cryptographic bottlenecks for distributed multi-signature contracts shared with cryptographic accelerators by switching between local and accelerator cryptographic libraries | |
AU2020426828B2 (en) | Reserving one or more security modules for secure guest | |
US10176059B2 (en) | Managing server processes with proxy files | |
US9843605B1 (en) | Security compliance framework deployment | |
US11914755B2 (en) | Cluster resource signature verification | |
US20210281561A1 (en) | Certification for connection of virtual communication endpoints | |
US11558387B2 (en) | Validation of approver identifiers in a cloud computing environment | |
US20240020389A1 (en) | Fuzzing guided binary hardening | |
US11953972B2 (en) | Selective privileged container augmentation | |
US11163635B2 (en) | Tracking cluster image mutation events | |
US20230037986A1 (en) | Autoencryption system for data in a container | |
CN117063179A (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 |