一种密码设备虚拟化的方法及设备与流程

文档序号:14835449发布日期:2018-06-30 12:12阅读:209来源:国知局

本发明涉及信息安全领域,尤其涉及一种密码设备虚拟化的方法及设备。



背景技术:

虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台计算机,在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效。

云计算:是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。云是互联网和底层基础设施的抽象表示。云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的资源网络访问,资源包括网络、服务器、存储、应用软件、各种计算和数据服务等。

虚拟机:指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机监视器(Virtual Machine Monitor, VMM)是虚拟机技术的核心,它是一层位于操作系统和计算机硬件之间的代码,用来将硬件平台分割成多个虚拟机,它运行在特权模式,主要作用是隔离并且管理上层运行的多个虚拟机。仲裁它们对底层硬件的访问,并为每个客户操作系统虚拟一套独立于实际硬件的虚拟硬件环境(处理器、内存、I/O设备等)。虚拟机所运行的物理设备称为宿主机,宿主机可以运行自己的操作系统并对虚拟机进行管理。

容器:一种轻量级的虚拟化技术,容器为应用程序提供了隔离的运行空间,每个容器内都包含一个独享的完整的用户环境空间,并且一个容器内的变动不会影响其他容器的运行环境。容器之间共享一个操作系统内核,使用一些特殊的系统机制如Linux操作系统的namespaces来进行空间隔离。容器引擎(如Docker,类似于VMM)负责容器的全生命周期管理。

密码设备:为用户提供数据的对称/非对称加密解密、数据的完整性校验、数字签名和验证、密钥的生成和存储等密码相关服务的独立设备。密码设备具有密码运算部件和密钥存储部件两大组成部分。

由于云计算具有按需计算、弹性伸缩和多用户的特点,如果按照传统的使用方式,密码设备专属于某一个用户,就会出现密码运算能力忙闲不均的情况,可能多数时段密码运算能力过剩,业务高峰时段密码运算能力又不满足实时需求。针对这种情况,可以把一台物理的密码设备虚拟成多个逻辑上独立的密码设备,提供给不同的用户使用,对特定用户可以根据需要动态分配多个虚拟密码设备,忙时增加,闲时减少。由于多个用户使用同一台密码设备,必须解决密钥和密码运算过程及结果的隔离问题,以及对同一个密码运算部件和密钥存储部件的共享访问问题。



技术实现要素:

为了解决上述问题,本发明提出一种把提供密码运算和密钥管理等密码相关服务的密码设备,虚拟成多个逻辑独立的虚拟密码设备的方法及设备。

具体的技术方案是:

一种虚拟化的密码设备,其主要结构包含物理密码设备、管理模块、多个虚拟密码机和一个虚拟主控密码机;

其中,管理模块被配置用于虚拟密码机的管理操作;

每个虚拟密码机包含虚拟密码运算模块、虚拟密钥存储模块和虚拟机间安全通信模块;虚拟主控密码机包含密码主控模块和虚拟机间安全通信模块;物理密码设备以虚拟密码机为最小服务单位为用户提供密码服务。

作为一种改进,虚拟密码机与虚拟主控密码机通过虚拟交换机,使用相同的逻辑VLAN ID,进行数据与命令互交;不同虚拟密码机与虚拟主控密码机之间的数据与命令互交以不同的逻辑VLAN ID进行区别。

作为一种改进,管理模块运行于物理密码设备的操作系统或虚拟机监视器VMM或容器引擎;管理操作包括负责虚拟密码机的启动、镜像加载、迁移、停止、关闭、资源回收和空间清理。

本发明还提供了一种密码设备的虚拟化方法,包含以下步骤:

S1,物理密码设备上电,启动管理模块;

S2,管理模块配置基准密码运算和密钥存储容量,以及最大虚拟密码机数量;

S3,管理模块启动若干虚拟密码机;

S4,管理模块启动虚拟主控密码机;

S5,虚拟化的密码设备为用户提供服务。

作为一种改进,S3步骤中启动虚拟密码机方法包含如下子步骤:

S31,将物理密码设备的软件系统打包,用虚拟密码运算模块替换镜像文件中的密码运算部件的驱动程序,同时用虚拟密钥存储模块替换镜像文件中的密钥存储部件的驱动程序,形成镜像文件;

S32,管理模块启动虚拟机或容器;

S33,管理模块该虚拟机或容器加载步骤S31中的镜像文件;

S34,虚拟密码机启动成功。

作为一种改进,S4步骤中启动虚拟主控密码机的方法包含如下子步骤:

S41,物理密码设备启动虚拟机或容器;

S42,管理模块为该虚拟机或容器加载物理密码设备的密码运算部件;加载物理密码设备的密钥存储部件的驱动程序;

S43,虚拟主控密码机启动成功。

作为一种改进,S5步骤中为用户提供服务包含如下子步骤:

S51,物理密码设备接收到用户的密码服务请求,为用户分配一个或多个虚拟密码机;

S52,虚拟密码机的虚拟密码运算模块和虚拟密钥存储模块,经数据交换安全通道向虚拟主控密码机转发用户的密码服务请求;

S53,虚拟主控密码机经数据交换安全通道接收虚拟密码机提交的密码服务请求;调用物理密码运算部件和物理密钥存储部件,生成密码服务结果;

S54,虚拟主控密码机经数据交换安全通道向虚拟密码机传回密码服务结果,虚拟密码机通过物理密码设备向用户返回密码服务结果;

S55,密码服务完成。

作为一种优选,数据交换安全通道的建立步骤如下:

S61,该虚拟密码机向虚拟主控密码机注册,注册失败则返回错误信息,注册成功则执行下一步;

S62,虚拟主控密码机加载一个虚拟网络接口,与注册成功的虚拟密码机同时向虚拟交换机申请逻辑VLAN;虚拟交换机分配一个逻辑VLAN ID,所述虚拟网络接口与虚拟密码机配置此逻辑VLAN ID,建立起数据交换安全通道。

以上的密码服务方法既可以依赖前述的虚拟化的密码设备,也可以不依赖前述的虚拟化的密码设备。本发明的有益效果在于:本发明将提供密码运算和密钥管理等密码相关服务的密码设备,虚拟成多个逻辑独立的虚拟密码设备的方法及设备,使得密码设备可以在云计算环境中使用,满足云计算按需计算、弹性伸缩和多用户的特殊需求,同时提升了密码设备的安全性。

附图说明

图1是本发明的系统结构图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。

具体的,一种虚拟化的密码设备,其主要结构包含物理密码设备,以及运行于其上的管理模块、多个虚拟密码机和一个虚拟主控密码机;主要由虚拟密码运算模块、虚拟密钥存储模块、虚拟机间安全通信模块、密码主控模块、管理模块五个处理模块组成。

管理模块在虚拟机的宿主机操作系统或虚拟机监视器VMM上运行(启用虚拟机模式时)或容器引擎(启用容器模式时)上运行,负责虚拟密码机的启动、镜像加载、迁移、停止、关闭、资源回收和空间清理等管理操作;

每个虚拟密码机包含虚拟密码运算模块、虚拟密钥存储模块和虚拟机间安全通信模块;虚拟主控密码机包含密码主控模块和虚拟机间安全通信模块;

物理密码设备以虚拟密码机为最小服务单位为用户提供密码服务。

作为一种改进方案,虚拟密码机与虚拟主控密码机通过虚拟交换机,使用相同的逻辑VLAN ID,进行数据与命令互交;不同虚拟密码机与虚拟主控密码机之间的数据与命令互交以不同的逻辑VLAN ID进行区别。

作为一种改进方案,管理模块运行于物理密码设备的操作系统或虚拟机监视器VMM或容器引擎;管理操作包括负责虚拟密码机的启动、镜像加载、迁移、停止、关闭、资源回收和空间清理。

本发明还提供了一种密码设备的虚拟化方法,包含以下步骤:

一、物理密码机上电启动,加载本身操作系统,再加载管理模块。

二、根据本密码设备的密码部件最大运算能力和密钥最大存储能力,在物理密码设备上启动若干虚拟机或容器(同一物理密码设备上的虚拟密码设备采用同构机制,或者由虚拟机构成-虚拟机模式,或者由容器构成-容器模式);该虚拟密码机的基准密码运算和密钥存储容量,是根据用户对密码运算和密钥存储的最低或平均需求配置的;该虚拟化的密码设备支持的最大虚拟密码机数量,是根据本密码设备的密码部件最大运算能力和密钥最大存储能力所确定的。

三、物理密码设备的软件系统打包成虚拟机或容器的镜像文件,其中的密码运算部件和密钥存储部件的驱动程序由虚拟密码运算设备和虚拟密钥存储设备替换,以上的虚拟机或容器加载该镜像即成为处于待机状态的虚拟密码机;

四、启动一个特殊的虚拟机或容器,作为虚拟主控密码机,该虚拟机或容器加载物理密码设备密码运算部件和密钥存储部件的驱动程序,负责接收虚拟密码机的密码运算或密钥相关请求并调用物理密码运算部件或物理密钥存储部件。

五、该虚拟化的密码设备为用户提供服务,包含如下子步骤:

1.虚拟机监视器VMM或容器引擎读取虚拟主控密码机镜像并启动虚拟主控密码机,根据用户请求启动若干虚拟密码机;

2.虚拟密码机向虚拟主控密码机进行用户身份鉴别和注册,虚拟主控密码机为注册成功的虚拟密码机加载一个虚拟网络接口,并和虚拟密码机共同向虚拟交换机(运行在虚拟机监视器或宿主机系统或容器引擎)申请一个逻辑VLAN,建立安全通道;用户将虚拟密码机作为独享密码设备,通过传统密码服务调用接口进行密码运算和密钥管理操作的调用,虚拟密码机接受用户请求后,通过虚拟密码运算模块和虚拟密钥存储模块向虚拟主控密码机转发用户服务请求。

3.,虚拟主控密码机通过安全通道接收虚拟密码机的密码运算和密钥管理请求,调用物理密码运算部件和物理密钥存储部件进行相关密码运算和密钥管理操作。

4.虚拟主控密码机向虚拟密码机传回操作结果,虚拟密码机通过传统密码服务调用接口向用户提交密码服务结果。

5.服务完成。

作为一种优选方案,其中的数据交换安全通道的建立步骤如下:

虚拟机间安全通信模块负责在虚拟主控密码机和虚拟密码机之间建立数据和命令传输的安全通道。虚拟密码机需要向虚拟主控密码机进行用户身份鉴别和注册之后,才能建立安全通道。安全通道通过提供虚拟机间通信的虚拟交换机(vswitch)实现,每注册成功一个虚拟密码机,虚拟主控密码机都会加载一个虚拟网络接口,并和虚拟密码机共同向虚拟交换机(运行在虚拟机监视器或宿主机系统或容器引擎)申请一个逻辑VLAN,通过不同的VLAN隔离不同虚拟密码机和虚拟主控密码机的数据及命令交互。

此设备还具有以下特点:

1.以用户对密码运算和密钥存储的最低或平均需求为基准,虚拟密码机通过和虚拟主控密码机进行通信来执行密码运算和密钥管理相关操作并获取相关结果,对外则表现为具有独立网络地址、可独立工作、独立配置并提供密码相关服务的密码设备;虚拟主控密码机根据密码运算和密钥存储的基准对每个虚拟密码机的密码服务请求进行流量控制;同一用户根据需要可申请多个虚拟密码机,这些虚拟密码机构成密码机虚拟集群。

2.虚拟密码运算模块和虚拟密钥存储模块在虚拟密码机上以虚拟设备的方式运行,呈现给用户的视图和接口与物理的密码运算模块和密钥存储模块完全一致,通过虚拟密码运算模块和虚拟密钥存储模块的虚拟设备驱动程序实现密码运算和密钥管理操作的重定向,将密码运算和密钥管理请求重定向到虚拟主控密码机并传回相关结果。

通过以上方法和设备,把提供密码运算和密钥管理等密码相关服务的传统密码设备虚拟成多个逻辑独立的虚拟密码设备,使得密码设备可以在云计算环境中使用,满足了云计算按需计算、弹性伸缩和多用户的特殊需求并保障了密码设备的安全性。

以上的密码服务方法既可以依赖前述的虚拟化的密码设备,也可以不依赖前述的虚拟化的密码设备。

需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和单元并不一定是本申请所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM、RAM等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1