掌桥专利:专业的专利平台
掌桥专利
首页

基于量子密钥分发网络的跨域身份认证方法及系统

文献发布时间:2024-04-18 19:55:22


基于量子密钥分发网络的跨域身份认证方法及系统

技术领域

本发明涉及安全应用技术领域,具体涉及一种基于量子密钥分发网络的跨域身份认证方法及系统。

背景技术

随着互联网技术的快速发展以及网络应用系统的规模扩张,各种服务和资源会分布到不同的域中。根据域的划分和权限管理来区分不同的服务和资源,使得不同域的用户可以按不同的需求使用,这种不在同一域下访问服务和资源的方式就涉及到跨域访问。

传统的跨域访问方法,通常采用中心式或者集中式的数据库、代理等来维护跨域的认证凭证、身份令牌等数据,实现用户身份的认证和校验。然而现有跨域访问使用的中心式身份认证方法在实际应用过程中存在以下一些问题:(1)集中管理身份认证数据可靠性差,用户访问容易产生瓶颈,一旦失效影响全局,且缺乏扩展的灵活性;(2)同一用户访问跨域下的其他身份认证服务系统时,跨域的身份认证服务系统间需同步身份认证凭证、身份令牌等数据,存在身份认证数据分发过程中被窃取和篡改的风险。

相关技术中,申请公布号为CN114362947A的中国发明专利申请文献公开了一种广域量子密钥服务方法与系统,该方案描述的是在局域和跨域场景下任意节点间生成密钥的方法,通过QKD链路网络虚拟化和统一的服务接口实现密钥中继和QKD网络统一管理,将不同QKD网络间通过统一的平台实现量子密钥服务,且平台使用的是级联架构。

发明内容

本发明所要解决的技术问题在于如何提高认证凭证数据分发的机密性、完整性。

本发明通过以下技术手段实现解决上述技术问题的:

第一方面,本发明提出了一种基于量子密钥分发网络的跨域身份认证方法,应用于身份认证服务系统,所述方法包括以下步骤:

向对应的量子密钥管理系统发送密钥协商请求,并由所述量子密钥管理系统转发至量子密钥生成系统,以使所述量子密钥生成系统建立量子密钥终端KM间中继密钥协商链路并生成对称的认证密钥;

接收对应的用户侧终端发送的认证请求,并基于所述认证请求向所述用户侧终端分配所述认证密钥的标识,以使所述用户侧终端访问跨域的身份认证服务系统时,基于所述认证密钥的标识向跨域的身份认证服务系统所对应的量子密钥管理系统申请所述认证密钥;

接收对应的用户侧终端发送的登录请求信息,并基于所述登录请求信息向用户侧终端响应构造的令牌密文,以在所述用户侧终端访问跨域的身份认证服务系统时,将所述令牌密文转发到跨域的身份认证服务系统。

进一步地,在所述向对应的量子密钥管理系统发送密钥协商请求之前,所述方法还包括:

向对应的所述量子密钥管理系统发送入网认证请求,以使所述量子密钥管理系统生成签名公私钥对并将所述签名公私钥对返回所述身份认证服务系统;

使用所述签名公私钥对中的私钥签名认证数据,得到签名数据并发送至所述量子密钥管理系统,以使所述量子密钥管理系统基于公钥验证所述签名数据的认证信息;

在所述量子密钥管理系统验证通过后,接收所述量子密钥管理系统返回的认证令牌句柄。

进一步地,所述向对应的量子密钥管理系统发送密钥协商请求,并由所述量子密钥管理系统转发至量子密钥生成系统,以使所述量子密钥生成系统建立KM间中继密钥协商链路并生成对称的认证密钥,包括:

向对应的所述量子密钥管理系统发送密钥协商请求,所述密钥协商请求携带的信息为QMSID-A||KMID-A||QMSID-B||KMID-B,其中,QMSID-A为量子密钥管理系统A的虚拟唯一标识,KMID-A为量子密钥管理系统A对应的量子密钥终端的虚拟唯一标识,QMSID-B为量子密钥管理系统B的虚拟唯一标识,KMID-B为量子密钥管理系统B对应的量子密钥终端虚的拟唯一标识,||为表示逻辑与字符;

由所述量子密钥管理系统将所述密钥协商请求发送至所述量子密钥生成系统,使得所述量子密钥生成系统触发KM间中继密钥协商,生成对称的所述认证密钥并存储在各中继对应的中继密钥池中。

进一步地,在所述向对应的量子密钥管理系统发送密钥协商请求之后,所述方法还包括:

向所述量子密钥管理系统发送批量密钥请求,所述批量密钥请求携带信息包括所述认证令牌句柄、QMSID-B和KMID-B;

接收所述量子密钥管理系统返回的所述认证密钥的标识ReadkeyID,其中,跨域的身份认证服务系统作为被动端采用推送式监听等待本端对应的量子密钥管理系统返回所述认证密钥的标识ReadkeyID。

进一步地,所述用户侧终端发送的认证请求携带信息包括用户主密钥、用户主密钥标识以及安全芯片ID,所述用户主密钥存储在所述安全芯片中,所述安全芯片设置在所述用户侧终端。

进一步地,所述接收对应的用户侧终端发送的登录请求信息,并基于所述登录请求信息向用户侧终端响应构造的令牌密文,包括:

接收对应的所述用户侧终端发送的登录请求信息,所述登录请求信息包括所述认证密钥的标识和采用所述认证密钥加密后的登录信息密文;

基于所述认证密钥的标识向所述量子密钥管理系统请求获取所述认证密钥;

基于所述认证密钥验证所述登录请求信息,并在验证通过后生成所述令牌密文。

进一步地,在所述基于所述认证密钥验证所述登录请求信息,并在验证通过后生成所述令牌密文,包括:

在登录信息验证通过后,生成身份令牌Token;

采用所述认证密钥结合加密算法,计算所述身份令牌Token的密文数据;

使用哈希运算结合所述认证密钥,计算所述身份令牌Token的密文数据的MAC值;

基于所述身份令牌Token的密文数据及其MAC值,生成所述令牌密文。

进一步地,所述方法还包括:

接收跨域的身份认证服务系统对应的用户侧终端发送的登录请求信息,所述登录请求信息携带所述令牌密文;

向对应的量子密钥管理系统发送所述令牌密文,以使所述量子密钥管理系统查找认证密钥;

接收所述认证密钥并利用该认证密钥解密所述令牌密文,得到跨域认证结果。

进一步地,在接收跨域的身份认证服务系统对应的用户侧终端发送的登录请求信息时,若所述登录请求信息未携带所述令牌密文,所述方法还包括:

向跨域的身份认证服务系统对应的用户侧终端响应连接失败信息和认证重定向消息,所述认证重定向消息包括跨域身份认证服务系统的参数信息。

进一步地,所述跨域的身份认证服务系统包括至少一个跨域外的认证服务系统。

第二方面,本发明还提出了一种基于量子密钥分发网络的跨域身份认证方法,应用于用户侧终端,所述方法包括以下步骤:

向对应的身份认证服务系统发送认证请求,以获取所述身份认证服务系统分配的认证密钥标识;

基于所述认证密钥标识向对应的量子密钥管理系统发送认证密钥申请请求,以获取所述量子密钥管理系统返回的认证密钥;

向所述身份认证服务系统发送登录请求信息,以使所述身份认证服务系统基于所述登录请求信息生成令牌密文,其中,所述登录请求信息为采用所述认证密钥加密得到;

接收所述令牌密文,在用户侧终端访问跨域的身份认证服务系统时,向跨域的身份认证服务系统发送登录请求,所述登录请求携带所述令牌密文。

进一步地,所述用户侧终端设置有安全芯片,所述安全芯片中存储有量子密钥分发系统预置的量子密钥作为用户主密钥,所述向对应的身份认证服务系统发送认证请求,以获取所述身份认证服务系统分配的认证密钥标识,包括:

向所述身份认证服务系统发送认证请求,所述认证请求携带信息包括用户主密钥、用户主密钥标识以及安全芯片ID;

与所述身份认证服务系统建立会话,并接收所述身份认证服务系统分配的认证密钥标识ReadkeyID。

进一步地,所述基于所述认证密钥标识向对应的量子密钥管理系统发送认证密钥申请请求,以获取所述量子密钥管理系统返回的认证密钥,包括:

构造认证密钥请求信息并发送至对应的所述量子密钥管理系统,所述认证密钥请求信息包括所述用户主密钥标识以及采用所述用户主密钥加密的请求信息,所述请求信息为:安全芯片ID||QMSID-A||KMID-A||ReadkeyID,QMSID-A为量子密钥管理系统A的虚拟唯一标识,KMID-A为量子密钥管理系统A对应的量子密钥终端的虚拟唯一标识,ReadkeyID为所述认证密钥标识;

在所述量子密钥管理系统根据所述用户主密钥标识查找对应的用户主密钥对所述认证密钥请求信息解密成功后,接收所述量子密钥管理系统返回的认证密钥加密消息,所述认证密钥加密消息为所述量子密钥管理系统采用用户主密钥对认证密钥加密得到;

根据所述用户主密钥标识查找对应的用户主密钥,对所述认证密钥加密消息进行解密,得到所述认证密钥。

进一步地,所述接收所述令牌密文,在用户侧终端访问跨域的身份认证服务系统时,向跨域的身份认证服务系统发送登录请求,所述登录请求携带所述令牌密文,包括:

接收所述令牌密文,并采用所述认证密钥对所述令牌密文进行解密验证,确认响应认证完成;

在用户侧终端访问跨域的身份认证服务系统时,将所述令牌密文转发到跨域的身份认证服务系统所对应的量子密钥管理系统;

接收跨域的身份认证服务系统所对应的量子密钥管理系统返回的跨域认证结果。

进一步地,在用户侧终端访问跨域的身份认证服务系统,向跨域的身份认证服务系统发送登录请求,若所述登录请求未携带所述令牌密文,所述方法还包括:

接收跨域的身份认证服务系统返回的连接失败消息及重定向消息,所述重定向消息包括本域内的身份认证服务系统的参数信息;

基于所述本域内的身份认证服务系统的参数信息,向本域内的身份认证服务系统发起身份认证流程。

第三方面,本发明还提出了一种身份认证服务系统,所述系统包括:

密钥协商请求发送模块,用于向对应的量子密钥管理系统发送密钥协商请求,并由所述量子密钥管理系统转发至量子密钥生成系统,以使所述量子密钥生成系统建立KM间中继密钥协商链路并生成对称的认证密钥;

请求接收模块,用于接收对应的用户侧终端发送的认证请求,并基于所述认证请求向所述用户侧终端分配所述认证密钥的标识,以使所述用户侧终端访问跨域的身份认证服务系统时,基于所述认证密钥的标识向跨域的身份认证服务系统对应的量子密钥管理系统申请所述认证密钥;

身份认证模块,用于接收对应的用户侧终端发送的登录请求信息,并基于所述登录请求信息向用户侧终端响应构造的令牌密文,以在所述用户侧终端访问跨域的身份认证服务系统时,将所述令牌密文转发到跨域的身份认证服务系统。

第四方面,本发明还提出了一种用户侧终端,所述终端包括:

认证请求模块,用于向对应的身份认证服务系统发送认证请求,以获取所述身份认证服务系统分配的认证密钥标识;

认证密钥申请模块,用于基于所述认证密钥标识向对应的量子密钥管理系统发送认证密钥申请请求,以获取所述量子密钥管理系统返回的认证密钥;

登录请求模块,向所述身份认证服务系统发送登录请求信息,以使所述身份认证服务系统基于所述登录请求信息生成令牌密文,其中,所述登录请求信息为采用所述认证密钥加密得到;

跨域认证模块,用于接收所述令牌密文,在用户侧终端访问跨域的身份认证服务系统时,向跨域的身份认证服务系统发送登录请求,所述登录请求携带所述令牌密文。

第五方面,本发明还提出了一种基于量子密钥分发网络的跨域身份认证系统,所述系统包括用户侧终端、量子密钥生成系统、所述用户侧终端本域内的身份认证服务系统A以及所述用户侧终端跨域内的身份认证服务系统B,所述身份认证服务系统A连接量子密钥管理系统A,所述身份认证服务系统B连接量子密钥管理系统B,所述量子密钥管理系统A和所述量子密钥管理系统B均与所述量子密钥生成系统连接,其中:

所述身份认证服务系统A和所述身份认证服务系统B用于向所述量子密钥生成系统发送密钥协商请求,建立所述量子密钥生成系统内KM间中继密钥协商链路并生成对称的认证密钥;

所述用户侧终端向所述身份认证服务系统A发送认证请求,并接收所述身份认证服务系统A返回的认证密钥标识;

所述用户侧终端向所述身份认证服务系统A发送登录请求信息,并接收所述身份认证服务系统A响应的令牌密文;

所述用户侧终端基于所述令牌密文,访问所述身份认证服务系统B。

本发明的优点在于:

(1)本发明中身份认证服务系统采用可配置的密钥申请模式向量子密钥管理系统发起跨域密钥协商请求,建立量子密钥生成系统内KM间的中继密钥链路,实现跨域的量子密钥管理系统间密钥协商,解决量子密钥分发网络在跨域身份认证服务系统间密钥同步的问题;身份认证服务系统接收用户侧终端发送的认证请求,向用户侧终端响应构造的令牌密文,当跨域的多个身份认证服务系统间无需集中维护用户身份令牌,当用户需要访问跨域的其他身份认证服务系统,由用户侧直接将本域内产生的身份令牌密文转发到对应的跨域身份认证服务系统完成解密和验证,通过后完成跨域认证,解决传统跨域的身份认证服务系统需要集中维护身份令牌的问题。

(2)基于量子密钥分发网络安全分发认证密钥,基于认证密钥实现身份认证数据加密并通过HMAC保证数据完整性。

(3)基于量子密钥分发信息的安全性,实现量子对称密钥的协商和生成,即使在量子计算拥有无限强的计算资源下也仍然安全;使用量子对称密钥作为身份认证数据加密的认证密钥,结合对称算法替换易受量子计算攻击的现用公钥密码算法,防范量子计算对经典密码安全性的威胁。

(4)用户侧终端采用安全芯片预置密钥作为用户主密钥,基于用户主密钥向量子密钥分发网络申请认证密钥用于加密登录信息,身份认证服务系统接收登录加密信息后解密并校验合法性,解决了传统身份认证凭证数据不加密或者加密依赖公钥算法的问题。

(5)本方案整体对系统改动较小,用户侧使用成熟的安全芯片集成方案,提供密钥存储和密码算法功能;认证服务端通过密钥接口直接对接量子密钥分发网络申请密钥,易于实现,且不用担心服务端密钥消耗量大的问题。

本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1是本发明实施例一提出的基于量子密钥分发网络的跨域身份认证方法的流程示意图;

图2是本发明实施例二提出的基于量子密钥分发网络的跨域身份认证方法的流程示意图;

图3是本发明实施例三提出的身份认证服务系统的结构示意图;

图4是本发明实施例四提出的用户侧终端的结构示意图;

图5是本发明实施例五提出的基于量子密钥分发网络的跨域身份认证系统的结构示意图;

图6是本发明实施例六提出的基于量子密钥分发网络的跨域身份认证系统的结构示意图;

图7是本发明实施例七提出的基于量子密钥分发网络的跨域身份认证系统的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

如图1所示,本发明第一实施例提出了一种基于量子密钥分发网络的跨域身份认证方法,应用于身份认证服务系统,所述方法包括以下步骤:

S101、向对应的量子密钥管理系统发送密钥协商请求,并由所述量子密钥管理系统转发至量子密钥生成系统,以使所述量子密钥生成系统建立KM间中继密钥协商链路并生成对称的认证密钥;

S102、接收对应的用户侧终端发送的认证请求,并基于所述认证请求向所述用户侧终端分配所述认证密钥的标识,以使所述用户侧终端访问跨域的身份认证服务系统时,基于所述认证密钥的标识向跨域的身份认证服务系统对应的量子密钥管理系统申请所述认证密钥;

S103、接收对应的用户侧终端发送的登录请求信息,并基于所述登录请求信息向用户侧终端响应构造的令牌密文,以在所述用户侧终端访问跨域的身份认证服务系统时,将所述令牌密文转发到跨域的身份认证服务系统。

需要说明的是,本实施例中用户侧终端可向本域内的身份认证服务系统和跨域的身份认证服务系统发送登录请求,每个身份认证服务系统均对应连接一量子密钥管理系统,各量子密钥管理系统均与量子密钥生成系统连接。身份认证服务系统采用可配置的密钥申请模式向量子密钥管理系统发起跨域密钥协商请求,建立量子密钥生成系统内KM间的中继密钥链路,实现跨域的量子密钥管理系统间密钥协商,解决基于量子密钥分发网络在跨域身份认证服务系统间密钥同步的问题;身份认证服务系统接收用户侧终端发送的认证请求,向用户侧终端响应构造的令牌密文,跨域的多个身份认证服务系统间无需集中维护用户身份令牌,当用户需要访问跨域的其他身份认证服务系统,由用户侧直接将本域内产生的身份令牌密文转发到对应的跨域身份认证服务系统完成解密和验证,通过后完成跨域认证,解决传统跨域的身份认证服务系统需要集中维护身份令牌的问题,避免了身份认证数据分发过程中被窃取和篡改的风险。

需要说明的是,本实施例中量子密钥分发网络已具备端到端提供量子密钥的能力,多个量子密钥管理系统直接获取量子密钥并缓存对称密钥池,对量子密钥的中继实现方式无任何限制,多个量子密钥管理系统间为解耦状态而不是级联架构,并且用户侧终端基于安全芯片实现跨域身份认证,解决了跨域身份认证去中心化,认证凭证数据分发实现机密性、完整性的问题。

在一实施例中,在所述步骤S101:向对应的量子密钥管理系统发送密钥协商请求之前,所述方法还包括以下步骤:

向对应的所述量子密钥管理系统发送入网认证请求,以使所述量子密钥管理系统生成签名公私钥对并将所述签名公私钥对返回所述身份认证服务系统;

使用所述签名公私钥对中的私钥签名认证数据,得到签名数据并发送至所述量子密钥管理系统,以使所述量子密钥管理系统基于公钥验证所述签名数据的认证信息;

在所述量子密钥管理系统验证通过后,接收所述量子密钥管理系统返回的认证令牌句柄。

需要说明的是,用户侧终端本域内的身份认证服务系统A连接量子密钥管理系统A,完成初始化配置,然后份认证服务系统A作为密钥应用服务端向其连接的量子密钥管理系统A发送入网认证请求,使得量子密钥管理系统A生成签名公私钥对Kp和Ks,并导入至身份认证服务系统A。身份认证服务系统A使用私钥Ks签名认证数据并发送至量子密钥管理系统A,量子密钥管理系统A使用预置的公钥Kp验证签名的认证信息,验证通过后,返回认证通过。量子密钥管理系统A返回认证令牌句柄tokenHandle-A,身份认证服务系统A缓存认证令牌句柄tokenHandle-A。

需要说明的是,用户侧终端跨域内的身份认证服务系统B按照同样步骤获取量子密钥管理系统B返回的认证令牌句柄tokenHandle-B。

在一实施例中,所述步骤S101:所述向对应的量子密钥管理系统发送密钥协商请求,并由所述量子密钥管理系统转发至量子密钥生成系统,以使所述量子密钥生成系统建立KM间中继密钥协商链路并生成对称的认证密钥,包括以下步骤:

向对应的所述量子密钥管理系统发送密钥协商请求,所述密钥协商请求携带的信息为QMSID-A||KMID-A||QMSID-B||KMID-B,其中,QMSID-A为量子密钥管理系统A的虚拟唯一标识,KMID-A为量子密钥管理系统A对应的量子密钥终端的虚拟唯一标识,QMSID-B为量子密钥管理系统B的虚拟唯一标识,KMID-B为量子密钥管理系统B对应的量子密钥终端虚的拟唯一标识,||为表示逻辑与字符;

由所述量子密钥管理系统将所述密钥协商请求发送至所述量子密钥生成系统,使得所述量子密钥生成系统触发KM间中继密钥协商,生成对称的所述认证密钥并存储在各中继对应的中继密钥池中。

具体地,身份认证服务系统A向量子密钥管理系统A发起密钥协商请求,量子密钥管理系统A识别该密钥协商请求为跨域密钥协商模式,并将密钥协商请求发送到量子密钥生成系统;量子密钥生成系统根据密钥协商请求信息触发量子密钥终端KM-A和量子密钥终端KM-B的中继密钥协商流程,协商流程完成后KM-A和KM-B分别生成对称的密钥,并存储在对应的中继密钥池RelayAB和中继密钥池RelayBA中。

在一实施例中,在所述步骤S101:向对应的量子密钥管理系统发送密钥协商请求之后,所述方法还包括以下步骤:

向所述量子密钥管理系统发送批量密钥请求,所述批量密钥请求携带信息包括所述认证令牌句柄、QMSID-B和KMID-B;

接收所述量子密钥管理系统返回的所述认证密钥的标识ReadkeyID,其中,跨域的身份认证服务系统作为被动端采用推送式监听等待本端对应的量子密钥管理系统返回所述认证密钥的标识ReadkeyID。

具体地,由身份认证服务系统A向量子密钥管理系统A预先申请批量密钥,输入认证令牌句柄tokenHandle-A、QMSID-B、KMID-B,返回获取通知和认证密钥标识ReadkeyID。跨域的身份认证服务系统B作为被动端采用推送式监听等待本端量子密钥管理系统B返回密钥信息。

在一实施例中,用户侧终端发送的认证请求携带信息包括用户主密钥、用户主密钥标识以及安全芯片ID,所述用户主密钥存储在所述安全芯片中,所述安全芯片设置在所述用户侧终端,所述用户主密钥为所述量子密钥生成系统预置在安全芯片内。

在一实施例中,所述步骤S102中,接收对应的用户侧终端发送的认证请求,并基于所述认证请求向所述用户侧终端分配所述认证密钥的标识,以使所述用户侧终端访问跨域的身份认证服务系统时,基于所述认证密钥的标识向跨域的身份认证服务系统对应的量子密钥管理系统申请所述认证密钥,具体包括:

身份认证服务系统A接收用户侧终端向发起的认证请求,认证请求携带从安全芯片内获取用户主密钥UMK-1,密钥标识NUMK-1,芯片ID;

用户侧终端与身份认证服务系统A建立会话,身份认证服务系统A分配密钥标识ReadkeyID至用户侧终端。

在一实施例中,所述步骤S103:接收对应的用户侧终端发送的登录请求信息,并基于所述登录请求信息向用户侧终端响应构造的令牌密文,包括以下步骤:

S131、接收对应的所述用户侧终端发送的登录请求信息,所述登录请求信息包括所述认证密钥的标识和采用所述认证密钥加密后的登录信息密文;

需要说明的是,身份认证服务系统A接收用户侧终端发送的登录信息密文和ReadkeyID,登录信息密文为用户侧终端使用认证密钥WK-A加密登录信息得到,认证密钥WK-A来源于KM-A的中继密钥池RelayAB。

S132、基于所述认证密钥的标识向所述量子密钥管理系统请求获取所述认证密钥;

S133、基于所述认证密钥验证所述登录请求信息,并在验证通过后生成所述令牌密文。

具体地,身份认证服务系统A接收登录信息密文,并基于认证密钥标识ReadkeyID向量子密钥管理系统A获取认证密钥WK-A,解密后验证登录信息,验证通过后身份认证服务系统A生成令牌密文。

在一实施例中,所述步骤S133:基于所述认证密钥验证所述登录请求信息,并在验证通过后生成所述令牌密文,具体包括以下步骤:

在登录信息验证通过后,生成身份令牌Token;

采用所述认证密钥结合加密算法,计算所述身份令牌Token的密文数据;

使用哈希运算结合所述认证密钥,计算所述身份令牌Token的密文数据的MAC值;

基于所述身份令牌Token的密文数据及其MAC值,生成所述令牌密文。

具体地,身份认证服务系统A使用认证密钥WK-A结合国密SM4算法计算出Token的密文数据,且使用HMAC-SM3算法结合认证密钥计算Token的密文数据的MAC值。转发Token的密文数据和MAC值到用户侧终端。使得用户侧终端接收Token的密文数据和MAC值,使用认证密钥WK-A完成解密,消息码比对一致,响应认证完成。

在一实施例中,在身份认证服务系统接收到跨域的用户侧终端发送的登录请求信息时,所述方法还包括以下步骤:

接收跨域的身份认证服务系统对应的用户侧终端发送的登录请求信息,所述登录请求信息携带所述令牌密文;

向对应的量子密钥管理系统发送所述令牌密文,以使所述量子密钥管理系统查找认证密钥;

接收所述认证密钥并利用该认证密钥解密所述令牌密文,得到跨域认证结果。

需要说明的是,当身份认证服务系统B被跨域的用户侧终端访问时,接收用户侧终端发送的Token的密文数据、MAC值和ReadkeyID、QMSID-A、KMID-A;身份认证服务系统B向量子密钥管理系统B传入ReadkeyID、QMSID-A、KMID-A、tokenHandle-B,以使量子密钥管理系统B从中继密钥池RelayBA查找对应的认证密钥WK-A并返回身份认证服务系统B;身份认证服务系统B获取认证密钥WK-A,解密Token的密文数据和MAC值,解密通过则响应跨域认证完成,不通过则响应认证失败。

在一实施例中,在接收跨域的身份认证服务系统对应的用户侧终端发送的登录请求信息时,若所述登录请求信息未携带所述令牌密文,所述方法还包括:

向跨域的身份认证服务系统对应的用户侧终端响应连接失败信息和认证重定向消息,所述认证重定向消息包括跨域身份认证服务系统的参数信息。

需要说明的是,本实施例中身份认证过程为用户侧终端需首先在本域的身份认证服务系统A获取身份令牌Token后,才能完成跨域的身份认证过程,具有明确的认证前提条件。

因此,本实施例为跨域身份认证过程增加一种判断机制,实现当用户侧终端首先向跨域身份认证服务系统B发起登录请求时,身份认证服务系统B识别该用户为跨域的首次登录用户,身份认证服务系统B向用户侧返回重定向消息,用户侧重新向本域内的身份认证服务系统A发起身份认证过程。

在一实施例中,所述跨域的身份认证服务系统包括至少一个跨域外的认证服务系统。

需要说明的是,本实施例中身份认证服务系统A作为用户侧终端本域内的身份认证服务系统,跨域的身份认证服务系统可包括身份认证服务系统B及身份认证服务系统C等,其中每个身份认证服务系统均连接对应的量子密钥管理系统。

实施例2

如图2所示,本发明第二实施例还提出了一种基于量子密钥分发网络的跨域身份认证方法,应用于用户侧终端,所述方法包括以下步骤:

S201、向对应的身份认证服务系统发送认证请求,以获取所述身份认证服务系统分配的认证密钥标识;

S202、基于所述认证密钥标识向对应的量子密钥管理系统发送认证密钥申请请求,以获取所述量子密钥管理系统返回的认证密钥;

S203、向所述身份认证服务系统发送登录请求信息,以使所述身份认证服务系统基于所述登录请求信息生成令牌密文,其中,所述登录请求信息为采用所述认证密钥加密得到;

S204、接收所述令牌密文,在用户侧终端访问跨域的身份认证服务系统时,向跨域的身份认证服务系统发送登录请求,所述登录请求携带所述令牌密文。

本实施例中用户侧终端向量子密钥生成系统申请认证密钥用于加密登录请求信息后发送至身份认证服务系统,在身份认证服务系统接收登录请求信息后解密并校验合法性后生成令牌密文,解决了传统身份认证凭证数据不加密或者加密依赖公钥算法的问题;跨域的多个身份认证服务系统间无需集中维护用户身份令牌,当用户侧终端需要访问跨域的其他身份认证服务系统,由用户侧终端直接将本域内产生的身份令牌密文转发到对应的跨域身份认证服务系统完成解密和验证,通过后完成跨域认证,解决传统跨域的身份认证服务系统需要集中维护身份令牌的问题。

在一实施例中,所述用户侧终端设置有安全芯片,所述安全芯片中存储有量子密钥分发系统预置的量子密钥作为用户主密钥,所述步骤S201:向对应的身份认证服务系统发送认证请求,以获取所述身份认证服务系统分配的认证密钥标识,包括以下步骤:

S211、向所述身份认证服务系统发送认证请求,所述认证请求携带信息包括用户主密钥、用户主密钥标识以及安全芯片ID;

S212、与所述身份认证服务系统建立会话,并接收所述身份认证服务系统分配的认证密钥标识ReadkeyID。

需要说明的是,用户侧终端向本域内身份认证服务系统A所连接的量子密钥管理系统A发送密钥充注请求,以使量子密钥管理系统A向用户侧终端的安全芯片预置量子密钥,作为用户主密钥,且量子密钥管理系统A存储用户主密钥和安全芯片的对应关系。用户侧终端向本域内的身份认证服务系统A发起认证请求,从安全芯片内获取用户主密钥UMK-1,密钥标识NUMK-1,芯片ID。随后用户侧终端与身份认证服务系统A建立会话,身份认证服务系统A分配认证密钥标识ReadkeyID。

本实施例采用安全芯片预置密钥作为用户主密钥,基于用户主密钥向量子密钥分发网络申请认证密钥用于加密登录信息,提升安全性。

在一实施例中,所述步骤S202:基于所述认证密钥标识向对应的量子密钥管理系统发送认证密钥申请请求,以获取所述量子密钥管理系统返回的认证密钥,包括以下步骤:

S221、构造认证密钥请求信息并发送至对应的所述量子密钥管理系统,所述认证密钥请求信息包括所述用户主密钥标识以及采用所述用户主密钥加密的请求信息,所述请求信息为:安全芯片ID||QMSID-A||KMID-A||ReadkeyID,QMSID-A为量子密钥管理系统A的虚拟唯一标识,KMID-A为量子密钥管理系统A对应的量子密钥终端的虚拟唯一标识,ReadkeyID为所述认证密钥标识;

S222、在所述量子密钥管理系统根据所述用户主密钥标识查找对应的用户主密钥对所述认证密钥请求信息解密成功后,接收所述量子密钥管理系统返回的认证密钥加密消息,所述认证密钥加密消息为所述量子密钥管理系统采用用户主密钥对认证密钥加密得到;

S223、根据所述用户主密钥标识查找对应的用户主密钥,对所述认证密钥加密消息进行解密,得到所述认证密钥。

具体地,在用户侧终端访问本域内的身份认证服务系统A时,向量子密钥管理系统A发起认证密钥申请请求,构造的认证密钥请求信息为:用户主密钥UMK-1加密(芯片ID||QMSID-A||KMID-A||ReadkeyID)+密钥标识NUMK-1。量子密钥管理系统A根据密钥标识NUMK-1查找对应的密钥完成认证密钥请求信息的解密,同时根据ReadkeyID申请认证密钥WK-A,认证密钥来源于KM-A的中继密钥池RelayAB。认证密钥WK-A通过用户主密钥UMK-1加密后分发到用户侧终端,用户侧终端根据密钥标识NUMK-1查找对应用户主密钥UMK-1完成解密,用户侧终端获取认证密钥WK-A,用户侧终端维护认证密钥WK-A、ReadkeyID、QMSID-A、KMID-A的关系数据。

需要说明的是,用户侧终端基于安全芯片向量子密钥管理系统获取认证密钥。当用户侧终端访问跨域的身份认证服务系统时,基于量子密钥分发网络维护的认证密钥唯一标识,实现跨域的量子密钥管理系统获取对称的认证密钥。

在一实施例中,所述步骤S203:向所述身份认证服务系统发送登录请求信息,以使所述身份认证服务系统基于所述登录请求信息生成令牌密文,其中,所述登录请求信息为采用所述认证密钥加密得到,具体包括以下步骤:

用户侧终端使用认证密钥WK-A加密登录信息,向身份认证服务系统A发送登录信息密文和ReadkeyID,使得身份认证服务系统A接收登录信息密文,并基于ReadkeyID向量子密钥管理系统A获取认证密钥WK-A,解密后验证登录信息,验证通过后身份认证服务系统A生成令牌密文。

在一实施例中,所述步骤S204:接收所述令牌密文,在用户侧终端访问跨域的身份认证服务系统时,向跨域的身份认证服务系统发送登录请求,所述登录请求携带所述令牌密文,包括以下步骤:

S241、接收所述令牌密文,并采用所述认证密钥对所述令牌密文进行解密验证,确认响应认证完成;

需要说明的是,用户侧终端接收身份认证服务系统A返回的Token的密文数据和MAC值,使认证密钥WK-A完成解密,消息码比对一致,响应认证完成。

S242、在用户侧终端访问跨域的身份认证服务系统时,将所述令牌密文转发到跨域的身份认证服务系统所对应的量子密钥管理系统;

需要说明的是,当用户侧终端需要访问跨域的身份认证服务系统B,用户侧终端发送Token的密文数据、MAC值和ReadkeyID、QMSID-A、KMID-A到身份认证服务系统B。

S243、接收跨域的身份认证服务系统所对应的量子密钥管理系统返回的跨域认证结果。

需要说明的是,身份认证服务系统B接收到用户侧终端发送的登录请求信息时,身份认证服务系统B向量子密钥管理系统B传入ReadkeyID、QMSID-A、KMID-A、tokenHandle-B,量子密钥管理系统B从中继密钥池RelayBA查找对应的认证密钥WK-A并返回至身份认证服务系统B;身份认证服务系统B获取认证密钥WK-A,解密Token的密文数据和MAC值,解密通过响应跨域认证完成,不通过响应认证失败。

在一实施例中,在用户侧终端访问跨域的身份认证服务系统,向跨域的身份认证服务系统发送登录请求,若所述登录请求未携带所述令牌密文,所述方法还包括:

接收跨域的身份认证服务系统返回的连接失败消息及重定向消息,所述重定向消息包括本域内的身份认证服务系统的参数信息;

基于所述本域内的身份认证服务系统的参数信息,向本域内的身份认证服务系统发起身份认证流程。

需要说明的是需要说明的是,本实施例中身份认证过程为用户侧终端需首先在本域的身份认证服务系统A获取身份令牌Token后,才能完成跨域的身份认证过程,具有明确的认证前提条件。

因此,本实施例为跨域身份认证过程增加一种判断机制,实现当用户侧终端首先向跨域身份认证服务系统B发起登录请求时,身份认证服务系统B识别该用户为跨域的首次登录用户,身份认证服务系统B向用户侧返回重定向消息,用户侧重新向本域内的身份认证服务系统A发起身份认证过程。

实施例3

如图3所示,本发明第三实施例提出了一种身份认证服务系统,所述系统包括:

密钥协商请求发送模块21,用于向对应的量子密钥管理系统发送密钥协商请求,并由所述量子密钥管理系统转发至量子密钥生成系统,以使所述量子密钥生成系统建立KM间中继密钥协商链路并生成对称的认证密钥;

请求接收模块22,用于接收对应的用户侧终端发送的认证请求,并基于所述认证请求向所述用户侧终端分配所述认证密钥的标识,以使所述用户侧终端访问跨域的身份认证服务系统时,基于所述认证密钥的标识向跨域的身份认证服务系统对应的量子密钥管理系统申请所述认证密钥;

身份认证模块23,用于接收对应的用户侧终端发送的登录请求信息,并基于所述登录请求信息向用户侧终端响应构造的令牌密文,以在所述用户侧终端访问跨域的身份认证服务系统时,将所述令牌密文转发到跨域的身份认证服务系统。

本实施例中,身份认证服务系统采用可配置的密钥申请模式向量子密钥管理系统发起跨域密钥协商请求,建立量子密钥生成系统内KM间的中继密钥链路,实现跨域的量子密钥管理系统间密钥协商,解决基于量子密钥分发网络在跨域身份认证服务系统间密钥同步的问题;身份认证服务系统接收用户侧终端发送的认证请求,向用户侧终端响应构造的令牌密文,跨域的多个身份认证服务系统间无需集中维护用户身份令牌,当用户需要访问跨域的其他身份认证服务系统,由用户侧直接将本域内产生的身份令牌密文转发到对应的跨域身份认证服务系统完成解密和验证,通过后完成跨域认证,解决传统跨域的身份认证服务系统需要集中维护身份令牌的问题。

在一实施例中,所述身份认证服务系统还包括入网请求模块,具体用于执行以下步骤:

向对应的所述量子密钥管理系统发送入网认证请求,以使所述量子密钥管理系统生成签名公私钥对并将所述签名公私钥对返回所述身份认证服务系统;

使用所述签名公私钥对中的私钥签名认证数据,得到签名数据并发送至所述量子密钥管理系统,以使所述量子密钥管理系统基于公钥验证所述签名数据的认证信息;

在所述量子密钥管理系统验证通过后,接收所述量子密钥管理系统返回的认证令牌句柄。

在一实施例中,所述密钥协商请求发送模块21,具体用于执行以下步骤:

向对应的所述量子密钥管理系统发送密钥协商请求,所述密钥协商请求携带的信息为QMSID-A||KMID-A||QMSID-B||KMID-B,其中,QMSID-A为量子密钥管理系统A的虚拟唯一标识,KMID-A为量子密钥管理系统A对应的量子密钥终端的虚拟唯一标识,QMSID-B为量子密钥管理系统B的虚拟唯一标识,KMID-B为量子密钥管理系统B对应的量子密钥终端虚的拟唯一标识,||为表示逻辑与字符;

由所述量子密钥管理系统将所述密钥协商请求发送至所述量子密钥生成系统,使得所述量子密钥生成系统触发KM间中继密钥协商,生成对称的所述认证密钥并存储在各中继对应的中继密钥池中。

在一实施例中,所述身份认证服务系统还包括批量密钥请求模块,具体用于执行以下步骤:

向所述量子密钥管理系统发送批量密钥请求,所述批量密钥请求携带信息包括所述认证令牌句柄、QMSID-B和KMID-B;

接收所述量子密钥管理系统返回的所述认证密钥的标识ReadkeyID,其中,跨域的身份认证服务系统作为被动端采用推送式监听等待本端对应的量子密钥管理系统返回所述认证密钥的标识ReadkeyID。

在一实施例中,用户侧终端发送的认证请求携带信息包括用户主密钥、用户主密钥标识以及安全芯片ID,所述用户主密钥存储在所述安全芯片中,所述安全芯片设置在所述用户侧终端,所述用户主密钥为所述量子密钥生成系统预置在安全芯片内。

在一实施例中,所述请求接收模块22,具体用于执行以下步骤:

身份认证服务系统A接收用户侧终端向发起的认证请求,认证请求携带从安全芯片内获取用户主密钥UMK-1,密钥标识NUMK-1,芯片ID;

用户侧终端与身份认证服务系统A建立会话,身份认证服务系统A分配密钥标识ReadkeyID至用户侧终端。

在一实施例中,所述身份认证模块23,包括:

登录请求信息接收单元,用于接收对应的所述用户侧终端发送的登录请求信息,所述登录请求信息包括所述认证密钥的标识和采用所述认证密钥加密后的登录信息密文;

认证密钥请求单元,用于基于所述认证密钥的标识向所述量子密钥管理系统请求获取所述认证密钥;

令牌密文生成单元,用于基于所述认证密钥验证所述登录请求信息,并在验证通过后生成所述令牌密文。

在一实施例中,所述令牌密文生成单元,用于执行以下步骤:

在登录信息验证通过后,生成身份令牌Token;

采用所述认证密钥结合加密算法,计算所述身份令牌Token的密文数据;

使用哈希运算结合所述认证密钥,计算所述身份令牌Token的密文数据的MAC值;

基于所述身份令牌Token的密文数据及其MAC值,生成所述令牌密文。

在一实施例中,所述身份认证服务系统还包括跨域登录认证模块,用于执行以下步骤:

接收跨域的身份认证服务系统对应的用户侧终端发送的登录请求信息,所述登录请求信息携带所述令牌密文;

向对应的量子密钥管理系统发送所述令牌密文,以使所述量子密钥管理系统查找认证密钥;

接收所述认证密钥并利用该认证密钥解密所述令牌密文,得到跨域认证结果。

在一实施例中,所述身份认证服务系统还包括认证重定向模块,用于执行以下步骤:

向跨域的身份认证服务系统对应的用户侧终端响应连接失败信息和认证重定向消息,所述认证重定向消息包括跨域身份认证服务系统的参数信息。

需要说明的是,本发明所述身份认证服务系统的其他实施例或具有实现方法可参照上述方法实施例1,此处不再赘余。

实施例4

如图4所示,本发明第四实施例提出了一种用户侧终端,所述终端包括:

认证请求模块11,用于向对应的身份认证服务系统发送认证请求,以获取所述身份认证服务系统分配的认证密钥标识;

认证密钥申请模块12,用于基于所述认证密钥标识向对应的量子密钥管理系统发送认证密钥申请请求,以获取所述量子密钥管理系统返回的认证密钥;

登录请求模块13,向所述身份认证服务系统发送登录请求信息,以使所述身份认证服务系统基于所述登录请求信息生成令牌密文,其中,所述登录请求信息为采用所述认证密钥加密得到;

跨域认证模块14,用于接收所述令牌密文,在用户侧终端访问跨域的身份认证服务系统时,向跨域的身份认证服务系统发送登录请求,所述登录请求携带所述令牌密文。

本实施例中用户侧终端向量子密钥生成系统申请认证密钥用于加密登录请求信息后发送至身份认证服务系统,在身份认证服务系统接收登录请求信息后解密并校验合法性后生成令牌密文,解决了传统身份认证凭证数据不加密或者加密依赖公钥算法的问题;跨域的多个身份认证服务系统间无需集中维护用户身份令牌,当用户侧终端需要访问跨域的其他身份认证服务系统,由用户侧终端直接将本域内产生的身份令牌密文转发到对应的跨域身份认证服务系统完成解密和验证,通过后完成跨域认证,解决传统跨域的身份认证服务系统需要集中维护身份令牌的问题。

在一实施例中,所述用户侧终端设置有安全芯片,所述安全芯片中存储有量子密钥分发系统预置的量子密钥作为用户主密钥,所述认证请求模块11,具体用于执行以下步骤:

向所述身份认证服务系统发送认证请求,所述认证请求携带信息包括用户主密钥、用户主密钥标识以及安全芯片ID;

与所述身份认证服务系统建立会话,并接收所述身份认证服务系统分配的认证密钥标识ReadkeyID。

在一实施例中,所述认证密钥申请模块12,具体用于执行以下步骤:

构造认证密钥请求信息并发送至对应的所述量子密钥管理系统,所述认证密钥请求信息包括所述用户主密钥标识以及采用所述用户主密钥加密的请求信息,所述请求信息为:安全芯片ID||QMSID-A||KMID-A||ReadkeyID,QMSID-A为量子密钥管理系统A的虚拟唯一标识,KMID-A为量子密钥管理系统A对应的量子密钥终端的虚拟唯一标识,ReadkeyID为所述认证密钥标识;

在所述量子密钥管理系统根据所述用户主密钥标识查找对应的用户主密钥对所述认证密钥请求信息解密成功后,接收所述量子密钥管理系统返回的认证密钥加密消息,所述认证密钥加密消息为所述量子密钥管理系统采用用户主密钥对认证密钥加密得到;

根据所述用户主密钥标识查找对应的用户主密钥,对所述认证密钥加密消息进行解密,得到所述认证密钥。

在一实施例中,所述登录请求模块13,具体用于执行以下步骤:

用户侧终端使用认证密钥WK-A加密登录信息,向身份认证服务系统A发送登录信息密文和ReadkeyID,使得身份认证服务系统A接收登录信息密文,并基于ReadkeyID向量子密钥管理系统A获取认证密钥WK-A,解密后验证登录信息,验证通过后身份认证服务系统A生成令牌密文。

在一实施例中,所述跨域认证模块14,具体用于执行以下步骤:

接收所述令牌密文,并采用所述认证密钥对所述令牌密文进行解密验证,确认响应认证完成;

在用户侧终端访问跨域的身份认证服务系统时,将所述令牌密文转发到跨域的身份认证服务系统所对应的量子密钥管理系统;

接收跨域的身份认证服务系统所对应的量子密钥管理系统返回的跨域认证结果。

在一实施例中,在用户侧终端访问跨域的身份认证服务系统,向跨域的身份认证服务系统发送登录请求,若所述登录请求未携带所述令牌密文,所述用户侧终端还包括:

重定向消息接收模块,用于接收跨域的身份认证服务系统返回的连接失败消息及重定向消息,所述重定向消息包括本域内的身份认证服务系统的参数信息;

身份认证模块,用于基于所述本域内的身份认证服务系统的参数信息,向本域内的身份认证服务系统发起身份认证流程。

需要说明的是,本发明所述用户侧终端的其他实施例或具有实现方法可参照上述方法实施例2,此处不再赘余。

实施例5

如图5所示,本发明第五实施例提出了一种基于量子密钥分发网络的跨域身份认证系统,所述系统包括用户侧终端、量子密钥生成系统、所述用户侧终端本域内的身份认证服务系统A以及所述用户侧终端跨域内的身份认证服务系统B,所述身份认证服务系统A连接量子密钥管理系统A,所述身份认证服务系统B连接量子密钥管理系统B,所述量子密钥管理系统A和所述量子密钥管理系统B均与所述量子密钥生成系统连接,其中:

所述身份认证服务系统A和所述身份认证服务系统B用于向所述量子密钥生成系统发送密钥协商请求,建立所述量子密钥生成系统内KM间中继密钥协商链路并生成对称的认证密钥;

所述用户侧终端向所述身份认证服务系统A发送认证请求,并接收所述身份认证服务系统A返回的认证密钥标识;

所述用户侧终端向所述身份认证服务系统A发送登录请求信息,并接收所述身份认证服务系统A响应的令牌密文;

所述用户侧终端基于所述令牌密文,访问所述身份认证服务系统B。

本实施例中,身份认证服务系统采用可配置的密钥申请模式向量子密钥管理系统发起跨域密钥协商请求,建立量子密钥生成系统内KM间的中继密钥链路,实现跨域的量子密钥管理系统间密钥协商,解决基于量子密钥分发网络在跨域身份认证服务系统间密钥同步的问题;身份认证服务系统接收用户侧终端发送的认证请求,向用户侧终端响应构造的令牌密文,跨域的多个身份认证服务系统间无需集中维护用户身份令牌,当用户需要访问跨域的其他身份认证服务系统,由用户侧直接将本域内产生的身份令牌密文转发到对应的跨域身份认证服务系统完成解密和验证,通过后完成跨域认证,解决传统跨域的身份认证服务系统需要集中维护身份令牌的问题。

具体地,量子密钥分发网络包括量子密钥生成系统和量子密钥管理系统(QuantumKey Management Service,QMS)。

所述的量子密钥生成系统是由两个或多个量子密钥分发节点通过量子密钥分配系统QKD和量子密钥终端KM链路连接组成的网络,当两个量子密钥分发节点无法通过QKD和KM直接相连时,可通过KM的密钥中继功能实现密钥分发。

所述的QKD为用于实现量子密钥分发所需的量子光学过程(包括QKD协议、同步、密钥蒸馏等)和密码学功能的软硬件系统。QKD作为直接生成密钥的端点模块,可通过QKD链路进行互联。两种典型的QKD分别是QKD发送机(QKD-Tx)和QKD接收机(QKD-Rx)。

所述的KM为量子密钥分发节点中用于实现密钥管理层的密钥管理功能的软硬件系统,提供密钥存储、密钥输出、密钥协商、密钥中继等功能。所述密钥中继是指非直连量子密钥分发节点间密钥生成,可扩展QKD传输距离。

所述的量子密钥管理系统提供包括量子密钥管理,量子密钥充注,量子密钥分发,通过网络与跨域的多个身份认证服务系统数据交互实现密钥同步等功能。

所述的安全芯片为符合国家商用密码局颁发证书的产品,可以为SIM卡或U盾等形态,通过内置或者外接于用户侧终端。具备密钥存储、密码运算等基础功能的安全介质,能和量子密钥管理系统对接实现安全芯片内密钥充注、密钥申请等功能。

所述用户侧终端可以有不同的表现形式,包括手机移动终端、PC移动终端等。支持对接安全芯片获取密钥,实现身份令牌数据的加密。

所述的身份认证服务系统使用CAS技术提供用户身份认证鉴权,Token维护,使用安全芯片的预置密钥对接量子密钥管理系统,实现密钥申请等功能。所述的身份认证服务系统A对应用户侧为本域内的系统,身份认证服务系统B对应跨域外的系统。

所述CAS是指中央认证服务,CAS Server负责对用户的认证,CAS Client负责提供资源,当资源受保护时需要用户进行身份认证时,重定向到CAS Server进行认证。

进一步地,结合CAS技术下的基于量子密钥分发网络的跨域身份认证过程包括如下步骤:

(1)跨域密钥协商过程:身份认证服务系统A作为主动端采用“请求式”,身份认证服务系统B作为被动端采用“推送式”的密钥传输模式向量子密钥管理系统发起跨域密钥协商请求,建立量子密钥生成系统内KM间的中继密钥链路,实现跨域的量子密钥管理系统间密钥协商。

1-1)身份认证服务系统A调用初始化接口向量子密钥管理系统A完成初始化过程,输入QMSID-A、KMID-A、IP、端口参数。

1-2)身份认证服务系统A作为密钥应用服务端向量子密钥管理系统发起入网认证请求,量子密钥管理系统生成签名公私钥对Kp和Ks,并导入至身份认证服务系统。

1-3)身份认证服务系统A使用私钥Ks签名认证数据,量子密钥管理系统使用预置的公钥Kp验证签名的认证信息,验证通过后,返回认证通过。

1-4)量子密钥管理系统A返回tokenHandle-A,身份认证服务系统A缓存认证令牌句柄。认证通过后的认证令牌句柄,调用申请密钥函数时可作为入参传入。身份认证系统B同理完成上述S1-S4过程,获取认证令牌句柄tokenHandle-B。

1-5)身份认证服务系统A作为主动端,采用请求式向量子密钥管理系统A发起密钥协商,量子密钥管理系统A识别该密钥协商请求为跨域密钥协商模式,协商请求信息包含(QMSID-A||KMID-A||QMSID-B||KMID-B)发送到量子密钥生成网络。

1-6)量子密钥生成网络根据协商请求信息触发KM-A和KM-B的中继密钥协商流程,协商流程完成后KM-A和KM-B分别生成对称的密钥,并存储在中继密钥池RelayAB和RelayBA中。

1-7)身份认证服务系统A向量子密钥管理系统A预先申请批量密钥,输入认证令牌句柄tokenHandle-A、QMSID-B、KMID-B,返回获取通知和密钥标识ReadkeyID。

1-8)身份认证服务系统B作为被动端采用推送式监听等待本端量子密钥管理系统B返回密钥信息,两端身份认证服务系统无需直接建立连接关系。被动端将获取到的密钥信息进行缓存,供后续密钥获取使用。

(2)跨域认证密钥申请过程:用户侧终端访问本域内的身份认证服务系统A时,会基于安全芯片向量子密钥管理系统A获取认证密钥,认证密钥来源于KM-A的中继密钥池。当用户侧终端访问跨域的身份认证服务系统B时,认证密钥标识传入量子密钥管理系统B后,在KM-B的中继密钥池查找对应的认证密钥。

2-1)量子密钥管理系统A向用户侧终端的安全芯片预置量子密钥,作为用户主密钥;量子密钥管理系统A存储用户主密钥和安全芯片的对应关系。

2-2)用户侧终端向身份认证服务系统A发起认证请求,从安全芯片内获取用户主密钥UMK-1,密钥标识NUMK-1,芯片ID。

2-3)用户侧终端与身份认证服务系统A建立会话,身份认证服务系统A分配密钥标识ReadkeyID。用户侧终端向量子密钥管理系统A发起认证密钥申请请求,构造认证密钥请求信息:用户主密钥UMK-1加密(时变参数||芯片ID||ReadkeyID)+密钥标识NUMK-1。

2-4)量子密钥管理系统A根据密钥标识NUMK-1查找对应的密钥完成认证密钥请求信息的解密,同时根据ReadkeyID获取认证密钥WK-A,认证密钥来源于KM-A的中继密钥池RelayAB。

2-5)认证密钥WK-A通过用户主密钥UMK-1加密后分发到用户侧终端,用户侧终端根据密钥标识NUMK-1查找对应用户主密钥UMK-1完成解密,用户侧终端获取认证密钥WK-A。用户侧终端维护认证密钥WK-A、ReadkeyID、QMSID-A、KMID-A的关系数据。

(3)跨域身份认证过程:身份认证服务系统A获取认证密钥,构造Token的密文数据,且使用HMAC-SM3算法结合认证密钥计算Token的密文数据的MAC值,并转发Token的密文数据和MAC值到用户侧终端。当用户需要访问跨域的其他身份认证服务系统,用户侧直接将Token的密文数据和MAC值转发到对应的跨域身份认证服务系统完成解密和验证,通过后响应跨域认证完成。

3-1)用户侧终端使用认证密钥WK-A结合SM4、HAMC-SM3算法操作登录信息,计算出登录信息密文(时变参数+登录认证凭据)、登录信息MAC值,向身份认证服务系统A发送登录信息密文、登录信息MAC值和ReadkeyID。

3-2)身份认证服务系统A接收登录信息密文、登录信息MAC值,并基于ReadkeyID向量子密钥管理系统A获取认证密钥WK-A,解密和校验登录信息,登录认证凭据验证通过后身份认证服务系统A根据CAS技术生成身份令牌Token。

3-3)身份认证服务系统A再使用认证密钥WK-A结合国密SM4算法计算出Token的密文数据(时变参数+Token),且使用HMAC-SM3算法结合认证密钥计算Token的密文数据的MAC1值。转发Token的密文数据和MAC-1值到用户侧终端。

3-4)用户侧终端接收Token的密文数据和MAC值,使用认证密钥WK-A完成解密Token的密文数据,获取Token。并使用HMAC-SM3算法运算出Mac-2值,并对比MAC-1与Mac-2是否一致。如果解密信息对比一致,继续进行[018]过程。如果解密信息失败或对比MAC值不一致,返回失败响应。

3-5)当用户需要访问跨域的身份认证服务系统B,用户侧终端发送Token的密文数据、MAC-1值和ReadkeyID、QMSID-A、KMID-A到身份认证服务系统B。

3-6)身份认证服务系统B向量子密钥管理系统B传入ReadkeyID、QMSID-A、KMID-A、tokenHandle-B,量子密钥管理系统B基于密钥标识向中继密钥池RelayBA查找对应的认证密钥WK-A。

3-7)身份认证服务系统B获取认证密钥WK-A,并使用HMAC-SM3算法运算出Mac-3值,并对比MAC-3与Mac-1是否一致。如果解密信息对比一致,认证通过。如果解密信息失败或对比MAC值不一致,返回认证失败响应。

需要说明的是,本实施例中用户侧终端采用安全芯片预置密钥作为用户主密钥,基于用户主密钥向量子密钥分发网络申请认证密钥用于加密登录信息,身份认证服务系统接收登录加密信息后解密并校验合法性,解决了传统身份认证凭证数据不加密或者加密依赖公钥算法的问题。

身份认证服务系统校验用户认证凭证通过后,向用户端响应构造的令牌密文。当用户需要访问跨域的其他身份认证服务系统,用户侧直接将令牌密文转发到对应的跨域身份认证服务系统,解决传统跨域的身份认证服务系统需要集中维护身份令牌的问题。

身份认证服务系统采用可配置的密钥申请模式向量子密钥管理系统发起跨域密钥协商请求,建立量子密钥生成系统内KM间的中继密钥链路,实现跨域的量子密钥管理系统间密钥协商,解决基于量子密钥分发网络在跨域身份认证服务系统间密钥同步的问题。

实施例6

如图6所示,本发明第六实施例提出结合CAS技术下的另一种基于量子密钥分发网络的跨域身份认证系统,所述系统与上述实施例5相同,均包括:量子密钥分发网络、安全芯片、用户侧终端、身份认证服务系统A、身份认证服务系统B。

跨域密钥协商过程和跨域认证密钥申请过程参照实施例5的过程,在此不重复描述。

实施例6的跨域身份认证过程与实施例5的区别在于,实施例5的身份认证过程为用户侧需首先在本域的身份认证服务系统获取身份令牌Token后,才能完成跨域的身份认证过程,具有明确的认证前提条件。

实施例6的跨域身份认证过程增加一种判断机制,实现当用户侧首先向跨域身份认证服务系统B发起登录请求时,身份认证服务系统B识别该用户为跨域的首次登录用户,身份认证服务系统B向用户侧返回重定向消息,用户侧重新向本域内的身份认证服务系统A发起身份认证过程,具体包括如下步骤:

(1)用户侧终端向跨域身份认证服务系统B发送连接请求,请求信息包括(时变参数||芯片ID||QMSID-A)。

(2)身份认证服务系统B接收连接请求,识别QMSID为跨域的用户,且缓存无该用户信息,判断该用户为跨域的首次登录用户。

(3)身份认证服务系统B向用户侧终端响应连接失败消息,并返回认证重定向的消息,消息包括身份认证服务系统A的IP或者域名、端口参数。

(4)用户侧终端接收认证重定向的消息,向身份认证服务系统A发起身份认证流程。

(5)后续过程同实施例5相同,在此不重复描述。

实施例7

如图7所示,本发明第七实施例提出了一种网络结构的基于量子密钥分发网络的跨域身份认证系统,所述系统包括:量子密钥分发网络、安全芯片、用户侧终端、身份认证服务系统A、身份认证服务系统B、身份认证服务系统C;所述的身份认证服务系统A对应用户侧为本域内的系统,身份认证服务系统B和身份认证服务系统C对应跨域外的系统。

本实施例网络结构的基于量子密钥分发网络的跨域身份认证系统的工作流程包括如下步骤:

(1)跨域密钥协商过程:身份认证服务系统A作为主动端采用“请求式”,身份认证服务系统B和身份认证服务系统C作为被动端均采用“推送式”的密钥传输模式向量子密钥管理系统发起跨域密钥协商请求。KM-A与KM-B为直连链路,KM-B与KM-C为直连链路,KM-A与KM-C为中继链路。

1-1)身份认证服务系统A调用初始化接口向量子密钥管理系统A完成初始化过程,输入QMSID-A、KMID-A、IP、端口参数。

1-2)身份认证服务系统A作为密钥应用服务端向量子密钥管理系统发起入网认证请求,量子密钥管理系统生成签名公私钥对Kp和Ks,并导入至身份认证服务系统。

1-3)身份认证服务系统A使用私钥Ks签名认证数据,量子密钥管理系统使用预置的公钥Kp验证签名的认证信息,验证通过后,返回认证通过。

1-4)量子密钥管理系统A返回tokenHandle-A,身份认证服务系统A缓存认证令牌句柄。认证通过后的认证令牌句柄,调用申请密钥函数时可作为入参传入。身份认证系统B和身份认证系统C同理获取认证令牌句柄tokenHandle-B。

1-5)身份认证服务系统A作为主动端,采用请求式向量子密钥管理系统A发起密钥协商,量子密钥管理系统A识别该密钥协商请求为跨域密钥协商模式,协商请求信息包含(QMSID-A||KMID-A||QMSID-B||KMID-B)和(QMSID-A||KMID-A||QMSID-C||KMID-C)发送到量子密钥生成网络。

1-6)量子密钥生成网络根据协商请求信息触发KM-A和KM-B的直接密钥协商流程,协商流程完成后KM-A和KM-B分别生成对称的密钥,并存储在直接密钥池QuantumAB和QuantumBA中。

1-7)同时触发KM-A和KM-C的中继密钥协商流程,协商流程完成后KM-A和KM-C分别生成对称的密钥,并存储在中继密钥池RelayAB和RelayBA中。

1-8)身份认证服务系统A向量子密钥管理系统A预先申请批量密钥,输入认证令牌句柄tokenHandle-A、QMSID-B、KMID-B、QMSID-C、KMID-C,返回获取通知和密钥标识ReadkeyID-AB和ReadkeyID-AC。

1-9)身份认证服务系统B和身份认证服务系统C作为被动端采用推送式监听等待本端量子密钥管理系统B和量子密钥管理系统C返回密钥信息。被动端将获取到的密钥信息进行缓存,供后续密钥获取使用。

(2)跨域认证密钥申请过程:用户侧终端在访问本域内的身份认证服务系统A时,会基于安全芯片向量子密钥管理系统A获取认证密钥。当用户侧终端分别访问跨域的身份认证服务系统B和身份认证服务系统C时,参照实施例1的过程按照分配的密钥标识完成认证密钥的获取。

2-1)量子密钥管理系统A向用户侧终端的安全芯片预置量子密钥,作为用户主密钥;量子密钥管理系统A存储用户主密钥和安全芯片的对应关系。

2-2)用户侧终端向身份认证服务系统A发起认证请求,从安全芯片内获取用户主密钥UMK-1,密钥标识NUMK-1,芯片ID。

2-3)用户侧终端分别与身份认证服务系统A和身份认证服务系统B和身份认证服务系统C建立会话,分别返回SessionID-AB、SessionID-AC。

2-4)当用户侧终端访问身份认证服务系统B时,身份认证服务系统A通过传入的会话SessionID-AB分配密钥标识ReadkeyID-AB。认证密钥申请请求信息:用户主密钥UMK-1加密(芯片ID||QMSID-A||KMID-A||ReadkeyID-AB)+密钥标识NUMK-1。

2-5)量子密钥管理系统A根据密钥标识NUMK-1查找对应的密钥完成认证密钥请求信息的解密,同时根据ReadkeyID-AB申请认证密钥WK-AB,认证密钥来源于KM-A的直接密钥池QuantumAB。

2-6)认证密钥WK-AB通过用户主密钥UMK-1加密后分发到用户侧终端,用户侧终端根据密钥标识NUMK-1查找对应用户主密钥UMK-1完成解密,用户侧终端获取认证密钥WK-AB。用户侧终端维护认证密钥WK-AB、ReadkeyID-AB、QMSID-A、KMID-A的关系数据。

2-7)当用户侧终端访问身份认证服务系统C时,重复2-4)~2-6)的过程。

(3)跨域身份认证过程:身份认证服务系统获取认证密钥构造Token的密文数据,且使用HMAC-SM3算法结合认证密钥计算Token的密文数据的MAC值,并转发Token的密文数据和MAC值到用户侧终端。当用户需要分别访问跨域的身份认证服务系统B和身份认证服务系统C,用户侧直接基于跨域认证密钥构造的Token的密文数据和MAC值转发到对应的跨域身份认证服务系统完成解密和验证,通过后响应跨域认证完成。

3-1)当用户侧终端访问本域内的身份认证服务系统A时通过认证密钥加密登录信息,向身份认证服务系统A发送登录信息密文和密钥标识ReadkeyID。ReadkeyID根据[212]-[215]过程,用户侧需要访问的跨域身份认证服务系统来选择。

3-2)当用户侧终端访问跨域内的身份认证服务系统B时,身份认证服务系统A接收登录信息密文,并基于ReadkeyID-AB向量子密钥管理系统A获取认证密钥WK-AB,解密后验证登录信息,验证通过后身份认证服务系统A生成Token。

3-3)身份认证服务系统A使用认证密钥WK-AB结合国密SM4算法计算出Token的密文数据,且使用HMAC-SM3算法结合认证密钥计算Token的密文数据的MAC值。转发Token的密文数据和MAC值到用户侧终端。

3-4)用户侧终端接收Token的密文数据和MAC值,使用认证密钥WK-AB完成解密,消息码比对一致,响应认证完成。

3-5)当用户需要访问跨域的身份认证服务系统B,用户侧终端发送步骤3-1)过程产生的Token的密文数据、MAC值和ReadkeyID-AB、QMSID-A、KMID-A到身份认证服务系统B。

3-6)身份认证服务系统B向量子密钥管理系统B传入ReadkeyID-AB、QMSID-A、KMID-A、tokenHandle-B,量子密钥管理系统B基于步骤1-6)过程产生的直接密钥池QuantumBA查找对应的认证密钥WK-BA。

3-7)身份认证服务系统B获取认证密钥WK-BA,解密Token的密文数据和MAC值,解密通过响应跨域认证完成,不通过响应认证失败。

3-8)当用户侧终端访问身份认证服务系统C时,重复步骤3-2)~3-7)的过程。

本实施例提出的基于量子密钥分发网络的跨域身份认证系统具有以下有益效果:

(1)安全性提升

解决身份认证数据在分发过程中不加密或者依赖公钥算法的问题,基于量子密钥分发网络安全分发认证密钥,基于认证密钥实现身份认证数据加密并通过HMAC保证数据完整性。

(2)防范量子计算对经典密码安全性的威胁

基于量子密钥分发信息论安全性,实现量子对称密钥的协商和生成,具备在量子计算拥有无限强的计算资源下也仍然安全;使用量子对称密钥作为身份认证数据加密的认证密钥,结合对称算法替换易受量子计算攻击的现用公钥密码算法。

(3)跨域身份认证去中心化

跨域的多个身份认证服务系统间无需集中维护用户身份令牌,当用户需要访问跨域的其他身份认证服务系统,由用户侧直接将本域内产生的身份令牌密文转发到对应的跨域身份认证服务系统完成解密和验证,通过后完成跨域认证。

(4)技术成熟、易于实现

量子密钥分发技术是目前公认的最具有代表性和实用性的量子安全技术,基于量子密钥分发网络产生和协商认证密钥,并用于身份令牌等数据的加密和完整性是一种技术成熟的方案。整体对系统改动较小,用户侧使用成熟的安全芯片集成方案,提供密钥存储和密码算法功能;认证服务端通过密钥接口直接对接量子密钥分发网络申请密钥,易于实现,且不用担心服务端密钥消耗量大的问题。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

相关技术
  • 一种基于量子密钥分发技术的量子保密通信网络系统及其应用
  • 基于连续变量量子密钥分发的量子身份认证方法及系统
  • 基于连续变量量子密钥分发的身份认证方法、系统、介质及设备
技术分类

06120116398652