基于Docker的云密码服务调用方法及中间件系统
文献发布时间:2023-06-19 13:46:35
技术领域
本发明涉及网络技术与安全技术领域,特别涉及基于Docker的云密码服务调用方法及中间件系统。
背景技术
随着云计算技术的的普及,基于云计算的各种数据及业务也面临形形色色的安全威胁,为了解决这些威胁,加解密技术成为了保障安全的重要工具,而云服务密码机(CHSM)是为了适应云计算环境而产生的核心密码产品之一,为云计算环境的信息安全发挥着越来越重要的作用。典型的云平台管理系统及云服务密码机(CHSM)的关系如图1所示。
一个云平台管理系统管理着多台云服务密码机(CHSM),每个云服务密码机(CHSM)可以虚拟出多个虚拟密码机(VSM),每个虚拟密码机(VSM)就是可以出租出去的资源,其作用相当于一台物理实体密码机。
当前国内云服务密码机(CHSM)产品的规范化、标准化程度不高,各厂家产品之间兼容性、API调用接口等差异较大,这对云服务密码机(CHSM)出租业务带来了不少问题。例如:
1)云密码服务出租方往往只能和一家CHSM厂家深度绑定,切换不同CHSM供应商困难很大;
2)当同时使用多个厂家CHSM时,获取到的密码服务调用审计日志信息差异很大,有些甚至没有,对安全运维会造成很大困扰;
3)VSM网络地址(IP和端口)需要暴露给租户,以供租户通过网络方式访问,公开VSM的网络地址较容易遭到网络攻击;
4)租户应用密码运算量较大时,需要同时租用多个VSM进行负载均衡,此时往往需要从租户密码应用程序来解决,导致了密码应用的复杂性,且不易灵活扩展。
发明内容
本发明针对现有技术中的不足,提供基于Docker的云密码服务调用方法及中间件系统。
为实现上述目的,本发明采用以下技术方案:
一种基于Docker的云密码调用方法,包括以下步骤:
租户向运营者申请密码服务,运营者通过管理平台在云服务密码机中为租户开通一定数量的VSM;
租户通过管理平台将所分配到的VSM资源组合成一个或多个VSM组,并通过管理平台针对每个VSM组在微服务子系统中分配微服务实例给租户,同时通过管理平台将属于同一VSM组中的VSM设置相同的主密钥;
租户通过管理平台创建密码应用信息,并将密码应用与VSM组进行绑定关联,同时为密码应用分配在VSM组中的VSM上生成的主密钥编号;
租户结合SDK包对密码应用进行代码设计并进行文件配置,具体为:租户的密码应用调用SDK开发包对应的API函数进行代码修改,并完成接口对接的配置参数设置;
租户的密码应用调用密码运算服务,微服务子系统接收请求并将密码应用信息以及密码应用产生的调用日志传输给管理平台;
管理平台对密码应用进行安全性验证;
管理平台验证通过后,微服务子系统调用VSM运算接口进行密码运算,并将运算结果反馈给密码应用。
进一步地,所述文件配置的具体配置内容包括:
管理平台生成密码应用IDApplication_ID和安全验证子Auth_Token并保存到管理平台数据库中;租户将Application_ID和Auth_Token输入到密码应用的配置文件中;
将微服务实例的IP地址和端口配置到密码应用的配置文件中。
进一步地,管理平台生成安全验证子Auth_Token的具体内容为:
管理平台产生一个随机数RA;
Auth_Token=HEX(SM3(Application_ID|RA));
式中,HEX()函数的意思是转换为16进制表达方式,SM3()函数的意思是使用国密哈希算法SM3。
进一步地,所述管理平台对密码应用进行安全性验证的具体内容为:
密码应用生成一个顺序递增整数Seq,并结合密码应用文件中配置的Application_ID、Auth_Token计算第一比对值Auth;并将Auth、Seq、Application_ID通过微服务子系统发送到管理平台的验证与日志模块;
管理平台的验证与日志模块判断密码应用反馈的Application_ID与管理平台数据库中预先存储的Application_ID是否一致,如果不一致则返回错误,如果一致则就进行下一步;
管理平台的验证与日志模块验证Seq是否使用过,如果已经使用过,则返回错误,如果没有使用过就进行下一步;
管理平台的验证与日志模块根据核实后的Application_ID在管理平台数据库中找到对应的安全验证子Auth_Token,并根据管理平台数据库中的Auth_Token、核实后的Application_ID、密码应用生成的Seq计算第二对比值Authˊ,比较Auth是否等于Authˊ,如果相等,则验证通过。
进一步地,Auth=SM3(Auth_Token|Seq|Application_ID);
Authˊ=SM3(Auth_Token|Seq|Application_ID);
式中,第一比对值Auth所使用的Auth_Token是密码应用中预先配置的安全验证子数据,Application_ID是密码应用中预先配置的密码应用ID数据,Seq是密码应用生成的顺序递增整数数据;
式中,第二比对值Authˊ所使用的Auth_Token是管理平台数据库中存储的安全验证子数据,Application_ID是管理平台数据库中存储的密码应用ID数据,Seq是密码应用生成的顺序递增整数数据。
进一步地,一种基于Docker的云密码服务中间件系统,包括:管理平台、云服务密码机、微服务子系统;
所述管理平台包括云密码主机管理模块、微服务管理模块、密码虚拟机组配置模块、应用配置模块、密钥管理模块、验证及日志接收模块;
所述云密码主机管理模块用于当租户向运营者申请密码服务后,运营者通过云密码主机管理模块在云服务密码机中为租户开通一定数量的VSM;
所述微服务管理模块用于当租户向运营者申请密码服务后,运营者通过微服务管理模块在微服务子系统中分配微服务实例给租户;
所述密码虚拟机组配置模块用于租户将所分配到的VSM资源组合成一个或多个VSM组;
所述应用配置模块用于租户通过应用配置模块创建密码应用信息,并将租户的密码应用与VSM组进行绑定关联,
所述密钥管理模块用于将属于同一VSM组中的VSM设置相同的主密钥,并为密码应用分配VSM中的主密钥编号;
所述验证及日志接收模块用于当租户通过密码应用请求密码运算时,对密码应用进行安全性验证;
所述微服务子系统包括:
用于在租户的密码应用调用密码运算服务时,接收请求并将密码应用信息以及密码应用产生的调用日志传输给管理平台;以及在管理平台验证通过后,微服务子系统调用VSM运算接口进行密码运算,并将运算结果反馈给密码应用;
所述云服务密码机用于当密码应用请求进行密码运算并且经过管理平台的安全性验证后,进行密码运算。
进一步地,所述密码应用用于租户结合SDK包进行代码设计并进行文件配置,同时租户通过密码应用请求密码运算,所述文件配置的内容包括:密码应用IDApplication_ID、安全验证子Auth_Token、微服务实例的IP地址和端口;
Application_ID、Auth_Token由管理平台生成并保存到管理平台数据库中,由租户将Application_ID、Auth_Token、微服务实例的IP地址和端口输入到密码应用的配置文件中。
进一步地,所述安全验证子Auth_Token具体设置为:
Auth_Token=HEX(SM3(Application_ID|RA));
式中,RA是管理平台产生一个随机数,HEX()函数的意思是转换为16进制表达方式,SM3()函数的意思是使用国密哈希算法SM3。
进一步地,所述密码应用还用于在请求密码运算时,生成一个顺序递增整数Seq,并结合密码应用文件中配置的Application_ID、Auth_Token计算第一比对值Auth,并将Auth、Seq、Application_ID通过微服务子系统发送到管理平台。
进一步地,所述验证与日志模块进行验证的具体内容为:
验证与日志模块用于当密码应用请求密码运算时,根据密码应用反馈的Application_ID判断与管理平台数据库中预先存储的Application_ID是否一致;
验证与日志模块用于当密码应用请求密码运算时,验证密码应用反馈的Seq是否使用过;
验证与日志模块用于根据核实后的Application_ID在管理平台数据库中找到对应的安全验证子Auth_Token,并根据管理平台数据库中的Auth_Token、核实后的Application_ID、密码应用生成的Seq计算第二对比值Authˊ,比较Auth是否等于Authˊ;
其中,第一比对值Auth和第二比对值Authˊ设置为:
Auth=SM3(Auth_Token|Seq|Application_ID);
Authˊ=SM3(Auth_Token|Seq|Application_ID);
式中,第一比对值Auth所使用的Auth_Token是密码应用中预先配置的安全验证子数据,Application_ID是密码应用中预先配置的密码应用ID数据,Seq是密码应用生成的顺序递增整数数据;
式中,第二比对值Authˊ所使用的Auth_Token是管理平台数据库中存储的安全验证子数据,Application_ID是管理平台数据库中存储的密码应用ID数据,Seq是密码应用生成的顺序递增整数数据。
本发明的有益效果是:
1)通过对密码应用的统一SDK设计以及文件配置,可兼容不同厂家CHSM产品,运营者可灵活选择。
2)通过对密码应用的统一SDK设计以及文件配置,以及密码应用、微服务子系统、管理平台的共同作用,使整个系统具备统一的密码资源调用审计日志功能。
3)采用容器技术(Docker),将特定功能的程序放置于Docker镜像中,以容器(Container)的形式运行在分布式计算节点组成的集群上,本申请将这些运行的容器称为“微服务”,将这些计算节点总称为“微服务集群”,每个计算节点称为“工作节点”。微服务集群可以根据需要灵活扩展,当某个计算节点出现故障时,微服务可以自动迁移到运行正常的节点。有灵活可扩展的负载均衡能力。
4)密码应用连接VSM之前先进行一次安全校验,具备较高的安全性。
5)本申请在对虚拟密码机资源的冗余调用上,引入了基于docker化nginx反向代理方式来搭建虚拟密码机资源调用的负载均衡模式的方法。现有技术对密码机的主备或冗余方式只能做到多个密码机中的主密钥一致,对密码机的冗余密码运算调用需要通过应用程序自己设计;本申请采用docker化nginx部署方式,可以将多个密码机组成一个密码机组,让租户应用程序的访问请求通过nginx的反向代理模式调用密码机组中每个密码机的密码运算,实现负载均衡方式的密码运算调用,降低了租户密码应用程序的密码模块改造的复杂性。
6)本申请在对虚拟密码机密码运算调用日志的获取上,引入了SDK开发包封装密码调用消息的日志回传的方法。现有的密码运算调用的请求数据一般是通过密码机自身提供的接口实现的,本申请通过在SDK包中封装了类似UNI_SendLog()的函数,租户应用程序调用密码运算接口函数时将发送密码运算调用日志信息到验证及日志微服务,然后再传送到管理平台进行保存,为云密码服务出租方增加了服务运营分析能力。运营者可通过日志进行分析租户的密码请求的活跃性、频繁性,根据实际情况进行管理或分析是否需要进行扩容等操作。
7)现有技术在租户应用程序调用密码机的密码运算时,密码机没有对租户的应用程序进行安全性校验。本申请通过为租户应用程序自动产生Auth_Token安全验证子,应用程序在调用密码机密码运算接口时通过本申请的一个算法使用安全验证子计算出当前应用程序的身份牌,与服务端计算出的身份牌进行比对来完成应用程序的身份验证,提升了密码运算访问的安全性。本申请弥补了应用程序调用虚拟密码机的密码运算接口时缺乏身份验证的空白,引入了应用程序安全验证子的生成、保存和校验的方法,以此来对应用程序进行安全性验证。
8)通过对云密码机的接口的二次封装,去云密码机厂商的深度依赖,提升了云密码服务出租方建设密码资源池的灵活性,也避免了由于云密码机升级改造造成租户密码应用程序再次开发的密码改造长期性问题。
附图说明
图1是本发明云服务密码机与云平台管理系统的连接关系示意图。
图2是本发明云密码服务整体分层结构示意图。
图3是本发明云密码服务技术架构示意图。
图4是本发明微服务子系统架构示意图。
图5是本发明原始SDK调用示意图。
图6是本发明统一SDK调用关系示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
本申请主要包括以下技术内容:
1、云服务密码机:
英文全称为Cloud Host Security Module,简称CHSM。是指在云计算环境下,采用虚拟化技术,以网络形式,为多个租户的应用系统提供密码服务的密码设备,一台CHSM内部可以虚拟出数十台虚拟密码机(VSM)。
2、虚拟密码机:
英文全称Virtual Host Security Module,简称VSM。是指云服务器密码机上,采用虚拟化技术创建出来的提供类同实体密码机服务的密码服务实例。
3、运营者:
出租云密码计算资源的企业或机构,一般将多台CHSM部署在IDC机房,然后出租CHSM内部虚拟出来的VSM资源。
4、租户:
是指租用云密码资源的企业或机构,将密码应用通过调用SDK的方式,与一台或多台VSM资源进行网络连接,实现对企业数据及业务的安全保护,其中SDK由运营者提供给租户。
5、VSM组:
具有完全相同的密钥信息的一组VSM,租户为了满足大量密码运算时的负载均衡需求,或高可用性的需求,租用多台VSM,并将这些VSM的密钥信息创建(或复制)成完全一样。
6、微服务:
采用容器技术(Docker),将特定功能的程序放置于Docker镜像中,以容器(Container)的形式运行在分布式计算节点组成的集群上,本发明将这些运行的容器称为“微服务”,将这些计算节点总称为“微服务集群”,每个计算节点称为“工作节点”。微服务集群可以根据需要灵活扩展,当某个计算节点出现故障时,微服务可以自动迁移到运行正常的节点。
每个微服务可以启动一个或多个微服务实例,某个微服务对应的实例可以使用任何一个工作节点IP地址、整个集群唯一的一个端口来访问。
接下来,从本申请中云密码服务整体分层结构、云密码服务技术架构、模块/子系统的几个方面来对技术方案进行阐述。
一、整体分层结构
参考图2,本发明涉及CHSM、密码应用(APP)、管理平台、微服务子系统等设备或软件系统,整体上可划分为三个层次,如图2所示,运营者在“密码资源层”可以放置不同供应商的多台CHSM设备,通过“中间件层”的管理平台对其进行管理,然后将CHSM所属的VSM出租给租户实现运营。
“密码应用层”在租户环境中,租户需要调用指定的SDK来开发密码应用APP,通过密码应用APP,实现与VSM密码资源的对接与运算。
二、技术架构
参考图3,本发明核心组件包括管理平台、微服务子系统、统一SDK等模块或子系统,其在整体技术架构图中的位置如图3所示。
云密码服务技术架构接口描述如下:
1)管理交互
不同角色运营者通过浏览器(Web)界面对多个CHSM进行管理及调度,将VSM资源分配给不同租户,监控整体系统运行状态等。
2)资源配置与调度
通过CHSM厂家提供的接口、或国标接口实现对多种CHSM的管理,通常有Restful接口、SDK API接口等形式,不同厂家提供的接口不尽相同。
3)密钥管理
租户为租用的一个或多个VSM创建或导入必要的密钥,包括但不限于RSA、SM2、SM4、AES等算法对应的符合国家标准或国际标准的密钥类型。
4)密码资源请求/响应
租户密码应用通过调用“统一SDK”(本发明也称之为UNI-SDK)向微服务子系统发起密码运算请求,并获取相应结果。
通过本接口同时向微服务集群发送密码应用调用日志。
5)密码运算代理
微服务子系统将密码应用发来的密码运算请求转发到租户租用的VSM,同时将VSM运算结果返回给密码应用,整体网络通道一般采用CHSM厂家私有的应用层通讯协议,通过加密、完整性保护措施保证通讯安全。
6)微服务管理
启动/停止/监控密码运算微服务。完成租户密码应用与所租用VSM的关联。接收微服务集群(包括微服务)发送的各类日志信息。
三、模块/子系统描述:
1、管理平台
管理平台的主要用户有两类:运营者和租户,主要功能如下:
1)运营者可以在云密码主机管理模块对CHSM进行增加操作,如果要真正启用该CHSM,还要对该CHSM进行发布操作。当然,运营者也可以对已有的CHSM进行参数修改,甚至如果该CHSM已经不再使用,也可以删除该CHSM。
2)运营者可以在云密码主机管理模块进行VSM创建、备份恢复、销毁等基本操作。
3)运营者可以在订单管理模块中完成租户对服务的订购操作,将创建好的一个或多个VSM分配给租户。
4)租户可以在密码虚拟机组配置模块将一个或多个VSM组合成一个或多个VSM组;然后在应用配置模块中创建应用信息,至少包括密码应用ID(APP_ID)(密码应用ID由管理平台的微服务管理模块自动生成,租户将该信息通过应用配置模块进行配置)、应用名称(APP_NAME)等信息,并将定义的应用与一个VSM组关联绑定。
5)租户可以在密钥管理模块中创建VSM密钥,包括但不限于RSA、SM2、SM4、AES等算法对应的符合国家标准或国际标准的密钥类型。
2、微服务子系统
2.1功能及特点
微服务子系统主要功能为租户密码应用与VSM之间的网络通信数据的代理与转发,同时接收并转发密码应用产生的日志信息到日志接收模块。本发明有两类微服务,一类是密码运算代理微服务(简称密码微服务),其网络目的地址为VSM;另一类是安全验证及日志接收微服务(简称验证及日志微服务),其网络目的地址为安全验证及日志接收模块(日志微服务是将密码应用调用密码运算代理微服务的运算接口产生的日志上报平台的日志接收模块(即接口),作为业务统计的数据源;验证微服务是根据验证预先分配给密码应用的Application_ID、Auth_Token来验证密码应用身份的合法性,防止未授权应用调用密码运算)。
密码微服务和验证及日志微服务对应的容器可以采用NGINX服务代理技术、或其它类似代理技术实现,每个微服务对应一个网络端口。
密码微服务端口范围可以在1024到65535之间分配,验证及日志微服务采用一个固定端口,例如:65432,分配端口时需要避免与已经使用的端口冲突。
密码应用等外部IT系统访问微服务集群当中部署的微服务时,只需使用任何一个工作节点IP地址和一个微服务集群中唯一的端口,这个唯一端口可以区别运行的微服务。
2.2微服务子系统架构图
参考图4,图4为微服务子系统架构图,Worker1、Worker2、Worker3为微服务集群的工作节点,为了保证集群的高可用性,工作节点数量一般要大于等于3,在微服务子系统中的两个不同的工作节点上针对每个VSM组分配主备两个微服务实例。每个工作节点上可以启动微服务,图中工作节点内的每个小方框(容器)代表一个微服务,其中,“纯黑色实框”代表验证及日志微服务的两个实例,其它皆为密码微服务实例。
为了便于描述,假设密码应用APP-1所属租户为R1,APP-2所属租户为R2。图4中体现了两种场景:
场景一:租户R1租用了两台VSM(VSM1和VSM2)
VSM1和VSM2组成一个VSM组,本发明称其为Group1。每个VSM组需要启动两个微服务实例,Worker1、Worker2上的两个灰色实框表示这两个微服务实例。
这两个微服务实例提供服务的网络地址(IP和端口)可以是微服务集群节点中的任何两个IP地址,端口范围可以在1024到65535之间顺序分配,需要避免与已经使用的端口冲突。
微服务实例的目的网络地址(IP和端口)需要配置成VSM1和VSM2的两个IP地址及端口,如果VSM组的VSM有N个,则需要配置N个目的网络地址。
微服务提供服务需要的网络地址(IP与端口)由微服务管理模块自动分配,并在启动微服务实例时生效。
其中,我们可以把worker(或者称为工作节点、服务器)理解为能够提供密码运算代理服务的集合,里面包含多个具有相同密码运算代理服务的元素。一个集合中能够含有多少元素,是受服务器的性能决定的,且是随着创建密码应用而动态扩展的。这个元素指的就是微服务实例(容器),集合就是worker。
APP-1通过访问Group1对应的两个微服务实例的网络地址完成密码运算调用。
场景二:租户R2租用了一台VSM(VSMn)
R2仅租用了一台VSM的情况下,为该VSM自动启动两个微服务实例,上图中Worker2、Worker3上的两个虚框表示与APP-2对应的微服务实例,两个微服务实例的目的网络地址(IP和端口)需要配置成VSMn的网络地址。
启动两个微服务实例的目的是满足高可用性需求,当一个微服务实例出现故障时,另一个网络地址对应的微服务能持续提供服务。
APP-2通过访问VSMn对应的两个微服务实例的网络地址完成密码运算调用。
微服务提供服务需要的网络地址(IP与端口)由微服务管理模块自动分配,并在启动微服务实例时生效。
3、统一SDK
3.1统一SDK设计
参考图5,一般情况下,云密码机生产厂家都会提供密码应用APP需要调用的SDK包及对应的API函数,以便完成对VSM密码资源的调用。
图5中“原始SDK”代表云密码机原厂家提供的SDK开发包,该SDK包C语言版本有国家相关标准,例如《GMT 0018-2012密码设备应用接口规范》。本发明基于该标准提出的API函数,封装出新的API接口函数,实现以下目的:
不同厂家SDK的调用统一;
将密码运算调用审计信息统一化并发送到微服务子系统;
进行密码调用之前进行安全认证,强化安全效果。
参考图6,封装后的新SDK本发明称之为“统一SDK”,图5中纯黑色实框表示一个验证及日志微服务实例,密码应用APP将“统一SDK”中采集到的日志信息发送到该微服务实例,微服务实例进一步转发到管理平台的“验证及日志接收模块”。验证及日志微服务接收所有租户的密码应用产生的日志信息,同时完成对密码应用的安全验证功能,防止非法密码应用接入,强化安全性。
3.2统一SDK函数及配置
SDK API函数统一采用“UNI_”前缀表示(也可以是其它字母组合),“SDF_”前缀API函数表示原始SDK定义(国家标准),如下代码示例:
intUNI_OpenDevice(...)//封装后的函数名
{
...
UNI_Check(...);//打开设备之前先进行合法性验证
SDF_OpenDevice(...);//打开VSM设备
UNI_SendLog(...);//发送设备打开事件日志
...
}
intUNI_GenerateRandom(...)//封装后的函数
{
...
SDF_GenerateRandom(...);//产生随机数
UNI_SendLog(...);//发送创建随机数事件日志
...
}
intUNI_InternalSign_ECC(...)//封装后的函数
{
...
SDF_InternalSign_ECC(...);//使用VSM内部椭圆曲线密钥进行签名
UNI_SendLog(...);//发送签名事件日志
...
}
上述示例代码中UNI_SendLog()函数的作用是发送日志信息到验证及日志微服务,UNI_Check()函数的作用是进行密码应用合法性验证。在密码应用调用密码运算服务的原始SDK包中,将SDK中API接口函数的前缀进行统一。统一SDK函数就是将API函数统一采用“UNI_”前缀表示。
以下为密码应用程序需要的配置文件示例:
...
ServerAddresses1=IP_1:PORT
ServerAddresses2=IP_2:PORT
Application_ID=XXXXXXXX
Auth_Token=YYYYYYYY
...
其中,IP_1、IP_2是微服务集群的任意两个工作节点IP地址,PORT是一个指定端口,端口全集群唯一,IP和PORT由微服务管理模块自动分配给租户。
UNI_SendLog(...)函数发送日志及进行安全校验时,使用IP_1、IP_2两个地址,端口使用全局唯一固定的一个端口。
Application_ID和Auth_Token两个参数值也由微服务管理模块自动创建。Application_ID表示密码应用ID,有唯一性;Auth_Token表示一个安全验证子,用于对密码应用的合法性进行校验,防止未经授权的应用连接微服务集群。
租户可以通过WEB交互接口、邮件方式获取到这些参数,在进行密码应用开发及部署时,需要人工方式修改这些配置参数,才能和微服务子系统成功对接,并发送事件日志。
3.3密码应用接入安全验证
步骤1:租户创建VSM或VSM组的密钥,并定义对应的密码应用,包括Application_ID等信息。
步骤2:租户在配置信息时,管理平台自动产生Auth_Token安全验证子,Auth_Token的创建过程如下:
1)管理平台产生一个随机数RA,并计算
Auth_Token=HEX(SM3(Application_ID|RA)),其中,HEX()函数的意思是转换为16进制表达方式,SM3()函数的意思是使用国密哈希算法SM3。
2)管理平台保存Application_ID,Auth_Token等信息在数据库中。
步骤3:租户将Auth_Token、Application_ID等信息输入到密码应用对应的配置文件中。
步骤4:密码应用打开VSM设备时,调用UNI_Check(...)函数,产生一个顺序递增整数Seq,并计算Auth=SM3(Auth_Token|Seq|Application_ID),然后将Auth、Seq、Application_ID发送到验证与日志模块。
步骤5:管理平台计算先判断Application_ID是否存在,如果不存在,则返回错误;如果存在,进一步判断Seq是否以前使用过,如果使用过,则返回错误;否则进一步计算Auth’=SM3(Auth_Token|Seq|Application_ID),如果Auth’=Auth,则验证通过,否则验证失败。
其中,Application_ID是密码应用的应用ID,是由字符、数字、某些特定符号组成的具有唯一标识特性的字符串;Auth_Token是由平台生成用于验证密码应用身份的验证子;Seq是一个顺序产生的递增整数,只用于计算比对值时用到,可以做到每次验证密码应用计算Auth时都不同,也是为了防重复攻击做的一种安全措施。
其中,密钥是用于初始密码应用和VSM绑定连接时所用到的,密码应用ID、安全验证子、Seq适用于后面请求密码运算时的验证作用。
另外,参考图1,相对于背景来说,图1表示的是现有技术中典型的云平台管理系统及云服务密码机(CHSM)的关系。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
- 基于Docker的云密码服务调用方法及中间件系统
- 一种基于面向数据内容的云消息中间件的数据交换方法和云消息中间件系统