CN115664662A - 一种密钥处理方法及装置 - Google Patents
一种密钥处理方法及装置 Download PDFInfo
- Publication number
- CN115664662A CN115664662A CN202211381898.2A CN202211381898A CN115664662A CN 115664662 A CN115664662 A CN 115664662A CN 202211381898 A CN202211381898 A CN 202211381898A CN 115664662 A CN115664662 A CN 115664662A
- Authority
- CN
- China
- Prior art keywords
- key
- server
- spare
- target
- database
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种密钥处理方法及装置,所述方法包括:接收密钥业务应用通过负载均衡器发送的密钥申请请求;根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用。本发明的方案可以在高并发场景下能保持***的稳定性。
Description
技术领域
本发明涉及计算机信息处理技术领域,特别是指一种密钥处理方法及装置。
背景技术
随着信息技术的不断发展,网络安全越来越重要,而密码技术又是网络安全的核心与基础。密码技术的使用过程中,需要密钥服务器的支持。根据国密局发布的相关标准,标准密钥管理***已然成熟。
然而,随着安全需求的增长,传统密钥管理***暴露出了如下问题:无法支持较高数量的并发;密钥库数量受到千万级的限制;无法支持总中心及分中心的多区域安全分布式部署。
发明内容
本发明要解决的技术问题是如何提供一种密钥处理方法及装置。可以在高并发场景下能保持***的稳定性。
为解决上述技术问题,本发明的技术方案如下:
一种密钥处理方法,应用于密钥服务器,所述方法包括:
接收密钥业务应用通过负载均衡器发送的密钥申请请求;
根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;
将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;
接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;
根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用。
可选的,所述密钥数据库服务器包括:至少一个备用密钥表以及至少一个在用密钥表;
其中,所述至少一个备用密钥表中存储有备用密钥。
可选的,所述备用密钥存储于备用密钥表中的过程包括:
生成备用密钥;
计算备用密钥标识;
计算所述备用密钥标识的哈希值;
使用所述哈希值对所述至少一个备用密钥表的个数取模得到第一值;
将备用密钥存储至索引为第一值的目标备用密钥表中。
可选的,根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,包括:
获取要查询的密钥标识;
计算密钥标识的哈希值;
使用所述哈希值对所述至少一个在用密钥表的个数取模得到第二值;
从索引为第二值的在用密钥表中读取所述目标密钥。
可选的,所述密钥数据库服务器包括:至少一个密钥数据库,所述密钥数据库包括一个备用密钥表和一个在用密钥表;其中,所述备用密钥表中存储有备用密钥。
可选的,所述备用密钥存储于密钥数据库中的过程包括:
生成备用密钥;
计算备用密钥标识;
计算所述备用密钥标识的哈希值;
使用所述哈希值对所述密钥数据库的个数取模得到第三值;
将备用密钥存储至索引为第三值的目标密钥数据库中。
可选的,根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,包括:
获取要查询的密钥标识;
计算密钥标识的哈希值;
使用所述哈希值对所述至少一个密钥数据库的个数取模得到第四值;
从索引为第四值的密钥数据库中的在用密钥表中读取所述目标密钥。
可选的,密钥处理方法,还包括:
接收分中心密钥服务器发送的安全通道建立请求,所述安全通道建立请求携带有:
对生成的第一随机数使用所述密钥服务器的加密公钥证书对第一随机数进行加密,并使用所述分中心密钥服务器的签名私钥对第一随机数进行签名,得到的第一签名数据;
密钥服务器使用自己的私钥,对所述第一签名数据进行解密,并使用所述分中心密钥服务器的公钥对第一签名数据进行验签,验签通过后,向所述分中心密钥服务器发送安全通道建立响应,所述安全通道响应携带所述密钥服务器生成的第二随机数;
所述密钥服务器和所述分中心密钥服务器分别根据第一随机数与第二随机数异或得到会话密钥;
所述密钥服务器与分中心密钥服务器基于所述会话密钥进行传输数据。
本发明的实施例还提供一种密钥处理装置,包括:
收发模块,用于接收密钥业务应用通过负载均衡器发送的密钥申请请求;
处理模块,用于根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;
所述收发模块还用于接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用。
本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案通过接收密钥业务应用通过负载均衡器发送的密钥申请请求;根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用;可以支持高并发的密钥业务请求,在高并发场景下能保持***的稳定性。
附图说明
图1是本发明实施例的密钥处理方法的流程示意图;
图2是本发明实施例的面向高并发场景的Nginx部署架构示意图;
图3是本发明实施例的密钥数据库分表结构示意图;
图4是本发明实施例的备用密钥生成存储定位表流程示意图;
图5是本发明实施例的在用密钥表读取定位表流程示意图;
图6是本发明实施例的密钥数据库分库结构示意图;
图7是本发明实施例的备用密钥生成存储定位密钥数据库流程示意图;
图8是本发明实施例的在用密钥表读取定位数据库流程示意图;
图9是本发明实施例的密钥分级管理结构示意图;
图10是本发明实施例的密钥管理***总中心和分中心安全通道建立过程示意图;
图11是本发明实施例的密钥服务器的软件架构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提供一种密钥处理方法,应用于密钥服务器,所述方法包括:
步骤11,接收密钥业务应用通过负载均衡器发送的密钥申请请求;
步骤12,根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;
步骤13,将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;
步骤14,接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;
步骤15,根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用。
该实施例通过负载均衡器将密钥业务应用发送的密钥申请请求转发至密钥数据库服务器;根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;这里,密钥数据库服务器与密钥服务器通信连接;将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用;可以支持高并发的密钥业务请求,在高并发场景下能保持***的稳定性。
如图2所示,密钥业务应用、负载均衡器和密钥服务器之间的***架构,采用密钥管理***集群的方式来提高瞬时的高并发数据请求。
高并发场景的密钥处理机制可选用Nginx软件作为前端的负载均衡器:Nginx负载均衡器203的作用是将高并发的请求根据一定策略分流到其代理的密钥管理***,减轻密钥服务器的请求数据处理压力。
在高并发场景中,密钥业务应用201、密钥业务应用202发送密钥数据请求报文至端Nginx负载均衡器203;
Nginx负载均衡器203代理了整个密钥管理***服务器集群204,收到密钥业务应用201、密钥业务应用202发送的密钥申请请求报文后,开始处理请求报文;
Nginx负载均衡器203查询自身的负载均衡策略,根据负载均衡策略从密钥管理***服务器集204群中选择一台密钥服务器,可能是密钥服务器205-207三台中的任意一台密钥服务器;
选择好密钥服务器后,Nginx负载均衡器203将所密钥业务应用端发送过来的数据报文转发给所选定的密钥服务器;
密钥服务器接收到Nginx负载均衡器203转发的数据报文后,开始进行报文的解析;
如果报文信息格式正确,密钥服务器开始进行业务逻辑处理。否则,将指定的错误信息返回给密钥业务应用;
在报文信息格式无误的情况下,密钥服务器开始处理接收到的数据报文。
根据数据报文解析到的数据,查询备用密钥库里的信息,从密钥服务器备用库里取出指定数量符合条件的密钥转移到密钥服务器的在用库,并与发送请求的密钥业务应用标识进行绑定。
业务逻辑处理完成后,将上述移库的密钥进行数据格式报文封装,将封装后报文直接返回给密钥业务应用。至此,高并发场景下的完整请求-响应逻辑。高并发场景的密钥处理机制可选用硬件作为前端的负载均衡器。
如图3所示,本发明的一可选的实施例中,所述密钥数据库服务器包括:至少一个备用密钥表以及至少一个在用密钥表;其中,所述至少一个备用密钥表中存储有备用密钥。
该实施例中,采用一种将多个相同表结构的表存储多个,将密钥数据水平分散在不同的表中,从而增大密钥数据的存储量,而且也不会受到单表性能的影响。
在一个数据库中,可将一个表水平拆分为N个相同表结构的表。当N为1024时,以每个表1000万数据容量来计算,该类型表结构可存储的数据将达到100亿以上,极大的扩充了密钥容量;该实施例中,备用密钥表和在用密钥表的个数相同。
该实施例中,所述备用密钥存储于备用密钥表中的过程包括:
步骤41,生成备用密钥;
步骤42,计算备用密钥标识;
步骤43,计算所述备用密钥标识的哈希值;
步骤44,使用所述哈希值对所述至少一个备用密钥表的个数取模得到第一值n1;
步骤45,将备用密钥存储至索引为第一值n1的目标备用密钥表中。
该实施例中,密钥服务器可以通过连接密钥数据库服务器,来获取密钥数据库的密钥数据。由于多个相同的表结构,密钥服务器将生成的密钥存储到密钥数据库,会定位到在存入到N个表中的具体一个表中。以及密钥服务器从密钥数据库读取密钥数据时,会定位到具体从N个表中的哪一个表读取数据。
如图4所示,该实施例中,以备用密钥生成后存储到数据库定位到具体表过程为例,具体步骤如下:
步骤401,密钥服务器生成备用密钥;
步骤402,计算备用密钥标识UUID;
步骤403,计算UUID的hashCode值;
步骤404,使用计算出的hashCode值对水平分表个数取模得到n1;
步骤405,得到n1即为具体定位到的表。
定位到具体表后,可以对该表n1进行数据操作,将备用密钥数据存储至该表中。
本发明的一可选的实施例中,步骤15可以包括:
步骤151,获取要查询的密钥标识;
步骤152,计算密钥标识的哈希值;
步骤153,使用所述哈希值对所述至少一个在用密钥表的个数取模得到第二值n2;
步骤154,从索引为第二值n2的在用密钥表中读取所述目标密钥。
具体地,如图5所示,以读取在用库密钥定位数据库具体表过程为例,具体步骤如下:
步骤501,密钥服务器接收来自密钥业务应用的密钥查询请求,请求信息中携带了要查询的密钥标识UUID;
步骤502,计算UUID的hashCode值;
步骤503,使用计算出的hashCode值对水平分表个灵敏取模得到n2;
步骤504,得到的n2即为具体定位的表。
定位到具体表后,密钥服务器可以对该表n2进行操作,根据密钥标识UUID读对应的密钥数据。
如图6所示,所述密钥数据库服务器包括:至少一个密钥数据库,所述密钥数据库包括一个备用密钥表和一个在用密钥表;其中,所述备用密钥表中存储有备用密钥。
该实施例中,采用将密钥数据库水平拆分为多个结构相同的密钥数据库,实现将密钥数据水平分散在不同的密钥数据库中,从而增大密钥数据的存储量,而且也不会受到单库性能的影响。
在密钥数据数据库方面,可将一个密钥数据库水平拆分为N个相同结构的数据库。当N为1024时,以每个库1000万数据容量来计算,该类型表结构可存储的数据将达到100亿以上,极大的扩充了密钥容量。
该实施例中,所述备用密钥存储于密钥数据库中的过程包括:
步骤71,生成备用密钥;
步骤72,计算备用密钥标识;
步骤73,计算所述备用密钥标识的哈希值;
步骤74,使用所述哈希值对所述密钥数据库的个数取模得到第三值n3;
步骤75,将备用密钥存储至索引为第三值n3的目标密钥数据库中。
具体地,如图7所示,密钥服务器可以通过连接密钥数据库服务器来获取密钥数据库的密钥数据。由于有多个相同结构的数据库,密钥服务器将生成的密钥存储到密钥数据库,会定位到在存入到N个数据库中的具体一个数据库中。以及密钥服务器从密钥数据库读取密钥数据时,会定位到具体从N个数据库中的具体一个数据库中读取数据。
如图7所示,以备用密钥生成后存储到数据库定位到具体数据库过程为例,具体步骤如下:
步骤701,密钥服务器生成备用密钥;
步骤702,计算备用密钥标识UUID;
步骤703,计算UUID的hashCode值;
步骤704,使用计算出的hashCode值对水平分库个数取模得到第三值n3;
步骤705,得到n3,即为具体定位到的密钥数据库n3。
定位到具体表后,可以对数据库n3进行数据操作,将备用密钥数据存储至该数据库中。如果库中又进行了分表,继续采用分表定位技术再定位到具体的表。
本发明的一可选的实施例中,步骤15可以包括:
步骤155,获取要查询的密钥标识;
步骤156,计算密钥标识的哈希值;
步骤157,使用所述哈希值对所述至少一个密钥数据库的个数取模得到第四值n4;
步骤158,从索引为第四值n4的密钥数据库中的在用密钥表中读取所述目标密钥。
具体的,如图8所示,以读取在用库密钥定位具体数据库过程为例,具体步骤如下:
步骤801,密钥服务器接收来自密钥业务应用的密钥查询请求,请求信息中携带了要查询的密钥的标识UUID;
步骤802,计算UUID的hashCode值;
步骤803,使用计算出的hashCode值对水平分库个数取模得到n4;
步骤804,得到的n4即为具体定位的密钥数据库。定位到具体密钥数据库后,密钥管理***服务器可以对该密钥数据库n4进行操作。
如果数据库中又进行了分表,继续采用分表定位技术定位到具体的表。然后根据密钥标识UUID读对应的密钥数据。
每台密钥服务器所连接的数据库,可采用图3所示水平分表的数据库结构,也可采用图6所示水平分库的数据库结构,如果需要支持更大的密钥容量,可以采用分表、分库两种结构组合使用的模式。
本发明的一可选的实施例中,密钥处理方法,还包括:
步骤16,接收分中心密钥服务器发送的安全通道建立请求,所述安全通道建立请求携带有:对生成的随机数randomA使用所述密钥服务器的加密公钥证书对randomA进行加密,并使用所述分中心密钥服务器的签名私钥对randomA进行签名,得到的第一签名数据;
步骤17,密钥服务器使用自己的私钥,对所述第一签名数据进行解密,并使用所述分中心密钥服务器的公钥对第一签名数据进行验签,验签通过后,向所述分中心密钥服务器发送安全通道建立响应,所述安全通道响应携带所述密钥服务器生成的随机数randomB;
步骤18,所述密钥服务器和所述分中心密钥服务器分别根据randomA与randomB异或得到会话密钥K;
步骤19,所述密钥服务器与分中心密钥服务器基于所述会话密钥K进行传输数据。
具体地,如图9所示,一种密钥分级管理、多安全域控制,密钥管理***可以支持总中心和分中心的密钥分级管理,从而达到多安全域分别控制,提高了安全性。
密钥分级管理采用总中心和分中心物理隔离的部署模式,各中心采用各自的安全策略。中心之间通过安全通道连接。
密钥服务器初始化的时候可以选择初始化为总中心还是分中心。初始化为总中心密钥服务器的过程包括:
(1)填写总中心密钥服务器的基本信息,包括总中心密钥服务器名称、物理位置、所属区域等;
(2)上传总中心密钥服务器加密公钥证书和签名公钥证书;
(3)配置安全策略,其中包括是否允许分中心密钥服务器进行连接;
分中心密钥服务器初始化的过程包括:
(1)填写分中心密钥服务器的基本信息,包括分中心密钥服务器名称、物理益、所属区域等;
(2)选择该分中心密钥服务器所属的总中心密钥服务器;
(3)上传分中心密钥服务器的加密公钥证书和签名公钥证书;
(4)配置安全策略;
总中心密钥服务器和分中心密钥服务器分别配置完成后,总中心密钥服务器和分中心密钥服务器之间可以进行通信。它们之间的通信数据是通过安全通道进行传输的。
图10示出了分中心密钥服务器和总中心密钥服务器之间建立安全通道的过程:
(1)分中心密钥服务器A生成第一随机数randomA;
(2)分中心密钥服务器A使用总中心密钥服务器B的加密公钥证书对randomA进行加密,并使用自己的签名私钥对randomA进行签名。
(3)分中心密钥服务器A将加密的数据和签名后的数据拼接后发送给总中心密钥服务器B;
(4)总中心密钥服务器B接收到数据后,使用自己的私钥进行解密,并用分中心密钥服务器A的公钥对签名数据进行验签。
验签通过则继续,否则返回错误信息;
(5)总中心密钥服务器B生成第二随机数randomB,并将randomA与randomB异或得到会话密钥K;
(6)总中心密钥服务器B使用分中心密钥服务器A的加密公钥证书对randomB进行加密,并使用自己的签名私钥对randomB进行签名;
(7)总中心密钥服务器B将加密的数据和签名后的数据拼接后发送给分中心密钥服务器A;
(8)分中心密钥服务器A接收到数据后,使用自己的私钥对数据进行解密,并用总中心密钥服务器B的公钥对签名数据进行验签。验签通过则继续,否则返回错误信息;
(9)分中心密钥服务器A将自己生成randomA与解密得到randomB异或得到会话密钥K。
(10)至此,分中心密钥服务器A与总中心密钥服务器B都生成相同的会话密钥K,安全通道建立完成。
分中心密钥服务器和总中心密钥服务器安全通道建立完成后,将能够进行安全通信。安全通道是有时间限制的,当达到安全策略设定的时候后安全通道将失效。再次进行通信时,需要在通信前再次建立安全通道,然后才可以进行正常通信。
如图11所示:上述密钥服务器11还具有以下至少一种功能模块,
用户管理模块:提供了密钥***中所有管理用户信息的维护与管理。包括管理用户的角色及角色的权限管理与维护。用户只有赋予相关的角色后才能够登陆访问进入密钥管理***,并且只能访问已被授权访问的资源,权限的分隔保证了数据和业务的安全性。用户角色权限登陆时的授权与鉴权由身份认证模块提供。
身份认证模块:身份认证模块提供了对接入应用的权限管理,包括对应用授权与鉴权,提供整个密钥管理***管理用户登陆的时的授权与鉴权,保证只有合法的管理用户才能访问自己被授权的密钥管理***资源。身份认证模块是整个密钥管理***中核心模块之一,起到了整个密钥管理***资源安全的防护的作用。
密钥应用管理模块:密钥应用管理模块提供整个密钥服务器中接入的密钥业务应用的信息的维护与管理。其操作包括应用添加、应用删除、应用冻结及应用授权。密钥服务器中可以接入多个密钥业务应用,为多个密钥业务应用提供密钥生成服务。
密钥管理模块:密钥管理模块用于对称密钥和非对称密钥信息的操作与维护。其操作包括密钥生成、密钥吊销、密钥销毁、密钥导入、密钥导出、密钥备份、密钥重启、密钥归档及密钥恢复。密钥的使用和存储的安全性是至关重要的。密钥的生成是由硬件密码卡生成的,保证了密钥生成的随机性。
密钥服务器中会由硬件密码卡生成一个主密钥,并使用硬件密码卡内的密钥对进行加密,密码卡内的用户密钥对无法导出密码卡之外的存储位置,此举保证了密钥管理***中***主密钥的安全性。
密钥服务器中生成的对称密钥及非对称密钥私钥通过密钥服务器的主密钥进行加密后,存储在密钥服务器的数据库上,密钥的加密存储保证了密钥的安全性,同时在密钥数据库中,对每条密钥进行了MAC值校验,可以防止出现未经授权的密钥数据修改现象发生并及时发现问题密钥。
日志审计模块:日志审计模块也是密钥管理***中的重要功能,其操作包括业务日志审计、操作日志审计。有权限的操作员通过对日志的审计,可以及时发现密钥管理***中可能存在的异常安全操作,并做出相应的安全处理。
数据库模块:数据库子模块提供整个密钥管理***中所有数据的存储操作,其存储包括***主密钥信息、应用密钥信息、密钥业务应用信息、用户信息、***配置信息以及安全审计日志。其中密钥信息都是以加密的形式在密钥数据库中进行安全存储的。
本发明的上述实施例中,密钥全生命周期管理,包括有:
初始化:当密钥生成后,密钥元数据中仅包含通用属性,如密钥ID,生成时间,密钥设备标识、生成装置设备标识等。
启用:当用户选择保护型任务(加密)时,***会自动为没有密钥的用户分配一个处于同步状态的密钥,并将用户信息、任务信息、发起人有效期、接收人有效期、相关算法等补充至密钥元数据中。当密钥到达此状态时,密钥开始计算发起人有效期。
停用:当密钥的接收者有效期终结时,密钥会相应进入此状态。处于此状态的密钥不再对用户开放使用。
吊销:密钥管理***管理员有可能针对安全事件吊销密钥,在此状态的密钥无法被调用。通过特殊程序,管理员可以根据用户需求短时间内再次启用此密钥。
归档:***每隔一段时间会将停用状态的密钥数据导出、压缩保存,仅保留基本的信息,如密钥ID,所有者,归档时间等。通过特殊程序,管理员可以根据用户需求短时间内再次启用此密钥。
删除:当用户执行销毁密钥操作时,密钥会进入此状态。在此状态下的密钥对用户不可见,但***不会对密钥进行任何操作。用户可以通过密钥管理***管理员找回此密钥。
销毁:当密钥处于删除状态满N天后,***会对密钥进行销毁操作,被销毁的密钥无法找回。N见具体配置。
(1)密钥生成,密钥生成分为手动生成密钥和自动生成密钥两种模式。其中手动生成密钥需要选定使用的密钥类型、生成密钥数量;自动生成密钥分为根据阈值生成和定时触发生成,阈值生成是指***检测到数据库备用表中密钥数量低于阈值时触发自动生成密钥,定时触发生成是指根据***设定的定时器时间触发自动生成密钥,以上两种自动生成密钥方式都需要设定相关策略,包括密钥数量阈值等参数。生成的密钥将密文存储本地备用数据库中。
(2)密钥启用,密钥启用是将备用库中的密钥(从生产出来待够指定的时间)移动到在用库并和用户请求信息绑定后开始的。
(3)丢失泄密处理,当密钥已经发生泄露时,将立即停止该密钥的安全使用。包括加解密以及签名验签等功能;此时***将该密钥从在用密钥库移至历史密钥库并将密钥标记为吊销状态,并附加吊销原因。
(4)密钥查询,对密钥提供查询功能,其参数包括生成时间、密钥类型等。
当查询历史库的密钥时,可在***输入密钥属性关键字查询密钥,查询到密钥支持密钥申请恢复操作,申请重启过期密钥的使用时长可根据集群策略中历史密钥重启使用时间来提供密钥解密、验签操作,过期不可使用。
(5)密钥备份/恢复,本***可以采用数据库操作的方式来完成密钥的备份与恢复。
(6)密钥销毁/删除,根据密钥类型的不同,销毁方式也不相同。在密钥销毁前,必须对发起密钥操作的密钥管理员进行再次身份认证,确保操作被正确执行,防止非法以及误操作产生。确认后,密钥管理***会要求业务管理员输入销毁原因,用于记录审计日志。***作的密钥数据状态将先转换为“预销毁”状态。另外,密钥管理***还为管理员用户提供了可以撤销处于“预销毁”状态的密钥数据,为管理员用户误操作提供了及时还原的处理。当密钥的“预销毁”状态结束时,密钥管理***会对此密钥的密文值进行销毁操作并将其移入历史密钥库中。
(7)密钥归档,密钥归档主要用于将历史密钥库中的、符合筛选条件的密钥进行导出归档,导出后以文件转移至本地进行存储;密钥归档属性包括:密钥起止时间、密钥归档时间等属性。
本发明的实施例中,密钥服务器完成了对密钥全生命周期的管理。通过负载均衡的架构模式,实现了在高并发场景的下稳定性和高可用性的性能保证。
通过数据库的水平分库分表技术,以及密钥服务器的对数据库的寻库寻表技术实现对数据的准确定位,使用得密钥管理***可以支持百亿乃至千亿级的密钥容量存储,在信息安全密钥使用越来越多的场景中,可以满足越来越大的密钥使用需求。
本发明中的密钥服务器总中心和分中心分分别部署,各中在物理上的隔离,实现了密钥的分级管理。密钥管理总中心和分中心之间通过安全通道进行数据通信,各上心形成多安全域,各安全域相互隔离互不影响,提高整个密钥管理***的安全性。
本发明的实施例还提供一种密钥处理装置,包括:
收发模块,用于接收密钥业务应用通过负载均衡器发送的密钥申请请求;
处理模块,用于根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;
所述收发模块还用于接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用。
可选的,所述密钥数据库服务器包括:至少一个备用密钥表以及至少一个在用密钥表;
其中,所述至少一个备用密钥表中存储有备用密钥。
可选的,所述备用密钥存储于备用密钥表中的过程包括:
生成备用密钥;
计算备用密钥标识;
计算所述备用密钥标识的哈希值;
使用所述哈希值对所述至少一个备用密钥表的个数取模得到n1;
将备用密钥存储至目标备用密钥表n1中。
可选的,根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,包括:
获取要查询的密钥标识;
计算密钥标识的哈希值;
使用所述哈希值对所述至少一个在用密钥表的个数取模得到n2;
从在用密钥表n2中读取所述目标密钥。
可选的,所述密钥数据库服务器包括:至少一个密钥数据库,所述密钥数据库包括一个备用密钥表和一个在用密钥表;其中,所述备用密钥表中存储有备用密钥。
可选的,所述备用密钥存储于密钥数据库中的过程包括:
生成备用密钥;
计算备用密钥标识;
计算所述备用密钥标识的哈希值;
使用所述哈希值对所述密钥数据库的个数取模得到n3;
将备用密钥存储至目标密钥数据库n3中。
可选的,根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,包括:
获取要查询的密钥标识;
计算密钥标识的哈希值;
使用所述哈希值对所述至少一个密钥数据库的个数取模得到n4;
从密钥数据库n4中的在用密钥表中读取所述目标密钥。
可选的,所述收发模块还用于接收密钥服务器分中心发送的安全通道建立请求,所述安全通道建立请求携带有:对生成的随机数randomA使用所述密钥服务器的加密公钥证书对randomA进行加密,并使用所述分中心密钥服务器的签名私钥对randomA进行签名,得到的第一签名数据;
密钥服务器使用自己的私钥,对所述第一签名数据进行解密,并使用所述分中心密钥服务器的公钥对第一签名数据进行验签,验签通过后,向所述分中心密钥服务器发送安全通道建立响应,所述安全通道响应携带所述密钥服务器生成的随机数randomB;
所述密钥服务器和所述分中心密钥服务器分别根据randomA与randomB异或得到会话密钥K;
所述密钥服务器与分中心密钥服务器基于所述会话密钥K进行传输数据。
需要说明的是,该装置是与上述密钥服务器侧的方法对应的装置,上述各方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本发明的实施例还提供一种计算设备,包括:处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如上所述的方法的步骤。该计算设备可以是上述密钥服务器。本发明的实施例中,分中心密钥服务器和总中心密钥服务器是相同的密钥服务器,均可以为上述密钥服务器。
本发明的实施例还提供一种计算机可读存储介质,存储指令,当所述指令在计算机上运行时,使得计算机执行如上所述的方法。上述各方法实施例中的所有实现方式均适用于该实施例中,也能达到相同的技术效果。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
此外,需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行,某些步骤可以并行或彼此独立地执行。对本领域的普通技术人员而言,能够理解本发明的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可 以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种密钥处理方法,其特征在于,应用于密钥服务器,所述方法包括:
接收密钥业务应用通过负载均衡器发送的密钥申请请求;
根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;
将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;
接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;
根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用。
2.根据权利要求1所述的密钥处理方法,其特征在于,所述密钥数据库服务器包括:至少一个备用密钥表以及至少一个在用密钥表;
其中,所述至少一个备用密钥表中存储有备用密钥。
3.根据权利要求2所述的密钥处理方法,其特征在于,所述备用密钥存储于备用密钥表中的过程包括:
生成备用密钥;
计算备用密钥标识;
计算所述备用密钥标识的哈希值;
使用所述哈希值对所述至少一个备用密钥表的个数取模得到第一值;
将备用密钥存储至索引为第一值的目标备用密钥表中。
4.根据权利要求2所述的密钥处理方法,其特征在于,根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,包括:
获取要查询的密钥标识;
计算密钥标识的哈希值;
使用所述哈希值对所述至少一个在用密钥表的个数取模得到第二值;
从索引为第二值的在用密钥表中读取所述目标密钥。
5.根据权利要求2所述的密钥处理方法,其特征在于,所述密钥数据库服务器包括:至少一个密钥数据库,所述密钥数据库包括一个备用密钥表和一个在用密钥表;其中,所述备用密钥表中存储有备用密钥。
6.根据权利要求2所述的密钥处理方法,其特征在于,所述备用密钥存储于密钥数据库中的过程包括:
生成备用密钥;
计算备用密钥标识;
计算所述备用密钥标识的哈希值;
使用所述哈希值对所述密钥数据库的个数取模得到第三值;
将备用密钥存储至索引为第三值的目标密钥数据库中。
7.根据权利要求5所述的密钥处理方法,其特征在于,根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,包括:
获取要查询的密钥标识;
计算密钥标识的哈希值;
使用所述哈希值对所述至少一个密钥数据库的个数取模得到第四值;
从索引为第四值的密钥数据库中的在用密钥表中读取所述目标密钥。
8.根据权利要求1所述的密钥处理方法,其特征在于,还包括:
接收分中心密钥服务器发送的安全通道建立请求,所述安全通道建立请求携带有:对生成的第一随机数使用所述密钥服务器的加密公钥证书对第一随机数进行加密,并使用所述分中心密钥服务器的签名私钥对第一随机数进行签名,得到的第一签名数据;
密钥服务器使用自己的私钥,对所述第一签名数据进行解密,并使用所述分中心密钥服务器的公钥对第一签名数据进行验签,验签通过后,向所述分中心密钥服务器发送安全通道建立响应,所述安全通道响应携带所述密钥服务器生成的第二随机数;
所述密钥服务器和所述分中心密钥服务器分别根据第一随机数与第二随机数异或得到会话密钥;
所述密钥服务器与分中心密钥服务器基于所述会话密钥进行传输数据。
9.一种密钥处理装置,其特征在于,包括:
收发模块,用于接收密钥业务应用通过负载均衡器发送的密钥申请请求;
处理模块,用于根据所述密钥申请请求,从密钥数据库服务器的备用密钥表中获得目标密钥;将所述目标密钥转移至在用密钥表中,并与所述密钥业务应用绑定;
所述收发模块还用于接收所述密钥业务应用通过所述负载均衡器发送的密钥查询请求;根据所述密钥查询请求,从所述在用密钥表中获得所述目标密钥,并将所述目标密钥,通过所述负载均衡器发送至所述密钥业务应用。
10.一种计算机可读存储介质,其特征在于,存储指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211381898.2A CN115664662B (zh) | 2022-11-07 | 2022-11-07 | 一种密钥处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211381898.2A CN115664662B (zh) | 2022-11-07 | 2022-11-07 | 一种密钥处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115664662A true CN115664662A (zh) | 2023-01-31 |
CN115664662B CN115664662B (zh) | 2023-06-02 |
Family
ID=85015273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211381898.2A Active CN115664662B (zh) | 2022-11-07 | 2022-11-07 | 一种密钥处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664662B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9838482B1 (en) * | 2014-12-18 | 2017-12-05 | Amazon Technologies, Inc. | Maintaining client/server session affinity through load balancers |
CN107508686A (zh) * | 2017-10-18 | 2017-12-22 | 克洛斯比尔有限公司 | 身份认证方法和***以及计算设备和存储介质 |
CN113765654A (zh) * | 2020-06-03 | 2021-12-07 | 科大国盾量子技术股份有限公司 | 一种负载均衡的量子密钥管理装置 |
CN114584307A (zh) * | 2022-05-07 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 一种可信密钥管理方法、装置、电子设备和存储介质 |
CN114900338A (zh) * | 2022-04-20 | 2022-08-12 | 岚图汽车科技有限公司 | 一种加密解密方法、装置、设备和介质 |
CN115277709A (zh) * | 2022-07-29 | 2022-11-01 | 河北素数信息安全有限公司 | 一种服务器密码机的负载均衡方法 |
-
2022
- 2022-11-07 CN CN202211381898.2A patent/CN115664662B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9838482B1 (en) * | 2014-12-18 | 2017-12-05 | Amazon Technologies, Inc. | Maintaining client/server session affinity through load balancers |
CN107508686A (zh) * | 2017-10-18 | 2017-12-22 | 克洛斯比尔有限公司 | 身份认证方法和***以及计算设备和存储介质 |
CN113765654A (zh) * | 2020-06-03 | 2021-12-07 | 科大国盾量子技术股份有限公司 | 一种负载均衡的量子密钥管理装置 |
CN114900338A (zh) * | 2022-04-20 | 2022-08-12 | 岚图汽车科技有限公司 | 一种加密解密方法、装置、设备和介质 |
CN114584307A (zh) * | 2022-05-07 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 一种可信密钥管理方法、装置、电子设备和存储介质 |
CN115277709A (zh) * | 2022-07-29 | 2022-11-01 | 河北素数信息安全有限公司 | 一种服务器密码机的负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115664662B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11647007B2 (en) | Systems and methods for smartkey information management | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
CN110489996B (zh) | 一种数据库数据安全管理方法及*** | |
JP4993733B2 (ja) | 暗号クライアント装置、暗号パッケージ配信システム、暗号コンテナ配信システム及び暗号管理サーバ装置 | |
US20140112470A1 (en) | Method and system for key generation, backup, and migration based on trusted computing | |
CN110635906B (zh) | 一种分布式块存储***的密钥管理方法及装置 | |
CN108270739B (zh) | 一种管理加密信息的方法及装置 | |
KR101817152B1 (ko) | 신뢰된 권한 정보 제공 방법, 신뢰된 권한 정보를 포함하는 사용자 크리덴셜 발급 방법 및 사용자 크리덴셜 획득 방법 | |
KR20170047717A (ko) | 서버 및 이에 의한 스마트홈 환경의 관리 방법, 스마트홈 환경의 가입 방법 및 스마트 기기와의 통신 세션 연결 방법 | |
CN110225017B (zh) | 基于联盟区块链的身份验证方法、设备及存储介质 | |
CN112291071B (zh) | 一种适用于零信任网络的密码管理方法及*** | |
CN115473655B (zh) | 接入网络的终端认证方法、装置及存储介质 | |
JP2013020313A (ja) | データ分散保管システム | |
JP2024501326A (ja) | アクセス制御方法、装置、ネットワーク側機器、端末及びブロックチェーンノード | |
CN112039910B (zh) | 一种认证与权限的统一管理的方法、***、设备及介质 | |
CN100476841C (zh) | 对企业硬盘进行密码集中管理的方法和*** | |
CN115664662B (zh) | 一种密钥处理方法及装置 | |
US20220020010A1 (en) | Decentralized electronic contract attestation platform | |
KR20010045157A (ko) | 암호키 복구 정보 관리 방법 | |
CN114389878A (zh) | 一种区块链分片方法及区块链网络*** | |
CN110868397B (zh) | 一种企业异地多点数据交换方法及*** | |
CN112769560B (zh) | 一种密钥管理方法和相关装置 | |
CN112491787B (zh) | 一种用户数据的安全管理的方法和设备 | |
JP5483754B2 (ja) | ソフトウェアモジュール管理装置およびソフトウェアモジュール管理プログラム | |
CN114726590A (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 | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 100000 901, Floor 9, Building 7, Yard 8, Auto Museum East Road, Fengtai District, Beijing Patentee after: BEIJING SHUDUN INFORMATION TECHNOLOGY CO.,LTD. Address before: 100094 room 101-502, 5th floor, building 10, yard 3, fengxiu Middle Road, Haidian District, Beijing Patentee before: BEIJING SHUDUN INFORMATION TECHNOLOGY CO.,LTD. |