发明内容
本发明的目的在于提供一种基于云计算的虚拟化云密码机系统及其实现方法,本发明使得密码技术的使用更集中、规范,也更易于管理,从而确保了客户数据能得到最高的安全性,确保了密钥的安全性。
为实现上述目的,本发明采用的技术方案如下:
一种基于云计算的虚拟化云密码机系统,包括物理模块、代理服务模块、虚拟密码机和安全API接口,所述代理服务模块一端与物理模块建立双向通信连接,另一端与通过虚拟化技术隔离出来的若干个相互独立的虚拟密码机建立双向通信连接,其中,
所述物理模块包括数据库、系统权限管理单元和虚拟密码机管理单元,并分别对所述系统权限管理单元和所述虚拟密码机管理单元提供管理权限,进而将管理数据存储于所述数据库,并以密码服务的形式提供数据读取;
所述代理服务模块连接有密码卡,用于随机密钥的生成;
所述虚拟密码机包括密码运算服务模块、密钥管理单元和权限管理单元,并分别对所述密钥管理单元和所述权限管理单元提供管理权限;
所述密钥管理单元和所述权限管理单元与所述密码运算服务模块连接,用于对客户的密钥信息进行管理与分配;
所述虚拟密码机控制所述密码运算服务模块,用于密码运算服务,进而所述虚拟密码机的管理端通过网络协议对密码运算进行数据读取;
所述安全API接口与所述虚拟密码机连接,用于封装密码操作和内部的密钥管理,进而为所述虚拟密码机的客户端调用密码运算提供通道。
进一步地,所述虚拟密码机的管理端利用https协议与所述虚拟密码机建立通信链接,并通过ukey进行访问。
再进一步地,所述密码卡具有PCI-E接口,通过PCI-E接口服务连接至所述代理服务模块,实现随机密钥的数据交互。
再进一步地,所述密码运算服务模块包括:SM1对称分组密码算法、SM2椭圆曲线公钥密码算法、SM3密码杂凑算法和SM4分组密码算法。
基于上述结构,本发明还公开了一种的基于云计算的虚拟化云密码机系统的实现方法,包括如下步骤:
(1)物理模块发出的启动指令,启动并初始化密码卡,并循环对管理员或操作员的身份进行验证,直到验证通过,进而启动后台的服务主程序与启动系统监控程序,并进入业务等待状态;
(2)物理模块发出的设置管理程序的指令,进而利用远程管理对管理程序进行配置,并存储于数据库,配置完成后退出管理程序;
(3)虚拟密码机接收到启动后台服务程序的指令,启动代理服务模块的密码卡,并循环对管理员或操作员的身份进行验证,直到验证通过,进而启动业务服务守候进程与启动系统监控程序,并进入业务等待状态;
(4)虚拟密码机接收启动管理程序的指令,利用远程管理对虚拟密码机的管理程序进行配置,并存储于数据库,配置完成后退出管理程序;
(5)虚拟密码机的管理端发出启动服务子进程进行密码运算服务的请求,并通过虚拟密码机分析请求报文和运算类型,从而调用代理服务模块的密码卡进行密码运算,并将处理结果返回虚拟密码机;
(6)虚拟密码机再将处理结果返回虚拟密码机的管理端,从而完成此次密码运算服务,并将处理数据存储于物理模块的数据库内。
进一步地,所述步骤(5)中的通过虚拟密码机分析请求报文,判断此请求报文是否合法,合法,则虚拟密码机分析请求类型,不合法,则通过虚拟密码机组织响应报文。
再进一步地,所述步骤(5)中的通过虚拟密码机分析运算类型,判断此运算类型是否能识别,能识别,则虚拟密码机发送运算指令到代理服务模块,不能识别,则通过虚拟密码机组织响应报文。
与现有技术相比,本发明具有以下有益效果:
(1)本发明提供了基于云计算的虚拟化云密码机系统,在一台高性能的云密码机上可以实现最多20个虚拟密码机,虚拟密码机以文件镜象形式存在于硬件密码机中或云存储中,云平台管理端可调用云密码服务平台的接口实现远程创建虚拟加密机镜象,远程调用不同的虚拟密码机镜象,实现虚拟密码机的自动化部署、启用、卸载、销毁等;
(2)本发明的虚拟密码机之间的采用了安全隔离,保证每个实例的独立性,当云加密平台物理设备故障时,虚拟密码机可“漂移”到其他物理平台,保证密码服务的高可用性;
(3)本发明的云密码机系统使用了丰富的密码运算资源池,根据业务需求可实现虚拟化实例对密码资源占用的动态分配,云端业务的密码服务请求高峰时,云密码服务平台可实现动态增加密码运算资源以满足业务请求,当业务量降低时,释放多余的密码运算资源,这极大的节省了云计算平台的设备资源投入,解决了传统的密码机无法提供弹性的运算能力,要解决业务高峰问题只能增加设备投入,而业务进入访问低谷时,更多的设备处于空闲状态的问题;
(4)本发明的云密码机系统解决了国家对密码业务的要求,金融数据计算、身份验证、签名验签等密码业务不能存在于一台设备中的问题,该系统可通过虚拟化技术可以创建合规的各类密码机镜象,虚拟化实例根据业务需求可被设计成不同的业务类型,通过专有的安全隔离技术使金融数据计算加密类型、身份认证类型、签名验签服务类等以虚拟化实例的模式同时运行于一个硬件平台之中,这样即节省了设备投资,又减化了设备运行管理、又满足了不同的业务需求;
(5)本发明的云密码机系统在提供了丰富的密码运算资源的同时,也提供了海量的密钥存储,基中对称密钥存储可达20万条,非对称密钥可达20万对。虚拟密码机的密钥存储也大大超过普通硬件加密机,基于云计算的密码机的海量存储,虚拟化实例可以设为不同的密钥存储量,更灵活、方便地满足业务需求;
(6)本发明具有较强的安全管理机制与创新性的备份恢复机制:通过管理员和操作员的分级权限管理,使得用户在需要时,可以获得最大的安全保证,在备份恢复过程中,采用(3,5)门限算法,既提高了安全性,也增强了易用性;
(7)本发明提供了安全密钥存储与程序保护机制:除公钥之外,云密码机内密钥绝不允许以明文形式输出设备外,使得用户的密钥得到最安全的保护;
(8)本发明还提供了支持国产密码算法:相比国外密码设备,该云密码机系统支持我国自主的SM1、SM2、SM3、SM4密码算法,遵循了我国相关的行业标准。
具体实施方式
下面结合附图说明和实施例对本发明作进一步说明,本发明的方式包括但不仅限于以下实施例。
实施例
如图1所示,本发明公开的一种基于云计算的虚拟化云密码机系统的实现方法,包括如下步骤:
(1)储于数据库,配置完成后退出管理程序;
(2)虚拟密码机接收到启动后台服务程序的指令,启动代理服务模块的密码卡,并循环对管理员或操作员的身份进行验证,直到验证通过,进而启动业务服务守候进程与启动系统监控程序,并进入业务等待状态;
(3)虚拟密码机接收启动管理程序的指令,利用远程管理对虚拟密码机的管理程序进行配置,并存储于数据库,配置完成后退出管理程序;
(4)虚拟密码机的管理端发出启动服务子进程进行密码运算服务的请求,并通过虚拟密码机分析请求报文和运算类型,从而调用代理服务模块的密码卡进行密码运算,并将处理结果返回虚拟密码机;
(5)虚拟密码机再将处理结果返回虚拟密码机的管理端,从而完成此次密码运算服务,并将处理数据存储于物理模块的数据库内。
所述步骤(5)中的通过虚拟密码机分析请求报文,判断此请求报文是否合法,合法,则虚拟密码机分析请求类型,不合法,则通过虚拟密码机组织响应报文。
所述步骤(5)中的通过虚拟密码机分析运算类型,判断此运算类型是否能识别,能识别,则虚拟密码机发送运算指令到代理服务模块,不能识别,则通过虚拟密码机组织响应报文。
本实施例中,所述密码卡与所述虚拟密码机均具有秘密共享机制的备份和恢复功能。具体为:把备份/恢复密钥在密码卡内分割成五个密钥碎片,分别存入五张备份IC卡或智能Ukey内,备份完毕后将设备内备份密钥销毁,五张备份IC卡或智能Ukey交由五个备份管理员分别保管,当系统发生故障时,五张备份IC卡或智能Ukey中的三张就可以重组备份密钥,将备份信息解密恢复到密码卡内,从而提高了密钥管理的安全性。
本实施例中,如图3所示,云密码机系统具体启动流程如下:
(1)云密码机加电后,首先启动linux Centos7操作系统,然后从指定配置文件中读取所需的运行参数;
(2)建立密码卡设备节点并加载驱动程序;
(3)通过与密码卡相连的IC卡读卡器循环验证操作员IC卡直至验证通过;
(4)启动业务服务守候进程即SERVER主程序,产生异常时将错误信息写入日志文件并退出本次启动;
(5)SERVER主程序完成启动后,启动系统监控程序,并进入业务等待状态。
本实施例中,如图4所示,云密码机系统管理流程具体操作如下,其中下文中虚拟密码机均用VSM表示:
(1)启动云密码机管理页面并建立https连接;
(2)如果设备尚未初始化则需进行设备初始化,然后初始化3-5个管理员;
(3)登录半数以上管理员获取管理权限;
(4)权限管理包括管理员管理和操作员管理,管理员管理包括管理员初始化、增加/删除、登录/登出等操作,操作员管理包括操作员初始化、登录/登出、增加等操作;
(5)服务管理包括启动/停止后台服务和设置服务连接密码等操作;
(6)设备管理包括查看/配置网络、服务器升级等操作;
(7)VSM管理包括VSM部署、启用、卸载、销毁的操作;
(8)完成配置后断开网络连接,退出管理程序。
本实施例中,如图5所示,虚拟密码机具体启动流程如下,其中:
(1)虚拟密码机接到启动命令后,启动密码卡代理服务,与云密码机代理服务建立链接;
(2)通过与密码卡相连的IC卡读卡器循环验证操作员IC卡直至验证通过;
(3)启动业务服务守候进程即SERVER主程序,产生异常时将错误信息写入日志文件并退出本次启动;
(4)SERVER主程序完成启动后,启动系统监控程序,并进入业务等待状态。
本实施例中,如图6所示,虚拟密码机服务管理流程具体操作如下,其中下文中虚拟密码机均用VSM表示:
对VSM的管理主要分为设备管理、配置管理、日志管理、监控管理和权限管理几种,均以以下流程进行:
(1)启动VSM管理页面并建立https连接;
(2)如果设备尚未初始化则需进行设备初始化,然后初始化3-5个管理员;
(3)登录半数以上管理员获取管理权限;
(4)权限管理包括管理员管理和操作员管理,管理员管理包括管理员初始化、增加/删除、登录/登出等操作,操作员管理包括操作员初始化、登录/登出、增加等操作;
(5)服务管理包括启动/停止后台服务和设置服务连接密码等操作;
(6)设备管理包括查看/配置网络、服务器升级等操作;
(7)密钥管理包括SM2密钥的生成、删除、备份等操作;
(8)完成配置后断开网络连接,退出管理程序。
本实施例中,如图7所示,虚拟密码机业务处理流程如下,其中下文中虚拟密码机均用VSM表示:
虚拟密码机提供的非对称密钥的签名/验证、对称密钥的加密/解密、生成密钥、生成真随机数等业务请求,均以以下流程进行:(以下为虚拟密码机的一次业务处理流程)
(1)VSM正常启动后,处于业务等待状态,服务进程负责监听VSM业务主机请求,一直处于READY状态并不参与具体的业务处理流程;
(2)服务进程接收到VSM业务主机请求后,启动服务子进程进行实际的业务处理;
(3)VSM分析请求报文,如果为非法报文则将根据错误信息组织响应报文,如果报文合法,则分析运算类型;
(4)运算类型不可识别,则将根据错误信息组织响应报文;
(5)VSM运算类型可识别则根据运算类型进行各种密码运算:主要提供SM2 椭圆曲线算法的签名/验证、SM1/SM4分组算法加密/解密、SM3杂凑算法运算及随机数生成等功能;
(6)将请求报文转发给云密码机的代理服务;
(7)代理服务分析请求报文,如果为非法报文则将根据错误信息组织响应报文,如果报文合法,则分析运算类型;
(8)运算类型不可识别,则将根据错误信息组织响应报文返回VSM;
(9)代理服务运算类型可识别则根据运算类型进行各种密码运算:主要提供SM2椭圆曲线算法的签名/验证、SM1/SM4分组算法加密/解密、SM3杂凑算法运算及随机数生成等功能;
(10)代理服务将处理结果返回VSM;
(11)VSM将处理结果返回VSM业务主机;
(12)关闭服务子进程完成本次业务处理。
基于上述方法,本发明还提供了一种基于云计算的虚拟化云密码机系统,如图2所示,包括物理模块、代理服务模块、虚拟密码机和安全API接口,所述代理服务模块一端通过socket协议与物理模块建立双向通信连接,另一端通过socket协议与通过虚拟化技术隔离出来的若干个相互独立的虚拟密码机建立双向通信连接,其中,
所述物理模块包括数据库、系统权限管理单元和虚拟密码机管理单元,并分别对所述系统权限管理单元和所述虚拟密码机管理单元提供管理权限,进而将管理数据存储于所述数据库,并以密码服务的形式提供数据读取;
所述代理服务模块连接有密码卡,用于随机密钥的生成;
所述虚拟密码机包括密码运算服务模块、密钥管理单元和权限管理单元,并分别对所述密钥管理单元和所述权限管理单元提供管理权限;
所述密钥管理单元和所述权限管理单元与所述密码运算服务模块连接,用于对客户的密钥信息进行管理与分配;
所述虚拟密码机控制所述密码运算服务模块,用于密码运算服务,进而所述虚拟密码机的管理端通过网络协议对密码运算进行数据读取;
所述安全API接口与所述虚拟密码机连接,用于封装密码操作和内部的密钥管理,进而为所述虚拟密码机的客户端调用密码运算提供通道。
所述虚拟密码机的管理端利用https协议与所述虚拟密码机建立通信链接,并通过ukey进行访问。
所述密码卡具有PCI-E接口,通过PCI-E接口服务连接至所述代理服务模块,实现随机密钥的数据交互。
所述密码运算服务模块包括:SM1对称分组密码算法、SM2椭圆曲线公钥密码算法、SM3密码杂凑算法和SM4分组密码算法。
本发明基于云计算的云加密服务,将基本密码算法运算、资源管理以及密钥管理机制结合起来,使得密码技术的使用更集中、规范,也更易于管理,同时通过网络远程为用户分配密码机资源,并利用加密技术一次一密保证传输安全,从而确保了客户数据能得到最高的安全性,确保了密钥的安全性。
上述实施例仅为本发明的优选实施方式之一,不应当用于限制本发明的保护范围,但凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内。