[发明专利]基于区块链的一人多票电子投票方法及系统有效
申请号: | 201910217304.6 | 申请日: | 2019-03-21 |
公开(公告)号: | CN110060403B | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 刘香顺;边瑞超;吴薇 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G07C13/00 | 分类号: | G07C13/00;H04L9/32;H04L29/06 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 朱亚冠 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 区块 一人多票 电子 投票 方法 系统 | ||
本发明公开基于区块链的一人多票电子投票方法及系统,使用挑战/响应认证方式,实现了投票人和服务器的双向身份验证,使用区块链保存选票,使得投票结果不可篡改,并可以根据投票人所选择的候选项生成一组与投票人最大投票数相同的选票,并且这一组选票均可验证,基本上实现了一人多票的功能,另外,将选票两次加密之后签名,保证投票的匿名性,将服务器一分为三,分散权力。本发明具有双向身份验证,一人多票,投票过程匿名、安全,投票结果公开可验证等特点。
技术领域
本发明属于计算机通信,密码学和区块链领域,涉及一种基于区块链的一人多票电子投票系统。
背景技术
电子投票发展到现在也有不少年头了,但是一些安全问题仍然不能很好的解决,服务器一旦受到攻击,投票结果很容易被修改,投票的公平性就荡然无存。区块链作为比特币的底层技术实现,以其去中心化不可篡改等特点被用在电子投票系统中,增强了投票系统的安全性。但是,如今很多基于区块链的电子投票系统还有很多的不足。比如,由于每个投票人对应一个区块链账户,所以每个投票人只能对一个候选项投一票,从而导致可以根据每个区块链账户的交易信息的不同倒推出投票人的信息,这就不能保证投票信息的匿名性。而每个投票人只能对一个候选项投一票,制约了很多投票场景。并且现在的很多投票系统都是单方向的身份验证,即只能服务器验证用户的身份,而用户却不能验证服务器是否正确,这又大大增加了投票系统的安全隐患。
发明内容
本发明的目的是针对如今基于区块链的电子投票系统的不足,设计了一种基于区块链的一人多票电子投票方法及系统。这个投票系统解决了每个投票人只能对一个候选项投一票以及用户不能验证服务器是否正确的问题。
基于区块链的一人多票电子投票系统包含了投票工具包模块,前端服务器模块,认证服务器模块,投票服务器模块,计票服务器模块,普通关系型数据库模块,区块链模块。其中:
投票工具包模块包括代表投票人身份的ID、投票人的公钥和私钥、认证服务器的公钥和私钥、投票服务器的公钥和私钥、计票服务器的公钥和私钥、随机字符串生成器,用于辅助投票。
前端服务器模块,用于投票人的双向身份认证,生成选票,显示投票结果。
认证服务器模块,用于投票人的双向身份认证,选票签名。
投票服务器模块,用于验证选票签名,将选票第一次解密,以及将验证成功后的选票保存到区块链中。
普通关系型数据库模块,用于保存投票人的ID哈希值,最大投票数,认证服务器的公钥和私钥,投票人的公钥,投票服务器的公钥和私钥、计票服务器的公钥和私钥。
区块链模块,用于保存选票。
计票服务器,用于从区块链中取出选票,计算投票结果,并将结果发送给前端服务器显示。
基于区块链的一人多票电子投票方法包含了双向身份认证,选票生成,对选票进行签名,将选票保存到区块链中,投票结果显示等多个部分流程。
双向身份认证流程包含如下步骤:
步骤1:投票人输入自己的ID和一个随机数ru;前端服务器接收到ID后使用单向哈希函数计算上述ID的哈希值hID;前端服务器接收到随机数ru,调用投票工具包中的认证服务器的公钥,对ru进行加密得到eru;最后前端服务器将(hID,eru)发送给认证服务器。
上述投票人输入的ID为事先从投票工具包中获取的。
上述加密为现有成熟技术,故不详解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910217304.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种医疗排队叫号系统
- 下一篇:一种钱币分拣装置及其工作方法