密钥管理服务系统、密钥管理方法、网关及设备与流程

文档序号:32127362发布日期:2022-11-09 08:36阅读:220来源:国知局
密钥管理服务系统、密钥管理方法、网关及设备与流程

1.本发明涉及数据安全技术领域,尤其涉及一种密钥管理服务系统、密钥管理方法、网关及设备。


背景技术:

2.密钥管理服务(key management service,简称kms)是一站式密钥管理和数据加密服务平台,由于其能够提供简单、可靠、安全、合规的数据加密保护能力,因此,kms能够帮助用户极大地降低在密码基础设施和数据加解密产品上的采购、运维、研发开销,以便用户只需关注数据处理操作本身。
3.随着大数据时代的到来,云上的企业级用户对自身数据安全和数据合规性需求日趋明确,为了能够满足用户的数据安全需求和数据合规性需求,相关技术提供了一种密码管理服务的实现方式,其主要是通过共享kms网关直接访问用户的云上加密机实例。
4.然而,在利用上述系统进行密钥存储和密钥运算的过程中,密钥运算的一部分可能会在共享kms网关进行,这样对于用户而言,密钥运算的部分是共享的,对于密钥安全和合规敏感的用户而言,其可能会质疑密钥存储与密钥运算的安全性和合规性。另外,为了能够访问用户的云上加密机实例,需要使用特定的软件开发工具包(software development kit,简称sdk),而上述用于访问云上加密机实例的sdk往往无法与通过共享kms网关直接访问云上加密机实例的sdk相统一,此时,可能会出现同一应用下使用两种sdk的情况,进而用户需要在一个应用维护两个sdk,这样会增加用户的密钥服务维护和管理成本。


技术实现要素:

5.本发明实施例提供了一种密钥管理服务系统、密钥管理方法、网关及设备,能够确保密钥计算和存储的整个操作都是独享的,提高了密钥存储和运算的安全性和合规性。
6.第一方面,本发明实施例提供一种密钥管理服务系统,包括:密钥管理服务kms网关和与所述kms网关通信连接的至少一个专属kms;其中,
7.所述kms网关,用于获取密钥管理请求,在所述密钥管理请求对应一专属kms时,则将所述密钥管理请求转发至所述专属kms;
8.所述专属kms,用于接收所述密钥管理请求,基于所述密钥管理请求调用与所述专属kms相对应的专属密码机资源池,并利用所述专属密码机资源池进行密钥管理操作。
9.第二方面,本发明实施例提供一种密钥管理方法,应用于密钥管理服务kms网关,所述kms网关通信连接有共享kms和至少一个专属kms;所述方法包括:
10.获取密钥管理请求;
11.通过所述共享kms识别所述密钥管理请求是否对应一专属kms;
12.在所述密钥管理请求对应一专属kms时,则将所述密钥管理请求转发至所对应的专属kms。
13.第三方面,本发明实施例提供一种密钥管理服务网关,所述密钥管理服务kms网关
通信连接有共享kms和至少一个专属kms;所述kms网关包括:
14.第一获取模块,用于获取密钥管理请求;
15.第一识别模块,用于通过所述共享kms识别所述密钥管理请求是否对应一专属kms;
16.第一处理模块,用于在所述密钥管理请求对应一专属kms时,则将所述密钥管理请求转发至所对应的专属kms。
17.第四方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第二方面中的密钥管理方法。
18.第五方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第二方面中的密钥管理方法。
19.第六方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第二方面中的密钥管理方法中的步骤。
20.第七方面,本发明实施例提供了一种密钥管理方法,应用于专属密钥管理服务kms,所述专属kms网关通信连接有kms网关;所述方法包括:
21.接收所述kms网关发送的密钥管理请求;
22.基于所述密钥管理请求调用与所述专属kms相对应的专属密码机资源池;
23.利用所述专属密码机资源池进行密钥管理操作。
24.第八方面,本发明实施例提供了一种专属密钥管理服务设备,所述专属密钥管理服务设备通信连接有密钥管理服务kms网关;所述专属密钥管理服务设备包括:
25.第二获取模块,用于接收所述kms网关发送的密钥管理请求;
26.第二调用模块,用于基于所述密钥管理请求调用与所述专属kms相对应的专属密码机资源池;
27.第二处理模块,用于利用所述专属密码机资源池进行密钥管理操作。
28.第九方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第七方面中的密钥管理方法。
29.第十方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第七方面中的密钥管理方法。
30.第十一方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第七方面中的密钥管理方法中的步骤。
31.第十二方面,本发明实施例提供了一种密钥管理方法,应用于共享密钥管理服务kms,其中,共享kms通信连接有kms网关;所述方法包括:
32.通过kms网关获取密钥管理请求;
33.确定与所述密钥管理请求相对应的用户主密钥;
34.将所述用户主密钥发送至所述kms网关,以使所述kms网关基于所述用户主密钥识别所述密钥管理请求是否对应一专属kms。
35.第十三方面,本发明实施例提供了一种共享密钥管理服务设备,其中,共享密钥管理服务设备通信连接有kms网关;所述共享kms包括:
36.第三获取模块,用于通过kms网关获取密钥管理请求;
37.第三确定模块,用于确定与所述密钥管理请求相对应的用户主密钥;
38.第三处理模块,用于将所述用户主密钥发送至所述kms网关,以使所述kms网关基于所述用户主密钥识别所述密钥管理请求是否对应一专属kms。
39.第十四方面,本发明实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第十二方面中的密钥管理方法。
40.第十五方面,本发明实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第十二方面中的密钥管理方法。
41.第十六方面,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述第十二方面中的密钥管理方法中的步骤。
42.本实施例提供的技术方案,在密钥管理请求与专属kms相对应时,通过kms网关直接将密钥管理请求转发至专属kms,由于密钥管理请求是通过kms网关进行转发的,因此无需特定配置用于访问专属kms网关的sdk,这样不仅可以降低用户的软件维护成本,并且还方便用户对专属kms进行访问;另外,在专属kms获取到密钥管理请求之后,通过与用户相对应的专属密码机资源池进行相对应的密钥管理操作,有效地实现了能够为用户提供独享的专属密码机资源池,进而确保密钥管理请求所对应的整个计算和存储操作都是独享的,这样有效地提高了密钥存储和密钥运算的安全性和合规性,进一步提高了该系统使用的安全可靠性,有利于满足不同用户的使用需求。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本发明实施例提供的一种密钥管理服务系统的原理示意图;
45.图2为本发明实施例提供的一种密钥管理服务系统的结构示意图一;
46.图3为本发明实施例提供的一种密钥管理服务系统的结构示意图二;
47.图4为本发明应用实施例提供的一种密钥管理服务系统的结构示意图;
48.图5为本发明实施例提供的一种密钥管理方法的流程示意图;
49.图6为本发明实施例提供的另一种密钥管理方法的流程示意图;
50.图7为本发明实施例提供的又一种密钥管理方法的流程示意图;
51.图8为本发明另一实施例提供的一种密钥管理方法的流程示意图;
52.图9为本发明实施例提供的一种密钥管理服务网关的结构示意图;
53.图10为与图9所示实施例提供的密钥管理服务网关对应的电子设备的结构示意图;
54.图11为本发明实施例提供的一种专属密钥管理服务设备的结构示意图;
55.图12为与图11所示实施例提供的专属密钥管理服务设备对应的电子设备的结构示意图;
56.图13为本发明另一实施例提供的一种密钥管理方法的流程示意图;
57.图14为本发明实施例提供的一种共享密钥管理服务设备的结构示意图;
58.图15为与图14所示实施例提供的共享密钥管理服务设备对应的电子设备的结构示意图。
具体实施方式
59.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
60.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
61.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
62.取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
63.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
64.另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
65.术语定义:
66.密钥管理服务(key management service,简称kms):是一站式密钥管理和数据加密服务平台,由于其能够提供简单、可靠、安全、合规的数据加密保护能力,因此,kms能够帮助用户极大地降低在密码基础设施和数据加解密产品上的采购、运维、研发开销,以便用户只需关注数据处理操作本身。
67.专属kms:专属于用户侧独享的云上私有密钥管理服务,用户可以完全掌控自己的专属kms,实现用户侧数据加密和云产品集成。专享kms的密钥运算资源和存储资源是单用户独享模式,网络通信也是用户独享网络链路。
68.共享kms:用户的一站式密钥管理和数据加密服务平台,提供简单、可靠、安全、合
规的数据加密保护能力。共享kms的密钥运算资源和存储资源是多用户共享模式,网络通信也是共享网络链路。
69.为了方便理解本实施例中技术方案的具体实现过程,下面对相关技术进行说明:随着大数据时代的到来,云上的企业级用户对自身数据安全和数据合规性需求日趋明确,为了能够满足用户的数据安全需求和数据合规性需求,相关技术提供了一种密码管理服务的实现方式,其主要是通过共享kms网关直接访问用户的云上加密机实例。
70.然而,在利用上述系统进行密钥存储和密钥运算的过程中,密钥运算的一部分可能会在共享kms网关进行,这样对于用户而言,密钥运算的部分是共享的,具体的,针对目前的密钥管理架构而言,用户共享的是网络链路,通过一个共享网关进行转发,通过一个鉴权逻辑进行鉴权,通过一个密钥管控逻辑进行密钥管理,并且利用同一资源池进行密钥的运算,这样对于加密机来说,用户侧数据并没有做到数据隔离。对于密钥安全和合规敏感的用户而言,其可能会质疑密钥存储与密钥运算的安全性和合规性。
71.另外,为了能够访问用户的云上加密机实例,需要使用特定的软件开发工具包(software development kit,简称sdk),而上述用于访问云上加密机实例的sdk往往无法与通过共享kms网关直接访问云上加密机实例的sdk相统一,此时,可能会出现同一应用下使用两种sdk,进而用户需要在一个应用维护两个sdk,这样会增加用户的使用和维护成本。
72.此外,相关技术中所提供的云上加密机实例往往是用户运维的,因此,加密机产品不需要做服务等级协议(service level agreement,简称sla)保证,即密钥管理产品不会对外提供并且也没有明确的sla服务协议,这样无法保证密钥管理产品服务的稳定可靠性。
73.为了解决上述技术问题,本实施例提出了一种密钥管理服务系统、方法、网关及设备,其中,参考附图1所示,密钥管理服务系统可以包括密钥管理服务kms网关101和与kms网关101通信连接的至少一个专属kms 102,具体实现时,kms网关101可以部署在服务器上,该服务器通信连接有客户端,以实现用户的密钥管理服务操作。
74.其中,客户端可以是任何具有一定数据传输能力的计算设备,具体的,客户端的基本结构可以包括:至少一个处理器。处理器的数量取决于客户端的配置和类型。客户端也可以包括存储器,该存储器可以为易失性的,例如ram,也可以为非易失性的,例如只读存储器(read-only memory,简称rom)、闪存等,或者也可以同时包括两种类型。存储器内通常存储有操作系统(operating system,简称os)、一个或多个应用程序,也可以存储有程序数据等。除了处理单元和存储器之外,客户端还包括一些基本配置,例如网卡芯片、io总线、显示组件以及一些外围设备等。可选地,一些外围设备可以包括,例如键盘、鼠标、输入笔、打印机等。其它外围设备在本领域中是众所周知的,在此不做赘述。
75.服务器是指可以在网络虚拟环境中提供专属的密钥管理服务的设备,通常是指利用网络进行信息规划、专属的密钥管理服务操作的装置。在物理实现上,服务器可以是任何能够提供计算服务,响应服务请求,并进行处理的设备,例如:可以是集群服务器、常规服务器、云端的服务器、云主机、虚拟中心等。服务器的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
76.在上述本实施例中,服务器可以与客户端进行网络连接,该网络连接可以是无线或有线网络连接。若服务器与客户端是通信连接,该移动网络的网络制式可以为2g(gsm)、2.5g(gprs)、3g(wcdma、td-scdma、cdma2000、utms)、4g(lte)、4g+(lte+)、wimax、5g等中的
任意一种。
77.kms网关101,用于获取密钥管理请求,在密钥管理请求对应一专属kms 102时,则将密钥管理请求转发至专属kms 102,其中,密钥管理请求用于实现对密钥进行管理操作,在不同的应用场景中,密钥管理请求可以为用于实现不同管理操作的请求,例如:密钥管理请求可以包括以下至少之一:用于实现密钥生成操作的密钥生成请求、用于实现密钥更新操作的密钥更新请求、用于实现密钥编辑操作的密钥编辑请求或者用于实现密钥删除操作的密钥删除请求等等。另外,密钥管理请求可以基于用户对密钥管理服务系统输入的执行操作所生成,此时,获取密钥管理请求可以包括:显示与用户进行交互操作的显示界面,获得用户在显示界面中输入的执行操作,基于执行操作生成密钥管理请求。
78.在获取到密钥管理请求之后,可以对密钥管理请求进行分析处理,以识别密钥管理请求是否与一个专属kms 102相对应,在密钥管理请求与一专属kms 102相对应时,则说明此时的密钥管理请求需要在专属kms 102中实现相对应的操作,因此,可以将密钥管理请求转发至相对应的专属kms 102。
79.专属kms 102,用于接收kms网关101所发送的密钥管理请求,基于密钥管理请求调用与专属kms 102相对应的专属密码机资源池1021,并利用专属密码机资源池1021进行密钥管理操作。需要说明的是,对于与密钥管理请求不对应的专属kms 102而言,由于密钥管理请求与该专属kms 102不对应,因此无需进行任何的密钥管理操作。
80.本实施例提供的技术方案,在密钥管理请求与专属kms 102相对应时,通过kms网关101直接将密钥管理请求转发至专属kms 102,由于上述访问专属kms 102的操作是通过kms网关101进行转发的,因此无需特定配置用于访问专属kms 102的sdk,这样不仅可以降低用户的软件维护成本,并且还方便用户对专属kms 102进行访问;另外,在专属kms 102获取到密钥管理请求之后,通过用户的专属密码机资源池1021进行相对应的密钥管理操作,从而有效地实现了能够为用户提供独享的专属密码机资源池,进而确保密钥管理请求所对应的整个计算和存储操作都是独享的,这样有效地提高了密钥存储和密钥运算的安全性和合规性,进一步提高了该系统使用的安全可靠性,有利于满足不同用户的使用需求。
81.下面结合附图,对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
82.图2为本发明实施例提供的一种密钥管理服务系统的结构示意图一;参考附图2所示,本实施例提供了一种密钥管理服务系统,该密钥管理服务系统100可以包括密钥管理服务kms网关101和与kms网关101通信连接的至少一个专属kms 102,即一个kms网关101可以连接有一个或多个专属kms 102,其中,每个专属kms 102可以供一个用户进行使用,不同的用户所对应的专属kms 102不同。具体的,kms网关101和专属kms 102可以分别用于执行以下步骤:
83.kms网关101,用于获取密钥管理请求,在密钥管理请求对应一专属kms 102时,则将密钥管理请求转发至专属kms 102。
84.专属kms 102,用于接收密钥管理请求,基于密钥管理请求调用与专属kms102相对应的专属密码机资源池1021,并利用专属密码机资源池1021进行密钥管理操作。
85.其中,密钥管理请求是指能够实现对密钥进行管理操作的请求信息,不同的应用
场景所对应的密钥管理请求可以不同,例如:在需要实现密钥生成操作的应用场景中,则密钥管理请求为密钥生成请求;在需要实现密钥更新操作的应用场景中,则密钥管理请求为密钥更新请求;在需要实现密钥编辑操作的应用场景中,则密钥管理请求为密钥编辑请求;在需要实现密钥删除操作的应用场景中,则密钥管理请求为密钥删除请求。
86.另外,本实施例对于获取密钥管理请求的具体实现方式不做限定,在一些实例中,密钥管理请求可以基于用户对密钥管理服务系统100输入的执行操作所生成,此时,获取密钥管理请求可以包括:通过密钥管理服务系统100中的显示模块显示与用户进行交互操作的显示界面,获得用户在显示界面中输入的执行操作,基于执行操作生成密钥管理请求。在另一些实例中,密钥管理请求可以是第三设备发送的,此时,密钥管理服务系统100通信连接有第三设备,第三设备可以生成密钥管理请求,而后密钥管理服务系统100可以主动或者被动地通过第三设备获取到密钥管理请求。
87.由于kms网关101可以对各种应用场景中的密钥管理请求进行转发,例如:可以对需要利用共享kms 103所对应的密钥管理请求进行转发操作,或者,也可以对需要利用专属kms 102所对应的密钥管理请求进行转发操作。因此,为了能够准确地对密钥管理请求进行转发操作,在获取到密钥管理请求之后,可以对密钥管理请求进行分析处理,以识别密钥管理请求是否与专属kms 102相对应。具体的,密钥管理请求中可以包括待管控kms的标识信息,将待管控kms的标识信息与专属kms的标识信息进行搜索匹配,若存在与待管控kms的标识信息相匹配的专属kms的目标标识信息,则确定密钥管理请求与一专属kms 102相对应,该专属kms 102与目标标识信息相对应;若不存在与kms的标识信息相匹配的专属kms 102的目标标识信息,则确定密钥管理请求与专属kms 102不对应,从而有效地实现了识别密钥管理请求是否与专属kms 102相对应的技术方案。
88.在密钥管理请求与一专属kms 102相对应时,则该密钥管理请求所对应的密钥管理操作需要在专属kms 102中进行相对应的密钥管理操作,因此,kms网关101可以将密钥管理请求发送至专属kms 102中。
89.对于专属kms 102而言,每个专属kms 102均配置有相对应的专属密码机资源池1021,即为用户配置独享的密码机资源池,不同的专属kms 102所对应的专属密码机资源池1021相互独立,其中,专属密码机资源池1021中包括用于实现密钥管理操作的各种资源信息,具体的,该专属密码机资源池1021可以存储在专属kms 102中。因此,在专属kms 102接收到kms网关101所发送的密钥管理请求之后,为了能够使用用户专属的密钥资源实现密钥管理操作,可以调用与专属kms 102相对应的专属密码机资源池1021,并可以利用专属密码机资源池1021进行密钥管理操作,例如:可以通过专属密码机资源池1021中的资源创建用于对数据进行加解密操作的数据密钥、更新用于对数据进行加解密操作的数据密钥、删除用于对数据进行加解密操作的数据密钥等等。
90.本实施例提供的密钥管理服务系统100,在密钥管理请求与专属kms 102相对应时,kms网关101可以直接将密钥管理请求转发至专属kms 102,由于上述密钥管理请求是通过kms网关101进行转发的,即通过kms网关101即可实现访问专属kms 102的操作,因此无需特定配置用于访问专属kms 102(或专属kms 102中的专属密码机资源池1021)的sdk,这样不仅可以降低用户的软件维护成本,并且还方便用户对专属kms 102进行访问;另外,在专属kms 102获取到密钥管理请求之后,通过与专属kms 102相对应的专属密码机资源池1021
102。
96.具体的,对于密钥管理请求而言,按照请求类型可以将密钥管理请求分为两类:(1)预设管控类请求,其可以包括以下至少之一:密钥生成请求、密钥更新请求、密钥编辑请求、密钥删除请求等与密钥生成周期相关的请求。(2)密钥运算请求或者密钥存储请求,密钥运算请求是指基于数据密钥对数据进行运算的请求,密钥存储请求用于实现对密钥的存储操作。
97.对于专属kms 102而言,其访问方式可以有两种,方式一是用户通过kms网关101来访问专属kms 102,方式二是用户通过专有网络的专有网关103来访问专属kms 102,由于密钥运算请求或者密钥存储请求所对应的安全程度或者安全需求要高于预设管控请求所对应的安全程度或者安全需求,因此,可以将密钥运算请求或者密钥存储请求配置为只能通过上述访问方式二来实现,而预设管控请求则可以通过上述访问方式一来实现。
98.基于上述描述可知,对于kms网关101而言,当kms网关101接收到密钥管理请求之后,为了能够提高密钥管理操作的安全可靠性,可以确定密钥管理请求所对应的请求类型以及请求所在网络,其中,请求类型可以包括一下任意之一:预设管控请求、或者密钥运算请求/密钥存储请求,该请求类型可以通过密钥管理请求的预设字段、关键字或者请求类型标识进行分析识别而获得。请求所在网络可以包括对于专属kms 102而言的合法网络以及对于专属kms 102而言的非法网络,该请求所在网络可以通过密钥管理请求所对应的传输端口信息和/或者预设字段进行分析识别而获得。
99.在获取到请求所在网络之后,kms网关101还可以对请求所在网络进行合法性识别操作,此时的kms网关101具体用于执行以下步骤:获取用于对请求所在网络进行识别的预设网络列表,预设网络列表中包括多个合法网络的标准网络标识,具体的,每个专属kms 102对应有一预设网络列表,该预设网络列表中包括对于专属kms 102而言的多个合法网络的标准网络标识,不同的专属kms102所对应的预设网络列表相互独立,上述的预设网络列表可以存储在kms网关101或者专属kms 102中,当获取到密钥管理请求之后,则可以获取上述预先配置的预设网络列表,而后将请求所在网络的标识与预设网络列表进行搜索比对,在预设网络列表中存在与请求所在网络相匹配的标准网络标识时,则确定请求所在网络为合法网络;在预设网络列表中不存在与请求所在网络相匹配的标准网络标识时,则确定请求所在网络为非法网络。
100.在一些实例中,在通过预设云网络所获得的密钥管理请求时,可以获取密钥管理请求所对应的请求所在网络,而后将请求所在网络与预设网络列表进行搜索匹配,在预设网络列表中包括请求所在网络时,则说明此时的预设云网络为合法网络,进而允许对密钥管理请求进行转发。或者,在kms网关101通过预设网络获得密钥管理请求时,上述的预设网络的网络域名与专有网络域名相同,上述的专有网络与专属kms 102直接通信连接;可以获取到上述密钥管理请求所对应的请求所在网络,该请求所在网络中包括网络域名信息,而后将请求所在网络与预设网络列表进行搜索匹配,由于请求所在的网络域名信息与专有网络域名相同,进而可以认为上述的预设网络为合法网络,并允许对密钥管理请求进行转发。
101.在获取到密钥管理请求所对应的请求类型和请求所在网络之后,由于不同类型的密钥管理请求和不同的网络对应有不同的转发策略,为了能够保证密钥管理操作的安全可靠性,在请求类型为预设管控请求,且请求所在网络为预设合法网络,则说明此时的密钥管
理请求对于专属kms 102而言是合法请求,因此,kms网关101则可以直接进行密钥管理请求的转发操作,即允许将密钥管理请求发送至专属kms 102。相对应的,在请求类型为预设的密钥运算请求或密钥存储请求,或者,请求所在网络为非法网络时,则说明此时的密钥管理请求对于专属kms 102而言是非法请求,因此,kms网关101则不会进行密钥管理请求的转发操作,即禁止将密钥管理请求发送至专属kms 102。
102.本实施例中,在kms网关101获取密钥管理请求之后,通过kms网关101实现对密钥管理请求进行合法性识别操作,在确定密钥管理请求为合法请求时,才会将密钥管理请求转发至专属kms 102,在确定密钥管理请求为非法请求时,则不会将密钥管理请求转发至专属kms 102,从而实现了只对专属kms 102而言安全的密钥管理请求进行转发操作,有效地避免了非法访问操作的出现,进一步提高了该系统使用的安全可靠性。
103.在上述实施例的基础上,参考附图2或者图3所示,本实施例中的系统还可以包括与kms网关101通信连接的共享kms 103,此时,本实施例提供了一种kms网关101借助于共享kms 103实现对密钥管理请求进行分析识别的操作,具体的,
104.kms网关101,还用于在获取密钥管理请求之后,将密钥管理请求发送至共享kms 103;
105.共享kms 103,用于接收密钥管理请求,并确定与密钥管理请求相对应的用户主密钥,将用户主密钥发送至kms网关101。
106.kms网关101,用于获取用户主密钥,并基于用户主密钥识别密钥管理请求是否对应一专属kms 102。
107.对于kms网关101所接收到的所有密钥管理请求而言,所有的密钥管理请求均需要发送至共享kms 103处进行处理,具体的,共享kms 103获取到密钥管理请求之后,可以调用共享密码机资源池1031建立与密钥管理请求相对应的用户主密钥(customer master key,简称cmk),该用户主密钥是一种密钥加密密钥,主要用于加密并保护数据加密密钥。在建立与密钥管理请求相对应的用户主密钥之后,为了方便用户对用户主密钥进行调用、查看和使用操作,可以将用户主密钥存储在共享kms 103中的共享数据库中,同时可以将用户主密钥发送至kms网关101。
108.在kms网关101获取到用户主密钥之后,可以对用户主密钥进行分析处理,以识别密钥管理请求是否对应一专属kms 102。具体的,在kms网关101基于用户主密钥识别密钥管理请求是否对应一专属kms 102时,该kms网关101具体用于执行:获取用户主密钥中的密钥元数据,其中,密钥元数据包括与用户主密钥有关的信息,例如:用户主密钥的类型、密钥何时过期、谁拥有它、用户是什么等等,密钥元数据的存在可以保证对用户主密钥的正常使用。在获取到密钥元数据之后,可以对密钥元数据进行分析处理,以确定密钥管理请求是否对应一专属kms 102,且在密钥管理请求对应一专属kms 102时,则基于密钥元数据确定与密钥管理请求相对应的专属kms 102。
109.需要注意的是,在基于共享kms 103进行密钥管理操作和基于专属kms 102进行密钥管理操作时,通过共享kms 103所获得的输出结果的数据结构体与通过专属kms 102所获得的输出结果的数据结构体不同,具体的,共享kms 103的输出结果的数据结构体是由多个不同属性的结构体进行整合之后所获得的,该输出结果的数据结构体即为通过共享kms 103所获得的密文,此时的输出结果可以基于数据属性再次进行拆分操作;而专属kms 102
的输出结果的数据结构体是直接按照数据属性进行输出的,其输出结果已经无法再次进行拆分操作,相对于共享kms 103所获得的输出结果而言,通过专属kms 102所获得的输出结果的结构体更加透明,这样方便用户侧对输出结果进行处理和配置操作,有利于使得输出结果的表达更加精确。
110.本实施例中,在获取密钥管理请求之后,kms网关101将密钥管理请求发送至共享kms 103,并通过共享kms 103获得与密钥管理请求相对应的用户主密钥,而后基于用户主密钥所对应的密钥元数据来识别密钥管理请求是否对应一专属kms 102,有效地保证了对密钥管理请求进行识别的准确可靠性,进一步提高了通过该系统进行密钥管理的质量和效果。
111.在上述实施例的基础上,继续参考附图2或者图3所示,对于本系统中的专属kms 102而言,由于其能够为用户提供专属的密钥服务资源,并能够通过专属的密钥服务资源实现独享的密钥运算和密钥存储操作,此时,为了能够保证专属kms 102使用的安全可靠性,本实施例还提供了一种用户可以对专属kms102进行信息配置的实现过程,此时,在专属kms 102通过专有网关获取数据加解密请求之前,或者,在专属kms 102接收密钥管理请求之前,专属kms 102还用于:获取用户输入的与专属kms 102相对应的凭证配置信息;基于凭证配置信息,生成与专属kms 102相对应的授权凭证;对授权凭证进行保存,以对数据加解密请求或者密钥管理请求进行合法性识别。
112.具体的,由于用户可以通过专有网络的专有网关103直接访问专属kms 102,或者通过kms网关101对专属kms 102进行访问,无论是通过哪种方式对专属kms 102进行访问,在对专属kms 102进行访问之前,即在专属kms 102通过专有网关获取数据加解密请求之前,或者,在专属kms 102接收密钥管理请求之前,可以先对专属kms 102进行配置操作,此时,专属kms 102可以先显示用户供输入配置操作的配置界面,用户可以在配置界面中输入与专属kms 102相对应的凭证配置操作,凭证配置操作可以包括:用户名配置操作、密码配置操作等等;通过凭证配置操作可以获取到与专属kms 102接收凭证配置信息,该凭证配置信息可以为用于对用户名和/或密码信息进行配置的请求信息,在获取到凭证配置信息之后,可以基于凭证配置信息生成与专属kms 102相对应的授权凭证,该授权凭证可以包括用户名信息和密码信息等等。
113.在获取到授权凭证之后,为了能够基于授权凭证对访问专属kms 102的用户进行身份识别操作,可以对授权凭证进行保存,具体可以将授权凭证存储在专属kms 102中的数据库中,以便之后基于授权凭证对数据加解密请求或者密钥管理请求进行合法性识别操作。
114.本实施例中,通过系统中的专属kms 102获取用户输入的与专属kms 102相对应的凭证配置信息;并基于凭证配置信息生成与专属kms 102相对应的授权凭证;而后对授权凭证进行保存,有效地实现了一种用户可以对专属kms 102进行信息配置的实现过程,这样方便之后对数据加解密请求或者密钥管理请求进行合法性识别,进一步提高了对专属kms 102进行访问的合法性和安全程度。
115.相类似的,在上述实施例的基础上,参考附图2或图3所示,本实施例中的系统不仅能够实现对专属kms 102所对应的授权凭证进行配置操作,还能够实现对专属kms 102所对应的专属密码机资源池1021进行配置操作,此时,在专属kms 102通过专有网关获取数据加
解密请求之前,或者,在专属kms 102接收密钥管理请求之前,本实施例中的专属kms 102还用于:获取用户输入的专属密码机资源池1021的配置信息;基于配置信息,生成专属密码机资源池1021。
116.在对专属kms 102进行访问之前,即在专属kms 102通过专有网关103获取数据加解密请求之前,或者,在专属kms 102接收密钥管理请求之前,需要先对专属kms 102所对应的专属密码机资源池1021进行配置操作,此时,专属kms 102可以先显示用户供输入配置操作的配置界面,用户可以在配置界面中输入与专属kms 102相对应的配置信息,该配置信息可以为用于对密码机资源池进行调用的请求信息或者用于对密码机资源池进行生成的生成请求;在配置信息为用于对密码机资源池进行调用的请求信息时,该请求信息中可以包括待调用的密码机资源池相对应的标识信息;在预先配置的多个密码机资源池中,确定与标识信息相对应的目标密码机资源池,而后可以将目标密码机资源池确定为所需要生成的专属密码机资源池1021;或者,在配置信息为用于对密码机资源池进行生成的生成请求时,该请求信息中可以包括密码机资源池相对应的各个密码资源信息;在获取到配置信息之后,可以基于配置信息生成多个密码资源信息,将所有的密码资源信息汇总为所述专属密码机资源池1021。在生成专属密码机资源池1021之后,为了能够基于专属密码机资源池1021对专属kms 102所对应的密钥管理请求进行密钥管理操作。
117.本实施例中,通过系统中的专属kms 102获取用户输入的与专属密码机资源池1021相对应的配置操作;并基于配置操作生成与专属kms 102相对应的专属密码机资源池1021;而后对专属密码机资源池1021进行保存,有效地实现了一种用户可以对专属密码机资源池1021进行资源配置的实现过程,这样方便基于专属密码机资源池对数据加解密请求或者密钥管理请求进行相对应的处理操作,进一步提高了密钥管理服务的质量和效率。
118.在上述任意一个实施例的基础上,继续参考附图2或图3所示,本实施例中的密钥管理服务系统100可以供一个或多个用户进行使用,在多个用户在对密钥管理服务系统100进行使用时,为了能够每个用户调用资源的公平性,本实施例中的kms网关101还能够负载均衡操作,具体能够基于用户对密钥管理服务系统100进行调用的次数进行灵活地限流操作,具体的,本实施例中的kms网关101还可以用于执行:在预设时间段内,统计同一请求端所发送的密钥管理请求的数量;在数量超过预设阈值时,则将请求端发送的密钥管理请求的数量限缩为预设阈值。
119.具体的,在多个用户对该密钥管理服务系统100进行使用时,在预设时间段(例如:5分钟、10分钟、20分钟或者30分钟)内,一个用户可以向密钥管理服务系统100多次的密钥管理请求,这样对于密钥管理服务系统100而言,在一预设时间段内,可能会接收到多个用户所发送的若干密钥管理请求,然后由于密钥管理服务系统100所对应的资源是固定且有限的,为了能够保证每个用户调用资源的公平性,对于密钥管理服务系统100而言,可以预先配置用于限定每个用户进行限流的预设阈值,在一些实例中,所有用户所对应的预设阈值可以相同,在另一些实例中,不同类型的用户所对应的预设阈值可以不同,例如:普通用户所对应的预设阈值为第一阈值,会员用户所对应的预设阈值为第二阈值,其中,第二阈值高于第一阈值。
120.在对密钥管理服务系统100配置预设阈值之后,在基于密钥管理服务系统100进行密钥管理的过程中,由于密钥管理服务系统100所获取到的密钥管理请求均需要经过kms网
关101,这样kms网关101可以在预设时间段内统计同一请求端所发送的密钥管理请求的数量。举例来说,kms网关101可以统计在预设的30分钟内请求端a所发送的密钥管理请求的数量为c1,请求端b所发送的密钥管理请求的数量为c2,请求端c所发送的密钥管理请求的数量为c3等等。
121.在获取到同一请求端所发送的密钥管理请求的数量之后,可以将数量与预设阈值进行分析比较,在数量小于或等于预设阈值时,则说明该请求端在规定的限制内进行密钥管理服务的调用操作,此时无需对该请求端的密钥管理服务调用操作进行任何的限制或者限流操作;在数量大于预设阈值时,则说明该请求端已经超过了所规定的服务调用限制,为了能够保证密钥管理服务系统100资源调用的公平性,并保证密钥管理服务的正常和稳定运行,可以对上述请求端的密钥管理服务调用操作进行限制或者限流操作,具体的,则将请求端发送的密钥管理请求的数量限缩为预设阈值,对于超过预设阈值的密钥管理请求则进行忽略操作。
122.本实施例中,通过kms统计同一请求端所发送的密钥管理请求的数量;在数量超过预设阈值时,则将请求端发送的密钥管理请求的数量限缩为预设阈值,使得每个用户最多可以进行预设阈值的服务调用操作,例如:每个用户一秒钟最多调用100次、300次或者500次等等,这样有效地保证了每个用户调用密钥服务资源的公平性,进一步提高了该密钥管理服务系统100使用的稳定可靠性。
123.具体应用时,由于用户侧独享密钥存储与密钥运算服务需求是企业密钥管理服务安全的核心诉求之一,而专属kms为用户提供用户侧独享的密钥存储和密钥运算的密钥管理服务系统,基于上述诉求,本应用实施例提供了一种用户侧独享密钥存储与密钥运算的密钥管理服务系统,该系统不仅能够为用户提供独享的密钥服务实例,并确保只能在用户的虚拟私有云(virtual private cloud,简称vpc)内进行访问,满足私有网络接入需求;同时能够使用用户独享的密码资源池实现计算资源和存储资源的隔离和密码学隔离,以保证数据更高的安全性。
124.具体的,参考附图4所示,本应用实施例所提供的密钥管理服务系统可以包括:
125.控制模块:用于供用户对密钥管理服务系统进行应用和调用操作。
126.具体的,控制模块能够提供用于对共享kms和/或专属kms进行调用的显示界面,用户可以在显示界面上输入执行操作,以基于执行操作生成并获得密钥管理请求。而后将密钥管理请求发送至kms网关,以通过kms网关实现对共享kms和/或专属kms的调用操作,实现密钥管理服务操作。
127.其中,控制模块的具体实现方式可以包括以下至少之一:控制台、命令行界面cli、软件开发工具包sdk或者其他的云服务接口来对密钥管理服务系统进行调用等等,上述的控制台能够供用户实现对密钥管理服务系统进行调用的所有功能,通过cli和sdk均能够实现预设的开放api接口的调用,但是,当对密钥管理服务系统所实现的功能不熟悉的时候,可以通过cli对密钥管理服务系统进行调研操作或者预演操作。另外,在通过其他云服务接口来对密钥管理服务系统进行调用时,由于云服务产品可能会读取用户数据,因此,为了数据的安全可靠性,可以对落盘(预存)的数据进行加密处理。
128.kms网关:与控制模块通信连接,用于接收控制模块所发送的密钥管理请求,并将密钥管理请求转发至共享kms。
129.共享kms:与kms网关通信连接,用于获取kms网关所发送的密钥管理请求,具体的,共享kms可以包括:共享的密钥管理系统、密码机(hsm)资源池、加解密服务模块以及数据库,在kms网关中的密钥管理系统获取到密钥管理请求之后,可以调用密码机(hsm)资源池中的资源来生成用户主密钥cmk,并将用户主密钥加密存储在数据库中。
130.若密钥管理请求与共享kms相对应时,可以通过数据库中的用户主密钥cmk派生出数据密钥,而后通过加解密服务模块调用数据密钥进行数据的加解密操作,以生成加解密结果,并可以将所生成的加解密结果返回给用户端。若密钥管理请求与共享kms不对应,则可以将所生成的密钥管理请求所对应的用户主密钥返回给kms网关。
131.kms网关:获取与密钥管理请求相对应的用户主密钥,基于用户主密钥识别密钥管理请求是否对应一专属kms,在密钥管理请求对应一专属kms时,则基于用户主密钥确定与密钥管理请求相对应的专属kms,而后将密钥管理请求转发至专属kms。在一些实例中,在kms网关对密钥管理请求进行转发之前,可以先对密钥管理请求进行鉴权操作,这样可以保证所转发的密钥管理请求为合法的请求。
132.专属kms:与kms网关通信连接,用于通过kms网关获取到密钥管理请求,并调用专属密码机资源池进行密钥管理操作。
133.具体的,专属kms可以包括专属的密钥管理系统、专属的加密机实例(专属的加密机资源池)以及应用加解密服务模块,在kms网关将密钥管理请求发送至专属kms时,主要是专属kms中的专属密钥管理系统接收密钥管理请求,而后可以调用专属的加密机实例的资源来生成用户主密钥,并将用户主密钥存储在专属的数据库中,应用加解密服务模块可以调用预所存储的用户主密钥,并基于用户主密钥生成数据密钥,数据密钥可以为对称密钥或者非对称密钥,以基于数据密钥进行数据的加解密操作,生成数据的加解密结果,并能够将所生成的加解密结果返回给用户端,以完整密钥管理服务的调用操作。
134.需要注意的是,对于专属kms而言,不仅可以通过kms网关来实现密钥管理服务操作,用户还能够通过专有网络中的专有网关对专属kms进行访问,一般情况下,在用户需要进行密钥运算或者密钥存储操作时,用户可以直接通过专有网关将密钥运算请求或者密钥存储请求发送至专属kms,以使得专属kms可以基于密钥运算请求或者密钥存储请求进行密钥计算或者密钥存储操作等等。在用户需要进行密钥管控操作时,用户可以通过控制模块和kms网关来访问专属kms,以实现密钥的管控操作。
135.另外,对于专属kms而言,在对专属kms进行调用之前,可以先对专属kms的访问证书或者专属密码机实例进行配置操作,此时,用户(或者安全管理员)可以初始化密码机实例的集群,而后可以创建调用上述密码机实例集群的授权凭证,该授权凭证可以包括用户名和登录密码信息,之后将所创建的授权凭证交付给专属kms进行存储,以便对访问专属kms的请求进行合法性识别操作。
136.此外,对于专属kms而言,为了能够提高并保证专属kms的适用性和灵活可靠性,专属kms中的密码机可以通过预设接口或者预设插件实现功能的扩展操作,例如:通过预设接口可以实现ssl卸载功能等等。
137.另一方面,对于专属kms而言,通过云原生无服务器的能力构建单租户独享的密码运算资源池,密钥通过加密方式存储在用户存储介质,具体的,基于专属加密机资源的类型将专属kms划分为专属kms标准版和专属kms基础版,其中,专属kms标准版密钥存储介质为
租户独享的密码机,此时,专属加密机资源为独享的密码机;专属kms基础版密钥存储介质为用户独享数据库,此时专属加密机资源为独享的数据库。
138.本应用实施例提供密钥管理系统,实现了一种密码运算和密钥存储租户侧独享的技术架构,其具体采用云原生serverless能力构建单用户独享的密码运算资源池,通过用户侧密码机方式将用户密钥做用户侧独享存储,以解决密钥运算和存储的安全问题;通过用户侧专有网络构建用户独享的访问网络通道,以保障用户侧网络隔离性和访问安全性;具体的,该系统能够支持用户通过独享的专有网络使用kms专属版实例的加解密服务进行应用层加解密操作,并提供了一种用户侧独享的网络连通方式(single tunnel)构建用户访问服务网络通道,保证只能在用户侧专有网络访问专属kms实例,其他专有网络或者其他网络环境无法访问专属kms实例,从而保障用户侧网络隔离性和访问安全性,保证网络层上的用户独享,为用户提供租户侧网络隔离安全保障。此外,在其他云产品不做改造的前提下,支持云产品通过共享kms网关访问专属kms密钥实现携带您自己的密钥(byok)能力,同时能够给出用户确定的sla协议,保证了密钥管理服务的质量和效果(99.9%)。此外,通过反向访问方式支持专属kms无缝安全集成云产品,这种集成方式更加安全和满足用户更高合规要求,进一步提高里该系统的实用性和灵活可靠性,有利于市场的推广与应用。
139.图5为本发明实施例提供的一种密钥管理方法的流程示意图;参考附图5所示,本实施例提供了一种密钥管理方法,该密钥管理方法的执行主体为密钥管理装置,其具体可以实现为kms网关,即该方法可以应用于密钥管理服务kms网关,kms网关通信连接有共享kms和至少一个专属kms;具体的,本实施例中的密钥管理方法可以包括:
140.步骤s501:获取密钥管理请求。
141.其中,密钥管理请求是指能够实现对密钥信息进行管理操作的请求信息,不同的应用场景所对应的密钥管理请求可以不同,例如:在需要实现密钥生成操作的应用场景中,则密钥管理请求为密钥生成请求;在需要实现密钥更新操作的应用场景中,则密钥管理请求为密钥更新请求;在需要实现密钥编辑操作的应用场景中,则密钥管理请求为密钥编辑请求;在需要实现密钥删除操作的应用场景中,则密钥管理请求为密钥删除请求。
142.另外,本实施例对于获取密钥管理请求的具体实现方式不做限定,在一些实例中,密钥管理请求可以基于用户对密钥管理服务系统输入的执行操作所生成,此时,获取密钥管理请求可以包括:通过密钥管理服务系统中的显示模块显示与用户进行交互操作的显示界面,获得用户在显示界面中输入的执行操作,基于执行操作生成密钥管理请求。在另一些实例中,密钥管理请求可以是第三设备发送的,此时,密钥管理服务系统通信连接有第三设备,第三设备可以生成密钥管理请求,而后密钥管理服务系统可以主动或者被动地通过第三设备获取到密钥管理请求。
143.步骤s502:通过共享kms识别密钥管理请求是否对应一专属kms。
144.由于kms网关可以对各种应用场景中的密钥管理请求进行转发,例如:可以对需要利用共享kms所对应的密钥管理请求进行转发操作,或者,也可以对需要利用专属kms所对应的密钥管理请求进行转发操作,因此在获取到密钥管理请求之后,为了能够准确地对密钥管理请求进行转发操作,可以对密钥管理请求进行分析处理,以识别密钥管理请求是否与专属kms相对应。在密钥管理请求与一专属kms相对应时,则该密钥管理请求所对应的密钥管理操作需要在专属kms中实现,因此,kms网关可以将密钥管理请求发送至专属kms中。
145.在一些实例中,通过共享kms识别密钥管理请求是否对应一专属kms可以包括:将密钥管理请求发送至共享kms;通过共享kms获取与密钥管理请求相对应的用户主密钥;基于用户主密钥识别密钥管理请求是否对应一专属kms。
146.在一些实例中,基于用户主密钥识别密钥管理请求是否对应一专属kms可以包括:获取用户主密钥中的密钥元数据;基于密钥元数据,确定密钥管理请求是否对应一专属kms,且在密钥管理请求对应一专属kms时,则基于密钥元数据确定与密钥管理请求相对应的专属kms。
147.本实施例中通过共享kms识别密钥管理请求是否对应一专属kms的具体实现过程与上述图2-图4所对应的系统所能够实现的通过共享kms识别密钥管理请求是否对应一专属kms的具体实现过程相类似,具体可参考上述陈述内容,再次不再赘述。
148.步骤s503:在密钥管理请求对应一专属kms时,则将密钥管理请求转发至所对应的专属kms。
149.对于专属kms而言,每个专属kms均配置有相对应的专属密码机资源池,不同的专属kms所对应的专属密码机资源池相互独立,其中,专属密码机资源池中包括用于实现密钥管理操作的各种资源信息,具体的,该专属密码机资源池可以存储在专属kms中。因此,在专属kms接收到kms网关所发送的密钥管理请求之后,为了能够使用与用户专属的密钥资源实现密钥管理操作,可以调用与专属kms相对应的专属密码机资源池,并可以利用专属密码机资源池进行密钥管理操作,例如:可以通过专属密码机资源池中的资源创建用于对数据进行加解密操作的数据密钥、更新用于对数据进行加解密操作的数据密钥、删除用于对数据进行加解密操作的数据密钥等等。
150.本实施例提供的密钥管理方法,在密钥管理请求与专属kms相对应时,kms网关可以直接将密钥管理请求转发至专属kms,由于上述专属kms的访问操作是通过kms网关进行实现的,因此无需特定配置用于访问专属加密机资源池的sdk,这样不仅可以降低用户的软件维护成本,并且还方便用户对专属kms进行访问;另外,在专属kms获取到密钥管理请求之后,通过与专属kms相对应的专属密码机资源池进行相对应的密钥管理操作,从而有效地实现了能够为用户提供独享的专属密码机资源池(即服务实例),在利用专属密码机资源池进行密钥管理操作时,能够确保密钥管理操作的整个计算和存储操作都是在专属kms中实现的,即密钥管理的实现过程是独享的,这样有效地提高了密钥存储和密钥运算的安全性和合规性,进一步提高了该方法使用的安全可靠性,有利于满足不同用户的使用需求。
151.图6为本发明实施例提供的另一种密钥管理方法的流程示意图;在上述实施例的基础上行,参考附图6所示,在获取密钥管理请求之后,本实施例中的方法还可以包括:
152.步骤s601:确定密钥管理请求所对应的请求类型以及请求所在网络。
153.具体的,对于密钥管理请求而言,按照请求类型可以将密钥管理请求分为两类:(1)预设管控类请求,其可以包括以下至少之一:密钥生成请求、密钥更新请求、密钥编辑请求、密钥删除请求等与密钥生成周期相关的请求。(2)密钥运算请求或者密钥存储请求,密钥运算请求是指基于数据密钥对数据进行运算的请求,密钥存储请求用于实现对密钥的存储操作。
154.对于专属kms而言,其访问方式可以有两种,方式一是用户通过kms网关来访问专属kms,方式二是用户通过专有网络的专有网关来访问专属kms,由于密钥运算请求或者密
钥存储请求所对应的安全程度或者安全需求要高于预设管控请求所对应的安全程度或者安全需求,因此,可以将密钥运算请求或者密钥存储请求配置为只能通过上述访问方式二来实现,而预设管控请求则可以通过上述访问方式一来实现。
155.基于上述描述可知,对于kms网关而言,当kms网关接收到密钥管理请求之后,为了能够提高密钥管理操作的安全可靠性,可以确定密钥管理请求所对应的请求类型以及请求所在网络,其中,请求类型可以包括:预设管控请求、或者密钥运算请求/密钥存储请求,该请求类型可以通过密钥管理请求的预设字段、关键字或者请求类型标识进行分析识别而获得。请求所在网络可以包括对于专属kms而言的合法网络以及对于专属kms而言的非法网络,该请求所在网络可以通过密钥管理请求所对应的传输端口信息和/或者预设字段进行分析识别而获得。
156.在获取到请求所在网络之后,可以对请求所在网络进行合法性识别操作,具体包括:获取用于对请求所在网络进行识别的预设网络列表,预设网络列表中包括多个合法网络的标准网络标识;在预设网络列表中存在与请求所在网络相匹配的标准网络标识时,则确定请求所在网络为合法网络;在预设网络列表中不存在与请求所在网络相匹配的标准网络标识时,则确定请求所在网络为非法网络。
157.步骤s602:在请求类型为预设管控请求,且请求所在网络为预设合法网络,则允许将密钥管理请求发送至专属kms。
158.步骤s603:在请求类型为预设的密钥运算请求或密钥存储请求,或者,请求所在网络为非法网络时,则禁止将密钥管理请求发送至专属kms。
159.在获取到密钥管理请求所对应的请求类型和请求所在网络之后,由于不同类型的密钥管理请求和不同的网络对应有不同的转发策略,为了能够保证密钥管理操作的安全可靠性,在请求类型为预设管控请求,且请求所在网络为预设合法网络,则说明此时的密钥管理请求对于专属kms而言是合法请求,因此,kms网关则可以直接进行密钥管理请求的转发操作,即允许将密钥管理请求发送至专属kms。相对应的,在请求类型为预设的密钥运算请求或密钥存储请求,或者,请求所在网络为非法网络时,则说明此时的密钥管理请求对于专属kms而言是非法请求,因此,kms网关则不会进行密钥管理请求的转发操作,即禁止将密钥管理请求发送至专属kms。
160.本实施例中,在kms网关获取密钥管理请求之后,通过kms网关实现对密钥管理请求进行合法性识别操作,在确定密钥管理请求为合法请求时,才会将密钥管理请求转发至专属kms,在确定密钥管理请求为非法请求时,则不会将密钥管理请求转发至专属kms,从而实现了只对专属kms而言安全的密钥管理请求进行转发操作,有效地避免了非法访问操作的出现,进一步提高了该系统使用的安全可靠性。
161.图7为本发明实施例提供的又一种密钥管理方法的流程示意图;在上述任意一个实施例的基础上,参考附图7所示,本实施例中的方法还可以包括:
162.步骤s701:在预设时间段内,统计同一请求端所发送的密钥管理请求的数量。
163.步骤s702:在数量超过预设阈值时,则将请求端发送的密钥管理请求的数量限缩为预设阈值。
164.具体的,在多个用户对该密钥管理服务系统进行使用时,在预设时间段(例如:5分钟、10分钟、20分钟或者30分钟)内,一个用户可以向密钥管理服务系统多次的密钥管理请
求,这样对于密钥管理服务系统而言,在一预设时间段内,可能会接收到多个用户所发送的若干密钥管理请求,然后由于密钥管理服务系统所对应的资源是固定且有限的,为了能够保证每个用户调用资源的公平性,对于密钥管理服务系统而言,可以预先配置用于限定每个用户进行限流的预设阈值,在一些实例中,所有用户所对应的预设阈值可以相同,在另一些实例中,不同类型的用户所对应的预设阈值可以不同,例如:普通用户所对应的预设阈值为第一阈值,会员用户所对应的预设阈值为第二阈值,其中,第二阈值高于第一阈值。
165.在对密钥管理服务系统配置预设阈值之后,在基于密钥管理服务系统进行密钥管理的过程中,由于密钥管理服务系统所获取到的密钥管理请求均需要经过kms网关,这样kms网关可以在预设时间段内统计同一请求端所发送的密钥管理请求的数量。举例来说,kms网关可以统计在预设的30分钟内请求端a所发送的密钥管理请求的数量为c1,请求端b所发送的密钥管理请求的数量为c2,请求端c所发送的密钥管理请求的数量为c3等等。
166.在获取到同一请求端所发送的密钥管理请求的数量之后,可以将数量与预设阈值进行分析比较,在数量小于或等于预设阈值时,则说明该请求端在规定的限制内进行密钥管理服务的调用操作,此时无需对该请求端的密钥管理服务调用操作进行任何的限制或者限流操作;在数量大于预设阈值时,则说明该请求端已经超过了所规定的服务调用限制,为了能够保证密钥管理服务系统资源调用的公平性,并保证密钥管理服务的正常和稳定运行,可以对上述请求端的密钥管理服务调用操作进行限制或者限流操作,具体的,则将请求端发送的密钥管理请求的数量限缩为预设阈值,对于超过预设阈值的密钥管理请求则进行忽略操作。
167.本实施例中,通过kms网关统计同一请求端所发送的密钥管理请求的数量;在数量超过预设阈值时,则将请求端发送的密钥管理请求的数量限缩为预设阈值,使得每个用户最多可以进行预设阈值的服务调用操作,例如:每个用户一秒钟最多调用100次、300次或者500次等等,这样有效地保证了每个用户调用密钥服务资源的公平性,进一步提高了该密钥管理服务系统使用的稳定可靠性。
168.图8为本发明另一实施例提供的一种密钥管理方法的流程示意图;参考附图8所示,本实施例提供了一种密钥管理方法,该密钥管理方法的执行主体可以为密钥管理装置,其具体可以实现为专属密钥管理服务kms,即该方法可以应用于专属密钥管理服务kms,专属kms网关通信连接有kms网关;具体的,本实施例中的密钥管理方法可以包括:
169.步骤s801:接收kms网关发送的密钥管理请求。
170.步骤s802:基于密钥管理请求调用与专属kms相对应的专属密码机资源池。
171.步骤s803:利用专属密码机资源池进行密钥管理操作。
172.在一些实例中,专属kms通信连接有专有网络的专有网关;本实施例中的方法还可以包括:
173.步骤s901:通过专有网关获取数据加解密请求;
174.步骤s902:基于数据加解密请求,调用专属密码机资源池生成与数据加解密请求相对应的数据密钥;
175.步骤s903:基于数据密钥进行数据的加解密操作。
176.在另一些实例中,本实施例中的方法还可以包括:
177.步骤s1001:获取用户输入的与专属kms相对应的凭证配置信息。
178.步骤s1002:基于凭证配置信息,生成与专属kms相对应的授权凭证。
179.步骤s1003:对授权凭证进行保存,以对数据加解密请求或者密钥管理请求进行合法性识别。
180.在又一些实例中,在专属kms接收密钥管理请求之前,本实施例中的方法还可以包括:
181.步骤s1101:获取用户输入的专属密码机资源池的配置信息。
182.步骤s1102:基于配置信息,生成专属密码机资源池。
183.具体的,本实施例中的上述方法步骤的实现过程、实现原理和实现效果与上述图2-图3所示实施例中密钥管理服务系统所实现的方法步骤的实现过程、实现原理和实现效果相类似,本实施例未详细描述的部分,可参考对图2-图4所示实施例的相关说明。
184.图9为本发明实施例提供的一种密钥管理服务网关的结构示意图;参考附图9所示,本实施例提供了一种密钥管理服务网关,该密钥管理服务kms网关通信连接有共享kms和至少一个专属kms;具体的,该kms网关用于执行上述图5所示的密钥管理方法,该kms网关可以包括:
185.第一获取模块11,用于获取密钥管理请求;
186.第一识别模块12,用于通过共享kms识别密钥管理请求是否对应一专属kms;
187.第一处理模块13,用于在密钥管理请求对应一专属kms时,则将密钥管理请求转发至所对应的专属kms。
188.在一些实例中,本实施例中的第一处理模块13用于执行以下步骤:在获取密钥管理请求之后,确定密钥管理请求所对应的请求类型以及请求所在网络;在请求类型为预设管控请求,且请求所在网络为预设合法网络,则允许将密钥管理请求发送至专属kms;在请求类型为预设的密钥运算请求或密钥存储请求,或者,请求所在网络为非法网络时,则禁止将密钥管理请求发送至专属kms。
189.在一些实例中,本实施例中的第一处理模块13用于执行以下步骤:获取用于对请求所在网络进行识别的预设网络列表,预设网络列表中包括多个合法网络的标准网络标识;在预设网络列表中存在与请求所在网络相匹配的标准网络标识时,则确定请求所在网络为合法网络;在预设网络列表中不存在与请求所在网络相匹配的标准网络标识时,则确定请求所在网络为非法网络。
190.在一些实例中,在第一识别模块12通过共享kms识别密钥管理请求是否对应一专属kms时,该第一识别模块12用于执行以下步骤:将密钥管理请求发送至共享kms;通过共享kms获取与密钥管理请求相对应的用户主密钥;基于用户主密钥识别密钥管理请求是否对应一专属kms。
191.在一些实例中,在第一识别模块12基于用户主密钥识别密钥管理请求是否对应一专属kms时,该第一识别模块12用于执行:获取用户主密钥中的密钥元数据;基于密钥元数据,确定密钥管理请求是否对应一专属kms,且在密钥管理请求对应一专属kms时,则基于密钥元数据确定与密钥管理请求相对应的专属kms。
192.在一些实例中,本实施例中的第一处理模块13用于执行以下步骤:在预设时间段内,统计同一请求端所发送的密钥管理请求的数量;在数量超过预设阈值时,则将请求端发送的密钥管理请求的数量限缩为预设阈值。
193.图9所示密钥管理服务网关可以执行图5-图7所示实施例的方法,本实施例未详细描述的部分,可参考对图5-图7所示实施例的相关说明。该技术方案的执行过程和技术效果参见图5-图7所示实施例中的描述,在此不再赘述。
194.在一个可能的设计中,图9所示密钥管理服务网关的结构可实现为一电子设备,该电子设备可以集成在客户端、手机端、平板电脑、台式电脑等设备中。如图10所示,该电子设备可以包括:第一处理器21和第一存储器22。其中,第一存储器22用于存储相对应电子设备执行上述图5-图7所示实施例中提供的密钥管理方法的程序,第一处理器21被配置为用于执行第一存储器22中存储的程序。
195.程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第一处理器21执行时能够实现如下步骤:获取密钥管理请求;通过共享kms识别密钥管理请求是否对应一专属kms;在密钥管理请求对应一专属kms时,则将密钥管理请求转发至所对应的专属kms。
196.进一步的,第一处理器21还用于执行前述图5-图7所示实施例中的全部或部分步骤。
197.其中,电子设备的结构中还可以包括第一通信接口23,用于电子设备与其他设备或通信网络通信。
198.另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图5-图7所示方法实施例中的密钥管理方法所涉及的程序。
199.此外,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行图5-图7所示方法实施例中的密钥管理方法。
200.图11为本发明实施例提供的一种专属密钥管理服务设备的结构示意图;参考附图11所示,本实施例提供了一种专属密钥管理服务设备,专属密钥管理服务设备通信连接有密钥管理服务kms网关,具体的,该专属密钥管理服务设备用于执行上述图8所示的密钥管理方法,该专属密钥管理服务设备可以包括:
201.第二获取模块31,用于接收kms网关发送的密钥管理请求;
202.第二调用模块32,用于基于密钥管理请求调用与专属kms相对应的专属密码机资源池;
203.第二处理模块33,用于利用专属密码机资源池进行密钥管理操作。
204.在一些实例中,专属kms通信连接有专有网络的专有网关;本实施例中的第二获取模块31、第二调用模块32和第二处理模块33分别用于执行以下步骤:
205.第二获取模块31,用于通过专有网关获取数据加解密请求;
206.第二调用模块32,用于基于数据加解密请求,调用专属密码机资源池生成与数据加解密请求相对应的数据密钥;
207.第二处理模块33,用于基于数据密钥进行数据的加解密操作。
208.在一些实例中,本实施例中的第二获取模块31和第二处理模块33分别用于执行以下步骤:
209.第二获取模块31,用于获取用户输入的与专属kms相对应的凭证配置信息;
210.第二处理模块33,用于基于凭证配置信息,生成与专属kms相对应的授权凭证;对授权凭证进行保存,以对数据加解密请求或者密钥管理请求进行合法性识别。
211.在一些实例中,在专属kms接收密钥管理请求之前,本实施例中的第二获取模块31和第二处理模块33分别用于执行以下步骤:
212.第二获取模块31,用于获取用户输入的专属密码机资源池的配置信息;
213.第二处理模块33,用于基于配置信息,生成专属密码机资源池。
214.图11所示装置可以执行图8所示实施例的方法,本实施例未详细描述的部分,可参考对图8所示实施例的相关说明。该技术方案的执行过程和技术效果参见图8所示实施例中的描述,在此不再赘述。
215.在一个可能的设计中,图11所示专属密钥管理服务设备的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图12所示,该电子设备可以包括:第二处理器41和第二存储器42。其中,第二存储器42用于存储相对应电子设备执行上述图8所示实施例中密钥管理方法的程序,第二处理器41被配置为用于执行第二存储器42中存储的程序。
216.程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第二处理器41执行时能够实现如下步骤:接收kms网关发送的密钥管理请求;基于密钥管理请求调用与专属kms相对应的专属密码机资源池;利用专属密码机资源池进行密钥管理操作。
217.进一步的,第二处理器41还用于执行前述图8所示实施例中的全部或部分步骤。
218.其中,电子设备的结构中还可以包括第二通信接口43,用于电子设备与其他设备或通信网络通信。
219.另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图8所示方法实施例中的密钥管理方法所涉及的程序。
220.此外,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行图8所示方法实施例中的密钥管理方法。
221.图13为本发明另一实施例提供的一种密钥管理方法的流程示意图;参考附图13所示,本实施例提供了一种密钥管理方法,该密钥管理方法的执行主体为密钥管理装置,其具体可以实现为共享密钥管理服务kms,即该方法可以应用于共享密钥管理服务kms,其中,共享kms通信连接有kms网关;具体的,本实施例中的密钥管理方法可以包括:
222.步骤s1301:通过kms网关获取密钥管理请求。
223.步骤s1302:确定与所述密钥管理请求相对应的用户主密钥。
224.步骤s1303:将所述用户主密钥发送至所述kms网关,以使所述kms网关基于所述用户主密钥识别所述密钥管理请求是否对应一专属kms。
225.在用户存在密钥管理需求时,为了能够准确地实现密钥管理操作,所有的密钥管理请求均需要发送至共享kms处进行处理,具体的,可以通过kms网关向共享kms发送密钥管理请求,从而使得共享kms通过kms网关获取到密钥管理请求。在共享kms获取到密钥管理请求之后,可以调用共享密码机资源池建立与密钥管理请求相对应的用户主密钥(customer master key,简称cmk),该用户主密钥是一种密钥加密密钥,主要用于加密并保护数据加密密钥。在建立与密钥管理请求相对应的用户主密钥之后,为了方便用户对用户主密钥进行调用、查看和使用操作,可以将用户主密钥存储在共享kms中的共享数据库中,同时可以将用户主密钥发送至kms网关,以使得kms网关可以基于用户主密钥识别密钥管理请求是否对应一专属kms。具体的,在kms网关获取到用户主密钥之后,可以对用户主密钥进行分析处
理,以识别密钥管理请求是否对应一专属kms。
226.本实施例中通过共享kms识别密钥管理请求是否对应一专属kms的具体实现过程与上述图2-图4所对应的系统所能够实现的通过共享kms识别密钥管理请求是否对应一专属kms的具体实现过程相类似,具体可参考上述陈述内容,再次不再赘述。
227.图14为本发明实施例提供的一种共享密钥管理服务设备的结构示意图;参考附图14所示,本实施例提供了一种共享密钥管理服务设备,具体实现时,该共享密钥管理服务设备实现为共享kms,并且,共享密钥管理服务设备通信连接有密钥管理服务kms网关,具体的,该专属密钥管理服务设备用于执行上述图13所示的密钥管理方法,该专属密钥管理服务设备可以包括:
228.第三获取模块51,用于通过kms网关获取密钥管理请求;
229.第三确定模块52,用于确定与所述密钥管理请求相对应的用户主密钥;
230.第三处理模块53,用于将所述用户主密钥发送至所述kms网关,以使所述kms网关基于所述用户主密钥识别所述密钥管理请求是否对应一专属kms。
231.图14所示设备可以执行图13所示实施例的方法,本实施例未详细描述的部分,可参考对图13所示实施例的相关说明。该技术方案的执行过程和技术效果参见图13所示实施例中的描述,在此不再赘述。
232.在一个可能的设计中,图14所示共享密钥管理服务设备的结构可实现为一电子设备,该电子设备可以是手机、平板电脑、服务器等各种设备。如图15所示,该电子设备可以包括:第三处理器61和第三存储器62。其中,第三存储器62用于存储相对应电子设备执行上述图13所示实施例中密钥管理方法的程序,第三处理器61被配置为用于执行第三存储器62中存储的程序。
233.程序包括一条或多条计算机指令,其中,一条或多条计算机指令被第三处理器61执行时能够实现如下步骤:通过kms网关获取密钥管理请求;确定与所述密钥管理请求相对应的用户主密钥;将所述用户主密钥发送至所述kms网关,以使所述kms网关基于所述用户主密钥识别所述密钥管理请求是否对应一专属kms。
234.进一步的,第三处理器61还用于执行前述图13所示实施例中的全部或部分步骤。
235.其中,电子设备的结构中还可以包括第三通信接口63,用于电子设备与其他设备或通信网络通信。
236.另外,本发明实施例提供了一种计算机存储介质,用于储存电子设备所用的计算机软件指令,其包含用于执行上述图13所示方法实施例中的密钥管理方法所涉及的程序。
237.此外,本发明实施例提供了一种计算机程序产品,包括:计算机程序,当计算机程序被电子设备的处理器执行时,使处理器执行图13所示方法实施例中的密钥管理方法。
238.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
239.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实
现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
240.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
241.这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
242.这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
243.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
244.内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
245.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
246.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1