CN113886014A - 中间件加载动态密钥方法、装置、设备及存储介质 - Google Patents
中间件加载动态密钥方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113886014A CN113886014A CN202111155134.7A CN202111155134A CN113886014A CN 113886014 A CN113886014 A CN 113886014A CN 202111155134 A CN202111155134 A CN 202111155134A CN 113886014 A CN113886014 A CN 113886014A
- Authority
- CN
- China
- Prior art keywords
- middleware
- file
- dynamic key
- key
- script
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及通信领域,具体公开了一种服务器中间件加载动态密钥方法、装置、设备及存储介质,所述方法包括:获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中获取密钥;将所述中间件的启动配置文件与所述脚本文件相关联,并将所述启动配置文件与所述脚本文件引入至同一作用域;通过所述脚本文件从密钥库中获取动态密钥,并将动态密钥传输至中间件的启动配置文件;向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法,重启所述中间件以完成动态密钥的更新。这样,可以减少人工维护服务器中间件的运维工作量。
Description
技术领域
本申请涉及密码学领域,尤其涉及一种中间件加载动态密钥方法、装置、 设备及存储介质。
背景技术
阿布扎比数字沙盒平台网站系统(ADGM Digital Lab)的系统后端模块是基 于微软云平台上进行部署的。微软云提出的key vault(密钥库)安全组件,其 作用就是一个保险库,能把各种机密信息(比如:密钥、令牌证书等)管理起来, 并且其管理的密钥会周期性的动态生成新的密钥。
由于应用部署服务器的中间件的密钥是都管理员配置的,一般情况下不进 行改动。若中间件使用了上述密钥库,则中间件的密钥也需要跟随密钥库周期 性变化,这种变化存在的确定如下:1、若该动态密钥的变化周期小,则配置参 数变更频繁,管理员的运维工作量会增大;2、重大型系统所需服务器数量可达 到几十个台的集群,难以进行拆分管理。
发明内容
本申请提供了一种中间件加载动态密钥方法、装置、设备及存储介质,用 于服务器中间件自动加载动态密钥,以减少人工运维的工作量。
第一方面,本申请提供了一种中间件加载动态密钥方法,所述方法包括:
获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文 件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥;
将所述中间件的启动配置文件与所述脚本文件相关联,并将所述启动配置 文件与所述脚本文件引入至同一作用域;
通过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所 述中间件的启动配置文件;
向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法, 重启所述中间件以完成动态密钥的更新。
基于此,能够通过脚本置入完成密钥获取,配置相同作用域完成数据还原 和对照,实现了应用部署服务器中间件自动加载动态密钥,减少了人工运维管 理的工作量,以及适应重大型系统的服务器集群的部署需求。
第二方面,本申请还提供了一种中间件加载动态密钥装置,所述中间件加 载动态密钥装置包括:
脚本创建模块,用于获取应用部署服务器的中间件的启动文件所在路径的 文件目录,在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中获 取动态密钥;
关联配置模块,用于将所述中间件的启动配置文件与所述脚本文件相关联, 并将所述启动配置文件与所述脚本文件引入至同一作用域;
密钥获取模块,用于通过所述脚本文件从密钥库中获取动态密钥,并将所 述动态密钥传输至所述中间件的启动配置文件;
解析配置模块,用于向所述中间件的启动配置文件中添加用于解析所述动 态密钥的解密算法,重启所述中间件以完成动态密钥的更新。
第三方面,本申请还提供了一种计算机设备,所述计算机设备包括存储器 和处理器;所述存储器用于存储计算机程序;所述处理器,用于执行所述计算 机程序并在执行所述计算机程序时实现如本申请实施例提供任意一种所述的中 间件加载动态密钥方法。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存 储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现 如本申请实施例提供任意一种所述的中间件加载动态密钥方法。
本申请公开了一种中间件加载动态密钥方法、装置、设备及存储介质,可 应用在微软云系统的应用部署服务器中间件,通过获取应用部署服务器的中间 件的启动文件所在路径的文件目录,在所述文件目录下创建脚本文件,所述脚 本文件用于从密钥库中获取动态密钥;将所述中间件的启动配置文件与所述脚 本文件相关联,并将所述启动配置文件与所述脚本文件引入至同一作用域;通 过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所述中间 件的启动配置文件;向所述中间件的启动配置文件中添加用于解析所述动态密 钥的解密算法,重启所述中间件以完成动态密钥的更新,实现了应用部署服务 器中间件自动加载动态密钥,在提升安全性的同时,降低运维管理的工作量, 以及适应重大型系统的服务器集群的部署需求。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要 使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实 施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
图1是本申请实施例提供的一种中间件加载动态密钥方法的示意流程图;
图2是本申请实施例提供的一种日志存储中间件加载动态密钥的示意性框 图;
图3是本申请实施例提供的一种中间件加载动态密钥装置的示意性框图;
图4是本申请实施例提供的一种计算机设备的结构示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部 的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳 动前提下所获得的所有其他实施例,都属于本申请保护的范围。
附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤, 也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部 分合并,因此实际执行的顺序有可能根据实际情况改变。
应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例 的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用 的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该” 意在包括复数形式。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指 相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些 组合。
为了实现服务器中间件加载动态密钥,以降低人工运维的工作量,本申请 提供了一种中间件自动加载动态密钥方法、装置、设备及存储介质。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下, 下述的实施例及实施例中的特征可以相互组合。
请参阅图1,图1是本申请实施例提供的一种中间件加载动态密钥方法的示 意流程图。该中间件加载动态密钥方法主要是修改中间件的启动配置文件,能 够实现服务器中间件自动加载动态密钥,进而降低人工运维的工作量。
如图1所示,该中间件加载动态密钥方法,具体包括:步骤S101至步骤S104。
步骤S101、获取应用部署服务器的中间件的启动文件所在路径的文件目录, 在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥。
具体地,可以在先确定应用部署服务器的中间件的启动文件所在路径对应 的文件目录,在该文件目录下创建脚本文件,即将脚本文件保存在该启动文件 所在的文件目标。其中,该脚本文件的作用是用于从密钥库中获取动态密钥。
在一些实施例中,运行并显示所述中间件的管理界面,所述管理界面显示 有多个文件所在路径的文件目录;获取用户在所述管理界面中选择的所述中间 件的启动文件所在路径的文件目录;获取生成的脚本文件,将所述脚本文件保 存在所述启动文件所在路径的文件目录。
在一些实施例中,在文件目录下创建脚本文件之前,还包括:获取预先设 置的获取函数、执行权限和第一指针变量,所述获取函数与密钥库的API连接 用于获取动态密钥,所述第一指针变量用于存储所述动态密钥,所述执行权限 用于限定所述脚本文件在认证通过时执行,根据获取函数、执行权限和第一指 针变量生成脚本文件。
这样,脚本文件运行时可以从密钥库的应用编程接口(API接口)中获取动 态密钥,并将动态密钥存储至预设的数据库里。
在一些实施例中,基于微软云的密钥库具体是将初始密码加密后形成动态 密钥,并通过统一的应用编程接口(API接口)和接入协议对外提供相关的动态 密钥数据。获取函数能够按照接入协议生成身份认证信息,才可以获取动态密 钥。例如,服务器中间件须按照接入协议完成密钥库的身份认证,才能够连接 应用编程接口,获取动态密钥数据。
具体地,密钥库根据预先设置的身份认证信息确定外部用户的身份以及能 够执行的信息调用操作;服务器中间件运行所述获取函数,向密钥库发送身份 认证信息,获取所需的动态密钥数据。
脚本文件包括第一指针变量,第一指针变量用于关联启动配置文件。通过 第一指针变量,脚本文件能够将从密钥库获取的动态密钥存储在启动配置文件 的预设数据库中。
在一些实施例中,还可以向密钥库获取的动态密钥增加中间件启动配置文 件的作用域的声明标示符,然后再将修改后的动态密钥存储至预设的数据库中。 这样可以进一步增加动态密钥调用的安全性。
在一些实施例中,为了提高安全性,还可以对脚本文件设置执行权限,目 的是防止恶意脚本文件的执行。在默认情况下,脚本文件的执行被设为受限的, 意味着脚本文件无法自动执行,需要经过认证方可执行,认证方法包括:1、通 过管理员的身份在启动文件中编辑的脚本文件可以直接运行;2、在文本目录中 创建的脚本文件必须拥有受信任的发布者签名才能运行。其中,为了增加脚本 文件的安全性,脚本文件还可以设置为管理员用户可见,其它用户不可见。
步骤S102、将中间件的启动配置文件与脚本文件相关联,并将启动配置文 件与脚本文件引入至同一作用域。
在将中间件的启动配置文件与脚本文件相关联之前,还可以对预先设置的 权限管理机制进行验证,在通过所述权限管理机制的验证通过后,再将中间件 的启动配置文件与脚本文件相关联,以及将中间件的启动配置文件与脚本文件 引入至同一作用域。
具体地,预先设置一个权限管理机制,在通过权限管理机制的验证后,在 脚本文件的代码语句中增加启动配置文件的作用域的声明标识符,在启动配置 文件中引用脚本文件,将脚本文件归纳入启动配置文件的作用域的作用范围。 同时,通过第一指针变量将脚本文件与中间件的启动配置文件的预设数据库关 联。第一指针变量的主要作用是将获取的动态密钥的数据存储到中间件的启动 配置文件的预设数据库中,并支持被进一步调用。如果脚本文件在不同作用域 或者其他域的启动文件、配置文件中,则该脚本文件不能单独被引用,默认不 存在相关命令语句,即使脚本文件泄露,也不能将其置入其它作用域中运行。 这样,脚本文件能够在启动配置文件的作用域中运行,并与启动配置文件实现 数据的交互。
需要说明的是,作用域就是变量和函数的作用范围,是执行上下文的划分, 其作用是负责收集并维护由所有声明的标识符组成的一系列查询,并实施一套 严格的规则,确定当前执行的代码对这些标识符的访问权限。
按类型分,有两种作用域:global(全局作用域)和script(脚本作用域)。 启动PowerShell命令行后,所有命令行命令在全局作用域中运行。而脚本文件 在script作用域中运行,运行结束后脚本中定义的变量和函数不在可见。这是因 为在脚本中定义的变量和函数默认位于script作用域中。当然也可以显示定义变 量和函数的作用域,比如functionglobal:fun1(){…}。这样,脚本执行完之后, fun1还能够在全局作用域中执行。
在一些实施例中,权限管理机制可以是sudo su,其定义了授权给哪个用户 可以以管理员的身份能够执行什么样的管理命令。权限管理机制sudo su的验证 权限通过根命令root授权获取。sudo su用户获取授权后,对作用域进行修改时, 输入的是sudo su用户设定的密码,而不是根命令root的密码。这样,可以有效 防止根命令root密码泄露,降低计算机完全被窃取root密码的人所控制的风险。
步骤S103、通过所述脚本文件从密钥库中获取动态密钥,并将动态密钥传 输至中间件的启动配置文件。
具体地,密钥库的应用编程接口是预先赋予定义的接口,该接口是为程序 员在编程时使用的,系统和应用程序通过应用编程接口,可在执行中访问系统 中的资源和取得OS的服务,它也是程序能取得操作微软云服务的唯一途径。
初始密码由密钥库(Azure)使用行业标准的算法、密钥长度和硬件安全模块(HSM)进行加密。访问密钥库需要适当的身份认证和授权,否则调用方(用 户或应用程序)无法进行访问。身份认证用于确定调用方的身份,而授权则决 定了调用方能够执行的操作。运行脚本文件,通过获取函数完成密钥库的身份 认证,并从应用编程接口获取动态密钥。
示例性的,密钥库的身份验证通过Azure Active Directory来完成。授权可以 通过基于角色的访问控制(RBAC)或Key Vault访问策略来完成。进行保管库的管 理时,使用RBAC;尝试访问存储在保管库中的数据时,使用密钥库访问策略。
如果需要提高可靠性,还可以对密钥库进行软件或硬件安全模块保护,例 如,在硬件安全模块(HSM)中导入或生成永不超出HSM边界的密钥。
在一些实施例中,通过脚本文件的第一指针变量实现脚本文件与中间件的 启动配置文件之间的数据交互;通过所述脚本文件的获取函数从所述密钥库中 获取动态密钥,将获取的动态密钥存储到中间件的启动配置文件的预设数据库 中,并支持被进一步调用。
步骤S104、向所述中间件的启动配置文件中添加用于解析所述动态密钥的 解密算法,重启所述中间件以完成动态密钥的更新。
具体地,通过sudo su用户进入启动配置文件编辑界面,向启动配置文件中 添加解密算法,解密算法用于解析动态密钥,在解密算法的命令语句中增加启 动配置文件的作用域的声明标识符,将解密算法归纳入启动配置文件的作用域 的作用范围。如果解密算法在不同作用域或者其他域的启动文件、配置文件中, 则该解密算法不能单独被引用,默认不存在相关命令语句。
其中,所述添加解密算法包括:1、向启动配置文件的代码文本中写入解密 算法的代码语句;2、获取封装打包的解密算法,并在启动配置文件中引用所述 解密算法。
示例性的,解密算法包括:AES对称密钥算法和DES对称密钥算法。
其中,AES对称密钥算法的加密和解密都是用同一个解密规则,加密过程 是在一个4×4的字节矩阵上运作,这个矩阵又称为"状态(state)",因为密钥和加 密块要在矩阵上多次的迭代,置换,组合,所以对加密块和密钥的字节数都有 一定的要求,AES的密钥长度的最少支持为128、192、256,加密块分组长度 128位。这种加密模式有一个最大弱点:甲方必须把加密规则告诉乙方,否则无 法解密。
DES对称密钥算法的入口参数有三个:Key、Data、Mode。其中Key为8 个字节共64位,是DES算法的工作密钥;Data也为8个字节64位,是要被加 密或被解密的数据;Mode为DES的工作方式,有两种:加密或解密。
DES对称密钥算法是这样工作的:如Mode为加密,则用Key去把数据Data 进行加密,生成Data的密文形式(64位)作为DES的输出结果;如Mode为解 密,则用Key去把密码形式的数据Data解密,还原为Data的明文形式(64位) 作为DES的输出结果。
在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数 据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网 络的终点,数据到达目的地后,用同样的Key对密码数据进行解密,便再现了 明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通 信网中传输的安全性和可靠性。
在一些实施例中,解密算法还包含第二指针变量,通过第二指针变量将解 密算法与中间件的启动配置文件的预设数据库关联。这样,解密算法能够在启 动配置文件的作用域中运行,并与启动配置文件实现数据的交互。
中间件接收登陆密码,调用解密算法和动态密钥,将动态密钥还原成初始 密码,并将初始密码和登陆密码进行匹配。需要说明的是,经过解密算法还原 得到的初始密码仅完成一次匹配后就删除,不进入数据库。
在一些实施例中,将解密算法与中间件的启动配置文件关联至同一作用域; 所述解密算法通过第二指针变量关联所述预设数据库,并读取所述动态密钥。 登陆中间件需要完成动态密钥与初始密码对照,由于脚本文件本身不存储初始 密码,所以调用预设数据库中的动态密钥,需要将解密算法与中间件的启动配 置文件关联至同一作用域。其中,通过定义解密算法的步骤和执行范围,能提 升解密过程的速度,也能增加系统的安全性。
重启所述中间件,完成动态密钥的更新。具体地,重启中间件激活并运行 脚本文件和解密算法,获取当前的动态密钥,并将当前的动态密钥保存至预设 的数据库中。
在一些实施例中,可以给服务器中间件设置与动态密钥加密周期相同的重 启周期,使服务器中间件与密钥库的密钥更新频率同步,实现服务器自动加载 动态密钥。
基于上述步骤,使中间件的启动配置文件与所述脚本文件相关联,并将启 动配置文件、脚本文件和解密算法引入至同一作用域,据此,重启中间件即可 实现应用部署服务器的所有类型的中间件自动加载动态密钥,既有效防止了密 钥等敏感信息泄露的风险,又减少了系统运维的工作量。
基于上述步骤,本申请提供了一种以服务器的日志存储中间件logstash作为 实现对象的实施例,图2为日志存储中间件加载动态密钥的示意性框图,如图2 所示,该日志存储中间件(logstash)的动态密钥加载方法具体为:
如图2所示,获取应用部署服务器的日志存储中间件(logstash)的启动文 件所在路径(/usr/local/logstash/bin)的文件目录,在文件目录 (/usr/local/logstash/bin)下创建脚本文件(logstash-system),脚本文件 (logstash-system)包括执行权限、第一指针变量和获取函数。将所述中间件的 启动配置文件(conf.d)与脚本文件(logstash-system)相关联,并将所述启动配 置文件与所述脚本文件引入至同一作用域(logstash-service)。通过接入协议, 将脚本文件(logstash-system)的获取函数与密钥库(keyvault)连接,获取动 态密钥,并将所述动态密钥传输至所述中间件的启动配置文件(conf.d)的数据 库。向中间件的启动配置文件(conf.d)中添加用于解析所述动态密钥的解密算 法。其中,解密算法和中间件的启动配置文件(conf.d)也关联至同一作用域(logstash-service)。
修改配置保存成功后执行命令:systemctl daemon-reload(重新加载服务配置文件),重启中间件(logstash)以完成动态密钥的更新。
请参阅图3,图3是本申请的实施例还提供一种中间件加载动态密钥装置的 示意性框图,其中,该中间件加载动态密钥装置可以配置于服务器或终端中。
其中,服务器可以为独立的服务器,也可以为服务器集群,还可以是提供 云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服 务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及 大数据和人工智能平台等基础云计算服务的云服务器。该终端可以是手机、平 板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等电子设备。
如图3所示,中间件加载动态密钥装置300包括:脚本创建模块301、关联 配置模块模块302、密钥获取模块303和解析配置模块304。
脚本创建模块301,用于获取应用部署服务器的中间件的启动文件所在路径 的文件目录,在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中 获取动态密钥。
在一些实施例中,脚本创建模块301具体用于获取预先设置的获取函数、 执行权限和第一指针变量,所述获取函数与密钥库的API连接用于获取动态密 钥,所述第一指针变量用于存储所述动态密钥,所述执行权限用于限定所述脚 本文件在认证通过时执行;根据所述获取函数、执行权限和第一指针变量生成 脚本文件。
在一些实施例中,脚本创建模块301还具体用于运行并显示所述中间件的 管理界面,所述管理界面显示有多个文件所在路径的文件目录;获取用户在所 述管理界面中选择的所述中间件的启动文件所在路径的文件目录;获取生成的 脚本文件,将所述脚本文件保存在所述启动文件所在路径的文件目录。
关联配置模块302,用于将所述中间件的启动配置文件与所述脚本文件相关 联,并将所述启动配置文件与所述脚本文件引入至同一作用域。
密钥获取模块303,用于通过所述脚本文件从密钥库中获取动态密钥,并将 所述动态密钥传输至所述中间件的启动配置文件。
在一些实施例中,密钥获取模块303具体用于通过所述第一指针变量将所 述脚本文件与所述中间件的启动配置文件进行数据关联;通过所述脚本文件的 获取函数从所述密钥库中获取动态密钥,将获取的所述动态密钥存储到所述中 间件的启动配置文件的预设数据库中。
解析配置模块304,用于向所述中间件的启动配置文件中添加用于解析所述 动态密钥的解密算法,重启所述中间件以完成动态密钥的更新。
在一些实施例中,解析配置模块304还具体用于将解密算法与所述中间件 的启动配置文件关联至所述同一作用域;通过所述第二指针变量关联所述预设 数据库,并读取所述动态密钥。
在一些实施例中,所述解析配置模块304还具体用于获取预先设置的所述 中间件的重启周期,所述中间件的重启周期与所述动态密钥的变更周期相同; 根据所述重启周期重启所述中间件,完成动态密钥的更新。
需要说明的是,所属领域的技术人员可以清楚地了解到,为了描述的方便 和简洁,上述描述的中间件加载动态密钥装置和各模块的具体工作过程,可以 参考前述中间件加载动态密钥方法实施例中的对应过程,在此不再赘述。
上述的中间件加载动态密钥装置可以实现为一种计算机程序的形式,该计 算机程序可以在如图4所示的计算机设备上运行。
请参阅图4,图4是本申请实施例提供的一种计算机设备的结构示意性框图。 该计算机设备可以是服务器或终端。
参阅图4,该计算机设备包括通过系统总线连接的处理器、存储器和网络接 口,其中,存储器可以包括非易失性存储介质和内存储器。
非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序 指令,该程序指令被执行时,可使得处理器执行本申请实施例中提供的任意一 种中间件加载动态密钥方法。
处理器用于提供计算和控制能力,支撑整个计算机设备的运行。
内存储器为非易失性存储介质中的计算机程序的运行提供环境,该计算机 程序被处理器执行时,可使得处理器执行一种中间件加载动态密钥方法。
该网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可 以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并 不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可 以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部 件布置。
应当理解的是,处理器可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor, DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程 门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分 立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理 器或者该处理器也可以是任何常规的处理器等。
示例性的,在一个实施例中,所述处理器用于运行存储在存储器中的计算 机程序,以实现如下步骤:
获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文 件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥;
将所述中间件的启动配置文件与所述脚本文件相关联,并将所述启动配置 文件与所述脚本文件引入至同一作用域;
通过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所 述中间件的启动配置文件;
向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法, 重启所述中间件以完成动态密钥的更新。
在一些实施例中,所述处理器在用于获取应用部署服务器的中间件的启动 文件所在路径的文件目录,在所述文件目录下创建脚本文件之前,还用于实现:
获取预先设置的获取函数、执行权限和第一指针变量,所述获取函数与密 钥库的API连接用于获取动态密钥,所述第一指针变量用于存储所述动态密钥, 所述执行权限用于限定所述脚本文件在认证通过时执行;根据所述获取函数、 执行权限和第一指针变量生成脚本文件。
在一些实施例中,所述处理器在实现获取应用部署服务器的中间件的启动 文件所在路径的文件目录,在所述文件目录下创建脚本文件时,还具体用于实 现:
运行并显示所述中间件的管理界面,所述管理界面显示有多个文件所在路 径的文件目录;获取用户在所述管理界面中选择的所述中间件的启动文件所在 路径的文件目录;获取生成的脚本文件,将所述脚本文件保存在所述启动文件 所在路径的文件目录。
在一些实施例中,所述处理器在实现所述通过所述脚本文件从密钥库中获 取动态密钥,并将动态密钥传输至中间件的启动配置文件时,还具体用于实现:
通过所述第一指针变量将所述脚本文件与所述中间件的启动配置文件进行 数据关联;通过所述脚本文件的获取函数从所述密钥库中获取动态密钥;将获 取的所述动态密钥存储到所述中间件的启动配置文件的预设数据库中。
在一些实施例中,所述处理器在实现所述向所述中间件的启动配置文件中 添加用于解析所述动态密钥的解密算法时,还具体用于实现:
将解密算法与所述中间件的启动配置文件关联至所述同一作用域,所述解 密算法包括第二指针变量;
通过所述第二指针变量关联所述预设数据库,并读取所述动态密钥。
在一些实施例中,所述处理器在实现所述重启所述中间件,完成动态密钥 的更新时,还具体用于实现:
获取预先设置的所述中间件的重启周期,所述中间件的重启周期与所述动 态密钥的变更周期相同;根据所述重启周期重启所述中间件,完成动态密钥的 更新。
在一些实施例中,所述处理器在用于将所述中间件的启动配置文件与所述 脚本文件相关联之前,还用于实现:
对预先设置的权限管理机制进行验证,在通过所述权限管理机制的验证通 过后,将所述中间件的启动配置文件与所述脚本文件引入至同一作用域。
本申请的实施例中还提供一种计算机可读存储介质,所述计算机可读存储 介质存储有计算机程序,所述计算机程序中包括程序指令,所述处理器执行所 述程序指令,实现本申请实施例提供的任一项中间件加载动态密钥方法。
其中,所述计算机可读存储介质可以是前述实施例所述的计算机设备的内 部存储单元,例如所述计算机设备的硬盘或内存。所述计算机可读存储介质也 可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式 硬盘、智能存储卡(SmartMedia Card,SMC)、安全数字(Secure Digital,SD)卡、 闪存卡(Flash Card)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于 此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到 各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。 因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种中间件加载动态密钥方法,其特征在于,包括:
获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥;
将所述中间件的启动配置文件与所述脚本文件相关联,并将所述启动配置文件与所述脚本文件引入至同一作用域;
通过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所述中间件的启动配置文件;
向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法,重启所述中间件以完成动态密钥的更新。
2.根据权利要求1所述的方法,其特征在于,所述获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文件目录下创建脚本文件之前,所述方法还包括:
获取预先设置的获取函数、执行权限和第一指针变量,所述获取函数与密钥库的API连接用于获取动态密钥,所述第一指针变量用于存储所述动态密钥,所述执行权限用于限定所述脚本文件在认证通过时执行;
根据所述获取函数、执行权限和第一指针变量生成脚本文件。
3.根据权利要求2所述的方法,其特征在于,所述获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文件目录下创建脚本文件,包括:
运行并显示所述中间件的管理界面,所述管理界面显示有多个文件所在路径的文件目录;
获取用户在所述管理界面中选择的所述中间件的启动文件所在路径的文件目录;
获取生成的脚本文件,将所述脚本文件保存在所述启动文件所在路径的文件目录。
4.根据权利要求2所述的方法,其特征在于,所述通过所述脚本文件从密钥库中获取动态密钥,并将动态密钥传输至中间件的启动配置文件,包括:
通过所述第一指针变量将所述脚本文件与所述中间件的启动配置文件进行数据关联;
通过所述脚本文件的获取函数从所述密钥库中获取动态密钥;
将获取的所述动态密钥存储到所述中间件的启动配置文件的预设数据库中。
5.根据权利要求1所述的方法,其特征在于,所述向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法,包括:
将解密算法与所述中间件的启动配置文件关联至所述同一作用域,所述解密算法包括第二指针变量;
通过所述第二指针变量关联所述预设数据库,并读取所述动态密钥。
6.根据权利要求1所述的方法,其特征在于,所述重启所述中间件以完成动态密钥的更新,包括:
获取预先设置的所述中间件的重启周期,所述中间件的重启周期与所述动态密钥的变更周期相同;
根据所述重启周期重启所述中间件,完成动态密钥的更新。
7.根据权利要求1所述的方法,其特征在于,所述将所述中间件的启动配置文件与所述脚本文件相关联之前,所述方法还包括:
对预先设置的权限管理机制进行验证,在通过所述权限管理机制的验证通过后,将所述中间件的启动配置文件与所述脚本文件引入至同一作用域。
8.一种中间件加载动态密钥装置,其特征在于,包括:
脚本创建模块,用于获取应用部署服务器的中间件的启动文件所在路径的文件目录,在所述文件目录下创建脚本文件,所述脚本文件用于从密钥库中获取动态密钥;
关联配置模块,用于将所述中间件的启动配置文件与所述脚本文件相关联,并将所述启动配置文件与所述脚本文件引入至同一作用域;
密钥获取模块,用于通过所述脚本文件从密钥库中获取动态密钥,并将所述动态密钥传输至所述中间件的启动配置文件;
解析配置模块,用于向所述中间件的启动配置文件中添加用于解析所述动态密钥的解密算法,重启所述中间件以完成动态密钥的更新。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器,用于执行所述计算机程序并在执行所述计算机程序时实现如权利要求1至7中任一项所述的中间件加载动态密钥方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的中间件加载动态密钥方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155134.7A CN113886014A (zh) | 2021-09-29 | 2021-09-29 | 中间件加载动态密钥方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111155134.7A CN113886014A (zh) | 2021-09-29 | 2021-09-29 | 中间件加载动态密钥方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113886014A true CN113886014A (zh) | 2022-01-04 |
Family
ID=79008494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111155134.7A Pending CN113886014A (zh) | 2021-09-29 | 2021-09-29 | 中间件加载动态密钥方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113886014A (zh) |
-
2021
- 2021-09-29 CN CN202111155134.7A patent/CN113886014A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708051B2 (en) | Controlled access to data in a sandboxed environment | |
CN111191286B (zh) | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 | |
US11381610B2 (en) | Systems and methods for establishing a channel between multiple devices | |
CN111737366B (zh) | 区块链的隐私数据处理方法、装置、设备以及存储介质 | |
CN109413043B (zh) | 实现数据库动态配置的方法及装置、电子设备、存储介质 | |
CN111488598A (zh) | 访问控制方法、装置、计算机设备和存储介质 | |
CN112313652A (zh) | 用于经由嵌入式浏览器提供数据丢失防护的系统和方法 | |
US11233832B2 (en) | Systems and methods for collaborating on forms in SaaS application | |
KR102396643B1 (ko) | Api 및 암호화 키의 비밀 관리 시스템 및 방법 | |
CN111538977B (zh) | 云api密钥的管理、云平台的访问方法、装置及服务器 | |
US20150264047A1 (en) | Method and system for providing secure communication between multiple operating systems in a communication device | |
US11736489B2 (en) | Systems and methods for securely managing browser plugins via embedded browser | |
CN112765637A (zh) | 数据处理方法、密码服务装置和电子设备 | |
US10771462B2 (en) | User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal | |
GB2594741A (en) | Multi-directional zero-knowledge attestation systems and methods | |
CN114448648B (zh) | 基于rpa的敏感凭据管理方法及系统 | |
CN110602051B (zh) | 基于共识协议的信息处理方法及相关装置 | |
US11750397B2 (en) | Attribute-based encryption keys as key material for key-hash message authentication code user authentication and authorization | |
CN113886014A (zh) | 中间件加载动态密钥方法、装置、设备及存储介质 | |
CN111931222B (zh) | 应用数据加密方法、装置、终端及存储介质 | |
DONG et al. | Sesoa: Security enhancement system with online authentication for android apk | |
JP6741236B2 (ja) | 情報処理装置 | |
Choi et al. | Hardware-assisted credential management scheme for preventing private data analysis from cloning attacks | |
CN115130141B (zh) | 一种文档处理方法、装置、移动终端及存储介质 | |
US11228583B2 (en) | Systems and methods for slogan based sharing of living SaaS objects |
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 |