CN117176346A - 分布式量子密钥链路控制方法及密钥管理系统 - Google Patents

分布式量子密钥链路控制方法及密钥管理系统 Download PDF

Info

Publication number
CN117176346A
CN117176346A CN202311436073.0A CN202311436073A CN117176346A CN 117176346 A CN117176346 A CN 117176346A CN 202311436073 A CN202311436073 A CN 202311436073A CN 117176346 A CN117176346 A CN 117176346A
Authority
CN
China
Prior art keywords
key
node
kms
cluster
nodes
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
Application number
CN202311436073.0A
Other languages
English (en)
Other versions
CN117176346B (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.)
China Telecom Quantum Technology Co ltd
Original Assignee
China Telecom Quantum Technology 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 China Telecom Quantum Technology Co ltd filed Critical China Telecom Quantum Technology Co ltd
Priority to CN202311436073.0A priority Critical patent/CN117176346B/zh
Publication of CN117176346A publication Critical patent/CN117176346A/zh
Application granted granted Critical
Publication of CN117176346B publication Critical patent/CN117176346B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种分布式量子密钥链路控制方法及密钥管理系统,方法包括KMS集群内部采用Raft分布式共识算法,选举leader节点;KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据;KMS集群利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步;本发明在KMS节点内部采用Raft分布式共识算法实现状态一致性,避免了集中式服务可能存在的单点故障问题,提高系统的总体可用性。

Description

分布式量子密钥链路控制方法及密钥管理系统
技术领域
本发明涉及量子通信技术领域,具体涉及一种分布式量子密钥链路控制方法及密钥管理系统。
背景技术
目前,如图1所示,在量子密钥分发(Quantum key distribution,QKD)网络上层的用户层,一般采用的是密码管理服务平台统一管理多个密钥管理系统(Key ManagementService,KMS)来对外提供密钥管理、密码运算服务,比如公布号为CN111934871A的专利申请文献就是通过量子密钥管理服务中心为量子密钥管理服务节点及其对接的密钥应用设备提供信息管理。这种集中式服务方式存在的问题在于:(1)中心化的密码管理服务平台一旦产生故障将影响整个系统的使用;(2)集群选主过程中缺乏安全保障;(3)单一的密钥管理集群难以满足不同业务的密钥物理隔离的安全诉求。
发明内容
本发明所要解决的技术问题在于如何提供一种分布式量子密钥链路控制方式,避免单一服务可能存在的单点故障问题,提高系统的总体可用性。
本发明通过以下技术手段解决上述技术问题的:
第一方面,本发明提出了一种分布式量子密钥链路控制方法,所述方法包括:
KMS集群内部采用Raft分布式共识算法,选举leader节点;
KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据;
KMS集群利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步。
进一步地,所述KMS集群内部采用Raft分布式共识算法,选举leader节点,包括:
在KMS集群内部候选节点向集群内其他的节点发送请求投票信息,以使其他的节点使用所述候选节点的充注密钥验证所述候选节点的HMAC值;
在验证通过后,接收其他的节点发送的投票信息,所述投票信息为其他的节点利用自身的充注密钥加密自身节点ID、自身的充注密钥编号和投票结果得到;
利用投票信息发送节点所对应的节点ID及充注密钥编号获取相应的充注密钥,并利用充注密钥解密所述投票信息,得到投票结果;
在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点。
进一步地,在所述在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点之后,所述方法还包括:
leader节点向集群内其他的节点发送附加日志消息,所述附加日志消息包括leader节点信息以及采用leader节点自身的充注密钥加密leader节点信息得到的HMAC签名,所述leader节点信息包括leader节点的节点id、leader节点的任期号、上一个日志条目的索引和任期号、待复制的日志条目、提交索引及leader节点的充注密钥编号;
接收其他的节点发送的附加日志消息的响应结果,所述响应结果在HMAC签名验证通过后根据Raft协议规则处理所述附加日志消息生成,并采用响应结果发送节点的充注密钥加密;
使用所述响应结果的发送节点所对应的充注密钥解密所述响应结果,并根据Raft协议规则更新leader节点自身和集群内其他节点的状态。
进一步地,在有新的KMS节点加入集群时,所述方法还包括:
leader节点接收新的KMS节点发送的认证鉴权请求,所述认证鉴权请求为对新的KMS节点的ID及leader节点充注的认证密钥进行HMAC运算得到;
leader节点将所述认证密钥同步至集群内所有followers节点。
进一步地,在所述在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点之后,所述方法还包括:
所述leader节点轮询KMS集群内所有节点,向KMS集群内所有其他的节点发送请求拉取全量数据。
进一步地,所述KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据,包括:
各KMS集群的leader节点之间定期发送心跳信息,所述心跳信息为各leader节点对应KMS集群上的所有数据的元信息;
若某KMS集群检测到其本地数据与其他KMS集群上的数据不一致时,则发送全量拉取请求,获取全量数据。
进一步地,每个KMS集群对应一个QKD节点,通过QKD节点的密钥管理器KM与对应的QKD节点连接;所述心跳信息采用当前KMS集群对应的QKD所产生的跨域密钥加密。
进一步地,所述方法还包括:
接收客户端发送的写操作请求,在当前节点接收到属于该节点负责的实例的写请求时,直接将实例写入;
在当前节点接收到不属于该节点负责的实例的写请求时,在集群内部路由,将实例转发给对应的节点写入;
定期执行同步任务,将本节点负责的所有实例信息同步到集群内所有的节点上。
进一步地,所述方法还包括:
KMS集群内每个节点接收到读操作请求时,在本机查询与所述读操作请求相应的内容并返回。
进一步地,所述KMS集群利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步,包括:
接收客户端发送的鉴权请求,所述鉴权请求携带信息包括客户端ID、密码序列i以及密钥KAi的SM3摘要,所述密钥KAi为充注机预先充注至所述客户端;
在校验KAi的SM3摘要一致时,完成客户端的初始化鉴权;
通过QKD密钥中继进行密钥同步。
进一步地,所述通过QKD密钥中继进行密钥同步,包括:
业务发起方所对应的KMS集群的leader节点查询业务接收方所对应的KMS集群的leader节点地址以及对应的QKD节点信息;
以业务发起方生成的sessionId作为唯一标识,向对应的密钥管理器KM发起密钥中继请求,以使该密钥管理器KM向QKDN控制器请求计算密钥中继链路,进行QKD密钥中继,完成密钥同步。
第二方面,本发明提出了一种密钥管理系统,所述密钥管理系统包括:
KMS集群一致性模块,用于在KMS集群内采用Raft分布式共识算法,选举leader节点;
KMS集群间一致性模块,用于在KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据;
跨域密钥中继模块,用于利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步。
第三方面,本发明提出了一种分布式量子密钥链路控制系统,所述系统包括:量子干线及量子网络、布置于各量子城域网的量子密钥管理系统,量子密钥管理系统经量子密钥分发节点与量子干线及量子网络连接,量子密钥管理系统与客户端连接,所述量子密钥管理系统用于执行上所述的分布式量子密钥链路控制方法进行密钥同步。
本发明的优点在于:
(1)本发明将密码管理服务平台CMSP的功能分散到各个量子城域网内的密钥管理系统KMS中,各个密钥管理系统KMS是对等的,避免了CMSP的单点问题,且KMS节点内部采用Raft分布式共识算法实现状态一致性,避免了集中式服务可能存在的单点故障问题,提高系统的总体可用性;同时由于各个KMS中存储了客户端全量数据,因此在发起跨KMS业务调用时,无需向CMSP查询目标KMS地址的调用请求,即可完成密钥中继,满足不同业务的密钥物理隔离的安全诉求。
(2)Raft协议领导者选举过程采用充注密钥进行加密,可以提高分布式系统的安全性,防止恶意节点或攻击者篡改或伪造消息,影响集群的正常运行。
(3)KMS集群之间由于网络延迟等因素影响,采用一种AP分布式协议,实现最终一致性,跨集群的一致性校验通过QKD的密钥分发保障其安全性。
(4)利用QKD密钥中继,分布式控制量子密钥的分发和使用,满足KMS集群模式下跨域密钥分发使用。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1是本发明背景技术提及的密码管理服务平台统一管理多个密钥管理系统的结构示意图;
图2是本发明一实施例提出的一种分布式量子密钥链路控制方法的流程示意图;
图3是本发明一实施例中Raft节点状态转化图;
图4是本发明一实施例中QKD网络密钥中继示意图;
图5是本发明一实施例提出的量子密钥管理系统的结构示意图;
图6是本发明一实施例提出的一种分布式量子密钥链路控制系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图2所示,本发明第一实施例公开了一种分布式量子密钥链路控制方法,所述方法包括以下步骤:
S10、KMS集群内部采用Raft分布式共识算法,选举leader节点;
S20、KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据;
S30、KMS集群利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步。
本实施例将密码管理服务平台CMSP的功能分散到各个量子城域网内的密钥管理系统KMS中,各个密钥管理系统KMS是对等的,KMS节点内部采用Raft分布式共识算法实现状态一致性,同时由于各个KMS中存储了客户端全量数据,因此在发起跨KMS业务调用时,无需向CMSP查询目标KMS地址的调用请求,避免了集中式服务可能存在的单点故障问题,提高系统的总体可用性。
在一实施例中,所述步骤S10:KMS集群内部采用Raft分布式共识算法,选举leader节点,具体包括以下步骤:
S11、在KMS集群内部候选节点向集群内其他的节点发送请求投票信息,以使其他的节点使用所述候选节点的充注密钥验证所述候选节点的HMAC值;
S12、在验证通过后,接收其他的节点发送的投票信息,所述投票信息为其他的节点利用自身的充注密钥加密自身节点ID、自身的充注密钥编号和投票结果得到;
S13、利用投票信息发送节点所对应的节点ID及充注密钥编号获取相应的充注密钥,并利用充注密钥解密所述投票信息,得到投票结果;
S14、在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点。
本实施例通过利用充注密钥对Raft协议选举领导者过程进行加密,可以提高分布式系统的安全性,防止恶意节点或攻击者篡改或伪造消息,影响集群的正常运行。
具体地,Raft节点有三种状态,跟随节点follower、候选节点candidate、领导节点leader,各状态之间的转化如图3所示。Follower:完全被动,不能发送任何请求,只接受并响应来自leader和candidate的message,每个节点启动后的初始状态一定是follower。Leader:处理所有来自客户端的请求,以及复制log到所有followers,Leader还需向所有followers主动发送心跳维持领导地位。Candidate:用来竞选一个新leader(candidate由follower触发超时而来)。
在一实施例中,在所述步骤S14:在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点之后,所述方法还包括以下步骤:
S15、leader节点向集群内其他的节点发送附加日志消息,所述附加日志消息包括leader节点信息以及采用leader节点自身的充注密钥加密leader节点信息得到的HMAC签名,所述leader节点信息包括leader节点的节点id、leader节点的任期号、上一个日志条目的索引和任期号、待复制的日志条目、提交索引及leader节点的充注密钥编号;
S16、接收其他的节点发送的附加日志消息的响应结果,所述响应结果在HMAC签名验证通过后根据Raft协议规则处理所述附加日志消息生成,并采用响应结果发送节点的充注密钥加密;
S17、使用所述响应结果的发送节点所对应的充注密钥解密所述响应结果,并根据Raft协议规则更新leader节点自身和集群内其他节点的状态。
详细地,leader节点选举的过程为:在KMS集群内当某个节点收到请求投票消息时,使用候选人的充注密钥验证候选人的HMAC值,如果验证通过,则根据Raft协议规则决定是否投票给该候选人,并将自己的节点id、充注密钥编号和投票结果用自己的充注密钥加密后发送给其他候选人。
当候选人收到投票结果时,使用投票节点id、充注密钥编号对应的充注私钥解密投票结果,如果获得了大多数节点的投票,则成为领导者,并向其他节点发送附加日志消息,该消息包含领导者的节点id、领导者的任期号、上一个日志条目的索引和任期号、待复制的日志条目、提交索引、领导者的充注密钥编号以及上述信息的HMAC值,该HMAC值使用领导者的充注密钥编号对应的充注密钥加密;
当某个节点收到附加日志消息时,使用领导者的充注密钥编号对应的充注密钥验证领导者的HMAC签名,如果验证通过,则根据Raft协议规则处理附加日志消息,并将响应结果用自己的充注密钥加密后发送给领导者;
当领导者收到响应结果时,使用发送节点对应的充注密钥解密响应结果,并根据Raft协议规则更新自己和其他节点的状态。
具体地,领导节点leader的选举由超时驱动:Heartbeat/Election timeout,随机的超时时间为降低选举碰撞导致选票被瓜分的概率,通过采取单数个节点,防止出现平票的现象。
(1)选举流程为:
Follower –>Candidate (选举超时触发)
赢得选举:Candidate –>Leader
另一个节点赢得选举:Candidate –>Follower
一段时间内没有任何节点器赢得选举:Candidate –>Candidate。
(2)选举动作:
Current term++
发送 RequestVote RPC。
(3)New Leader 选取原则 (最大提交原则)
Candidates include log info in RequestVote RPCs(index&term of lastlog entry)
During elections, choose candidate with log most likely to containall committed entries
Voting server V denies vote if its log is “more complete”: (lastTermV>lastTermC) || ((lastTermV == lastTermC)&&(lastIndexV>lastIndexC))
Leader will have “most complete” log among electing majority。
需要说明的是,一个任期term,最多选出一个leader,可以没leader,下一个任期term再选。任期Term是一个全局可见递增的数字,表示一个Leader发挥其影响力的一段时期的序号,Term的增加发生在一个follower成为candidate时,一个follower长时间未收到leader的心跳,自增此Term,成为候选者发起竞选,同时将此更新后的Term发送给其他节点。
需要说明的是,影响Raft选举成功率的几个时间参数包括:
(1)RTT(Round Trip Time):网络延时;
(2)Heartbeat timeout:心跳间隔,通常应该比election timeout小一个数量级,目的是让leader能够持续发送心跳来阻止followers触发选举;
(3)Election timeout:Leader与followers间通信超时触发选举的时间;
(4)MTBF(Meantime Between Failure):Servers连续常规故障时间间隔RTT<<Heartbeat timeout<Election timeout(ET)<<MTBF。
进一步地,在选举出leader节点之后,客户端向KMS集群发送一条写请求时,Raft协议规定只有leader节点有权处理该请求,如果是follower接收到该请求则会转发给leader节点,如果是candidate则会直接拒绝该请求。leader节点将接收到的来自客户端的请求包装为一个记录Entry存入日志(log)库中,每个Entry会有一个全局递增的下标日志序号index。leader节点将向整个集群发出复制消息,将Entry进行同步,若收到集群中大多数节点的确认回应,则可以向客户端返回ok的标志。
需要说明的是,Raft日志格式为:(TermId, LogIndex, LogValue),其中,(TermId, LogIndex)能确定唯一一条日志。
Log replication的关键点要求为:
(1)连续性:日志不允许出现空洞
(2)有效性:
不同节点,拥有相同term和logIndex的日志value一定相同;
Leader上的日志一定是有效的;
Follower上的日志是否有效,通过leader日志对比判断。
(3)Followers日志有效性检查:AppendEntries RPC 中还会携带前一条日志的唯一标识(prevTermId, prevLogIndex)。
(4)Followers日志恢复:Leader节点将nextIndex递减并重发AppendEntries,直到与leader日志一致。
(5)Snapshot and log compaction:定时生成snapshot,实现log compaction加速启动和恢复,以及InstallSnapshot给followers拷贝数据。
(6)CommitIndex(TermId, LogIndex):commitIndex,就是指已达成多数派,可以应用到状态机的最新的日志位置;日志被复制到followers后,先持久化,并不能马上被应用到状态机;只有leader知道日志是否达成多数派,是否可以应用到状态机;Followers记录leader发来的当前commitIndex,所有小于等于commitIndex的日志均可以应用到状态机。
(7)CommitIndex推进:
Leader在下一个AppendEntries RPC (也包括 Heartbeat)中携带当前的commitIndex;
Followers检查日志有效性通过则接受AppendEntries并同时更新本地commitIndex,最后把所有小于等于commitIndex的日志应用到状态机。
在一实施例中,在有新的KMS节点加入集群时,所述方法还包括以下步骤:
leader节点接收新的KMS节点发送的认证鉴权请求,所述认证鉴权请求为对新的KMS节点的ID及leader节点充注的认证密钥进行HMAC运算得到;
leader节点将所述认证密钥同步至集群内所有followers节点。
本实施例中在KMS节点初始化时需要leader节点充注的密钥作为加入集群的认证凭证,同时主节点会将充注的认证密钥同步给所有followers,用于认证鉴权的充注密钥在各个KMS节点内使用安全芯片或者软件密码模块保护其安全性。
在一实施例中,在所述步骤S14:在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点之后,所述方法还包括:
所述leader节点轮询KMS集群内所有节点,向KMS集群内所有其他的节点发送请求拉取全量数据。
在一实施例中,所述步骤S20:KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据,包括:
各KMS集群的leader节点之间定期发送心跳信息,所述心跳信息为各leader节点对应KMS集群上的所有数据的元信息;
若某KMS集群检测到其本地数据与其他KMS集群上的数据不一致时,则发送全量拉取请求,获取全量数据。
需要说明的是,在集群启动之后,各集群的leader之间会定期的发送心跳信息,心跳信息主要为各个集群上的所有数据的元信息(之所以使用元信息,是因为需要保证网络中数据传输的量级维持在一个较低水平)。
在一实施例中,每个KMS集群对应一个QKD节点,通过QKD节点的密钥管理器KM与对应的QKD节点连接;所述心跳信息采用当前KMS集群对应的QKD所产生的跨域密钥加密。
需要说明的是,每个集群的leader节点在固定时间间隔会向其他集群的leader节点发送心跳信息,进行一次数据校验请求,该校验过程使用QKD产生的跨域密钥加密,防止恶意节点或攻击者篡改或伪造消息。一旦在数据校验过程中,某个集群发现其他集群上的数据与本地数据不一致,则会发起一次全量拉取请求,将数据补齐。
具体地,KMS集群之间只需要同步各集群当前leader节点的信息,方便集群之间进行跨域密钥分发,由于网络延迟等因素影响,本实施例采用一种AP分布式协议,实现最终一致性,具体为:
每个集群的leader节点是平等的都可以处理写请求,同时把新数据同步到其他节点;每个集群的leader只负责部分数据,定时发送自己负责数据的校验值到其他节点来保持数据一致性;每个集群的leader节点独立处理读请求,及时从本地发出响应;并定期进行数据校验,使得集群内存储全量数据。
KMS集群之间由于网络延迟等因素影响,本实施例采用一种AP分布式协议,实现最终一致性,跨集群的一致性校验通过QKD的密钥分发保障其安全性。
在一实施例中,所述方法还包括:
接收客户端发送的写操作请求,在当前节点接收到属于该节点负责的实例的写请求时,直接将实例写入;
在当前节点接收到不属于该节点负责的实例的写请求时,在集群内部路由,将实例转发给对应的节点写入;
定期执行同步任务,将本节点负责的所有实例信息同步到集群内所有的节点上。
需要说明的是,对于一个已经启动完成的集群,在一次客户端发起写操作的流程中,先根据请求中包含的user信息计算其所属的责任节点(用户在集群内负载均衡,对用户id进行hash匹配到的节点作为责任节点),并将该请求转发到所属的责任节点上,定期执行同步任务,将本节点所负责的所有的实例信息同步到其他节点上,当该节点接收到任何读请求时,都直接在本机查询并返回(因为所有实例都被同步到了每个节点上),拉取数据,快速响应。
在一实施例中,所述步骤S30:所述KMS集群利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步,包括以下步骤:
S31、接收客户端发送的鉴权请求,所述鉴权请求携带信息包括客户端ID、密码序列i以及密钥KAi的SM3摘要,所述密钥KAi为充注机预先充注至所述客户端;
S32、在校验KAi的SM3摘要一致时,完成客户端的初始化鉴权;
S33、通过QKD密钥中继进行密钥同步。
具体地,客户端的安全芯片(SE)连接充注机(CHR),充注机将QKD产生的量子密钥安全充注进安全芯片(SE)中,发起方和接收方分别利用之前的充注密钥和各自的KMS进行初始化鉴权。KMS和客户端的安全芯片内均预置有充注密钥,客户端选取安全芯片内密码序列为i的充注密钥KAi,将客户端ID、密码序列i以及密钥KAi的SM3摘要一起发送给密码管理服务系统KMS,KMS校验KAi的SM3摘要是否一致,完成初始化鉴权。
在一实施例中,所述步骤S33:通过QKD密钥中继进行密钥同步,具体包括以下步骤:
业务发起方所对应的KMS集群的leader节点查询业务接收方所对应的KMS集群的leader节点地址以及对应的QKD节点信息;
以业务发起方生成的sessionId作为唯一标识,向对应的密钥管理器KM发起密钥中继请求,以使该密钥管理器KM向QKDN控制器请求计算密钥中继链路,进行QKD密钥中继,完成密钥同步。
需要说明的是,业务发起方生成全局唯一的sessionId,通过发起方对应的KMS集群leader节点直接查询到接收方的KMS集群leader节点地址以及对应的QKD节点信息,通过发起方KMS集群以sessionId作为唯一标识,向对应的KM发起密钥中继请求,KM向QKDN请求计算密钥中继链路,KMA连接中继节点和目的节点,在目的节点进行最后的异或运算,中继节点只需要将前后协商的结果进行异或运算,例如:KM-B只需要计算,KM-C只需要计算/>,目的节点KM-D最后计算/>就可以得到A节点和D节点的协商密钥,/>为异或操作,如图4所示。本实施例利用QKD密钥中继,分布式控制量子密钥的分发和使用,满足KMS集群模式下跨域密钥分发使用。
此外,如图5所示,本发明第二实施例公开了一种密钥管理系统,所述密钥管理系统包括:
KMS集群一致性模块10,用于在KMS集群内采用Raft分布式共识算法,选举leader节点;
KMS集群间一致性模块20,用于在KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据;
跨域密钥中继模块30,用于利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步。
在一实施例中,所述KMS集群一致性模块10,包括:
请求投票信息发送单元,用于在KMS集群内部候选节点向集群内其他的节点发送请求投票信息,以使其他的节点使用所述候选节点的充注密钥验证所述候选节点的HMAC值;
投票信息接收单元,用于在验证通过后,接收其他的节点发送的投票信息,所述投票信息为其他的节点利用自身的充注密钥加密自身节点ID、自身的充注密钥编号和投票结果得到;
投票信息解密单元,用于利用投票信息发送节点所对应的节点ID及充注密钥编号获取相应的充注密钥,并利用充注密钥解密所述投票信息,得到投票结果;
leader节点确定单元,用于在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点。
在一实施例中,所述KMS集群一致性模块10,还包括:
附加日志消息发送单元,用于通过leader节点向集群内其他的节点发送附加日志消息,所述附加日志消息包括leader节点信息以及采用leader节点自身的充注密钥加密leader节点信息得到的HMAC签名,所述leader节点信息包括leader节点的节点id、leader节点的任期号、上一个日志条目的索引和任期号、待复制的日志条目、提交索引及leader节点的充注密钥编号;
响应接收单元,用于接收其他的节点发送的附加日志消息的响应结果,所述响应结果在HMAC签名验证通过后根据Raft协议规则处理所述附加日志消息生成,并采用响应结果发送节点的充注密钥加密;
状态更新单元,用于使用所述响应结果的发送节点所对应的充注密钥解密所述响应结果,并根据Raft协议规则更新leader节点自身和集群内其他节点的状态。
在一实施例中,所述KMS集群一致性模块10,还包括节点认证鉴权模块,具体用于:
leader节点接收新的KMS节点发送的认证鉴权请求,所述认证鉴权请求为对新的KMS节点的ID及leader节点充注的认证密钥进行HMAC运算得到;
leader节点将所述认证密钥同步至集群内所有followers节点。
在一实施例中,所述KMS集群间一致性模块20,具体用于:
各KMS集群的leader节点之间定期发送心跳信息,所述心跳信息为各leader节点对应KMS集群上的所有数据的元信息;
若某KMS集群检测到其本地数据与其他KMS集群上的数据不一致时,则发送全量拉取请求,获取全量数据。
在一实施例中,每个KMS集群对应一个QKD节点,通过QKD节点的密钥管理器KM与对应的QKD节点连接;所述心跳信息采用当前KMS集群对应的QKD所产生的跨域密钥加密。
在一实施例中,所述跨域密钥中继模块30,包括:
初始化鉴权单元,用于接收客户端发送的鉴权请求,所述鉴权请求携带信息包括客户端ID、密码序列i以及密钥KAi的SM3摘要,所述密钥KAi为充注机预先充注至所述客户端;在校验KAi的SM3摘要一致时,完成客户端的初始化鉴权;
密钥同步单元,用于利用业务发起方所对应的KMS集群的leader节点查询业务接收方所对应的KMS集群的leader节点地址以及对应的QKD节点信息;以业务发起方生成的sessionId作为唯一标识,向对应的密钥管理器KM发起密钥中继请求,以使该密钥管理器KM向QKDN控制器请求计算密钥中继链路,进行QKD密钥中继,完成密钥同步。
需要说明的是,本发明所述密钥管理系统的其他实施例或具有实现方法可参照上述各方法实施例,此处不再赘余。
此外,如图6所示,本发明第三实施例公开了一种分布式量子密钥链路控制系统,所述系统包括:量子干线及量子网络、布置于各量子城域网的量子密钥管理系统,量子密钥管理系统经量子密钥分发节点与量子干线及量子网络连接,量子密钥管理系统与客户端连接,所述量子密钥管理系统用于执行如上第一实施例所述的分布式量子密钥链路控制方法进行密钥同步。
具体地,量子密钥分发模块QKD:用于实现与连接节点量子密钥分发模块的量子密钥分发,使双方获得密钥对;
密钥管理器KM:用于负责接收和管理由QKD生成的密钥对密钥进行中继并将密钥提供给需要密码的应用。
QKDN控制器:用于负责控制QKD网络的各种资源,以确保QKD网络安全、稳定、高效、鲁棒的运行。
密钥管理系统KMS:用于负责创建和管理密钥,保护密钥的保密性、完整性和可用性,满足应用、业务的密钥管理需求。
需要说明的是,本发明所述分布式量子密钥链路控制系统中的密钥管理系统的其他实施例或具有实现方法可参照上述各方法实施例,此处不再赘余。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (13)

1.一种分布式量子密钥链路控制方法,其特征在于,所述方法包括:
KMS集群内部采用Raft分布式共识算法,选举leader节点;
KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据;
KMS集群利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步。
2.如权利要求1所述的分布式量子密钥链路控制方法,其特征在于,所述KMS集群内部采用Raft分布式共识算法,选举leader节点,包括:
在KMS集群内部候选节点向集群内其他的节点发送请求投票信息,以使其他的节点使用所述候选节点的充注密钥验证所述候选节点的HMAC值;
在验证通过后,接收其他的节点发送的投票信息,所述投票信息为其他的节点利用自身的充注密钥加密自身节点ID、自身的充注密钥编号和投票结果得到;
利用投票信息发送节点所对应的节点ID及充注密钥编号获取相应的充注密钥,并利用充注密钥解密所述投票信息,得到投票结果;
在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点。
3.如权利要求2所述的分布式量子密钥链路控制方法,其特征在于,在所述在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点之后,所述方法还包括:
leader节点向集群内其他的节点发送附加日志消息,所述附加日志消息包括leader节点信息以及采用leader节点自身的充注密钥加密leader节点信息得到的HMAC签名,所述leader节点信息包括leader节点的节点id、leader节点的任期号、上一个日志条目的索引和任期号、待复制的日志条目、提交索引及leader节点的充注密钥编号;
接收其他的节点发送的附加日志消息的响应结果,所述响应结果在HMAC签名验证通过后根据Raft协议规则处理所述附加日志消息生成,并采用响应结果发送节点的充注密钥加密;
使用所述响应结果的发送节点所对应的充注密钥解密所述响应结果,并根据Raft协议规则更新leader节点自身和集群内其他节点的状态。
4.如权利要求2所述的分布式量子密钥链路控制方法,其特征在于,在有新的KMS节点加入集群时,所述方法还包括:
leader节点接收新的KMS节点发送的认证鉴权请求,所述认证鉴权请求为对新的KMS节点的ID及leader节点充注的认证密钥进行HMAC运算得到;
leader节点将所述认证密钥同步至集群内所有followers节点。
5.如权利要求2所述的分布式量子密钥链路控制方法,其特征在于,在所述在其他的节点投票占比超过设定数量,确定所述候选节点为leader节点之后,所述方法还包括:
所述leader节点轮询KMS集群内所有节点,向KMS集群内所有其他的节点发送请求拉取全量数据。
6.如权利要求1所述的分布式量子密钥链路控制方法,其特征在于,所述KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据,包括:
各KMS集群的leader节点之间定期发送心跳信息,所述心跳信息为各leader节点对应KMS集群上的所有数据的元信息;
若某KMS集群检测到其本地数据与其他KMS集群上的数据不一致时,则发送全量拉取请求,获取全量数据。
7.如权利要求6所述的分布式量子密钥链路控制方法,其特征在于,每个KMS集群对应一个QKD节点,通过QKD节点的密钥管理器KM与对应的QKD节点连接;所述心跳信息采用当前KMS集群对应的QKD所产生的跨域密钥加密。
8.如权利要求2所述的分布式量子密钥链路控制方法,其特征在于,所述方法还包括:
接收客户端发送的写操作请求,在当前节点接收到属于该节点负责的实例的写请求时,直接将实例写入;
在当前节点接收到不属于该节点负责的实例的写请求时,在集群内部路由,将实例转发给对应的节点写入;
定期执行同步任务,将本节点负责的所有实例信息同步到集群内所有的节点上。
9.如权利要求8所述的分布式量子密钥链路控制方法,其特征在于,所述方法还包括:
KMS集群内每个节点接收到读操作请求时,在本机查询与所述读操作请求相应的内容并返回。
10.如权利要求1所述的分布式量子密钥链路控制方法,其特征在于,所述KMS集群利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步,包括:
接收客户端发送的鉴权请求,所述鉴权请求携带信息包括客户端ID、密码序列i以及密钥KAi的SM3摘要,所述密钥KAi为充注机预先充注至所述客户端;
在校验KAi的SM3摘要一致时,完成客户端的初始化鉴权;
通过QKD密钥中继进行密钥同步。
11.如权利要求10所述的分布式量子密钥链路控制方法,其特征在于,所述通过QKD密钥中继进行密钥同步,包括:
业务发起方所对应的KMS集群的leader节点查询业务接收方所对应的KMS集群的leader节点地址以及对应的QKD节点信息;
以业务发起方生成的sessionId作为唯一标识,向对应的密钥管理器KM发起密钥中继请求,以使该密钥管理器KM向QKDN控制器请求计算密钥中继链路,进行QKD密钥中继,完成密钥同步。
12.一种密钥管理系统,其特征在于,所述密钥管理系统包括:
KMS集群一致性模块,用于在KMS集群内采用Raft分布式共识算法,选举leader节点;
KMS集群间一致性模块,用于在KMS集群之间同步各KMS集群当前leader节点的信息,使各个KMS集群的leader节点中存储客户端全量数据;
跨域密钥中继模块,用于利用相应客户端的充注密钥进行初始化鉴权后,通过QKD密钥中继进行密钥同步。
13.一种分布式量子密钥链路控制系统,其特征在于,所述系统包括:量子干线及量子网络、布置于各量子城域网的量子密钥管理系统,量子密钥管理系统经量子密钥分发节点与量子干线及量子网络连接,量子密钥管理系统与客户端连接,所述量子密钥管理系统用于执行如权利要求1~11任一项所述的分布式量子密钥链路控制方法进行密钥同步。
CN202311436073.0A 2023-11-01 2023-11-01 分布式量子密钥链路控制方法及密钥管理系统 Active CN117176346B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311436073.0A CN117176346B (zh) 2023-11-01 2023-11-01 分布式量子密钥链路控制方法及密钥管理系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311436073.0A CN117176346B (zh) 2023-11-01 2023-11-01 分布式量子密钥链路控制方法及密钥管理系统

Publications (2)

Publication Number Publication Date
CN117176346A true CN117176346A (zh) 2023-12-05
CN117176346B CN117176346B (zh) 2024-03-08

Family

ID=88947105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311436073.0A Active CN117176346B (zh) 2023-11-01 2023-11-01 分布式量子密钥链路控制方法及密钥管理系统

Country Status (1)

Country Link
CN (1) CN117176346B (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421578B1 (en) * 2003-07-22 2008-09-02 Cisco Technology, Inc. Method and apparatus for electing a leader node in a computer network
US20130208894A1 (en) * 2011-08-05 2013-08-15 Fabio Antonio Bovino Cryptographic key distribution system
CN107453868A (zh) * 2017-09-01 2017-12-08 中国电子科技集团公司第三十研究所 一种安全高效的量子密钥服务方法
CN110247765A (zh) * 2019-06-25 2019-09-17 湖北凯乐量子通信光电科技有限公司 一种量子保密数据链通信系统
CN111371744A (zh) * 2020-02-21 2020-07-03 重庆邮电大学 一种基于分布式密钥的拜占庭容错共识方法
CN111988141A (zh) * 2020-03-18 2020-11-24 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN112887086A (zh) * 2021-01-19 2021-06-01 北京邮电大学 量子密钥同步方法及系统
CN113987563A (zh) * 2021-09-23 2022-01-28 阿里云计算有限公司 数据处理方法、系统、产品、设备及存储介质
CN115189931A (zh) * 2022-06-30 2022-10-14 苏州浪潮智能科技有限公司 一种分布式密钥管理方法、装置、设备、存储介质
CN115567210A (zh) * 2022-09-29 2023-01-03 中电信量子科技有限公司 采用量子密钥分发实现零信任访问的方法及系统
CN116527259A (zh) * 2023-07-03 2023-08-01 中电信量子科技有限公司 基于量子密钥分发网络的跨域身份认证方法及系统

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421578B1 (en) * 2003-07-22 2008-09-02 Cisco Technology, Inc. Method and apparatus for electing a leader node in a computer network
US20130208894A1 (en) * 2011-08-05 2013-08-15 Fabio Antonio Bovino Cryptographic key distribution system
CN107453868A (zh) * 2017-09-01 2017-12-08 中国电子科技集团公司第三十研究所 一种安全高效的量子密钥服务方法
CN110247765A (zh) * 2019-06-25 2019-09-17 湖北凯乐量子通信光电科技有限公司 一种量子保密数据链通信系统
CN111371744A (zh) * 2020-02-21 2020-07-03 重庆邮电大学 一种基于分布式密钥的拜占庭容错共识方法
CN111988141A (zh) * 2020-03-18 2020-11-24 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
WO2021184968A1 (zh) * 2020-03-18 2021-09-23 支付宝(杭州)信息技术有限公司 共享集群密钥的方法及装置
CN112887086A (zh) * 2021-01-19 2021-06-01 北京邮电大学 量子密钥同步方法及系统
CN113987563A (zh) * 2021-09-23 2022-01-28 阿里云计算有限公司 数据处理方法、系统、产品、设备及存储介质
CN115189931A (zh) * 2022-06-30 2022-10-14 苏州浪潮智能科技有限公司 一种分布式密钥管理方法、装置、设备、存储介质
CN115567210A (zh) * 2022-09-29 2023-01-03 中电信量子科技有限公司 采用量子密钥分发实现零信任访问的方法及系统
CN116527259A (zh) * 2023-07-03 2023-08-01 中电信量子科技有限公司 基于量子密钥分发网络的跨域身份认证方法及系统

Also Published As

Publication number Publication date
CN117176346B (zh) 2024-03-08

Similar Documents

Publication Publication Date Title
CN112702346B (zh) 基于联盟链的分布式身份认证方法及系统
CN111799867B (zh) 一种充电设备与充电管理平台间的互信认证方法及系统
US20090158394A1 (en) Super peer based peer-to-peer network system and peer authentication method thereof
RU2406251C2 (ru) Способ и устройство для установления безопасной ассоциации
US8196186B2 (en) Security architecture for peer-to-peer storage system
TWI454112B (zh) 通信網路金鑰管理
CN101068245B (zh) 共享文件的发布、下载方法及文件共享可控系统
EP2416541A1 (en) Systems and methods for secure workgroup management and communication
CN110808829A (zh) 一种基于密钥分配中心的ssh认证方法
CN113612610B (zh) 一种会话密钥协商方法
CN113630248A (zh) 一种会话密钥协商方法
CN112332986B (zh) 一种基于权限控制的私有加密通信方法及系统
CN112039837B (zh) 一种基于区块链和秘密共享的电子证据保全方法
US20240064143A1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
EP2244420A1 (en) Method and apparatus for recovering the connection
Mayer et al. Secure protocol transformation via “expansion” from two-party to groups
CN117176346B (zh) 分布式量子密钥链路控制方法及密钥管理系统
CN112667928A (zh) 一种基于Handle系统的前缀及标识数据安全订阅方法及系统
CN116208344A (zh) 共识方法、共识网络、电子设备及可读存储介质
KR20210126319A (ko) 키 관리 장치 및 방법
JP2003283489A (ja) パケット認証システムおよび認証方法、ならびにグループ管理サーバとグループメンバー装置
US11743035B2 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
CN112804063B (zh) 一种级联方法及相关装置
GB2446171A (en) Anonymous authentication in a distributed or peer-to-peer network
JP4992335B2 (ja) ポリシーファイルの分配方法およびコミュニティシステム

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