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

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

Info

Publication number
CN108123800B
CN108123800B CN201711376486.9A CN201711376486A CN108123800B CN 108123800 B CN108123800 B CN 108123800B CN 201711376486 A CN201711376486 A CN 201711376486A CN 108123800 B CN108123800 B CN 108123800B
Authority
CN
China
Prior art keywords
key
encryption
identifier
module
key identifier
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
CN201711376486.9A
Other languages
English (en)
Other versions
CN108123800A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing 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 Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201711376486.9A priority Critical patent/CN108123800B/zh
Publication of CN108123800A publication Critical patent/CN108123800A/zh
Application granted granted Critical
Publication of CN108123800B publication Critical patent/CN108123800B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Abstract

本申请涉及一种密钥管理方法,该方法包括:接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息,获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识,将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据,接收所述加解密模块返回的所述加密数据。上述密钥管理方法提高了密钥管理的灵活性和安全性。此外,还提出了一种密钥管理装置、计算机设备及存储介质。

Description

密钥管理方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机处理技术领域,特别是涉及一种密钥管理方法、装置、计算机设备及存储介质。
背景技术
KMS(Key Management Service,密钥管理服务)是提供密钥安全管理和小包数据加解密的服务。传统的KMS中的云API层(即接入模块)与底层的密钥之间是耦合的,而且是直接把底层的密钥ID暴露给用户的,导致灵活性和安全性都很低。
发明内容
基于此,有必要针对上述问题,提出了一种灵活性和安全性都比较高的密钥管理方法、装置、计算机设备及存储介质。
一种密钥管理方法,所述方法包括:
接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;
接收所述加解密模块返回的所述加密数据。
一种密钥管理装置,所述装置包括:
加密请求接收模块,用于接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;
第一原始密钥标识获取模块,用于获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
加密模块,用于将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;
加密数据接收模块,用于接收所述加解密模块返回的所述加密数据。
在其中一个实施例中,所述加密模块还用于将所述待加密信息和所述原始密钥标识以异步请求的方式发送至所述加解密模块。
在其中一个实施例中,所述装置还包括:更新模块,用于当更新所述加解密模块中的主密钥以及与主密钥对应的原始密钥标识时,获取新的主密钥以及与所述新的主密钥对应的新的原始密钥标识,根据新的原始密钥标识与更新前的原始密钥标识之间的对应关系、以及更新前的原始密钥标识和目标密钥标识之间的对应关系建立所述目标密钥标识和新的原始密钥标识之间的对应关系。
在其中一个实施例中,所述装置还包括:共享内存模块,用于将所述加密请求放入共享内存中,当从所述共享内存中获取到所述加密请求后,则根据所述加密请求对应的业务标识通知原始密钥标识获取模块获取密钥标识映射关系。
在其中一个实施例中,所述装置还包括:主密钥创建模块,用于接收创建主密钥的申请请求,将所述申请请求发送至所述加解密模块,以使所述加解密模块创建一个主密钥,并为所述主密钥分配原始密钥标识,接收所述加解密模块返回的原始密钥标识,根据所述原始密钥标识生成一个与所述原始密钥标识对应的目标密钥标识,将所述目标密钥标识返回。
在其中一个实施例中,所述待加密信息为明文数据密钥,所述加密数据为密文数据密钥;所述装置还包括:数据加密模块,用于采用所述明文数据密钥对业务数据进行加密,得到密文文件;将所述密文文件和所述密文数据密钥发送给接收端。
在其中一个实施例中,所述装置还包括:用户请求接收模块,用于接收终端发送的用户请求,获取所述用户请求中携带的业务标识;调用模块,用于根据所述业务标识采用与所述业务标识对应的业务处理规则对相应的业务进行处理,当需要调用后台模块时,以异步请求的方式向后台发送调用请求。
在其中一个实施例中,所述调用模块还用于当一个业务标识需要调用多个后台模块完成一个事务时,则采用状态机实时记录所述业务标识对应的业务当前所处的后台模块。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;
接收所述加解密模块返回的所述加密数据。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;
接收所述加解密模块返回的所述加密数据。
上述密钥管理方法、装置、计算机设备及存储介质,接收加密请求,加密请求中携带有目标密钥标识和待加密信息,获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识,将待加密信息和原始密钥标识发送至加解密模块,加解密模块根据原始密钥标识查找对应的主密钥,采用主密钥对待加密信息进行加密得到加密数据,接收加解密模块返回的加密数据。上述密钥管理方法,通过设置目标密钥标识和原始密钥标识之间的转化关系,避免了将原始密钥标识直接暴露给用户,提高了密钥管理的安全性。且将接入模块和加解密模块进行了解耦,使得加解密模块能够独立完成对数据的加密,当后续需要对加解密模块中的主密钥进行更新时,可以整体对加解密模块中的内容进行替换,而不需要对接入模块做任何改变,提高了密钥管理的灵活性。
一种密钥管理方法,所述方法包括:
接收解密请求,所述解密请求中携带有待解密信息;
解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据;
接收所述加解密模块返回的所述解密数据。
一种密钥管理装置,所述装置包括:
解密请求接收模块,用于接收解密请求,所述解密请求中携带有待解密信息;
解析模块,用于解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;
第二原始密钥标识获取模块,用于获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
解密模块,用于将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据;
解密数据接收模块,用于接收所述加解密模块返回的所述解密数据。
在其中一个实施例中,所述解密模块还用于将所述待解密信息和所述原始密钥标识以异步请求的方式发送给所述加解密模块。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
接收解密请求,所述解密请求中携带有待解密信息;
解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据;
接收所述加解密模块返回的所述解密数据。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
接收解密请求,所述解密请求中携带有待解密信息;
解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据;
接收所述加解密模块返回的所述解密数据。
上述密钥管理方法、装置、计算机设备及存储介质,接收解密请求,解密请求中携带有待解密信息,待解密信息中包含有目标密钥标识,通过解析待解密信息获取目标密钥标识,然后获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识,将待解密信息和原始密钥标识发送至加解密模块,以使加解密模块获取与原始密钥标识对应的主密钥,采用主密钥对待解密信息进行解密得到解密数据,接收加解密模块返回的解密数据。上述密钥管理方法,通过设置目标密钥标识和原始密钥标识之间的转化关系,只需要将目标密钥标识加载在待解密信息中,避免了将原始密钥标识直接加载在待解密信息中,提高了密钥管理的安全性,且将接入模块和加解密模块进行了解耦,使得加解密模块能够独立完成对数据的加密,当后续需要对加解密模块中的主密钥进行更新时,可以整体对加解密模块中的内容进行替换,而不需要对接入模块做任何改变,提高了密钥管理的灵活性。
附图说明
图1为一个实施例中密钥管理方法的应用环境图;
图2为一个实施例中密钥管理方法的流程图;
图3为另一个实施例中密钥管理方法的流程图;
图4为一个实施例中接入模块的处理示意图;
图5为又一个实施例中密钥管理方法的流程图;
图6A为一个实施例中信封加密的流程示意图;
图6B为一个实施例中直接加解密的流程示意图;
图7为再一个实施例中密钥管理方法的流程图;
图8为一个实施例中使用状态机的示意图;
图9为还一个实施例中密钥管理方法的流程图;
图10为更一个实施例中密钥管理方法的流程图;
图11为一个实施例中密钥管理方法的时序图;
图12为一个实施例中密钥管理装置的结构框图;
图13为另一个实施例中密钥管理装置的结构框图;
图14为又一个实施例中密钥管理装置的结构框图;
图15为再一个实施例中密钥管理装置的结构框图;
图16为更一个实施例中密钥管理装置的结构框图;
图17为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中密钥管理方法的应用环境图。参照图1,该密钥管理方法应用于密钥管理系统。该密钥管理系统包括终端110和密钥管理服务器120。终端110和密钥管理服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。密钥管理服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。具体地,密钥管理服务器120中包括接入模块122和加解密模块124,其中,接入模块122与加解密模块124之间是解耦合的。首先由密钥管理服务器120中的接入模块122接收终端110发送的加密请求,加密请求中携带有目标密钥标识和待加密信息,然后获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识,将待加密信息和原始密钥标识发送至加解密模块124,加解密模块124获取与原始密钥标识对应的主密钥,采用主密钥对待加密信息进行加密得到加密数据,然后将加密数据发送给接入模块122,接入模块122将加密数据返回给终端110。
如图2所示,在一个实施例中,提供了一种密钥管理方法。本实施例主要以该方法应用于上述图1中的密钥管理服务器120来举例说明。参照图2,该密钥管理方法具体包括如下步骤:
步骤S202,接收加密请求,加密请求中携带有目标密钥标识和待加密信息。
其中,目标密钥标识用于唯一标识一个用户主密钥。待加密信息为需要进行加密的数据信息。具体地,首先,通过密钥管理服务器的接入模块接收加密请求,比如,接收终端发送的对待加密信息的加密请求。在另一个实施例中,待加密信息为数据密钥、证书、配置文件等小包数据。通常小包数据是指小于4KB的数据。
步骤S204,获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识。
其中,密钥标识映射关系是指目标密钥标识与原始密钥标识之间的映射关系。原始密钥标识是指主密钥的真实索引标识。目标密钥标识是指将原始密钥标识转换后发送给用户的索引标识。为了避免将主密钥的原始密钥标识直接暴露给用户,需要将原始密钥标识转换为目标密钥标识,然后将目标密钥标识发送给用户。目标密钥标识和原始密钥标识都是用于唯一标识一个主密钥的。在一个实施例中,为了减少用户的使用难度,将目标密钥标识设置为方便用户记忆的精简密钥标识。比如,可以直接将目标密钥标识设为用户名,也可以将目标密钥标识设为位数比较少的密钥标识,还可以由用户自定义设置目标密钥标识。原始密钥标识由于是由系统随机分配生成的,毫无规律可言,所以一般都比较难记忆。通过将原始密钥标识转换成方便用户记忆的目标密钥标识,不仅提高了安全性,也大大降低了使用的难度。
步骤S206,将待加密信息和原始密钥标识发送至加解密模块,以使加解密模块获取与原始密钥标识对应的主密钥,采用主密钥对待加密信息进行加密得到加密数据。
其中,加解密模块是密钥管理服务器中的一个独立模块,是指用于对数据进行加密或解密的模块。加解密模块中存储了原始密钥标识与主密钥之间的对应关系。为了对待加密信息进行加密,密钥管理服务器中的接入模块将待加密信息和原始密钥标识发送至加解密模块,加解密模块根据原始密钥标识获取对应的主密钥,然后采用主密钥(即用户主密钥)对待加密信息进行加密得到加密数据。用户主密钥用于加密数据密钥、证书、配置文件等小包数据。
步骤S208,接收加解密模块返回的加密数据。
其中,加密数据是指对待加密信息进行加密后得到的密文数据。具体地,加解密模块采用主密钥对待加密信息进行加密,得到加密数据,然后将加密数据返回到接入模块,接入模块接收加解密模块返回的加密数据。然后可以将接收到的加密数据返回给发送加密请求的终端。
上述密钥管理方法,接收加密请求,加密请求中携带有目标密钥标识和待加密信息,获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识,将待加密信息和原始密钥标识发送至加解密模块,加解密模块根据原始密钥标识查找对应的主密钥,采用主密钥对待加密信息进行加密得到加密数据,接收加解密模块返回的加密数据。上述密钥管理方法,通过设置目标密钥标识和原始密钥标识之间的转化关系,避免了将原始密钥标识直接暴露给用户,提高了密钥管理的安全性。且将接入模块和加解密模块进行了解耦,使得加解密模块能够独立完成对数据的加密,当后续需要对加解密模块中的主密钥进行更新时,可以整体对加解密模块中的内容进行替换,而不需要对接入模块做任何改变,提高了密钥管理的灵活性。
在一个实施例中,将待加密信息和原始密钥标识发送至加解密模块的步骤包括:将待加密信息和原始密钥标识以异步请求的方式发送至加解密模块。
其中,异步请求是指发送方发出数据后,不等接收方发回响应,接着发送下一个数据包的通讯方式。异步请求是相对于同步请求而言的,同步请求是指发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。由于同步请求需要等待接收方的回应,所以会有一个等待时间,因此容易降低系统的吞吐量。而采用异步请求的方式去调用加解密模块,不需要等待加解密模块响应,就可以继续处理下一请求,提高了系统的吞吐量,吞吐量是指单位时间内系统成功传输的数据量。此外,通过提高系统的吞吐量可以达到节约成本的目的。比如,期望集群10w/s TPS,其中,TPS是指一秒内成功完成的事务数。吞吐量越高,相应的TPS越高。如果每台机器TPS 1w/s,需要10台机器,如果每台机器的TPS达到2w/s TPS,则只需要5台,这样就可以解决5台机器的成本。
如图3所示,在一个实施例中,上述密钥管理方法还包括:
步骤S210,当更新加解密模块中的主密钥以及与主密钥对应的原始密钥标识时,获取新的主密钥以及与新的主密钥对应的新的原始密钥标识。
其中,当研发出了更安全的加密算法或者当前的算法被破解的话,为了保证加解密模块的安全性,需要更新加解密模块中的主密钥,同时主密钥对应的原始密钥标识也会被更换,为了不影响用户的使用,在这个过程中保持用户手中的目标密钥标识不变。即更新的过程对用户来说是透明的,无感知的。具体地,采用新的加密算法对加解密模块进行更新后,获取新的主密钥以及与新的主密钥对应的新的原始密钥标识,为了后续建立目标密钥标识与新的原始密钥之间的关系,需要记录新的原始密钥标识与更新前的原始密钥标识之间的对应关系。
步骤S212,根据新的原始密钥标识与更新前的原始密钥标识之间的对应关系、以及更新前的原始密钥标识和目标密钥标识之间的对应关系建立目标密钥标识和新的原始密钥标识之间的对应关系。
其中,对主密钥以及与主密钥对应的原始密钥标识进行更新时,记录分配的新的原始密钥标识与更新前的原始密钥标识之前的对应关系,然后获取更新前的原始密钥标识和目标密钥标识之间的对应关系,从而建立目标密钥标识和新的原始密钥标识之间的对应关系。假设新的原始密钥标识为A,更新前的原始密钥标识为A1,目标密钥标识为B,由于A与A1之间存在对应关系,而A1与B之间存在对应关系,所以就得到了A-B之间的对应关系。
由于加解密模块与接入模块之间是解耦合的,所以可以很灵活地更新加解密模块中的主密钥以及主密钥对应的原始密钥标识,并建立新的原始密钥标识和目标密钥标识之间的对应关系,整个过程中用户无感知。
在一个实施例中,在接收加密请求,加密请求中携带有目标密钥标识和待加密信息的步骤之后还包括:将加密请求放入共享内存中;当从共享内存中获取到加密请求后,根据加密请求对应的业务标识进入获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识的步骤。
其中,共享内存用于存放接收到的请求。由于密钥管理服务器在同一时间往往会接收到很多个请求,不可能一次性处理掉所有请求,所以需要将接收到的请求放入到共享内存中,在共享内存中进行排序,然后按照接收到的请求的先后顺序依次进行处理。业务标识用于唯一标识一个业务,而每个业务都对应相应的业务处理规则。具体地,不同的请求所对应的业务标识不同,相应的处理规则也不同,所以从共享内存中获取到请求后,首先获取与请求对应的业务标识,然后根据业务标识采用相应的业务处理规则进行处理。比如,如果是加密请求,相应的业务处理逻辑规则是先获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识。
在一个实施例中,如图4所示,接入模块中包括:连接模块CCD,业务处理模块MCD和后端访问模块DCC。连接模块CCD用于接收客户端发送的用户请求,将请求放入到共享内存,业务处理模块MCD用于不断轮询获取共享内存里面的请求,并进行处理,处理完之后,通过另一条共享内存管道传递响应消息。后端访问模块DCC用于从共享内存中获取业务处理模块MCD发送的调用请求,然后通过后端访问模块调用后台模块,比如,调用后端的数据库模块,或者后端的加解密模块等。在一个实施例中,连接模块CCD、业务处理模块MCD和后端访问模块DCC之间是通过共享内存进行异步通信的,以便于提高系统的吞吐量。具体地,连接模块CCD接收用户请求,将接收到的用户请求放入到共享内存,业务处理模块MCD从共享内存中获取用户请求,获取用户请求对应的业务标识,然后采用与业务标识对应的业务处理规则对相应的业务进行处理,当需要调用后台模块时,将调用请求发送给后端访问模块DCC,后端访问模块DCC根据调用请求访问后台模块。
如图5所示,在一个实施例中,在接收加密请求的步骤之前还包括:
步骤S212,接收创建主密钥的申请请求。
其中,用户为了使用密钥管理服务(KMS)对数据进行加密,首先用户需要向KMS系统申请创建一个主密钥。主密钥用于加密小包数据,包括数据密钥、证书等。具体地,密钥管理服务器的接入模块接收终端发送的创建主密钥的申请请求。
步骤S214,将申请请求发送至加解密模块,以使加解密模块创建一个主密钥,并为主密钥分配原始密钥标识。
其中,密钥管理服务器的接入模块接收到创建主密钥的申请请求后,将申请请求发送至加解密模块,加解密模块根据申请请求生成一个主密钥,并为该主密钥分配一个原始密钥标识,即建立了主密钥与原始密钥标识之间的索引关系。原始密钥标识相当于一个索引值,用于查找主密钥。其中,主密钥可以是对称密钥,也可以是非对称密钥。如果是对称密钥,那么主密钥对数据加密和解密使用的是同一个密钥,如果是非对称密钥,包括私钥和公钥,如果是用私钥对数据进行加密,那么相应地需要使用公钥来进行解密,同样地,如果是用公钥对数据进行加密,那么相应地需要使用私钥来解密。不管主密钥是对称密钥还是非对称密钥,对用户来说是无感知的,因为创建的主密钥是存放在加解密模块中的,只是将主密钥的原始密钥标识返回。所以用户获取到的只能是密钥标识,并不是主密钥本身。
步骤S216,接收加解密模块返回的原始密钥标识,根据原始密钥标识生成一个与原始密钥标识对应的目标密钥标识。
其中,密钥管理服务器的接入模块接收加解密模块返回的原始密钥标识,然后根据原始密钥标识生成一个与原始密钥标识对应的目标密钥标识。通过将原始密钥标识转换成目标密钥标识,一方面可以避免直接将原始密钥标识暴露给用户,进一步保证了密钥管理的安全性,另一个方面,由于原始密钥标识是随机生成的,毫无规律,所以不方便用户记忆,而目标密钥标识可以采用容易记忆的字符串来表示,大大降低了用户的使用难度。
步骤S218,将目标密钥标识返回。
其中,目标密钥标识是指直接发送给用户的用于标识主密钥的标识。后续用户需要对数据进行加密时,通过该目标密钥标识可以首先找到原始密钥标识,然后找到主密钥,采用主密钥对待加密信息进行加密得到加密数据。
在一个实施例中,待加密信息为明文数据密钥,加密数据为密文数据密钥;上述密钥管理方法还包括:采用明文数据密钥对业务数据进行加密,得到密文文件;将密文文件和密文数据密钥发送给接收端。
其中,当待加密信息为明文数据密钥时,那么相应的加密数据为密文数据密钥。为了保证业务数据的安全性,需要对业务数据进行加密,具体地,采用明文数据密钥对业务数据进行加密,得到密文文件。为了保证数据传输的安全性,不能将明文数据密钥直接传输,而是将加密后的密文数据密钥和密文文件一起传输。这样即使密文文件被截获,其也不能获取到业务数据。接收端接收到密文文件和密文数据密钥后,向密钥管理服务器发送解密请求,解密请求中携带密文数据密钥,然后接收返回的明文数据密钥。通过采用明文数据密钥对密文文件进行解密得到相应的业务数据。
在一个实施例中,以信封加密为例来说明加解密的过程。加密的前提是用户已经创建了主密钥。如图6A所示,加密过程如下:首先,申请数据密钥,比如,可以通过调用KMS服务的GenerateDataKey(产生数据密钥)接口,产生数据密钥,包括一个明文数据密钥和一个密文数据密钥,其中,密文数据密钥是用主密钥对明文数据密钥进行加密后得到的;其次,使用明文数据密钥加密文件,得到密文文件;最后,将密文数据密钥和密文文件一同存储到持久化存储设备或服务中。解密过程如下:首先,从持久化存储设备或服务中读取密文数据密钥和密文文件;然后,向KMS服务器发送解密请求(包含密文数据密钥),比如,调用KMS服务的Decrypt(解密)接口,解密密文数据密钥,得到明文数据密钥;最后,使用明文数据密钥解密文件。
在另一个实施例中,如图6B所示,以直接加密解密为例来说明加解密的过程。以加密解密证书为例。前提是已经创建了主密钥,首先,采用主密钥对证书进行加密,比如,调用密钥管理服务KMS的Encrypt(加密接口)对证书进行加密,返回加密后的证书。然后,将加密后的证书进行存储或传输。解密时,直接调用密钥管理服务KMS的Decrypt(解密接口)对加密过的证书进行解密即可。
如图7所示,在一个实施例中,上述密钥管理方法还包括:
步骤S220,接收终端发送的用户请求,获取用户请求中携带的业务标识。
其中,业务标识用于标识用户请求所对应的业务。比如,加密请求所对应的业务标识用于标识该请求为加密业务,解密请求所对应的业务标识用于标识该请求为解密业务。也就是说,密钥管理服务器接收到用户请求,是根据用户请求中包含的业务标识来判断该用户请求所对应业务的。
步骤S222,根据业务标识采用与业务标识对应的业务处理规则对相应的业务进行处理,当需要调用后台模块时,以异步请求的方式向后台发送调用请求。
其中,针对于不同的业务,预先设置了不同的业务处理规则,由于业务标识用于唯一标识一个业务,所以获取到业务标识后,就可以确定与该业务标识对应的业务处理规则。采用该业务处理规则对相应的业务进行处理,在处理业务的过程中,当需要调用后台模块时,以异步请求的方式向后台发送调用请求,可以提高吞吐量。
在一个实施例中,以异步请求的方式向后台模块发送调用请求的步骤包括:当一个业务标识需要调用多个后台模块完成一个事务时,则采用状态机实时记录业务标识对应的业务当前所处的后台模块。
其中,事务(Transaction)是指要做的事情,由事务开始和事务结束之间执行的全体操作组成。在处理一个事务时,可能需要调用多个后台模块共同完成,为了标识事务当前所处的状态,可以采用状态机实时记录业务状态的流转,即采用状态机实时记录业务标识对应的业务所处的后台模块。如图8所示为使用状态机的示意图,假设在处理一个事务时,需要依次访问A,B,C三个后台模块,则首先将请求发送给A,并把流程状态置为A,在收到A的回复后则根据流程的状态,知道上一步在状态A,然后现在向B模块发送请求,然后把流程状态置为B。在全部处理完后,将状态重新复位。
如图9所示,在一个实施例中,提出了一种密钥管理方法,该方法包括以下步骤:
步骤S901,接收创建主密钥的申请请求。
步骤S902,将申请请求发送至加解密模块,以使加解密模块创建一个主密钥,并为主密钥分配原始密钥标识。
步骤S903,接收加解密模块返回的原始密钥标识,根据原始密钥标识生成一个与原始密钥标识对应的目标密钥标识。
步骤S904,将目标密钥标识返回。
步骤S905,接收加密请求,加密请求中携带有目标密钥标识和待加密信息。
步骤S906,获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识。
步骤S907,将待加密信息和原始密钥标识以异步请求的方式发送至加解密模块,以使加解密模块获取与原始密钥标识对应的主密钥,采用主密钥对待加密信息进行加密得到加密数据。
步骤S908,接收加解密模块返回的加密数据。
如图10所示,在一个实施例中,提出了一种密钥管理方法,该方法包括:
步骤S1002,接收解密请求,解密请求中携带有待解密信息。
其中,密钥管理服务器的接入模块接收解密请求后,获取解密请求中携带的待解密信息。待解密信息是指用主密钥加密过的密文文件。待解密信息中包含有目标密钥标识。为了便于解密,在对数据进行加密的过程中,通过将目标密钥标识合成到密文文件中,比如,加载到密文文件的头信息中。
步骤S1004,解析待解密信息,获取待解密信息中包含的目标密钥标识。
其中,待解密信息中包括有目标密钥标识,所以获取到待解密信息后,通过解析待解密信息,可以获取待解密信息中包含的目标密钥标识,比如,假设目标密钥标识存在于文件头信息中,可以通过解析待解密信息中的文件头信息来获取到相应的目标密钥标识。
步骤S1006,获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识。
其中,密钥标识映射关系是指目标密钥标识与原始密钥标识之间的映射关系。原始密钥标识是指主密钥的真实索引标识。目标密钥标识是指将原始密钥标识转换后直接发送给用户的索引标识。为了避免将主密钥的原始密钥标识直接加载在待解密信息中,将原始密钥标识对应的目标密钥标识加载在待解密信息中,有利于提高待解密信息的安全性。
步骤S1008,将待解密信息和原始密钥标识发送至加解密模块,以使加解密模块获取与原始密钥标识对应的主密钥,采用主密钥对待解密信息进行解密得到解密数据。
其中,加解密模块是密钥管理服务器中的一个独立模块,是指用于对数据进行加密或解密的模块。加解密模块中存储了原始密钥标识与主密钥之间的对应关系。为了对待解密信息进行解密,密钥管理服务器中的接入模块将待解密信息和原始密钥标识发送至加解密模块,加解密模块根据原始密钥标识获取对应的主密钥,然后采用主密钥(即用户主密钥)对待解密信息进行解密得到解密数据。用户主密钥用于解密数据密钥、证书、配置文件等小包数据,支持控制台或调用API两种方式创建。
步骤S1010,接收加解密模块返回的解密数据。
其中,解密数据是指对待解密信息进行解密后得到的明文数据。具体地,加解密模块采用主密钥对待加密信息进行解密,得到解密数据,然后将解密数据返回到接入模块,接入模块接收加解密模块返回的解密数据。然后将接收到的解密数据返回给发送解密请求的终端。
上述密钥管理方法,接收解密请求,解密请求中携带有待解密信息,待解密信息中包含有目标密钥标识,通过解析待解密信息获取目标密钥标识,然后获取密钥标识映射关系,根据密钥标识映射关系获取目标密钥标识对应的原始密钥标识,将待解密信息和原始密钥标识发送至加解密模块,以使加解密模块获取与原始密钥标识对应的主密钥,采用主密钥对待解密信息进行解密得到解密数据,接收加解密模块返回的解密数据。上述密钥管理方法,通过设置目标密钥标识和原始密钥标识之间的转化关系,只需要将目标密钥标识加载在待解密信息中,避免了将原始密钥标识直接加载在待解密信息中,提高了密钥管理的安全性,且将接入模块和加解密模块进行了解耦,使得加解密模块能够独立完成对数据的加密,当后续需要对加解密模块中的主密钥进行更新时,可以整体对加解密模块中的内容进行替换,而不需要对接入模块做任何改变,提高了密钥管理的灵活性。在一个实施例中,在接收解密请求,将待解密信息和原始密钥标识发送至加解密模块的步骤包括:将待解密信息和原始密钥标识以异步请求的方式发送给加解密模块。
其中,异步请求是指发送方发出数据后,不等接收方发回响应,接着发送下一个数据包的通讯方式。异步请求是相对于同步请求而言的,同步请求是指发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。由于同步请求需要等待接收方的回应,所以会有一个等待时间,因此容易降低系统的吞吐量。而采用异步请求的方式去调用加解密模块,不需要等待加解密模块响应,就可以继续处理下一请求,提高了系统的吞吐量。
图11为一个实施例中密钥管理方法的时序图,包括终端10和服务器20。服务器20中包括接入模块22、数据库23以及加解密模块24。如图11所示,分为加密和解密两个部分。加密部分包括:首先,终端10向服务器20发送加密请求,加密请求中携带有目标密钥标识instance_id、待加密信息plaintext。接入模块22向数据库23发送查找与目标密钥标识instance_id对应的原始密钥标识cmk_id,数据库23中存储了目标密钥标识instance_id与原始密钥标识cmk_id之间的对应关系。数据库23将查找到的原始密钥标识cmk_id返回给接入模块22,然后接入模块22向加解密模块24发送加密请求,该请求中携带原始密钥标识cmk_id和待加密信息plaintext。加解密模块24接收到原始密钥标识cmk_id和待加密信息plaintext后,获取与原始密钥标识cmk_id对应的主密钥,采用主密钥对待加密信息plaintext进行加密得到密文文本ciphertext,然后将密文文本ciphertext返回给接入模块22,接入模块22将密文文本ciphertext返回给终端10。解密部分包括:首先,终端10向服务器20发送解密请求,解密请求中携带有密文文本ciphertext,其中,密文文本中包含有目标密钥标识instance_id。服务器20中的接入模块22接收到密文文本ciphertext后,对密文文本进行解析得到目标密钥标识instance_id。接入模块22向数据库23发送查找与目标密钥标识instance_id对应的原始密钥标识cmk_id,数据库23将查找到的原始密钥标识cmk_id返回给接入模块22,然后接入模块22向加解密模块24发送解密请求,该解密请求中携带原始密钥标识cmk_id和密文文本ciphertext。加解密模块24接收到原始密钥标识cmk_id和密文文本ciphertext后,获取与原始密钥标识cmk_id对应的主密钥,采用主密钥对密文文本ciphertext进行解密得到明文文本plaintext,然后将明文文本plaintext返回给接入模块22,接入模块22将明文文本plaintext返回给终端10。
如图12所示,在一个实施例中,提出了一种密钥管理装置,该装置包括:
加密请求接收模块1202,用于接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;
第一原始密钥标识获取模块1204,用于获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
加密模块1206,用于将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;
加密数据接收模块1208,用于接收所述加解密模块返回的所述加密数据。
在一个实施例中,加密模块1206还用于将所述待加密信息和所述原始密钥标识以异步请求的方式发送至所述加解密模块。
如图13所示,在一个实施例中,上述密钥管理装置还包括:
更新模块1210,用于当更新所述加解密模块中的主密钥以及与主密钥对应的原始密钥标识时,获取新的主密钥以及与所述新的主密钥对应的新的原始密钥标识,根据新的原始密钥标识与更新前的原始密钥标识之间的对应关系、以及更新前的原始密钥标识和目标密钥标识之间的对应关系建立所述目标密钥标识和新的原始密钥标识之间的对应关系。
在一个实施例中,所述装置还包括:共享内存模块,用于将所述加密请求放入共享内存中,当从所述共享内存中获取到所述加密请求后,则根据所述加密请求对应的业务标识通知原始密钥标识获取模块获取密钥标识映射关系。
如图14所示,上述密钥管理装置还包括:
主密钥创建模块1201,用于接收创建主密钥的申请请求,将所述申请请求发送至所述加解密模块,以使所述加解密模块创建一个主密钥,并为所述主密钥分配原始密钥标识,接收所述加解密模块返回的原始密钥标识,根据所述原始密钥标识生成一个与所述原始密钥标识对应的目标密钥标识,将所述目标密钥标识返回。
在一个实施例中,所述待加密信息为明文数据密钥,所述加密数据为密文数据密钥;所述装置还包括:数据加密模块,用于采用所述明文数据密钥对业务数据进行加密,得到密文文件;将所述密文文件和所述密文数据密钥发送给接收端。
如图15所示,在一个实施例中,上述密钥管理装置还包括:
用户请求接收模块1212,用于接收终端发送的用户请求,获取所述用户请求中携带的业务标识;
调用模块1214,用于根据所述业务标识采用与所述业务标识对应的业务处理规则对相应的业务进行处理,当需要调用后台模块时,以异步请求的方式向后台发送调用请求。
在一个实施例中,所述调用模块还用于当一个业务标识需要调用多个后台模块完成一个事务时,则采用状态机实时记录所述业务标识对应的业务当前所处的后台模块。
如图16所示,在一个实施例中,提出了一种密钥管理装置,该装置包括:
解密请求接收模块1602,用于接收解密请求,所述解密请求中携带有待解密信息;
解析模块1604,用于解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;
第二原始密钥标识获取模块1606,用于获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;
解密模块1608,用于将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据;
解密数据接收模块1610,用于接收所述加解密模块返回的所述解密数据。
在一个实施例中,所述解密模块1608还用于将所述待解密信息和所述原始密钥标识以异步请求的方式发送给所述加解密模块。
图17示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是服务器。如图17所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现密钥管理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行密钥管理方法。本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的密钥管理方法可以实现为一种计算机程序的形式,计算机程序可在如图17所示的计算机设备上运行。计算机设备的存储器中可存储组成该密钥管理装置的各个程序模块,比如,图12所示的加密请求接收模块1202、第一原始密钥标识获取模块1204、加密模块1206和加密数据接收模块1208。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的密钥管理装置中的步骤。例如,图17所示的计算机设备可以通过如图12所示的密钥管理装置中加密请求接收模块1202接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;通过第一原始密钥标识获取模块1204获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;通过加密模块1206将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;通过加密数据接收模块1208接收所述加解密模块返回的所述加密数据。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;接收所述加解密模块返回的所述加密数据。
在一个实施例中,所述将所述待加密信息和所述原始密钥标识发送至加解密模块的步骤包括:将所述待加密信息和所述原始密钥标识以异步请求的方式发送至所述加解密模块。
在一个实施例中,所述处理器还用于执行以下步骤:当更新所述加解密模块中的主密钥以及与主密钥对应的原始密钥标识时,获取新的主密钥以及与所述新的主密钥对应的新的原始密钥标识;根据新的原始密钥标识与更新前的原始密钥标识之间的对应关系、以及更新前的原始密钥标识和目标密钥标识之间的对应关系建立所述目标密钥标识和新的原始密钥标识之间的对应关系。
在一个实施例中,所述处理器在执行所述接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息的步骤之后,还用于执行以下步骤:将所述加密请求放入共享内存中;当从所述共享内存中获取到所述加密请求后,根据所述加密请求对应的业务标识进入获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识的步骤。
在一个实施例中,所述处理器在执行所述接收加密请求的步骤之前,还用于执行以下步骤:接收创建主密钥的申请请求;将所述申请请求发送至所述加解密模块,以使所述加解密模块创建一个主密钥,并为所述主密钥分配原始密钥标识;接收所述加解密模块返回的原始密钥标识,根据所述原始密钥标识生成一个与所述原始密钥标识对应的目标密钥标识;将所述目标密钥标识返回。
在一个实施例中,所述待加密信息为明文数据密钥,所述加密数据为密文数据密钥;所述处理器还用于执行以下步骤:采用所述明文数据密钥对业务数据进行加密,得到密文文件;将所述密文文件和所述密文数据密钥发送给接收端。
在一个实施例中,所述处理器还用于执行以下步骤:接收终端发送的用户请求,获取所述用户请求中携带的业务标识;根据所述业务标识采用与所述业务标识对应的业务处理规则对相应的业务进行处理,当需要调用后台模块时,以异步请求的方式向后台发送调用请求。
在一个实施例中,所述以异步请求的方式向后台模块发送调用请求的步骤包括:当一个业务标识需要调用多个后台模块完成一个事务时,则采用状态机实时记录所述业务标识对应的业务当前所处的后台模块。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:接收解密请求,所述解密请求中携带有待解密信息;解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据;接收所述加解密模块返回的所述解密数据。
在一个实施例中,所述将所述待解密信息和所述原始密钥标识发送至加解密模块的步骤包括:将所述待解密信息和所述原始密钥标识以异步请求的方式发送给所述加解密模块。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据;接收所述加解密模块返回的所述加密数据。
在一个实施例中,所述将所述待加密信息和所述原始密钥标识发送至加解密模块的步骤包括:将所述待加密信息和所述原始密钥标识以异步请求的方式发送至所述加解密模块。
在一个实施例中,所述处理器还用于执行以下步骤:当更新所述加解密模块中的主密钥以及与主密钥对应的原始密钥标识时,获取新的主密钥以及与所述新的主密钥对应的新的原始密钥标识;根据新的原始密钥标识与更新前的原始密钥标识之间的对应关系、以及更新前的原始密钥标识和目标密钥标识之间的对应关系建立所述目标密钥标识和新的原始密钥标识之间的对应关系。
在一个实施例中,所述处理器在执行所述接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息的步骤之后,还用于执行以下步骤:将所述加密请求放入共享内存中;当从所述共享内存中获取到所述加密请求后,根据所述加密请求对应的业务标识进入获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识的步骤。
在一个实施例中,所述处理器在执行所述接收加密请求的步骤之前,还用于执行以下步骤:接收创建主密钥的申请请求;将所述申请请求发送至所述加解密模块,以使所述加解密模块创建一个主密钥,并为所述主密钥分配原始密钥标识;接收所述加解密模块返回的原始密钥标识,根据所述原始密钥标识生成一个与所述原始密钥标识对应的目标密钥标识;将所述目标密钥标识返回。
在一个实施例中,所述待加密信息为明文数据密钥,所述加密数据为密文数据密钥;所述处理器还用于执行以下步骤:采用所述明文数据密钥对业务数据进行加密,得到密文文件;将所述密文文件和所述密文数据密钥发送给接收端。
在一个实施例中,所述处理器还用于执行以下步骤:接收终端发送的用户请求,获取所述用户请求中携带的业务标识;根据所述业务标识采用与所述业务标识对应的业务处理规则对相应的业务进行处理,当需要调用后台模块时,以异步请求的方式向后台发送调用请求。
在一个实施例中,所述以异步请求的方式向后台模块发送调用请求的步骤包括:当一个业务标识需要调用多个后台模块完成一个事务时,则采用状态机实时记录所述业务标识对应的业务当前所处的后台模块。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:接收解密请求,所述解密请求中携带有待解密信息;解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识;将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据;接收所述加解密模块返回的所述解密数据。
在一个实施例中,所述将所述待解密信息和所述原始密钥标识发送至加解密模块的步骤包括:将所述待解密信息和所述原始密钥标识以异步请求的方式发送给所述加解密模块。
本领域普通技术人员可以理解实现上述实施例装置中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各装置的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种密钥管理方法,应用于接入模块,所述方法包括:
接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识,所述目标密钥标识是指将原始密钥标识转换后发送给用户的索引标识,所述目标密钥标识和原始密钥标识都是用于唯一标识一个用户主密钥;
将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据,所述接入模块与所述加解密模块之间是解耦合的;
接收所述加解密模块返回的所述加密数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述待加密信息和所述原始密钥标识发送至加解密模块的步骤包括:
将所述待加密信息和所述原始密钥标识以异步请求的方式发送至所述加解密模块。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当更新所述加解密模块中的主密钥以及与主密钥对应的原始密钥标识时,获取新的主密钥以及与所述新的主密钥对应的新的原始密钥标识;
根据新的原始密钥标识与更新前的原始密钥标识之间的对应关系、以及更新前的原始密钥标识和目标密钥标识之间的对应关系建立所述目标密钥标识和新的原始密钥标识之间的对应关系。
4.根据权利要求1所述的方法,其特征在于,在所述接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息的步骤之后还包括:
将所述加密请求放入共享内存中;
当从所述共享内存中获取到所述加密请求后,根据所述加密请求对应的业务标识进入获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识的步骤。
5.根据权利要求1所述的方法,其特征在于,在所述接收加密请求的步骤之前还包括:
接收创建主密钥的申请请求;
将所述申请请求发送至所述加解密模块,以使所述加解密模块创建一个主密钥,并为所述主密钥分配原始密钥标识;
接收所述加解密模块返回的原始密钥标识,根据所述原始密钥标识生成一个与所述原始密钥标识对应的目标密钥标识;
将所述目标密钥标识返回。
6.根据权利要求1所述的方法,其特征在于,所述待加密信息为明文数据密钥,所述加密数据为密文数据密钥;
所述方法还包括:采用所述明文数据密钥对业务数据进行加密,得到密文文件;将所述密文文件和所述密文数据密钥发送给接收端。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收终端发送的用户请求,获取所述用户请求中携带的业务标识;
根据所述业务标识采用与所述业务标识对应的业务处理规则对相应的业务进行处理,当需要调用后台模块时,以异步请求的方式向后台发送调用请求。
8.根据权利要求7所述的方法,其特征在于,所述以异步请求的方式向后台模块发送调用请求的步骤包括:
当一个业务标识需要调用多个后台模块完成一个事务时,则采用状态机实时记录所述业务标识对应的业务当前所处的后台模块。
9.一种密钥管理方法,应用于接入模块,所述方法包括:
接收解密请求,所述解密请求中携带有待解密信息;
解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;
获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识,所述目标密钥标识是指将原始密钥标识转换后发送给用户的索引标识,所述目标密钥标识和原始密钥标识都是用于唯一标识一个用户主密钥;
将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据,所述接入模块与所述加解密模块之间是解耦合的;
接收所述加解密模块返回的所述解密数据。
10.根据权利要求9所述的方法,其特征在于,所述将所述待解密信息和所述原始密钥标识发送至加解密模块的步骤包括:
将所述待解密信息和所述原始密钥标识以异步请求的方式发送给所述加解密模块。
11.一种密钥管理装置,应用于接入模块,所述装置包括:
加密请求接收模块,用于接收加密请求,所述加密请求中携带有目标密钥标识和待加密信息;
第一原始密钥标识获取模块,用于获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识,所述目标密钥标识是指将原始密钥标识转换后发送给用户的索引标识,所述目标密钥标识和原始密钥标识都是用于唯一标识一个用户主密钥;
加密模块,用于将所述待加密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待加密信息进行加密得到加密数据,所述接入模块与所述加解密模块之间是解耦合的;
加密数据接收模块,用于接收所述加解密模块返回的所述加密数据。
12.根据权利要求11所述的装置,其特征在于,所述加密模块还用于将所述待加密信息和所述原始密钥标识以异步请求的方式发送至所述加解密模块。
13.一种密钥管理装置,应用于接入模块,所述装置包括:
解密请求接收模块,用于接收解密请求,所述解密请求中携带有待解密信息;
解析模块,用于解析所述待解密信息,获取所述待解密信息中包含的目标密钥标识;
第二原始密钥标识获取模块,用于获取密钥标识映射关系,根据所述密钥标识映射关系获取所述目标密钥标识对应的原始密钥标识,所述目标密钥标识是指将原始密钥标识转换后发送给用户的索引标识,所述目标密钥标识和原始密钥标识都是用于唯一标识一个用户主密钥;
解密模块,用于将所述待解密信息和所述原始密钥标识发送至加解密模块,以使所述加解密模块获取与所述原始密钥标识对应的主密钥,采用所述主密钥对所述待解密信息进行解密得到解密数据,所述接入模块与所述加解密模块之间是解耦合的;
解密数据接收模块,用于接收所述加解密模块返回的所述解密数据。
14.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至10中任一项所述方法的步骤。
CN201711376486.9A 2017-12-19 2017-12-19 密钥管理方法、装置、计算机设备及存储介质 Active CN108123800B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711376486.9A CN108123800B (zh) 2017-12-19 2017-12-19 密钥管理方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711376486.9A CN108123800B (zh) 2017-12-19 2017-12-19 密钥管理方法、装置、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN108123800A CN108123800A (zh) 2018-06-05
CN108123800B true CN108123800B (zh) 2021-06-15

Family

ID=62229408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711376486.9A Active CN108123800B (zh) 2017-12-19 2017-12-19 密钥管理方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN108123800B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108921550B (zh) * 2018-06-29 2022-02-18 北京金山安全软件有限公司 数字货币钱包的管理方法、装置、电子设备和存储介质
CN110768787B (zh) * 2018-07-27 2022-12-13 中国移动通信集团吉林有限公司 一种数据加密、解密方法及装置
CN109347625B (zh) * 2018-08-31 2020-04-24 阿里巴巴集团控股有限公司 密码运算、创建工作密钥的方法、密码服务平台及设备
CN109697370A (zh) * 2018-09-30 2019-04-30 深圳财富农场互联网金融服务有限公司 数据库数据加解密方法、装置、计算机设备和存储介质
CN110061957A (zh) * 2018-12-20 2019-07-26 中智关爱通(上海)科技股份有限公司 数据加密、解密方法、用户端、服务器及数据管理系统
CN109698745A (zh) * 2018-12-25 2019-04-30 歌尔科技有限公司 一种密钥管理方法、系统及耳机和存储介质
CN109672521B (zh) * 2018-12-26 2022-11-29 贵州华芯通半导体技术有限公司 基于国密加密引擎实现的安全存储系统和方法
CN110138750A (zh) * 2019-04-23 2019-08-16 上海数据交易中心有限公司 配置文件的加密方法、装置及系统、存储介质、终端
CN110225372A (zh) * 2019-05-07 2019-09-10 成都三零凯天通信实业有限公司 一种实时流媒体加解密密钥无缝切换方法
CN111222153B (zh) * 2020-01-07 2023-04-07 腾讯科技(深圳)有限公司 应用程序权限管理方法、装置和存储介质
CN111666558B (zh) * 2020-04-30 2023-08-01 平安科技(深圳)有限公司 密钥轮换方法、装置、计算机设备及存储介质
CN111818032B (zh) * 2020-06-30 2021-09-07 腾讯科技(深圳)有限公司 基于云平台的数据处理方法、装置及计算机程序
CN114095152A (zh) * 2020-08-03 2022-02-25 天翼电子商务有限公司 密钥更新及数据加解密方法、系统、介质及装置
CN112597071B (zh) * 2020-12-09 2024-03-26 北京地平线机器人技术研发有限公司 数据存储方法、获取方法、装置、电子设备以及介质
CN112910869B (zh) * 2021-01-21 2021-12-07 橙色云互联网设计有限公司 对数据信息进行加密和解密的方法、装置以及存储介质
CN113111365B (zh) * 2021-04-22 2024-04-09 广州市人心网络科技有限公司 一种基于信封加密的在线心理咨询隐私数据保护方法、存储介质及系统
CN113225336A (zh) * 2021-05-06 2021-08-06 安谋科技(中国)有限公司 信息加密传输方法、加解密装置、可读介质以及电子设备
CN113849835B (zh) * 2021-09-26 2022-07-15 百度在线网络技术(北京)有限公司 一种密钥处理方法、装置、设备及存储介质
CN114142998B (zh) * 2021-11-26 2024-03-15 北京神经元网络技术有限公司 一种数据加密处理方法、装置、电子设备及存储介质
CN114172664B (zh) * 2021-12-07 2024-02-09 天融信雄安网络安全技术有限公司 数据加密、数据解密方法、装置、电子设备及存储介质
CN114679324B (zh) * 2021-12-15 2024-03-12 国机工业互联网研究院(河南)有限公司 一种数据交换方法、工具、系统、设备及介质
CN114244508B (zh) * 2021-12-15 2023-07-28 平安科技(深圳)有限公司 数据加密方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471839A (zh) * 2007-12-29 2009-07-01 北京天融信网络安全技术有限公司 多核异步实现IPSec vpn的方法
CN103067158A (zh) * 2012-12-27 2013-04-24 华为技术有限公司 加密解密方法、终端设备、网关设备及密钥管理系统
US8719572B2 (en) * 2008-07-16 2014-05-06 Disney Enterprises, Inc. System and method for managing authentication cookie encryption keys
CN103907308A (zh) * 2012-01-16 2014-07-02 株式会社东芝 主机设备、半导体存储器设备以及认证方法
CN106817358A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种用户资源的加密、解密方法和设备
CN107454590A (zh) * 2017-07-26 2017-12-08 上海斐讯数据通信技术有限公司 一种数据加密方法、解密方法及无线路由器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101471839A (zh) * 2007-12-29 2009-07-01 北京天融信网络安全技术有限公司 多核异步实现IPSec vpn的方法
US8719572B2 (en) * 2008-07-16 2014-05-06 Disney Enterprises, Inc. System and method for managing authentication cookie encryption keys
CN103907308A (zh) * 2012-01-16 2014-07-02 株式会社东芝 主机设备、半导体存储器设备以及认证方法
CN103067158A (zh) * 2012-12-27 2013-04-24 华为技术有限公司 加密解密方法、终端设备、网关设备及密钥管理系统
CN106817358A (zh) * 2015-12-02 2017-06-09 阿里巴巴集团控股有限公司 一种用户资源的加密、解密方法和设备
CN107454590A (zh) * 2017-07-26 2017-12-08 上海斐讯数据通信技术有限公司 一种数据加密方法、解密方法及无线路由器

Also Published As

Publication number Publication date
CN108123800A (zh) 2018-06-05

Similar Documents

Publication Publication Date Title
CN108123800B (zh) 密钥管理方法、装置、计算机设备及存储介质
US11521176B2 (en) Service flow system and service data processing method and apparatus
CN109471844B (zh) 文件共享方法、装置、计算机设备和存储介质
US10581599B2 (en) Cloud storage method and system
CN110049016B (zh) 区块链的数据查询方法、装置、系统、设备及存储介质
US11546348B2 (en) Data service system
US11303431B2 (en) Method and system for performing SSL handshake
CN107528865B (zh) 文件的下载方法和系统
CN111327637B (zh) 业务密钥的管理方法及系统
CN113691502B (zh) 通信方法、装置、网关服务器、客户端及存储介质
CN110543510B (zh) 票据数据处理方法、装置、存储介质和计算机设备
CN113067699B (zh) 基于量子密钥的数据共享方法、装置和计算机设备
CN112800445B (zh) 一种用于密文数据的前后向安全和可验证的布尔查询方法
US10063655B2 (en) Information processing method, trusted server, and cloud server
CN115225409B (zh) 基于多备份联合验证的云数据安全去重方法
CN113382002A (zh) 数据请求方法、请求应答方法、数据通信系统及存储介质
CN112307504A (zh) 一种安全多方计算方法、装置、电子设备及存储介质
CN111339206A (zh) 一种基于区块链的数据共享方法和装置
CN108418679B (zh) 一种多数据中心下处理密钥的方法、装置及电子设备
CN116633701B (zh) 信息传输方法、装置、计算机设备和存储介质
CN112966287B (zh) 获取用户数据的方法、系统、设备和计算机可读介质
CN113297586A (zh) 数据解密方法及装置
CN112367302A (zh) 一种适用于chrome浏览器的身份认证方法及系统
CN114760047A (zh) 一种量子密钥管理方法、装置及系统
CN112637316B (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