首页> 中国专利> 量子身份认证方法及其在量子密钥分发过程中的应用方法

量子身份认证方法及其在量子密钥分发过程中的应用方法

摘要

本发明公开了一种量子身份认证方法及其在量子密钥分发过程中的应用方法,可以实现两个参与方之间的相互身份认证,其安全性基于量子力学基本原理,与攻击者的计算能力无关。此外,由于在实现时不需要用到量子存储、量子纠缠、多粒子测量等技术,本方案还具有简单、易实现的特点。与现有技术相比,本发明的积极效果是:本发明方法原理清晰,实现方法简单,安全性高,不需要利用纠缠源、多粒子测量以及量子存储技术,因而在现有技术条件下具有可实现性。相关认证方案不但可以用于构建具有抗量子计算能力的高安全量子身份认证体系,还可以用于当前主流的量子密钥分发系统,实现通信双方之间的高安全身份认证。

著录项

  • 公开/公告号CN107493168A

    专利类型发明专利

  • 公开/公告日2017-12-19

    原文格式PDF

  • 申请/专利号CN201710799236.X

  • 申请日2017-09-07

  • 分类号H04L9/08(20060101);

  • 代理机构51214 成都九鼎天元知识产权代理有限公司;

  • 代理人邓世燕

  • 地址 610000 四川省成都市高新区创业路6号

  • 入库时间 2023-06-19 04:06:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-10-22

    授权

    授权

  • 2018-01-12

    实质审查的生效 IPC(主分类):H04L9/08 申请日:20170907

    实质审查的生效

  • 2017-12-19

    公开

    公开

说明书

技术领域

本发明涉及一种量子身份认证方法及其在量子密钥分发过程中的应用方法。

背景技术

当今社会中,信息无处不在,每时每刻都有大量的数据和信息在网络中进行传输。随着云计算、大数据、物联网等新技术的发展和应用,未来人们生活中的绝大部分信息都将通过网络进行传输和处理。这些信息小到个人隐私,大到军事秘密、国家决策,都是和国计民生息息相关的,足见保护信息安全已经成为信息时代的一个必须解决的关键问题。而一个国家的信息安全保障能力已经成为衡量其科技水平和综合国力的重要指标之一。

要确保信息交互的安全,首先需要正确识别通信双方的身份。通过认证可以保障通信双方身份的真实性、消息的完整性和来源可靠性,从而防止非法方对信息进行伪造、修改等攻击。因此,身份认证技术是信息安全的核心技术之一。现有的身份认证机制一般采用MD、MAC、SHA等算法对用户信息的明文进行信息摘要的提取。在认证过程中通过比对摘要来识别用户的身份。为了进一步保证摘要信息的传输安全,用户通常还会在对明文进行信息摘要提取后,再通过RSA、ECC、DES、AES等经典加密算法对信息摘要进行加密得到最终密文。然而,现有经典加密算法的安全性都是基于某种数学困难问题(计算复杂性假设)。随着量子计算机的研制以及量子算法(如shor算法)的提出,基于计算复杂性假设的经典密码系统的安全性受到了严峻挑战。2017年,加拿大D-wave公司发布了全新一代2000位商用量子计算机2000Q,它的出现使这种“量子威胁”变得越发实在。为了应对量子计算机和量子算法带给经典密码体制的潜在威胁,人们开始研究能够对抗量子计算攻击的新型密码算法,量子密码体制就是在这种背景下应运而生的。量子密码是经典密码理论和量子力学基本原理相结合而产生的新型密码体制。与经典密码系统不同,量子密码系统以量子态作为信息载体,依据物理规律而设计,其安全性由量子力学基本特性所保证,与攻击者计算能力的大小无关。

截止目前,无论是现行的信息安全保障体系,还是正在迅速发展的量子保密通信(量子密钥分发)系统,都仍然在采用经典的认证方法进行身份认证。因此,研究如何利用量子力学基本原理来保证身份认证过程的安全,设计安全性基于量子力学基本原理的高安全身份认证方案,是一项非常重要的工作。相关研究成果可以为构建量子计算时代的高安全身份认证体系提供一种重要的技术选择。

发明内容

为了克服现有技术的上述缺点,本发明提供了一种量子身份认证方法及其在量子密钥分发过程中的应用方法,可以实现两个参与方之间的相互身份认证,其安全性基于量子力学基本原理,与攻击者的计算能力无关。此外,由于在实现时不需要用到量子存储、量子纠缠、多粒子测量等技术,本发明还具有简单、易实现的特点。

本发明解决其技术问题所采用的技术方案是:一种量子身份认证方法,包括如下内容:设A和B是需要进行相互身份认证的两个参与方,A、B之间事先共享了两串s长的秘密比特序列KP和KAB,A、B的身份标识序列分别为是IDA和IDB,A、B事先商量好了一个单向的Hash函数h:{0,1}*→{0,1}m,其中,KP和KAB是保密的,IDA、IDB以及h是公开的,A、B互相进行身份认证的步骤如下:

步骤一、A生成一串m比特长的消息MA以及两个随机数rA和rP,然后向B发送一条包括IDA、rA和rP的消息;

步骤二、接收到A发送的消息后,B生成一串m比特长的消息MB和一个随机数rB,然后向A回复一条包括IDB、MB和rB的消息;

步骤三、接收到B发送的消息后,A制备两串分别由m个单光子态组成的子序列SA和SB,然后将SA和SB合并成一串长度为2m的单光子序列S后发送给B;

步骤四、B依次对收到的单光子态进行测量,判断S中每一个光子所属子序列(SA或SB)并记录测量结果。根据SB中单光子态的测量结果得到一个新的随机比特序列然后通过对比和MB对A进行身份认证,并在通过认证后公开根据SA中单光子态的测量结果提取出的序列

步骤五、A通过比对和MA对B进行身份认证。

与现有技术相比,本发明的积极效果是:

本发明方法原理清晰,实现方法简单,安全性高,不需要利用纠缠源、多粒子测量以及量子存储技术,因而在现有技术条件下具有可实现性。相关认证方案不但可以用于构建具有抗量子计算能力的高安全量子身份认证体系,还可以用于当前主流的量子密钥分发系统,实现通信双方之间的高安全身份认证。

附图说明

本发明将通过例子并参照附图的方式说明,其中:

图1为量子身份认证方案示意图;

图2为量子身份认证方案在量子密钥分发过程中的应用方法。

具体实施方式

身份认证方案:

如图1所示,假设Alice和Bob是需要进行相互身份认证的两个参与方,他们之间事先共享了两串s长的秘密比特序列KP和KAB(这里Alice和Bob可以是两个需要进行信息交互的普通用户;也可以一方是普通用户,另一方是认证中心)。Alice和Bob的身份标识序列分为是IDA和IDB,并且它们事先商量好了一个单向的Hash函数h:{0,1}*→{0,1}m(函数h也可以通过约定的算法从一个双方共享的Hash函数库里选取)。在上述参数中,KP和KAB是保密的,IDA、IDB以及h是公开的。Alice与Bob互相进行身份认证的步骤如下:

1、当Alice和Bob需要进行相互身份认证的时候,Alice首先生成一串m比特长的消息MA以及两个随机数rA和rP。然后Alice发送一条消息给Bob,消息中包括IDA、rA和rP。接收到Alice发送的消息以后,Bob生成一串m比特长的消息MB和一个随机数rB。然后,Bob给Alice回复一条消息,该消息包括IDB、MB和rB

2、接收到Bob发送的消息以后,Alice从中提取出rB,并根据手中的其它数据计算HA=h(IDA||KAB||rA)和HB=h(IDB||KAB||rB)。同时Alice可以根据HA、HB、MA和MB制备2m个单光子态用于实现相互身份认证,相关制备方式可等价为:Alice首先根据MA和HA制备一串由m个单光子态组成的子序列SA。然后Alice根据Bob公开的信息MB和自己计算得到的HB来制备另外一串由m个单光子态组成的子序列SB。具体地,SA的制备方式为:如果HA的第i(1≤i≤m)个比特且MA中的对应比特则将SA中的第i个光子制备为|0>(|1>);如果则将制备为|+>(|->)。相应地,SB的制备方式为:如果HB的第i个比特且MB中的对应比特则将SB中的第i个光子制备为|0>(|1>);如果则将制备为|+>(|->)。制备完毕后,Alice根据HP=h(KP||rP)的值将SA和SB重新混合成一串长度为2m的单光子序列S。比如说,混合的具体规则可以为:若HP的第i个比特SA的第i个量子态插入到SB的第i个量子态之前(后)。然后Alice将得到的新序列S发送给Bob。需要特别指出的是,上面描述的过程是Alice先制备SA和SB,然后将它们合并成S再发送。事实上,由于Alice制备量子态之前就已经知道MA、MB、HA、HB和HP,所以她事先就能推断出S中每个单光子所属的子序列及其所处的具体状态,因而他可以依次制备并将这2m个光子逐个发送给Bob,而不需要利用量子存储。

3、由于Bob同样知道HP=h(KP||rP),所以他事先也可以知道S中的每一个单光子态所属的子序列(相当于Bob知道怎么从S中提取出SA和SB)。Bob依次对自己收到的单光子态进行处理:对于属于SA(SB)的光子,如他就根据HA(HB)中对应位置的值选择测量基进行测量,即:如果则使用{|0>,|1>}基测量如果则使用{|+>,|->}基测量根据相应的测量结果,Bob可以得到一个新的随机比特序列具体译码规则为:如果的测量结果为|0>或|+>,则如果测量结果为|1>或|->,则对于未能测得光子的位置(即无效位置),中对应的值记为null。Bob将的有效位置(即能够测得光子的位置)与MB中对应位置的值进行比较。考虑到在量子信道传输过程中,可能因为噪声干扰和敌手攻击等因素,导致个别量子态的测量结果与预期不符,可以采取设定阈值的方式,即:如果比对得到的误码率小于预先设定的阈值,则Bob可以认为Alice通过了身份认证。与此同时,Bob公开自己从测量结果中提取出的序列Alice通过比对的和MA(只比较有效位置)并计算误码率,从而判断Bob的身份。

需要指出的是,在上述身份认证过程中,Alice需要公开随机数rA和rP。Bob需要公开一个随机数rB。由于rA、rB和rP是随机选取的且每次认证都进行更新,所以每次认证时HP、HA和HB的值都不一样。再由于这些哈希值只会被用来控制编码基或光子位置的,且它们不会被公开,所以KP和KAB是安全的,可以重复使用。

身份认证方案在量子密钥分发过程中的应用方法:

如图2所示,假设Alice和Bob想要协商一串随机密钥,且在该密钥的协商过程中通过上述量子身份认证方案来实现他们之间的相互身份认证。为了达到这个目标,他们之间事先共享了两串s长的秘密比特序列KP和KAB。Alice和Bob的身份标识序列分为是IDA和IDB,并且它们事先已经协商好了一个单向的Hash函数h:{0,1}*→{0,1}m(Hash函数也可以通过约定的算法从一个双方共享的Hash函数库里选取)。在上述参数中,KP和KAB是保密的,IDA、IDB以及h是公开的。具体的密钥协商过程如下:

1、当Alice需要和Bob之间进行密钥协商时,Alice首先生成一串m比特长的消息MA,一串2m长的随机比特序列K,以及四个随机数rA、r1、r2和r3。随后,Alice给Bob发送一条量子密钥协商的请求消息,该消息中包括IDA、rA、r1、r2和r3。接收到Alice发送的请求消息以后,Bob生成一串m比特长的消息MB和一个随机数rB。然后,Bob给Alice回复一条响应消息,该消息包括IDB、MB和rB

2、接收到Bob发送的消息以后,Alice从中提取出rB,并根据手中的数据计算HA=h(IDA||KAB||rA)和HB=h(IDA||KAB||rB)。同时Alice可以根据HA、HB、MA和MB制备2m个单光子用于相互身份认证。具体制备方式可等价为:Alice首先根据MA和HA制备一串由m个单光子态组成的子序列SA,然后根据MB和HB来制备由另外一串由m个单光子态组成的子序列SB。具体地,SA的制备方式为:如果HA的第i(1≤i≤m)个比特且MA中的对应比特则将SA中的第i个光子制备为|0>(|1>);如果则将制备为|+>(|->)。相应地,SB的制备方式为:如果HB的第i个比特且MB中的对应比特则将SB中的第i个光子制备为|0>(|1>);如果则将制备为|+>(|->)。制备完毕后,Alice根据的值将SA和SB合并成一串长度为2m单光子序列SAu。除了这2m个用于身份认证的光子以外,Alice还需要根据K随机制备一串由2m个随机处于{|0>,|1>,|+>,|->}四个状态之一的光子所组成的序列SK。(与BB84量子密钥分配协议中量子态的制备方法相同)。然后Alice根据计算得到的哈希值h(KP||r2)和h(KP||r3)得到一个长度为2m的比特序列并根据该序列将SAu和SK混合成一个4m长的单光子序列S。具体的混合方法和上述身份认证方案中所描述的方法一致。

事实上,由于Alice制备量子态之前就知道HA、HB、MA、MB她事先就能推断出S中每个单光子应该属于的子序列和以及具体状态。因而Alice可以依次制备并将这4m个光子逐个发送给Bob,且不需要利用量子存储。

2、由于Bob同样知道所以他事先就可以知道S中的每一个单光子态所属的子序列(相当于Bob知道怎么从S中提取出SA、SB和SK)。Bob依次对自己收到的单光子态进行处理:对于属于SA(SB)的光子,Bob根据HA(HB)中对应的值选择测量基进行测量;对于属于SK的光子,Bob随机使用{|0>,|1>}和{|+>,|->}进行测量。Bob根据对SA和SB中光子测量得到的结果互相进行身份认证,具体测量和判断方法与上述认证方案所描述的方法相同。

3、如何身份认证不通过,则终止该密钥协商过程;如果身份认证通过,Alice和Bob根据对SK中光子的测量结果进行密钥协商,具体流程与BB84协议一样,包括:Alice和Bob首先通过基比对得到筛选码,然后通过误码率估计、纠错和隐私放大过程,获取最终的共享的随机密钥。

同样需要指出的是,在Alice和Bob相互认证身份和协商密钥的过程中,Alice需要公开rA、r1、r2和r3。Bob需要公开一个随机数rB。由于它们都是随机选取的且每轮协商都需要进行更新,所以每一次协议执行时HA、HB的值每次都不一样。再由于这些哈希值是用于控制编码基或光子具体位置的,它们在协议过程中不会被公开,所以KP和KAB是安全的,可以重复使用。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,例如:

(1)身份认证方案中子序列SA和SB是根据HP并按照一定的规则混合在一起的,具体混合的规则可以变换。在具体实施本技术方案时,可以为收发双方预置不同于上述方案实例的混合规则,只要收发双方可以根据HP并利用该规则来混合和区分属于不同子序列的光子,就都可以实现本申请的技术方案。这里的HP是用来控制子序列混合的随机比特序列,它是由A与B共享的秘密比特序列KP结合一些随机参数(如rP)生成的哈希值,在不违背相关内涵的情况下,该hash值的一些参数(如hash值的长度)可以调整,即控制混合位置的序列HP不一定和用于认证身份的单光子态子序列SA(SB)的长度相等。

(2)除了利用上述表述的偏振编码方式,也可以使用相位编码等方式。编码信息所使用的量子态不一定属于局限于{|0>,|1>}和{|+>,|->}这两组基,只要是两组共轭基即可。

(3)在上述将认证方案运用于量子密钥分发的过程的实例中,我们根据将身份认证光子与密钥协商光子进行混合,有以下两方面需要说明:

一方面,具体的混合规则是可以变化的。在具体实施本技术方案时,可以为收发双方预置不同于上述方案实例的混合规则,只要收发双方可以利用同样的规则来混合和区分用于身份认证和协商密钥的子序列,就都可以实现本申请的技术方案。

另一方面,为了说明简单,上述实例中假设身份认证的光子数和密钥协商的光子数相等。事实上这并不是必须的。当数目不相等时,同样只需要按照一定的混合规则根据将SAu和SK随机混合在一起即可。这种情况下,的长度(甚至是相关Hash函数的选择)都可能需要进行相应的调整,但仍然不脱离方案的内涵。

比如说,我们可以选择在每8个用于协商密钥的光子中随机插入一个身份认证光子的方法来进行混合,具体插入的位置由中的3个连续比特决定。例如:则将第1个认证光子插入到SK中的第1/2/3/4/5/6/7/8个光子之前。采用这种方式,将大大降低认证光子与密钥协商光子的比值。

(4)在具体实现时,通常使用衰减后的弱激光脉冲来代替单光子源。此时,为了抵抗PNS攻击,可以使用诱骗方法来抵抗相应的攻击。

(5)需要特别指出的是,本发明提出了一种量子身份认证方案,并给出了该方案在量子密钥分发过程中的应用方法。事实上,该方案的应用范围并不局限于量子密码分发,还可以应用于量子安全直接通信等多个量子密码分支中。

(6)无论是上述身份认证方案实例,还是密钥分配方案实例,两个参与者之间都实现共享了KP和KAB两个密钥,其中一个用于生成控控制测量基的序列,一个用于生成控制位置的序列。事实上,在某种简化的情况下,这两个密钥可以相等,从而减少实现共享的密钥量。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号