一种实现虚拟机中访问PCI密码卡的方法及装置与流程

    专利2022-07-08  100


    本发明属于信息安全技术领域,具体涉及一种实现虚拟机中访问pci密码卡的方法及装置。



    背景技术:

    kvm-qemu,是一种linux系统下的虚拟化方案,kvm是linux内核提供的虚拟化架构,qemu是一个主机上的虚拟机控制器。

    virtio,是虚拟io半虚拟化技术。

    密码卡作为信息安全领域重要的基础设备,提供了一系列的信息安全基础功能,例如真随机数的生成、数据的加密解密、文件的签名验签、密码的生成和安全存储,通过搜集环境物理噪声生成的真随机数具有更高的安全性,基于硬件的加解密操作能够提供更快的速度,相较于基于软件的实现,密码卡能够提供更安全、可靠、高性能的密码运算服务,在一些关键的安全领域,例如ca系统、秘钥管理系统、vpn安全网关起到重要作用,广泛应用于政府、银行、证券、电子商务、电信等行业,pci密码卡是一种通过pci/pcie接口连接到计算机主板的密码卡。

    在信息安全领域,涉及到关键密码计算的服务,一般需要部署到安装有密码卡设备的物理服务器上,因为这些密码计算依赖于密码卡设备,这就增加了设备采购和运维成本。虽然当前已经有基于全虚拟化技术实现的在虚拟机中访问pci密码卡的方案,但是由于全虚拟化技术中涉及到数据传输链路长,数据在虚拟机和宿主机之间传输过程中拷贝次数多,导致虚拟机内部访问宿主机pci密码卡设备io性能损耗严重。

    此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种实现虚拟机中访问pci密码卡的方法及装置,是非常有必要的。



    技术实现要素:

    针对现有技术的上述虚拟机中访问pci密码卡采用全虚拟化技术导致数量链路长,数据在虚拟机和宿主机之间传输过程中拷贝次数多,导致虚拟机内部访问宿主机pci密码卡设备io性能损耗严重的缺陷,本发明提供一种实现虚拟机中访问pci密码卡的方法及装置,以解决上述技术问题。

    第一方面,本发明提供一种实现虚拟机中访问pci密码卡的方法,包括如下步骤:

    s1.为服务器配置pci密码卡的硬件软件环境,安装pci密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启cpu虚拟化;

    s2.在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟io模块及virtio后端驱动;

    s3.通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;

    s4.虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    进一步地,步骤s1具体步骤如下:

    s11.将pci密码卡安装到服务器的pci或者pcie插槽;

    s12.在服务器安装linux操作系统及pci密码卡设备驱动;

    s13.将配置完成pci密码卡硬件软件环境的服务器作为宿主机;

    s14.检查宿主机是否开启cpu虚拟化;

    若是,进入步骤s2;

    若否,进入步骤s15;

    s15.设置宿主机在bios下开启cpu虚拟化,进入步骤s2。

    进一步地,步骤s2具体步骤如下:

    s21.在宿主机安装qemu工具;

    s22.编译qemu工具,设置kvm模块及crypto密码模块功能开启;

    s23.判断kvm模块是否安装成功;

    若是,进入步骤s24;

    若否,返回步骤s22;

    s24.在宿主机启动qemu工具,添加cryptodev密码模块驱动参数及virtio虚拟io模块参数;

    s25.在宿主机linux操作系统安装virtio后端驱动。

    进一步地,步骤s3具体步骤如下:

    s31.通过qemu工具创建镜像,启动虚拟机;

    s32.判断虚拟机linux操作系统的内核是否满足版本要求;

    若是,进入步骤s33;

    若否,在虚拟机安装符合版本要求的linux操作系统内核,进入步骤s33;

    s33.判断虚拟机linux系统内核是否安装virtio前端驱动;

    若是,进入步骤s4;

    若否,在虚拟机linux系统内核安装virtio前端驱动,进入步骤s4。

    进一步地,步骤s4具体步骤如下:

    s41.判断虚拟机中应用是否要访问宿主机pci密码卡完整功能;

    若是,进入步骤s42;

    若否,进入步骤s44;

    s42.在虚拟机linux操作系统安装pci密码卡匹配的sdk模块;

    s43.虚拟机中应用通过sdk模块访问virtio前端驱动,进入步骤s45;

    s44.虚拟机中应用通过linux操作系统的cryptodev密码模块驱动参数访问virtio前端驱动;

    s45.virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    第二方面,本发明提供一种实现虚拟机中访问pci密码卡的装置,包括:

    pci密码卡环境配置模块,用于为服务器配置pci密码卡的硬件软件环境,安装pci密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启cpu虚拟化;

    qemu工具安装模块,用于在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟io模块及virtio后端驱动;

    虚拟机启动模块,用于通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;

    pci密码卡访问模块,用于设置虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    进一步地,pci密码卡环境配置模块包括:

    pci密码卡安装单元,用于将pci密码卡安装到服务器的pci或者pcie插槽;

    pci密码卡驱动安装单元,用于在服务器安装linux操作系统及pci密码卡设备驱动;

    宿主机设置单元,用于将配置完成pci密码卡硬件软件环境的服务器作为宿主机;

    cpu虚拟化开启检查单元,用于检查宿主机是否开启cpu虚拟化;

    cpu虚拟化开启单元,用于宿主机未开启cpu虚拟化时,设置宿主机在bios下开启cpu虚拟化。

    进一步地,qemu工具安装模块包括:

    qemu工具安装单元,用于在宿主机安装qemu工具;

    功能模块开启单元,用于编译qemu工具,设置kvm模块及crypto密码模块功能开启;

    kvm模块安装判断单元,用于判断kvm模块是否安装成功;

    参数添加单元,用于在kvm模块安装成功时,在宿主机启动qemu工具,添加cryptodev密码模块驱动参数及virtio虚拟io模块参数;

    virtio后端驱动安装单元,用于在宿主机linux操作系统安装virtio后端驱动。

    进一步地,虚拟机启动模块包括:

    虚拟机启动单元,用于通过qemu工具创建镜像,启动虚拟机;

    linux内核版本判断单元,用于判断虚拟机linux操作系统的内核是否满足版本要求;

    linux操作系统内核相应版本安装单元,用于虚拟机linux操作系统的内核不满足版本要求时,在虚拟机安装符合版本要求的linux操作系统内核;

    virtio前端驱动安装判断单元,用于判断虚拟机linux系统内核是否安装virtio前端驱动;

    virtio前端驱动安装单元,用于在虚拟机linux系统内核未安装virtio前端驱动,在虚拟机linux系统内核安装virtio前端驱动。

    进一步地,pci密码卡访问模块包括:

    pci密码卡功能访问判断单元,用于判断虚拟机中应用是否要访问宿主机pci密码卡完整功能;

    sdk模块安装单元,用于虚拟机中应用需要访问宿主机pci密码卡完整功能时,在虚拟机linux操作系统安装pci密码卡匹配的sdk模块;

    sdk模块访问前端驱动单元,用于设置虚拟机中应用通过sdk模块访问virtio前端驱动,进入步骤s45;

    cryptodev密码模块访问前端驱动单元,用于虚拟机中应用不需要访问宿主机pci密码卡完整功能,设置虚拟机中应用通过linux操作系统的cryptodev密码模块驱动参数访问virtio前端驱动;

    pci密码卡访问单元,用于设置virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    本发明的有益效果在于,

    本发明提供的实现虚拟机中访问pci密码卡的方法及装置,通过virtio虚拟io模块的半虚拟化技术,宿主机的virtio后端驱动由qemu实现,完成与pci密码卡设备的数据交互,同时在虚拟机机的操作系统安装virtio前端驱动,完成与用户态应用程序数据交互,最终virtio前端驱动和后端驱动之间数据交互通过virtio虚拟io模块来完成;宿主机的virtio后端驱动与pci密码卡的设备驱动完成数据交换,通过宿主机将pci密码卡的密码计算功能传递到virtio虚拟io模块,再到虚拟机;

    本发明利用virtio后端驱动与pci密码卡设备驱动交互,打通了虚拟机内应用于pci密码卡设备硬件通信链路;利用了virtio虚拟io模块的零拷贝计算,降低了虚拟机内应用访问外部pci密码卡设备的性能损耗;

    在虚拟机内部提供了外部pci密码卡不同等级的访问能力,对于轻量级的密码运算应用,可以通过linux操作系统的cryptodev密码模块利用pci密码卡的运算资源,对于安全级别更高的应用,可以调用设备厂家sdk模块实现对pci密码卡的全功能访问。

    此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。

    由此可见,本发明与现有技术相比,具有突出的实质性特点和显著进步,其实施的有益效果也是显而易见的。

    附图说明

    为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

    图1是本发明的方法流程示意图一;

    图2是本发明的方法流程示意图二;

    图3为本发明的系统示意图;

    图中,1-pci密码卡环境配置模块;1.1-pci密码卡安装单元;1.2-pci密码卡驱动安装单元;1.3-宿主机设置单元;1.4-cpu虚拟化开启检查单元;1.5-cpu虚拟化开启单元;2-qemu工具安装模块;2.1-qemu工具安装单元;2.2-功能模块开启单元;2.3-kvm模块安装判断单元;2.4-参数添加单元;2.5-virtio后端驱动安装单元;3-虚拟机启动模块;3.1-虚拟机启动单元;3.2-linux内核版本判断单元;3.3-linux操作系统内核相应版本安装单元;3.4-virtio前端驱动安装判断单元;3.5-virtio前端驱动安装单元;4-pci密码卡访问模块;4.1-pci密码卡功能访问判断单元;4.2-sdk模块安装单元;4.3-sdk模块访问前端驱动单元;4.4-cryptodev密码模块访问前端驱动单元;4.5-pci密码卡访问单元。

    具体实施方式

    为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

    实施例1:

    如图1所示,本发明提供一种实现虚拟机中访问pci密码卡的方法,包括如下步骤:

    s1.为服务器配置pci密码卡的硬件软件环境,安装pci密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启cpu虚拟化;

    s2.在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟io模块及virtio后端驱动;

    s3.通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;

    s4.虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    实施例2:

    如图2所示,本发明提供一种实现虚拟机中访问pci密码卡的方法,包括如下步骤:

    s1.为服务器配置pci密码卡的硬件软件环境,安装pci密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启cpu虚拟化;具体步骤如下:

    s11.将pci密码卡安装到服务器的pci或者pcie插槽;

    s12.在服务器安装linux操作系统及pci密码卡设备驱动;

    s13.将配置完成pci密码卡硬件软件环境的服务器作为宿主机;

    s14.检查宿主机是否开启cpu虚拟化;

    若是,进入步骤s2;

    若否,进入步骤s15;

    s15.设置宿主机在bios下开启cpu虚拟化,进入步骤s2;

    s2.在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟io模块及virtio后端驱动;具体步骤如下:

    s21.在宿主机安装qemu工具;

    s22.编译qemu工具,设置kvm模块及crypto密码模块功能开启;

    s23.判断kvm模块是否安装成功;

    若是,进入步骤s24;

    若否,返回步骤s22;

    s24.在宿主机启动qemu工具,添加cryptodev密码模块驱动参数及virtio虚拟io模块参数;

    s25.在宿主机linux操作系统安装virtio后端驱动;

    s3.通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;具体步骤如下:

    s31.通过qemu工具创建镜像,启动虚拟机;

    s32.判断虚拟机linux操作系统的内核是否满足版本要求;

    若是,进入步骤s33;

    若否,在虚拟机安装符合版本要求的linux操作系统内核,进入步骤s33;

    s33.判断虚拟机linux系统内核是否安装virtio前端驱动;

    若是,进入步骤s4;

    若否,在虚拟机linux系统内核安装virtio前端驱动,进入步骤s4;

    s4.虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速;具体步骤如下:

    s41.判断虚拟机中应用是否要访问宿主机pci密码卡完整功能;

    若是,进入步骤s42;

    若否,进入步骤s44;

    s42.在虚拟机linux操作系统安装pci密码卡匹配的sdk模块;

    s43.虚拟机中应用通过sdk模块访问virtio前端驱动,进入步骤s45;

    s44.虚拟机中应用通过linux操作系统的cryptodev密码模块驱动参数访问virtio前端驱动;

    s45.virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    实施例3:

    如图3所示,本发明提供一种实现虚拟机中访问pci密码卡的装置,包括:

    pci密码卡环境配置模块1,用于为服务器配置pci密码卡的硬件软件环境,安装pci密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启cpu虚拟化;pci密码卡环境配置模块1包括:

    pci密码卡安装单元1.1,用于将pci密码卡安装到服务器的pci或者pcie插槽;

    pci密码卡驱动安装单元1.2,用于在服务器安装linux操作系统及pci密码卡设备驱动;

    宿主机设置单元1.3,用于将配置完成pci密码卡硬件软件环境的服务器作为宿主机;

    cpu虚拟化开启检查单元1.4,用于检查宿主机是否开启cpu虚拟化;

    cpu虚拟化开启单元1.5,用于宿主机未开启cpu虚拟化时,设置宿主机在bios下开启cpu虚拟化;

    qemu工具安装模块2,用于在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟io模块及virtio后端驱动;qemu工具安装模块2包括:

    qemu工具安装单元2.1,用于在宿主机安装qemu工具;

    功能模块开启单元2.2,用于编译qemu工具,设置kvm模块及crypto密码模块功能开启;

    kvm模块安装判断单元2.3,用于判断kvm模块是否安装成功;

    参数添加单元2.4,用于在kvm模块安装成功时,在宿主机启动qemu工具,添加cryptodev密码模块驱动参数及virtio虚拟io模块参数;

    virtio后端驱动安装单元2.5,用于在宿主机linux操作系统安装virtio后端驱动;

    虚拟机启动模块3,用于通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;虚拟机启动模块3包括:

    虚拟机启动单元3.1,用于通过qemu工具创建镜像,启动虚拟机;

    linux内核版本判断单元3.2,用于判断虚拟机linux操作系统的内核是否满足版本要求;

    linux操作系统内核相应版本安装单元3.3,用于虚拟机linux操作系统的内核不满足版本要求时,在虚拟机安装符合版本要求的linux操作系统内核;

    virtio前端驱动安装判断单元3.4,用于判断虚拟机linux系统内核是否安装virtio前端驱动;

    virtio前端驱动安装单元3.5,用于在虚拟机linux系统内核未安装virtio前端驱动,在虚拟机linux系统内核安装virtio前端驱动;

    pci密码卡访问模块4,用于设置虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速;pci密码卡访问模块4包括:

    pci密码卡功能访问判断单元4.1,用于判断虚拟机中应用是否要访问宿主机pci密码卡完整功能;

    sdk模块安装单元4.2,用于虚拟机中应用需要访问宿主机pci密码卡完整功能时,在虚拟机linux操作系统安装pci密码卡匹配的sdk模块;

    sdk模块访问前端驱动单元4.3,用于设置虚拟机中应用通过sdk模块访问virtio前端驱动,进入步骤s45;

    cryptodev密码模块访问前端驱动单元4.4,用于虚拟机中应用不需要访问宿主机pci密码卡完整功能,设置虚拟机中应用通过linux操作系统的cryptodev密码模块驱动参数访问virtio前端驱动;

    pci密码卡访问单元4.5,用于设置virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    对于运行在虚拟机中的普通业务,如果涉及较多加密解密、签名验签的运算,将会给cpu带来较大的负载,此时可以利用宿主机上密码卡运算资源降低cpu负载压力,提高业务的整体处理能力;

    对于安全敏感的业务,需要依赖密码卡提供的安全秘钥存储、加解密运算功能,通过本发明可以将此类业务移植到虚拟机中运行,这样带来了更好的隔离环境,同时也节省了业务部署和运维成本。

    尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。


    技术特征:

    1.一种实现虚拟机中访问pci密码卡的方法,其特征在于,包括如下步骤:

    s1.为服务器配置pci密码卡的硬件软件环境,安装pci密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启cpu虚拟化;

    s2.在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟io模块及virtio后端驱动;

    s3.通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;

    s4.虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    2.如权利要求1所述的实现虚拟机中访问pci密码卡的方法,其特征在于,步骤s1具体步骤如下:

    s11.将pci密码卡安装到服务器的pci或者pcie插槽;

    s12.在服务器安装linux操作系统及pci密码卡设备驱动;

    s13.将配置完成pci密码卡硬件软件环境的服务器作为宿主机;

    s14.检查宿主机是否开启cpu虚拟化;

    若是,进入步骤s2;

    若否,进入步骤s15;

    s15.设置宿主机在bios下开启cpu虚拟化,进入步骤s2。

    3.如权利要求2所述的实现虚拟机中访问pci密码卡的方法,其特征在于,步骤s2具体步骤如下:

    s21.在宿主机安装qemu工具;

    s22.编译qemu工具,设置kvm模块及crypto密码模块功能开启;

    s23.判断kvm模块是否安装成功;

    若是,进入步骤s24;

    若否,返回步骤s22;

    s24.在宿主机启动qemu工具,添加cryptodev密码模块驱动参数及virtio虚拟io模块参数;

    s25.在宿主机linux操作系统安装virtio后端驱动。

    4.如权利要求3所述的实现虚拟机中访问pci密码卡的方法,其特征在于,步骤s3具体步骤如下:

    s31.通过qemu工具创建镜像,启动虚拟机;

    s32.判断虚拟机linux操作系统的内核是否满足版本要求;

    若是,进入步骤s33;

    若否,在虚拟机安装符合版本要求的linux操作系统内核,进入步骤s33;

    s33.判断虚拟机linux系统内核是否安装virtio前端驱动;

    若是,进入步骤s4;

    若否,在虚拟机linux系统内核安装virtio前端驱动,进入步骤s4。

    5.如权利要求1所述的实现虚拟机中访问pci密码卡的方法,其特征在于,步骤s4具体步骤如下:

    s41.判断虚拟机中应用是否要访问宿主机pci密码卡完整功能;

    若是,进入步骤s42;

    若否,进入步骤s44;

    s42.在虚拟机linux操作系统安装pci密码卡匹配的sdk模块;

    s43.虚拟机中应用通过sdk模块访问virtio前端驱动,进入步骤s45;

    s44.虚拟机中应用通过linux操作系统的cryptodev密码模块驱动参数访问virtio前端驱动;

    s45.virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    6.一种实现虚拟机中访问pci密码卡的装置,其特征在于,包括:

    pci密码卡环境配置模块(1),用于为服务器配置pci密码卡的硬件软件环境,安装pci密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启cpu虚拟化;

    qemu工具安装模块(2),用于在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟io模块及virtio后端驱动;

    虚拟机启动模块(3),用于通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;

    pci密码卡访问模块(4),用于设置虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    7.如权利要求6所述的实现虚拟机中访问pci密码卡的装置,其特征在于,pci密码卡环境配置模块(1)包括:

    pci密码卡安装单元(1.1),用于将pci密码卡安装到服务器的pci或者pcie插槽;

    pci密码卡驱动安装单元(1.2),用于在服务器安装linux操作系统及pci密码卡设备驱动;

    宿主机设置单元(1.3),用于将配置完成pci密码卡硬件软件环境的服务器作为宿主机;

    cpu虚拟化开启检查单元(1.4),用于检查宿主机是否开启cpu虚拟化;

    cpu虚拟化开启单元(1.5),用于宿主机未开启cpu虚拟化时,设置宿主机在bios下开启cpu虚拟化。

    8.如权利要求6所述的实现虚拟机中访问pci密码卡的装置,其特征在于,qemu工具安装模块(2)包括:

    qemu工具安装单元(2.1),用于在宿主机安装qemu工具;

    功能模块开启单元(2.2),用于编译qemu工具,设置kvm模块及crypto密码模块功能开启;

    kvm模块安装判断单元(2.3),用于判断kvm模块是否安装成功;

    参数添加单元(2.4),用于在kvm模块安装成功时,在宿主机启动qemu工具,添加cryptodev密码模块驱动参数及virtio虚拟io模块参数;

    virtio后端驱动安装单元(2.5),用于在宿主机linux操作系统安装virtio后端驱动。

    9.如权利要求6所述的实现虚拟机中访问pci密码卡的装置,其特征在于,虚拟机启动模块(3)包括:

    虚拟机启动单元(3.1),用于通过qemu工具创建镜像,启动虚拟机;

    linux内核版本判断单元(3.2),用于判断虚拟机linux操作系统的内核是否满足版本要求;

    linux操作系统内核相应版本安装单元(3.3),用于虚拟机linux操作系统的内核不满足版本要求时,在虚拟机安装符合版本要求的linux操作系统内核;

    virtio前端驱动安装判断单元(3.4),用于判断虚拟机linux系统内核是否安装virtio前端驱动;

    virtio前端驱动安装单元(3.5),用于在虚拟机linux系统内核未安装virtio前端驱动,在虚拟机linux系统内核安装virtio前端驱动。

    10.如权利要求6所述的实现虚拟机中访问pci密码卡的装置,其特征在于,pci密码卡访问模块(4)包括:

    pci密码卡功能访问判断单元(4.1),用于判断虚拟机中应用是否要访问宿主机pci密码卡完整功能;

    sdk模块安装单元(4.2),用于虚拟机中应用需要访问宿主机pci密码卡完整功能时,在虚拟机linux操作系统安装pci密码卡匹配的sdk模块;

    sdk模块访问前端驱动单元(4.3),用于设置虚拟机中应用通过sdk模块访问virtio前端驱动,进入步骤s45;

    cryptodev密码模块访问前端驱动单元(4.4),用于虚拟机中应用不需要访问宿主机pci密码卡完整功能,设置虚拟机中应用通过linux操作系统的cryptodev密码模块驱动参数访问virtio前端驱动;

    pci密码卡访问单元(4.5),用于设置virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过pci密码卡设备驱动访问宿主机pci密码卡进行加解密的加速。

    技术总结
    本发明提供一种实现虚拟机中访问PCI密码卡的方法及装置,所述方法包括如下步骤:S1.为服务器配置PCI密码卡的硬件软件环境,安装PCI密码卡及其设备驱动,将环境配置完成的服务器作为宿主机,并设置宿主机开启CPU虚拟化;S2.在宿主机安装qemu工具,并为qemu工具配置kvm模块、crypto密码模块、virtio虚拟IO模块及virtio后端驱动;S3.通过qemu工具创建镜像,并启动虚拟机,在虚拟机安装virtio前端驱动;S4.虚拟机中应用通过virtio前端驱动与宿主机中virtio后端驱动建立连接,再通过PCI密码卡设备驱动访问宿主机PCI密码卡进行加解密的加速。

    技术研发人员:李东世;苏广峰;郭敬宇
    受保护的技术使用者:苏州浪潮智能科技有限公司
    技术研发日:2020.11.23
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-21102.html

    最新回复(0)