CN114461340A - 一种基于可信计算的容器实时迁移方法 - Google Patents
一种基于可信计算的容器实时迁移方法 Download PDFInfo
- Publication number
- CN114461340A CN114461340A CN202210086611.7A CN202210086611A CN114461340A CN 114461340 A CN114461340 A CN 114461340A CN 202210086611 A CN202210086611 A CN 202210086611A CN 114461340 A CN114461340 A CN 114461340A
- Authority
- CN
- China
- Prior art keywords
- migration
- virtual machine
- platform
- copy
- container
- 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
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种基于可信计算的容器实时迁移方法。操作***虚拟化与容器已经成为云计算中的关键技术。数据中心和云供应商对计算资源的控制使用户数据面临泄露的风险并降低了用户对数据的实际控制,带来了容器迁移过程的安全威胁。本发明引入迁移代理的概念,借助可信平台模块提出一种在安全的加密虚拟机中迁移容器的方法。目的地平台的真实性和完整性在数据传输之前通过远程认证来验证,迁移过程中容器内的进程保持不变,也不必重新启动。容器内数据通过迁移代理间的安全会话进行传输,其完整性和保密性在迁移过程中以及在目的地平台上都得到了保证,提升了容器迁移的安全性。
Description
技术领域
本发明属于虚拟化安全技术领域,具体为一种基于可信计算的容器实时迁移方法。
背景技术
容器化已经成为一种流行的方法,以可扩展的方式部署和运行软件。服务或应用程序作为进程组被隔离在容器中,使用操作***(OS)级别的虚拟化。
所有运行容器所需的文件都在一个可移植和独立的镜像(Image)中提供。同样,数据中心和云计算中的共享资源变得越来越普遍。在一个***出现资源短缺或维护的情况下,将运行中的容器迁移到另一个***可以确保服务的持续执行和可用性。
容器从一个***转移到另一个***,并在目标***继续执行而不中断,在这一过程中需要采取适当的措施来保护容器数据,防止恶意平台运营商利用了平台漏洞进行攻击或者非法访问。
运行容器的基础设施和相应的管理工具通常由数据中心供应商提供。然而数据和应用程序的完整性和保密性并不总是由数据中心的运营商保证。本发明通过可信计算技术确保数据在传输、静止和使用中的完整性和保密性,同时提供一个透明的容器迁移过程。
可信计算技术:可信计算技术是指从物理安全的可信根出发,在计算环境中构筑从可信根到应用的完整可信链条,以为***提供可信度量、可信存储、可信报告等可信支撑功能,支持***应用的可信运行。可信计算技术明确了信息***的可信应从一个物理保护的、具备可信密码服务的可信根出发,通过一环套一环的可信扩展过程,将可信从可信根扩展到整个***。可信计算技术明确了可信存储、可信报告和可信度量等机制的实施方式,提出了比较完整的可信体系实施的工程方法。
可信报告和可信认证:一般使用可信报告和可信认证机制来远程证明用户身份和平台可信性。可信报告和可信认证机制的基础是可信根中的背书密钥(EK,EndorsementKey)。背书密钥是***的可信报告根,是一组非对称密钥,在每个可信根中唯一存在。EK一般用于用户和认证中心的关键鉴别密钥生成过程,在平台上生成与用户身份对应的AIK,平台用户可以使用AIK产生可信报告,向外界证明当前可信根的寄存器状态以及可信根中密钥的一些信息。利用可信报告中的这些信息,结合可信平台上的安全机制,实现对用户身份以及平台当前可信状况的远程认证。
CRIU:CRIU(Checkpoint/Restore In Userspace)是一个Linux软件,它可以冻结一个正在运行的容器(或一个单独的应用程序),并将其状态检查点到磁盘上。保存的数据可以用来恢复应用程序,并完全按照冻结时的状态运行。利用这一功能,应用程序或容器的实时迁移、快照、远程调试和其他许多事情现在都可以实现。
虚拟机实时迁移:又称为热迁移(Live Migration)。是指在保证虚拟机上服务正常运行的同时,虚拟机在不同的物理主机之间进行迁移,其逻辑步骤与离线迁移几乎完全一致。不同的是,为了保证迁移过程中虚拟机服务的可用,迁移过程仅有非常短暂的停机时间。迁移的前面阶段,服务在源主机运行,当迁移进行到一定阶段,目的主机已经具备了运行***的必须资源,经过一个非常短暂的切换,源主机将控制权转移到目的主机,服务在目的主机上继续运行。对于服务本身而言,由于切换的时间非常短暂,用户感觉不到服务的中断,因而迁移过程对用户是透明的。实时迁移适用于对服务可用性要求很高的场景。
预拷贝迁移算法(Pre-copy):该算法核心思想是通过多次迭代拷贝将源虚拟机的内存拷贝到目的主机。当剩余内存中的脏页比率低于某一阈值时将源虚拟机挂起,将剩余的内存、CPU与I/O设备状态信息一并进行实时迁移。
后拷贝迁移算法(Post-copy):该算法先将源虚拟机的CPU与I/O设备状态信息进行实时迁移,然后在目的虚拟机对设备进行恢复。完成设备恢复后,目的虚拟机开始对外提供服务。之后再将源虚拟机的内存逐步拷贝到目的虚拟机上,直到所有源虚拟机的内存拷贝完成。
综合上述两种内存迁移算法优势,学术界提出名为“混合方法”的新迁移算法。这种算法将预拷贝与后拷贝算法进行有机结合,即先进行预拷贝操作,在保证源虚拟机正常运行的同时将全部的内存信息复制到目的虚拟机上,然后源虚拟机停机,将CPU和I/O设备信息传输到目的虚拟机中,之后启动目的虚拟机,在目的虚拟机端按照后拷贝的方法对内存脏页进行处理。
发明内容
本发明的目的是提出一种基于可信计算的容器实时迁移方法,该方案的整体架构如图1所示。
本发明引入了迁移代理角色(Migration Agents),他们控制着容器的迁移。迁移代理是本身不能被迁移的虚拟机,它们与其他平台上的代理进行通信,判断对方迁移代理和平台是否可以信任,以及是否执行迁移过程。
本发明相关缩写说明如下:
P0:源平台;P1:目的平台;F0:源平台的可信芯片;F1:目的平台的可信芯片;MA0:源平台的迁移代理;MA1:目的平台的迁移代理。
本发明中迁移过程包括以下部分:
迁移环境建立:平台认证阶段以及迁移双方资源准备。
实时迁移阶段:实时迁移阶段包括预拷贝(Pre-copy Phrase)、停机阶段(Downtime Phrase)和后拷贝阶段(Post-copy Phrase)。
结束迁移阶段:目的虚拟机接收到全部内存,迁移完成,清理源虚拟机数据。
下述为本发明中迁移过程的详细内容,图2为迁移过程的时序图。
一、迁移环境建立
该步骤包括平台认证阶段以及迁移双方资源准备。实施步骤如下:
步骤1:源平台P0的可信芯片F0通过对本地环境进行安全度量后,使用背书密钥生成相应的身份认证密钥AIK作为平台的认证密钥,记为硬件平台认证密钥,并通过硬件认证CA签署证书证明其真实性。对于每个平台,由平台所有者的证书颁发机构为平台所有者密钥签署证书以证明其真实性,用以识别平台和它的所有者。当F0验证F1是一个有效的目的地后,创建迁移会话。
步骤2:源平台P0向源平台的迁移代理MA0发起执行迁移请求,并提供容器清单。清单中定义了允许的平台所有者证书(POCA),并且只允许迁移到这些平台上。
步骤3:迁移代理MA0对选择的目的平台P1进行认证。MA0将目的地的可信芯片F1的平台所有者证书(POCA)密钥与清单中列出的授权目标平台的POCA进行比较。当P1被认证为有效的目的地,此次迁移便获得授权。
步骤4:迁移代理MA0向目的平台P1发起会话请求,P1启动目的平台的迁移代理MA1并返回联系信息。
步骤5:迁移代理MA0请求目的平台的迁移代理MA1提供证明报告,并发送一个随机数Nonce。
步骤6:迁移代理MA1将证明请求转发给可信芯片F1。F1创建包含Nonce和MA1的公钥和度量信息的证明报告,并使用F1的芯片背书密钥(EK)生成的身份认证密钥(AIK)进行签名。
步骤7:迁移代理MA0验证带有F1背书密钥生成的AIK签名的证明报告。成功验证后,双方身份认证完整,迁移环境建立完成。
二、实时迁移阶段
本阶段是实时迁移的核心流程。其中包括预拷贝(Pre-copy Phrase)、停机阶段(Downtime Phrase)和后拷贝阶段(Post-copy Phrase)三个部分。具体实施步骤如下:
步骤1:预拷贝阶段(Pre-copy Phrase)
步骤1-1:迁移代理MA0指示源平台P0交换虚拟机的加密内存页。加密内存页通过F0的SK密钥进行加密,只有具有相应虚拟机上下文的实体才能解密。
步骤1-2:换出的内存和虚拟机的镜像和容器清单被转移到迁移代理MA1,MA1将虚拟机镜像和加密的内存传递给P1,P1对镜像和内存数据进行存储。
步骤2:停机阶段(Downtime Phrase)
步骤2-1:迁移代理MA0指示目的地平台P1停止虚拟机时,停机阶段开始。P1交换出所有剩余的内存页。
步骤2-2:迁移代理MA0从F0那里获得虚拟机上下文,F0持有解密内存的密钥。此时虚拟机不再运行。
步骤2-3:虚拟机上下文被转移到迁移代理MA1,同时数据镜像被同步。此外,对虚拟机的执行至关重要的热页也被迁移了。
步骤2-4:迁移代理MA1准备执行虚拟机,指示可信芯片F1用F0的SK解密密钥进行解密,并通过提供的虚拟机上下文创建正确的虚拟机环境。
步骤2-5:镜像更新到虚拟机被停止时的状态,目的平台P1通过交换之前迁移代理MA0在虚拟机停机时所提供的热页来继续执行虚拟机。
步骤3:后拷贝阶段(Post-copy Phrase)
步骤3-1:所有剩余的内存页被转移,随后被换入,直到虚拟机接收到全部内存,迁移完成。
三、结束迁移阶段
上一阶段结束后,目的虚拟机已经接收到全部内存,迁移部分完成。本阶段将结束整个迁移活动。具体实施过程为:
步骤1:迁移代理MA0指示源平台P0删除相关信息,MA0移除容器清单,迁移结束。
本发明具有如下优点:引入迁移代理的概念,借助可信平台模块提出一种在安全的加密虚拟机中迁移容器的方法。目的地平台的真实性和完整性在数据传输之前通过远程认证来验证,迁移过程中容器内的进程保持不变,也不必重新启动。容器内数据通过迁移代理间的安全会话进行传输,其完整性和保密性在迁移过程中以及在目的地平台上都得到了保证,提升了容器迁移的安全性。
附图说明
图1是本发明的总体框架图。
图2是本发明中迁移过程的时序图。
具体实施方式
发明的目的是提出一种基于可信计算的容器实时迁移方法,该方案包括以下三个阶段:迁移环境建立、实时迁移阶段、结束迁移阶段。
一、迁移环境建立
该步骤包括平台认证阶段以及迁移双方资源准备。实施步骤如下:
步骤1:源平台P0的可信芯片F0通过对本地环境进行安全度量后,使用背书密钥生成相应的身份认证密钥AIK作为平台的认证密钥,记为硬件平台认证密钥,并通过硬件认证CA签署证书证明其真实性。对于每个平台,由平台所有者的证书颁发机构为平台所有者密钥签署证书以证明其真实性,用以识别平台和它的所有者。当F0验证F1是一个有效的目的地后,创建迁移会话。
步骤2:源平台P0向源平台的迁移代理MA0发起执行迁移请求,并提供容器清单。清单中定义了允许的平台所有者证书(POCA),并且只允许迁移到这些平台上。
步骤3:迁移代理MA0对选择的目的平台P1进行认证。MA0将目的地的可信芯片F1的平台所有者证书(POCA)密钥与清单中列出的授权目标平台的POCA进行比较。当P1被认证为有效的目的地,此次迁移便获得授权。
步骤4:迁移代理MA0向目的平台P1发起会话请求,P1启动目的平台的迁移代理MA1并返回联系信息。
步骤5:迁移代理MA0请求目的平台的迁移代理MA1提供证明报告,并发送一个随机数Nonce。
步骤6:迁移代理MA1将证明请求转发给可信芯片F1。F1创建包含Nonce和MA1的公钥和度量信息的证明报告,并使用F1的芯片背书密钥(EK)生成的身份认证密钥(AIK)进行签名。
步骤7:迁移代理MA0验证带有F1背书密钥生成的AIK签名的证明报告。成功验证后,双方身份认证完整,迁移环境建立完成。
二、实时迁移阶段
本阶段是实时迁移的核心流程。其中包括预拷贝(Pre-copy Phrase)、停机阶段(Downtime Phrase)和后拷贝阶段(Post-copy Phrase)三个部分。具体实施步骤如下:
步骤1:预拷贝阶段(Pre-copy Phrase)
步骤1-1:迁移代理MA0指示源平台P0交换虚拟机的加密内存页。加密内存页通过F0的SK密钥进行加密,只有具有相应虚拟机上下文的实体才能解密。
步骤1-2:换出的内存和虚拟机的镜像和容器清单被转移到迁移代理MA1,MA1将虚拟机镜像和加密的内存传递给P1,P1对镜像和内存数据进行存储。
步骤2:停机阶段(Downtime Phrase)
步骤2-1:迁移代理MA0指示目的地平台P1停止虚拟机时,停机阶段开始。P1交换出所有剩余的内存页。
步骤2-2:迁移代理MA0从F0那里获得虚拟机上下文,F0持有解密内存的密钥。此时虚拟机不再运行。
步骤2-3:虚拟机上下文被转移到迁移代理MA1,同时数据镜像被同步。此外,对虚拟机的执行至关重要的热页也被迁移了。
步骤2-4:迁移代理MA1准备执行虚拟机,指示可信芯片F1用F0的SK解密密钥进行解密,并通过提供的虚拟机上下文创建正确的虚拟机环境。
步骤2-5:镜像更新到虚拟机被停止时的状态,目的平台P1通过交换之前迁移代理MA0在虚拟机停机时所提供的热页来继续执行虚拟机。
步骤3:后拷贝阶段(Post-copy Phrase)
步骤3-1:所有剩余的内存页被转移,随后被换入,直到虚拟机接收到全部内存,迁移完成。
三、结束迁移阶段
上一阶段结束后,目的虚拟机已经接收到全部内存,迁移部分完成。本阶段将结束整个迁移活动。具体实施过程为:
步骤1:迁移代理MA0指示源平台P0删除相关信息,MA0移除容器清单,迁移结束。
Claims (4)
1.一种基于可信计算的容器实时迁移方法,其特征在于,该方法包括如下步骤:
迁移环境建立:平台认证阶段以及迁移双方资源准备;
实时迁移阶段:实时迁移阶段包括预拷贝(Pre-copy Phrase)、停机阶段(DowntimePhrase)和后拷贝阶段(Post-copy Phrase);
结束迁移阶段:目的虚拟机接收到全部内存,迁移完成,清理源虚拟机数据。
2.根据权利要求1所述的容器实时迁移方法,其特征在于,所述迁移环境建立步骤具体包括:
该步骤包括平台认证阶段以及迁移双方资源准备;实施步骤如下:
步骤1:源平台P0的可信芯片F0通过对本地环境进行安全度量后,使用背书密钥生成相应的身份认证密钥AIK作为平台的认证密钥,记为硬件平台认证密钥,并通过硬件认证CA签署证书证明其真实性;对于每个平台,由平台所有者的证书颁发机构为平台所有者密钥签署证书以证明其真实性,用以识别平台和它的所有者;当F0验证F1是一个有效的目的地后,创建迁移会话;
步骤2:源平台P0向迁移代理MA0发起执行迁移请求,并提供容器清单;清单中定义了允许的平台所有者证书(POCA),并且只允许迁移到这些平台上;
步骤3:迁移代理MA0对选择的目标平台P1进行认证;MA0将可信芯片F1的平台所有者证书(POCA)密钥与清单中列出的授权目标平台的POCA进行比较;当P1被认证为有效的目的地,此次迁移便获得授权;
步骤4:迁移代理MA0向目的平台P1发起会话请求,P1启动迁移代理MA1并返回联系信息;
步骤5:迁移代理MA0请求MA1提供证明报告,并发送一个随机数Nonce;
步骤6:迁移代理MA1将证明请求转发给可信芯片F1;F1创建包含Nonce和MA1的公钥和度量信息的证明报告,并使用F1的芯片背书密钥(EK)生成的身份认证密钥(AIK)进行签名;
步骤7:迁移代理MA0验证带有F1背书密钥生成的AIK签名的证明报告;成功验证后,双方身份认证完整,迁移环境建立完成。
3.根据权利要求1所述的容器实时迁移方法,其特征在于,所述实时迁移阶段步骤具体包括:
本阶段是实时迁移的核心流程;其中包括预拷贝(Pre-copy Phrase)、停机阶段(Downtime Phrase)和后拷贝阶段(Post-copy Phrase)三个部分;具体实施步骤如下:
步骤1:预拷贝阶段(Pre-copy Phrase)
步骤1-1:迁移代理MA0指示源平台P0交换虚拟机的加密内存页;加密内存页通过F0的SK密钥进行加密,只有具有相应虚拟机上下文的实体才能解密;
步骤1-2:换出的内存和虚拟机的镜像和容器清单被转移到迁移代理MA1,MA1将虚拟机镜像和加密的内存传递给P1,P1对镜像和内存数据进行存储;
步骤2:停机阶段(Downtime Phrase)
步骤2-1:迁移代理MA0指示目的地平台P1停止虚拟机时,停机阶段开始;P1交换出所有剩余的内存页;
步骤2-2:迁移代理MA0从F0那里获得虚拟机上下文,F0持有解密内存的密钥;此时虚拟机不再运行;
步骤2-3:虚拟机上下文被转移到迁移代理MA1,同时数据镜像被同步;此外,对虚拟机的执行至关重要的热页也被迁移了;
步骤2-4:迁移代理MA1准备执行虚拟机,指示可信芯片F1用F0的SK解密密钥进行解密,并通过提供的虚拟机上下文创建正确的虚拟机环境;
步骤2-5:镜像更新到虚拟机被停止时的状态,目的平台P1通过交换之前迁移代理MA0在虚拟机停机时所提供的热页来继续执行虚拟机;
步骤3:后拷贝阶段(Post-copy Phrase)
步骤3-1:所有剩余的内存页被转移,随后被换入,直到虚拟机接收到全部内存,迁移完成。
4.根据权利要求1所述的容器实时迁移方法,其特征在于,所述结束迁移阶段步骤具体包括:
上一阶段结束后,目的虚拟机已经接收到全部内存,迁移部分完成;本阶段将结束整个迁移活动;具体实施过程为:迁移代理MA0指示源平台P0删除相关信息,MA0移除容器清单,迁移结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210086611.7A CN114461340A (zh) | 2022-01-25 | 2022-01-25 | 一种基于可信计算的容器实时迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210086611.7A CN114461340A (zh) | 2022-01-25 | 2022-01-25 | 一种基于可信计算的容器实时迁移方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114461340A true CN114461340A (zh) | 2022-05-10 |
Family
ID=81410730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210086611.7A Pending CN114461340A (zh) | 2022-01-25 | 2022-01-25 | 一种基于可信计算的容器实时迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114461340A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501448A (zh) * | 2023-06-21 | 2023-07-28 | 内江师范学院 | 一种应用于多虚拟机的容器封装方法及装置 |
-
2022
- 2022-01-25 CN CN202210086611.7A patent/CN114461340A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501448A (zh) * | 2023-06-21 | 2023-07-28 | 内江师范学院 | 一种应用于多虚拟机的容器封装方法及装置 |
CN116501448B (zh) * | 2023-06-21 | 2023-09-01 | 内江师范学院 | 一种应用于多虚拟机的容器封装方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111541785B (zh) | 基于云计算的区块链数据处理方法及装置 | |
CN108768978B (zh) | 一种基于sgx的远端存储服务方法及*** | |
EP2278514B1 (en) | System and method for providing secure virtual machines | |
WO2021073170A1 (zh) | 数据提供和融合的方法及装置 | |
US9098318B2 (en) | Computational asset identification without predetermined identifiers | |
US10855465B2 (en) | Audited use of a cryptographic key | |
CN103038746A (zh) | 用于基础设施即服务云环境中的可信执行的方法和装置 | |
Alder et al. | Migrating SGX enclaves with persistent state | |
US20180131677A1 (en) | Balancing public and personal security needs | |
CN106462439A (zh) | 以持续所有者访问对加密虚拟机的安全传输 | |
CN103069428A (zh) | 不可信云基础设施中的安全虚拟机引导 | |
US10083128B2 (en) | Generating memory dumps | |
EP3333747A1 (en) | Methods and systems for detecting rollback attacks | |
Wan et al. | An improved vTPM migration protocol based trusted channel | |
CN108521424B (zh) | 面向异构终端设备的分布式数据处理方法 | |
EP2997692A1 (en) | Procedure for platform enforced secure storage in infrastructure clouds | |
CN111404896A (zh) | 一种基于sgx的非中心身份认证方法 | |
CN114461340A (zh) | 一种基于可信计算的容器实时迁移方法 | |
CN108616517B (zh) | 高可靠云平台服务提供方法 | |
US20230066427A1 (en) | Distributed trusted platform module key management protection for roaming data | |
US11405201B2 (en) | Secure transfer of protected application storage keys with change of trusted computing base | |
CN108449358B (zh) | 基于云的低延时安全计算方法 | |
Manferdelli et al. | The cloudproxy tao for trusted computing | |
WO2024050869A1 (zh) | 基于去中心化信任的公有云下tee状态连续性保护方法 | |
AU2016429414B2 (en) | Balancing public and personal security needs |
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 |