本发明涉及密码应用,具体涉及一种vsm的密码部件隔离方法、系统、设备及存储介质。
背景技术:
1、在云服务器密码机中,通常只有一张物理密码卡,为了保障各vsm(virtualsecurity module,虚拟密码机)中密码数据的安全性和可靠性,各vsm之间的密码部件要进行安全隔离与共享。当不采用sriov等硬件虚拟化技术进行密码部件的共享时,则只能采用软件虚拟化技术。传统的软件虚拟化技术中,不同的虚拟密码机一般通过统一的api中间层对密码部件进行调用,这样会在软件设计中增加一个api中间层,会使得系统设计复杂,且一旦api中间层出现故障,那么将会影响所有的vsm都不能正常提供密码服务,可靠性也会降低。
2、在相关技术中,公布号为cn114238938a的专利申请文献中提出设置pcie密码卡的虚拟化模式,虚拟化模式包括全部虚拟化和部分虚拟化;用户在与密码卡通信过程中通过传递变量vf_mode的值来选择部分虚拟化或全部虚拟化,全部虚拟化时,vf_mode设为1,将密码卡中分割出来的存储区一一映射给虚拟密码卡,部分虚拟化时,vf_mode设为0,密码卡内某一存储区映射给所有的虚拟密码卡;该方案是对密码卡全虚拟化和半虚拟化两种方式进行配置管理,会增加fd_mode的配置进行管理,配置成全部虚拟化或者部分虚拟化。公布号为cn111541646a的专利申请文献中提出主控进程创建并监控多个工作进程,工作进程绑定到若干个cpu核上,工作进程创建并管理服务线程池,工作进程配备共享资源,由进程所属服务线程池中的多个服务线程共享使用,并实现与其他工作进程之间的资源隔离;该方案通过软件实现,把建立的多个线程绑定到不同cpu上去,提高密码卡调用效率,与虚拟化不是一个概念。公布号为cn116074003a的专利申请文献中通过建立两级缓存,多密码卡进行操作,该方案采用软件方式,为了提高效率采用两级缓存。
技术实现思路
1、本发明所要解决的技术问题在于如何降低vsm的密码部件隔离架构设计复杂度以及提高可靠性。
2、本发明通过以下技术手段解决上述技术问题的:
3、本发明提出了一种vsm的密码部件隔离方法,所述方法包括:
4、在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
5、在vsm启动后,将指定的密码卡设备接口分配给vsm,使得vsm在docker容器内部访问对应的密码卡设备接口;
6、通过对应的所述密码卡设备接口访问所述密码卡内部分配给该vsm的资源。
7、进一步地,所述vsm采用docker容器实现虚拟化。
8、进一步地,所述将指定的密码卡设备接口分配给vsm,包括:
9、通过device命令将指定的密码卡设备接口分配给vsm。
10、进一步地,每个密码卡设备接口使用独立的通信队列,各所述密码卡设备接口之间相互隔离。
11、此外,本发明还提出了一种vsm的密码部件隔离系统,所述系统包括:
12、密码卡设备接口创建模块,用于在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
13、接口分配模块,用于在vsm启动后,将指定的密码卡设备接口分配给vsm,使得vsm在docker容器内部访问对应的密码卡设备接口;
14、资源分配模块,用于通过对应的所述密码卡设备接口访问所述密码卡内部分配给该vsm的资源。
15、进一步地,所述vsm采用docker容器实现虚拟化。
16、进一步地,所述接口分配模块,用于通过device命令将指定的密码卡设备接口分配给vsm。
17、进一步地,每个密码卡设备接口使用独立的通信队列,各所述密码卡设备接口之间相互隔离。
18、此外,本发明还提出了一种vsm的密码部件隔离设备,所述设备包括存储器、处理器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上所述的方法。
19、此外,本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的方法。
20、本发明的优点在于:
21、(1)本发明通过在宿主机上创建n个密码卡设备接口,每个密码卡设备接口对应一个通信队列,在启动vsm的时候,将指定的密码卡设备分配给vsm,一个vsm通过一个通信队列,访问对应分配的密码卡内资源;通过单张密码卡在主机中可以实现多个设备接口和一个vsm独占一个密码卡设备接口的方式降低架构设计复杂度以及提高可靠性。
22、本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种vsm的密码部件隔离方法,其特征在于,所述方法包括:
2.如权利要求1所述的vsm的密码部件隔离方法,其特征在于,所述vsm采用docker容器实现虚拟化。
3.如权利要求1所述的vsm的密码部件隔离方法,其特征在于,所述将指定的密码卡设备接口分配给vsm,包括:
4.如权利要求1所述的vsm的密码部件隔离方法,其特征在于,每个密码卡设备接口使用独立的通信队列,各通信队列之间相互隔离。
5.一种vsm的密码部件隔离系统,其特征在于,所述系统包括:
6.如权利要求5所述的vsm的密码部件隔离系统,其特征在于,所述vsm采用docker容器实现虚拟化。
7.如权利要求5所述的vsm的密码部件隔离系统,其特征在于,所述接口分配模块,用于通过device命令将指定的密码卡设备接口分配给vsm。
8.如权利要求5所述的vsm的密码部件隔离系统,其特征在于,每个密码卡设备接口使用独立的通信队列,各所述密码卡设备接口之间相互隔离。
9.一种vsm的密码部件隔离设备,其特征在于,所述设备包括存储器、处理器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-4中任一项所述的方法。