【技术实现步骤摘要】
一种热迁移的方法、装置及电子设备
[0001]本专利技术涉及热迁移
,具体而言,涉及一种热迁移的方法、装置、电子设备及计算机可读存储介质。
技术介绍
[0002]Intel的SGX(Software Guard Extensions,软件防护扩展)是实现在第六代CPU之后的一组扩展指令集。SGX着眼于提供一个为用户应用程序提供可信的执行环境,为了达到这一目标,SGX使得应用程序在一段位于Enclave(飞地)地址空间中能够开辟一段受保护的内存空间,该内存空间一般称为EPC(Enclave Page Cache,飞地页缓存)。
[0003]然而,将SGX应用到云计算中存在一个具有挑战性的问题:现有SGX VMM(Virtual Machine Manager,虚拟机管理器,一种具有较高特权的软件)不提供实时迁移(也叫热迁移,live migration)。通常,在托管迁移中,源VMM将整个VM(Virtual Machin,虚拟机)的内存页传输到目标VMM,直到不同物理机器(源主机和目标主机)中的VM是一致的。然后,目标VMM启动迁移的VM,源VMM停止VM。为此,对于启用SGX的VM的托管动态迁移VMM应该将enclave内存页传输到目的地宿主。
[0004]然而,VMM不能像往常一样传输enclave页,因为SGX阻止VMM直接访问PRM(Preserved Random Memory,预留随机存储器)。英特尔公司2016年官方的SGX开发者指南提供了跨平台迁移enclave数据的指南,但该指 ...
【技术保护点】
【技术特征摘要】
1.一种热迁移的方法,其特征在于,包括:预先设置第一扩展指令集,并新增第一迁移密钥寄存器,所述第一扩展指令集包括存储指令和飞地资源搬出指令;根据与目标主机之间的通信消息生成源迁移主密钥,并基于所述存储指令将所述源迁移主密钥存入至所述第一迁移密钥寄存器中;基于所述飞地资源搬出指令读取所述第一迁移密钥寄存器中的所述源迁移主密钥,根据所述源迁移主密钥对待迁移飞地内存页进行加密处理,并基于所述飞地资源搬出指令搬出加密后的所述待迁移飞地内存页;将迁移数据发送至所述目标主机,所述迁移数据包括加密后的所述待迁移飞地内存页。2.根据权利要求1所述的方法,其特征在于,所述根据与目标主机之间的通信消息生成源迁移主密钥,包括:生成源密钥交换消息msg
S
,并执行本地认证生成源报告REPORT
S
;将所述源报告REPORT
S
发送至本地的引用飞地QE
S
,在所述源报告REPORT
S
有效时接收所述引用飞地QE
S
返回的源引用结构体QUOTE
S
;将所述源密钥交换消息msg
S
和所述源引用结构体QUOTE
S
发送至目标主机;接收所述目标主机反馈的目标密钥交换消息msg
D
和目标引用结构体QUOTE
D
,在所述目标引用结构体QUOTE
D
有效时,根据所述源密钥交换消息msg
S
和所述目标密钥交换消息msg
D
生成源迁移主密钥。3.根据权利要求1所述的方法,其特征在于,SGX飞地控制结构体中设有迁移属性,且只有待迁移飞地有权更改所述迁移属性的属性值;在所述基于所述存储指令将所述源迁移主密钥存入至所述第一迁移密钥寄存器中之前,所述方法还包括:将所述迁移属性的属性值修改为允许存储;在所述迁移属性的属性值为允许存储时,基于所述存储指令将所述源迁移主密钥存入至所述第一迁移密钥寄存器中。4.根据权利要求1所述的方法,其特征在于,所述根据所述源迁移主密钥对待迁移飞地内存页进行加密处理,包括:根据所述源迁移主密钥生成源迁移密钥MK
S
和源初始向量IV
S
,且MK
S
=KDF(MMK
S
,C
MK
),IV
S
=KDF(MMK
S
,C
IV
);其中,MMK
S
为源迁移主密钥,C
MK
为迁移密钥常数,C
IV
为初始向量常数,KDF(
·
)表示密钥生成函数;根据所述源迁移密钥和所述源初始向量对待迁移飞地内存页进行加密处理。5.根据权利要求1所述的方法,其特征在于,在所述将迁移数据发送至所述目标主机之前,还包括:在本地的不可信内存中为所述待迁移飞地内存页和与所述待迁移飞地内存页相对应的页面加密元数据分别分配相应的第一地址和第二地址;将加密后的所述待迁移飞地内存页存入至所述第一地址,将所述页面加密元数据存入至所述第二地址,并根据加密后的所述待迁移飞地内存页和加密后的所述页面加密元数据生成迁移数据。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述第一扩展指令集还包括:飞地资源加载指令;所述方法还包括:根据与其他主机之间的通信消息生成目标迁移主密钥,并基于所述存储指令将所述目标迁移主密钥存入至所述第一迁移密钥寄存器中;获取到所述其他主机发送的迁移数据,基于所述飞地资源加载指令读取所述第二迁移密钥寄存器中的所述目标迁移主密钥;所述迁移数据包括加密后的所述其他主机的待迁移飞地内存页;根据所述目标迁移主密钥对所述其他主机发送的迁移数据进行解密处理,提取并存储所述其他主机的待迁移飞地内存页。7.一种热迁移的方法,其特征在于,包括:预先设置第二扩展指令集,并新增第二迁移密钥寄存器,所述第二扩展指令集包括存储指令和飞地资源加载指令;根据与源主机之间的通信消息生成目标迁移主密钥,并基于所述存储指令将所述目标迁移主密钥存入至所述第二迁移密钥寄存器中;获取到所述源主机发送的迁移数据,基于所述飞地资源加载指令读取所述第二迁移密钥寄存器中的所述目标迁移主密...
【专利技术属性】
技术研发人员:吴良顺,
申请(专利权)人:卓尔智联武汉研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。