基于Web的安全电子投票系统
【摘要】:随着互联网的飞速发展,传统的投票方式已无法满足社会的需求,电子投票系统应运而生。电子投票系统使用信息化的方式实现了选举的整个流程,需要满足隐私性、正确性、公平性、可验证性、合法性等性质以保障选票的安全性、统计结果的准确性和选举的公平性。设计一个安全的电子投票协议,将涉及到密码学和信息安全领域众多算法的综合运用。它需要考虑到选举过程各个环节的安全性,只要其中一环被攻破,则可能造成整个投票系统的失败。过去二十年来,密码学家们提出了多种适合不同环境的电子投票协议,但相对完善并获得大规模应用的方案还很少。因此电子选举多年来一直是信息安全领域的难点和热点问题。本文对Helios电子投票系统进行研究,分析其投票协议中存在的问题,设计了一个可高效验证的Write-In电子投票协议,最终构建了一个在功能上适合中国选举国情的Web电子投票系统。论文主要工作如下:(1)研究和分析Helios1.0和Helios2.0电子投票协议,根据投票流程,协议分为初始化阶段、投票阶段和计票阶段,对每个阶段的关键算法进行描述。最后分析了协议的安全性以及存在的问题。(2)提出了一种基于mix-net方案的电子投票协议,与原Helios协议相比,使用分布式密钥和混淆网共同保护选民隐私。设计了一种新的选票格式以改进验证混洗与投票结果正确性的零知识证明方式,最终提高了验证效率。该协议分别采用离散对数和椭圆曲线上的ElGamal公钥密码两种加密算法实现。(3)基于本文设计的新电子投票协议,设计和实现了一个基于Web的电子投票系统。对比于Helios电子投票系统,在系统功能、关键算法和系统实现上进行了改进。最后使用React和Django框架以前后端分离的开发模式实现该系统。最后基于以上研究、设计与实现,分别对系统进行了功能测试和性能测试。测试表明,本文所设计的电子投票系统具有实际可用性和易用性,同时对比于Helios系统提高了选举效率。