虚拟机访问方法和设备与流程

文档序号:36961850发布日期:2024-02-07 13:06阅读:27来源:国知局
虚拟机访问方法和设备与流程

本发明涉及计算机,尤其涉及一种虚拟机访问方法和设备。


背景技术:

1、随着云计算技术的发展,各行业对云的使用率不断提高,对云的需求不断增加,虚拟化技术广泛应用于云计算环境中。云计算环境的特点是多个用户之间通过虚拟化技术共享硬件资源,这样就可能会带来潜在的数据安全问题。

2、目前,通过虚拟机加密来避免数据安全问题,通常使用硬件加密来隔离虚拟机之间的数据,可以为虚拟机提供更好的安全隔离保护,避免虚拟机访问不应该访问的数据,有效防止来自虚拟机监视器(virtual machine monitor,vmm)及其他虚拟机的攻击。虚拟机加密方案是通过对每个虚拟机提供独立的、由硬件加密保护的内存空间,保持数据的独立性和隐私性,保证数据不会被泄露和攻击。目前云计算的虚拟机加密技术仅支持少量密钥,可支持进行加密的虚拟机数量受限,不能很好的满足云业务对于虚拟机数量的需求。


技术实现思路

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、根据本发明提供的一种虚拟机访问方法,所述预设替换策略,包括以下至少一项:先进先出最近最少使用lru、最不经常使用lfu、先进先出fifo和随机替换策略。

47、根据本发明提供的一种虚拟机访问方法,所述处理器包括:密钥的生成和删除模块和密钥调入调出模块,所述方法还包括:

48、当所述虚拟机的生命周期结束,利用所述密钥生成和删除模块通过所述密钥调入调出模块删除所述第一密钥表和所述第二密钥表中的虚拟机密钥;所述第二密钥表的地址空间只允许所述密钥调入调出模块进行访问。

49、本发明还提供一种虚拟机访问装置,应用于电子设备,所述电子设备包括处理器和内存,所述处理器存储有第一密钥表,所述内存中存储有第二密钥表,所述第一密钥表和所述第二密钥表用于存储虚拟机号和虚拟机密钥的对应关系,所述装置包括:

50、获取模块,用于获取虚拟机的访问请求;

51、处理模块,用于根据所述访问请求对应的虚拟机号,确定所述第一密钥表是否包括所述虚拟机对应的虚拟机密钥;

52、所述处理模块,还用于若所述第一密钥表不包括所述虚拟机对应的虚拟机密钥,则根据所述访问请求对应的虚拟机号,从所述第二密钥表中获取所述虚拟机对应的虚拟机密钥;

53、所述处理模块,还用于利用所述虚拟机密钥对所述访问请求对应的数据进行加密或解密。

54、本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述虚拟机访问方法。

55、本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述虚拟机访问方法。

56、本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述虚拟机访问方法。

57、本发明提供的虚拟机访问方法和设备,首先,获取虚拟机的访问请求;根据所述访问请求对应的虚拟机号,确定所述第一密钥表是否包括所述虚拟机对应的虚拟机密钥;若所述第一密钥表不包括所述虚拟机对应的虚拟机密钥,则根据所述访问请求对应的虚拟机号,从所述第二密钥表中获取所述虚拟机对应的虚拟机密钥;并利用获取到的虚拟机密钥对所述访问请求对应的数据进行加密或解密,通过第一密钥表和第二密钥表中存储虚拟机密钥,能够支持对更多数量的虚拟机数据的安全保护,在保证虚拟机数据安全性的同时,不影响云计算用户虚拟机的性能。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1