本发明涉及一种测量设备无关的量子双方密码协议构造方法。
背景技术:
双方密码学是现代密码学的重要分支,它可以让两个距离相隔遥远的双方实现可靠地通信。然而,随着量子计算机的出世,这对于传统那种基于计算复杂性而言的密码学产生了极大的冲击,这当然也极大影响了密码通信研究的积极性。幸运的是,作为量子力学和密码学结合产物的量子密码学的出现,给密码学的研究带来了一丝曙光。量子密码学的安全性是由量子力学基本原理的特点保证的,他可以实现无条件的安全性,因此,对于量子密码学的研究越来越广泛,也越来越深刻。
目前的量子密码学研究方向较多,其中包括以下几个方面:量子密钥分发,量子秘密共享和量子不经意传输等等。随着对量子密码学研究的深入,越来越多关于量子密码术的研究成果应用于实践,量子密码术的应用给通信领域及其他安全领域带来了极大的变化,诸如在信息安全领域,量子身份认证和量子零知识证明,而这其中对于双方量子密码学的研究尤为重要,因为它是很多现有协议的基础,对于它的研究工作将对构造更复杂的多方协议产生更重要的作用。
目前而言,大多数信息安全领域使用的还是传统基于复杂计算的密码,随着计算机算力的增加,这就给信息安全带来极大的隐患。如:1、基于计算复杂度的保密面临的是底层原理不安全的考验;2、基于量子力学的保密而言往往也有侧信道攻击的问题,因此如何寻求更好的解决方法,以实现更加完美的量子密码保密方案变得很重要。
技术实现要素:
发明目的:本发明所要解决的就是运用其他领域的技术,引入到量子双方密码学上来,解决现有协议的不足,提供一种基于错误估计的测量设备无关的方法,利用引进的方法来完成对窃听者的识别和抵御侧信道攻击的问题。
本发明具体提供了一种测量设备无关的量子双方密码协议构造方法,包括如下步骤:
步骤1,构造基于错误估计的2取1随意不经意传输(randomoblivioustransfer,rot)协议;
步骤2,基于2取1随意不经意传输(randomoblivioustransfer,rot)协议,构造身份识别(password-basedidentification,pid)协议。
步骤1包括:
步骤1-1,准备阶段:通信方alice选择二进制数据串xn∈{0,1}n和测量基
xn表示alice选取的n位二进制比特串;
yn表示bob选取的n位二进制比特串;
步骤1-2,测量阶段:charlie对
步骤1-3,比特翻转:bob将测量基
步骤1-4,错误估计:alice选择长度为m的索引串icheck=∈2[n],将xcheck,θacheck和icheck发送给bob,bob将ycheck,θbcheck送给alice,xcheck表示二进制序列x与索引串icheck对应的部分二进制串;θacheck表示测量基序列
然后alice和bob分别计算错误率:
如果误码率qu>er,双方停止通信,否则继续通信;其中er是错误率上限,
步骤1-5,同基序列:通信双方丢弃错误估计过程中使用的数据,alice原有测量基序列长度为n,去除用于错误估计的m个,剩余的是n-m个,记为
alice将
步骤1-6,进行后处理阶段处理:alice选择两个哈希函数f0,f1用于隐私放大并发送给bob,同时计算syn(x|i0),syn(x|i1),s0=f0(x|i0)和s1=f1(x|i1);syn(x|i0)表示二进制序列x在索引串i0处的序列串;syn(x|i0)表示二进制序列x在索引串i1处的序列串;
s1=f1(x|i1)表示syn(x|i0)的哈希函数计算值,此处是为了隐私放大;
s0=f0(x|i0)表示syn(x|i1)的哈希函数计算值,此处是为了隐私放大;
步骤1-7,进行通信阶段处理:alice通过将两个消息序列m0,m1分别用s0,s1进行加密得到e0,e1,并将它们发送给bob,bob随机选择一个参数c∈{0,1},通过用fc(x|ic)和ec解密得到mc。
步骤2包括:
步骤2-1,准备阶段:设定w是alice的密钥,alice选择串xn∈{0,1}n和测量基
步骤2-2,测量阶段:charlie对
步骤2-3,比特翻转:bob将测量基
步骤2-4,错误估计:alice选择长度为m的索引串icheck=∈2[n],将xcheck,θacheck和icheck发送给bob,bob将y,θbcheck发送给alice,然后alice和bob分别计算错误率:
如果qu>er,双方停止通信,否则继续通信;其中er是错误率上限,
步骤2-5,索引位置:alice将
步骤2-6,身份识别:bob选定一个哈希函数g发送给alice,之后alice计算
x|ic表示二进制串x在索引串ic处对应的序列;
f(x|ic)表示x|ic的哈希函数f中的计算结果;
g(w)表示密码w的哈希计算值;
整个公式的功能就是对密码w加密;
accept表示验证通过时,bob输出接受。
有益效果:本发明放弃了攻击者的存储设备有缺陷的假设,而是采用联合测量和错误估计的配合来限制攻击者量子存储能力。不仅如此,本发明的协议具有抵挡侧信道攻击的能力,并且本发明的协议从理论的实现角度而言,用现有的技术很容易实现,且与量子秘钥分发协议实现了兼容。总之本发明的协议没有任何假设,更加安全,并且具有更广泛的适用性。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是本发明协议的示意图。
具体实施方式
本发明提供了一种测量设备无关的量子双方密码协议构造方法,具体设计了两个基于错误估计的测量设备无关的协议,包括:带有错误估计的测量设备无关的2取1随意不经意传输(rot)协议和基于rot协议的量子身份识别(pid)协议。下面分别将介绍两个协议的流程及具体的安全证明。
2取1随意不经意传输协议的具体设计流程如下:
准备阶段:alice选择串xn∈{0,1}n和测量基
测量阶段:charlie对
比特翻转:bob将他测量基
错误估计:alice选择长度为m的索引串icheck=∈2[n],将xcheck,θacheck和icheck发送给bob,bob将y,θbcheck发送给alice,然后alice和bob分别计算错误率:
如果qu>er,双方停止通信,否则继续通信。其中er是错误率上限,
同基序列:通信双方丢弃错误估计过程中使用的数据,alice将
后处理阶段:alice选择两个哈希函数f0,f1用于隐私放大并发送给bob,同时计算syn(x|i0),syn(x|i1),s0=f0(x|i0)和s1=f1(x|i1)
通信阶段:alice通过将两个消息序列m0,m1分别用s0,s1进行加密得到e0,e1,并将它们发送给bob,bob选择一个c∈{0,1},通过用fc(x|ic)和ec解密得到mc。
本发明协议的示意图如图1所示。
协议的安全性证明:
对于协议安全性的证明,一般是从正确性,alice的安全性和bob的安全性等角度去证实。
对于正确性而言,如果双方都是诚实的,alice可以得到s0和s1,bob可以根据ic和ec计算出mc。因此主要关注alice和bob的安全性。
引理1(alice的安全性)在2取1rot协议中,n表示谢意期间传输的比特数。
根据不确定关系定理,有:
其中m是charlie宣布的结果。
根据熵采样原理:
在基于错误估计的2取1随意不经意传输rot协议中,不诚实的bob存储设备的维度d为2,然后有:
其中q(ρa)指的是bob的量子存储设备对alice量子态的存储。推导到这一步,得到
利用隐私放大协议,得到:
又有关于迹的不等式,因此令上面的公式小于2ε,得到:
下面讨论一种具体的攻击场景。设定不诚实(不诚实就是指会在通信过程作弊,以各种手段窃取别人的信息)的bob想要获得更多关于alice的信息,即m1-c的信息,从基于错误估计的2取1随意不经意传输rot协议来说,那么他必须得到对应的部分密钥。然而事实上它对alice的测量基一无所知,唯一所知的就是错误估计阶段用到的部分测量基,然而这部分信息在之后被弃用。因此它对每个位置的测量基的部分能正确得到的概率均为
综上所述,可以证明alice的安全性。
引理2(bob的安全性):在2取1rot协议中,n表示协议期间传输的位数。σa′c表示在理想协议操作中生成的状态,该状态由不诚实的alice和提交位c组成。ρa′c表示在实际协议操作中生成的联合状态,该联合状态由不诚实的alice和提交位c组成,而且c均匀分布在{0,1}上。如果bob诚实,则n→∞以及这两个状态之间的迹距离||σa′c-ρa′c||≤2ε,然后存在ε≥0,使得关于c和a'的条件熵,有:
1)h(c|a′)≥1-ε
证明:根据rot协议的定义,如果alice不诚实,则她的目的是获得bob选择的c。在本发明协议中,bob向alice泄露的信息是ρb,ycheck,θcheck,i0,i1。因此有:
pr(c|ρbycheckθchecki0i1)=pr(c|ρbi0i1)
而从协议流程中可以看到,bob能够泄露的信息根本就不涉及c,因此:
所以得到h}(c|a′)=∑k=0,1p(c=k|a′)log2p(c=k|a′)=1,也就是说,存在ε≥0,使得h(c|a′)≥1-ε。
下面考虑一些真实的攻击场景,对于不诚实的alice,如果她想要获得bob的选择信息,它必须知道bob对于密钥的了解情况,这样方便她能够以更高的概率推测bob选择的信息。而且,更为重要的是,如果bob选择了密钥sc,那么alice必须保证她使用了正确的密钥sc对mc进行了加密,否则这将会导致被bob发现其不诚实。如果alice进行欺骗测量攻击,在联合测量阶段,她通过发送假的测量基给第三方charlie,在这之后,虽然能够避免错误估计的过程,然而在确定密钥的过程中,如果她再用正确的测量基确定初始密钥时,由于与联合测量阶段用的测量基不同,在确定完lc,l1-c之后,bob并不能通过它们获得解密的密钥,因此这就会造成bob发现这并不是自己想要的信息,因此,可以看出,对于alice的欺骗测量,bob是能够发现的。
综上可知,在面对不诚实的alice时,bob依然能保持安全性。
基于2取1rot协议的身份识别协议(pid)
迄今为止,基于密码的认证协议(pid)是使用最广泛的身份验证方法之一。
在该类型的协议中,用户和服务器共享一系列密钥,并且用户通过验证密钥来登录系统服务器。事实上,用户为了获得来自服务器的服务,用户必须向服务器证明,自己掌握密钥,然而与此同时,又想泄露尽可能少的密钥信息给服务器。这是因为如果服务器是不诚实的,而诚实的用户泄露了很多关于密钥的信息,那么服务器就相当于窃取了用户的密钥,就可以自己伪装成用户去真实的服务器上登录,因此一个安全的基于密码认证协议能够保证不诚实的服务器对用户的密钥一无所知。同时,用户除了对自己的密钥理解外,对其他人密钥应该不可获得。
对于这样的安全性要求,也产生了很多能够满足上述安全性要求的协议,不过大多数还是基于数学上的计算复杂性实现的,而本发明的协议引入量子力学中联合测量的思想,它的安全性将有量子力学的基本原理进行保证,这种安全性是无条件安全。
正如之前所说,本发明的方案跟2取1rot协议密切相关。在之前的rot协议中,alice和bob分别制备测量基和信息串发送给第三方,经过第三方公布完测量结果后,alice根据bob发送来的测量基进行比特翻转,这样显然alice和bob基相同的部分必然比特也相同,这样就意味着bob知道alice有一半的信息是相同的,只不过它并不知道相同的部分位于何处,然后alice通过将相同的基分为两部分,获得位置序列处的信息串,并用它加密发送给bob,从rot的协议的证明中,可以知道即使对于不诚实的bob,他对于m0和m1的了解情况保持均匀分布的状态,对于不诚实的alice,她也无法获得正确的c。而2取1rot协议显然可以转变为m取1rot协议,这样只需选择m种不同的测量基即可,而安全性自然也是可以得到保证的。而本发明的pid协议,alice代表用户,bob作为服务器,当执行m取1rot协议,alice和bob使用m种不同的测量基矢,然后就可以提供m种不同的同基索引序列,alice选择其中一种sc时,将其发送给bob,只有两者的sc都相同时,bob才会输出“接受”,显然这样的协议对于不诚实的服务器也是安全的,因为他对来自用户的同基索引序列并不知情,也就说同基索引序列对bob而言呈现均匀分布。另一方面对于不诚实的用户也是安全的,因为他不知道服务器才能给他咨询了m个序列中的哪一个。
协议的具体流程:
设定w是alice的密钥。
准备阶段:alice选择串xn∈{0,1}n和测量基
测量阶段:charlie对
比特翻转:bob将他测量基
错误估计:alice选择长度为m的索引串icheck=∈2[n],将xcheck,θacheck和icheck发送给bob,bob将y,θbcheck发送给alice,然后alice和bob分别计算错误率
如果qu>er,双方停止通信,否则继续通信。其中er是错误率上限,
索引位置:alice将
身份识别:bob选定一个哈希函数g发送给alice。之后alice计算
对于安全性证明,假如alice和bob都是诚实的,那么双方最后的通信结果一定是“接受”,因此将着重讨论alice和bob的安全性。
引理3(alice的安全性)
设定bob是不诚实的,那么他就想要获得alice选取的密钥,n表示协议期间传输的比特数。让n→∞,存在γ≥1,则有:
1)hmin(w|b′)≥γ
证明:根据定义身份识别协议取自于2取1rot协议,因此可以得到
hmin(w|b′)≥1-ε;
上述这样的一个引理,说明了即使服务器bob是不诚实的,那么他对用户alice的选择依然是不知道的,获取密钥也只能通过猜测获得,因此它的熵一定大于0。下面简要分析一种攻击场景,即不诚实的bob拥有无限的存储能力,这样用户alice和不诚实的服务器记为eve,执行协议的联合测量,在这一部分,不诚实的eve很好的执行了这一部分,然后到确定索引位置时,alice都没有发现服务器的问题,然后身份识别时,由于他不掌握alice的密钥,因此他无法确定alice是否是正确的,这就会导致alice发现对方不诚实。
引理4(bob的安全性):n表示协议期间传输的比特数。那么存在ε≥0,可知:
pr(ans=accept)|a′)≤ε.
证明:根据条件光滑最小熵:
又因为:
当n→∞时,所以可以得到pr(ans=accept)|a′)≤ε。
上面的引理,说明了在alice不诚实的情况下,他得到服务器方认可的可能性是极小的。下面简要分析一种攻击场景,假设不诚实的alice方,正常的执行pid协议,双方都可以获得对应的索引序列,但当进行身份识别时,由于不知道真实alice的密钥w,服务器将不可能接受。另外,对于中间人攻击,将不再介绍,由于量子测量坍缩的性质,第三方进行中间人攻击时,将不可避免地被通信双方发现,因此,综上述分析,基于2取1rot协议的pid协议,也是安全的,同时能够避免侧信道攻击的问题。根据《efficientsecuretwo-partyprotocols》一书中的第三章,可以知道对于不经意传输可以应用到很多场景,当然对于本发明的带有错误估计的测量设备无关的不经意传输协议,也同样可以应用到很多场景,比如零知识验证,身份识别。
本发明提供了一种测量设备无关的量子双方密码协议构造方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。