摘要
本发明公开一种基于Libvirt和QEMU的虚拟机加密方法。属于云计算与虚拟技术领域。本发明扩展QEMU,增加QEMU对国密算法SM1、SM4的支持,本发明修改QEMU模块,当qemu‑img命令执行时,根据‑‑object参数地址,设置‑‑object参数信息的回显为xxxxxxx,用于隐藏磁盘加密密钥。扩展Libvirt,运用国密算法SM9实现虚拟机一机一密,使用虚拟机的UUID作为国密SM9公钥产生秘钥对,SM9的私钥存储在加密芯片中,使用SM9公钥对虚拟机的加密秘钥和XML进行加密,通过调用加密芯片接口对虚拟机的加密秘钥和XML进行解密。本发明解决Libvirt的Secret和虚拟机XML泄露敏感信息问题,解决QEMU创建加密QCOW2文件时泄露秘钥问题,提升虚拟机磁盘文件加解密性能。