基于Bell态的量子隐私查询与双向身份认证方案

2019-07-16 01:19张仕斌
计算机应用与软件 2019年7期
关键词:密钥量子粒子

郑 涛 张仕斌

(成都信息工程大学 四川 成都 610225)

0 引 言

在过去的三十多年里,随着计算机技术的快速发展,人们需要各种更加安全和高效的通信与密码协议。1984年Bennett和Brassard提出了第一个量子密码协议,即BB84协议[1],之后出现了大量的量子密码协议与量子通信协议,其中包括量子密钥分发协议(QKD)[2-4],量子直接安全通信协议(QSDC)[5-7],量子秘密共享协议(QSS)[8-9],量子隐私查询协议(QPQ)[10-15],量子身份认证协议(QIA)[16-17]等。

量子隐私查询技术需要同时保证用户查询内容的隐私性,以及数据库内容的绝对安全性。对称隐私信息检索(Symmetrically private information retrieval,SPIR)[10]是一种有效的QPQ查询方案,SPIR方案需要满足如下条件:(1) 用户可以获得他已经购买的数据信息,但是数据库提供商不能得知用户购买了哪一条数据。(2) 用户只能获得自己购买了的数据信息,不能在数据库中得到额外的信息。2008年,Giovannetti等[11]提出了第一个基于SPIR思想的QPQ协议,即“GLM协议”,该协议需要用到两个量子态,一个用于数据信息查询,另外一个用于检测数据库厂商是否有不诚实行为。2011年,Olejnik等[12]提出了“O协议”,该只需要一个量子态就能同时完成GLM协议中两个量子态才能完成的功能。但是以上两个协议均需要用到较为复杂的Oracle操作,2011年Jakobi等[13]提出了一个不需要使用Oracle操作的QPQ协议,简称为“J协议”。受到“J协议”的启发,2012年高飞等[14]提出了一种灵活的QPQ协议,该协议通过改变量子态的角度系数,提高协议的安全性或者增强查询效率。2015年,又有学者提出了一种基于QKD的QPQ协议[15],该协议使得隐私查询失败的概率为0。量子身份认证技术主要分为三类:(1) 点对点的量子身份认证方案,2014年Yuan等[16]提出了一种基于单粒子的无纠缠的身份认证协议。(2) 身份认证与量子密钥传输相结合的协议,2017年Ma等[17]提出了一种测量设备无关的量子密钥分发协议(MDI-QKD),在完成QKD过程中,同时实现了双向的量子身份认证。(3) 网络中的身份认证协议,2014年,张沛等[18]提出了基于量子隐形传态的无线通信网络身份认证方案。

本文提出了一种基于Bell态的多功能量子密码协议,基于非对称QKD思想,实现了安全有效的QPQ查询方案。为了提高量子资源利用效率,完成非对称QKD过程后,本协议又可以完成一个双向的量子身份认证。

1 准备知识

1.1 量子比特

量子信息使用量子比特的概念,量子比特的状态|ψ〉的状态可能是|0〉和|1〉之间的所有状态:

|ψ〉=α|0〉+β|1〉

式中:θ、φ为实数,对应Bloch球上的一个点。

1.2 量子纠缠与EPR粒子对

量子纠缠描述的是所有微观纠缠粒子具有的一种物理特性,处于纠缠态的粒子,不管粒子之间的距离多么远,只要其中一个粒子被测量,另外一个粒子就会自动塌缩到相应的状态。

EPR粒子对的表现形式如下:

2 协议描述

本节中,步骤(1)-步骤(5)为基于Bell态的非对称QKD过程,步骤(6)-步骤(7)为量子隐私查询过程,步骤(8)-步骤(9)为双向身份认证过程。基于Bell态的非对称QKD过程如下:

(1) Alice制备了2N个粒子,这些粒子随机的处于{|00〉,|11〉,|φ+〉,|φ-〉}。Alice将这2N个粒子按下标排列,两两一组形成N对粒子对,记为序列S,且S={p1,p2,…,pn},Alice保存粒子信息后将序列S全部发送给Bob。

(2) Bob对接收的序列S进行窃听检测:Bob随机的从序列S中选取粒子,并随机地用Z基或Bell基对这些粒子进行测量。接着Bob公布这些粒子的位置信息,并要求Alice公布她在这些位置制备粒子的状态信息。(如果Bob选择的测量基与Alice的制备基不同,Bob将不能得到正确的测量结果,反之,他可以得到与Alice相同的粒子状态信息,得到错误结果的测量概率为p=1/2,如果错误率高于设置的阀值则协议取消。这样Bob可以抵御Alice的假信号攻击,外部攻击者执行截取/重发攻击)。

(3) 窃听检测完成后,Bob随机生成一串二进制字符串keyBob∈{0,1}N,如果keyi=0,Bob用Z基测量序列S中的第i位粒子对,如果keyi=1,Bob用Bell基测量序列S中的第i位粒子对。Bob保留字符串key作为他的生密钥。

(4) 对于每一对粒子对,Bob公布数字“0”或“1”。其中“0”代表他的测量结果在{|00〉,|φ+〉}基中,“1”代表他的测量结果在{|11〉,|φ-〉}基中。注意:如果Bob的测量结果中出现了{|ψ+〉,|ψ-〉}态,说明有外部窃听者或者Alice有违法行为,此时协议取消。

(5) 对每一个粒子对,Alice根据她制备的粒子信息,以及Bob公布的信息,可以推测Bob手中的部分生密钥信息。例如:第i位Alice制备的粒子处于|00〉,Bob公布的数字信息为“0”,此时Alice不能推出任何密钥信息,如果Bob此时公布的数字为“1”,则Alice能推测出Bob选择了错误的测量基,则此时的key=1。这种基于SARNG QKD的思想,为Alice和Bob之间建立一个非对称的QKD关系,根据以上的分析,此时Bob知道所有生密钥的值,而Alice只能推测出1/4的生密钥值。表1显示了Alice的制备态与Bob的测量基之间的关系。

表1 Alice的制备态与Bob测量基之间的关系

(6) 假定Alice是查询用户,Bob是数据库供应商。通过上面的步骤,Alice与Bob之间建立了一个非对称的QKD关系。和其他的QPQ协议一致,此时Alice和Bob对共享的生密钥串执行后处理操作,得到最终的密钥共享串key。最终的密钥串必须满足Alice手中的密钥值只有一位。如果Alice手中密钥值不足一位,此时QPQ协议过程取消。

(7) Bob使用一次一密方式(OTP)加密整个数据库,此时如果Alice手中的密钥串为第j位的key,她要查询第i位的数据库内容,则Alice公布一个转换值s=j-i。数据库厂商Bob根据s的值对手中的key执行异或操作,并用产生的新key加密数据库。此时Alice就能根据手中的密钥值和s查询到数据库对应的内容。

(8) Bob验证Alice的身份:Alice和Bob完成步骤(5)后,双方建立了一个非对称的QKD关系。此时Bob要求Alice公布她手中KeyAlice的值以及对应的位置,Bob查询他手中对应Alice公布位置的KeyBob值,如果KeyBobtoAlice=KeyAlice,则Bob通过对Alice的身份认证。协议进入步骤(9),否则协议取消。

(9) Alice验证Bob的身份:通过了对Alice的身份认证后,Bob把手中的粒子全部发回给Alice。Alice随机抽取一些粒子进行Z基或Bell基测量,接着Alice公布这些粒子的位置信息,并要求Bob公布她在这些位置制备粒子的状态信息(类似于步骤(2),如果Alice选择的测量基与Bob的制备基不同,则Alice将不能得到正确的测量结果,反之,她可以得到与Bob相同的粒子状态信息,得到错误结果的测量概率为p=1/2,如果错误率高于设置的阀值则协议取消。这样Alice可以抵御Bob的假信号攻击,外部攻击者执行截取/重发攻击)。完成窃听检测后,Alice要求Bob公布发回的粒子序列中所有处于Z基的粒子位置,Alice对这些位置的粒子进行Z基测量和对应的密钥值KeyBob(Z),她按照步骤(4)中的编码方式(“0”:|00〉且“1”:|11〉)得到。如果=KeyBob(Z)成立,则Alice通过对Bob的身份认证。注意:此步骤中,Alice也可以要求Bob公布所有处于Bell基的粒子位置,但是Bell基测量相对Z基测量难度更大,为了减小协议的复杂度,此处选择Z基较为合理。

3 安全性与效率分析

3.1 外部攻击

对比基于B92的QPQ协议,本协议可以抵御外部攻击。假设Eve想获得Alice查询的秘密信息,由于数据库厂商Bob使用一次一密(OTP)方式加密数据库,OTP是已经被严格证明为绝对安全的加密方式,因此Eve只有获得Bob手中的生密钥值key才能得到相应数据。为了获取key,Eve需要知道Bob在步骤(3)中对每一对粒子对选择的测量基。Bob在步骤(4)中公布了一些与key值相关的信息,但是Eve需要得知Alice制备序列S的初始态才能推测出一些有用的key值。为此Eve可以对Alice发送的粒子执行截断/重发攻击,然而这种攻击行为也非常容易被发现:假设Alice在步骤(1)中制备的粒子态为|〉,Eve截获该粒子并随机使用Z基或Bell基进行测量,Eve能正确测量的概率为1/2,正确测量时,Eve将不会引起错误,根据步骤(2)中Bob将对Alice发来的粒子进行的窃听检测方式,Eve将会有1/4的概率被发现。当窃听粒子数目足够多时,Eve将会非常容易被通信双方发现。

3.2 量子隐私查询过程的安全性分析

3.2.1数据库安全

假设Alice是非法用户,她想从数据库中获得没有付费的内容信息,她可以使用“JM攻击”,“附加粒子纠缠测量攻击”来获取数据库内容。

1) JM攻击:为了完成JM攻击,Alice必须满足两个条件:

(1) 她持有所有的粒子。

(2) 她必须知道与最终生密钥串key有关联的所有粒子的位置。

在步骤(1)中,Alice制备粒子序列S时,她持有所有的粒子,但是不知道这些粒子与最终生密钥串key的关联,在步骤(5)中,Bob公布了与最终生密钥关联的粒子信息,但是此时粒子并不在Alice手中。如果Alice使用附加粒子纠缠攻击来辅助完成JM攻击,例如:在步骤(1)中Alice制备的态为:

(1)

Alice持有粒子1,发送粒子2、3给Bob,根据式(1),Bob会以相同的概率得到|φ+〉或者|φ-〉。然而步骤(2)中,Bob随机选择了粒子位置并随机选择测量基对序列S进行测量,因此Alice无法得知Bob选择了哪种基进行测量,她只能随机公布一个制备态,只有当Alice公布的制备态与Bob测量得到的粒子态相同,Bob才会通过对Alice的窃听检测,简单推导可知Alice通过检测的概率为1/4。当窃听粒子数目足够多,Alice必然会被发现。因此本协议可以抵御JM攻击。

2) 附加粒子纠缠测量攻击:Alice制备了附加粒子|e〉,并对序列S执行U操作:

U⊗|0e〉=a|0e00〉+b|1e01〉
U⊗|1e〉=b′|0e10〉+a′|1e11〉

(2)

根据式(2),|φ+〉经过U操作后有:

|φ〉Eve=U⊗|φ+〉=

3.2.2用户安全性分析

目前所有的QPQ协议都不能保证无条件确保用户的安全性,只能做到当数据库厂商Bob想非法获取用户查询的数据内容时,他的行为都必然会被用户Alice察觉。为了获取Alice的查询位置,Bob必须获取Alice制备的粒子序列S的初始状态信息。根据本协议的描述,在完成QPQ过程中,Bob将不会把粒子序列S发回给Alice,因此他不会有机会对Alice执行假信号攻击,也无法获取Alice制备粒子序列S的初始态。因此本协议能更好的加强用户的安全性。

3.3 双向身份认证过程的安全性分析

根据本协议对双向身份认证过程的描述,Bob对Alice的身份认证过程中,如果Alice公布的粒子位置或者密钥值不真实,KeyBobtoAlice=KeyAlice等式将不成立,因此Alice无法通过Bob的身份认证。考虑Alice对Bob的身份认证过程,由于Bob发回了全部的粒子信息,因此隐藏着附加粒子纠缠攻击、假信号攻击等安全隐患。但是Alice在步骤(9)中采用了非对称QKD过程中步骤(2)的窃听检测方式,因此这些安全隐患的分析过程和量子隐私查询过程的安全性分析内容一致,故不再重复描述。

3.4 效率分析

在本协议中,Alice制备的所有粒子,除了用于窃听检测的粒子外,其他粒子都用在了量子隐私数据查询与量子双向身份认证过程中。在QPQ过程中,基于SARNG QKD过程,Alice和Bob将会有25%的效率值建立一个对称的QKD关联,在双向身份认证过程中,由于Alice只采用了Z基粒子对Bob进行身份认证,故而身份认证过程中的粒子利用效率为50%,然而为了减少认证协议的复杂度,牺牲部分粒子的利用效率是值得的。

4 结 语

本文基于Bell态粒子,提出了一个多功能的量子密码协议。通信双方建立了非对称QKD关联后,使用本协议可以更加安全有效地完成量子隐私查询和双向的量子身份认证功能。本协议无需使用波长滤波器和PNS设备,且身份认证过程的复杂度较低。由于使用了Bell态粒子,比起基于单光子的QPQ协议,本协议在集体噪声通道下也有更好的容噪性能。

猜你喜欢
密钥量子粒子
《量子电子学报》征稿简则
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
《量子电子学报》征稿简则
幻中邂逅之金色密钥
幻中邂逅之金色密钥
巧借动态圆突破粒子源遇上有界磁场问题
新量子通信线路保障网络安全
Android密钥库简析
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
威力强大的量子“矛”和“盾”