APP下载

一种基于区块链技术的可信电子投票方法

2018-06-21范洪博谢华材张晶

软件导刊 2018年5期
关键词:可验证区块链

范洪博 谢华材 张晶

摘 要:电子投票应用范围极广,其安全性、可信性和公平性具有重要的研究与应用价值。在传统的基于可验证秘密共享(VSS)等技术基础上,提出一种可信电子投票方法,将安全多方计算协议应用于投票和计票。该投票系统具备可验证性与无收据性,在存在不诚实投票者和计票机构的前提下,保障投票安全、可信完成。同时,在现有电子投票系统中,广泛依赖可信第三方完成注册认证阶段,注册中心若不诚实将导致投票失败。通过将区块链技术与电子投票技术相结合,利用MIT的Enigma区块链项目相关技术,取消了认证注册中心,剥离了电子投票对可信第三方的依赖,并对投票者和候选者的隐私起到保护作用。

关键词:电子投票;VSS协议;区块链;可验证;无收据性

DOI:10.11907/rjdk.172473

中图分类号:TP301

文献标识码:A 文章编号:1672-7800(2018)005-0034-06

Abstract:Electronic voting has a wide range of application, and its safety, credibility and fairness are attatched with great research and practical significance. Based on the traditional technologies including verifiable secret sharing(VSS), this paper proposes a credible electronic voting method, which applies the security multi-party computing protocol to voting and counting. The voting system is verifiable and of non-receipt premised on the presence of dishonest voters and counting agencies to ensure the smooth completion of credible voting. Meanwhile the existing electronic voting system has extensive reliance on trusted third parties to complete registration certification, and any cheating from the registration center will lead to the failure of voting. In this paper, the combination of block-chain technology and electronic voting technology , together with MIT Enigma block chain project-related technology are employed to cancel the certification canter and strip electronic voting off the trusted third parties. Therefore the privacy of voters and candidates is protected.

Key Words:electronic voting; VSS protocol; block chain; verifiability; receipt-freeness

0 引言

投票是获得民众共识的基本方法,是民主发展、社会协作的基础。电子投票(E-voting)自1981年被提出以来,以其计票快捷准确、人力开支较低、投票简单易用、安全抗攻击、信息实时公开透明等特点,已在较大程度上取代了传统投票,应用范围极广。

电子投票过程包括:由投票发起者发起投票,由投票认证注册中心完成选票的发放与甄别工作,被发放选票的投票人进行投票,投票完成后,由计票中心完成选票的统计和结果公示工作。

因投票结果常影响个人利益,电子投票参与者可能因被冒认、被胁迫、被贿赂、存在内鬼等问题而变得不诚实,这些不诚实的参与者可能对投票数据进行篡改、伪造、重放、抵赖等,从而影响投票结果的正确性。特别是由于第三方可能存在内鬼,使其可信程度难以得到保障。因投票发起者必然希望获得正确的投票结果,否则将失去投票意义,在整个投票系统中,只有投票发起者在发起投票时是可信诚实的。

在存在恶意参与者的前提下,若投票方案满足下列性质,也可保障投票的正确性,并称其为安全的[1]:

(1)完备性:各合法选票均被正确统计。

(2)健壮性:可抵抗恶意参与者的非法行为。

(3)隐私性:选票通过加密后,除投票者外的任意第三方无法获知选票内容,且无法通过选票推断投票者个人信息,也称为匿名性。

(4)不可重复性:不可一票多投。

(5)合法性:无投票资格者不能参与投票。

(6)公平性:计票结束前,无人能提前知晓投票结果,也不能利用推断的中间结果影响后续投票过程。

(7)可验证性:任意投票人可检验选票是否被正确计入。若任意第三方(包含未参加投票的人)都可对选票进行检验,则称为广泛可验证性。

(8)无收据性:任何人无法向他人提供自身投票证据,证明自己是按照某种给定投票方案进行投票的。

现有电子投票研究方案中,均基于投票認证注册中心是可信第三方的假设,然而在实际投票过程中,该假设多不成立,目前尚未见认证注册中心不诚实的相关研究。在计票中心不诚实的问题方面,现有研究多基于半诚实假设[2]。半诚实假设下,不诚实的计票中心可通过各计票中心之间的交叉验证而被发现,从而保障计票正确。而投票人的诚实性主要通过无收据性加以保障,若电子投票能满足无收据性,被贿选人无法证明其自身投票符合贿选人需求,从而减少贿赂发生,使投票更加公正。

本文通过引入区块链[3]技术,实现了注册认证中心的去中心化,剥离了电子投票对可信第三方的依赖,并对投票者和候选者的隐私起到保护作用。同时,项目基于可验证秘密共享[4](VSS)等技术提供了一种电子投票系统方案,该方案可有效保障电子投票的安全性。

1 国内外研究现状

电子投票已成为目前的研究热点之一,大量学者围绕电子投票的安全问题进行了研究。1992年,A Fujioka等[1]使用盲签名技术提出著名的FOO电子投票协议,该协议真正实现了大规模选举投票的安全性和灵活性,为电子投票协议的实际应用提供了理论基础;文献[5]中,E Magkos等提出一种基于匿名信道的大规模投票方案,该方案满足了电子投票协议的基本要求,基于PKI技术有效解决了投票者的隐私保护问题;2006年,S Canard等[6]发现恶意的mix server能对电子投票系统进行两种攻击,从而直接改变投票结果,因此提出一种基于门限的公平盲签名技术和两个基于门限的MIX-NET方案,以防止恶意的mix server攻击。该项目被用于欧洲宪法会议的电子投票选举,但该方案中使用的MIX-NET在半诚实模型下不是广泛可验证的。因此,该方案不具有广泛可验证性;2006年,仲红等[7]提出基于安全多方求和的多选多方案,该方案应用安全多方求和保护选票的匿名性,但对于每个选民发出秘密随机数的合法性需要进一步证明,且其除获胜者外的其他人选票数也要公开,无法保障落选者选票的隐私性;2013年,X Yi和E Okamoto[8]提出基于同态加密的面向选民的通信信道电子协议,但该协议执行过程全部公开,无法保证投票者的隐私性。

在无收据性方面,1994年Benaloh[9]提出无收据性概念。现有投票方案中实现无收据性的方式大致分为3种:利用MIX-NET协议的、基于盲签名的,以及基于同态加密的。在基于MIX-NET的协议中,高虎明[10]提出一个可验证的MIX-NET协议,以满足电子投票方案的无收据性。但是该方案处理计票时计算量较大,且需要假设前提为注册中心是完全可信的;F Song[11]给出一种利用盲签名技术实现电子投票方案的无收据性,该方案由于投票者的盲化因子可用作选票依据,因此不能满足完全无收据性;A Huszti[12]给出一种在同态模式下将投票者加密的选票发送给可信第三方计票机构,利用计票机构保密选票结果实现方案的无收据性,但因第三方计票机构是否可信难以保障,此方案仍存在安全问题。

区块链技术是目前网络安全、金融科技领域的研究热点之一。其是一种点对点去中心化数据共享技术,其存储的数据无需依赖可信第三方,即具有不可篡改、伪造、抵赖、冒认、重放等性质,从而有效保障数据安全,节点间可自动形成信用关系。截至目前,区块链技术已成功保护了如比特币等超过1 000亿美元的数字资产安全,其安全性得到了充分的验证。若能有效利用区块链技术,将可能无需依赖可信第三方完成安全认证。

Enigma是一个由MIT主导的基于区块链的端到端(end-to-end)分散的计算平台,使用安全多方计算(SMPC),数据在不同节点之间进行分割计算,不会将信息泄漏给其它节点,没有单方节点可以全面访问数据,从而保护了隐私。计算过程和数据存储不能被每个节点复制到网络节点中,只有一个小的子集在数据不同部分执行每个计算,存储和计算中减少的冗余可实现更严格的计算[13]。

本文采用Enigma区块链技术作为本投票系统的注册认证基础,从而实现了认证注册阶段无需可信第三方,只需保障本系统参与者满足半诚实假设,即可有效实现安全电子投票功能。

2 方案建立

2.1 方案假设与方案组成

(3)在一次完整的投票过程中,公告板上的数据只能添加,不能删除。

(4)条目所有人可对其发布条目进行修改,修改方法为将修改的条目声明作废,并提交新条目。其他用户检查条目签名,若签名无法对应,则否认公告板上的修改。

(5)第三方在接收条目时,统计条目序列号,对序列号重复的条目进行否认,减少重放攻击的发生。

(6)所有提交到公告板上的数据,同时提交签名到区块链指定地址,本系统为所有参与者生成混合区块链身份addrp,条目提交者pi利用bxi对应的区块链地址addrpi,向addrp发送附言为Sigbyi的任意交易,实现条目发送的公证。第三方在获取条目时,基于bxi检查签名Sigbyi的正确性,并查询区块链addrp地址中是否存在Sigbyi,若未在区块链中查询到该签名,基于签名发现数据被篡改,则否认对应条目。

(7)若检查到addrp中存在某用户对其条目的签名,但公告板上未发现对应签名,说明公告板上条目被恶意删除,则公告所有人当前公告板不安全,由投票发起者提示各参与方更换公告板,并重新投票。

在该保护方法下,公告板数据可避免被恶意篡改、重放、删除、伪造、抵赖,从而为投票数据的安全共享提供保障。

VSS安全共享协议基于Shamir秘密分享过程[15]实现安全投票,该方案基于门限密钥进行投票信息的安全分享与验证。在半诚实假设下,对指定投票人的投票,计算秘密所需的子密钥数门限值大于(α-2)/3,各串通计票中心在进行计票之前,无法获得超过门限值的子秘密,从而保障其无法提前获得投票结果。

2.2.2 注册认证阶段

与传统投票方法不同的是,本方法中不采用認证注册中心,各参与者基于区块链数据和DHT完成注册认证过程。

投票由投票发起人p0发起并规定每个pi的访问策略,该访问策略记录于表POLICY中,将各参与者的身份混合,混合后的共享身份地址记为addrp,用L表示某区块链的公共分类账[16]。该公共分类账具备OP_RETURN字段,可存储一定附言信息,ACL表示用户身份的访问控制表。

在该方法中,由投票发起者发起投票并生成共享身份ShareID,ShareID中保存了各参与者的权限数据,ShareID被上传至DHT网络,并由区块链存证保障ShareID的不可篡改性。ShareID被秘密分发给每个参与者。各参与者接收共享身份,并基于共享身份公开个人身份认证信息CheckID至公告板上,任何参与者均可根据被验证人的CheckID检查被验证人是否为合法投票人,从而完成去中心化的认证注册功能。在该认证过程中,因数字签名的广泛使用而无法伪造、篡改和抵赖,使每次投票ShareID均不同而无法完成重放攻击,基于区块链自身的安全性可抵抗冒认攻击。

3 安全性分析

以下对所提出电子投票方案的安全性进行分析:

(1)完备性。方案基于区块链和公告板保障选票数据不会被恶意删除、伪造、篡改,所有合法数据均正确执行VSS安全投票协议。因VSS在半诚实假设下具备完备性,可有效保障所有合法选票被正确计入。

(2)健壮性。方案采用区块链技术进行注册认证,因恶意伪装者无法攻破区块链安全机制,无法提供被伪装者的签名,从而无法进入投票过程。进入投票过程的恶意用户若进行数据篡改等非法行为,将被基于区块链保护的公告板和VSS协议发现,投票发起者可在ACL中否认该投票人的投票权限,将该恶意用户排除出投票过程,制止其对投票进行破坏。

若恶意攻击者通过其它方式获得原投票人区块链私钥而伪装进入投票阶段,进行满足攻击者意愿的正确投票,这等价于获得原投票人的银行账户,原投票人将损失巨大。但在投票时,区块链上会出现大量存证(原投票人发现自己账户出现大量不是由本人发出的交易),原投票人可及时发现,并举报自身区块链私钥被泄漏(被泄漏者通过被泄漏私钥签名本账户已泄漏信息,实现可信举报),投票发起者认证该区块链地址存在入侵,可将该区块链地址对应用户排除出投票过程。

(3)隐私性。项目基于区块链进行身份隐藏,投票者区块链地址和其个人信息无法建立对应关系,从而保障投票者个人信息的隐私性。同时,在半诚实假设的VSS协议中,投票者pi采用秘密分享方案分享选票,在小于t个计票中心勾结下,pi的投票内容是全隐私的。

(4)不可重复性。本方案中,在注册认证阶段会为投票者产生一个对应的唯一随机数作为身份标识码,一旦随机数出现重复计算,则可判定投票人是重复投票。并且投出的加密选票在公告板中会以时间顺序保留最后一张,后来的重复选票将会覆盖之前选票,使投票内容在计票开始前可修改,且满足选票的不可重复性。

(5)合法性。见健壮性,该性质已满足。

(6)公平性。VSS采用门限密钥方案进行秘密共享,在获得足够的子密钥前,无法解密投票结果,因各诚实计票中心在进行计票时才分享自己持有的子秘密,不诚实计票中心在计票前无法获得足够的子秘密,因而无法提前知晓投票结果。

(7)可验证性。通过设置公告板,任何投票者可以在区块链上跟踪自己的选票是否被统计,计票中心发送签名认证,根据计票中心最终公布总票数的子份额,可以验证其正确性。

(8)无收据性。在计票阶段,投票人pi对OPj,k进行分享,向计票中心Ai发送子秘密并对这些子秘密签名。在协议没有错误的前提下,协议攻击者最多获得t个pi分享的子秘密,根据Shamir秘密共享机制,这些子秘密无法恢复OPj,k,不诚实参与者无法让投票者pi证明自己的选票即OPj,k (k=1,…,c)。在协议进行过程中,可能有不诚实参与者的不诚实行为使某些投票者pi的意愿OPj,k在协议检查步骤中被重构。方案通过保证不诚实参与者的不诚实行为一定可以被发现,并在检查步骤中找出不诚实参与者,以保证每个参与者的正确行为。

4 复杂度分析

以下对所提出电子投票方案的复杂性进行分析,并与典型的电子投票方案进行比较。用安全多方计算协议分享一个随机数需要传送的消息复杂度为O(a2logF),共执行a次协议,消息复杂度为O(a3logF),产生l个随机数。因此,在投票阶段的消息复杂度为O(la3logF)。

本文提出方案与典型的电子投票方案对比如表1所示。

5 结语

本文利用区块链技术,成功使电子投票中的注册认证中心去中心化,摆脱了现有电子投票系统需要依赖可信第三方的现状,有效规避了注册认证中心不诚实对投票的影响。在该去中心化认证注册中心基础上,通过可验证秘密共享协议(VSS)实现了一种半诚实模型下的电子投票系统,可抵抗主动敌手攻击,从而较好地保障了电子投票的安全性。

参考文献:

[1] FUJIOKA A, OKAMOTO T, OHTA K. A practical secret voting scheme for large scale elections[J]. Proc Auscrypt92 Gold Coast Queensland Australia Dec,1992,718:244-251.

[2] BRICKELL J, SHMATIKOV V. Privacy-preserving graph algorithms in the semi-honest model[C].International Conference on the Theory and Application of Cryptology and Information Security, Chennai, India, DBLP,2015:236-252.

[3] 袁勇,王飛跃.区块链技术发展现状与展望[J].自动化学报,2016,42(4):481-494.

[4] GENNARO R, RABIN M O, RABIN T. Simplified VSS and fast-track multiparty computations with applications to threshold cryptography[C].Seventeenth ACM Symposium on Principles of Distributed Computing. ACM, 1998:101-111.

[5] MAGKOS E, BURMESTER M, CHRISSIKOPOULOS V. Receipt-freeness in large-scale elections without untappable channels[C].IFIP Conference on Towards the E-Society: E-Commerce, E-Business, E-Government. Kluwer,2001:683-694.

[6] CANARD S, GAUD M, TRAORé J. Defeating malicious servers in a blind signatures based voting system[M].Financial Cryptography and Data Security. Springer Berlin Heidelberg,2006:148-153.

[7] 仲红,黄刘生,罗永龙.基于安全多方求和的多候选人电子选举方案[J].计算机研究与发展,2006,43(8):1405-1410.

[8] YI X, OKAMOTO E. Practical internet voting system[J]. Journal of Network & Computer Applications,2013,36(1):378-387.

[9] BENALOH J, TUINSTRA D. Receipt-free secret-ballot elections[J]. Proceedings of Symposium on Theory of Computing,1994:544-553.

[10] GAO H M, WANG J L, WANG Y M. Electronic voting scheme based on a new mix net[J]. Acta Electronica Sinica,2004,32(6):1047-1049.

[11] SONG F, CUI Z. Electronic voting scheme about elgamal blind-signatures based on XML[J]. Procedia Engineering,2012,29:2721-2725.

[12] HUSZTI A. A homomorphic encryption-based secure electronic voting scheme[J]. Publicationes Mathematicae,2015,79(3):479-496.

[13] ZYSKIND G, NATHAN O, PENTLAND A. Enigma: decentralized computation platform with guaranteed privacy[J]. Computer Science,2015.

[14] ZYSKIND G, NATHAN O, PENTLAND A. Decentralizing privacy: using blockchain to protect personal data[C].Security and Privacy Workshops,2015:180-184.

[15] CHUN-PONG LAI, CUNSHENG DING. Several generalizations of shamirs secret sharing scheme[J]. International Journal of Foundations of Computer Science,2004,15(2):445-458.

[16] HEGADEKATTI K. Democracy 3.0: voting through the blockchain[J]. Social Science Electronic Publishing,2017.

[17] 劉高,刘忆宁,王东.一种可验证的多候选人电子投票方案[J].计算机工程与科学,2015,37(9):1667-1670.

[18] 杨婷婷,林昌露,刘忆宁,等.基于多方排序协议的安全电子投票方案[J].计算机系统应用,2015,24(8):25-32.

(责任编辑:黄 健)

猜你喜欢

可验证区块链
财务分析方法有效性及改进研究
基于秘密认证的可验证量子秘密共享协议
“可验证”的专业术语解释
高效可验证的隐私保护推荐系统
云计算视角下可验证计算的分析研究
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
无可信第三方的可验证多秘密共享
用“区块链”助推中企走出去