一种kvm虚拟机通信方法

文档序号:10572484阅读:827来源:国知局
一种kvm虚拟机通信方法
【专利摘要】本发明公开了一种KVM虚拟机通信方法,实现过程为:构建虚拟机交互模型,该虚拟机交互模型基于可信计算和KVM的共享内存建立;设置加密的专属安全可信信道和加密的内存伪地址,从而保障交互双方虚拟机的可信性和它们之外的其他虚拟机的隔离性,完成虚拟机的通信。该一种KVM虚拟机通信方法与现有技术相比,将可信计算与共享内存通信方法相结合应用到KVM虚拟机中,验证交互双方的可信性,从而建立可信信道;采用加密共享内存的伪地址而非单纯加密传输内容,相比传统的方法更具灵活性和可信性,从而有效防止入侵者通过攻击虚拟机而访问共享内存而导致的安全问题,实用性强,易于实现,易于推广。
【专利说明】
一种KVM虚拟机通信方法
技术领域
[0001]本发明涉及计算机通信技术领域,具体地说是一种实用性强、KVM虚拟机通信方法。
【背景技术】
[0002]目前,一般的KVM虚拟机主要优化了虚拟机间的通信效率,而其应用的安全策略过于笼统,并未保障虚拟机的可信性。
[0003]如图1所示,是目前流行的KVM虚拟机共享内存的架构模型。该架构结合Virt1半虚拟化模型,从而有效提高了虚拟机的通信效率,然而该架构模式下的共享内存的实现并没有进行安全性保护,入侵者一旦入侵虚拟机,便可以假冒其他虚拟机操作共享内存或窃取及修改通信内容。
[0004]随着云计算和虚拟化的发展,处于同一物理主机上的虚拟机间的通信安全问题越来越多,针对云计算安全中的KVM虚拟化安全问题,本专利提出一种基于共享内存和可信信道的KVM虚拟机通信方法,此专利将可信计算和共享内存机制融入KVM虚拟化,从而有效保障KVM虚拟机之间通信的可信性和安全性。

【发明内容】

[0005]本发明的技术任务是针对以上不足之处,提供一种实用性强、KVM虚拟机通信方法。
[0006]—种KVM虚拟机通彳g方法,其具体实现过程为:
构建虚拟机交互模型,该虚拟机交互模型基于可信计算和KVM的共享内存建立;
设置加密的专属安全可信信道和加密的内存伪地址,从而保障交互双方虚拟机的可信性和它们之外的其他虚拟机的隔离性,完成虚拟机的通信。
[0007]虚拟机交互模型中有两种虚拟机:Domain O的虚拟机MVM和Domain U的虚拟机VM,MVM为一个可信虚拟机,为其他虚拟机VM提供VTPM功能,并通过VTPM管理器实现对VTPM的访问,每个MVM虚拟机中都部署一个包含秘钥管理模块、身份认证模块和动态度量机制的TCB模块,从而保障运行环境的可信性。
[0008]在建立虚拟机时,MVM的秘钥管理模块为其生成公钥和私钥,并将私钥分配给虚拟机,公钥保存在秘钥管理模块中;
虚拟机请求共享内存时,首先进行请求虚拟机的身份验证;
验证通过后,密钥管理模块将加密后的内存信息从源虚拟机中发送给目标虚拟机,这里的目标虚拟机即为上述请求虚拟机;
目标虚拟机接收到内存信息后进行解密,确定信息未被篡改后,完成通信。
[0009]请求虚拟机的身份验证过程为:
请求虚拟机将自己分配到的私钥和内存的伪地址进行数字签名,通过QEMU将签名后的伪地址、伪地址、目标虚拟机ID转发给MVM虚拟机的秘钥管理模块,秘钥管理模块根据源虚拟机ID查找其对应的公钥,并对签名后的伪地址进行解密,再与伪地址进行对比,若一致则请求未被篡改;然后再根据动态度量值参考表验证程序的度量值是否变化,若未变化说明请求可信,可以继续;完成上述两项对比后,即完成请求虚拟机的身份验证。
[0010]发送加密信息给目标虚拟机的过程为:
完成请求虚拟机的身份验证后,秘钥管理模块使用目的虚拟机ID对应的公钥对内存伪地址进行加密,并对内存中的内容进行加密,然后发加密内存内容、加密的内存伪地址、源虚拟机ID给目标虚拟机,从而保证信道的可信。
[0011]目标虚拟机的解密过程为:
目标虚拟机使用私钥解密加密的内存伪地址,获取伪地址,并读取内存中的内容,然后使用相同的散列算法计算加密内存内容看是否和收到的加密内存内容一致,若一致说明共享内存中的信息未被篡改,从而完成信息通信。
[0012]本发明的一种KVM虚拟机通信方法,具有以下优点:
该发明的一种KVM虚拟机通信方法将可信计算与共享内存通信方法相结合应用到KVM虚拟机中,验证交互双方的可信性,从而建立可信信道;采用加密共享内存的伪地址而非单纯加密传输内容,相比传统的方法更具灵活性和可信性,从而有效防止入侵者通过攻击虚拟机而访问共享内存而导致的安全问题,保证了虚拟机间通信交互过程中信息的安全性,具有通用性,实用性强,易于实现,易于推广。
【附图说明】
[0013]附图1为现有KVM虚拟机共享内存的架构图。
[0014]附图2为本发明的虚拟机交互架构图。
[0015]附图3为虚拟机间共享内存可信通道的建立过程图。
【具体实施方式】
[0016]下面结合附图及具体实施例对本发明作进一步说明。
[0017]一种KVM虚拟机通信方法,以可信计算为基础,通过KVM的共享内存机制,采用加密的专属安全可信信道和加密的内存伪地址,从而保障交互双方虚拟机的可信性和它们之外的其他虚拟机的隔离性。
[0018]其具体实现过程为:
构建虚拟机交互模型,该虚拟机交互模型基于可信计算和KVM的共享内存建立;
设置加密的专属安全可信信道和加密的内存伪地址,从而保障交互双方虚拟机的可信性和它们之外的其他虚拟机的隔离性,完成虚拟机的通信。
[0019]在建立虚拟机时,MVM的秘钥管理模块为其生成公钥和私钥,并将私钥分配给虚拟机,公钥保存在秘钥管理模块中;
虚拟机请求共享内存时,首先进行请求虚拟机的身份验证;
验证通过后,密钥管理模块将加密后的内存信息从源虚拟机中发送给目标虚拟机,这里的目标虚拟机即为上述请求虚拟机;
目标虚拟机接收到内存信息后进行解密,确定信息未被篡改后,完成通信。
[0020]具体为: 如附图2、图3所示,将图1的模型与将可信平台模块(TPM)相结合,构建出基于可信计算和共享内存的虚拟机交互模型。该模型中共有两种虚拟机:Domain O的虚拟机MVM和DomainU的虚拟机VM,MVM为一个可信虚拟机,为其他VM提供VTPM功能,并通过VTPM管理器实现对VTPM的访问。每个虚拟机中都要部署一个包含秘钥管理、身份认证和动态度量机制的TCB模块,从而保障运行环境的可信性。
[0021]虚拟机请求共享内存时,将自己分配到的私钥和内存的伪地址(LAdrress )进行数字签名,即 SHA-1 (LAdrress),通过QEMU将信息{ SHA-1(LAdrress) ,LAdrress,目标虚拟机ID}转发给秘钥管理模块,秘钥管理模块根据源虚拟机ID查找其对应的公钥KUi,并对SHA-1(LAdrress)进行解密KUi(SHA-1 (LAdrress)),再与LAdrress进行对比,若一致则请求未被篡改。然后再根据动态度量值参考表验证程序的度量值是否变化,若未变化说明请求可信,可以继续。
[0022]完成以上请求虚拟机的身份验证后,秘钥管理使用目的虚拟机ID对应的公钥KUj对内存伪地址LAdrress进行加密KUj(LAdrress),并对内存中的内容Message进行加密SHA-1(Message),然后发信息{ SHA-1(Message) ,KUj(LAdrress),源虚拟机ID}给目标虚拟机,从而保证信道的可信。
[0023]目标虚拟机使用私钥KRj解密KUj(LAdrress)获取LAdrress,并读取内存中的内容Mss,然后使用相同的散列算法计算SHA-1 (Mss)看是否和收到的SHA-1 (Message)—致,若一致说明共享内存中的信息未被篡改。
[0024]上述【具体实施方式】仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述【具体实施方式】,任何符合本发明的一种KVM虚拟机通信方法的权利要求书的且任何所述技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
【主权项】
1.一种KVM虚拟机通信方法,其特征在于,实现过程为: 构建虚拟机交互模型,该虚拟机交互模型基于可信计算和KVM的共享内存建立; 设置加密的专属安全可信信道和加密的内存伪地址,从而保障交互双方虚拟机的可信性和它们之外的其他虚拟机的隔离性,完成虚拟机的通信。2.根据权利要求1所述的一种KVM虚拟机通信方法,其特征在于,虚拟机交互模型中有两种虚拟机:Domain O的虚拟机MVM和Domain U的虚拟机VM,MVM为一个可信虚拟机,为其他虚拟机VM提供VTPM功能,并通过VTPM管理器实现对VTPM的访问,每个MVM虚拟机中都部署一个包含秘钥管理模块、身份认证模块和动态度量机制的TCB模块,从而保障运行环境的可信性。3.根据权利要求2所述的一种KVM虚拟机通信方法,其特征在于,在建立虚拟机时,MVM的秘钥管理模块为其生成公钥和私钥,并将私钥分配给虚拟机,公钥保存在秘钥管理模块中; 虚拟机请求共享内存时,首先进行请求虚拟机的身份验证; 验证通过后,密钥管理模块将加密后的内存信息从源虚拟机中发送给目标虚拟机,这里的目标虚拟机即为上述请求虚拟机; 目标虚拟机接收到内存信息后进行解密,确定信息未被篡改后,完成通信。4.根据权利要求3所述的一种KVM虚拟机通信方法,其特征在于,请求虚拟机的身份验证过程为: 请求虚拟机将自己分配到的私钥和内存的伪地址进行数字签名,通过QEMU将签名后的伪地址、伪地址、目标虚拟机ID转发给MVM虚拟机的秘钥管理模块,秘钥管理模块根据源虚拟机ID查找其对应的公钥,并对签名后的伪地址进行解密,再与伪地址进行对比,若一致则请求未被篡改;然后再根据动态度量值参考表验证程序的度量值是否变化,若未变化说明请求可信,可以继续;完成上述两项对比后,即完成请求虚拟机的身份验证。5.根据权利要求3所述的一种KVM虚拟机通信方法,其特征在于,发送加密信息给目标虚拟机的过程为: 完成请求虚拟机的身份验证后,秘钥管理模块使用目的虚拟机ID对应的公钥对内存伪地址进行加密,并对内存中的内容进行加密,然后发加密内存内容、加密的内存伪地址、源虚拟机ID给目标虚拟机,从而保证信道的可信。6.根据权利要求3所述的一种KVM虚拟机通信方法,其特征在于,目标虚拟机的解密过程为: 目标虚拟机使用私钥解密加密的内存伪地址,获取伪地址,并读取内存中的内容,然后使用相同的散列算法计算加密内存内容看是否和收到的加密内存内容一致,若一致说明共享内存中的信息未被篡改,从而完成信息通信。
【文档编号】H04L29/06GK105933123SQ201610263316
【公开日】2016年9月7日
【申请日】2016年4月26日
【发明人】杨晓娟
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1