一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

中间件加载动态密钥方法、装置、设备及存储介质与流程

2022-02-19 14:12:09 来源:中国专利 TAG:


1.本技术涉及密码学领域,尤其涉及一种中间件加载动态密钥方法、装置、 设备及存储介质。


背景技术:

2.阿布扎比数字沙盒平台网站系统(adgm digital lab)的系统后端模块是基 于微软云平台上进行部署的。微软云提出的key vault(密钥库)安全组件,其 作用就是一个保险库,能把各种机密信息(比如:密钥、令牌证书等)管理起来, 并且其管理的密钥会周期性的动态生成新的密钥。
3.由于应用部署服务器的中间件的密钥是都管理员配置的,一般情况下不进 行改动。若中间件使用了上述密钥库,则中间件的密钥也需要跟随密钥库周期 性变化,这种变化存在的确定如下:1、若该动态密钥的变化周期小,则配置参 数变更频繁,管理员的运维工作量会增大;2、重大型系统所需服务器数量可达 到几十个台的集群,难以进行拆分管理。


技术实现要素:

4.本技术提供了一种中间件加载动态密钥方法、装置、设备及存储介质,用 于服务器中间件自动加载动态密钥,以减少人工运维的工作量。
5.第一方面,本技术提供了一种中间件加载动态密钥方法,所述方法包括:
6.获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文 件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥;
7.将所述中间件的启动配置文件与所述脚本文件相关联,并将所述启动配置 文件与所述脚本文件引入至同一作用域;
8.通过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所 述中间件的启动配置文件;
9.向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法, 重启所述中间件以完成动态密钥的更新。
10.基于此,能够通过脚本置入完成密钥获取,配置相同作用域完成数据还原 和对照,实现了应用部署服务器中间件自动加载动态密钥,减少了人工运维管 理的工作量,以及适应重大型系统的服务器集群的部署需求。
11.第二方面,本技术还提供了一种中间件加载动态密钥装置,所述中间件加 载动态密钥装置包括:
12.脚本创建模块,用于获取应用部署服务器的中间件的启动文件所在路径的 文件目录,在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中获 取动态密钥;
13.关联配置模块,用于将所述中间件的启动配置文件与所述脚本文件相关联, 并将所述启动配置文件与所述脚本文件引入至同一作用域;
14.密钥获取模块,用于通过所述脚本文件从密钥库中获取动态密钥,并将所 述动态密钥传输至所述中间件的启动配置文件;
15.解析配置模块,用于向所述中间件的启动配置文件中添加用于解析所述动 态密钥的解密算法,重启所述中间件以完成动态密钥的更新。
16.第三方面,本技术还提供了一种计算机设备,所述计算机设备包括存储器 和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算 机程序并在执行所述计算机程序时实现如本技术实施例提供任意一种所述的中 间件加载动态密钥方法。
17.第四方面,本技术还提供了一种计算机可读存储介质,所述计算机可读存 储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现 如本技术实施例提供任意一种所述的中间件加载动态密钥方法。
18.本技术公开了一种中间件加载动态密钥方法、装置、设备及存储介质,可 应用在微软云系统的应用部署服务器中间件,通过获取应用部署服务器的中间 件的启动文件所在路径的文件目录,在所述文件目录下创建脚本文件,所述脚 本文件用于从密钥库中获取动态密钥;将所述中间件的启动配置文件与所述脚 本文件相关联,并将所述启动配置文件与所述脚本文件引入至同一作用域;通 过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所述中间 件的启动配置文件;向所述中间件的启动配置文件中添加用于解析所述动态密 钥的解密算法,重启所述中间件以完成动态密钥的更新,实现了应用部署服务 器中间件自动加载动态密钥,在提升安全性的同时,降低运维管理的工作量, 以及适应重大型系统的服务器集群的部署需求。
附图说明
19.为了更清楚地说明本技术实施例技术方案,下面将对实施例描述中所需要 使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
20.图1是本技术实施例提供的一种中间件加载动态密钥方法的示意流程图;
21.图2是本技术实施例提供的一种日志存储中间件加载动态密钥的示意性框 图;
22.图3是本技术实施例提供的一种中间件加载动态密钥装置的示意性框图;
23.图4是本技术实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
24.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部 的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳 动前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤, 也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部 分合并,因此实际执行的顺序有可能根据实际情况改变。
26.应当理解,在此本技术说明书中所使用的术语仅仅是出于描述特定实施例 的目
的而并不意在限制本技术。如在本技术说明书和所附权利要求书中所使用 的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该
”ꢀ
意在包括复数形式。
27.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指 相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些 组合。
28.为了实现服务器中间件加载动态密钥,以降低人工运维的工作量,本技术 提供了一种中间件自动加载动态密钥方法、装置、设备及存储介质。
29.下面结合附图,对本技术的一些实施方式作详细说明。在不冲突的情况下, 下述的实施例及实施例中的特征可以相互组合。
30.请参阅图1,图1是本技术实施例提供的一种中间件加载动态密钥方法的示 意流程图。该中间件加载动态密钥方法主要是修改中间件的启动配置文件,能 够实现服务器中间件自动加载动态密钥,进而降低人工运维的工作量。
31.如图1所示,该中间件加载动态密钥方法,具体包括:步骤s101至步骤s104。
32.步骤s101、获取应用部署服务器的中间件的启动文件所在路径的文件目录, 在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥。
33.具体地,可以在先确定应用部署服务器的中间件的启动文件所在路径对应 的文件目录,在该文件目录下创建脚本文件,即将脚本文件保存在该启动文件 所在的文件目标。其中,该脚本文件的作用是用于从密钥库中获取动态密钥。
34.在一些实施例中,运行并显示所述中间件的管理界面,所述管理界面显示 有多个文件所在路径的文件目录;获取用户在所述管理界面中选择的所述中间 件的启动文件所在路径的文件目录;获取生成的脚本文件,将所述脚本文件保 存在所述启动文件所在路径的文件目录。
35.在一些实施例中,在文件目录下创建脚本文件之前,还包括:获取预先设 置的获取函数、执行权限和第一指针变量,所述获取函数与密钥库的api连接 用于获取动态密钥,所述第一指针变量用于存储所述动态密钥,所述执行权限 用于限定所述脚本文件在认证通过时执行,根据获取函数、执行权限和第一指 针变量生成脚本文件。
36.这样,脚本文件运行时可以从密钥库的应用编程接口(api接口)中获取动 态密钥,并将动态密钥存储至预设的数据库里。
37.在一些实施例中,基于微软云的密钥库具体是将初始密码加密后形成动态 密钥,并通过统一的应用编程接口(api接口)和接入协议对外提供相关的动态 密钥数据。获取函数能够按照接入协议生成身份认证信息,才可以获取动态密 钥。例如,服务器中间件须按照接入协议完成密钥库的身份认证,才能够连接 应用编程接口,获取动态密钥数据。
38.具体地,密钥库根据预先设置的身份认证信息确定外部用户的身份以及能 够执行的信息调用操作;服务器中间件运行所述获取函数,向密钥库发送身份 认证信息,获取所需的动态密钥数据。
39.脚本文件包括第一指针变量,第一指针变量用于关联启动配置文件。通过 第一指针变量,脚本文件能够将从密钥库获取的动态密钥存储在启动配置文件 的预设数据库中。
40.在一些实施例中,还可以向密钥库获取的动态密钥增加中间件启动配置文 件的作用域的声明标示符,然后再将修改后的动态密钥存储至预设的数据库中。 这样可以进一步增加动态密钥调用的安全性。
(hsm)进行加密。访问密钥库需要适当的身份认证和授权,否则调用方(用 户或应用程序)无法进行访问。身份认证用于确定调用方的身份,而授权则决 定了调用方能够执行的操作。运行脚本文件,通过获取函数完成密钥库的身份 认证,并从应用编程接口获取动态密钥。
51.示例性的,密钥库的身份验证通过azure active directory来完成。授权可以 通过基于角色的访问控制(rbac)或key vault访问策略来完成。进行保管库的管 理时,使用rbac;尝试访问存储在保管库中的数据时,使用密钥库访问策略。
52.如果需要提高可靠性,还可以对密钥库进行软件或硬件安全模块保护,例 如,在硬件安全模块(hsm)中导入或生成永不超出hsm边界的密钥。
53.在一些实施例中,通过脚本文件的第一指针变量实现脚本文件与中间件的 启动配置文件之间的数据交互;通过所述脚本文件的获取函数从所述密钥库中 获取动态密钥,将获取的动态密钥存储到中间件的启动配置文件的预设数据库 中,并支持被进一步调用。
54.步骤s104、向所述中间件的启动配置文件中添加用于解析所述动态密钥的 解密算法,重启所述中间件以完成动态密钥的更新。
55.具体地,通过sudo su用户进入启动配置文件编辑界面,向启动配置文件中 添加解密算法,解密算法用于解析动态密钥,在解密算法的命令语句中增加启 动配置文件的作用域的声明标识符,将解密算法归纳入启动配置文件的作用域 的作用范围。如果解密算法在不同作用域或者其他域的启动文件、配置文件中, 则该解密算法不能单独被引用,默认不存在相关命令语句。
56.其中,所述添加解密算法包括:1、向启动配置文件的代码文本中写入解密 算法的代码语句;2、获取封装打包的解密算法,并在启动配置文件中引用所述 解密算法。
57.示例性的,解密算法包括:aes对称密钥算法和des对称密钥算法。
58.其中,aes对称密钥算法的加密和解密都是用同一个解密规则,加密过程 是在一个4
×
4的字节矩阵上运作,这个矩阵又称为"状态(state)",因为密钥和加 密块要在矩阵上多次的迭代,置换,组合,所以对加密块和密钥的字节数都有 一定的要求,aes的密钥长度的最少支持为128、192、256,加密块分组长度 128位。这种加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无 法解密。
59.des对称密钥算法的入口参数有三个:key、data、mode。其中key为8 个字节共64位,是des算法的工作密钥;data也为8个字节64位,是要被加 密或被解密的数据;mode为des的工作方式,有两种:加密或解密。
60.des对称密钥算法是这样工作的:如mode为加密,则用key去把数据data 进行加密,生成data的密文形式(64位)作为des的输出结果;如mode为解 密,则用key去把密码形式的数据data解密,还原为data的明文形式(64位) 作为des的输出结果。
61.在通信网络的两端,双方约定一致的key,在通信的源点用key对核心数 据进行des加密,然后以密码形式在公共通信网(如电话网)中传输到通信网 络的终点,数据到达目的地后,用同样的key对密码数据进行解密,便再现了 明码形式的核心数据。这样,便保证了核心数据(如pin、mac等)在公共通 信网中传输的安全性和可靠性。
62.在一些实施例中,解密算法还包含第二指针变量,通过第二指针变量将解 密算法与中间件的启动配置文件的预设数据库关联。这样,解密算法能够在启 动配置文件的作用
域中运行,并与启动配置文件实现数据的交互。
63.中间件接收登陆密码,调用解密算法和动态密钥,将动态密钥还原成初始 密码,并将初始密码和登陆密码进行匹配。需要说明的是,经过解密算法还原 得到的初始密码仅完成一次匹配后就删除,不进入数据库。
64.在一些实施例中,将解密算法与中间件的启动配置文件关联至同一作用域; 所述解密算法通过第二指针变量关联所述预设数据库,并读取所述动态密钥。 登陆中间件需要完成动态密钥与初始密码对照,由于脚本文件本身不存储初始 密码,所以调用预设数据库中的动态密钥,需要将解密算法与中间件的启动配 置文件关联至同一作用域。其中,通过定义解密算法的步骤和执行范围,能提 升解密过程的速度,也能增加系统的安全性。
65.重启所述中间件,完成动态密钥的更新。具体地,重启中间件激活并运行 脚本文件和解密算法,获取当前的动态密钥,并将当前的动态密钥保存至预设 的数据库中。
66.在一些实施例中,可以给服务器中间件设置与动态密钥加密周期相同的重 启周期,使服务器中间件与密钥库的密钥更新频率同步,实现服务器自动加载 动态密钥。
67.基于上述步骤,使中间件的启动配置文件与所述脚本文件相关联,并将启 动配置文件、脚本文件和解密算法引入至同一作用域,据此,重启中间件即可 实现应用部署服务器的所有类型的中间件自动加载动态密钥,既有效防止了密 钥等敏感信息泄露的风险,又减少了系统运维的工作量。
68.基于上述步骤,本技术提供了一种以服务器的日志存储中间件logstash作为 实现对象的实施例,图2为日志存储中间件加载动态密钥的示意性框图,如图2 所示,该日志存储中间件(logstash)的动态密钥加载方法具体为:
69.如图2所示,获取应用部署服务器的日志存储中间件(logstash)的启动文 件所在路径(/usr/local/logstash/bin)的文件目录,在文件目录 (/usr/local/logstash/bin)下创建脚本文件(logstash

system),脚本文件 (logstash

system)包括执行权限、第一指针变量和获取函数。将所述中间件的 启动配置文件(conf.d)与脚本文件(logstash

system)相关联,并将所述启动配 置文件与所述脚本文件引入至同一作用域(logstash

service)。通过接入协议, 将脚本文件(logstash

system)的获取函数与密钥库(key vault)连接,获取动 态密钥,并将所述动态密钥传输至所述中间件的启动配置文件(conf.d)的数据 库。向中间件的启动配置文件(conf.d)中添加用于解析所述动态密钥的解密算 法。其中,解密算法和中间件的启动配置文件(conf.d)也关联至同一作用域 (logstash

service)。
70.修改配置保存成功后执行命令:systemctl daemon

reload(重新加载服务配置 文件),重启中间件(logstash)以完成动态密钥的更新。
71.请参阅图3,图3是本技术的实施例还提供一种中间件加载动态密钥装置的 示意性框图,其中,该中间件加载动态密钥装置可以配置于服务器或终端中。
72.其中,服务器可以为独立的服务器,也可以为服务器集群,还可以是提供 云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服 务、域名服务、安全服务、内容分发网络(content delivery network,cdn)以及 大数据和人工智能平台等基础云计算服务的云服务器。该终端可以是手机、平 板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
73.如图3所示,中间件加载动态密钥装置300包括:脚本创建模块301、关联 配置模块模块302、密钥获取模块303和解析配置模块304。
74.脚本创建模块301,用于获取应用部署服务器的中间件的启动文件所在路径 的文件目录,在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中 获取动态密钥。
75.在一些实施例中,脚本创建模块301具体用于获取预先设置的获取函数、 执行权限和第一指针变量,所述获取函数与密钥库的api连接用于获取动态密 钥,所述第一指针变量用于存储所述动态密钥,所述执行权限用于限定所述脚 本文件在认证通过时执行;根据所述获取函数、执行权限和第一指针变量生成 脚本文件。
76.在一些实施例中,脚本创建模块301还具体用于运行并显示所述中间件的 管理界面,所述管理界面显示有多个文件所在路径的文件目录;获取用户在所 述管理界面中选择的所述中间件的启动文件所在路径的文件目录;获取生成的 脚本文件,将所述脚本文件保存在所述启动文件所在路径的文件目录。
77.关联配置模块302,用于将所述中间件的启动配置文件与所述脚本文件相关 联,并将所述启动配置文件与所述脚本文件引入至同一作用域。
78.密钥获取模块303,用于通过所述脚本文件从密钥库中获取动态密钥,并将 所述动态密钥传输至所述中间件的启动配置文件。
79.在一些实施例中,密钥获取模块303具体用于通过所述第一指针变量将所 述脚本文件与所述中间件的启动配置文件进行数据关联;通过所述脚本文件的 获取函数从所述密钥库中获取动态密钥,将获取的所述动态密钥存储到所述中 间件的启动配置文件的预设数据库中。
80.解析配置模块304,用于向所述中间件的启动配置文件中添加用于解析所述 动态密钥的解密算法,重启所述中间件以完成动态密钥的更新。
81.在一些实施例中,解析配置模块304还具体用于将解密算法与所述中间件 的启动配置文件关联至所述同一作用域;通过所述第二指针变量关联所述预设 数据库,并读取所述动态密钥。
82.在一些实施例中,所述解析配置模块304还具体用于获取预先设置的所述 中间件的重启周期,所述中间件的重启周期与所述动态密钥的变更周期相同; 根据所述重启周期重启所述中间件,完成动态密钥的更新。
83.需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便 和简洁,上述描述的中间件加载动态密钥装置和各模块的具体工作过程,可以 参考前述中间件加载动态密钥方法实施例中的对应过程,在此不再赘述。
84.上述的中间件加载动态密钥装置可以实现为一种计算机程序的形式,该计 算机程序可以在如图4所示的计算机设备上运行。
85.请参阅图4,图4是本技术实施例提供的一种计算机设备的结构示意性框图。 该计算机设备可以是服务器或终端。
86.参阅图4,该计算机设备包括通过系统总线连接的处理器、存储器和网络接 口,其中,存储器可以包括非易失性存储介质和内存储器。
87.非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序 指令,该程序指令被执行时,可使得处理器执行本技术实施例中提供的任意一 种中间件加载动
态密钥方法。
88.处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
89.内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机 程序被处理器执行时,可使得处理器执行一种中间件加载动态密钥方法。
90.该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可 以理解,图4中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并 不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可 以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部 件布置。
91.应当理解的是,处理器可以是中央处理单元(central processing unit,cpu), 该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor, dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程 门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分 立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理 器或者该处理器也可以是任何常规的处理器等。
92.示例性的,在一个实施例中,所述处理器用于运行存储在存储器中的计算 机程序,以实现如下步骤:
93.获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文 件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥;
94.将所述中间件的启动配置文件与所述脚本文件相关联,并将所述启动配置 文件与所述脚本文件引入至同一作用域;
95.通过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所 述中间件的启动配置文件;
96.向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法, 重启所述中间件以完成动态密钥的更新。
97.在一些实施例中,所述处理器在用于获取应用部署服务器的中间件的启动 文件所在路径的文件目录,在所述文件目录下创建脚本文件之前,还用于实现:
98.获取预先设置的获取函数、执行权限和第一指针变量,所述获取函数与密 钥库的api连接用于获取动态密钥,所述第一指针变量用于存储所述动态密钥, 所述执行权限用于限定所述脚本文件在认证通过时执行;根据所述获取函数、 执行权限和第一指针变量生成脚本文件。
99.在一些实施例中,所述处理器在实现获取应用部署服务器的中间件的启动 文件所在路径的文件目录,在所述文件目录下创建脚本文件时,还具体用于实 现:
100.运行并显示所述中间件的管理界面,所述管理界面显示有多个文件所在路 径的文件目录;获取用户在所述管理界面中选择的所述中间件的启动文件所在 路径的文件目录;获取生成的脚本文件,将所述脚本文件保存在所述启动文件 所在路径的文件目录。
101.在一些实施例中,所述处理器在实现所述通过所述脚本文件从密钥库中获 取动态密钥,并将动态密钥传输至中间件的启动配置文件时,还具体用于实现:
102.通过所述第一指针变量将所述脚本文件与所述中间件的启动配置文件进行 数据关联;通过所述脚本文件的获取函数从所述密钥库中获取动态密钥;将获 取的所述动态密
钥存储到所述中间件的启动配置文件的预设数据库中。
103.在一些实施例中,所述处理器在实现所述向所述中间件的启动配置文件中 添加用于解析所述动态密钥的解密算法时,还具体用于实现:
104.将解密算法与所述中间件的启动配置文件关联至所述同一作用域,所述解 密算法包括第二指针变量;
105.通过所述第二指针变量关联所述预设数据库,并读取所述动态密钥。
106.在一些实施例中,所述处理器在实现所述重启所述中间件,完成动态密钥 的更新时,还具体用于实现:
107.获取预先设置的所述中间件的重启周期,所述中间件的重启周期与所述动 态密钥的变更周期相同;根据所述重启周期重启所述中间件,完成动态密钥的 更新。
108.在一些实施例中,所述处理器在用于将所述中间件的启动配置文件与所述 脚本文件相关联之前,还用于实现:
109.对预先设置的权限管理机制进行验证,在通过所述权限管理机制的验证通 过后,将所述中间件的启动配置文件与所述脚本文件引入至同一作用域。
110.本技术的实施例中还提供一种计算机可读存储介质,所述计算机可读存储 介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所 述程序指令,实现本技术实施例提供的任一项中间件加载动态密钥方法。
111.其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内 部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也 可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式 硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、 闪存卡(flash card)等。
112.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到 各种等效的修改或替换,这些修改或替换都应涵盖在本技术的保护范围之内。 因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献