CN117592133A - Vsm的密码部件隔离方法、系统、设备及存储介质 - Google Patents
Vsm的密码部件隔离方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN117592133A CN117592133A CN202311589442.XA CN202311589442A CN117592133A CN 117592133 A CN117592133 A CN 117592133A CN 202311589442 A CN202311589442 A CN 202311589442A CN 117592133 A CN117592133 A CN 117592133A
- Authority
- CN
- China
- Prior art keywords
- vsm
- card
- password
- cryptographic
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000002955 isolation Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 24
- 238000004891 communication Methods 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 4
- 238000013468 resource allocation Methods 0.000 claims description 3
- 238000013461 design Methods 0.000 abstract description 5
- 210000002464 muscle smooth vascular Anatomy 0.000 description 5
- 238000001418 vibrating-sample magnetometry Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/77—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开一种VSM的密码部件隔离方法、系统、设备及存储介质,方法包括在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;在VSM启动后,将指定的密码卡设备接口分配给VSM,使得VSM在docker容器内部访问对应的密码卡设备接口;通过对应的所述密码卡设备接口访问所述密码卡内部分配给该VSM的资源;本发明通过单张密码卡在主机中可以实现多个设备接口和一个VSM独占一个密码卡设备接口的方式降低架构设计复杂度以及提高可靠性。
Description
技术领域
本发明涉及密码应用技术领域,具体涉及一种VSM的密码部件隔离方法、系统、设备及存储介质。
背景技术
在云服务器密码机中,通常只有一张物理密码卡,为了保障各VSM(VirtualSecurity Module,虚拟密码机)中密码数据的安全性和可靠性,各VSM之间的密码部件要进行安全隔离与共享。当不采用SRIOV等硬件虚拟化技术进行密码部件的共享时,则只能采用软件虚拟化技术。传统的软件虚拟化技术中,不同的虚拟密码机一般通过统一的API中间层对密码部件进行调用,这样会在软件设计中增加一个API中间层,会使得系统设计复杂,且一旦API中间层出现故障,那么将会影响所有的VSM都不能正常提供密码服务,可靠性也会降低。
在相关技术中,公布号为CN114238938A的专利申请文献中提出设置PCIE密码卡的虚拟化模式,虚拟化模式包括全部虚拟化和部分虚拟化;用户在与密码卡通信过程中通过传递变量vf_mode的值来选择部分虚拟化或全部虚拟化,全部虚拟化时,vf_mode设为1,将密码卡中分割出来的存储区一一映射给虚拟密码卡,部分虚拟化时,vf_mode设为0,密码卡内某一存储区映射给所有的虚拟密码卡;该方案是对密码卡全虚拟化和半虚拟化两种方式进行配置管理,会增加fd_mode的配置进行管理,配置成全部虚拟化或者部分虚拟化。公布号为CN111541646A的专利申请文献中提出主控进程创建并监控多个工作进程,工作进程绑定到若干个CPU核上,工作进程创建并管理服务线程池,工作进程配备共享资源,由进程所属服务线程池中的多个服务线程共享使用,并实现与其他工作进程之间的资源隔离;该方案通过软件实现,把建立的多个线程绑定到不同CPU上去,提高密码卡调用效率,与虚拟化不是一个概念。公布号为CN116074003A的专利申请文献中通过建立两级缓存,多密码卡进行操作,该方案采用软件方式,为了提高效率采用两级缓存。
发明内容
本发明所要解决的技术问题在于如何降低VSM的密码部件隔离架构设计复杂度以及提高可靠性。
本发明通过以下技术手段解决上述技术问题的:
本发明提出了一种VSM的密码部件隔离方法,所述方法包括:
在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
在VSM启动后,将指定的密码卡设备接口分配给VSM,使得VSM在docker容器内部访问对应的密码卡设备接口;
通过对应的所述密码卡设备接口访问所述密码卡内部分配给该VSM的资源。
进一步地,所述VSM采用docker容器实现虚拟化。
进一步地,所述将指定的密码卡设备接口分配给VSM,包括:
通过device命令将指定的密码卡设备接口分配给VSM。
进一步地,每个密码卡设备接口使用独立的通信队列,各所述密码卡设备接口之间相互隔离。
此外,本发明还提出了一种VSM的密码部件隔离系统,所述系统包括:
密码卡设备接口创建模块,用于在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
接口分配模块,用于在VSM启动后,将指定的密码卡设备接口分配给VSM,使得VSM在docker容器内部访问对应的密码卡设备接口;
资源分配模块,用于通过对应的所述密码卡设备接口访问所述密码卡内部分配给该VSM的资源。
进一步地,所述VSM采用docker容器实现虚拟化。
进一步地,所述接口分配模块,用于通过device命令将指定的密码卡设备接口分配给VSM。
进一步地,每个密码卡设备接口使用独立的通信队列,各所述密码卡设备接口之间相互隔离。
此外,本发明还提出了一种VSM的密码部件隔离设备,所述设备包括存储器、处理器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上所述的方法。
此外,本发明还提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的方法。
本发明的优点在于:
(1)本发明通过在宿主机上创建n个密码卡设备接口,每个密码卡设备接口对应一个通信队列,在启动VSM的时候,将指定的密码卡设备分配给VSM,一个VSM通过一个通信队列,访问对应分配的密码卡内资源;通过单张密码卡在主机中可以实现多个设备接口和一个VSM独占一个密码卡设备接口的方式降低架构设计复杂度以及提高可靠性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明一实施例提出的一种VSM的密码部件隔离方法的流程示意图;
图2是本发明一实施例中通信队列隔离原理示意图;
图3是本发明一实施例提出的一种VSM的密码部件隔离系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明第一实施例公开了一种VSM的密码部件隔离方法,所述方法包括以下步骤:
S10、在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
本实施例中,密码卡的存储区域分割出来的存储区,是和创建出来的密码卡设备接口(虚拟密码卡)一一对应的,在宿主机上有一个虚拟密码机管理系统,虚拟密码机创建之后,该管理系统会分配一个未被使用的密码卡设备接口给虚拟密码机,以达到每个虚拟密码机访问各自在密码卡上的存储区域。
S20、在VSM启动后,将指定的密码卡设备接口分配给VSM,使得VSM在docker容器内部访问对应的密码卡设备接口;
S30、通过对应的所述密码卡设备接口访问所述密码卡内部分配给该VSM的资源。
本实施例通过在宿主机上创建n个密码卡设备接口,每个密码卡设备接口对应一个通信队列,在启动VSM的时候,将指定的密码卡设备分配给VSM,一个VSM通过一个通信队列,访问对应分配的密码卡内资源;通过单张密码卡在主机中可以实现多个设备接口和一个VSM(独占一个密码卡设备接口的方式降低架构设计复杂度以及提高可靠性。且本实施例直接通过通信队列与虚拟机通信,不需要两级缓存,避免了两级缓存占用内存资源,且软件设计复杂的问题。
在一实施例中,所述VSM采用docker容器实现虚拟化。
需要说明的是,虚拟密码机有kvm的虚拟化方式和docker的虚拟化方式,采用docker的虚拟化方式是因为Docker相对于KVM有以下几个优势:
(1)轻量级:Docker容器相对于KVM虚拟机更为轻量级,启动速度更快,能够实现秒级启动。这使得Docker在处理快速部署和扩展方面更为灵活和高效。
(2)资源利用率:Docker容器的资源利用率更高,而KVM虚拟机通常需要更多的资源。这使得Docker在提高资源利用率和降低成本方面具有优势。
(3)性能开销:Docker容器是在操作系统层面上实现虚拟化,直接复用本地主机的操作系统,因此性能开销相对较小。而KVM是硬件级别的虚拟化技术,需要额外的CPU和内存来完成OS的功能,性能开销相对较大。
(4)容器化应用:Docker可以轻松实现容器的应用,使得应用的打包、部署和扩展变得更加简单和高效。而KVM在处理容器的应用方面相对较复杂,需要更多的配置和管理。
进一步地,本实施例中docker容器实现密码机虚拟化的步骤包括:
(1)制作虚拟密码机的基础镜像。
(2)编写Dockerfile文件,把应用程序,依赖的库文件以及脚本等等一起打包,构建虚拟密码机镜像。
(3)在虚拟密码机启动的之后,创建虚拟网卡,通过虚拟网卡和外界通信。
在一实施例中,所述将指定的密码卡设备接口分配给VSM,包括:
通过device命令将指定的密码卡设备接口分配给VSM。
具体地,VSM采用用docker容器实现虚拟化,在启动VSM的时候通过“--device”命令选项将指定的密码卡设备分配给VSM,这样一个VSM独占一个密码卡设备接口。启动VSM,然后就可以在容器内部访问密码卡设备接口,实现不同VSM之间密码部件的隔离。
在一实施例中,每个密码卡设备接口使用独立的通信队列,各通信队列之间相互隔离。
不同的VSM通过分配的不同的密码卡通信队列接口访问密码卡内部分配给该虚拟机的资源,以达到不同的VSM之间使用资源隔离,如图2所示。
此外,如图3所示,本发明第二实施例还公开了一种VSM的密码部件隔离系统,所述系统包括:
密码卡设备接口创建模块10,用于在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
接口分配模块20,用于在VSM启动后,将指定的密码卡设备接口分配给VSM,使得VSM在docker容器内部访问对应的密码卡设备接口;
资源分配模块30,用于通过对应的所述密码卡设备接口访问所述密码卡内部分配给该VSM的资源。
在一实施例中,所述VSM采用docker容器实现虚拟化。
在一实施例中,所述接口分配模块,用于通过device命令将指定的密码卡设备接口分配给VSM。
在一实施例中,每个密码卡设备接口使用独立的通信队列,各所述密码卡设备接口之间相互隔离。
此外,本发明第三实施例还公开了一种VSM的密码部件隔离设备,所述设备包括存储器、处理器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如上所述的VSM的密码部件隔离方法。
此外,本发明第四实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上所述的VSM的密码部件隔离方法。
需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种VSM的密码部件隔离方法,其特征在于,所述方法包括:
在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
在VSM启动后,将指定的密码卡设备接口分配给VSM,使得VSM在docker容器内部访问对应的密码卡设备接口;
通过对应的所述密码卡设备接口访问所述密码卡内部分配给该VSM的资源。
2.如权利要求1所述的VSM的密码部件隔离方法,其特征在于,所述VSM采用docker容器实现虚拟化。
3.如权利要求1所述的VSM的密码部件隔离方法,其特征在于,所述将指定的密码卡设备接口分配给VSM,包括:
通过device命令将指定的密码卡设备接口分配给VSM。
4.如权利要求1所述的VSM的密码部件隔离方法,其特征在于,每个密码卡设备接口使用独立的通信队列,各通信队列之间相互隔离。
5.一种VSM的密码部件隔离系统,其特征在于,所述系统包括:
密码卡设备接口创建模块,用于在配置有加密卡的宿主机上加载密码卡驱动,并基于所述加密卡内的n个通信队列创建对应的n个密码卡设备接口;
接口分配模块,用于在VSM启动后,将指定的密码卡设备接口分配给VSM,使得VSM在docker容器内部访问对应的密码卡设备接口;
资源分配模块,用于通过对应的所述密码卡设备接口访问所述密码卡内部分配给该VSM的资源。
6.如权利要求5所述的VSM的密码部件隔离系统,其特征在于,所述VSM采用docker容器实现虚拟化。
7.如权利要求5所述的VSM的密码部件隔离系统,其特征在于,所述接口分配模块,用于通过device命令将指定的密码卡设备接口分配给VSM。
8.如权利要求5所述的VSM的密码部件隔离系统,其特征在于,每个密码卡设备接口使用独立的通信队列,各所述密码卡设备接口之间相互隔离。
9.一种VSM的密码部件隔离设备,其特征在于,所述设备包括存储器、处理器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-4中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589442.XA CN117592133A (zh) | 2023-11-22 | 2023-11-22 | Vsm的密码部件隔离方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589442.XA CN117592133A (zh) | 2023-11-22 | 2023-11-22 | Vsm的密码部件隔离方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117592133A true CN117592133A (zh) | 2024-02-23 |
Family
ID=89917956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311589442.XA Pending CN117592133A (zh) | 2023-11-22 | 2023-11-22 | Vsm的密码部件隔离方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117592133A (zh) |
-
2023
- 2023-11-22 CN CN202311589442.XA patent/CN117592133A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
EP3073374B1 (en) | Thread creation method, service request processing method and related device | |
US10572290B2 (en) | Method and apparatus for allocating a physical resource to a virtual machine | |
US10191759B2 (en) | Apparatus and method for scheduling graphics processing unit workloads from virtual machines | |
US7620953B1 (en) | System and method for allocating resources of a core space among a plurality of core virtual machines | |
US11928493B2 (en) | Sharing of FPGA board by multiple virtual machines | |
CN113312142B (zh) | 虚拟化处理系统、方法、装置及设备 | |
CN106354687B (zh) | 一种数据传输方法及系统 | |
CN103577345A (zh) | 提高由多个系统共享的存储高速缓存灵活性的方法和结构 | |
US20210042045A1 (en) | Storage system and resource allocation control method | |
US11842218B2 (en) | Computing resource allocation for virtual network functions | |
US9755986B1 (en) | Techniques for tightly-integrating an enterprise storage array into a distributed virtualized computing environment | |
WO2023236397A1 (zh) | 密钥管理方法、密钥管理装置、密钥管理设备及存储介质 | |
US11360824B2 (en) | Customized partitioning of compute instances | |
CN102413183A (zh) | 云智能交换机及其处理方法、系统 | |
CN108984270B (zh) | 一种虚拟机的内存分配方法和装置 | |
CN116578416B (zh) | 一种基于gpu虚拟化的信号级仿真加速方法 | |
US20200201691A1 (en) | Enhanced message control banks | |
CN117453242A (zh) | 一种虚拟机的应用更新方法、计算设备及计算系统 | |
CN114253704A (zh) | 一种分配资源的方法及装置 | |
CN107766122B (zh) | 一种宿主机的可用内存空间设置方法和装置 | |
CN117592133A (zh) | Vsm的密码部件隔离方法、系统、设备及存储介质 | |
US20170249173A1 (en) | Guest protection from application code execution in kernel mode | |
CN107562510A (zh) | 一种应用实例的管理方法及管理设备 | |
CN110704163A (zh) | 一种服务器及其虚拟化存储方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |