本发明涉及数据安全领域,特别涉及一种应用迁移方法,还涉及一种应用迁移装置、电子设备、计算机可读存储介质以及计算机程序产品。
背景技术:
1、机密计算是一种在受信任的硬件基础上配套固件和软件,构建加密、隔离、可证明的计算环境,保证环境内数据机密性和完整性、代码完整性以及运算过程机密性的计算模式。机密计算通常运行在可信执行环境中,通过软硬件方法在中央处理器中构建一个安全区域,保证其内部加载的程序和数据在机密性和完整性上得到保护。
2、在区块链领域,为实现各区块链节点之间的负载均衡、提高资源利用率、提高容错率、提供网络的扩展性,需要区块链节点迁移技术的支持。因此,研究区块链节点的迁移技术,对于构建高性能的区块链服务具有重要意义。然而,当区块链节点中存在基于机密计算的可信执行环境时,机密计算的迁移成为区块链节点迁移的难点。
3、因此,如何在区块链网络内的各个区块链节点之间实现机密计算环境的有效迁移是本领域技术人员亟待解决的问题。
技术实现思路
1、本发明的目的是提供一种应用迁移方法,该应用迁移方法可以在区块链网络内的各个区块链节点之间实现机密计算环境的有效迁移;本发明的另一目的是提供一种应用迁移装置、电子设备、计算机可读存储介质以及计算机程序产品,均具有上述有益效果。
2、第一方面,本发明提供了一种应用迁移方法,应用于待迁移应用所属的源节点,所述源节点和目标节点部署于业务区块链网络,所述方法包括:
3、发送第一远程证明至权威区块链网络进行上链存储,并通过所述业务区块链网络控制所述目标节点发送第二远程证明至所述权威区块链网络进行上链存储;
4、向所述权威区块链网络获取所述第二远程证明进行验证,获得第一验证结果,并确定所述目标节点对于所述第一远程证明的第二验证结果;
5、当所述第一验证结果和所述第二验证结果均为验证通过时,与所述目标节点协商确定迁移密钥;
6、利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点。
7、其中,发送第一远程证明至权威区块链网络进行上链存储,包括:
8、利用源控制器收集所述源机密计算环境的远程证明和所述源控制器的远程证明,生成所述第一远程证明;
9、将所述第一远程证明发送至所述权威区块链网络,以利用所述权威区块链网络中的第一智能合约对所述第一远程证明进行验证;
10、当验证通过后,将所述第一远程证明和所述第一远程证明的验证通过结果保存至所述权威区块链网络,以实现上链存储。
11、其中,所述第一远程证明包括环境执行代码参考值和硬件签名;
12、相应地,将所述第一远程证明发送至所述权威区块链网络,以利用所述权威区块链网络中的第一智能合约对所述第一远程证明进行验证,包括:
13、将所述第一远程证明发送至所述权威区块链网络,以使所述权威区块链网络利用所述第一智能合约中的预存参考值对所述环境执行代码参考值进行验证,利用所述第一智能合约中的远程证明服务对所述硬件签名进行验证。
14、其中,通过所述业务区块链网络控制所述目标节点发送第二远程证明至所述权威区块链网络进行上链存储,包括:
15、利用源控制器向所述业务区块链网络发起第一迁移交易,以使所述业务区块链网络利用第二智能合约向所述目标节点发起第二迁移交易,以便于所述目标节点创建目标控制器、目标机密计算环境、目标非机密计算环境,以及利用所述目标控制器收集所述第二远程证明并发送至所述权威区块链网络进行上链存储。
16、其中,所述应用迁移方法还包括:
17、利用所述业务区块链网络中的第二智能合约,通过预设共识算法将所述第一迁移交易和所述第二迁移交易进行上链存储。
18、其中,利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点,包括:
19、根据所述迁移密钥确定机密会话密钥、非机密会话密钥、加密会话密钥、非加密会话密钥;
20、利用所述机密会话密钥对所述源机密计算环境进行加密后迁移至所述目标节点;
21、利用所述非机密会话密钥对所述源非机密计算环境加密后迁移至所述目标节点;
22、利用所述非加密会话密钥对所述源静态非加密数据和所述源静态加密数据进行加密后迁移至所述目标节点;
23、利用所述加密会话密钥对所述源静态加密数据的加密密钥进行加密后迁移至所述目标节点。
24、其中,利用所述机密会话密钥对所述源机密计算环境进行加密后迁移至所述目标节点,包括:
25、利用源控制器中的预设迁移工具收集所述待迁移应用在所述源机密计算环境中的第一进程信息和内存信息;
26、基于所述源非机密计算环境中的预设迁移库,利用所述机密会话密钥对所述第一进程信息和所述内存信息加密后迁移至所述目标节点。
27、其中,利用源控制器中的预设迁移工具收集所述待迁移应用在所述源机密计算环境中的内存信息,包括:
28、对所述源机密计算环境对应的预设动态库进行解析,获得可信内存中各数据段的存储信息;
29、在所述源机密计算环境对应的预设文件中获得所述源机密计算环境的虚拟内存空间布局信息;
30、利用各所述数据段的存储信息和所述虚拟内存空间布局信息生成所述内存信息。
31、其中,基于所述源非机密计算环境中的预设迁移库,利用所述机密会话密钥对所述第二进程信息和所述内存信息加密后迁移至所述目标节点,包括:
32、基于所述源非机密计算环境中的预设迁移库执行目标函数,以利用所述机密会话密钥对所述第二进程信息和所述内存信息进行加密处理,获得加密信息;
33、将所述加密信息导出至所述源非机密计算环境,并从所述源非机密计算环境迁移至所述目标节点。
34、其中,利用所述非机密会话密钥对所述源非机密计算环境加密后迁移至所述目标节点,包括:
35、利用源控制器中的预设迁移工具收集所述待迁移应用在所述源非机密计算环境中的第二进程信息;
36、利用所述非机密会话密钥对所述第二进程信息加密后迁移至所述目标节点。
37、其中,利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点,还包括:
38、利用源控制器建立迁移智能合约,并向所述权威区块链网络发起所述迁移智能合约对应的第三迁移交易,以使所述目标节点响应所述第三迁移交易;
39、在所述第三迁移交易过程中,利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点。
40、其中,利用源控制器建立迁移智能合约,并向所述权威区块链网络发起所述迁移智能合约对应的第三迁移交易,以使所述目标节点响应所述第三迁移交易,包括:
41、利用所述源控制器建立第一哈希时间锁,并建立基于所述第一哈希时间锁的迁移智能合约;
42、向所述权威区块链网络发起所述迁移智能合约对应的第三迁移交易,以使所述目标节点响应所述第三迁移交易并建立第二哈希时间锁,以便所述权威区块链网络根据所述第一哈希时间锁和所述第二哈希时间锁验证应用迁移结果。
43、其中,当所述应用迁移结果为应用迁移成功时,所述源节点被所述权威区块链网络标记为不可用节点,所述目标节点被所述权威区块链网络标记为可用节点。
44、其中,当所述权威区块链网络在预设时间内接收到所述第二哈希时间锁的哈希信息,且所述哈希信息的哈希值与所述第二哈希时间锁的哈希值一致时,所述应用迁移结果为应用迁移成功。
45、其中,发送第一远程证明至权威区块链网络进行上链存储,包括:
46、当本地负载达到预设负载阈值时,发送所述第一远程证明至所述权威区块链网络进行上链存储。
47、其中,发送第一远程证明至权威区块链网络进行上链存储,包括:
48、当接收到系统升级指令时,发送所述第一远程证明至所述权威区块链网络进行上链存储。
49、第二方面,本发明还公开了一种应用迁移装置,应用于待迁移应用所属的源节点,所述源节点和目标节点部署于业务区块链网络,所述装置包括:
50、发送模块,用于发送第一远程证明至权威区块链网络进行上链存储,并通过所述业务区块链网络控制所述目标节点发送第二远程证明至所述权威区块链网络进行上链存储;
51、验证模块,用于向所述权威区块链网络获取所述第二远程证明进行验证,获得第一验证结果,并确定所述目标节点对于所述第一远程证明的第二验证结果;
52、协商模块,用于当所述第一验证结果和所述第二验证结果均为验证通过时,与所述目标节点协商确定迁移密钥;
53、迁移模块,用于利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点。
54、第三方面,本发明还公开了一种电子设备,包括:
55、存储器,用于存储计算机程序;
56、处理器,用于执行所述计算机程序时实现如上所述的任一种应用迁移方法的步骤。
57、第四方面,本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的任一种应用迁移方法的步骤。
58、第五方面,本发明还公开了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如上所述的任一种应用迁移方法的步骤。
59、本发明提供了一种应用迁移方法,应用于待迁移应用所属的源节点,所述源节点和目标节点部署于业务区块链网络,所述方法包括:发送第一远程证明至权威区块链网络进行上链存储,并通过所述业务区块链网络控制所述目标节点发送第二远程证明至所述权威区块链网络进行上链存储;向所述权威区块链网络获取所述第二远程证明进行验证,获得第一验证结果,并确定所述目标节点对于所述第一远程证明的第二验证结果;当所述第一验证结果和所述第二验证结果均为验证通过时,与所述目标节点协商确定迁移密钥;利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点。
60、应用本发明所提供的技术方案,创建权威区块链网络与业务区块链网络进行连接,用于帮助业务区块链网络实现内部各区块链节点之间的应用迁移,从而在各个区块链节点之间实现机密计算环境的有效迁移,对于业务区块链网络内需要进行应用迁移的源节点和目标节点,二者均可以将自身远程证明发送至权威区块链网络进行上链存储,并对彼此的远程证明进行验证,从而在双方验证通过后,利用二者之间协商的迁移密钥将源节点上的相关数据信息迁移至目标节点上,在此过程中,则实现了区块链网络内各个区块链节点之间关于机密计算环境的有效迁移。
61、本发明所提供的应用迁移装置、电子设备、计算机可读存储介质以及计算机程序产品,同样具有上述技术效果,本发明在此不再赘述。
1.一种应用迁移方法,其特征在于,应用于待迁移应用所属的源节点,所述源节点和目标节点部署于业务区块链网络,所述方法包括:
2.根据权利要求1所述的应用迁移方法,其特征在于,发送第一远程证明至权威区块链网络进行上链存储,包括:
3.根据权利要求2所述的应用迁移方法,其特征在于,所述第一远程证明包括环境执行代码参考值和硬件签名;
4.根据权利要求1所述的应用迁移方法,其特征在于,通过所述业务区块链网络控制所述目标节点发送第二远程证明至所述权威区块链网络进行上链存储,包括:
5.根据权利要求4所述的应用迁移方法,其特征在于,还包括:
6.根据权利要求1所述的应用迁移方法,其特征在于,利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点,包括:
7.根据权利要求6所述的应用迁移方法,其特征在于,利用所述机密会话密钥对所述源机密计算环境进行加密后迁移至所述目标节点,包括:
8.根据权利要求7所述的应用迁移方法,其特征在于,利用源控制器中的预设迁移工具收集所述待迁移应用在所述源机密计算环境中的内存信息,包括:
9.根据权利要求7所述的应用迁移方法,其特征在于,基于所述源非机密计算环境中的预设迁移库,利用所述机密会话密钥对所述第二进程信息和所述内存信息加密后迁移至所述目标节点,包括:
10.根据权利要求6所述的应用迁移方法,其特征在于,利用所述非机密会话密钥对所述源非机密计算环境加密后迁移至所述目标节点,包括:
11.根据权利要求1所述的应用迁移方法,其特征在于,利用所述迁移密钥将所述源节点中的源机密计算环境、源非机密计算环境、源静态加密数据、源静态非加密数据迁移至所述目标节点,包括:
12.根据权利要求11所述的应用迁移方法,其特征在于,利用源控制器建立迁移智能合约,并向所述权威区块链网络发起所述迁移智能合约对应的第三迁移交易,以使所述目标节点响应所述第三迁移交易,包括:
13.根据权利要求12所述的应用迁移方法,其特征在于,当所述应用迁移结果为应用迁移成功时,所述源节点被所述权威区块链网络标记为不可用节点,所述目标节点被所述权威区块链网络标记为可用节点。
14.根据权利要求12所述的应用迁移方法,其特征在于,当所述权威区块链网络在预设时间内接收到所述第二哈希时间锁的哈希信息,且所述哈希信息的哈希值与所述第二哈希时间锁的哈希值一致时,所述应用迁移结果为应用迁移成功。
15.根据权利要求1所述的应用迁移方法,其特征在于,发送第一远程证明至权威区块链网络进行上链存储,包括:
16.根据权利要求1所述的应用迁移方法,其特征在于,发送第一远程证明至权威区块链网络进行上链存储,包括:
17.一种应用迁移装置,其特征在于,应用于待迁移应用所属的源节点,所述源节点和目标节点部署于业务区块链网络,所述装置包括:
18.一种电子设备,其特征在于,包括:
19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至16任一项所述的应用迁移方法的步骤。
20.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至16任一项所述应用迁移方法的步骤。