CN116488903A - 密钥管理方法、装置、计算机设备及存储介质 - Google Patents

密钥管理方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN116488903A
CN116488903A CN202310453389.4A CN202310453389A CN116488903A CN 116488903 A CN116488903 A CN 116488903A CN 202310453389 A CN202310453389 A CN 202310453389A CN 116488903 A CN116488903 A CN 116488903A
Authority
CN
China
Prior art keywords
key
key pair
encryption
user
target application
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
Application number
CN202310453389.4A
Other languages
English (en)
Inventor
张亚辉
杨阳
关平
李全
韦义
邹得杰
苏开沛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guosen Securities Co ltd
Original Assignee
Guosen Securities Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guosen Securities Co ltd filed Critical Guosen Securities Co ltd
Priority to CN202310453389.4A priority Critical patent/CN116488903A/zh
Publication of CN116488903A publication Critical patent/CN116488903A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明实施例涉及加密技术领域,公开了一种密钥管理方法,该方法包括:接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;获取用户输入的需要加密的密码明文;使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。通过上述方式,本发明实施例实现了提高密钥的安全性,加解密过程自主可控。

Description

密钥管理方法、装置、计算机设备及存储介质
技术领域
本发明实施例涉及加密技术领域,具体涉及一种密钥管理方法、密钥管理装置、计算机设备及计算机可读存储介质。
背景技术
目前,在软件开发过程中,不可避免的需要用到密码来连接数据库,缓存或者需要做鉴权的接口,应用使用加密成密文的密码已经成为各个行业尤其金融行业的标准操作。
对于需要采用了大量外购应用系统来对接数据库时、缓存或者做鉴权接口时,应用系统如果做了加密,通常采用如下方法:
1、采用基本的base64对密码对做编码,使得密码不可读,该编码可以轻松破解。2、采用对称加密,密钥采用一个密钥加密,在应用端配置写明该密钥或者直接将密钥以文件形式存放于应用部署的服务器进行解密来使用密码,厂商可能直接提供加密后的密钥密文或者厂商会直接提供一个黑盒的加密工具对密码加密,加密过程不可见。3、采用非对称加密,密钥采用公钥加密,在应用端配置写明私钥或者直接将私钥以文件形式存放于应用部署的服务器,厂商可能直接提供加密后的密钥密文或者厂商会直接提供一个黑盒的加密工具对密码加密,加密公钥以及加密过程不可见。
然而本申请的发明人发现,以上的加密方法存在如下缺点:
1、密文获取的过程不可控,密码是否得到安全加密存在不确定性。2、即使采用了安全的加密方式,加密的方式不统一,加密的工具也是五花八门,加密的密钥无法被统一管理,密钥如果放在应用端以配置或者文件形式存放均存在泄露的风险。3、解密过程因为加密过程的五花八门而导致无法统一。4、整个加解密流程未被统一管理,存在第三方厂商介入,企业对加解密过程无法自主控制。
发明内容
鉴于上述问题,本发明实施例提供了一种密钥管理方法、密钥管理装置、计算机设备及计算机可读存储介质,用于解决现有技术中存在的加解密过程不能自主可控、安全性低的问题。
根据本发明实施例的一个方面,提供了一种密钥管理方法,所述方法包括:
接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;
根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;
获取用户输入的需要加密的密码明文;
使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;
将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
在一种可选的方式中,所述加密请求中还包括用户ID、应用名称和/或组件名称;所述根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥之前,所述方法还包括:根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权。
在一种可选的方式中,所述根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权,包括:根据用户ID调用单点登录系统对所述用户进行校验;若校验通过,通过RBAC权限模型对用户进行密钥对权限验证。
在一种可选的方式中,所述接收用户发送的对目标应用的加密请求之前,所述方法还包括:通过所述密钥管理平台获取用户发送的密钥录入请求;所述密钥录入请求中包括密钥对、用户选定的目标应用和/或目标组件;通过所述密钥管理平台根据所述密钥录入请求,生成所述密钥对对应的密钥对ID;通过所述密钥管理平台将所述密钥对、所述密钥对ID与所述目标应用和/或目标组件的ID进行关联存储。
在一种可选的方式中,所述通过所述密钥管理平台根据所述密钥录入请求,为所述密钥对生成密钥对ID之前,所述方法包括:对所述密钥对进行唯一性校验,以确定所述密钥对的唯一性;所述根据所述密钥录入请求,生成所述密钥对对应的密钥对ID,包括:当确定所述密钥对唯一时,以所述密钥对取MD5值,生成所述密钥对ID。
在一种可选的方式中,所述将加密后的密文替换加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件之后,所述方法还包括:在检测到所述目标应用启动时,根据所述目标应用对应的密钥对ID,从所述密钥管理平台获取对应的所述密钥对的私钥;使用所述私钥,根据预设的解密算法对所述加密后的配置文件进行解密,得到解密后的密码明文;将所述密码明文存储在所述目标应用的内存中。
在一种可选的方式中,所述接收用户发送的加密请求之前,所述方法还包括:配置目标应用对应的加密配置文件,所述加密配置文件中包括表征需加密密码的占位符标识以及密钥对ID;将所述加密配置文件存储在加密配置文件路径中。
根据本发明实施例的另一方面,提供了一种密钥管理装置,包括:
接收模块,用于接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;
匹配模块,用于根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;
获取模块,用于获取用户输入的需要加密的密码明文;
加密模块,用于使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;
替换模块,用于将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
根据本发明实施例的另一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的密钥管理方法的操作。
根据本发明实施例的又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算机设备上运行时,使得计算机设备执行所述的密钥管理方法的操作。
本发明实施例通过接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;获取用户输入的需要加密的密码明文;使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件,能够有效提高密钥的安全性,使得加解密过程自主可控。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的密钥管理方法的流程示意图;
图2示出了本发明另一实施例提供的密钥管理方法的流程示意图;
图3示出了本发明实施例提供的密钥管理装置的结构示意图;
图4示出了本发明实施例提供的计算机设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
图1示出了本发明实施例提供的密钥管理方法的流程图,该方法由计算机设备执行。该计算机设备可以是电脑、终端、智能设备、分布式设备、穿戴式设备等,本发明实施例不做具体限定。例如在本发明一个实施例中,该密钥管理方法应用于企业持续发布平台所在设备中。其中,持续发布平台与密钥管理平台通信,持续发布平台与各个应用系统通信,密钥管理平台中预先存储有与所述密钥对ID对应的密钥对,持续发布平台和各个应用系统集成了密钥管理平台提供的SDK(研发工具包),其中,持续发布平台中集成的SDK中存储有预设的加密算法,各个应用系统集成的SDK中存储有预设的解密算法。在本发明的另一个实施例中,该密钥管理方法应用于应用系统中的集成了密钥管理平台提供的SDK中,该应用系统集成了密钥管理平台提供的SDK(研发工具包),该SDK中存储有预设的加密算法和预设的解密算法。
如图1所示,本发明实施例以将SDK集成在持续发布平台中为例进行介绍,应用于持续发布平台的SDK中。该方法包括以下步骤:
步骤110:接收用户发送的对目标应用的加密请求。
其中,所述加密请求中包括密钥对ID。该加密请求为该目标应用对应的用户触发的,该用户为IT人员。其中,目标应用为与持续发布平台连接的多个应用程序中的一个。本发明实施例中,在接收用户发送的对目标应用的加密请求之前,首先通过所述密钥管理平台获取用户发送的密钥录入请求;所述密钥录入请求中包括密钥对、用户选定的目标应用和/或目标组件;通过所述密钥管理平台根据所述密钥录入请求,生成所述密钥对对应的密钥对ID;通过所述密钥管理平台将所述密钥对、所述密钥对ID与所述目标应用和/或目标组件的ID进行关联存储。其中,本发明实施例对所述密钥对进行唯一性校验,以确定所述密钥对的唯一性;当确定所述密钥对唯一时,以所述密钥对取MD5值,生成所述密钥对ID。具体地,为目标应用和组件分配目标应用ID和目标组件ID,目标应用ID可以为四位数字,组件ID可以以目标应用ID的四位数字拼接2位组件自增ID组成。密钥管理平台存放目标应用ID、目标组件ID和应用系统同步过来的应用名称的映射关系,组件IP通过同步企业内部的CMDB(运维管理平台)自动关联。由于密钥对(公钥和私钥)具有天然的唯一性,密钥管理平台在存放时也会做唯一性校验,同时为了给每一对密钥对在密钥管理平台中做唯一标识,在纳管在密钥管理平台时,密钥管理平台会生成32位的唯一随机密钥对ID,该密钥对ID会分配给该目标组件。该32位随机密钥对ID生成方法如下:以当前录入的密钥对取MD5值来生成32位的密钥对ID。由于RSA算法中公私密钥对的唯一性,因此可以确保密钥对ID的唯一性。
一对密钥对在密钥管理平台的数据库中的存放元数据如下:
在密钥管理平台中存储该元数据后,将该密钥对ID以及密钥对对应的加密算法及解密算法发送给持续发布平台中的SDK或目标应用中的SDK,SDK根据该密钥对ID以及密钥对对应的加密算法及解密算法,预先配置接入该持续发布平台的各个应用系统对应的加密配置文件,该加密配置文件用于配置目标应用需要加密的密码及密钥对ID。其中,由于在初始化配置时,仅配置了密钥对ID和目标应用和/或组件的密钥对对应的加密算法和解密算法,目标应用所需加密的密码还未配置,因此将接入的目标应用需要加密的密码以占位符标识录入后分配给该目标应用和/或组件对应的密钥对ID,并以加密配置文件的形式包含在持续发布平台的发布物料中。例如该加密配置文件可以表示为:db_pwd=“%密钥对ID%”。如,对于密钥对ID为“ABCEFA12337819djiakemcyan90wukscf”则该加密配置文件可以表示为:db_pwd=“%ABCEFA12337819djiakemcyan90wukscf%”其中,%可以表示为该目标应用需加密的密码对应的占位符标识。其中,该加密配置文件可以存储在持续发布平台的加密配置文件路径中。因此,在接收到加密请求时,持续发布平台根据该密钥对ID,扫描该加密配置文件路径,可以从加密配置文件路径中读取加密配置文件。其中,该密钥对ID还分配且编译到目标应用的源码中,以供后续目标应用使用。
步骤120:根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对。
其中,所述加密请求中还包括用户ID、应用名称和/或组件名称;所述根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥之前,所述方法还包括:根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权。其中,可以根据用户ID调用单点登录系统(SSO)对用户进行安全校验;若校验通过,通过RBAC权限模型对用户进行密钥对权限验证。具体地,一个系统通常会有多个组件,每个组件可能都有密码加密需求,从而需要纳管加密密钥对。同时在人员分工上,不同的接入系统可能会被不同IT人员管理,IT人员分属企业的不同部门,不同的IT人员可能存在取用(查看)和录入(修改和增加)的不同权限控制。因此,本发发明实施例从权限管理的精细度和可扩展性考虑,采用RBAC权限模型进行权限验证。其中,密钥对关联组件或应用系统,组件或应用系统关联开发组和运维组,按照开发和运维的不同角色,开发组具有密钥对的查看权限,运维组具有密钥对的所有权限。
其中,当用户的权限验证通过时,由于密钥管理平台存储有与目标应用和/或组件对应的所述密钥对ID及密钥对,因此根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥。
步骤130:获取用户输入的需要加密的密码明文。
其中,可以通过预设的弹窗,让用户输入对目标系统和/或目标组件中需要加密的密码明文。该密码明文用于后续目标应用启动时,获取该密码明文以进行目标应用的更新等。由于明文的密码容易为攻破获取,因此需要对该密码明文进行加密,以提高该密码明文的安全性。
步骤140:使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文。
其中,在接收到用户输入的密码明文后,根据持续发布平台的SDK中预设的加密算法,使用匹配到的公钥加密该密码明文,得到加密后的密文。该加密后的密文用于后续目标应用启动时,获取该加密后的密文并解密,以供目标应用后续使用。其中,预设的加密算法为标准的RSA加密算法工具类的加密方法。
步骤150:将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
其中,在得到该目标应用加密后,将加密后的密文替换对应占位符标识的配置,得到目标应用对应的加密后的配置文件。例如,对于加密配置文件db_pwd=“%ABCEFA12337819djiakemcyan90wukscf%”可以替换为db_pwd=“DngrXX2OoK6cuPXb8JEU3fQjA8ZJ/8z9RY90I7tl3Cixp77yG/ml8anNn8FJwo Usa”。
上述步骤110-步骤150为目标应用的开发人员目标应用的明文密码进行加密的过程。本发明实施例中,持续发布平台调用集成的SDK,以正在进行当前持续发布作业的IT人员ID、发布系统、发布组件、发布IP、密钥对ID为入参发起HTTPS请求调用密钥管理后台接口,密钥管理后台通过IT人员ID调用企业内部SSO平台做人员校验和平台内部的RBAC权限模型鉴权,在人员和权限验证通过后,以发布系统,发布组件,发布IP、密钥对ID匹配到平台纳管的加密公钥并返回,SDK通过标准RSA加密算法工具类中的解密方法使用公钥加密用户输入的密码明文,并将加密后的密文替换对应占位符标识的配置。
本发明实施例中,还包括以下步骤:在检测到所述目标应用启动时,根据所述目标应用对应的密钥对ID,从所述密钥管理平台获取对应的所述密钥对的私钥;使用所述私钥,根据预设的解密算法对所述加密后的配置文件进行解密,得到解密后的密码明文;将所述密码明文存储在所述目标应用的内存中。对于纳管密钥的接入的目标应用,解密过程如下:目标应用在完成发布后启动或者任意一次启动过程中,目标应用在启动时首先调用SDK的解密方法,SDK会以提前给定分配且编译到目标应用的源码中的密钥对ID、提前配置的应用系统ID和/或组件ID通过https请求密钥管理后台接口,密钥管理后台通过密钥对ID的唯一性匹配到私钥,同时校验请求IP是否为接入的目标应用关联的IP来判断合法性,通过匹配和合法性校验后,返回私钥给接入目标应用,SDK通过预设的解密算法使用安全获取的私钥解密密码密文,并将密码常驻内存供目标的应用上层应用逻辑使用。其中,预设的解密算法为标准的RSA解密算法工具类的解密方法。
本发明实施例通过接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;获取用户输入的需要加密的密码明文;使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件,能够有效提高密钥的安全性,使得加解密过程自主可控。
本发明实施例,通过统一管理应用密码加密的密钥对,有效避免了密钥随意丢弃,使用和管理混乱的问题。进一步地,提供了统一的RSA非对称加密,并且把加密过程串联到企业持续发布平台,使得加密过程安全可控,且十分便利。本发明实施例提供的解密方式,以提前编译进代码中的密钥对ID作为后续匹配私钥的参数,以https请求公私钥,使得私钥不再存放在应用侧的代码或者服务器上,在提供统一方便的解密方案的同时,极大提高了密钥使用的安全性,有效避免了私钥泄露的风险。
图2示出了本发明实施例提供的密钥管理系统,该密钥管理系统用于执行上述的密钥管理方法。该密钥管理系统包括密钥管理后台、密钥管理数据库、以及多个应用系统。该应用系统中的集成了密钥管理后台提供的SDK(研发工具包),该SDK中存储有预设的加密算法和预设的解密算法。其中,密钥管理系统采用BS架构,做前后端分离,包括密钥管理web前端、密钥管理后台服务端以及集成到客户端(应用系统)的SDK。同时,为了可以统一管理接入的应用系统的密码明文的加密行为,同时为接入的应用系统提供便利的密码加密服务,密钥管理系统提供了一种为应用系统的密码明文加解密的方法来对接所述应用系统。
其中,该密钥管理系统需完成三个阶段的工作。第一阶段为密钥对录入阶段,接收IT人员录入的密钥对,将密钥对、密钥对ID及对应的应用系统管理存储。第二阶段为密码明文加密阶段,利用密钥对中的公钥对IT人员输入的密码明文进行加密。第三阶段为密码明文解密阶段,应用系统利用SDK中的私钥对加密的密码进行解密,得到解密后的密码明文,以供应用系统的上层应用使用。
其中,密钥管理web前端用于提供给IT人员登录该密钥管理系统,进行密钥输入、密钥管理等。密钥管理后台用于平台权限管理及人员鉴权、密钥录入系统、集成SDK的应用系统接入等;具体地,密钥管理后台统一纳管接入系统所有密钥,在实际的应用中,一个系统通常会有多个组件,每个组件可能都有密码加密需求,从而需要密钥管理后台纳管加密密钥对,同时在人员分工上,不同的应用系统可能会被不同IT人员管理,IT人员会分属企业的不同部门,不同的IT人员可能存在取用(查看)和录入(修改和增加)的不同权限控制,从权限管理的精细度和可扩展性考虑,密钥管理系统采用RBAC权限模型进行鉴权。在权限设计时,密钥管理后台从企业内部CMDB同步系统,系统关联的应用组件,组件关联的主机IP,组件所属的运维组和开发组,密钥管理后台在鉴权时候密钥对关联的应用组件对应的运维组具备对平台存放密钥的全部权限,包括取用和密钥的录入以及修改;密钥对关联的应用组件对应的开发组具备对平台存放密钥的查看权限。整个RBAC权限模型概述如下:密钥对关联组件,组件关联开发组和运维组,按照开发和运维的不同角色,开发组具有密钥对的查看权限,运维组具有密钥对的所有权限。在IT人员通过密钥管理web前端登录系统时,密钥管理后台接入企业内部SSO,IT人员需要输入人员ID和密码,经过SSO验证通过方可登录密钥管理系统,同时密钥管理后台按照RBAC权限模型鉴权获得相应密钥的对应权限。当鉴权通过后,IT人员通过密钥管理web前端输入密钥对,在密钥录入时,用户需要选定录入的密钥对所属的系统和组件,同时平台会为系统和组件分配系统和组件ID,系统ID为四位数字,组件ID以系统ID的四位数字拼接2位组件自增ID组成,平台存放ID和同步过来的应用名称的映射关系,组件IP通过同步企业内部的CMDB自动关联。密钥对(公钥和私钥)具有天然的唯一性,平台在存放时候也会做唯一性校验,同时为了给每一对密钥对在平台做唯一标识,在纳管在平台时,平台会生成32位的唯一随机密钥对ID,该密钥对ID会分配给该组件,该32位随机密钥对ID生成方法如下:以当前录入的密钥对取MD5值来生成32位的密钥对ID,由于RSA算法中公私密钥对的唯一性,可以确保密钥对ID的唯一性。SDK提供和密钥管理后台交互取密钥以及基于RSA的加密解密方法的方法,以java为例该加解密的工具类为JAVA中通用的RSA工具类。接入的应用系统包括两类,一类是企业的持续发布平台,另外一类是其他需要做RSA加密以及密钥对纳管的应用系统。对于持续发布平台,SDK提供安全获取加密公钥和利用RSA公钥做非对称加密的方法,SDK会集成请求密钥管理后台HTTPS接口的证书,用来进行获取密钥过程中的HTTPS通信。为了使得加密过程可控,所有接入应用的加密过程必须通过集成SDK的持续发布平台,持续发布平台需要和接入的应用做如下统一约定:接入应用需要加密的密码以占位符标识录入密钥后分配给该接入应用组件的密钥对ID,并以配置文件形式包含在发布物料中,例如配置文件中写明:db_pwd=”%密钥对ID%”。完整的加密过程如下:IT人员在做持续发布时,填写有占位符标识的配置文件路径,持续发布平台通过扫描该路径的配置文件找到对应占位符标记的密钥对ID,同时弹窗要求IT人员输入需要加密的密码明文,然后调用集成的SDK,以正在进行当前持续发布作业的IT人员ID、发布系统、发布组件、发布IP、密钥对ID为入参发起HTTPS请求调用密钥管理后台接口,密钥管理后台通过IT人员ID调用企业内部SSO平台做人员校验和平台内部的RBAC权限模型鉴权,在人员和权限验证通过后,以发布系统,发布组件,发布IP、密钥对ID匹配到平台纳管的加密公钥并返回,SDK通过标准RSA加密算法工具类中的解密方法使用公钥加密用户输入的密码明文,并将加密后的密文替换对应占位符标识的配置。对于纳管密钥的应用系统,他们通过集成的SDK解密,使得应用系统可以正常使用密码。解密过程如下:应用系统在完成发布后启动或者任意一次启动过程中,应用系统需要在启动时首先调用SDK的解密方法,SDK会以提前给定分配且编译到源码中的密钥对ID、提前配置的系统和组件ID通过https请求密钥管理后台接口,密钥管理后台通过密钥对ID的唯一性匹配到私钥,同时校验请求IP是否为接入应用关联的IP来判断合法性,通过匹配和合法性校验后,返回私钥给应用系统,SDK通过标准的RSA解密算法工具类的解密方法使用安全获取的私钥解密密码密文并将密码常驻内存供应用上层应用逻辑使用。
本发明实施例通过接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;获取用户输入的需要加密的密码明文;使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件,能够有效提高密钥的安全性,使得加解密过程自主可控。
图3示出了本发明实施例提供的密钥管理装置的结构示意图。如图3所示,该装置300包括:
接收模块310,用于接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;
匹配模块320,用于根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;
获取模块330,用于获取用户输入的需要加密的密码明文;
加密模块340,用于使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;
替换模块350,用于将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
在一种可选的方式中,所述加密请求中还包括用户ID、应用名称和/或组件名称;所述装置还包括权限验证模块:用于根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权。
在一种可选的方式中,所述根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权,包括:根据用户ID调用单点登录系统对所述用户进行校验;若校验通过,通过RBAC权限模型对用户进行密钥对权限验证。
在一种可选的方式中,还包括密钥录入模块,用于通过所述密钥管理平台获取用户发送的密钥录入请求;所述密钥录入请求中包括密钥对、用户选定的目标应用和/或目标组件;通过所述密钥管理平台根据所述密钥录入请求,生成所述密钥对对应的密钥对ID;通过所述密钥管理平台将所述密钥对、所述密钥对ID与所述目标应用和/或目标组件的ID进行关联存储。
在一种可选的方式中,还包括验证模块,用于对所述密钥对进行唯一性校验,以确定所述密钥对的唯一性;所述根据所述密钥录入请求,生成所述密钥对对应的密钥对ID,包括:当确定所述密钥对唯一时,以所述密钥对取MD5值,生成所述密钥对ID。
在一种可选的方式中,还包括解密模块,用于在检测到所述目标应用启动时,根据所述目标应用对应的密钥对ID,从所述密钥管理平台获取对应的所述密钥对的私钥;使用所述私钥,根据预设的解密算法对所述加密后的配置文件进行解密,得到解密后的密码明文;将所述密码明文存储在所述目标应用的内存中。
在一种可选的方式中,还包括配置模块,用于配置目标应用对应的加密配置文件,所述加密配置文件中包括表征需加密密码的占位符标识以及密钥对ID;将所述加密配置文件存储在加密配置文件路径中。
本发明实施例通过接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;获取用户输入的需要加密的密码明文;使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件,能够有效提高密钥的安全性,使得加解密过程自主可控。
图4示出了本发明实施例提供的计算机设备的结构示意图,本发明具体实施例并不对计算机设备的具体实现做限定。
如图4所示,该计算机设备可以包括:处理器(processor)402、通信接口(CommunicationsInterface)404、存储器(memory)406、以及通信总线408。
其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。处理器402,用于执行程序410,具体可以执行上述用于密钥管理方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机可执行指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算机设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
程序410具体可以被处理器402调用使计算机设备执行以下操作:
接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;
根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;
获取用户输入的需要加密的密码明文;
使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;
将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
在一种可选的方式中,所述加密请求中还包括用户ID、应用名称和/或组件名称;所述根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥之前,所述方法还包括:根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权。
在一种可选的方式中,所述根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权,包括:根据用户ID调用单点登录系统对所述用户进行校验;若校验通过,通过RBAC权限模型对用户进行密钥对权限验证。
在一种可选的方式中,所述接收用户发送的对目标应用的加密请求之前,所述方法还包括:通过所述密钥管理平台获取用户发送的密钥录入请求;所述密钥录入请求中包括密钥对、用户选定的目标应用和/或目标组件;通过所述密钥管理平台根据所述密钥录入请求,生成所述密钥对对应的密钥对ID;通过所述密钥管理平台将所述密钥对、所述密钥对ID与所述目标应用和/或目标组件的ID进行关联存储。
在一种可选的方式中,所述通过所述密钥管理平台根据所述密钥录入请求,为所述密钥对生成密钥对ID之前,所述方法包括:对所述密钥对进行唯一性校验,以确定所述密钥对的唯一性;所述根据所述密钥录入请求,生成所述密钥对对应的密钥对ID,包括:当确定所述密钥对唯一时,以所述密钥对取MD5值,生成所述密钥对ID。
在一种可选的方式中,所述将加密后的密文替换加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件之后,所述方法还包括:在检测到所述目标应用启动时,根据所述目标应用对应的密钥对ID,从所述密钥管理平台获取对应的所述密钥对的私钥;使用所述私钥,根据预设的解密算法对所述加密后的配置文件进行解密,得到解密后的密码明文;将所述密码明文存储在所述目标应用的内存中。
在一种可选的方式中,所述接收用户发送的加密请求之前,所述方法还包括:配置目标应用对应的加密配置文件,所述加密配置文件中包括表征需加密密码的占位符标识以及密钥对ID;将所述加密配置文件存储在加密配置文件路径中。
本发明实施例通过接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;获取用户输入的需要加密的密码明文;使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件,能够有效提高密钥的安全性,使得加解密过程自主可控。
本发明实施例提供了一种计算机可读存储介质,所述存储介质存储有至少一可执行指令,该可执行指令在计算机设备上运行时,使得所述计算机设备执行上述任意方法实施例中的密钥管理方法。
可执行指令具体可以用于使得计算机设备执行以下操作:
接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;
根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;
获取用户输入的需要加密的密码明文;
使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;
将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
在一种可选的方式中,所述加密请求中还包括用户ID、应用名称和/或组件名称;所述根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥之前,所述方法还包括:根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权。
在一种可选的方式中,所述根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权,包括:根据用户ID调用单点登录系统对所述用户进行校验;若校验通过,通过RBAC权限模型对用户进行密钥对权限验证。
在一种可选的方式中,所述接收用户发送的对目标应用的加密请求之前,所述方法还包括:通过所述密钥管理平台获取用户发送的密钥录入请求;所述密钥录入请求中包括密钥对、用户选定的目标应用和/或目标组件;通过所述密钥管理平台根据所述密钥录入请求,生成所述密钥对对应的密钥对ID;通过所述密钥管理平台将所述密钥对、所述密钥对ID与所述目标应用和/或目标组件的ID进行关联存储。
在一种可选的方式中,所述通过所述密钥管理平台根据所述密钥录入请求,为所述密钥对生成密钥对ID之前,所述方法包括:对所述密钥对进行唯一性校验,以确定所述密钥对的唯一性;所述根据所述密钥录入请求,生成所述密钥对对应的密钥对ID,包括:当确定所述密钥对唯一时,以所述密钥对取MD5值,生成所述密钥对ID。
在一种可选的方式中,所述将加密后的密文替换加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件之后,所述方法还包括:在检测到所述目标应用启动时,根据所述目标应用对应的密钥对ID,从所述密钥管理平台获取对应的所述密钥对的私钥;使用所述私钥,根据预设的解密算法对所述加密后的配置文件进行解密,得到解密后的密码明文;将所述密码明文存储在所述目标应用的内存中。
在一种可选的方式中,所述接收用户发送的加密请求之前,所述方法还包括:配置目标应用对应的加密配置文件,所述加密配置文件中包括表征需加密密码的占位符标识以及密钥对ID;将所述加密配置文件存储在加密配置文件路径中。
本发明实施例通过接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;获取用户输入的需要加密的密码明文;使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件,能够有效提高密钥的安全性,使得加解密过程自主可控。
本发明实施例提供一种密钥管理装置,用于执行上述密钥管理方法。
本发明实施例提供了一种计算机程序,所述计算机程序可被处理器调用使计算机设备执行上述任意方法实施例中的密钥管理方法。
本发明实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令在计算机上运行时,使得所述计算机执行上述任意方法实施例中的密钥管理方法。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。

Claims (10)

1.一种密钥管理方法,其特征在于,所述方法包括:
接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;
根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;
获取用户输入的需要加密的密码明文;
使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;
将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
2.根据权利要求1所述的方法,其特征在于,所述加密请求中还包括用户ID、应用名称和/或组件名称;
所述根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥之前,所述方法还包括:
根据用户ID、应用名称和/或组件名称,对用户进行人员校验及权限鉴权。
3.根据权利要求2所述的方法,其特征在于,所述根据用户ID、应用名称和/或组件名称,对所述用户进行人员校验及权限鉴权,包括:
根据用户ID调用单点登录系统对所述用户进行校验;
若校验通过,通过RBAC权限模型对用户进行密钥对权限验证。
4.根据权利要求1所述的方法,其特征在于,所述接收用户发送的对目标应用的加密请求之前,所述方法还包括:
通过所述密钥管理平台获取用户发送的密钥录入请求;所述密钥录入请求中包括密钥对、用户选定的目标应用和/或目标组件;
通过所述密钥管理平台根据所述密钥录入请求,生成所述密钥对对应的密钥对ID;
通过所述密钥管理平台将所述密钥对、所述密钥对ID与所述目标应用和/或目标组件的ID进行关联存储。
5.根据权利要求4所述的方法,其特征在于,所述通过所述密钥管理平台根据所述密钥录入请求,为所述密钥对生成密钥对ID之前,所述方法包括:
对所述密钥对进行唯一性校验,以确定所述密钥对的唯一性;
所述根据所述密钥录入请求,生成所述密钥对对应的密钥对ID,包括:
当确定所述密钥对唯一时,以所述密钥对取MD5值,生成所述密钥对ID。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将加密后的密文替换加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件之后,所述方法还包括:
在检测到所述目标应用启动时,根据所述目标应用对应的密钥对ID,从所述密钥管理平台获取对应的所述密钥对的私钥;
使用所述私钥,根据预设的解密算法对所述加密后的配置文件进行解密,得到解密后的密码明文;
将所述密码明文存储在所述目标应用的内存中。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述接收用户发送的加密请求之前,所述方法还包括:
配置目标应用对应的加密配置文件,所述加密配置文件中包括表征需加密密码的占位符标识以及密钥对ID;
将所述加密配置文件存储在加密配置文件路径中。
8.一种密钥管理装置,其特征在于,所述装置包括:
接收模块,用于接收用户发送的对目标应用的加密请求;所述加密请求中包括密钥对ID;
匹配模块,用于根据所述密钥对ID从密钥管理平台中匹配对应的密钥对的公钥;所述密钥管理平台中预先存储有与所述密钥对ID对应的密钥对;
获取模块,用于获取用户输入的需要加密的密码明文;
加密模块,用于使用所述公钥根据预设的加密算法加密所述密码明文,得到加密后的密文;
替换模块,用于将加密后的密文替换目标应用对应的加密配置文件中的占位符标识,得到目标应用对应的加密后的配置文件。
9.一种计算机设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-7任意一项所述的密钥管理方法的操作。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算机设备上运行时,使得计算机设备执行如权利要求1-7任意一项所述的密钥管理方法的操作。
CN202310453389.4A 2023-04-17 2023-04-17 密钥管理方法、装置、计算机设备及存储介质 Pending CN116488903A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310453389.4A CN116488903A (zh) 2023-04-17 2023-04-17 密钥管理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310453389.4A CN116488903A (zh) 2023-04-17 2023-04-17 密钥管理方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116488903A true CN116488903A (zh) 2023-07-25

Family

ID=87217351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310453389.4A Pending CN116488903A (zh) 2023-04-17 2023-04-17 密钥管理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116488903A (zh)

Similar Documents

Publication Publication Date Title
US10263962B2 (en) User authentication over networks
US7225161B2 (en) Method and system for initializing a key management system
US9219722B2 (en) Unclonable ID based chip-to-chip communication
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
US11831753B2 (en) Secure distributed key management system
CN106936588B (zh) 一种硬件控制锁的托管方法、装置及系统
CN111538977B (zh) 云api密钥的管理、云平台的访问方法、装置及服务器
CN112637156B (zh) 密钥分配方法、装置、计算机设备和存储介质
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
EP3335370B1 (en) Enhanced obfuscation or randomization for secure product identification and verification
US9509503B1 (en) Encrypted boot volume access in resource-on-demand environments
CN115600215A (zh) 系统启动方法、系统信息处理方法、装置、设备及其介质
CN112926101B (zh) 磁盘分区加密方法、系统、设备,以及计算机可读介质
CN115348077A (zh) 一种虚拟机加密方法、装置、设备、存储介质
CN116488903A (zh) 密钥管理方法、装置、计算机设备及存储介质
EP4062582A1 (en) Wrapped keys with access control predicates
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
Wu et al. Secure key management of mobile agent system using tpm-based technology on trusted computing platform
CN117313144A (zh) 敏感数据的管理方法、装置、存储介质和电子设备
He et al. EnShare: Sharing Files Securely and Efficiently in the Cloud using Enclave
EP4378120A1 (en) Method, cloud-service method, cloud server, self-sovereign identity method for providing a self-sovereign identity cloud service to a user
CN118172058A (zh) 区块链数据处理方法、装置、计算机设备、介质及产品
CN118035988A (zh) 一种大模型推理方法、装置、设备及存储介质
CN114268434A (zh) 非对称口令认证方法、装置及存储介质
CN117997656A (zh) 一种工控数据全生命周期安全管控系统

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