陈凯伦,梁向前
(山东科技大学 数学与系统科学学院,山东 青岛 266590)
在设计匿名投票方案的过程中,如何保证投票人投票信息的匿名性是一个关键问题。一个安全的电子投票协议,不仅能够抵御多种方式的攻击,还应该保护投票人信息不被泄露。Chaum[1]在1981年首次利用经典密码体制,提出了保护投票人身份的匿名投票协议。随后,诸多学者在投票协议的设计方面进行研究,提出了许多电子投票协议。随着量子计算机的发展,Shor[2]在1999年提出了著名的Shor算法,在量子计算机帮助下,这一算法使得大整数分解问题变得不再困难,这表明基于计算复杂性的经典密码协议在量子时代易于被攻破。因此,设计能够抵抗量子攻击的安全投票协议具有重要意义。
一个安全的投票方案需要满足以下安全要求[3]:
1) 隐私性。除投票人之外,其他人无法通过投票信息获取投票人的身份信息。
2) 不可重用性。每一张选票只能由投票人使用一次。
3) 可验证性。每一位投票人的选票是否被正确统计,可由投票人本人核实。
4) 合法性。只有合法的投票人才能投票。
5) 公平性。在投票过程结束之前,没有人能够预先获取投票结果。
2002年,Christandl等[4]对隐藏发送人和接收人身份的问题进行研究,提出一种用于经典比特匿名传输和接收的量子协议,开启了在量子信道中传递秘密信息的研究。2007年,Vaccaro等[5]提出一个只有两个选项的旅行投票协议,该协议将纠缠态的各个粒子分发到不同的站点并且利用任一站点的不可访问性来保证投票的匿名性和隐私性。之后,Bonanome等[6]和Hillery等[7]对该协议进行改进,修补了可能存在的安全漏洞。2008年,Okamoto等[8]基于共轭编码对量子态的使用方式做了改进,设计了更高效的协议。同年,Li和Zeng[9]提出了新的量子投票方案,实现在众多候选人中投票。随后,基于不同的量子态,众多专家学者在这一领域做了大量的工作,并提出许多量子投票协议。Jiang和He等[10]利用基于连续变量的量子纠缠态的性质,提出一种安全的量子投票协议,该协议可以保护每个投票人的投票隐私。通过使用多维量子纠缠态、保密的选票和索引号,Wang等[11]提出一种量子匿名自统计投票协议来保护投票人的隐私。2017年,Zhang等[12]设计了一个基于量子代理盲签名的投票协议,对于量子匿名安全投票协议的设计具有启发意义,不少研究人员受到启发,相继提出一些新的、不同类型的量子投票协议[13-24]。
通过对以往方案的总结分析,受到Zhang等[25]提出的多方量子秘密共享协议的启发,利用仅通过联合测量才可以从d维纠缠态中提取相位信息的性质,本研究设计特殊的选票结构,提出一种基于d维纠缠态的安全量子投票协议,在投票过程中,投票人获得选票中心分发的一张可分离的选票,可以在三个不同的地点投票,由计票人在公告栏上宣布投票结果。通过分析,方案满足投票人对隐私保护的安全需求,满足投票方案的安全要求。
本研究需要应用以下基础理论知识[2,5]:
d维纠缠态:
(1)
设x为整数,对应的相位旋转局部算子Ux操作可表示为[28]:
(2)
对状态为|φ0〉 的任何一个粒子执行Ux操作后,状态变为:
(3)
(4)
为了描述方便,本研究用MC表示投票管理中心(manage center),用Bob1、Bob2和Bob3表示选票收集站,Charlie表示计票人,Alice表示投票人,QD代表纠缠态的第四粒子组成的序列,BN为纠缠态的前3个粒子序列组成的未进行投票的选票,B1N*、B2N*和B3N*分别代表拆分开之后进行投票后的选票,B1E、B2E和B3E分别为选票收集站Bob1、Bob2和Bob3进行加解密操作之后的选票。
量子投票过程如图1所示,具体分为4个阶段。
图1 量子投票过程图Fig. 1 Diagram of the quantum voting process
2.2.1 初始阶段
1) 投票管理中心(MC)验证投票人Alice的身份并确认Alice的合法性。若Alice身份合法,MC为Alice随机生成唯一的投票ID号,记为序列PMC∈{0,1}5m,这里m表示ID号的位数。否则,Alice被禁止投票。
2) Bob1、Bob2和Bob3分别与合法的投票人Alice通过QKD协议共享会话密钥KB1A、KB2A和KB3A∈{0,1}N,这里N=n+m,n表示投票信息长度。
3) Bob1、Bob2和Bob3分别与Charlie共享会话密钥KB1C、KB2C和KB3C∈{0,1}N。
2.2.2 选票分配阶段
(5)
2) MC将前三个量子序列{QA,QB,QC}打包为一个序列BN={QA,QB,QC}发送给Alice,MC保留序列QD。这里要说明的是,发送的序列中需要插入诱饵粒子来确保传输的安全性,具体操作方法可参考文献[14]。如果检测双方通过窃听检测,证明无窃听行为发生,协议可以继续,否则需要重新执行协议。
2.2.3 投票阶段
1) Charlie建立一个公告栏。
2) Alice通过计算收到的量子数来确认选票序列BN的完整性。Alice根据自己的投票内容生成二进制投票信息M={m1,m2,…,m5n}∈{0,1}5n,然后合并序列M和PMC,得到序列M*=M‖PMC={m1,m2,…,m5n,…,m5(n+m)},之后Alice使用算子Ux将信息M*编码到选票BN上。为了方便,下文中记n+m=N,其具体编码规则如下:
Xi=24×m5i-4+23×m5i-3+22×m5i-2+21×m5i-1+20×m5i,i=1,2,…,N。
(6)
3) Alice将选票BN*分为三部分,每个部分可以分别表示如下:
(7)
5) Alice通过安全信道分别将B1N*、B2N*和B3N*发送给Bob1、Bob2和Bob3。
2.2.4 计票阶段
B1E={EKB1C(B1N)},
B2E={EKB2C(B2N)},
B3E={EKB3C(B3N)}。
(8)
2) Bob1、Bob2和Bob3将量子序列B1E、B2E和B3E无错误的发送给Charlie。
3) Charlie接收到量子序列之后,由Bob1、Bob2和Bob3通知投票管理中心MC,Alice已经完成投票,并且选票已经发送给Charlie。MC将粒子序列QD和PMC通过量子安全信道发送给Charlie。
4) 在使用通信密钥KB1C、KB2C和KB3C分别解密B1E、B2E和B3E之后,利用MC传输的第四个量子序列QD,Charlie可以获得完整的选票:
(8)
(9)
(10)
5) Charlie通过将Xk转换为二进制数m5k-4、m5k-3、m5k-2、m5k-1、m5k来获取信息M*′,即Charlie得到了M′和PMC′。如果PMC′=PMC,Charlie在公告板上公布相应的投票ID号PMC和投票信息M′;否则Charlie拒绝这次投票。
在量子投票协议中,隐私性主要表现为:除了投票人自己,没有人可以通过投票信息获取投票人身份信息,也不能通过投票人身份信息获取投票人的投票信息。只有确保选票的安全,才能确保投票人的隐私安全。本部分分析投票过程中的安全性和隐私性,具体讨论在选票分配阶段和投票阶段泄露投票人信息的可能性。
作为一个外部窃听者Eve,存在两种攻击方式。
一种是在选票分配阶段,Eve伪装成合法投票人窃取选票并发送给投票人。考虑Eve截获了序列BN中的任意粒子数x的情况。假设协议中使用的诱饵粒子的比例为ξ0。如果x (11) 如果诱饵粒子的比例ξ0足够大,则概率接近“0”。此时,Eve截获选票中有用的粒子的概率几乎为0。在窃听检查的安全保护下,这种攻击是失败的。 另一种方法是在投票阶段截取选票,即Eve有可能截获Alice发送的粒子。在这种情况下,约化密度矩阵与未执行操作前相同: (12) 可以知道,Eve不能从截获的粒子上获得任何有效信息。同样的,考虑Eve截获两个或三个粒子的情况下,根据约化密度矩阵可以得知Eve依然不能获得任何有效信息。根据量子Fourier变换的性质,Eve只有对纠缠态的所有粒子进行联合测量才能获得其相位信息,然而这是不可能实现的,因此Eve无法获得Alice的投票信息。 另外,考虑投票过程中其他参与者试图获得整个投票信息的情况。由于参与者可以获得部分投票信息,因此在获取全部投票信息方面具有一定的优势。但是通过对协议中参与者攻击的安全性分析,只有MC或Charlie可以同时访问所有的粒子。但对于MC来说,他无权参与投票阶段。同样,对Charlie来说,Alice的真实身份是绝对保密的,因为他只被允许在计票阶段得知Alice的秘密投票ID号序列PMC。在此基础上,由于多个投票站的存在,Charlie无法直接联系投票人,这不仅保证了投票人的合法性,也保护了投票人的身份信息不被泄露。因此,多个投票站可以有效防止合谋攻击。 分析结果表明,攻击者获取的信息不会威胁到投票人的隐私性。 在该协议中,MC是高度可信的。在投票阶段,当MC接收到投票者的身份信息后,MC负责验证投票者身份的合法性,并检查是否是第一次投票。如果是第一次投票,量子序列(量子选票)以及ID号被发送给投票人,否则投票人没有权利进行投票。通过这种方式,可以保证投票人没有重复投票。 每个投票人都有专属的唯一的投票序列号PMC,由MC分配,投票人身份信息和投票序列号PMC是一对一的对应关系。投票人完成投票后,计票员Charlie将在公告栏上公布唯一的PMC及其相应的投票结果M′。每个投票人都可以查看公告板,以确定投票信息是否正确地被统计。由于每个合法投票者都有一个唯一的PMC,并且选票信息中包含唯一的PMC,计票人Charlie可以在投票和计票阶段通过比较PMC来验证每个投票者身份的有效性。 参与投票的投票人需要在初始阶段将身份信息发送给MC进行认证。认证合法后,MC再给每个合法投票人生成唯一的ID号并向其发送可用于投票的粒子序列。若投票人不满足投票条件,那么将无法执行此投票协议。另外,投票人只有一次投票机会并且要对自己的选票负责。 每个投票人都有平等的投票机会,每一张选票都独立。在投票阶段,每个投票人可以根据自己的意愿进行投票,不能从其他投票人那里获得投票信息。在计票阶段,每一位投票人的投票信息都会得到正确的统计。根据d维纠缠态的性质,计票人Charlie只有在获得完整的量子序列时才能计算投票结果。因此,在投票过程结束之前,任何人不能获得投票结果,从而保证了投票的公平性。 本研究提出一个量子安全投票协议,协议执行过程中,d维纠缠态的特性可以有效保护投票人隐私信息。每个合法投票人只有一张选票,以保证投票的公平性和不可重用性。在投票阶段,投票人把选票分成三部分,拆分他们的隐私信息,使得任何单独获得部分选票的投票站都无法获得投票人的有效信息。该协议容易推广到使用多个选票收集站的场景上,可确保选票在传输过程中的安全性。经过分析,方案保证了投票人的隐私信息在投票过程中不被窃取。此外,本研究提出的保护隐私思想对量子秘密共享等领域的研究也具有一定参考价值。3.2 不可重用性
3.3 可验证性
3.4 合法性
3.5 公平性
4 结论