FOO共有三个参与实体:选民、管理机构和计票机构。其中管理机构和计票机构组成投票中心。协议采用了比特承诺技术和盲签名技术。
协议中使用的参数如下。
•系统选择并发布两个公共参数:单向杂凑函数H,比特承诺算法f。
•选民Vi的参数:唯一的身份标志IDi,用于比特承诺的随机数ki,盲化因子ri,签名方案δi。
•管理机构参数:加密算法的公钥(eo,no)和私钥do,签名算法。
•计票机构的参数:加密算法的公钥(ec,nc)和私钥dc。
FOO协议分六个阶段进行,描述如下。
(1)预备
选民Vi选择并填写一张选票,其内容为vi,选择一个随机数ki作为比特承诺的密钥,使用比特承诺方案f加密选票内容:xi=f(vi,ki);Vi再选一个随机数ri作为盲化因子对xi进行盲化处理:ei=reoi H(xi)mod no;接着对ei签名:Si=δi(ei);然后,Vi将(IDi,ei,Si)发送给投票管理机构A。
(2)管理机构授权
管理机构A接收到Vi发送来的签名请求后,先验证IDi是否合法。如果IDi非法,则拒绝给Vi颁发投票授权签名证书。如果IDi合法,则检查Vi是否是首次申请投票证书。如果Vi已经提交过申请,则拒绝为其颁发证书。如果Vi是第一次申请投票证书,A首先检查Si是否是Vi对ei的合法签名,如果签名合法,则A对ei签名:Di=edoi mod no,A将Di作为投票授权证书发给Vi。然后,A修改自己已颁发的证书总数,并在电子公告牌上公布(IDi,ei,Si)。
(3)投票
(4)收集选票
计票机构C通过使用A的签名验证算法来验证yi是否是A对xi的合法签名,如果是,则C对(xi,yi)产生一个序号w,并将(w,xi,yi)保存在合法选票列表中,同时修改自己保存的合法选票数目。在投票结束后,C将在电子公告牌上公布此列表。
(5)公开验证
任何关心选举的人都可以验证A公布的选民数目和C公布的选票数目是否相等。如果不等,则选举中心会要求选民公布那些缺少的选票在加密时所使用的盲因子。
选民Vi检查他的选票是否在表中,如果不在,他公开(xi,yi)即合法选票及其签名,并要求投票中心将其选票正确统计。
(6)统计并公布选举结果
选民Vi通过匿名信道将(w,ki)发送给C。C根据序号w的对应关系,用ki打开经过比特承诺的选票,恢复出选票内容vi,并检查vi的格式以及内容是否有效。最后对所有有效票进行统计,并在电子公告牌上公布统计结果。
下面我们对FOO协议的安全性进行分析。FOO协议中使用了比特承诺、盲签名、公钥加密、数字签名以及匿名通信等技术,以确保该协议能够较好地满足电子选举协议的安全性要求。
(1)完全性(www.daowen.com)
如果协议的各参与方都诚实,选举结果将是可信的。由于投票者在投票之前必须得到管理者的投票授权,这样就确保了只有合法的投票者才能进行投票。并且由于设立了公告牌等跟踪机制,确保了所有关心选举结果的人都可以通过这些跟踪机制对选举结果进行跟踪验证,保证了选举结果的诚实、可靠。因此所有的有效选票都会被正确统计,从而能够满足完全性。
(2)准确性
投票者扰乱选举的唯一途径是不断发送无效选票,但是我们可以在计票阶段发现这些干扰行为,因为使用位承诺技术可以确保对于两张不同的选票不可能产生两个相同的选票位承诺,出现多个相同的位承诺只能认为是投票者一票多投。
但是投票者有可能发送了不能打开选票位承诺的无效密钥,这样我们就无法区分不诚实投票者和不诚实计票者。另外,当投票者弃权而不进行投票时,管理者可能冒充投票者进行投票而不被发现。
因而只有在投票者不会发送不能打开选票的无效密码和不会弃权进行投票时,FOO协议才满足准确性。
(3)秘密性
由于使用了盲签名技术,投票者将选票发送给管理者进行签名认证时,管理者能看到的只是投票者的身份号IDi,而看不到其选票的真实内容,因而没有办法将投票者的身份号IDi与选票xi联系起来,因而不能确定某个投票者所投选票的真实内容。而选票xi与密钥ki又是通过匿名信道传送的,所以没有能够跟踪其通信过程而知道选票的内容。此外,当投票者发现管理者或计票者冒充自己投票而予以指出时,他并不需要公开其选票vi的内容,只需出示〈xi,yi〉。这样保证了选票内容的保密,满足秘密性。
(4)不可重用性
同一个人要投两次票,他必须拥有两个有效的〈选票,管理者的盲签名〉对(每个合法的投票者只有一个)。如果他要进行两次投票,就需要破解盲签名方案或者与管理员合谋,但这时也需要有人弃权。因而该协议满足不可重用性。
(5)合法性
如果非合法人员想冒充合法人员投票,他必须获得管理者的授权,而管理者授权前必须确认该人是否合法。非合法人员想冒充合法人员投票就必须破解合法人员的数字签名,这一般不太可能。因而该协议满足合法性。
(6)公平性
FOO协议分为投票和计票两个阶段进行。投票阶段投票者发送的是加密过的选票,计票者收到位承诺后要将其公布。到了计票阶段投票者再次发送可以解密位承诺的密钥,计票者用该私钥解开该位承诺,并将私钥和选票的真实内容一起公布。这样做避免了计票者在计票阶段开始前泄露选举的中间结果。因而满足公平性。
(7)可验证性
在投票的相应阶段都会公布一些必要的信息供人们进行查询和验证,主要包括以下几点:在颁发投票验证签名阶段,管理者公布进行登记的投票人名单和签名申请〈IDi,ei,si〉;在收集选票阶段,计票者公布选票的位承诺和各个管理者的签名〈w,xi,yi〉;在统计选票阶段,计票者公布真正的选票和用于位承诺解密的随机数〈xi,yi,ki,vi〉。
通过公布这些信息,公众可以检验有关信息的真实性。进行验证所需要的信息都是公开的,因此任意公众都可以对投票过程进行监督。
虽然FOO协议在一定程度上满足了电子选举协议的安全性要求,但还是存在一些缺陷。
(1)该协议不允许合法选民弃权。否则,管理机构可以假冒合法投票者进行投票。因为管理机构单独负责选民的身份验证,选票的合法性完全由管理机构决定。所以,如果有合法选民弃权,管理机构可以冒充弃权选民投票。
(2)没有解决选票碰撞问题。在FOO协议中,仅通过比特承诺算法来区分不同选民的选票。如果两个选民选择的承诺密钥以及选票内容恰好相同,那么将出现两张完全相同的选票,这使得计票中心将不得不舍弃一张合法选票。由于比特承诺的密钥没有任何要求,因此出现选票碰撞的概率是不可忽略的。
(3)协议在匿名性方面存在缺陷。如果管理机构伪造选票并进行投票,为了表明自己的选票是合法的,合法投票者需要出示其盲化因子以及管理机构的盲签名。提交盲化因子的过程破坏了匿名性。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。