基于量子通信网络的改进型Kerberos身份认证系统和方法与流程

文档序号:15567427发布日期:2018-09-29 03:40阅读:144来源:国知局

本发明涉及量子通信技术领域,尤其涉及基于量子网络服务站的身份认证的系统和方法。



背景技术:

身份认证是实现信息安全的基本技术,系统通过审查用户的身份来确认该用户是否具有对某种资源的访问和使用权限,同样也可以进行系统与系统间的身份认证。

当前通信网络中身份认证系统普遍采用kerberos认证方案。kerberos是一种网络认证协议,其设计目标是通过密钥系统为用户机/服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无需基于主机地址的信任,不要求网络上所有主机的物理安全,并假定网络上传送的数据包可以被任意的读取、修改和插入数据。在以上情况下,kerberos作为一种可信任的第三方认证服务,是通过传统的密码技术(如:共享密钥)执行认证服务的。

在kerberos认证方案中,引入了时间戳timestamp来对重放攻击进行遏止,但是票据有生命周期,在其生命周期的有效时间内仍然可以使用。如果收到消息的时间是在规定允许的范围之内,那么就认为该消息具有新鲜性。但是,在得到许可证后的攻击者可以发送伪造的消息,这样的话,在允许的时间内是很难发现的。

现有技术存在的问题:

(1)现有身份认证技术基于kerberos认证方案对时间戳的使用导致有出现重放攻击的可能。

(2)kerberos协议要求是基于网络中时钟同步,对整个系统时间同步要求高,在大型分布式系统中难以实现。

(3)现有技术中服务器要分别向两个用户端分发会话密钥,存在一定的安全隐患。

(4)现有技术中,用户端密钥存储于用户端存储器中,可以被恶意软件或恶意操作窃取。

(5)现有技术中若要进行二次身份认证,仍需服务器的参与,服务器压力较大。

(6)现有技术中身份认证所传递的信息数较多,完成一次身份认证需要传递五个信息。



技术实现要素:

本发明提供一种改进型kerberos身份认证系统,其基于量子通信网络进一步提高了安全性。

一种基于量子通信网络的改进型kerberos身份认证系统,包括用户端a,用户端b以及量子网络服务站;

用户端a向量子网络服务站发送与用户端b之间进行身份认证的第一次认证请求,量子网络服务站响应于该第一次认证请求分别向用户端b以及经由用户端b向用户端a发送凭证,用户端a和用户端b依据所获得的凭证分别生成且交互ticket以实施第一次认证;

用户端a还依据从用户端b获得的ticket向用户端b发送第二次认证请求,用户端b响应于该第二次认证请求并与用户端a交互ticket以实施第二次认证。

作为优选,用户端a和用户端b在交互ticket时均采用双向认证,且以真随机数作为认证标识。

本发明所述的用户端a与用户端b仅仅是便于区别和描述,a、b并不对用户端本身作出额外限定。

本发明中,在用户端a提出第一次认证请求时,用户端a和用户端b各自生成ticket且将己方的ticket分发给对方,同时用户端a和用户端b也实施第一次认证,且为双向认证。

在用户端a提出第二次认证请求时,用户端a和用户端b再次将己方的ticket分发给对方,同时用户端a和用户端b也实施第二次认证,且为也双向认证。第二次认证时量子网络服务站也不在参与,仅通过用户端a和用户端b完成,减轻了量子网络服务站的压力。

作为优选,各用户端分别配置有量子密钥卡,用于生成真随机数作为ticket分发以及ticket使用时的认证标识。

用户端的配置的量子密钥卡分别与量子网络服务站存储有相应的量子密钥,用于在用户端与量子网络服务站之间直接或间接的加密传输以及身份认证。

作为网络侧的量子网络服务站可以是一个或多个,多个量子网络服务站参与时,整个网络侧可视为一整体,当不同的量子密钥卡归属于不同的量子网络服务站时,不同的量子网络服务站可以通过qkd等方式在站间加密传输数据。

由于本发明基于量子网络,在没有特别强调时,所涉及到的随机数均为真随机数,例如量子随机数,所述涉及到的密钥均为量子密钥。

还包括各用户端与量子网络服务站之间的密钥预同步,具体为:

用户端a配置的量子密钥卡产生密钥ka,并将产生方式通知量子网络服务站,量子网络服务站生成相应的密钥ka’;

用户端b或用户端b配置的量子密钥卡产生密钥kb以及与用户端a之间的会话密钥ka-b,并将产生方式通知量子网络服务站,量子网络服务站生成相应的密钥kb’以及会话密钥ka-b’。

用户端a提出第一次认证请求时,向量子网络服务站发送第一消息,该第一消息包括用户端a的身份信息、用户端b的身份信息、以及作为认证标识的真随机数na,所述真随机数na由用户端a配置的量子密钥卡产生;

量子网络服务站响应于该第一消息生成第一凭证和第二凭证;并通过第二消息发送给用户端b;

所述第一凭证采用密钥ka’加密,内容包括用户端a的身份信息,用户端b的身份信息、真随机数na以及会话密钥ka-b’;

所述第二凭证采用密钥kb’加密,内容包括用户端a的身份信息,用户端b的身份信息以及真随机数na。

用户端b通过第三消息向用户端a转发第一凭证,所述第三消息包括:

第一凭证;

用会话密钥ka-b加密的真随机数na

作为认证标识的真随机数nb,所述真随机数nb由用户端b或用户端b配置的量子密钥卡产生;

ticketb,ticketb内容采用密钥kb加密,包括用户端a的身份信息、用户端b的身份信息、会话密钥ka-b和用户端b设定的ticketb的到期时间tb。

用户端a响应于所述第三消息,并向用户端b发送第四消息,所述第四消息包括:

用会话密钥ka-b’加密的真随机数nb;

ticketa,ticketa内容采用密钥内容ka加密,包括用户端a的身份信息、用户端b的身份信息、会话密钥ka-b’和用户端a设定的ticketa的到期时间ta。

在第一次认证中,用户端a和用户端b在交互ticket时的双向认证包括:

用户端a收到第三消息时,用会话密钥ka-b’解密并验证真随机数na;

用户端b收到第四消息时,用会话密钥ka-b解密并验证真随机数nb。

用户端a提出第二次认证请求时,用户端a向用户端b发送认证请求,该认证请求包括:

作为认证标识的真随机数na’,所述真随机数na’由用户端a配置的量子密钥卡产生;以及

所述ticketb;

用户端b响应于所述认证请求,向用户端a发送认证回复,该认证回复包括:

所述ticketa;

用会话密钥ka-b加密的真随机数na’;以及

作为认证标识的真随机数nb’,所述真随机数nb’由用户端b或用户端b配置的量子密钥卡产生;

用户端ab响应于所述认证回复,向用户端b发送认证结果,该认证结果包括用会话密钥ka-b’加密的真随机数na’和真随机数nb’。

在第二次认证中,用户端a和用户端b在交互ticket时的双向认证包括:

用户端a收到认证回复时,用会话密钥ka-b’解密并验证真随机数na’;

用户端b收到认证结果时,用会话密钥ka-b解密并验证真随机数真随机数na’和真随机数nb’。

为了进一步提高安全性,作为优选,用户端a提出第一次认证请求时,向量子网络服务站发送第一消息,该第一消息包括用户端a的身份信息、用户端b的身份信息、以及作为认证标识的真随机数na,所述真随机数na由用户端a配置的量子密钥卡产生;

量子网络服务站响应于该第一消息生成第一凭证和第二凭证;并通过第二消息发送给用户端b;

所述第一凭证采用密钥ka’加密,内容包括用户端a的身份信息,用户端b的身份信息、真随机数na、会话密钥ka-b’以及临时会话密钥kt’;

其中临时会话密钥kt’由用户端b与量子网络服务站同步生成,用户端b持有临时会话密钥kt,量子网络服务站持有相同的临时会话密钥kt’;

所述第二凭证采用密钥kb’加密,内容包括用户端a的身份信息,用户端b的身份信息以及真随机数na。

用户端b通过第三消息向用户端a转发第一凭证,所述第三消息包括:

第一凭证;

会话密钥ka-b和真随机数na,且两者用临时会话密钥kt加密;

作为认证标识的真随机数nb,所述真随机数nb由用户端b或用户端b配置的量子密钥卡产生;

ticketb,ticketb内容采用密钥kb加密,包括用户端a的身份信息、用户端b的身份信息、会话密钥ka-b和用户端b设定的ticketb的到期时间tb。

用户端a响应于所述第三消息,并向用户端b发送第四消息,所述第四消息包括:

会话密钥ka-b’和真随机数nb,且两者用临时会话密钥kt’加密;

ticketa,ticketa内容采用密钥ka加密,包括用户端a的身份信息、用户端b的身份信息、会话密钥ka-b’和用户端a设定的ticketa的到期时间ta。

在第一次认证中,用户端a和用户端b在交互ticket时的双向认证包括:

用户端a收到第三消息时,用临时会话密钥kt’解密并验证真随机数na;

用户端b收到第四消息时,用临时会话密钥kt解密并验证真随机数nb。

本发明中,可选的情况是,用户端a与用户端b两者匹配的量子密钥卡归属于同一量子网络服务站。即均与该量子网络服务站存储有相应的量子密钥,也可视为在局域网环境下。

若在广域网环境下,用户端a与用户端b两者匹配的量子密钥卡归属于不同的量子网络服务站,例如:

所述量子网络服务站包括量子网络服务站a以及量子网络服务站b,其中用户端a匹配的量子密钥卡颁发自量子网络服务站a,用户端b匹配的量子密钥卡颁发自量子网络服务站b;

用户端a向量子网络服务站a发送第一消息,量子网络服务站a将第一消息的内容以及密钥ka’转发给量子网络服务站b,由量子网络服务站b生成第一凭证和第二凭证;并通过第二消息发送给用户端b。

本发明还提供一种基于量子通信网络的改进型kerberos身份认证系统方法,实施在本发明所述的基于量子通信网络的改进型kerberos身份认证系统中。

由于在改进型kerberos身份认证系统中已有相关流程的详细描述,因此方法部分不再赘述。

现有身份认证技术基于kerberos认证方案对时间戳的使用导致有出现重放攻击的可能,并且整个kerberos协议要求是基于网络中时钟同步,对整个系统时间同步要求高,在大型分布式系统中难以实现。本发明将原方案使用的时间戳改为了真随机数,并使用与用户端b的本地时钟相关联的时间戳,对整个系统的时间同步没有要求。

本发明中会话密钥的生成方式为使用量子网络服务站与用户端b同步产生而不是由量子网络服务站直接生成,省去了向用户端b分发会话密钥的过程,降低了分发过程中会话密钥被破解导致消息泄露的可能,提升了安全性。

本发明使用量子密钥卡存储用户端密钥而不是用户端存储器,量子密钥卡是独立的硬件设备,被恶意软件或恶意操作窃取密钥的可能性大大降低。

本发明中二次身份认证不需要服务器的参与而是利用初次验证中派发的ticket直接在两用户端之间完成,降低了服务器的压力。

本发明中初始身份认证只需要传递四个信息,二次身份认证只需要传递三个信息,减少了身份认证所需要传递的信息数。

附图说明

图1为本发明身份认证系统结构图。

图2为实施例1中初始身份认证流程图。

图3为实施例1中二次身份认证流程图。

图4为实施例2中初始身份认证流程图。

图5为实施例3中初始身份认证流程图。

图6为实施例4中初始身份认证流程图。

具体实施方式

如图1所示,本发明身份认证系统可以包括多个量子网络服务站,不同量子网络服务站之间可以通过qkd方式共享站间量子密钥。

量子网络服务站包括:

量子服务中心,主要用于通过经典网络与用户侧的各用户端通信连接以及与其他量子网络服务站通信连接;经典网络包括但不限于电信网、互联网、广播电视网或者其他通信网络等。

量子密钥分发设备,主要用于通过qkd方式实现站间量子密钥的共享。

真随机数发生器,用于接收用户侧密钥管理服务器提出的申请用户侧密钥的请求,生成用户侧密钥,并发送给用户侧密钥管理服务器;此处采用的为真随机数发生器。其优选为量子真随机数发生器,也可以为基于电路的真随机数发生器、基于物理源的真随机数发生器以及其他种类的真随机发生器。

用户侧密钥管理服务器,存放、管理从真随机数发生器生成的用户侧密钥,可以接入可移动式的量子密钥卡,实现发卡、登记、拷贝用户侧密钥,还可以接收量子服务中心提出的申请用户侧密钥请求,发送相应长度的用户侧密钥给量子服务中心。量子密钥卡的详细内容请见申请号为“201610846210.6”的专利。

其中量子服务中心包括:身份认证服务器,票据许可服务器,还可根据需要设置其他服务器,例如数字签名服务器、签名验证服务器、加解密服务器等。

身份认证服务器用于实现用户在接受消息认证、数字签名等服务前与量子网络服务站的相互身份认证。身份认证服务器内部具有采用pci总线接口的加密卡,用于存储身份认证协议,包括密钥生成算法、认证函数、加密传输协议。

票据许可服务器用于实现用户在获得与量子网络服务站的相互身份认证后,为用户分发其访问某一用户的申请的许可。

各量子网络服务站下配置有用户端,例如图中的用户端1~用户端n,本说明书中不同的服务器或其他装置在硬件上也可以根据需要进行整合。

用户端为接入量子网络服务站的设备,可为移动终端,或为固定终端。当为移动终端时,量子密钥卡优选为量子sd卡;当为固定终端时,量子密钥卡优选为usbkey或主机加密板卡。

当用户前往所在区域的量子网络服务站进行注册登记,获批后得到量子密钥卡(具有唯一的量子密钥卡id)。量子密钥卡存储了用户注册登记信息,还内置有身份认证协议,至少包括密钥生成算法以及认证函数,或其他与身份认证相关的算法。

网络侧的各个量子网络服务站也相应的存有认证协议,若协议中各算法存在两种以上,量子密钥卡在与量子网络服务站通信时会将算法标号发送给量子网络服务站,供量子网络服务站选取。

量子密钥卡中的用户侧密钥可能下载自不同的量子网络服务站,因此可按不同来源存在不同的密钥种子集中,用户端可按预先设定的规则取用密钥种子以生成密钥。不同的密钥种子集具有唯一的密钥种子id,其指向的量子网络服务站中存储有相应的密钥种子。

量子密钥卡从智能卡技术上发展而来,是结合了量子物理学技术、密码学技术、智能卡技术和usb技术的身份认证产品。量子密钥卡的内嵌芯片和芯片操作系统可以提供私钥的安全存储和密码算法等功能。由于其具有独立的数据处理能力和良好的安全性,量子密钥卡成为量子真随机数私钥的安全载体。每一个量子密钥卡都有硬件pin码保护,pin码和硬件构成了用户使用量子密钥卡的两个必要因素。即所谓“双因子认证”,用户只有同时取得保存了相关认证信息的量子密钥卡和用户pin码,才可以登录系统。即使用户的pin码被泄露,只要用户持有的量子密钥卡不被盗取,合法用户的身份就不会被仿冒;如果用户的量子密钥卡遗失,拾到者由于不知道用户pin码,也无法仿冒合法用户的身份。

实施例1,局域网内同属于一个量子网络服务站的两个用户端身份认证

以下步骤中,在各用户端侧涉及的加解、密操作,都在所匹配的量子密钥卡中进行。身份认证服务器和票据许可服务器涉及的加、解密操作,是在量子网络服务站的加解密服务器中完成。

当用户端a、用户端b都同属于一个量子网络服务站时,身份认证过程中所涉及的量子密钥卡在该本地量子网络服务站注册颁发。具体步骤参见图2,图中,大括号内表示被加密的部分,括号内表示传输的多个内容,用逗号隔开,后面紧跟的内容表示使用的密钥,如{a,b,na,ka-b’}ka’表示使用ka’加密a,b,na和ka-b’。若未使用大括号,则表示是明文传输。每条message中,若包括多个部分,则每个部分作为一行表示,例如message3分为四行表示,即包括四部分内容,其中第一部分为{a,b,na,ka-b’}ka’,其余部分以及其余附图同理。

初始身份认证具体步骤参见图2,文字描述如下:

1.身份认证密钥生成:

用户侧身份认证密钥生成:用户端a匹配的量子密钥卡根据所存储的密钥种子sa以及卡内随机数发生器所产生的随机数r1结合密钥生成算法as得到密钥ka(以下简称ka,其它同理省去汉字部分作为简称),并将随机数r1以及密钥生成算法id和密钥种子id传递给量子网络服务站。

用户端b匹配的量子密钥卡根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r2结合密钥生成算法bs得到密钥kb。用户端b匹配的量子密钥卡根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r3结合密钥生成算法bs得到与用户端a之间的会话密钥ka-b。并将随机数r2、r3以及密钥生成算法id和密钥种子id传递给量子网络服务站。

网络侧身份认证密钥生成:量子网络服务站根据密钥生成算法id和密钥种子id,在当前量子网络服务站内找出对应的密钥种子sa’和密钥生成算法as’,结合随机数r1运算得到与ka相同的密钥ka’。

量子网络服务站根据密钥生成算法id和密钥种子id,在当前量子网络服务站内找出对应的密钥种子sb’和密钥生成算法bs’,结合随机数r2运算得到与kb相同的密钥kb’,结合随机数r3运算得到与ka-b相同的密钥ka-b’。

2.用户端a发起身份认证请求:用户端a匹配的量子密钥卡生成真随机数na。将用户端a的身份信息(图2中message1中的a)、用户端b的身份信息(图2中message1中的b)以及na作为明文形式的message1发送给量子网络服务站。

此处应理解为message1中至少包括用户端a的身份信息、用户端b的身份信息以及na,用户端a为了表达身份认证请求以及message1在网络中的传输,可以在message1的封装过程中,选择相应的协议方式以及通过标识符等方式告知用户端b,后续的多处消息传输以及二次身份认证过程中同理,有关消息的封装以及网络传输方式本身可以采用现有技术。

3.量子网络服务站分发凭证:量子网络服务站将用户端a的身份信息,用户端b的身份信息、真随机数na以及ka-b’一起构成第一个凭证,使用ka’加密。

第二个凭证使用kb’加密,内容为用户端a的身份信息,用户端b的身份信息以及真随机数na。

量子网络服务站将两个凭证作为message2发送给用户端b。

4.用户端b发送身份认证:用户端b匹配的量子密钥卡生成真随机数nb。用户端b收到message2后,使用kb解密第二部分,了解到用户端a想要与自己进行身份认证,并得到随机数na。

将message2的第一部分和用ka-b加密的na以及明文nb一起作为message3发送给用户端a。同时发送的还有用户端b分发的一个用来进行二次身份认证的ticketb,内容为用户端a的身份信息、用户端b的身份信息、会话密钥ka-b和用户端b设定的ticketb的到期时间tb。到期时间可以是最大时间段,也可以是最大使用次数,或者两者结合并先达到的一个。

5.用户端a回复身份认证:用户端a收到message3后,使用ka解密第一部分,获得ka-b’。使用ka-b’解密第二部分验证na,如果一致,则完成对用户端b的身份认证。

用户端a使用ka-b’加密nb作为message4发送给用户端b,用户端b解密后验证nb完成双向认证,同时发送的还有用户端a分发的一个用来进行二次身份认证的ticketa,内容为用户端a的身份信息、用户端b的身份信息、会话密钥ka-b’和用户端a设定的ticketa的到期时间ta。

二次身份认证具体步骤参见图3,包括:

1.用户端a发起二次身份认证请求:用户端a匹配的量子密钥卡生成真随机数na’。将na’与之前收到的由用户端b分发的ticketb一起作为message1’发送给用户端b。

2.用户端b回复身份认证请求:收到message1’后,用户端b匹配的量子密钥卡根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数结合密钥生成算法bs得到真随机数nb’。用户端b使用kb解密ticketb得到ka-b。将nb’、ka-b加密的na’和之前收到的由用户端a分发的ticketa一起作为message2’回复给用户端a。

3.用户端a完成双向认证:用户端a收到message2’后,使用ka解密ticketa得到ka-b’,再用ka-b’解密message2’的第二部分得到na’,通过与本地的na对比以进行认证。

认证通过后再用ka-b’加密na’和nb’,作为message3’发送给用户端b,用户端b利用ka-b解密,再验证na’和nb’完成双向验证。

本系统中用户端b也可以为与a不匹配的量子网络服务站b,通过用户端a、与用户端a匹配的量子网络服务站a和量子网络服务站b三者之间的信息传递完成用户端a与量子网络服务站b相互之间的身份认证。由于需要站间通信,因此各交换中心以及量子网络服务站分别设有量子密钥分发设备,可通过qkd方式实现站间密钥的共享。初始身份认证中message2的传递可使用量子网络服务站a与量子网络服务站b各自的量子密钥分发设备实现站间量子密钥的共享,使得明文形式的message2在量子网络服务站a和量子网络服务站b实现传递。量子网络服务站a与量子网络服务站b之间如果还要通过其他网络节点中转,则直接通信连接的两量子网络服务站(或网络节点)之间通过相应的量子密钥分发设备形成的站间量子密钥,并依次中转传送密文。站间量子密钥的分发是利用量子力学基本原理实现的异地密钥共享的方式,优选为bb84协议。

用户在进行身份认证时,密钥种子长期使用或重复使用会有被破解的可能性,为提高本身份认证系统的安全性,密钥种子需要定时更新。

本实施例中的更新方式为:

用户端与匹配的量子密钥卡建立通信连接后,用户端通过上层应用程序向量子密钥卡发送更新申请,该更新申请同时也发送至量子服务中心。

密钥存储卡接收更新申请后,按预先设定的规则更新密钥种子,例如将一部分使用过的密钥种子做失效标识,不再使用,而启用新的密钥种子。

量子服务中心接收更新申请后,按预先与量子密钥卡协商一致的规则更新量子网络服务站内相应存储的密钥种子,实现与量子密钥卡的时时对应。本发明中各实施例的密钥种子的更新方法均采用上述方法。

实施例2,广域网内的两个用户端的身份认证

如图4所示,当用户端a、用户端b不属于同一个量子网络服务站时,身份认证过程中所涉及的量子密钥卡分别在该用户端所属的量子网络服务站注册颁发。本实施例中的系统架构区别于实施例1之处为应用在广域网中,一级交换中心是一个地级市或相当大小区域的量子网络核心站,二级交换中心是一个县级市或相当大小区域的量子网络核心站,量子网络服务站是一个乡镇或街道办事处相当大小区域的量子通信接入站点。

一级交换中心和下属的多个二级交换中心以星型网络结构相连,二级交换中心可以和多个下属的量子网络服务站以星型网络结构相连。

由于需要站间通信,因此各交换中心以及量子网络服务站分别设有量子密钥分发设备,可通过qkd方式实现站间密钥的共享。本实施例中量子网络服务站的其他设备以及关于量子密钥卡的描述可参见实施例1。

例如一级交换中心和下属的二级交换中心分别利用量子密钥分发设备实现站间量子密钥的共享,二级交换中心和下属的的量子网络服务站分别利用量子密钥分发设备实现站间量子密钥的共享,量子密钥分发设备可以是一套也可以是至少两套集成。

两个一级交换中心之间由于距离较远,可采用量子中继站的方式实现站间量子密钥共享。

本实施例中,用户端a与用户端b要进行身份认证,用户端a归属于量子网络服务站a,即相对于用户端a而言,其当前量子网络服务站为与用户端a通信连接的量子网络服务站a;同理用户端b归属于量子网络服务站b。本实施例区别于实施例1的具体部分为密钥ka’的获取与传输方式。

初始身份认证具体步骤参见图4,文字描述如下:

1.身份认证密钥生成:

用户侧身份认证密钥生成:用户端a匹配的量子密钥卡根据所存储的密钥种子sa以及卡内随机数发生器所产生的随机数r1结合密钥生成算法as得到密钥ka,并将随机数r1以及密钥生成算法id和密钥种子id传递给量子网络服务站a。

用户端b匹配的量子密钥卡根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r2结合密钥生成算法bs得到密钥kb,用户端b匹配的量子密钥卡根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r3结合密钥生成算法bs得到与用户端a之间的会话密钥ka-b,并将随机数r2、r3以及密钥生成算法id和密钥种子id传递给量子网络服务站b。

网络侧身份认证密钥生成:量子网络服务站a根据密钥生成算法id和密钥种子id,在当前量子网络服务站内找出对应的密钥种子sa’和密钥生成算法as’,结合随机数r1运算得到与ka相同的密钥ka’。量子网络服务站b根据密钥生成算法id和密钥种子id,在当前量子网络服务站内找出对应的密钥种子sb’和密钥生成算法bs’,结合随机数r2运算得到与kb相同的密钥kb’,结合随机数r3运算得到与ka-b相同的密钥ka-b’。

2.用户端a发起身份认证请求:用户端a匹配的量子密钥卡生成真随机数na。将a的身份信息、b的身份信息以及na作为明文形式的message1发送给量子网络服务站a。

3.量子网络服务站分发凭证:

量子网络服务站a收到消息后,与量子网络服务站b利用各自的量子密钥分发设备实现站间量子密钥的共享,使得明文形式的a的身份信息,b的身份信息,na和ka’在量子网络服务站a加密后发送至量子网络服务站b,再经解密恢复出明文形式的a,b,na和ka’。

量子网络服务站a与量子网络服务站b之间如果还要通过其他网络节点中转,则直接通信连接的两量子网络服务站(或网络节点)之间通过相应的量子密钥分发设备形成的站间量子密钥,并依次中转传送密文。

站间量子密钥的分发是利用量子力学基本原理实现的异地密钥共享的方式,优选为bb84协议。

量子网络服务站b将a的身份信息,b的身份信息、真随机数na以及ka-b’一起构成第一个凭证,使用ka’加密。第二个使用kb’加密,内容为a的身份信息,b的身份信息以及真随机数na。量子网络服务站将两个凭证作为message2发送给用户端b。

4.用户端b发送身份认证:用户端b收到message2后,使用kb解密第二部分,了解到用户端a想要与自己进行身份认证,并得到随机数na。将message2的第一部分和用ka-b加密的na以及明文nb一起作为message3发送给a。同时发送的还有用户端b分发的一个用来进行二次身份认证的ticketb,内容为a的身份信息、b的身份信息、会话密钥ka-b和用户端b设定的ticketb的到期时间tb。到期时间可以是最大时间段,也可以是最大使用次数,或者两者结合并先达到的一个。

5.用户端a回复身份认证:用户端a收到message3后,使用ka解密第一部分,获得ka-b’。使用ka-b’解密第二部分验证na,如果一致,则完成对b的身份认证。用户端a使用ka-b’加密nb作为message4发送给用户端b完成双向认证,同时发送的还有用户端a分发的一个用来进行二次身份认证的ticketa,内容为a的身份信息、b的身份信息、会话密钥ka-b’和用户端a设定的ticketa的到期时间ta。

二次身份认证与实施例1中描述情况相同,具体步骤参见图3。

实施例3,局域网内同属于一个量子网络服务站的两个用户端身份认证的扩展

在实施例1中的身份认证协议基础上,用户端b生成一个新的密钥kt,和ka-b一起与量子网络服务站完成同步并发送给用户端a。kt只是用来作为当前身份认证会话密钥,身份认证结束后就马上丢弃。通过添加一个只使用一次的附加密钥来实现对实施例1中身份认证协议的改进,并且没有增加身份认证的信息数。改进后的协议具体步骤参见图5,文字描述如下:

1.身份认证密钥生成:

用户侧身份认证密钥生成:用户端a匹配的量子密钥卡根据所存储的密钥种子sa以及卡内随机数发生器所产生的随机数r1结合密钥生成算法as得到密钥ka,并将随机数r1以及密钥生成算法id和密钥种子id传递给量子网络服务站。

用户端b匹配的量子密钥卡根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r2结合密钥生成算法bs得到密钥kb,根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r3结合密钥生成算法bs得到与用户端a之间的会话密钥ka-b,根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r4结合密钥生成算法bs得到当前身份认证临时会话密钥kt。并将随机数r2、r3、r4以及密钥生成算法id和密钥种子id传递给量子网络服务站。

网络侧身份认证密钥生成:量子网络服务站根据密钥生成算法id和密钥种子id,在当前量子网络服务站内找出对应的密钥种子sa’和密钥生成算法as’,结合随机数r1运算得到与ka相同的密钥ka’。在当前量子网络服务站内找出对应的密钥种子sb’和密钥生成算法bs’,结合随机数r2运算得到与kb相同的密钥kb’,结合随机数r3运算得到与ka-b相同的密钥ka-b’,结合随机数r4运算得到kt相同的密钥kt’。

2.用户端a发起身份认证请求:用户端a匹配的量子密钥卡生成真随机数na。将a的身份信息、b的身份信息以及na作为明文形式的message1发送给量子网络服务站。

3.量子网络服务站分发凭证:量子网络服务站将a的身份信息,b的身份信息、真随机数na以及ka-b’、kt’一起构成第一个凭证,使用ka’加密。第二个使用kb’加密,内容为a的身份信息,b的身份信息以及真随机数na。量子网络服务站将两个凭证作为message2发送给用户端b。

4.用户端b发送身份认证:用户端b收到message2后,使用kb解密第二部分,了解到用户端a想要与自己进行身份认证,并得到随机数na。将message2的第一部分和用kt加密的na和ka-b以及明文nb一起作为message3发送给a。同时发送的还有用户端b分发的一个用来进行二次身份认证的ticketb,内容为a的身份信息、b的身份信息、会话密钥ka-b和用户端b设定的ticketb的到期时间tb。到期时间可以是最大时间段,也可以是最大使用次数,或者两者结合并先达到的一个。

5.用户端a回复身份认证:用户端a收到message3后,使用ka解密第一部分,获得kt’和ka-b’。使用kt’解密第二部分验证na,如果一致,则完成对b的身份认证。用户端a使用kt’加密nb和ka-b’作为message4发送给用户端b完成双向认证,同时发送的还有用户端a分发的一个用来进行二次身份认证的ticketa,内容为a的身份信息、b的身份信息、会话密钥ka-b和用户端a设定的ticketa的到期时间ta。message4发送完成后,用户端a就将kt’从本地内存中移除。用户端b收到message4并完成对a的身份认证后,也将kt’从本地内存中移除。kt’比ka-b’更难破解因为它只被a和b使用一次,并且ka-b’可以多次使用因为每一次都是使用不同的kt’。

二次身份认证与实施例1中描述情况相同,具体步骤参见图3。

本系统中用户端b也可以为与a不匹配的量子网络服务站b,具体情况与实施例1中描述一致。

实施例4,广域网内的两个用户端的身份认证的扩展

如图6所示,当用户端a、用户端b不属于同一个量子网络服务站时,身份认证过程中所涉及的量子密钥卡分别在该用户端所属的量子网络服务站注册颁发。本实施例中的系统架构区别于实施例3之处为应用在广域网中,一级交换中心是一个地级市或相当大小区域的量子网络核心站,二级交换中心是一个县级市或相当大小区域的量子网络核心站,量子网络服务站是一个乡镇或街道办事处相当大小区域的量子通信接入站点。

一级交换中心和下属的多个二级交换中心以星型网络结构相连,二级交换中心可以和多个下属的量子网络服务站以星型网络结构相连。

由于需要站间通信,因此各交换中心以及量子网络服务站分别设有量子密钥分发设备,可通过qkd方式实现站间密钥的共享。本实施例中量子网络服务站的其他设备以及关于量子密钥卡的描述可参见实施例1。

例如一级交换中心和下属的二级交换中心分别利用量子密钥分发设备实现站间量子密钥的共享,二级交换中心和下属的的量子网络服务站分别利用量子密钥分发设备实现站间量子密钥的共享,量子密钥分发设备可以是一套也可以是至少两套集成。

两个一级交换中心之间由于距离较远,可采用量子中继站的方式实现站间量子密钥共享。

本实施例中,用户端a与用户端b要进行身份认证,用户端a归属于量子网络服务站a,即相对于用户端a而言,其当前量子网络服务站为与用户端a通信连接的量子网络服务站a;同理用户端b归属于量子网络服务站b。本实施例区别于实施例3的具体部分为密钥ka’的获取与传输方式。

初始身份认证具体步骤参见图6,文字描述如下:

1.身份认证密钥生成:

用户侧身份认证密钥生成:用户端a匹配的量子密钥卡根据所存储的密钥种子sa以及卡内随机数发生器所产生的随机数r1结合密钥生成算法as得到密钥ka,并将随机数r1以及密钥生成算法id和密钥种子id传递给量子网络服务站a。用户端b匹配的量子密钥卡根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r2结合密钥生成算法bs得到密钥kb,根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r3结合密钥生成算法bs得到与用户端a之间的会话密钥ka-b,根据所存储的密钥种子sb以及卡内随机数发生器所产生的随机数r4结合密钥生成算法bs得到当前身份认证临时会话密钥kt。并将随机数r2、r3、r4以及密钥生成算法id和密钥种子id传递给量子网络服务站b。

网络侧身份认证密钥生成:量子网络服务站a根据密钥生成算法id和密钥种子id,在当前量子网络服务站内找出对应的密钥种子sa’和密钥生成算法as’,结合随机数r1运算得到与ka相同的密钥ka’。量子网络服务站b根据密钥生成算法id和密钥种子id,在当前量子网络服务站内找出对应的密钥种子sb’和密钥生成算法bs’,结合随机数r2运算得到与kb相同的密钥kb’,结合随机数r3运算得到与ka-b相同的密钥ka-b’,结合随机数r4运算得到kt相同的密钥kt’。

2.用户端a发起身份认证请求:用户端a匹配的量子密钥卡生成真随机数na。将a的身份信息、b的身份信息以及na作为明文形式的message1发送给量子网络服务站a。

3.量子网络服务站分发凭证:

量子网络服务站a收到消息后,与量子网络服务站b利用各自的量子密钥分发设备实现站间量子密钥的共享,使得明文形式的a的身份信息,b的身份信息,na和ka’在量子网络服务站a加密后发送至量子网络服务站b,再经解密恢复出明文形式的a,b,na和ka’。

量子网络服务站a与量子网络服务站b之间如果还要通过其他网络节点中转,则直接通信连接的两量子网络服务站(或网络节点)之间通过相应的量子密钥分发设备形成的站间量子密钥,并依次中转传送密文。

站间量子密钥的分发是利用量子力学基本原理实现的异地密钥共享的方式,优选为bb84协议。

量子网络服务站b收到消息后将a的身份信息,b的身份信息、真随机数na以及ka-b’、kt’一起构成第一个凭证,使用ka’加密。第二个使用kb’加密,内容为a的身份信息,b的身份信息以及真随机数na。量子网络服务站将两个凭证作为message2发送给用户端b。

4.用户端b发送身份认证:用户端b收到message2后,使用kb解密第二部分,了解到用户端a想要与自己进行身份认证,并得到会话密钥kt、ka-b和随机数na。将message2的第一部分和用kt加密的na和ka-b以及明文nb一起作为message3发送给a。同时发送的还有用户端b分发的一个用来进行二次身份认证的ticketb,内容为a的身份信息、b的身份信息、会话密钥ka-b和用户端b设定的ticketb的到期时间tb。到期时间可以是最大时间段,也可以是最大使用次数,或者两者结合并先达到的一个。

5.用户端a回复身份认证:用户端a收到message3后,使用ka解密第一部分,获得kt’。使用kt’解密第二部分验证na,如果一致,则完成对b的身份认证。用户端a使用kt’加密nb和ka-b’作为message4发送给用户端b完成双向认证,同时发送的还有用户端a分发的一个用来进行二次身份认证的ticketa,内容为a的身份信息、b的身份信息、会话密钥ka-b’和用户端a设定的ticketa的到期时间ta。message4发送完成后,用户端a就将kt’从本地内存中移除。用户端b收到message4并完成对a的身份认证后,也将kt从本地内存中移除。

二次身份认证与实施例1中描述情况相同,具体步骤参见图3。

以上公开的仅为本发明的实施例,但是本发明并非局限于此,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。显然这些改动和变型均应属于本发明要求的保护范围保护内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何特殊限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1