APP下载

基于区块链技术的匿名电子投票协议设计

2020-07-14周振严广乐

软件导刊 2020年1期
关键词:智能合约区块链

周振 严广乐

摘要:投票选举是集体决议与意见征求的有效方式,电子投票是密码学的研究热点之一。为此,设计一种基于区块链技术与椭圆曲线盲签名以及时间释放加密算法的匿名电子投票协议。该方案采用以太坊作为平台,利用椭圆曲线盲签名密钥长度短、安全等级高的特点,解决了投票系统的匿名性、唯一性等问题。同时利用时间释放加密算法,解决了公平性与保密性问题,保证了基于区块链技术投票系统的安全性。

关键词:区块链;电子投票;智能合约;盲签名;时间释放加密

DOI: 10. 11907/rjdk.191416

开放科学(资源服务)标识码(OSID):

中图分类号:TP399

文献标识码:A

文章编号:1672-7800(2020)001-0229-05

0 引言

投票决议与选举是现代民主的根基所在。1981年,电子投票( E-voting)首先由Chaum[1]提出,即在电子信息与互联网选举场景中实现投票功能,并保证投票过程的安全性。相比传统纸质投票,电子投票在计票准确性、人力成本与实现范围等方面都有明显优势。

电子投票系统的属性要求主要包括保密性、完整性、可验证性、不可篡改与伪造性、可验证性等[2],根据采用的密码学技术方案可以将现有电子投票系统分为3类:基于混网( Mix-Net)方案[3-5]、基于盲签名方案[6]与基于同态加密方案[7-9]。

基于混网方案最先由chaum提出。混网方案理论上可实现选票的公开验证,但因其算法较为复杂,协议运行效率低下,在选举规模扩大时尤为明显;基于同态加密方案最早在1985年由Cohen&Fischer[10]提出,常见协议方案有采用EIC amal[11]或Pailler[12]的加密算法。同态加密方案运行效率高、实现难度小,但计算成本较高;基于盲签名方案计算量小、运行效率高、保密性强,是一种较为主流的电子投票实施方案。

基于盲签名技术的电子投票协议最开始是由Fujioka[13]提出的FOO协议,该协议可以实现基于盲签名的大规模电子投票,但不具有抗伪造性及抗共谋攻击性。为了解决盲签名问题,一些新的方案随后被提出,如部分盲签名[14]、基于双线性对的部分盲签名¨副等方案,但是依然存在待完善的地方,如对于验证机构的依赖程度过高等问题。

区块链具有去中心化、数据可靠、交易可追溯等特点。引入区块链技术可以为电子投票系统提供去中心可信第三方TTP服务,以保证投票过程的透明化与公平性,使选民具有更强的自主性,并增强了选民对协议的信任程度,扩大了协议适用范围。

基于以上研究,总结电子投票系统发展现状与存在问题,具体包括:①选票碰撞问题;②公平性问题;③保密性问题;④唯一性问题。对此,本文提出基于区块链的匿名电子投票方案,利用椭圆曲线盲签名技术增强系统的安全性、保密性,并以时间释放加密解决公平性问题。同时区块链技术解决了盲签名体制对第三方过度依赖的问题,通过身份认证书的方式保证选票的抗碰撞、唯一性等要求。此外,智能合约维护两份用户表单,可有效防止复制攻击和“双花”问题。

通过以上方式可在同一协议中同时满足多种性能需求,有效解决了电子投票系统的安全性问题,并提高了系统性能。

1 以太坊智能合约

以太坊提供了一套完整的区块链分布式应用平台。使用以太坊进行数字货币交易时,任何人都可在上面发布与使用分布式应用程序。相比于比特币,以太坊的优势在于其为分布式应用程序开发、部署提供了完整的工具链,以及更为灵活的操作指令。

以太坊分为4个阶段:Frontier、Homestead、Metropolis和Serenity。在第3阶段的拜占庭硬分叉(Byzantium HardFork)中,引入了许多新特性,包括椭圆曲线与标量乘法以及大数模幂的运算实现等,因此具有更高复杂度的加密算法得以被采用。此前,使用以太坊虚拟机EVM无法支持直接验证ECC盲签名[16]。以下是在EVM中采用OVN( Open Vote Network)、RSA盲签名与椭圆曲线ECC算法在验证过程中的Cas消耗量比较,如图1所示。本协议整体框架如图2所示。

2 算法方案

本方案算法包括橢圆曲线密码体制盲签名与时间释放加密算法两部分。

盲签名方案中,椭圆曲线密码体制( Elliptic CurveCryptography,ECC)是一种基于椭圆曲线离散对数问题难解性的高效密码体制。ECC使用较短的操作数即可实现与RSA及离散对数系统DL相同安全等级的密码服务。与其它公钥算法体制相比,其在带宽与复杂度方面性能优势非常明显,并且以太坊在升级后也允许使用椭圆曲线进行加密。如张方国等[17]提出了多种基于椭圆曲线的盲签名方案。

为了保证投票系统的公平性,本设计希望设置选票开启门阀,在投票结束后统一进行结算公布。在此之前,任何一方都无法获得选票信息,并且其对于外界攻击也具有防御功能。

时间加密算法( Timed-Release Encryption)是一种基于时间参数的加密算法,通过添加时间阀,使目的操作只有在指定时间节点后才可以进行,从而完成具有时间节点限制的任务。解决此类问题的方案主要有两种:一种是时间锁难题(TIP),通过设计具有相当复杂度的解密算法,实现操作延后。但该方案造成算力资源严重浪费,且对于不同运算环境不具有普适性;另一种是时间服务器方案( TimeServer),通过使用时间陷门实现时间节点控制,即可避免TLP方案中的问题。

通过时间服务器实现时间释放加密的方案最早由Crescenzo[8]提出,但无法保证匿名性。后来Blake等[19]提出的基于Bilinear Diffie-Hellman问题的方案具有良好性能,可摆脱对于时间服务器的信任依赖,并能保证匿名性。本协议是将以上算法结合区块链技术进行方案设计的首次尝试。

2.1 椭圆曲线密码体制与盲签名

盲签名算法包含用户方与签名方两种角色。使用该算法的目的在于让用户方在不向签名方透露消息内容的前提下获得对方签名信息。因此,盲签名技术在匿名投票场景中对于保护用户隐私可起到关键作用。

2.1.1 参数设置

3 电子投票协议方案

本协议结构使用盲签名算法与时间释放加密算法,结合运行在以太坊上的智能合约完成电子投票过程。智能合约分为投票管理合约与计票管理合约。协议中盲签名算法的引人为参与投票的选民进行身份合法性认证授权,不仅保护了选民隐私安全,还可有效防止外界攻击破坏匿名性。时间释放加密算法可实现选举结束后统一计票,保证唯一性与公平性。智能合约将取代传统可信第三方( TTP)的工作,摆脱信任依赖,保证投票过程的完整性与安全性。本协议流程如图3所示。

3.1 角色定义

投票组织者:管理参与投票的合法选民名单、决议内容与选项、投票环节时间节点设置,以及椭圆曲线参数设置。

中央信任机构CA:负责为合法选民颁发资格认证,生成与分配公私钥对给对应的智能合约。

投票管理合约VC:自动审核选民身份的合法性,并参与选票信息盲签名,包括接受、签名与反馈。

计票管理合约sc:自动统计收到的选票,并公布最终选票與选举结果。

时间服务器CS:时钟T与时钟陷门Sr。

另外还有一些参数定义,如表1所示。

3.2 协议设计

3.2.1 系统初始化

作为投票活动的发起与管理单位,根据投票目标,组织者将进行投票参数的设定与公布,保证投票规则的透明化。

(1)投票组织者设置待决议问题与对应选项{vlv∈N)。

(2)根据选举周期设计各时间节点参数,规划投票进程。

(3)确定参数。

(4)参数设置完备,进行信息公开,并激发管理合约,进入注册阶段。

3.2.2 选民注册

权威机构CA对选民合法身份准人进行认证。选民Vi向其表明身份,等待机构审核,若合法则发放证书。同时,CA负责颁发公私钥对给智能合约。具体步骤如下:

4 安全性分析

按照电子投票系统的属性要求,对本方案进行安全性分析。

(1)保密性。椭圆曲线算法的难解性首先保证了几乎无法破解与伪造签名,其次TRE技术基于离散对数与BDH难题,也具有很高的安全性。

(2)身份合法性。本方案通过中央信任机构CA对选民身份进行审核,设定准入机制,保证了选民群体身份的合法性。

(3)匿名性。本协议采用的时间释放加密算法可保证选票信息维持加密状态,直至统计阶段。潜在攻击者从投票合约与计票合约可以窃听的数据{ei,(ri,si),CER Ti}与{(pi,σi)vi}中无法推断出关联性。

(4)唯一性。计票合约维护BallotList,防止复制攻击,保证唯一性。

(5)公平性。使用TRE对选票加密,在指定统计时间T T到达前,Vi、CA、vs、CS、TS以及任何第三方都无法查看选票内容,保证了公平性。

(6)不可伪造,不可重复性。RegList与BallotL ist使系统具有抗伪造性。

(7)抗共谋性。区块链智能合约按照协议设定运行的逻辑性代码,用户可以公开审查以确定其安全性。其次,分布式结构使得系统具有很强的鲁棒性。

另外,通过与一些基于区块链的电子投票协议[20-21]进行对比,本协议在各方面都具有良好的性能表现(见表3)。5结语

本文提出一种基于盲签名与时间释放加密的区块链匿名电子投票方案,采用时间释放加密算法TRE以及基于椭圆曲线的盲签名算法,有效保障了电子投票系统的匿名性、安全性与可验证性等。与现有电子投票系统相比,本方案利用区块链技术降低了投票成本,减少了信任依赖,从而提升了投票系统的便利性及安全性,同时也验证了区块链技术在电子投票领域的适用性。

参考文献:

[1]

CHAUM D L Untraceable electronic mail return addresses, and digi-tal pseudonyms[J]. Commun ACM( USA), 1981. 24(2):84-88.

[2] DONG L,CHEN K.Cryptographic protocoI[C].Proceedings of theProc ACM Symposium on Theory of Computing, 1982: 383-400.

[3]

LEE B,BOYD C,DAWSON E,et al.Providing receipt-freeness inmixnet-based voting protocols [J]. Lecture Notes in Computer Sci-ence, 2004, 2971: 245-258.

[4]

PARK C. Efficient anonymous channel and all/nothing election scheme[J]. Eurocrypt, 1993, 765: 248-259.

[5]

ZHONG S, BONEH D , JAKOBSSON M , et al. Optimistic mixing forexit-polls [ J ] . Proceedings of Asiacrypt Dec . 2002 , 2501 : 451-465.

[6]宋程远,张串绒,曹帅,一种盲名方案及其在电子投票协议中的应用 [Jl.计算机工程 . 2012, 38( 6) : 139-141.

[7]

HIRT M, SAKO K. Efficient receipt-free voting hased on homomor-phic encryption [Jl. Lecture Notes in Computer Science , 2000. 1807 :539-556.

[8]

RIVEST R. On data banks and privacy homomorphisms [Jl. Founda- tions of Secure Compuation, 1978, 169-179.

[9]

BONEH D. COH E J, NISSIM K. Evaluating 2-DNF formulas on ci-phertexts [ c ] . Theory of Cryptography Conference, 2005 : 325-341.

[10] BENALOH J, FISCHER M J. A robust and verifiahle cryptographi-cally secure election scheme [ C ] . Symposium on Foundations of Com-puter Science. IEEE. 1985 : 372-382.

[11] CRAMER R. CENNARO R. SCHOENMAKERS B. A secure andoptimally efficient multi-authority election scheme [J]. Transactionson Emerging Telecommunications Technologies, 2012. 8 (5)481-490.

[12]

BAUDRON 0, FOUQUE P A. POINTCHEVAL D, et al. Practicalmulti-candidate election system [ C ] . Twentieth Acm Symposium onPrinciples of Distributed Computing, 2001 : 274-283.

[13] FUJIOKA A. OKAMOTO T. OHTA K. A practical secret votingscheme for la.ge scale elections [ C ] . Advances in Cryptology - AUS-CRYPT '92 Workshop on the Theory and Application of Cryptograph-ic Techniques Proceedings , 1993 : 244-25 1.

[14]

ABE M , FUJISAKI E. How to date hlind signatures[ C]. Internation-al Conference on the Theory & Application of Cryptology & Informa-tion Security. Springer Berlin Heidelberg , 1996 : 244-251.

[15]

ZHANG F, SAFAVI-NAINI R, SUSILO W. Efficient verifiably en-crypted signature and partially blind signature from bilinear pairings[ C ] . 4th International Conference on Cryptology , 2004 : 191-204.

[16]

ISTVAN S. Implementing an e-voting protocol with hlind signatureon Ethereum [ EB/OL ] . https : //medium.com/coinmonks/.通信學报 , 2001, 22( 8) : 22-28.

[18]

CRESCENZO C D. OSTROVSKY R, RAJAGOPALAN S. Condition-al oblivious transfer and timed-release encryption E C ] . International Conference on the Theory and Applications of Cryptographic Tech-niques. Springer, Berlin , Heidelberg , 1999 : 74-89.

[19]

CHAN A C F, BLAKE I F. Scalable, server-passive, user-anony-mous timed release cryptography [ C ] . IEEE International Conferenceon Distrihuted Computing Systems. IEEE Computer Society, 2005 :504-513.

[20]

BitCongress. Control the world from your phone [EB/OL]. http://www.hitcongress.com/Bitcongress/_whitepaper.pdf.

[21]

The Online Voting Platform of the Future.Follow my vote [EB/OL]. http : //followmyvote.com.

[22]

MCCORRY P, SHAHAhrDASHTI S F, HAO F. A smart contract forboardroom voting with maximum voter privacy[ C ] . Financial Cryptog-raphy and Data Security , 2017 : 357-375.

[23] NIR K, JEFFREY V. Blockchain-enabled e-voting[J]. IEEE Soft- ware, 2018, 35(4) : 95-99.

[24] 苑浩 ,杨宝霖. 一种改的预加密可验证电子投票方案 [J] .计算机应用研究 . 2012 . 29( 8) : 3048-3052.

[25 ]吴腾 ,黄锴 ,周琳琳.具有状态合法性验证的区块链一致性算法研究 [J].计算机工程 , 2018, 44( 1) : 160-164.

基金项目:上海高原学科建设项目(10-17-303-004)

作者简介:周振(1994-),男,上海理工大学管理学院硕士研究生,研究方向为社会经济金融复杂系统与区块链;严广乐(1957-),男,上海理工大学管理学院教授,研究方向为社会经济金融复杂系统、系统科学、系统动力学。

猜你喜欢

智能合约区块链
农产品供应链金融信用体系框架设计
区块链技术在互联网保险行业的应用探讨
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
用“区块链”助推中企走出去