计国民
(滁州职业技术学院,安徽滁州239000)
随着计算机技术和网络技术的迅猛发展,电子选举方案的研究层出不穷,而且具有一定的成效,其很好地解决了投票过程的安全性、不可重复性、合法性等要求,对于选票碰撞、管理机构权限过大、匿名性等问题也得到了很大的改进[1].其中文献[2]将OT协议应用于电子选举中,解决了电子选举对多选性的要求.文献[3]基于强(t,n)密钥绝缘的盲签名算法和哈希函数设计了一种安全实用的大规模电子选举协议,对于Internet的大范围投票场合非常适合.文献[4]在盲签名的基础上,提出了基于双线性对的代理门限盲签名方案,节省了用户从系统中获取公钥的时间,减少了系统交互次数,提高了系统执行效率.然而,合法的投票人因无法参与,如何解决代理人代理投票问题,仍有待进一步研究.为此,本文将在文献[5]的基础上,利用双线性对代理盲签名方案来解决代理人代替合法的投票人进行投票问题.
电子选举起源于上个世纪80年代.早在1981年,Chaum.D就提出电子投票的思想.1985年,Cohen.J和Fischer.M在IEEE第26届计算机科学技术年会上提出一个集中式的电子选举方案,该方案的安全性基于数论中平方剩余问题的概率公钥加密,采用盲签名及混合网扰乱发送的消息来实现匿名投票,其假定组织选举的政府机构不舞弊,从而以很高的概率获得健壮性和可验证性.
电子选举是以密码学理论为基础,通过计算机技术和网络通信技术来实现电子投票的一种选举方案.在电子选举系统中,最主要的是如何设计一种安全的电子选举协议,以保证选举的公平性、安全性.一个好的电子选举协议通常应具有合法性(Democratic)、完备性(Completeness)、保密性(Private)、可验证性(Verifiable)、鲁棒性(Robustness)、易用性(Accessible)、灵活性(flexibility)等相关特性.
电子选举方案应包括注册、投票、统计、验证以及公开等五个步骤.
代理盲签名(Proxy Blind Signature)是代理签名和盲签名的有机结合,既具有代理签名的特性,又具有盲签名的特性,其有着广泛的应用领域,在电子选举中通过代理盲签名可以实现选举的保密性和安全性[6].一个安全的代理盲签名方案要求只有指定的代理签名人才能够产生有效代理盲签名,任何其他人都不能生成有效的盲代理签名,并且其代理盲签名可以被验证者方便地验证其有效性,也可以被任何人区分代理盲签名与正常的原始签名人的签名.当代理签名人代替原始签名人产生了有效的代理盲签名后,无论是原始签名人还是代理签名人都不能否认其行为.为此,代理盲签名通常具有盲性、不可伪造性、不可否认性、可鉴别性、可验证性、防止滥用性等特性.
一个完整的代理盲签名的构造通常需要用到普通的数字签名、代理签名以及盲签名三种技术,其包括密钥生成算法、授权代理算法、代理盲签名算法以及签名验证算法四个过程.目前,常用的代理盲签名方案主要有基于离散对数的代理盲签名方案、基于身份的代理盲签名方案以及基于双线性对的代理盲签名方案等[7~9].
双线性对是一种加密算法,也就是代数曲线上的Weil对和Tate对,最初在密码学中主要是用来攻击椭圆曲线密码系统和超椭圆曲线密码系统[10].
假设G1和G2分别是阶为大素数q的循环加法群,GT是乘法群,设P、Q、g分别是G1、G2和GT的一个生成元,即P∈G1,Q∈G2,g∈GT.G1和G2中的离散对数的计算是困难问题.如果存在有效的映射:
e:G1×G2→GT,e(P,Q)=g
并且对于任意的P1,P2∈G1和Q1,Q2∈G2,其满足以下双线性性质:
e(P1+P2,Q)=e(P1,Q)e(P2,Q)
e(P,Q1+Q2)=e(P,Q1)e(P,Q2)
那么,映射e就被称为从G1×G2到GT的一个双线性对.
双线性对通常还需要满足以下两个条件:
1)非退化性:存在P∈G1,Q∈G2,使得e(P,Q)≠1GT.
2)可计算性:任意取P∈G1,Q∈G2,存在有效算法计算e(P,Q).
该双线性对通常称为非对称的双线性对.为了计算的方便,可限制G1=G2,从而可以写成e:G1×G1→G0,该双线性对称为对称式双线性对.
电子选举系统的选举过程包括四个组成部分:选票的发放阶段、选票的注册阶段、选票的收取阶段以及选举结果的公布阶段[11,12].通常需要代理选举的电子选举系统包括五个对象:原始选民、代理选民、选票发放中心、注册中心以及计票中心,如图1所示.
图1 代理电子选举系统的选举过程
为了研究方便,本方案在是文献[5]的基础上进行改进,为此,本文仅讨论代理选举的相关内容,涉及到电子选举的其他过程不作讨论.
假设原始选民Alice有一选票M需要参与投票,而其选票内容具有一定的保密性,Alice由于种种原因不能对该选票进行签名并投票,Alice委托代理选民Bob为该选票签名并投票.为此,采用了基于双线性对的代理盲签名方案.
设G0是一个阶为大素数q的GDH群,G2是一个阶为大素数q的循环乘法群.双线性对映射e:G0×G0→G2.
P是G0的一个生成元,散列函数h1:{0,1}*→Zq,h2:{0,1}*→G0,系统公开参数为(G0,G2,e,q,P,h1,h2).
原始选民Alice任意选取随机数kA∈Z*q作为自己的私钥并保存好,然后计算PA=kAP,将PA作为其公钥并在系统内部公开.同样,代理选民Bob任意选取随机数kB∈作为其私钥并保存好,然后计算PB=kBP,将PB作为其公钥并在系统内部公开.
1)选票获取过程
合法的原始选民以匿名身份向选票发放中心申请选票,选票发放人分发给原始选民相应的选票M,在该选票中附唯一序列码,并对其签名,以确保该选票的唯一性和可识别性.同时也将该选票发送至注册中心.
2)选票填写过程
原始选民Alice收到选票发放中心的选票M后,对其进行填写,形成具有内容的选票MA,并将其保存好.
3)选票委托过程
(1)原始选民Alice在填写好自己的选票后,先根据自己的私钥kA和哈希函数,计算σ'=kAh2(ω),其中ω为原始选民Alice的授权书,然后将(σ',ω)发送给代理选民Bob.
(2)代理选民Bob收到原始选民Alice发送来的(σ',ω)后,验证等式e(σ',P)=e(h2(ω),PA)是否成立,如果成立,则计算出代理签名的密钥σ=σ'+kBh2(ω),其中kB是代理选民Bob的私钥;否则,拒绝接受其委托.这样,代理签名密钥σ的公钥即为PA+PB.
(3)代理选民Bob计算并确认代理签名的密钥后,任意选取随机数t∈,计算U'=th2(ω),然后将(U',ω)发送给原始选民Alice.
(4)原始选民Alice收到代理选民Bob发送来的(U',ω)后,任意选取随机数α∈Z*q作为盲化因子,计算:U=α(U'+(ω)),M'A=α-1h1(MA‖U)+h2(ω).然后将盲化的消息M'A发送给代理选民人Bob.
(5)代理选民Bob收到原始选民Alice盲化的消息M'A后,计算V'=(t+MA')σ,并将V'发送给原始选民Alice.
(6)原始选民Alice收到代理选民Bob的V'后,去盲处理,计算V=αV',这样就形成了选票MA的签名(MA,ω,U,V).
(7)代理选民Bob将此带有签名的选票发送到注册中心,完成代理投票过程.
4)选票的收取过程
计票中心收取来自选民的选票MA,对其验证并签名,然后将其记入计票中心的选票信息表中.
5)选举结果的公布
当所有选票记入选票信息表并公布后,接受公众的监督和查询,如有问题,可直接向计票中心提出质询.当所有的选民无异议后,计票中心统计选票,并向公众公布选举的结果.
1)不可伪造性
代理选民Bob无法伪造原始选民Alice的选票进行投票,因为,要使原始选民Alice接受其签名,当且仅当等式e(V,P)=e(U+h1(MA‖U)h2(ω),PA+PB)成立方可.
证明e(V,P)=e(αV',P)=e(α(t+M'A)σ,P)
=e(σ,P)α(t+M'A)=e(h2(ω),PA+PB)α(t+M'A)
=e(α(t+M'A)h2(ω),PA+PB)
=e(α(t+α-1h1(MA‖U)+h2(ω))h2(ω),PA+PB)
= e(αth2(ω) + h2(ω)h1(MA‖U) +αh2(ω)h2(ω),PA+PB)
=e(α(th2(ω)+(ω))+h2(ω)h1(MA‖U),PA+PB)
=e(U+h1(MA‖U)h2(ω),PA+PB)
在选票MA签名(M,ω,U,V)中有原始选民Alice授权书ω,攻击者无法伪造原始选民授权书ω'来签名.攻击者没有代理选民Bob的代理密钥σ,他也无法冒充代理选民对选票MA伪造签名.如果攻击者(包括原始选民)在没有代理密钥σ下,他与原始选民Alice联合也不能产生代理选民对选票MA的有效签名,因为选票MA的签名(MA,ω,U,V)需要通过等式e(V,P)=e(U+h1(MA‖U)h2(ω),PA+PB)的验证,而在等式中e是一个安全的双线性对,要随机找到一组签名满足上式在计算上是不可行的,所以满足不可伪造性.
2)合法性
只有合法的选民才能获得附有唯一序列码的选票,从而解决了“一人多投”问题.在选票的委托过程中,注册中心将对选票的合法性和唯一性进行再次验证.另外,原始选民Alice的授权书ω中还包括其授权的范围、期限和委托人的ID等相关信息.
3)可验证性
在委托投票过程中,原始选民Alice在确认代理选民Bob签名是否有效时,要求其验证等式e(V,P)=e(U+h1(MA‖U)h2(ω),PA+PB)是否成立,其中MA,ω,U,V由原始选民公开,而P2、h1和h在系统初始化时就公开,PA和PB在密钥生成时公开,这样所有的参数都已公开,选举过程中的所有参与者都可以对该等式进行计算验证.
在计票中心,所有的选票信息表都将公开,通过查看选票的信息表,原始选民不需要任何条件就可以查看并验证自己的选票是否正确.
4)盲性
原始选民Alice收到代理选民Bob的(U',ω)后,利用盲化因子α对选票MA进行盲化,生成盲化选票M'A,代理选民仅对盲化的选票M'A进行签名,无法看到原始选票MA,因此盲化选票M'A对代理选民来说具有盲性.
5)保密性
原始选民Alice在申请选票时是以匿名身份登录的,不会暴露其真实身份,也就是说选民身份具有保密性.另外,在委托投票过程中,选票是盲化的,即M'A,任何人无法看到其选票中的内容,从而保证了选票内容的保密性.
6)不可抵赖性
在选票MA的签名(MA,ω,U,V)中有原始选民Alice的授权书ω,而且原始选民Alice的公钥PA在签名的验证过程要用到,同时代理选民Bob的公钥PB也要在签名的验证过程中出现.这样,无论是原始选民还是代理选民都无法否认该选票.
7)不可链接性
原始选民Alice在脱盲后形成签名(MA,ω,U,V),群G1上离散对数问题是难解的,所以代理选民Bob或其他选民无法通过V=αV'来计算出盲因子α.因此,即使代理选民Bob或其他选民保存了V'和M'A,当(MA,ω,U,V)公布后,代理选民Bob或其他选民也无法确定(MA,ω,U,V)是原始选民Alice的哪一次签名.所以,该方案具有不可链接性.
本电子选举方案是基于方案[5]的基础上进行改进的,在计算量和通信量方面,都有很大的改进.在相同的安全性要求下,本方案与文献[5]在通信量上的比较如表1所示(单位为字节).在计算量的对比上,本方案与文献[5]的比较如表2所示,其中ME表示指数和多指数运算,BM表示双线性对运算.
表1 通信量对比表
表2 计算量对比表
从以上可以看来,本方案在功能上较文献[5]有一定的改进,而在通信量和计算量上却有一定的优势.在实际应用中,具有相同安全性的情况下,功能的实用性和算法的易实现性起到关键作用.
本文是基于双线性对代理盲签名技术,提出一种代理选举的电子选举方案,经过对该方案的安全性和性能进行分析,可以看出,在相同的安全性基础上,该方案无论是在通信量还是在计算量上,都具有一定的优势,实用性较强.
[1]Meng JiangTao.Cryptographic protocols for electronic voting[J].Journal of the Graduate School of the Chinese Academy of Sciences.2002,19(3):295-305.
[2]郭栋梁,秦静,李鹏程.一个基于OT协议的电子选举方案[J].计算机应用,2008,25(5):1335-1337.
[3]宋春来,殷新春,孟纯煜.一种安全实用的大规模选举协议[J].计算机应用与软件,2008,25(8):40-41,47.
[4]戚艳军,冀汶莉.一种门限代理盲签名方案[J].现代电子技术,2012,35(9):70-72.
[5]陈开兵.基于门限多重盲签名的电子选举方案[J].科学技术与工程,2007,7(12):2856-2859.
[6]Zhang F,Kim K.Efficient ID-Based Blind Signature and Proxy Signature from Pairings.8th Australasian Conference on Information Security and Privacy,LNCS2727.Springer-Verlag[J].2003:312-323.
[7]Zhang F,Safavi-Naini R,Lin C.New Proxy Signature.Proxy Blind Signature and Proxy Ring Singature Scheme from Bilinear Pairings.http://eprint.iacr.org/2003/104.
[8]Mambo M,Usuda K,Okamoto E.Proxy Signatures for Delegating Signing Operation[C].New Dehi:ACM Press,Proceedings of the 3rd ACM Conference on Computer and Communications Security,1996:48-57.
[9]Zhang K.Threshold Proxy Signature Schemes[C]//1997 Information Security Workshop.Japan,1997:191-197.
[10]陈开兵.基于双线性对的代理盲签名方案[J].信息安全与技术,2013(4):24-26.
[11]陈晓峰,王继林,王育民.基于半信任模型的无收据的电子投票[J].计算机学报,2003,26(5):557-562.
[12]汪保友,杨风,胡运发.基于盲签名的在线选举方案[J].小型微型计算机系统,2003,249(3):588-591.