发明内容
针对现有技术存在的问题,本发明提供了一种基于顺序重排更好用户隐私性的量子数据库隐私查询方法。
本发明是这样实现的,一种基于顺序重排更好用户隐私性的量子数据库隐私查询方法包括以下步骤:
步骤一,数据库拥有者Bob给用户Alice发送一个量子序列;
步骤二,对每一个收到的粒子,Alice以概率η选择用Z基测量它,或者以概率1-η选择用X基测量它;
步骤三,Alice重新排列这些粒子的顺序然后再把他们发送给Bob。同时,Alice告诉Bob重排顺序之后的各位置上的粒子在步骤二所选用的测量基和测量结果;
步骤四,Bob用Alice告诉他的基去测量他收到的每个粒子。通过比较他的测量结果和Alice公布的测量结果,Bob就可以知道Alice是否增加了η。如果Alice增加了η,Bob终止协议;
步骤五,Bob公布步骤一中用X基制备的粒子的原始位置,并要求Alice公布这些粒子在顺序重排后序列中的新位置。通过检查这些粒子,Bob就可以知道是否Alice在步骤三给他发送了伪态。如果,Alice在步骤三发送给Bob的粒子序列被判断为伪态序列,那么协议也终止;
步骤六,Alice和Bob丢弃步骤五中Bob公布的X基制备的粒子。他们保留剩下的粒子,并以剩下粒子在顺序重排前的顺序和Bob制备的原始状态为依据生成原密钥KRaw,例如|0>态表示经典位0,|1>态表示经典位1;
步骤七,Alice和Bob执行对原密钥KRaw的后处理操作;
可能Alice只购买了数据库中的一条记录,然而通过执行步骤一~步骤六,Alice通常都会得到远远多于1位的原密钥,因此,需要减少Alice知道的密钥位。如果Alice只购买了一条记录,那么最希望发生的情况是最终Alice只知道1位密钥,但是即使经过后处理之后,Alice知道的密钥位通常也不可能恰好是1位,只能让Alice知道的密钥位尽可能接近1;
步骤八,Bob用他知道的密钥加密数据库中的所有记录,而Alice利用她知道的密钥解密她购买的记录。
进一步,所述步骤一序列中的每个量子位随机处于四种状态{|0>,|1>,|+>,|->}中的一种,其中:
本发明的另一目的在于提供一种所述的基于顺序重排更好用户隐私性的量子数据库隐私查询方法的基于顺序重排更好用户隐私性的量子数据库隐私查询系统,所述基于顺序重排更好用户隐私性的量子数据库隐私查询系统包括:
制备模块,随机制备量子态处于四种状态{|0>,|1>,|+>,|->}中的一种,构成量子序列,其中:
随机是指,制备|0>,|1>,|+>,|->四种状态的概率均为25%;
测量模块,根据选定的基测量量子态,以判断量子处于什么状态;
顺序重排模块,随机打乱原有序列的位置顺序,形成新的序列;
窃听检测模块,检查Alice是否给Bob发送伪态序列,以及Alice是否按事先约定的概率选择Z基和X基测量粒子。
本发明另一目的在于提供一种实现所述基于顺序重排更好用户隐私性的量子数据库隐私查询方法的计算机程序。
本发明另一目的在于提供一种搭载有上述计算机程序的信息数据处理终端。
本发明另一目的在于提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行所述的方法。
本发明的优点及积极效果为:
本发明提出了一个基于量子位顺序重排的、具有更好用户隐私性能的、基于两步量子密钥分发的量子数据库隐私查询协议。在提出的协议中,可以获得比欺骗敏感更好的用户隐私性能。与现有技术相比,本发明只需要对粒子进行顺序重排,不需要多个数据库副本就可以实现比欺骗敏感更好的用户隐私保护性能,降低了空间复杂度,解决了多个数据库副本很难统一管理的问题。与现有技术相比,本发明在没有波长滤波器和带辅助监控探测器的光子数分发器的情况下也能抵御木马攻击,降低了实现难度和开销。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
现有技术中,提供完美的用户隐私保护需要多个数据库副本,不仅空间复杂度很高,多个数据库副本也很难统一管理,因此,大部分现有技术认为用户隐私在有些情况下不需要完美的保护,仅仅在某个前提下安全就行了,因此,对用户隐私保护的要求被放宽了。已有的量子数据库隐私查询协议中,对用户隐私的保护只达到了欺骗敏感,即,数据库拥有者不可能同时得到用户的查询位置和提供正确的查询结果。然而,对于数据库拥有者来说,只要他知道了用户本次的查询位置,他就知道了用户的秘密信息,因为他是数据库拥有者。更重要的是,尽管用户通过一次交易之后就能发现数据库拥有者的不诚实行为,但是用户的秘密信息在这一次交易中就已经泄露了,这很有可能会给用户带来巨大的损失,更甚至是致命一击。
如图1所示,本发明提供的基于顺序重排更好用户隐私性的量子数据库隐私查询方法包括以下步骤:
S101,数据库拥有者Bob给用户Alice发送一个量子序列;
S102,对每一个收到的粒子,Alice以概率η选择用Z基测量它,或者以概率1-η选择用X基测量它;
S103,Alice重新排列这些粒子的顺序然后再把他们发送给Bob;同时,Alice告诉Bob重排顺序之后的各位置上的粒子在步骤S102所选用的测量基和测量结果;
S104,Bob用Alice告诉他的基去测量他收到的每个粒子。通过比较他的测量结果和Alice公布的测量结果,Bob就可以知道Alice是否增加了η。如果Alice增加了η,Bob终止协议;
S105,Bob公布步骤S101中用X基制备的粒子的原始位置,并要求Alice公布这些粒子在顺序重排后序列中的新位置。通过检查这些粒子,Bob就可以知道是否Alice在步骤S103给他发送了伪态。如果,Alice在步骤S103发送给Bob的粒子序列被判断为伪态序列,那么协议也终止;
S106,Alice和Bob丢弃步骤S105中Bob公布的X基制备的粒子。他们保留剩下的粒子,并以剩下粒子在顺序重排前的顺序和Bob制备的原始状态为依据生成原密钥KRaw,例如|0>态表示经典位0,|1>态表示经典位1;
步骤S107,Alice和Bob执行对原密钥KRaw的后处理操作;可能Alice只购买了数据库中的一条记录,然而通过执行步骤S101-S106,Alice通常都会得到远远多于1位的原密钥,因此,需要减少Alice知道的密钥位。如果Alice只购买了一条记录,那么最希望发生的情况是最终Alice只知道1位密钥,但是即使经过后处理之后,Alice知道的密钥位通常也不可能恰好是1位,只能让Alice知道的密钥位尽可能接近1;
S108,Bob用他知道的密钥加密数据库中的所有记录,而Alice利用她知道的密钥解密她购买的记录。
本发明提供的步骤S101序列中的每个量子位随机处于四种状态{|0>,|1>,|+>,|->}中的一种,其中:
下面结合安全性分析对本发明作进一步描述。
1、数据库安全性
1.1增大η的攻击
很明显,在本发明的协议中,如果Alice增大了η却没有被Bob发现,那么她肯定会知道额外的密钥位。为了获取额外的密钥位,Alice在步骤2可能会用Z基去测量额外的粒子,也就是说Alice会增加Z基测量的粒子,但是却公布她是用X基测量的。在这种情况下,Bob发现这种攻击的概率为:
这里M是粒子总数,Δη是η增加的量。上述公式表明,如果在步骤S103,Alice发送原始态给Bob,因为Alice会告诉Bob顺序重排后的粒子的测量基和测量结果,所以Bob将会以概率
发现Alice的攻击。尽管新序列中每个粒子的位置发生了变化,但是η的值不应该变化。如果Alice发送X基的伪态给Bob,Bob将会在步骤S105发现Alice的攻击,尽管她在步骤S104逃过了检查。对于每个被检查的伪态,Bob不能成功判断它是伪态的概率为1/2。由于,Bob在步骤S101随机给Alice发送Z基或X基的粒子,因此在步骤S105窃听检查的粒子的比例为1/2。Alice的攻击行为被Bob发现的概率为
很明显当M=500,Δη=0.04,时,p≥99.9%,无论Alice在步骤S103给Bob发送原始态还是伪态。因此,如果Alice增大η,她将会以很高的概率被Bob发现。
1.2个体攻击
为了得到额外的密钥位,Alice也可以试着推断她用X基测量的那些粒子的原始状态。Alice可以在每个用X基测量的粒子上面附加一个辅助粒子,然后进行一个合适的酉操作,再返还给Bob。Alice想要通过测量这些辅助粒子来在后面的步骤中推断出对应的密钥位。然而,在步骤S104,Bob用Alice公布的测量基进行测量,这不会对Alice根据Bob对辅助粒子的操作来推断对应的密钥位有任何帮助。
1.3联合测量攻击
联合测量攻击是指攻击者把粒子保存在量子寄存器,然后当他们得知哪些位最终异或产生最终密钥的某一位时,他们再对这些位对应的粒子进行一次联合测量,从而直接推断出最终密钥的某位。这种联合测量攻击目前被认为是对数据库安全性最强有力的攻击。为了通过联合测量攻击获得额外的密钥位,Alice在步骤S102将Bob发送给她的粒子保存在量子寄存器,然后她再制备一个新的量子序列给Bob。然而,Alice的这种攻击行为在步骤S105就会被Bob发现。在步骤S105,Bob会公布步骤S101中他制备的X基的粒子,并要求Alice公布在顺序重排后的序列中这些粒子的正确位置,通过比较这些粒子的原始态和步骤S103中Alice公布的结果,Bob就可以判定Alice是否给他发送了伪态粒子。对于每个被检查的伪态,Bob不能成功判断它是伪态的概率为1/2,因此,Alice进行联合测量攻击被Bob发现的概率为:
这里,k是对最终一位密钥有贡献的粒子数,ΔN是Alice想要知道的额外的密钥位数。很明显,当k=7时,如果Alice想要额外知道1位密钥,她被Bob发现的概率至少为91.2%;如果Alice想要额外知道2位密钥,她被Bob发现的概率上升为99.2%。因此,如果Alice想要通过联合测量攻击获取额外的密钥位,她将会以很高的概率被Bob发现。
2、用户隐私
在已有的量子数据库隐私查询协议中,用户隐私的保护通常都只能达到欺骗敏感,即是,Bob不可能同时得到Alice的查询位置和提供正确的查询结果。对于Alice来讲她如果想要得到额外的数据库记录她就需要知道额外的密钥位;然而,对于Bob来说,只要他知道了Alice本次的查询位置,他就知道了Alice的秘密信息,因为他是数据库拥有者。更重要的是,尽管Alice通过一次交易之后就能发现数据库拥有者Bob的不诚实行为,但是Alice的秘密信息在这一次交易中就已经泄露了,这很有可能会给Alice带来巨大的损失,更甚至是致命一击。因此,欺骗敏感不应该是量子数据库隐私查询协议中用户隐私保护追求的终极目标,实际应用中对用户隐私保护应该还有更高的要求。在本发明提出的协议中,本发明可以获得比欺骗敏感更好的用户隐私性能。Bob既得不到Alice的查询位置,也无法给出正确的查询结果,因为Alice在把粒子返还给Bob之前,重新排列了粒子的顺序,这个新的顺序只有Alice知道,其他任何人都不知道。没有顺序重排后每个粒子的新的位置,Bob的任何攻击策略都无法奏效。
2.1针对用户隐私的常见攻击
伪纠缠态攻击,伪单光子态攻击和联合测量攻击是一些量子数据库隐私查询协议中针对用户隐私的常见攻击方式。数据库拥有者Bob的目的是想要通过制备伪造的量子态或联合测量来窃取Alice的查询位置或密钥位。然而,因为Alice在把粒子返还给Bob之前,重新排列了粒子的顺序,这个新的顺序只有Alice知道,其他任何人都不知道。没有顺序重排后每个粒子的新的位置,Bob的任何攻击策略都无法奏效。
2.2木马攻击
木马攻击是一种典型的针对两步协议的攻击策略,在这种攻击中,不可见光子被插入到粒子序列中并发送给用户,当这些光子再次被返还给最初的发送者的时候,攻击者利用不可见光子窃取秘密信息。在本发明提出的量子数据库隐私查询协议中为了获取用户隐私,Bob可能会在每个粒子信号中都插入不可见光子,然后发送给Alice。在步骤S102,Alice用Z基或者X基测量每个光子,尽管,在步骤S102,Alice不会发现Bob的攻击,但是在步骤S104,Bob也无法通过这种攻击得知哪些粒子被Alice进行了Z基测量,因为,在步骤S102,当Alice测量了每个粒子后,不可见光子就消失了。因此,在本发明的协议中,即使Alice没有波长滤波器和带辅助监控探测器的光子数分发器,Bob也无法通过木马攻击获取Alice的查询位置和密钥位。
如图2所示,本发明实施例提供的基于顺序重排的用户隐私性的量子数据库隐私查询系统包括:制备模块、测量模块、窃听检测模块和顺序重排模块。其中数据库端包括:制备模块、测量模块和窃听检测模块;用户端包括:测量模块和顺序重排模块。
制备模块的主要功能是随机制备量子态处于四种状态{|0>,|1>,|+>,|->}中的一种,构成量子序列,其中:
所谓随机是指,制备|0>,|1>,|+>,|->四种状态的概率均为25%。
测量模块的功能是根据选定的基测量量子态,以判断量子处于什么状态。如果选定的基和量子态所处的基一致,那么就可以正确的测量出量子的状态,如果选定的测量基和量子态所处的基不一致,那么就不能正确的测量出量子的状态。例如,如果用Z基{|0>,|1>}去测量量子态|0>或|1>,那么得到的结果就是|0>或|1>,测量成功;如果用Z基{|0>,|1>}去测量量子态|+>或|->,那么得到的结果是以1/2的概率为|0>态或以1/2的概率为|1>,测量失败。
顺序重排模块的功能是随机打乱原有序列的位置顺序,形成新的序列。
窃听检测模块的功能是检查Alice是否给Bob发送伪态序列,以及Alice是否按事先约定的概率选择Z基和X基测量粒子。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。