单向传输的量子数据库隐私查询方法
技术领域
本发明属于量子隐私查询技术领域,具体涉及一种单向传输的量子数据库隐私查询方法。
背景技术
量子保密通信技术已经从实验室演示走向产业化。在城市里,通过光纤建构的城域量子网络通信已经开始实际应用,我国在城域光纤量子通信方面已取得了国际领先的地位。经过多年的努力,中国已经跻身于国际一流的量子信息研究行列,在量子通信技术方面也走在了世界前列,建设完成合肥、济南等规模化量子通信城域网,“京沪干线”大尺度光纤量子通信骨干网也在2017年正式开通。量子保密通信属于量子密码学的应用。量子密码学是建立在现代经典密码学发展基础上的一门学科,它利用量子物理的基本原理来保证消息传递的安全性。从理论上讲,量子密码学可以克服经典密码学的计算复杂性,使现有的密码体制不安全。目前,虽然量子密码学在保护经典信息方面取得了很大的进展,但对量子信息密码学保护的研究也不容忽视。
在安全多方计算中,量子隐私查询要抗外部攻击者的拦截—重发攻击,还需要抗通信双方的不诚实行为。隐私信息检索(PIR)要求不能泄露用户的数据,即数据库不知道用户的具体信息。对称隐私信息检索(SPIR)侧重于保护数据库的安全,用户只能知道数据库已经付费的内容,而用户没有权限知道其他数据库信息。量子数据库隐私查询技术实现的是付费数据库拥有者向购买数据库信息的用户提供服务,但是与经典网络的数据库不同,量子数据库隐私查询技术在用户查询数据库信息的同时,还需保护数据库和查询用户的隐私,即用户只能查询到已经付费的那条信息,而数据库无法获知用户查询的哪一条信息。量子隐私查询一直都有新的研究出现。2008年,Giovannetti首次提出量子隐私查询方案(GLM)。GLM-方案不仅保证用户获取的信息有限,而且在通信复杂度和计算复杂度方面都有指数级的加速。Jakobi基于SARG04的量子密钥分发和GLM方案,提出了第一个实用的量子隐私查询方案。
现有技术的缺陷和不足:
1、量子隐私查询的密钥分发,需要具备全量子能力。在量子密钥分发过程,量子初始态制备困难,通过叠加或纠缠的手段制备满足需要的粒子。有的情况是需要通过多次叠加纠缠获得多粒子状态,有的是测量过后只使用满足自己要求的粒子状态,其他的都抛弃;
2、量子比特容易受到其他因素干扰:单光子受实际量子传输信道中噪声影响,可能会对测量结果造成一定干扰;外部与内部窃听者同样也会对测量结果造成影响。量子隐私查询中的窃听检测步骤就显得尤为重要。
3、现有量子隐私查询方案中测量粒子的结果多样,难以用经典的信息0,1进行区分。
发明内容
针对现有技术中的上述不足,本发明提供了一种单向传输的量子数据库隐私查询方法,采用八种量子状态实现数据库的隐私数据查询,最终达到数据库拥有者知道全面的协商密钥,而查询用户只获得协商密钥的1/4。
为了达到上述发明目的,本发明采用的技术方案为:
一种单向传输的量子数据库隐私查询方法,包括以下步骤:
S1、查询用户随机生成单光子和Bell态的混合序列,并发送给数据库;
S2、数据库选择接收到的粒子中的一半粒子进行窃听检测;
S3、数据库随机生成二进制数作为数据库的初始密钥,并根据密钥的值选择Z基或Bell基将接收到的粒子对进行测量;
S4、数据库根据测量结果宣布两位二进制比特;
S5、查询用户根据步骤S1生成的混合序列及数据库宣布的结果,以一定概率获得密钥位;
S6、数据库和查询用户利用后处理方法对密钥进行处理,得到最终密钥。
进一步的,所述步骤S1具体为:
查询用户随机生成单光子和Bell态的混合序列,其中粒子随机的处在|00>,|01>,|10>,|11>,|Φ+>,|Φ->|,|Ψ+>|,|Ψ->状态,然后将混合序列发送给数据库。
进一步的,所述Bell态表示为:
其中,|Φ+>,|Φ->,|Ψ+>,|Ψ->表示四种Bell态。
进一步的,所述步骤S2具体为:
数据库选择接收到的粒子中的一半粒子对,通知查询用户宣布这些粒子对的初始状态,然后数据库根据这些粒子的初始状态选择对应的基测量,如果初始状态为|00>,|01>,|10>,|11>,则采用Z基{10>,|1>}测量;如果初始状态为|Φ+>,|Φ->,|Ψ+>,|Ψ->,则采用Bell基测量;如果数据库测量的结果和查询用户宣布的初始状态不同,则说明存在窃听者,结束流程;如果数据库测量的结果和查询用户宣布的初始状态相同,则说明不存在窃听者,查询用户和数据库丢掉所有用于窃听检测的粒子对,然后执行下一步骤。
进一步的,所述步骤S3具体为:
数据库随机生成二进制数作为数据库的初始密钥aN={a1,a2,a3...aN},其中aN∈{0,1}N,并根据密钥的值选择Z基或Bell基将接收到的粒子对进行测量;如果二进制数中的第i位ai=0,则数据库选择Z基测量粒子序列中的第i个粒子对;如果二进制数中的第i位ai=1,则数据库选择Bell基测量粒子序列中的第i个粒子对。
进一步的,所述步骤S4具体为:
数据库根据测量结果宣布两位二进制00,01,10,11的比特,其中00表示测量结果是{|00>,|Φ+>},10表示测量结果是{|11>,|Φ->},01表示测量结果是{|01>,|Ψ+>},11表示测量结果是{|10>,|Ψ->}。
进一步的,所述步骤S6具体为:
数据库和查询用户利用后处理方法对原始密钥中的剩余密钥进行处理,得到最终密钥,数据库利用最终密钥按位加密数据库。
本发明具有以下有益效果:
(1)本发明只需查询用户向数据库拥有者发送一次量子信息,就能实现用户对数据库的隐私查询,实现方法更加简单;
(2)在保证完成隐私查询的基础上,提高了量子比特使用效率,且无论是内部还是外部窃听者都无法获得额外的密钥信息;
(3)本发明采用的是单向传输,因此无需添加额外的量子设备就能够抵御特洛伊木马攻击。
附图说明
图1是本发明的单向传输的量子数据库隐私查询方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供了一种单向传输的量子数据库隐私查询方法,包括以下步骤S1至S6:
S1、查询用户随机生成单光子和Bell态的混合序列,并发送给数据库;
在本实施例中,步骤S1具体为:
查询用户随机生成长度为4N的单光子和Bell态的混合序列,共包含2N个粒子对,其中粒子随机的处在|00>,|01>,|10>,|11>,|Φ+>,|Φ->,|Ψ+>,|Ψ->状态,然后将混合序列发送给数据库。
上述粒子的Bell态表示为:
其中,|Φ+>,|Φ->,|Ψ+>,|Ψ->表示四种Bell态。
本发明制备初始量子状态,通过叠加或纠缠的手段获得|00>,|01>,|10>,|11>,|Φ+>,|Φ->,|Ψ+>,|Ψ->八种初始状态,具有较低的量子通信消耗,查询用户只需发送4N个量子态,就可获得长度为N的数据库加密密钥;同时使用的Bell态和两个单粒子叠加态具有一定的抗噪能力。
S2、数据库选择接收到的粒子中的一半粒子进行窃听检测;
在本实施例中,步骤S2具体为:
当数据库接收到来自查询用户的粒子后,先用一半粒子对做窃听检测,发现攻击者。数据库选择接收到的粒子中的一半粒子对,通知查询用户宣布这些粒子对的初始状态,然后数据库根据这些粒子的初始状态选择对应的基测量,如果初始状态为|00>,|01>,|10>,|11>,则采用Z基{0>,|1>}测量;如果初始状态为|Φ+>,|Φ->,|Ψ+>,|Ψ->,则采用Bell基测量;如果数据库测量的结果和查询用户宣布的初始状态不同,则说明存在窃听者,结束流程;如果数据库测量的结果和查询用户宣布的初始状态相同,则说明不存在窃听者,查询用户和数据库丢掉所有用于窃听检测的粒子对,然后执行下一步骤。
窃听检测完成后,查询用户和数据库剩余的粒子序列长度为2N,包含N对粒子。
本发明采用单向传输方式实施更加容易,不需要复杂的操作就能达到隐私查询的目的;同时降低了量子传输发生窃听的可能性,提高了方案的安全性。
S3、数据库随机生成二进制数作为数据库的初始密钥,并根据密钥的值选择Z基或Bell基将接收到的粒子对进行测量;
在本实施例中,步骤S3具体为:
数据库随机生成二进制数aN={a1,a2,a3...aN},其中aN∈{0,1}N,作为数据库的初始密钥,并根据密钥的值选择Z基或Bell基将接收到的粒子对进行测量;如果二进制数中的第i位为0,即ai=0,则数据库选择Z基测量粒子序列中的第i个粒子对;如果二进制数中的第i位为1,即ai=1,则数据库选择Bell基测量粒子序列中的第i个粒子对。
S4、数据库根据测量结果宣布两位二进制比特;
在本实施例中,步骤S4具体为:
对于每个粒子对的测量结果,数据库根据测量结果宣布两位二进制00,01,10,11的比特,其中00表示测量结果是{|00>,|Φ+>},10表示测量结果是{|11>,|Φ->},01表示测量结果是{|01>,|Ψ+>},11表示测量结果是{|10>,|Ψ->}。
S5、查询用户根据步骤S1生成的混合序列的初始状态及数据库宣布的结果,以一定概率获得密钥位;
在本实施例中,查询用户获得密钥位的推断方式如表1所示。
表1、密钥位的推断方式
例如:当查询用户制备的是|Φ+>,若数据库宣布10时,查询用户一定可以推断数据库是用Z基测量,且测量结果为|11>,所以查询用户可推断密钥一定是0;但是如果数据库宣布结果为{|00>,|Φ+>}时,查询用户无法推断出密钥。
S6、数据库和查询用户利用后处理方法对密钥进行处理,得到最终密钥。
在本实施例中,步骤S6具体为:
通过上述步骤,数据库就已经获得了长度为N的原始密钥,而查询用户将获得原始密钥kr中的1/4密钥。
数据库和查询用户利用后处理方法对原始密钥中的剩余密钥进行处理,得到最终密钥K。
本发明中查询用户只需向数据库传递一次量子信息,就可以完成量子查询密钥的协商,通信量更少,相应在通信中存在的安全隐患也较少。
本发明中采用的后处理方法具体为:
整个数据库获得的密钥长度为kf,查询用户和数据库协商后将原始密钥kf切成长为n的k个子串(nk=N),随后双方将这k个子串按位异或,通过压缩最终得到长度为n的密钥K,查询用户只知道其中一位。如果查询用户知道密钥的第j位Kj,而想获得数据库的第i条内容Xi,查询用户要求数据库将整个密钥K做循环左移s=j-i位。移动后,查询用户知道的那一位密钥,刚好用于加密其想获得的那一条数据库内容。
最后,数据库利用最终密钥K按位加密数据库。
下面本发明分别从外部攻击和内部攻击两个方面对本发明方法的安全性进行分析。
对于外部攻击(拦截重发):
如果窃听者知道查询用户制备的初始状态和数据库选择的测量基,就一定可以成功发送伪造粒子给数据库,窃听者就可以获得密钥而不被发现。但事实是窃听者什么都不知道。如果想获得额外信息,窃听者首先需要截获查询用户发送给数据库的粒子,然后随机测量过后发送给数据库。在步骤S2的窃听检测过程中,数据库的测量结果如果与查询用户宣布的初始状态一致,那么窃听者就通过了窃听检测并且不被发现。所以数据库只会以一定的概率检测到窃听者的窃听行为。
假设查询用户的初始状态是|00>,在发送给数据库之前被窃听者截取,窃听者由于不知道查询用户发送的粒子状态,所以随机采用Z基或Bell基测量。窃听者用Z基测量的结果为|00>,用Bell基测量的结果为|Φ
+>或|Φ
->的概率各为1/2。数据库随机采用测量基测量:|00>用Z基测量结果为|00>,用Bell基测量结果为|Φ
+>或|Φ
->的概率各为1/2;|Φ
+>用Z基测量结果为|00>或|11>的概率各为1/2,用Bell基测量结果为|Φ
+>;|Φ
->用Z基测量结果为|00>或|11>的概率各为1/2,用Bell基测量结果为|Φ
->。所以,窃听者在数据库测量过后能通过检测的概率
如果传递的消息为x位,则能检测到窃听者的窃听行为的概率
在传递的消息位数x足够大的情况下,窃听者被检测到的概率接近1。所以本发明在外部攻击的情况下是足够安全的。
对于内部攻击:
1、数据库隐私
A、联合测量攻击
由于本发明是单向传输的,并且它使用了Bell态和单光子作为初始状态,所以即使查询用户知道自己制备的出示状态,他也不能从此信息中获得最终的密钥。当查询用户将粒子序列传输给数据库时,数据库根据测量结果宣布消息。数据库知道所有的密钥,但是无法确定查询用户知道的密钥位置。
最后,查询用户只能通过数据库公布的结果和准备的初始状态,以1/4概率获得密钥。这两个获得密钥的基本元素分别位于数据库和查询用户中信息中,查询用户知道量子初始状态,但是当查询用户根据数据库宣布的结果推出一条消息时,光子不在属于查询用户,其已经被传递给了数据库。所以本发明可以克服联合测量攻击。
B、插入攻击
查询用户想要在制备初始粒子的过程中选择部分粒子通过插入辅助系统来窃听,从而获得更多的数据库信息。查询用户通过对辅助系统执行适当的幺正操作,然后测量辅助系统推导出原始密钥位。我们假设查询用户对|Φ+>和|Φ->攻击如下:
在对|Φ+>和|Φ->插入辅助粒子,之后做U操作,形成新的粒子|φ+>和|φ->:
在加入辅助粒子之后要想保证窃听者的窃听行为不被检测到,|φ+>和|φ->需要满足如下条件:
因此可得b=c=0。
查询用户在制备虚假的插入粒子攻击过程中,未检测到窃听者窃听存在的概率为
当用来窃听检测的粒子数足够多的时候,就一定能够检查出窃听。
C、虚假粒子攻击
恶意用户获得密钥后,可以通过其他方式来准备和测量量子态,即发送假量子态(假信号攻击)。但在本发明,初始密钥是数据库生成(数据库选择测量基),也就是说恶意用户不能通过发送伪造状态影响原始密钥。此外,他的恶意窃听行为将在步骤S2中被发现。恶意用户发送伪造的光子,而一旦数据库发现她的测量与恶意用户的声明不一致,她就发现了窃听。
恶意用户通过准备虚假状态|K>来执行伪信号攻击:
检测用户只保留光子1并向数据库发送2,3光子。他可以通过他手中光子1的状态知道发送给数据库的光子2、3的状态。当数据库接收到四个Bell状态时,它随机使用Z基或Bell来测量。假设数据库的测量结果为|Φ+>,检测用户需要在步骤S2中发布初始量子状态。如果检测用户发布|Φ+>,就不可能检测到恶意用户的窃听;一旦检测用户宣布结果是|Φ->,|Ψ+>,|Ψ->,恶意用户一定有窃听攻击行为。也就是说,恶意用户一定准备了假光子。当传输光子数量足够多时,联合测量攻击中的窃听检测可以发现恶意用户的窃听行为。
2、用户隐私
如果数据库不诚实,用户隐私可能被窃取。本发明可以抵御木马攻击,在一个欺诈敏感的环境中,如果不诚实的数据库想要获取检测用户的其他信息,就可能被发现。数据库只做测量和宣布,整个过程中没有插入光子,宣布由测量结果决定,测量结果由基的选择决定。如上所述,所有用Z或Bell基随机测量的光子,其结果都将被数据库以经典信息的方式进行声明。方案在原则上限制了数据库的功能,当数据库测量结果为|00>时,检测用户在数据库不宣布信息的情况下是不能判断初始准备状态为|00>,|Φ+>或|Φ->。一旦数据库宣布00信息,检测用户就可以推断出量子的初始状态必定是|Φ->的结论。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围。