一种秘钥轮转方法、装置及计算机介质与流程

文档序号:29084261发布日期:2022-03-02 00:56阅读:243来源:国知局
一种秘钥轮转方法、装置及计算机介质与流程

1.本发明涉及计算机领域,具体提供一种秘钥轮转方法、装置及计算机介质。


背景技术:

2.随着互联网行业的发展,信息安全这个问题也变得越来越重要,如何保护数据的安全,防止信息泄露,也成为众多互联网厂商正在研究的方向。作为数据加密的手段,秘钥是加密动作的核心,秘钥安全才能保证加密数据的安全性。
3.以云平台中需要加密服务的对象存储为例,按照传统模式,对象存储所使用的加密秘钥为对象存储本身提供,秘钥生成效率低,在出于安全考虑的前提下,若要对已加密文件进行一次密钥轮转,需要手动获得加密文件明文,生成新的秘钥再进行加密,在需要加密的文件数据量较大的情况下,传统模式的效率极低。


技术实现要素:

4.本发明是针对上述现有技术的不足,提供一种实用性强的秘钥轮转方法,
5.本发明进一步的技术任务是提供一种设计合理,安全适用的秘钥轮转装置。
6.第三方面的技术任务是提供一种计算机介质。
7.本发明解决其技术问题所采用的技术方案是:
8.一种秘钥轮转方法,使用openstack的barbican组件进行秘钥管理,生成可靠的随机秘钥,并通过xxl平台定时任务,指定执行策略,完成对加密内容的密钥自动轮转。
9.进一步的,具有如下步骤:
10.s1、在openstack中部署barbican组件,初次部署的barbican组件的核心功能仅对openstack中admin用户开放,只有管理员可使用order和secret的创建功能;
11.s2、设置秘钥管理执行器,所述秘钥管理执行器包括barbican接入模块、xxl定时任务handler和秘钥替换模块。
12.s3、在进行若干次秘钥轮转迭代后,仅有最新的若干版本秘钥能够完成解密动作。
13.进一步的,在步骤s1中,若租户正常使用order和secret功能,改变barbican的policy文件,将orders:post与secrets:post属性从rule:admin_or_creator改为对所有用户开放的@。
14.进一步的,在步骤s2中,所述barbican接入模块用于与barbican之间的通信,创建秘钥,所述秘钥存放于barbican组件的某一order中,可通过调用特定接口获取秘钥明文。
15.进一步的,所述xxl定时任务handler与xxl定时任务平台通信,创建定时任务;
16.当后端收到指令秘钥开启秘钥轮时,handler即调用xxl定时任务平台接口,根据cron表达式,设置定时任务执行周期,在到达预先设置的执行时间后,xxl定时任务平台回调handler,后端即开始执行加解密及秘钥替换动作。
17.进一步的,所述秘钥替换模块中,在handler收到xxl定时任务平台回调的消息后,秘钥替换模块会获取当前版本密文及秘钥进行密文解密,获取加密明文,同时,获取明文中
设置的秘钥id标识符,完成这一动作后,秘钥替换模块将删除该标识符,将barbican接入模块生成的新秘钥id作为新的标识符添加进秘钥明文中,以新生成的明文使用新秘钥进行加密,并进行保存,至此,秘钥完成替换。
18.进一步的,在步骤s3中,在进行若干次轮转迭代后,删除在barbican和数据库中早期版本的秘钥及密文。
19.一种秘钥轮转装置,包括:至少一个存储器和至少一个处理器;
20.所述至少一个存储器,用于存储机器可读程序;
21.所述至少一个处理器,用于调用所述机器可读程序,执行一种秘钥轮转方法。
22.一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行一种秘钥轮转方法。
23.本发明的一种秘钥轮转方法、装置及计算机介质和现有技术相比,具有以下突出的有益效果:
24.本发明的秘钥管理使用openstack的barbican组件,实现了秘钥与后端的隔离,保证了秘钥的安全性;通过xxl定时任务平台和barbican组件与后端的通信,实现了秘钥轮转的自动化处理,减少了秘钥管理后端手动进行秘钥轮转的开销。
附图说明
25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.附图1是一种秘钥轮转方法的流程示意图。
具体实施方式
27.为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。
28.下面给出一个最佳实施例:
29.如图1所示,本实施例中的一种秘钥轮转方法,使用openstack的barbican组件进行秘钥管理,生成可靠的随机秘钥,并通过xxl平台定时任务,指定执行策略,完成对加密内容的密钥自动轮转。
30.具体有以下步骤:
31.s1、首先需要在openstack中部署barbican组件,初次部署的barbican组件的核心功能仅对openstack中admin用户开放,只有管理员可使用order和secret的创建功能。
32.要使租户能够正常使用order和secret功能,需改变barbican的policy文件,将“orders:post”与“secrets:post”属性从“rule:admin_or_creator”改为对所有用户开放的“@”。
33.s2、设置秘钥管理执行器。此执行器分为三部分,第一部分为barbican接入模块,
第二部分为xxl定时任务handler,第三部分为秘钥替换模块。
34.barbican接入模块与barbican之间的通信,主要任务为创建秘钥。以aes_256秘钥为例,接入模块可通过调用barbican的openapi:post/v1/orders,在body体中设置“algorithm”属性为“aes”,“bit_length”为“256”。
35.通过此方法,即可创建一个类型为“aes_256”的秘钥,此秘钥存放于barbican组件的某一order中,可通过调用特定接口获取秘钥明文。
36.定时任务handler负责后端与xxl定时任务平台通信,主要负责创建定时任务。当后端收到指令为某一秘钥开启秘钥轮转时,handler即调用xxl定时任务平台接口,根据cron表达式,设置定时任务执行周期,如:“0 0 12?*1”代表每周一中午12点执行。在到达预先设置的执行时间后,xxl定时任务平台回调handler,后端即开始执行加解密及秘钥替换动作。
37.秘钥替换模块保证被不同版本秘钥加密过的密文能被顺利解密。
38.为使不同版本的密文能顺利被某一特定主密钥解密,密文需添加一段用于表明barbican中实际秘钥id的特定标识符。在handler收到xxl定时任务平台回调的消息后,秘钥替换模块会获取当前版本密文及秘钥进行密文解密,获取加密明文,同时,获取明文中设置的秘钥id标识符,完成这一动作后,秘钥替换模块将删除该标识符,将barbican接入模块生成的新秘钥id作为新的标识符添加进秘钥明文中,以新生成的明文使用新秘钥进行加密,并进行保存,至此,秘钥完成替换,不同版本的密文将使用不同版本的秘钥进行解密。
39.s3、在进行若干次轮转迭代后,需删除早期版本的秘钥及密文,如设定最大轮转次数为5次,则当某一主密钥为秘钥轮转生成第6个秘钥时,应在barbican删除第1个秘钥,并在数据库中删除第一次加密生成的密文。通过此途径,可防止因前面生成的某一秘钥泄露导致的安全问题,保证了数据安全的时效性。
40.在进行数据解密时,先读取密文的标识符区域以此来识别时通过哪个barbican中秘钥进行加密的,再进行解密操作,这样就能使旧版本秘钥沿用,至此秘钥轮转完成。
41.一种秘钥轮转装置,包括:至少一个存储器和至少一个处理器;
42.所述至少一个存储器,用于存储机器可读程序;
43.所述至少一个处理器,用于调用所述机器可读程序,执行一种秘钥轮转方法。
44.一种计算机可读介质,计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行一种秘钥轮转方法。
45.上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种秘钥轮转方法、装置及计算机介质权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。
46.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1