CN111666558B - 密钥轮换方法、装置、计算机设备及存储介质 - Google Patents

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

Info

Publication number
CN111666558B
CN111666558B CN202010365818.9A CN202010365818A CN111666558B CN 111666558 B CN111666558 B CN 111666558B CN 202010365818 A CN202010365818 A CN 202010365818A CN 111666558 B CN111666558 B CN 111666558B
Authority
CN
China
Prior art keywords
key
original
target
rotation
master key
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.)
Active
Application number
CN202010365818.9A
Other languages
English (en)
Other versions
CN111666558A (zh
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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202010365818.9A priority Critical patent/CN111666558B/zh
Publication of CN111666558A publication Critical patent/CN111666558A/zh
Application granted granted Critical
Publication of CN111666558B publication Critical patent/CN111666558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开一种密钥轮换方法、装置、计算机设备及存储介质,该方法包括获取密钥轮换请求;基于项目标识查询密钥管理***,获取与所述项目标识相对应的原始主密钥,并基于所述项目标识查询数据库,获取与所述项目标识相对应的原始密钥密文;采用所述原始主密钥对所述原始密钥密文进行解密,获取原始工作密钥;采用所述目标主密钥对所述原始工作密钥进行加密,获取目标密钥密文;利用所述项目标识对应的目标主密钥更新所述密钥管理***中与所述项目标识相对应的存储记录,并将所述目标密钥密文存储在所述数据库中。此外,本发明还涉及区块链技术,用户的隐私信息可存储于区块链中。该密钥轮换方法的密钥轮换时间短,加密效率高,有效保护目标项目。

Description

密钥轮换方法、装置、计算机设备及存储介质
技术领域
本发明涉及数据安全管理技术领域,尤其涉及一种密钥轮换方法、装置、计算机设备及存储介质。
背景技术
现如今,大多数公司通过网络实现数据保存或者数据交互等,例如,用户信息和商业信息等隐私信息,但是,网络上可能存在入侵者非法入侵公司***盗取隐私信息,这些隐私信息泄露容易给用户或者公司造成损失,所以,对***进行加密是一项非常重要的操作,现在的公司***通常是利用密钥轮换对***进行加密,具体是设定时间执行批量加密数据,但是这种批量密钥轮换方法由于数据量大,加密过程很费时间,若***出现问题则需要重新加密,轮换效率低。
发明内容
本发明实施例提供一种密钥轮换方法、装置、计算机设备及存储介质,以解决目前密钥轮换过程效率低的问题。
一种密钥轮换方法,包括:
获取密钥轮换请求,所述密钥轮换请求包括项目标识和目标主密钥;
基于所述项目标识查询密钥管理***,获取与所述项目标识相对应的原始主密钥,并基于所述项目标识查询数据库,获取与所述项目标识相对应的原始密钥密文;
采用所述原始主密钥对所述原始密钥密文进行解密,获取原始工作密钥;
采用所述目标主密钥对所述原始工作密钥进行加密,获取目标密钥密文;
利用所述项目标识对应的目标主密钥更新所述密钥管理***中与所述项目标识相对应的存储记录,并将所述目标密钥密文存储在所述数据库中。
一种密钥轮换装置,包括:
密钥轮换请求获取模块,用于获取密钥轮换请求,所述密钥轮换请求包括项目标识和目标主密钥;
查询模块,用于基于所述项目标识查询密钥管理***,获取与所述项目标识相对应的原始主密钥,并基于所述项目标识查询数据库,获取与所述项目标识相对应的原始密钥密文;
原始工作密钥获取模块,用于采用所述原始主密钥对所述原始密钥密文进行解密,获取原始工作密钥;
目标密钥密文模块,用于采用所述目标主密钥对所述原始工作密钥进行加密,获取目标密钥密文;
更新模块,用于利用所述项目标识对应的目标主密钥更新所述密钥管理***中与所述项目标识相对应的存储记录,并将所述目标密钥密文存储在所述数据库中。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述密钥轮换方法的步骤。
一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述密钥轮换方法的步骤。
上述密钥轮换方法、装置、计算机设备及存储介质中,基于项目标识查询密钥管理***,获取与项目标识相对应的原始主密钥,并基于项目标识查询数据库,获取与项目标识相对应的原始密钥密文,以便将原始主密钥和原始密钥密文分开存储,保护目标项目的安全。采用原始主密钥对原始密钥密文进行解密,获取原始工作密钥,以便后续对原始工作密钥进行加密,即可快速地实现对目标项目进行加密,花费时间短且加密效率较高。采用目标主密钥对原始工作密钥进行加密,获取目标密钥密文,即可实现快速的密钥轮换,以保护目标项目,而避免每次都对目标项目的信息进行逐一加密,效率低且花费时间较长。利用项目标识对应的目标主密钥更新密钥管理***中与项目标识相对应的存储记录,并将目标密钥密文存储在数据库中,将目标主密钥和目标密钥密文分开存储有利于保护目标项目。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中密钥轮换方法的一环境示意图;
图2是本发明一实施例中密钥轮换方法的一流程图;
图3是本发明一实施例中密钥轮换方法的另一流程图;
图4是本发明一实施例中密钥轮换方法的另一流程图;
图5是本发明一实施例中密钥轮换方法的另一流程图;
图6是本发明一实施例中密钥轮换方法的另一流程图;
图7是本发明一实施例中密钥轮换方法的另一流程图;
图8是本发明一实施例中密钥轮换装置的一示意图;
图9是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的密钥轮换方法可应用在安装有应用程序的计算机设备中,用于快速地进行密钥轮换。该密钥轮换方法可应用在如图1的项目环境中,其中,计算机设备通过网络与服务器进行通信。计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一实施例中,如图2所示,提供一种密钥轮换方法,以该方法安装在图1中的服务器为例进行说明,包括如下步骤:
S201:获取密钥轮换请求,密钥轮换请求包括项目标识和目标主密钥。
其中,密钥轮换请求是对主密钥进行更换的请求,可以理解地,该密钥轮换请求可以是人工操作触发的、计算机定时触发的或者是根据主密钥的长度设定的自动程序触发的,例如,若主密钥的长度较长,则轮换时间较长,若主密钥的长度较短,则轮换时间较短。项目标识是指唯一识别目标项目的标识,例如,目标标识可以是目标项目的名称或者目标项目的序号等。目标项目是指需要进行加密的项目,包括用户数据、商业配方和商业秘密等。目标主密钥是指将明文转化为密文的密钥,本实施例中,具体是指对工作密钥进行加密的密钥。其中,工作密钥是指对目标项目进行加密,获取项目密文,使得目标项目由明文转化为密文的密钥。例如,目标项目1中使用了工作密钥A、工作密钥B和工作密钥C,采用工作密钥A、工作密钥B和工作密钥C对目标项目1进行加密,然后采用主密钥D对工作密钥A、工作密钥B和工作密钥C进行加密。
S202:基于项目标识查询密钥管理***,获取与项目标识相对应的原始主密钥,并基于项目标识查询数据库,获取与项目标识相对应的原始密钥密文。
其中,密钥管理***是用于管理密钥轮换的自动化***,使得密钥轮换过程智能化,减少人为干涉,最大程度上保护目标项目的安全。该密钥管理***可以用于存储目标主密钥,以便将原始主密钥和原始密钥密文分开存储,保护目标项目的安全。
数据库是计算机用于存储数据的数据库,该数据库可以是本地数据库,也可以是线上数据库,需要强调的是,为进一步保证存储的私密性和安全性,还可以存储于一区块链的节点中。用于存储原始密钥密文,以便将原始主密钥和原始密钥密文分开存储,保护目标项目的安全。
原始主密钥是指对原始工作密钥进行加密的密钥,使得原始工作密钥由明文变为密文,以保护原始工作密钥。原始密钥密文是指在原始主密钥对原始工作密钥进行加密后获得的密文。原始工作密钥是用于对目标项目进行加密的密钥,本实施例中,原始工作密钥仅需对目标项目加密一次即可,后续则通过改变原始主密钥以保护原始工作密钥,操作简单、高效。
S203:采用原始主密钥对原始密钥密文进行解密,获取原始工作密钥。
具体地,为保护目标项目,每次对目标项目进行加密后,在将主密钥和工作密文分开保存之后,需要将原始工作密钥在密钥管理***上删除,避免原始工作密钥被泄露,造成目标项目的信息泄露。因此,本实施例中利用原始主密钥对原始密钥密文进行解密,以获取已经被删除的原始工作密钥,以便后续对原始工作密钥进行加密,即可快速地实现对目标项目进行加密,花费时间短且加密效率较高。
S204:采用目标主密钥对原始工作密钥进行加密,获取目标密钥密文。
其中,目标密钥密文是指采用目标主密钥对原始工作密钥进行加密后获得的密文。本实施例中,利用目标主密钥对原始工作密钥进行加密,即可实现快速的密钥轮换,以保护目标项目,而避免每次都对目标项目的信息进行逐一加密,效率低且花费时间较长。
S205:利用项目标识对应的目标主密钥更新密钥管理***中与项目标识相对应的存储记录,并将目标密钥密文存储在数据库中。
具体地,将目标主密钥更新密钥管理***中与项目标识相对应的存储记录,即解除项目标识与原始主密钥的关联,并将原始主密钥删除,将目标主密钥与项目标识关联,以使目标主密钥替代原始主密钥,以达到密钥轮换的目的。同时将目标密钥密文存储在数据库中,也即,利用目标密钥密文替换原始密钥密文,可以理解地,将目标主密钥和目标密钥密文分开存储有利于保护目标项目。
作为一示例,***中还设有与软件应用连接的配置中心,配置中心与密钥生成器连接,在利用目标主密钥替换原始主密钥后,密钥生成器将每次更新后的目标主密钥传送给配置中心,配置中心将受保护的目标主密钥和项目标识发送给软件应用,以便当项目标识对应的目标项目中增加新的数据时,采用目标主密钥对加密新的数据的原始工作密钥进行加密,从而实现实时地线上密钥轮换。其中,软件应用可以是软件APP。
本实施例所提供的密钥轮换方法中,基于项目标识查询密钥管理***,获取与项目标识相对应的原始主密钥,并基于项目标识查询数据库,获取与项目标识相对应的原始密钥密文,以便将原始主密钥和原始密钥密文分开存储,保护目标项目的安全。进一步地,为进一步保证上述信息的私密和安全性,上述信息还可以存储于一区块链的节点中。
采用原始主密钥对原始密钥密文进行解密,获取原始工作密钥,以便后续对原始工作密钥进行加密,即可快速地实现对目标项目进行加密,花费时间短且加密效率较高。采用目标主密钥对原始工作密钥进行加密,获取目标密钥密文,即可实现快速的密钥轮换,以保护目标项目,而避免每次都对目标项目的信息进行逐一加密,效率低且花费时间较长。利用项目标识对应的目标主密钥更新密钥管理***中与项目标识相对应的存储记录,并将目标密钥密文存储在数据库中,将目标主密钥和目标密钥密文分开存储有利于保护目标项目。
在一实施例中,如图3所示,在步骤S101之前,即在获取密钥轮换请求之前,密钥轮换方法还包括:
S301:基于目标项目触发密钥管理请求,目标项目包括项目标识。
其中,密钥管理请求是指对目标项目进行加密的请求。具体地,计算机中上设置有密钥管理按键,通过点击密钥管理按键生成密钥管理请求。或者计算机中预先设定目标识别接口,当识别到有新的项目时,则自动对项目进行分析,自动生成密钥管理请求。
S302:基于密钥管理请求,调用密钥生成器生成原始主密钥和原始工作密钥,将原始主密钥与项目标识关联存储在密钥管理***。
其中,密钥生成器指生成密钥的计算机程序或者硬件设备。本示例中,***接收到密钥管理请求后,调用密钥生成器生成与项目标识相对应的原始主密钥和原始工作密钥。
具体地,当接收到密钥管理请求时,则调用密钥生成器生成原始主密钥和原始工作密钥,以便后续采用原始工作密钥对目标项目进行加密,获取原始工作密文,采用原始主密钥对原始工作密钥进行加密,获取原始密钥密文。将原始主密钥与项目标识关联存储在密钥管理***中,以便后续根据项目标识识别原始主密钥和利用原始主密钥进行加密后获得的原始密钥密文,确保可进行密钥轮换。需要说明的是,每一目标项目中,首次需要生成原始工作密钥和原始主密钥,但后续的密钥管理过程中,原始工作密钥不变,仅需生成不同的目标主密钥对原始工作密钥进行加密即可,一方面,保证目标项目的安全,另一方面,保证可快速地进行加密,避免每次对目标项目逐一进行加密,使得加密效率较低,而且当计算机出现故障时,进行中的加密过程被打断,也需要重新进行,加密效率低。
S303:采用原始主密钥对原始工作密钥进行加密,获取原始密钥密文,将原始密钥密文与项目标识关联存储在数据库,删除原始工作密钥。
具体地,在获取到原始主密钥和原始工作密钥之后,先采用原始工作密钥对目标项目进行加密,然后采用原始主密钥对原始工作密钥进行加密,获取原始密钥密文,将原始密钥密文与项目标识关联存储在数据库,删除原始工作密钥,将原始主密钥与项目标识关联存储在密钥管理***中,以便后续根据项目标识识别原始主密钥和利用原始主密钥进行加密后获得的原始密钥密文,确保可进行密钥轮换,且原始密钥密文与原始主密钥分开存储,有利于保证目标项目的安全。
本实施例所提供的密钥轮换方法中,基于目标项目触发密钥管理请求,基于密钥管理请求,调用密钥生成器生成原始主密钥和原始工作密钥,将原始主密钥与项目标识关联存储在密钥管理***,以便后续根据项目标识识别原始主密钥和利用原始主密钥进行加密后获得的原始密钥密文,确保可进行密钥轮换。采用原始主密钥对原始工作密钥进行加密,获取原始密钥密文,将原始密钥密文与项目标识关联存储在数据库,删除原始工作密钥,原始密钥密文与原始主密钥分开存储,以及进一步地,利用区块链节点存储,有利于保证目标项目的安全。
在一实施例中,如图4所示,步骤S202,即调用密钥生成器生成原始主密钥和原始工作密钥,包括:
S401:基于目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取主密钥生成模板,获取与主密钥生成模板相对应的主密钥算法类型,调用与主密钥算法类型相对应的主密钥生成接口生成原始主密钥。
其中,主密钥生成模板存储有生成主密钥的算法和类型的模板,例如,生成主密钥的算法可以是对称加密算法、三重对称加密算法和BlowFish算法等等,密钥的类型包括对称类型和非对称类型,例如,AES256是指生成对称类型的、长度为256位的主密钥。本实施例中用密钥管理***中的密钥生成器读取主密钥生成模板,获取主密钥算法类型,采用主密钥生成接口生成原始主密钥,以便后续采用原始主密钥对原始工作密钥进行加密。
S402:基于目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取工作密钥生成模板,获取与工作密钥生成模板相对应的工作密钥算法类型,调用与工作密钥算法类型相对应的工作密钥生成接口生成原始工作密钥。
其中,工作密钥生成模板存储有生成工作密钥的算法和类型的模板,例如,生成工作密钥的算法可以是对称加密算法、三重对称加密算法和BlowFish算法等等,密钥的类型包括对称类型和非对称类型。原始工作密钥生成接口是用于生成原始工作密钥的接口。当获取到目标项目时,为保护目标项目,调用密钥管理***中的密钥生成器读取工作密钥生成模板,获取与工作密钥生成模板相对应的工作密钥算法类型,调用与工作密钥算法类型相对应的工作密钥生成接口生成原始工作密钥,以采用原始工作密钥对目标项目进行加密。
本实施例所提供的密钥轮换方法中,基于目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取主密钥生成模板,获取与主密钥生成模板相对应的主密钥算法类型,调用与主密钥算法类型相对应的主密钥生成接口生成原始主密钥,以便后续采用原始主密钥对原始工作密钥进行加密。基于目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取工作密钥生成模板,获取与工作密钥生成模板相对应的工作密钥算法类型,调用与工作密钥算法类型相对应的工作密钥生成接口生成原始工作密钥,以采用原始工作密钥对目标项目进行加密。
在一实施例中,如图5所示,步骤S101,即获取密钥轮换请求,包括:
S501:基于项目标识创建密钥轮换任务,密钥轮换任务包括原始主密钥、密钥生成时间和轮换时长。
其中,密钥生成时间是指生成该密钥的所花费的时间,本实施例中,密钥管理***设置有计时器,当密钥管理***开始生成密钥时,则利用计时器计算密钥生成时间,以保证数据精确。轮换时长是指原始主密钥所对应的使用期限,可以理解为,原始主密钥从开始工作到需要轮换的期限,例如,轮换时长可以是1天、1个月和1年等。
密钥轮换任务是指对原始主密钥进行更换的任务。具体地,密钥管理***中设置有轮换开关,原始主密钥进行工作时,轮换开关设置为关,当原始主密钥的使用时间达到预设时长(即轮换时长)时,轮换开关变为开,并触发密钥轮换任务,以便进行对原始主密钥进行轮换,由于本实施例,仅对原始主密钥进行轮换,可以加快更换主密钥的频率,减低被解密的风险。
S502:基于密钥生成时间和轮换时长,获取密钥轮换时间。
其中,密钥轮换时间等于密钥生成时间与轮换时长的和,可以理解地,通过密钥生成时间和轮换时长确定密钥轮换时间,可准时进行密钥轮换,且能够实现自动化轮换密钥,效率高,减少人工参与,提高目标项目安全度。
S503:在***当前时间为密钥轮换时间时,调用密钥生成器随机生成目标主密钥,获取密钥轮换请求。
具体地,当***当前时间为密钥轮换时间时,则说明需要更换原始主密钥,因此,调用密钥生成器读取主密钥生成模板,获取与主密钥生成模板相对应的主密钥算法类型,调用与主密钥算法类型相对应的主密钥生成接口,以生成目标主密钥,并将目标主密钥和项目标识关联,从而生成密钥轮换请求,以便后续对原始主密钥进行轮换。
本实施例所提供的密钥轮换方法中,基于项目标识创建密钥轮换任务,密钥轮换任务包括原始主密钥、密钥生成时间和轮换时长,仅对原始主密钥进行轮换,可以加快更换主密钥的频率,减低被解密的风险。基于密钥生成时间和轮换时长,获取密钥轮换时间,通过密钥生成时间和轮换时长确定密钥轮换时间,可准时进行密钥轮换,且能够实现自动化轮换密钥,效率高,减少人工参与,提高目标项目安全度。在***当前时间为密钥轮换时间时,调用密钥生成器随机生成目标主密钥,获取密钥轮换请求,以便后续对原始主密钥进行轮换。
在一实施例中,如图6所示,步骤S403,即调用密钥生成器随机生成目标主密钥,包括:
S601:触发主密钥生成指令,基于主密钥生成指令调用密钥生成器随机生成分配主密钥。
其中,分配主密钥是指密钥生成器生成的用于随机分配的主密钥。具体地,当触发主密钥生成指令时,则根据调用密钥生成器读取密钥生成模板,获取密钥算法类型,并调用主密钥生成接口,生成分配主密钥,以便后续对原始主密钥进行轮换。
S602:基于分配主密钥查询密钥管理***中的存储记录,判断是否存在与分配主密钥相对应的目标项目。
具体地,为避免同一个主密钥被分别到不同的项目中,造成数据混乱,因此,根据生成的分配主密钥查询密钥管理***中的存储记录,即查询密钥管理***中是否存在与分配主密钥相同的主密钥。本实施例中,主要通过字符匹配方法快速地查询密钥管理***是否存在与分配主密钥相对应的存储记录。可以理解地,由于密钥管理***中的主密钥与项目标识是关联存储的,因此,利用字符匹配算法对分配主密钥和密钥管理***中存在的主密钥进行匹配可以快速判断是否存在与分配主密钥相对应的目标项目。其中,字符匹配算法将不同序列中的字符进行匹配的算法,包括但不限于暴力匹配、kmp算法和BM算法等。
S603:若不存在与分配主密钥相对应的目标项目,则将分配主密钥确定为目标主密钥。
具体地,在密钥管理***中的存储记录不存在与分配主密钥相对对应的目标项目时,则说明分配主密钥在密钥管理***中还没有被使用过,可以将分配主密钥确定为目标主密钥。
S604:若存在与分配主密钥相对应的目标项目,则重复执行触发密钥生成指令,基于主密钥生成指令调用密钥生成器随机生成新的目标主密钥。
具体地,在密钥管理***中的存储记录存在与分配主密钥相对应的目标项目时,则说明分配主密钥密钥管理***中正在使用,以避免重复使用主密钥而造成数据混乱的情况,因此,需要基于主密钥生成指令调用密钥生成器随机生成新的目标主密钥。
本实施例所提供的密钥轮换方法中,触发主密钥生成指令,基于主密钥生成指令调用密钥生成器随机生成分配主密钥,以便后续对原始主密钥进行轮换。基于分配主密钥查询密钥管理***中的存储记录,若不存在与分配主密钥相对应的目标项目,则将分配主密钥确定为目标主密钥。若存在与分配主密钥相对应的目标项目,则重复执行触发密钥生成指令,基于主密钥生成指令调用密钥生成器随机生成新的目标主密钥,以避免重复使用主密钥而造成数据混乱的情况。
在一实施例中,如图7所示,步骤S401,即基于项目标识创建密钥轮换任务,密钥轮换任务包括原始主密钥、密钥生成时间和轮换时长,包括:
S701:基于目标项目查询密钥管理***,调用密钥生成器读取密钥生成模板,生成原始主密钥。
具体地,在获取到目标项目时,需要生成原始工作密钥和原始主密钥对目标项目进行保护,本实施例中调用密钥生成器件读取密钥生成目标,以生成密钥算法类型,以便调用工作密钥生成接口和主密钥生成接口分别生成原始工作密钥和原始主密钥,以保证目标项目的安全。
S702:获取原始主密钥的密钥生成时间,计算原始主密钥的长度,根据预先设置的密钥长度轮换规则确定轮换时长,基于原始主密钥、密钥生成时间和轮换时长创建密钥轮换任务。
其中,密钥长度轮换规则是预先设定的密钥长度的轮换规则。可以理解地,若原始主密钥的长度较长,则安全系数较高,轮换时长较长。若原始主密钥的长度较短,则安全系数较低,轮换时长较短。设置密钥长度轮换规则实现了灵活、自动化地进行密钥轮换。
具体地,***设置实时***,对原始主密钥的密钥生成时间进行监控,同时根据所生成的原始主密钥的密钥长度轮换规则确定轮换时长,可以灵活地、自动进行轮换,井根据原始主密钥、密钥生成时间和轮换时长创建密钥轮换任务。
本实施例所提供的密钥轮换方法中,基于目标项目查询密钥管理***,调用密钥生成器读取密钥生成模板,生成原始主密钥,以保证目标项目的安全。获取原始主密钥的密钥生成时间,计算原始主密钥的长度,根据预先设置的密钥长度轮换规则确定轮换时长,基于原始主密钥、密钥生成时间和轮换时长创建密钥轮换任务根据所生成的原始主密钥的密钥长度轮换规则确定轮换时长,可以灵活地、自动进行轮换。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种密钥轮换装置,该密钥轮换装置与上述实施例中密钥轮换方法一一对应。如图8所示,该密钥轮换装置包括密钥轮换请求获取模块801、查询模块802、原始工作密钥获取模块803、目标密钥密文模块804和更新模块805。各功能模块详细说明如下:
密钥轮换请求获取模块801,用于获取密钥轮换请求,密钥轮换请求包括项目标识和目标主密钥。
查询模块802,用于基于项目标识查询密钥管理***,获取与项目标识相对应的原始主密钥,并基于项目标识查询数据库,获取与项目标识相对应的原始密钥密文。
原始工作密钥获取模块803,用于采用原始主密钥对原始密钥密文进行解密,获取原始工作密钥。
目标密钥密文模块804,用于采用目标主密钥对原始工作密钥进行加密,获取目标密钥密文。
更新模块805,用于利用项目标识对应的目标主密钥更新密钥管理***中与项目标识相对应的存储记录,并将目标密钥密文存储在数据库中。
优选地,在密钥轮换请求获取模块801之前,密钥轮换装置还包括:密钥管理请求触发模块、密钥生成模块和数据关联存储模块。
密钥管理请求触发模块,用于基于目标项目触发密钥管理请求,目标项目包括项目标识。
密钥生成模块,用于基于密钥管理请求,调用密钥生成器生成原始主密钥和原始工作密钥,将原始主密钥与项目标识关联存储在密钥管理***。
数据关联存储模块,用于采用原始主密钥对原始工作密钥进行加密,获取原始密钥密文,将原始密钥密文与项目标识关联存储在数据库,删除原始工作密钥。
优选地,密钥生成模块,包括原始主密钥生成单元和原始工作密钥生成单元。
原始主密钥生成单元,用于基于目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取主密钥生成模板,获取与主密钥生成模板相对应的主密钥算法类型,调用与主密钥算法类型相对应的主密钥生成接口生成原始主密钥。
原始工作密钥生成单元,用于基于目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取工作密钥生成模板,获取与工作密钥生成模板相对应的工作密钥算法类型,调用与工作密钥算法类型相对应的工作密钥生成接口生成原始工作密钥。
优选地,密钥轮换请求获取模块801,包括密钥轮换任务创建单元、密钥轮换时间获取单元和目标主密钥单元。
密钥轮换任务创建单元,用于基于项目标识创建密钥轮换任务,密钥轮换任务包括原始主密钥、密钥生成时间和轮换时长。
密钥轮换时间获取单元,用于基于密钥生成时间和轮换时长,获取密钥轮换时间。
目标主密钥单元,用于在***当前时间为密钥轮换时间时,调用密钥生成器随机生成目标主密钥,获取密钥轮换请求。
优选地,目标主密钥单元包括密钥生成指令触发子单元、判断子单元、目标主密钥确定子单元和第二目标主密钥确定子单元。
密钥生成指令触发子单元,用于触发密钥生成指令,基于密钥生成指令调用密钥生成器随机生成分配主密钥。
判断子单元,用于基于分配主密钥查询密钥管理***中的存储记录,判断是否存在与分配主密钥相对应的目标项目。
第一目标主密钥确定子单元,用于若不存在与分配主密钥相对应的目标项目,则将分配主密钥确定为目标主密钥。
第二目标主密钥确定子单元,若存在与分配主密钥相对应的目标项目,则重复执行触发密钥生成指令,基于主密钥生成指令调用密钥生成器随机生成新的目标主密钥。
优选地,密钥轮换任务创建单元,包括原始主密钥生成子单元和轮换时长确定子单元。
原始主密钥生成子单元,用于基于目标项目查询密钥管理***,调用密钥生成器读取主密钥生成模板,生成原始主密钥。
轮换时长确定子单元,用于获取原始主密钥的密钥生成时间,计算原始主密钥的长度,根据预先设置的密钥长度轮换规则确定轮换时长,基于原始主密钥、密钥生成时间和轮换时长创建密钥轮换任务。
关于密钥轮换装置的具体限定可以参见上文中对于密钥轮换方法的限定,在此不再赘述。上述密钥轮换装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作***、计算机程序和数据库。该内存储器为计算机存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行密钥轮换方法过程中生成或获取的数据,如原始主密钥。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种密钥轮换方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的密钥轮换方法的步骤,例如图2所示的步骤S201-S205,或者图3至图7中所示的步骤。或者,处理器执行计算机程序时实现密钥轮换装置这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中密钥轮换方法的步骤,例如图2所示的步骤S201-S205,或者图3至图7中所示的步骤。或者,处理器执行计算机程序时实现密钥轮换装置这一实施例中的各模块/单元的功能,例如图8所示的各模块/单元的功能,为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际项目中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (8)

1.一种密钥轮换方法,其特征在于,包括:
基于目标项目触发密钥管理请求,所述目标项目包括项目标识;
基于所述密钥管理请求,调用密钥生成器生成原始主密钥和原始工作密钥,将所述原始主密钥与所述项目标识关联存储在密钥管理***;
采用所述原始主密钥对所述原始工作密钥进行加密,获取原始密钥密文,将所述原始密钥密文与所述项目标识关联存储在数据库,删除所述原始工作密钥,所述原始主密钥和所述原始密钥密文分开存储;
获取密钥轮换请求,所述密钥轮换请求包括项目标识和目标主密钥;
基于所述项目标识查询密钥管理***,获取与所述项目标识相对应的原始主密钥,并基于所述项目标识查询数据库,获取与所述项目标识相对应的原始密钥密文;
采用所述原始主密钥对所述原始密钥密文进行解密,获取原始工作密钥;
采用所述目标主密钥对所述原始工作密钥进行加密,获取目标密钥密文;
利用所述项目标识对应的目标主密钥更新所述密钥管理***中与所述项目标识相对应的存储记录,并将所述目标密钥密文存储在所述数据库中。
2.如权利要求1所述的密钥轮换方法,其特征在于,所述调用密钥生成器生成原始主密钥和原始工作密钥,包括:
基于所述目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取主密钥生成模板,获取与所述主密钥生成模板相对应的主密钥算法类型,调用与所述主密钥算法类型相对应的主密钥生成接口生成原始主密钥;
基于所述目标项目查询密钥管理***,调用密钥管理***中的密钥生成器读取工作密钥生成模板,获取与所述工作密钥生成模板相对应的工作密钥算法类型,调用与所述工作密钥算法类型相对应的工作密钥生成接口生成原始工作密钥。
3.如权利要求1所述的密钥轮换方法,其特征在于,所述获取密钥轮换请求,包括:
基于项目标识创建密钥轮换任务,所述密钥轮换任务包括原始主密钥、密钥生成时间和轮换时长;
基于所述密钥生成时间和轮换时长,获取密钥轮换时间;
在***当前时间为所述密钥轮换时间时,调用密钥生成器随机生成目标主密钥,获取密钥轮换请求。
4.如权利要求3所述的密钥轮换方法,其特征在于,所述调用密钥生成器随机生成目标主密钥,包括:
触发密钥生成指令,基于所述密钥生成指令调用密钥生成器随机生成分配主密钥;
基于所述分配主密钥查询密钥管理***中的存储记录,判断是否存在与所述分配主密钥相对应的目标项目;
若不存在与所述分配主密钥相对应的目标项目,则将所述分配主密钥确定为目标主密钥;
若存在与所述分配主密钥相对应的目标项目,则重复执行触发密钥生成指令,基于所述密钥生成指令调用密钥生成器随机生成新的目标主密钥。
5.如权利要求3所述的密钥轮换方法,其特征在于,所述基于项目标识创建密钥轮换任务,所述密钥轮换任务包括原始主密钥、密钥生成时间和轮换时长,包括:
基于所述目标项目查询密钥管理***,调用所述密钥生成器读取主密钥生成模板,生成原始主密钥;
获取所述原始主密钥的密钥生成时间,计算所述原始主密钥的长度,根据预先设置的密钥长度轮换规则确定轮换时长,基于所述原始主密钥、密钥生成时间和轮换时长创建密钥轮换任务。
6.一种密钥轮换装置,其特征在于,包括:
密钥管理请求触发模块,用于基于目标项目触发密钥管理请求,所述目标项目包括项目标识;
密钥生成模块,用于基于所述密钥管理请求,调用密钥生成器生成原始主密钥和原始工作密钥,将所述原始主密钥与所述项目标识关联存储在密钥管理***;
数据关联存储模块,用于采用所述原始主密钥对所述原始工作密钥进行加密,获取原始密钥密文,将所述原始密钥密文与所述项目标识关联存储在数据库,删除所述原始工作密钥,将所述原始主密钥和所述原始密钥密文分开存储;
密钥轮换请求获取模块,用于获取密钥轮换请求,所述密钥轮换请求包括项目标识和目标主密钥;
查询模块,用于基于所述项目标识查询密钥管理***,获取与所述项目标识相对应的原始主密钥,并基于所述项目标识查询数据库,获取与所述项目标识相对应的原始密钥密文;
原始工作密钥获取模块,用于采用所述原始主密钥对所述原始密钥密文进行解密,获取原始工作密钥;
目标密钥密文模块,用于采用所述目标主密钥对所述原始工作密钥进行加密,获取目标密钥密文;
更新模块,用于利用所述项目标识对应的目标主密钥更新所述密钥管理***中与所述项目标识相对应的存储记录,并将所述目标密钥密文存储在所述数据库中。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述密钥轮换方法的步骤。
8.一种计算机存储介质,所述计算机存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述密钥轮换方法的步骤。
CN202010365818.9A 2020-04-30 2020-04-30 密钥轮换方法、装置、计算机设备及存储介质 Active CN111666558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010365818.9A CN111666558B (zh) 2020-04-30 2020-04-30 密钥轮换方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010365818.9A CN111666558B (zh) 2020-04-30 2020-04-30 密钥轮换方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111666558A CN111666558A (zh) 2020-09-15
CN111666558B true CN111666558B (zh) 2023-08-01

Family

ID=72383111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010365818.9A Active CN111666558B (zh) 2020-04-30 2020-04-30 密钥轮换方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111666558B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383392B (zh) * 2020-11-13 2024-03-15 随锐科技集团股份有限公司 一种视频会议轮换加密方法、设备及计算机可读存储介质
CN114124352A (zh) * 2021-11-19 2022-03-01 浪潮云信息技术股份公司 一种秘钥轮转方法、装置及计算机介质
CN117748745B (zh) * 2024-02-19 2024-05-10 国网浙江省电力有限公司宁波供电公司 一种优化增强配电网可靠性的方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107124269A (zh) * 2017-04-05 2017-09-01 飞天诚信科技股份有限公司 一种保护主密钥的工具及其工作方法
CN107707347A (zh) * 2017-10-27 2018-02-16 深圳市文鼎创数据科技有限公司 用户密钥的备份方法及装置、用户密钥的导入方法及装置
WO2018090763A1 (zh) * 2016-11-15 2018-05-24 ***股份有限公司 一种终端主密钥的设置方法和装置
CN108123800A (zh) * 2017-12-19 2018-06-05 腾讯科技(深圳)有限公司 密钥管理方法、装置、计算机设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504844B2 (en) * 2008-12-19 2013-08-06 Teradata Us, Inc. System, method, and computer-readable medium for cryptographic key rotation in a database system
CN105721393A (zh) * 2014-12-02 2016-06-29 阿里巴巴集团控股有限公司 数据安全加密的方法及装置
US10157289B2 (en) * 2016-09-26 2018-12-18 Bank Of America Corporation Progressive key rotation for format preserving encryption (FPE)
US10148424B2 (en) * 2016-09-26 2018-12-04 Bank Of America Corporation Progressive key rotation for format preserving encryption (FPE)
CN107359990A (zh) * 2017-08-03 2017-11-17 北京奇艺世纪科技有限公司 一种秘密信息处理方法、装置及***
CN108965279A (zh) * 2018-07-04 2018-12-07 北京车和家信息技术有限公司 数据处理方法、装置、终端设备及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018090763A1 (zh) * 2016-11-15 2018-05-24 ***股份有限公司 一种终端主密钥的设置方法和装置
CN107124269A (zh) * 2017-04-05 2017-09-01 飞天诚信科技股份有限公司 一种保护主密钥的工具及其工作方法
CN107707347A (zh) * 2017-10-27 2018-02-16 深圳市文鼎创数据科技有限公司 用户密钥的备份方法及装置、用户密钥的导入方法及装置
CN108123800A (zh) * 2017-12-19 2018-06-05 腾讯科技(深圳)有限公司 密钥管理方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
可定时更换密钥的IBE体系;王奕钧 等;电信科学(第12期);全文 *

Also Published As

Publication number Publication date
CN111666558A (zh) 2020-09-15

Similar Documents

Publication Publication Date Title
US11658814B2 (en) System and method for encryption and decryption based on quantum key distribution
CN109033855B (zh) 一种基于区块链的数据传输方法、装置及存储介质
CN111666558B (zh) 密钥轮换方法、装置、计算机设备及存储介质
WO2020244070A1 (zh) 数字信息加密方法、装置、计算机设备和存储介质
CN108833355B (zh) 数据处理方法、装置、计算机设备和计算机可读存储介质
US7454021B2 (en) Off-loading data re-encryption in encrypted data management systems
US9122888B2 (en) System and method to create resilient site master-key for automated access
CN100487715C (zh) 一种数据安全存储***和装置及方法
CN110457945B (zh) 名单查询的方法、查询方设备、服务方设备及存储介质
US10887085B2 (en) System and method for controlling usage of cryptographic keys
US11216576B1 (en) Systems, methods, and computer-readable media for utilizing anonymous sharding techniques to protect distributed data
CN109768862B (zh) 一种密钥管理方法、密钥调用方法及密码机
CN108418785B (zh) 密码调用方法、服务器及存储介质
CN112953974B (zh) 数据碰撞方法、装置、设备及计算机可读存储介质
CN104618096A (zh) 保护密钥授权数据的方法、设备和tpm密钥管理中心
CN105718794A (zh) 基于vtpm对虚拟机进行安全保护的方法及***
CN109936546B (zh) 数据加密存储方法和装置以及计算设备
WO2018017168A2 (en) System and method for encryption and decryption based on quantum key distribution
US11321471B2 (en) Encrypted storage of data
CN112671733A (zh) 数据通信方法、密钥管理***、设备及存储介质
CN111917711B (zh) 数据访问方法、装置、计算机设备和存储介质
CN113162763A (zh) 数据加密及存储方法、装置、电子设备及存储介质
CN110661621A (zh) 一种基于hmac、aes、rsa的混合加解密方法
CN105515760A (zh) 信息加密方法、信息解密方法及信息加解密***
CN112068779A (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