CN110635905A - 一种密钥管理方法、相关设备及计算机可读存储介质 - Google Patents
一种密钥管理方法、相关设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110635905A CN110635905A CN201910940258.2A CN201910940258A CN110635905A CN 110635905 A CN110635905 A CN 110635905A CN 201910940258 A CN201910940258 A CN 201910940258A CN 110635905 A CN110635905 A CN 110635905A
- Authority
- CN
- China
- Prior art keywords
- key
- application system
- api
- application
- key management
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0811—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
Abstract
本发明实施例公开一种密钥管理方法、相关设备及计算机可读存储介质,其中方法包括:密钥管理服务器接收第一应用系统发送的目标API的密钥变更请求,该密钥变更请求包括目标API的第一密钥和第二密钥;根据密钥变更请求查询目标API对应的合作方,并向第一应用系统和合作方的应用服务器发送测试通知,以指示第一应用系统和应用服务器根据第二密钥对目标API进行连通性测试;接收双方发送的连通性测试结果;若测试结果均通过,则用第二密钥更新第一密钥,并通知第一应用系统和应用服务器分别用第二密钥更新第一密钥。采用这样的密钥管理方式,可以保证API密钥安全变更,以及应用系统与对应的合作方之间及时同步更新API密钥。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种密钥管理方法、相关设备及计算机可读存储介质。
背景技术
随着计算机领域的快速发展,项目或系统的开发通常需要多个开发团队配合完成,系统各组成部分之间相互调用,因此需要各个团队掌握各自需要的应用程序编程接口(Application Programming Interface,API)密钥。
目前,更新API密钥是系统各组成部分开发人员采用手动更新同步的方式进行。当一个系统由多个合作方共同开发时,各合作方可能存在于不同的地域和不同的公司,所掌握的技术水平也不对称,由于沟通不畅导致多个合作方不能同步更新API密钥,从而导致应用系统接口调用失效,系统故障等问题。因此,如何在保证API密钥安全变更的同时,还可以保障应用系统与对应的合作方之间及时同步更新API密钥,是一个亟待解决的问题。
发明内容
本发明实施例提供了一种密钥管理方法、相关设备及计算机可读存储介质,可以在保证API密钥安全变更的同时,还可以保障应用系统与对应的合作方之间及时同步更新该API密钥。
本发明实施例第一方面公开了一种密钥管理方法,所述方法应用于密钥管理系统,所述密钥管理系统包括密钥管理服务器和至少一个应用系统,所述方法包括:
密钥管理服务器接收第一应用系统上发送的目标API的密钥变更请求,所述第一应用系统为所述至少一个应用系统中的任意一个,所述密钥变更请求包括所述目标API的第一密钥和第二密钥,所述第二密钥用于更新所述第一密钥;
所述密钥管理服务器根据所述密钥变更请求查询所述目标API对应的合作方,并向所述第一应用系统和所述合作方的应用服务器发送携带有所述第二密钥的测试通知,所述测试通知用于指示所述第一应用系统和所述应用服务器根据所述第二密钥对所述目标API进行连通性测试;
所述密钥管理服务器接收所述第一应用系统和所述应用服务器分别发送的所述连通性测试的测试结果;
若所述第一应用系统和所述应用服务器分别发送的测试结果均为通过,则所述密钥管理服务器利用所述第二密钥更新数据库中存储的所述第一密钥,并通知所述第一应用系统和所述应用服务器分别利用所述第二密钥更新所述第一密钥。
本发明实施例第二方面公开了一种密钥管理装置,所述装置包括:
接收模块,用于接收第一应用系统发送的目标API的密钥变更请求,所述第一应用系统为所述至少一个应用系统中的任意一个,所述密钥变更请求包括所述目标API的第一密钥和第二密钥,所述第二密钥用于更新所述第一密钥;
处理模块,用于根据所述密钥变更请求查询所述目标API对应的合作方;
发送模块,用于向所述第一应用系统和所述合作方的应用服务器发送携带有所述第二密钥的测试通知,所述测试通知用于指示所述第一应用系统和所述应用服务器根据所述第二密钥对所述目标API进行连通性测试;
所述接收模块,还用于接收所述第一应用系统和所述应用服务器分别发送的所述连通性测试的测试结果;
信息更新模块,用于若所述第一应用系统和所述应用服务器分别发送的测试结果均为通过,则利用所述第二密钥更新数据库中存储的所述第一密钥。
所述发送模块,还用于通知所述第一应用系统和所述应用服务器分别利用所述第二密钥更新所述第一密钥。
本发明实施例第三方面公开了一种服务器,包括处理器、存储器、输入设备和输出设备,所述处理器、存储器、输入设备和输出设备相互连接,其中,所述输入设备和输出设备受所述处理器控制用于收发消息,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行上述第一方面的方法。
本发明实施例第四方面公开了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。
本发明实施例中,密钥管理服务器接收第一应用系统发送的目标API的密钥变更请求,该密钥变更请求包括目标API的第一密钥和第二密钥,该第二密钥用于更新第一密钥。进一步地,密钥管理服务器可以根据上述密钥变更请求查询目标API对应的合作方,并向第一应用系统和合作方的应用服务器发送携带有第二密钥的测试通知,该测试通知用于指示第一应用系统和应用服务器根据第二密钥对目标API进行连通性测试。接着,密钥管理服务器可以接收第一应用系统和应用服务器分别发送的连通性测试的测试结果,若测试结果均为通过,则利用第二密钥更新数据库中存储的第一密钥,并通知第一应用系统和应用服务器分别利用第二密钥更新第一密钥。通过这样的密钥管理方式,可以在保证API密钥安全变更的同时,还可以保障应用系统与对应的合作方之间及时同步更新该API密钥。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种密钥管理系统的架构示意图;
图2是本发明实施例提供的一种密钥管理方法的流程示意图;
图3是本发明实施例提供的另一种密钥管理方法的流程示意图;
图4是本发明实施例提供的一种密钥管理装置的结构示意图;
图5是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为本发明实施例提供的一种密钥管理系统的架构示意图,该密钥管理系统包括密钥管理服务器103,至少一个应用系统101,各个应用系统101的合作方的应用服务器102。
密钥管理服务器103,用于管理各个应用系统101的API的密钥,每个应用系统101包含多个API,每个API对应拥有一个密钥,每个应用系统101可包括多个应用服务器102。需要说明的是,图1中所示的应用系统的数目与应用服务器的数目仅仅是示意性的,可根据实际需求部署任意数目的应用系统,每个应用系统可包括多个应用服务器。
运行在应用系统101上的密钥管理服务器103的代理,用于采集应用系统101上的API的调用情况数据,并将采集到的API调用情况数据发送至密钥管理服务器103,密钥管理服务器103,还可以用于记录各个应用系统101的API的密钥变更数据,根据调用情况数据和/或API的密钥变更数据可以确定各个应用系统101是否存在更新相应API的密钥的需求,如果存在,并通知相应的应用系统101以及对应的API。应用系统101与应用服务器102之间通过调用API来进行数据交互。
当至少一个应用系统101中的第一应用系统101有API密钥变更需求时,例如第一应用系统101主动提出API密钥变更需求,或者接收到密钥管理服务器103的通知时提出API密钥变更需求,将旧的待变更API密钥视为第一密钥,新的API密钥视为第二密钥,API密钥变更的API记为目标API,第一应用系统101向密钥管理服务器103提交针对目标API的密钥变更请求。密钥管理服务器103接收该密钥变更请求,并根据该密钥变更请求在数据库中查询目标API对应的合作方,进一步地,可以向第一应用系统101和合作方的应用服务器102发送携带有第二密钥的测试通知。第一应用系统101和应用服务器102收到该测试通知后,采用第二密钥为目标API的API密钥进行连通性测试,并分别将连通性测试的测试结果发送至密钥管理服务器103。密钥管理服务器103接收该测试结果,若测试结果均为通过,则利用第二密钥更新数据库中存储的所述第一密钥,并通知该第一应用系统101和应用服务器102分别利用该第二密钥更新第一密钥。第一应用系统101和应用服务器102分别利用第二密钥更新第一密钥。采用这样的密钥管理方式,可以在保证API密钥安全变更的同时,还可以保障应用系统与对应的合作方之间及时同步更新API密钥。
请参阅图2,为本发明实施例提供的一种密钥管理方法的流程示意图。本实施例中所描述的密钥管理方法应用于密钥管理系统,该密钥管理系统包括密钥管理服务器和至少一个应用系统,该方法包括以下步骤:
S201:密钥管理服务器接收运行在第一应用系统发送的目标API的密钥变更请求。其中,第一应用系统为至少一个应用系统中的任意一个,上述密钥变更请求包括目标API的第一密钥和第二密钥,该第二密钥用于更新第一密钥。
在一个实施例中,密钥管理服务器接收运行在第一应用系统上的代理发送的目标API的密钥变更请求之前,还可以向至少一个应用系统中的各个应用系统分发服务器的代理,以使各个应用系统运行代理。进一步地,密钥管理系统可以接收运行在各个应用系统上的代理发送的各个应用系统的系统数据,并将各个应用系统的系统数据添加到数据库中,以及向各个应用系统发送系统数据添加成功的反馈信息。
其中,系统数据包括各个应用系统标识、各个API对应的合作方标识、各个API的地址和各个API密钥。合作方可以为至少一个应用系统中调用该目标API的其他应用系统。
S202:密钥管理服务器根据上述密钥变更请求查询目标API对应的合作方,并向第一应用系统和该合作方的应用服务器发送携带有第二密钥的测试通知。其中,该测试通知用于指示第一应用系统和应用服务器根据第二密钥对目标API进行连通性测试。
其中,该密钥变更请求还可以包括该第一应用系统的标识和目标API的地址。
在一个实施例中,密钥管理系统可以根据该第一应用系统的标识,在数据库中获取到第一应用系统的相关数据,从相关数据中查询该目标API对应的合作方。进一步地,密钥管理系统可以向该合作方的应用服务器发送针对目标API的变更通知,以指示该应用服务器停止调用目标API,等待执行同步变更目标API的API密钥。该针对目标API的变更通知中还应包括服务器的身份验证信息。该应用服务器收到针对目标API的变更通知后,根据该变更通知中服务器的身份验证信息对服务器身份进行鉴权,若鉴权通过,则该应用服务器停止调用上述目标API,并向密钥管理服务器发送针对停止调用上述目标API的提示信息。若鉴权不通过,则向服务器拒绝变更该第一应用系统中目标API密钥,并回传针对拒绝变更的提示信息。通过这样的方式,保证应用服务器收到通知信息均来源于密钥管理服务器,增强系统的安全性。
其中,密钥管理服务器的身份验证信息可以是数字签名、密钥管理服务器地址信息以及特定标识符等,在此不做具体限定。
在一个实施例中,密钥管理服务器收到合作方发送针对调用上述目标API的提示信息,则向第一应用系统和应用服务器发送携带有第二密钥的测试通知,该测试通知还包括密钥管理服务器身份验证信息。第一应用系统和应用服务器收到该测试通知之后,分别根据该测试通知中密钥管理服务器身份验证信息对密钥管理服务器身份进行鉴权,若鉴权均通过,则该第一应用系统和应用服务器分别向密钥管理服务器发送针对执行变更API密钥进行连通性测试的通知,并开始执行根据第二密钥为API密钥的对目标API进行连通性测试。通过这样的方式,保证第一应用系统和应用服务器收到通知信息均来源于密钥管理服务器,增强系统的安全性。
S203:密钥管理服务器接收第一应用系统和该应用服务器分别发送的连通性测试的测试结果。
其中,该测试结果包含连通性测试中调用目标API的时间间隔,以及针对连通性测试是否通过的反馈信息。
S204:若第一应用系统和应用服务器分别发送的测试结果均为通过,则密钥管理服务器利用第二密钥更新数据库中存储的第一密钥,并通知第一应用系统和应用服务器分别利用第二密钥更新第一密钥。
示例性的,应用系统A的合作方的应用服务器有应用服务器1、应用服务器2和应用服务器3,上述应用服务器均调用应用系统A的标号为A01的API。若应用系统A为第一应用系统,该目标API为A01,该目标API的第一密钥为A01NRV74gcnme,第二密钥为A01SDF42fdsaf,则密钥管理系统利用第二密钥A01SDF42fdsaf更新第一密钥A01NRV74gcnme,并通知第一应用系统A和应用服务器1、应用服务器2和应用服务器3均利用第二密钥A01SDF42fdsaf更新第一密钥A01NRV74gcnme。例如密钥管理系统的数据库中针对第一应用系统A的未更新存储数据如表1所示。
表1:
表2:
则利用第二密钥更新数据库中存储的第一密钥的存储数据如表2所示,将表1中第一应用系统A的接口为A01的API密钥A01NRV74gcnme,替换为A01SDF42fdsaf。
本发明实施例中,密钥管理系统接收第一应用系统发送的目标API的密钥变更请求,该密钥变更请求包括目标API的第一密钥和第二密钥,该第二密钥用于更新第一密钥。进一步地,密钥管理系统可以根据上述密钥变更请求查询第一应用系统的合作方,并向第一应用系统和应用服务器发送携带有第二密钥的测试通知,该测试通知用于指示第一应用系统和应用服务器根据第二密钥对目标API进行连通性测试。接着,密钥管理系统可以接收第一应用系统和应用服务器分别发送的连通性测试的测试结果,若测试结果均为通过,则利用第二密钥更新数据库中存储的第一密钥,并通知第一应用系统和应用服务器分别利用第二密钥更新第一密钥。通过这样的密钥管理方式,可以在保证API密钥安全变更的同时,还可以保障应用系统与对应合作方之间及时同步更新该API密钥。
请参阅图3,为本发明实施例提供的另一种密钥管理方法的流程示意图。本实施例中所描述的密钥管理方法应用于密钥管理系统,该密钥管理系统包括密钥管理服务器和至少一个应用系统,各个应用系统上运行有该服务器的代理,该方法包括以下步骤:
S301:密钥管理服务器接收运行在各个应用系统上的代理发送的各个应用系统的各个API的调用记录。
其中,上述调用记录可以包括各个API调用频率、针对每个API调用的合作方标识、API调用时间和API调用的调用次数中的一种或多种。
S302:密钥管理服务器根据该调用记录和预设的异常调用判定规则从各个API中确定出存在异常调用的API。
其中,预设的异常调用规则可以为指定API调用频率超出预设阈值,检测到有来自非该应用系统的合作方的调用该API的请求中的一种或两种。
S303:密钥管理服务向存在异常调用的API的第三应用系统发送密钥变更通知。其中,该密钥变更通知用于提示第三应用系统提交针对存在异常调用的API的密钥变更请求。
在一个实施例中,各个应用系统上运行有密钥管理服务器的代理。密钥管理服务器接收运行在各个应用系统上的代理发送的该各个应用系统的各个API的调用记录,检测各个API的调用记录是否命中接口调用健康规则或者是否达到调用次数阈值。进一步地,密钥管理服务器可以将调用记录命中接口调用健康规则或者达到调用次数阈值的API确定为存在异常调用的API。接着,服务器向存在异常调用的API的第三应用系统发送密钥变更通知,该密钥变更通知用于提示第三应用系统提交针对存在异常调用的API的密钥变更请求。
示例性地,接口调用健康规则为检测到来自非合作方的针对该应用系统中支付相关API调用请求。应用系统A的合作方有合作方1、合作方2和合作方3,服务器接收到应用系统A上的代理发送的应用系统A中各个API的调用记录,检测到应用系统A收到了来自非合作方的用户4针对应用系统A的支付API的调用请求。服务器将应用系统A的支付API标记为异常调用接口,将应用系统A记为第三应用系统,向第三应用系统A提交针对支付API的密钥变更通知,该密钥变更通知用于提示第三应用系统提交针对存在异常调用的API的密钥变更请求。
在一个实施例中,密钥管理服务器记录各个应用系统的指定API的密钥变更间隔时长,检测各个应用系统的指定API的密钥变更间隔时长是否达到预设时长。若该指定API的密钥变更间隔时长达到该预设时长,则向该指定API的密钥变更间隔时长达到该预设时长的第二应用系统发送密钥变更通知,该密钥变更通知用于指示第二应用系统提交针对指定API的密钥变更通知,该密钥变更通知用于提示第二应用系统提交针对存在异常调用的API的密钥变更请求。其中,预设时长是根据实验测算数据预先设置的,后续可以根据需求进行调整。指定API为用户指定API,可以是包含个人隐私和/或财产信息的相关接口例如支付接口,在此不做具体限定。采用这种密钥管理方式,避免由于API密钥更新不及时导致系统遭到破坏的风险。其中,第二应用系统与第三应用系统可以为任意一个应用系统中相同的应用系统,也可以为任意一个应用系统中不同的应用系统。
S304:密钥管理服务器接收第三应用系统发送的目标API的密钥变更请求。
S305:密钥管理服务器根据上述密钥变更请求查询第三应用系统的合作方,并向第三应用系统和该合作方的应用服务器发送携带有第二密钥的测试通知。
S306:密钥管理服务器接收第三应用系统和该应用服务器分别发送的连通性测试的测试结果。
S307:若第三应用系统和该应用服务器分别发送的测试结果均为通过,则密钥管理服务器利用第二密钥更新数据库中存储的第一密钥,并通知第三应用系统和应用服务器分别利用第二密钥更新第一密钥。
其中,步骤S304-S307的具体实施方式,可以参见上述实施例中步骤S201-S204的相关描述,此处不再赘述。需要说明的是,第二应用系统也可以执行步骤S304-S307所描述的实施方法。
本发明实施例中,密钥管理服务器接收运行在各个应用系统上的代理发送的各个应用系统的各个API的调用记录,并根据该调用记录和预设的异常调用判定规则从各个API中确定出存在异常调用的API,进一步地,密钥管理服务器向存在异常调用的API的第三应用系统发送密钥变更通知,该密钥变更通知用于提示第三应用系统提交针对存在异常调用的API的密钥变更请求。密钥管理服务器将该异常调用的API确认为目标API,第三应用系统发送的目标API的密钥变更请求,密钥管理系统接收该密钥变更请求,并根据上述密钥变更请求查询目标API对应的合作方的应用服务器。进一步地,密钥管理系统可以向第三应用系统和合作方的应用服务器发送携带有第二密钥的测试通知,该测试通知用于指示第三应用系统和应用服务器根据第二密钥对目标API进行连通性测试。接着,密钥管理系统可以接收第三应用系统和应用服务器分别发送的连通性测试的测试结果,若测试结果均为通过,则利用第二密钥更新数据库中存储的第一密钥,并通知第三应用系统和应用服务器分别利用第二密钥更新第一密钥。通过这样的密钥管理方式,可以在保证API密钥安全变更的同时,还可以保障应用系统与对应的合作方之间及时同步更新该API密钥。
请参阅图4,为本发明实施例提供的一种密钥管理装置的结构示意图。所述装置包括:
接收模块40,用于接收第一应用系统发送的目标API的密钥变更请求,所述第一应用系统为所述至少一个应用系统中的任意一个,所述密钥变更请求包括所述目标API的第一密钥和第二密钥,所述第二密钥用于更新所述第一密钥;
处理模块41,用于根据所述密钥变更请求查询所述目标API对应的合作方;
发送模块42,用于向所述第一应用系统和所述合作方的应用服务器发送携带有所述第二密钥的测试通知,所述测试通知用于指示所述第一应用系统和所述应用服务器根据所述第二密钥对所述目标API进行连通性测试;
所述接收模块40,还用于接收所述第一应用系统和所述应用服务器分别发送的所述连通性测试的测试结果;
信息更新模块43,用于若所述第一应用系统和所述应用服务器分别发送的测试结果均为通过,则利用所述第二密钥更新数据库中存储的所述第一密钥。
所述发送模块42,还用于通知所述第一应用系统和所述应用服务器分别利用所述第二密钥更新所述第一密钥。
在一个实施例中,所述处理模块41,还用于向所述至少一个应用系统中的各个应用系统分发所述服务器的代理,以使所述各个应用系统运行所述代理。所述接收模块40,还用于接收所述各个应用系统发送的系统数据,所述系统数据包括所述各个应用系统的标识、各个API对应的合作方标识、所述各个API的地址和所述各个API的密钥。所述信息更新模块43,还用于将所述各个应用系统的系统数据添加到所述数据库中。所述发送模块42,还用于向所述各个应用系统发送系统数据添加成功的反馈信息。
在一个实施例中,所述接收模块40,还用于接收所述第一应用系统和所述应用服务器在接收到所述测试通知后,在对所述服务器的身份鉴权结果为通过的情况下发送的执行测试的通知。
在一个实施例中,所述密钥变更请求还包括第一应用系统的标识和所述目标API的地址。
在一个实施例中,所述处理模块41,还用于记录所述各个应用系统的指定API的密钥变更间隔时长,并检测所述各个应用系统的指定API的密钥变更间隔时长是否达到预设时长。所述发送模块42,还用于向所述指定API的密钥变更间隔时长达到所述预设时长的第二应用系统发送密钥变更通知,所述密钥变更通知用于提示所述第二应用系统提交针对所述指定API的密钥变更请求。
在一个实施例中,所述接收模块40,还用于接收运行在所述各个应用系统上的代理发送的所述各个应用系统的各个API的调用记录。所述处理模块41,还用于根据所述调用记录和预设的异常调用判定规则从所述各个API中确定出存在异常调用的API,所述预设的异常调用判定规则包括接口调用健康规则和调用次数阈值中的一种或两种。所述发送模块42,还用于向存在异常调用的API的第三应用系统发送密钥变更通知,所述密钥变更通知用于提示所述第三应用系统提交针对所述存在异常调用的API的密钥变更请求。
在一个实施例中,所述处理模块41,还用于检测所述各个API的调用记录是否命中所述接口调用健康规则或者是否达到所述调用次数阈值;将调用记录命中所述接口调用健康规则或者达到所述调用次数阈值的API确定为存在异常调用的API。
可以理解的是,本发明实施例所描述的密钥管理装置的各功能模块的功能可根据图2或者图3所述的方法实施例中的方法具体实现,其具体实现过程可以参照图2或者图3的方法实施例的相关描述,此处不再赘述。
本发明实施例中,接收模块40接收第一应用系统发送的目标API的密钥变更请求,该第一应用系统为至少一个应用系统中的任意一个,该密钥变更请求包括目标API的第一密钥和第二密钥,该第二密钥用于更新第一密钥,进一步地,处理模块41根据密钥变更请求查询第一应用系统的合作方,并向第一应用系统和该合作方的应用服务器发送携带有第二密钥的测试通知,该测试通知用于指示第一应用系统和该应用服务器根据上述第二密钥对目标API进行连通性测试,接着,接收模块40,接收第一应用系统和该应用服务器分别发送的连通性测试的测试结果,若第一应用系统和该应用服务器分别发送的测试结果均为通过,信息更新模块43利用第二密钥更新数据库中存储的第一密钥,并且发送模块42通知第一应用系统和该应用服务器分别利用第二密钥更新第一密钥。采用这样的密钥管理方式,可以在保证API密钥安全变更的同时,还可以保障应用系统与对应的合作方之间及时同步更新该API密钥。
请参阅图5,为本发明实施例提供了一种服务器的结构示意图。本实施例中所描述的服务器,包括:处理器501、存储器502、输入设备503和输出设备504。上述处理器501和存储器502通过总线连接。
上述处理器501可以是中央处理单元(Central Processing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
上述储存器502可以包括只读存储器和随机存取存储器,并向处理器501提供程序指令和数据。输入设备503和输出设备504受所述处理器的控制用于收发消息。存储器502的一部分还可以包括非易失性随机存取存储器。其中,所述处理器501调用所述程序指令时用于执行:
通过所述输入设备503接收第一应用系统发送的目标API的密钥变更请求,所述第一应用系统为所述至少一个应用系统中的任意一个,所述密钥变更请求包括所述目标API的第一密钥和第二密钥,所述第二密钥用于更新所述第一密钥;
根据所述密钥变更请求查询所述目标API对应的的合作方,并通过所述输出设备504向所述第一应用系统和所述合作方的应用服务器发送携带有所述第二密钥的测试通知,所述测试通知用于指示所述第一应用系统和所述应用服务器根据所述第二密钥对所述目标API进行连通性测试;
通过所述输入设备503接收所述第一应用系统和所述应用服务器分别发送的所述连通性测试的测试结果;
若所述第一应用系统和所述应用服务器分别发送的测试结果均为通过,则利用所述第二密钥更新数据库中存储的所述第一密钥,并通过所述输出设备504通知所述第一应用系统和所述应用服务器分别利用所述第二密钥更新所述第一密钥。
在一种实现方式中,所述处理器501,具体用于:
向所述至少一个应用系统中的各个应用系统分发所述服务器的代理,以使所述各个应用系统运行所述代理;
通过所述输入设备503接收运行在所述各个应用系统上的代理发送的所述各个应用系统的系统数据,所述系统数据包括所述各个应用系统标识、各个API对应的合作方标识、所述各个API的地址和所述各个API的密钥;
将所述各个应用系统的系统数据添加到所述数据库中,并通过所述输出设备504向所述各个应用系统发送系统数据添加成功的反馈信息。
在一种实现方式中,所述处理器501,具体用于:
通过所述输入设备503接收所述第一应用系统和所述应用服务器在接收到所述测试通知后,在对所述服务器的身份鉴权结果为通过的情况下发送的执行测试的通知。
在一种实现方式中,所述密钥变更请求还包括第一应用系统的标识和所述目标API的地址。
在一种实现方式中,所述处理器501,具体用于:
记录所述各个应用系统的指定API的密钥变更间隔时长;
检测所述各个应用系统的指定API的密钥变更间隔时长是否达到预设时长;
通过所述输出设备504向所述指定API的密钥变更间隔时长达到所述预设时长的第二应用系统发送密钥变更通知,所述密钥变更通知用于提示所述第二应用系统提交针对所述指定API的密钥变更请求。
在一种实现方式中,所述处理器501,具体用于:接收运行在所述各个应用系统上的代理发送的所述各个应用系统的各个API的调用记录;
根据所述调用记录和预设的异常调用判定规则从所述各个API中确定出存在异常调用的API,所述预设的异常调用判定规则包括接口调用健康规则和调用次数阈值中的一种或两种;
通过所述输出设备504向存在异常调用的API的第三应用系统发送密钥变更通知,所述密钥变更通知用于提示所述第三应用系统提交针对所述存在异常调用的API的密钥变更请求。
在一种实现方式中,所述处理器501,具体用于:
检测所述各个API的调用记录是否命中所述接口调用健康规则或者是否达到所述调用次数阈值;
将调用记录命中所述接口调用健康规则或者达到所述调用次数阈值的API确定为存在异常调用的API。
具体实现中,本发明实施例中所描述的处理器501、存储器502、输入设备503和输出设备504可执行本发明实施例图2或者图3提供的密钥管理方法中所描述的实现方式,也可执行本发明实施例图4所描述的密钥管理装置的实现方式,在此不再赘述。
本发明实施例中,处理器501可以接收第一应用系统发送的目标API的密钥变更请求,该第一应用系统为至少一个应用系统中的任意一个,该密钥变更请求包括目标API的第一密钥和第二密钥,该第二密钥用于更新第一密钥,进一步地,根据密钥变更请求查询该目标API对应的合作方,并向第一应用系统和该合作方的应用服务器发送携带有第二密钥的测试通知,该测试通知用于指示第一应用系统和应用服务器根据上述第二密钥对目标API进行连通性测试,接着,接收第一应用系统和应用服务器分别发送的连通性测试的测试结果,若第一应用系统和应用服务器分别发送的测试结果均为通过,则利用第二密钥更新数据库中存储的第一密钥,并且通知第一应用系统和应用服务器分别利用第二密钥更新第一密钥。采用这样的密钥管理方式,可以在保证API密钥安全变更的同时,还可以保障应用系统与对应的合作方之间及时同步更新该API密钥。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序执行时可包括如图2或者图3对应实施例中的密钥管理方法的部分或全部步骤。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本申请,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,可读存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种密钥管理方法、装置、服务器及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种密钥管理方法,其特征在于,所述方法应用于密钥管理系统,所述密钥管理系统包括密钥管理服务器和至少一个应用系统,所述方法包括:
密钥管理服务器接收第一应用系统发送的目标应用程序编程接口API的密钥变更请求,所述第一应用系统为所述至少一个应用系统中的任意一个,所述密钥变更请求包括所述目标API的第一密钥和第二密钥,所述第二密钥用于更新所述第一密钥;
所述密钥管理服务器根据所述密钥变更请求查询所述目标API对应的合作方,并向所述第一应用系统和所述合作方的应用服务器发送携带有所述第二密钥的测试通知,所述测试通知用于指示所述第一应用系统和所述应用服务器根据所述第二密钥对所述目标API进行连通性测试;
所述密钥管理服务器接收所述第一应用系统和所述应用服务器分别发送的所述连通性测试的测试结果;
若所述第一应用系统和所述应用服务器分别发送的测试结果均为通过,则所述密钥管理服务器利用所述第二密钥更新数据库中存储的所述第一密钥,并通知所述第一应用系统和所述应用服务器分别利用所述第二密钥更新所述第一密钥。
2.根据权利要求1所述的方法,其特征在于,所述密钥管理服务器接收第一应用系统发送的目标应用程序编程接口API的密钥变更请求之前,所述方法还包括:
所述密钥管理服务器向所述至少一个应用系统中的各个应用系统分发所述服务器的代理,以使所述各个应用系统运行所述代理;
所述密钥管理服务器接收所述各个应用系统发送的系统数据,所述系统数据包括所述各个应用系统的标识、各个API对应的合作方标识、所述各个API的地址和所述各个API的密钥;
所述密钥管理服务器将所述各个应用系统的系统数据添加到所述数据库中,并向所述各个应用系统发送系统数据添加成功的反馈信息。
3.根据权利要求1或2所述的方法,其特征在于,所述密钥管理服务器接收所述第一应用系统和所述应用服务器分别发送的所述连通性测试的测试结果之前,所述方法还包括:
所述密钥管理服务器接收所述第一应用系统和所述应用服务器在接收到所述测试通知后,在对所述服务器的身份鉴权结果为通过的情况下发送的执行测试的通知。
4.根据权利要求1所述方法,其特征在于,所述密钥变更请求还包括第一应用系统的标识和所述目标API的地址。
5.根据权利要求1所述方法,其特征在于,所述方法还包括:
所述密钥管理服务器记录所述各个应用系统的指定API的密钥变更间隔时长;
所述密钥管理服务器检测所述各个应用系统的指定API的密钥变更间隔时长是否达到预设时长;
所述密钥管理服务器向所述指定API的密钥变更间隔时长达到所述预设时长的第二应用系统发送密钥变更通知,所述密钥变更通知用于提示所述第二应用系统提交针对所述指定API的密钥变更请求。
6.根据权利要求1或5所述方法,其特征在于,所述各个应用系统上运行有所述密钥管理服务器的代理,所述方法还包括:
所述密钥管理服务器接收运行在所述各个应用系统上的代理发送的所述各个应用系统的各个API的调用记录;
所述密钥管理服务器根据所述调用记录和预设的异常调用判定规则从所述各个API中确定出存在异常调用的API,所述预设的异常调用判定规则包括接口调用健康规则和调用次数阈值中的一种或两种;
所述密钥管理服务器向存在异常调用的API的第三应用系统发送密钥变更通知,所述密钥变更通知用于提示所述第三应用系统提交针对所述存在异常调用的API的密钥变更请求。
7.根据权利要求6所述方法,其特征在于,所述密钥管理服务器根据所述调用记录和预设的异常调用判定规则从所述各个API中确定出存在异常调用的API,包括:
所述密钥管理服务器检测所述各个API的调用记录是否命中所述接口调用健康规则或者是否达到所述调用次数阈值;
所述密钥管理服务器将调用记录命中所述接口调用健康规则或者达到所述调用次数阈值的API确定为存在异常调用的API。
8.一种密钥管理装置,其特征在于,所述装置包括:
接收模块,用于接收第一应用系统发送的目标API的密钥变更请求,所述第一应用系统为所述至少一个应用系统中的任意一个,所述密钥变更请求包括所述目标API的第一密钥和第二密钥,所述第二密钥用于更新所述第一密钥;
处理模块,用于根据所述密钥变更请求查询所述目标API对应的合作方;
发送模块,用于向所述第一应用系统和所述合作方的应用服务器发送携带有所述第二密钥的测试通知,所述测试通知用于指示所述第一应用系统和所述应用服务器根据所述第二密钥对所述目标API进行连通性测试;
所述接收模块,还用于接收所述第一应用系统和所述应用服务器分别发送的所述连通性测试的测试结果;
信息更新模块,用于若所述第一应用系统和所述应用服务器分别发送的测试结果均为通过,则利用所述第二密钥更新数据库中存储的所述第一密钥;
所述发送模块,还用于通知所述第一应用系统和所述应用服务器分别利用所述第二密钥更新所述第一密钥。
9.一种服务器,其特征在于,包括处理器、存储器、输入设备和输出设备,所述处理器、存储器、输入设备和输出设备相互连接,其中,所述输入设备和输出设备受所述处理器控制用于收发消息,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行权利要求1-7任一项所述方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被处理器执行以实现权利要求1-7任意一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910940258.2A CN110635905B (zh) | 2019-09-30 | 2019-09-30 | 一种密钥管理方法、相关设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910940258.2A CN110635905B (zh) | 2019-09-30 | 2019-09-30 | 一种密钥管理方法、相关设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110635905A true CN110635905A (zh) | 2019-12-31 |
CN110635905B CN110635905B (zh) | 2022-04-08 |
Family
ID=68974804
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910940258.2A Active CN110635905B (zh) | 2019-09-30 | 2019-09-30 | 一种密钥管理方法、相关设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110635905B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464642A (zh) * | 2020-04-01 | 2020-07-28 | 北京四维智联科技有限公司 | 车机消息推送的方法和装置 |
WO2021093164A1 (en) * | 2020-01-16 | 2021-05-20 | Zte Corporation | Method, device, and system for updating anchor key in a communication network for encrypted communication with service applications |
CN114679724A (zh) * | 2022-05-12 | 2022-06-28 | 支付宝实验室(新加坡)有限公司 | 密钥更新系统以及方法 |
CN115396885A (zh) * | 2022-08-26 | 2022-11-25 | 中国联合网络通信集团有限公司 | 一种密钥安全管理方法、装置、电子设备及存储介质 |
CN117478504A (zh) * | 2023-12-22 | 2024-01-30 | 深圳万物安全科技有限公司 | 信息传输方法、装置、终端设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120204032A1 (en) * | 2006-05-09 | 2012-08-09 | Syncup Corporation | Encryption key exchange system and method |
CN103825698A (zh) * | 2014-01-20 | 2014-05-28 | 中国建设银行股份有限公司 | 一种密码安全管理系统和方法 |
CN107592199A (zh) * | 2017-08-30 | 2018-01-16 | 北京奇艺世纪科技有限公司 | 一种数据同步的方法和系统 |
CN108270739A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种管理加密信息的方法及装置 |
CN109936580A (zh) * | 2018-11-26 | 2019-06-25 | 西安得安信息技术有限公司 | 面向智能终端及应用系统的密码管理服务平台 |
-
2019
- 2019-09-30 CN CN201910940258.2A patent/CN110635905B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120204032A1 (en) * | 2006-05-09 | 2012-08-09 | Syncup Corporation | Encryption key exchange system and method |
CN103825698A (zh) * | 2014-01-20 | 2014-05-28 | 中国建设银行股份有限公司 | 一种密码安全管理系统和方法 |
CN108270739A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 一种管理加密信息的方法及装置 |
CN107592199A (zh) * | 2017-08-30 | 2018-01-16 | 北京奇艺世纪科技有限公司 | 一种数据同步的方法和系统 |
CN109936580A (zh) * | 2018-11-26 | 2019-06-25 | 西安得安信息技术有限公司 | 面向智能终端及应用系统的密码管理服务平台 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021093164A1 (en) * | 2020-01-16 | 2021-05-20 | Zte Corporation | Method, device, and system for updating anchor key in a communication network for encrypted communication with service applications |
CN111464642A (zh) * | 2020-04-01 | 2020-07-28 | 北京四维智联科技有限公司 | 车机消息推送的方法和装置 |
CN114679724A (zh) * | 2022-05-12 | 2022-06-28 | 支付宝实验室(新加坡)有限公司 | 密钥更新系统以及方法 |
CN115396885A (zh) * | 2022-08-26 | 2022-11-25 | 中国联合网络通信集团有限公司 | 一种密钥安全管理方法、装置、电子设备及存储介质 |
CN117478504A (zh) * | 2023-12-22 | 2024-01-30 | 深圳万物安全科技有限公司 | 信息传输方法、装置、终端设备以及存储介质 |
CN117478504B (zh) * | 2023-12-22 | 2024-03-29 | 深圳万物安全科技有限公司 | 信息传输方法、装置、终端设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110635905B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110635905B (zh) | 一种密钥管理方法、相关设备及计算机可读存储介质 | |
CN110049087B (zh) | 一种联盟链的可信度验证方法、系统、装置及设备 | |
CN109981646B (zh) | 基于区块链的资源转移方法及装置和电子设备 | |
US10693853B2 (en) | Method and system for policy enforcement in trusted ad hoc networks | |
CN110602108B (zh) | 基于区块链网络的数据通信方法、装置、设备及存储介质 | |
KR20130136395A (ko) | 컴퓨팅 장치의 분실 모드를 원격으로 개시하는 시스템 및 방법 | |
US11269655B2 (en) | Bare metal device management | |
CN104917749A (zh) | 帐号注册方法及装置 | |
CN110046901B (zh) | 联盟链的可信度验证方法、系统、装置及设备 | |
CN110661658A (zh) | 一种区块链网络的节点管理方法、装置及计算机存储介质 | |
WO2017035737A1 (zh) | 一种网络服务描述符上架方法及装置 | |
CN110022345B (zh) | 联盟链中的请求处理方法、系统、装置及设备 | |
CN112015811A (zh) | 用于区块链系统的节点管理的方法、节点和计算设备 | |
US20200067912A1 (en) | Implementing authentication protocol for merging multiple server nodes with trusted platform modules utilizing provisioned node certificates to support concurrent node add and remove | |
US10218659B1 (en) | Persistent connections for email web applications | |
CN106934272B (zh) | 一种应用信息的校验方法和装置 | |
EP2974125B1 (en) | Systems, methods, and computer program products for providing a universal persistence cloud service | |
CN108874947B (zh) | 一种数据处理系统及数据处理方法 | |
WO2017055927A1 (en) | Methods and apparatuses for providing timing functionality | |
US7529181B2 (en) | Method and apparatus for adaptive monitoring and management of distributed systems | |
CN115567218A (zh) | 基于区块链的安全证书的数据处理方法、装置和服务器 | |
CN114125039A (zh) | 服务之间访问关系的发现与控制方法和装置 | |
WO2017197689A1 (zh) | 一种sim卡处理方法、装置、终端及esam芯片 | |
CN114257632A (zh) | 断线重连的方法、装置、电子设备及可读存储介质 | |
CN117318959B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |