CN106296956A - 一种面向分布式网络投票的安全保障方法 - Google Patents
一种面向分布式网络投票的安全保障方法 Download PDFInfo
- Publication number
- CN106296956A CN106296956A CN201510316502.XA CN201510316502A CN106296956A CN 106296956 A CN106296956 A CN 106296956A CN 201510316502 A CN201510316502 A CN 201510316502A CN 106296956 A CN106296956 A CN 106296956A
- Authority
- CN
- China
- Prior art keywords
- ballot
- voter
- key
- registrant
- ballot paper
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种面向分布式网络投票的安全保障方法,属于网络安全技术领域。该方法包括:(1)准备阶段。注册人生成和分发投票密钥,投票人对可信计算环境进行初始化,获得可信硬件签名密钥对并发送给注册人,可信硬件对投票密钥进行封装。计票人产生计票公私密钥对;(2)投票阶段。投票人启动可信投票终端,对选票进行加密并给出投票证明信息,可信硬件对投票人选票进行重加密后将选票发送给注册人;(3)计票阶段。注册人检查投票人签名无误后解密选票发送给管理者,管理者检测选票有效性和平台状态证明,确认有效后上传到公告板。投票截止后,计票人联合解密得到选举结果,并将结果上传到公告板。
Description
技术领域
本发明属于网络安全技术领域,尤其涉及一种大规模分布式投票的安全保障方法。
背景技术
数字选举是一种使用电子辅助装置投票及计票的选举形式,它具有投票便利、计票准确、形式灵活、二次开发费用低廉等优点。如何在较少且容易实现的前提条件下尽可能多地满足各种安全属性和安全需求是目前分布式投票的研究重点之一,已有的分布式投票方法往往基于以下前提:
(1)客户端的安全性:大多数远程投票方法均假定选民所使用的客户端环境是绝对安全的。否则,投票方法的安全保障无从谈起,投票人的所有行为、与管理者的交互信息甚至代表投票资格的投票密钥均可能被窃取,方案中其他为满足各个安全属性的努力必将付之东流。目前少有文献具体而深入地探讨该问题,这已成为阻碍数字投票系统广泛应用的障碍之一。
(2)投票人与管理者之间存在匿名的或秘密的通信信道:投票人与选举管理者的通信信道可以粗略地划分为公开信道、匿名信道和秘密信道。其中,通过公开信道发送的信息有可能被窃取、截取或篡改,对该部分应该采取某些保障机制保证信息传递的安全。通过匿名信道发送的消息不能追踪发送者或接收者的身份,即无法关联消息发送者和相应的接收者。遥过秘密信道发送的消息不会被第三方获悉,接收方确切知道发送方的身份。匿名信道和秘密信道的存在方便了投票协议的设计,但就现实情况而言,实现满足大规模选举要求的匿名信道或秘密信道是极其困难的。
本发明基于以上原因,提出一种安全可验证的分布式投票方法。
发明内容
本发明的目的是提供公开网络环境下的大规模分布式投票的安全保障方法,在公开网络投票环境中,保障投票结果的安全性和有效性。
为了保证投票系统中执行代码安全性,许多方案探讨了如何保证专用投票系统(如直接数字投票机)的安全性等问题。专用投票系统涉及的硬件投资比较大,与之相比,基于通用计算机的投票系统不涉及专用设备的采购,更加易于推广和普及。对通用计算机而言,可信计算技术是目前较好的解决方案之一。可信计算组织提出的可信平台模块(Trusted
Platform Module,TPM)是可信计算领域中具有代表性的技术方案之一。针对TPM的不足,国内提出了可信平台控制模块(Trusted
Platform Control Module.TPCM)方案。就本发明而言,使用TPCM或稍加改进的TPM均可实现,故后文不再详加区分。
相关角色
下文将定义涉及的角色,并简要列举其功能:
(1)注册人R:负责在选举开始前生成并分发投票人选举密钥(Voter E1ection Key,VEK),用VEKi(i=1,2,…,m)表示,为简明起见,下文叙述时一般忽略其下标,选举结束后检查投票人投票资格,解密投票人用VEK加密过的选票消息,并发送给管理者校验其有效性。
(2)管理者A:负责监管整个投票的过程。具体包括检验选票有效性,混淆有效选票以达到更好的匿名性,将有效选票及其证明上传至公告板等。
(3)投票人Vi:有投票资格的选民。他们可使用计票人公钥加密选票,并给出相关证明,如VEK和投票值的同时可知性证明Pc、平台完整性证明Pp与可信硬件联合生成的选票有效性证明Pv等。
(4)可信硬件Hi:作为终端可信的基础,被用于实现多种安全保障功能。
主要模块
(1)安全存储:对投票人的唯一标识VEK等关键信息,存储的安全性至关重要,投票人可以在可信状态下,利用TPCM密码算法引擎对其当前平台状态寄存器值(P1atform Configuration Registers,PCR)与投票密钥进行封装,然后存储在硬盘等外部存储空间中。若要进行解封装操作,除了拥有相应的封装口令外,解封装操作时的平台环境应该与封装时一致(PCR值相同)。该方法强调了密钥与平台可信状态的绑定,提高了密钥使用的安全性。
(2)远程证明:对于可信度要求较高的选举活动,可以要求投票人在选举过程中提交平台状态证明供管理者验证。证明内容为经TPCM签名的平台状态日志及PCR值。
(3)选票重加密:重加密的作用在于在用户的选票中加入额外的随机因子,使得用户无法把自己的随机因子作为收据使用。本文方案中可利用TPCM中的密码引擎重加密选票,并提供指定验证者的重加密证明及与投票人的联合生成的选票正确性证明。
(4)加密及签名:使用VEK加密选票,并用可信硬件签名密钥(HEKp,HEKs)对选票进行签名,生产最终选票。
(5)计票人Tj(j=1,2,…,n):总计n位计票人,采用(t,n)门限方案联合解密并将结果和解密正确性证明公布公告板上。
(6)公告板BB:一种可公开访问的不可修改和删除的日志系统,公布有效选票供公开验证,便于系统满足可校验性。
(7)候选人:现实中存在多种选举形式,本文方案仅就在多个候选人中选择一个获胜者这一情形展开讨论。
受攻击情况分析
本文对攻击者的能力做如下假设:
(1)攻击者有能力收买部分计票人、管理者和投票人。收买计票人是为了改变计票结果;收买管理者是为了篡改选票、添加非法选票、删除或复制合法选票。
(2)攻击者能够窃听、截取和篡改公开信道上的消息,但并不能使得信道永久堵塞。
(3)攻击者拥有多项式时间的计算能力。
安全假设
为使投票系统满足各安全属性,需作如下安全假设:
(1)注册人必须公正的执行选举,不会在投票人注册及资格检查过程中作伪。
(2)可信硬件对系统软硬件的度量是完备的,系统中投票人、计票人、管理者等使用的选举程序在可信环境下不会出现运行错误。
(3)计票人中至少有f个为诚实的(保证可正确得到选举结果);不诚实计票人可以被发现(门限解密时的验证通不过);至多有f一1个串通起来破坏投票人的隐私(根据门限密码的性质,其不能成功)。
(4)公告板为不可修改和删除的日志系统。
(5)可信硬件有足够的强度抵御攻击,且它与投票人的交互信息是不可被窃听的。
(6)存在一条从注册人至投票人的单向秘密信道,以便注册人将选举密钥VEK发送至相应的投票人。
因此,为了在公开网络投票环境中,保障投票结果的安全性和有效性。
本发明还提供了一种安全可验证的分布式投票方法,具体包括如下步骤:
步骤A: 准备阶段
注册人生成和分发投票密钥,投票人对可信计算环境进行初始化,获得可信硬件签名密钥对并发送给注册人,可信硬件对投票密钥进行封装;计票人产生计票公私密钥对;
步骤B: 投票阶段
投票人启动可信投票终端,对选票进行加密并给出投票证明信息,可信硬件对投票人选票进行重加密后将选票发送给注册人;
步骤C: 计票阶段
注册人检查投票人签名无误后解密选票发送给管理者,管理者检测选票有效性和平台状态证明,确认有效后上传到公告板;投票截止后,计票人联合解密得到选举结果,并将结果上传到公告板。
优选的,步骤A中投票人使用可信硬件将投票密钥进行封装,确保只供合法投票人使用。
优选的,步骤B中投票人生成证明信息说明骑同时知晓投票密钥和选票明文,用以确认投票的不可否认性。
优选的,步骤B中可信硬件验证投票有效证明无误后对选票进行重加密,确认选票的机密性和无收据性。
优选的,步骤C中需至少t个以上计票人使用同态密码联合解密得到候选人选票总和,所述t为不小于1的自然数。
优选的,步骤C采用一种可公开访问的不可修改和删除的日志系统,公布有效选票供公开验证,便于系统满足可校验性。
附图说明
图1:本发明一种安全可验证的分布式投票方法系统结构示意图。
图2:本发明一种安全可验证的分布式投票方法实施流程图。
具体实施方式
下面给出上述方案的详细实施过程。
准备阶段
此阶段做投票前的准备工作,方案中参与各方将获得必要的密钥信息以便投票阶段开始后使用。
步骤1:注册人生成m个VEK,并通过秘密信道分发至Vi,通过确保VEK的秘密发送保证了攻击者不能模拟合法的投票者进行投票,这是整个投票方法中唯一用到秘密信道之处。
步骤2:投票人清除该平台上先前的所有权,为该平台选择新的所有权授权数据ownerAuth和SRK的授权数据srkAuth,然后调用TakeOwnership命令创建可信硬件的存储根密钥SRK,该密钥只存在于可信硬件之中,不会暴露给包括创建者在内的使用者,这些是为了保证安全存储投票所需信息的平台只能由合法的投票人使用。
步骤3:为保证VEK不被泄露且只在可信环境中使用,投票人Vi使用TPCM将其封装。简要地说,封装是TPCM提供的一个将数据与当前平台配置(PCR值)绑定的操作接口,除了被封装数据VEK,新指定的VEK的授权数据外,Seal命令的输入数据还包括一组PCR值和用于调用SRK的srkAuth,其中,indices表示PcR的编号集合。它的输出是密文C和相关PCR值完整性保护数据。
步骤4:投票人调用CreateWrapKey命令生成可信硬件签名密钥对(HEKp,HEKs),该密钥对的授权数据为hekAuth,在可信硬件的密钥层次中,它是SRK的子密钥,并与一组PCR值绑定。
步骤5:Vi调用GetPubKey命令加载HEKp,主要参数包括srkAuth授权数据,通过公开信道将HEKp发送给注册人。
步骤6:n个计票人联合执行分布式密钥生成算法,产生计票人公私钥对(KT,ST),其中,KT是公开的,Tj分别掌握关于ST的秘密碎片,至此,t个计票人能对用KT加密的密文进行解密。
投票阶段
此阶段为投票实际发生过程,发生于投票首日至投票截止日。
步骤1:投票人将于投票日开始后使用可信终端投票,可信硬件将先于BIOS等硬件启动,它将度量BIOS等硬件设备的状态,并将度量结果存储在TPCM的平台配置寄存器PCR中,若度量中未检测出异常,则以后一级度量一级,一级信任一级,直至系统正常运行,若检测到异常,则将度量结果通知投票人,以便于其找出系统状态不符合预期的原因。待系统成功启动后,投票人首先需要使用Unseal命令将封装好的VEK解封,与前文中的Seal命令相对应,Unseal需使用一组PCR值和相应的授权数据作为参数,PCR参数保证解封装操作与封装操作时的系统状态相一致,授权数据保证只有拥有相关权限的投票人方可获取平台的使用权,此后调用LoadKey2命令加载VEK,Vi投票后得到选票明文vi,调用GetRandom命令选择ril,ri2∈RZp,使用KT加密后得到加密的投票密钥信息E(VEK)=(gril,VEKiKri1)和加密选票E(vi)=(gri2,viKTri2)。除此之外,投票人生成证明Pc,说明其同时知晓VEK和vi用以确立投票的不可否认性。
步骤2:Hi验证Pc无误,选择ri3对E(vi)重加密,生成Re(vi)=(gri3+ri3,viKTri2+ri3),给出指定验证者重加密证明Pr和平台状态证明Pp。为生成Pp,首先由注册人向该可信平台发起质询,其中包括了一个随机值nonce,Hi使用SRK从受保护的存储区域加载平台身份密钥(Attestation
Identity Keys,AIK)后,调用Quote命令对一组选定的PCR值和nonce进行签名,签名密钥为AIK。此后,相关的度量日志(Stored
Measurement Log,SML)将连同该签名一并发送至投票人。
步骤3:投票人将可信硬件返回的投票信息包发送给投票管理者。此外,使用同态密码时,为防止不诚实的投票人对某位候选人填写诸如“1 000”或“-1 000”之类的违规选票,投票人应给出选票的有效性证明。该证明的目的是表明Re(vi)中的选票是有效的,即Re(vi)中的每个元素都是对0或l的加密,且所有元素的乘积是对1的加密。因为投票人无法得知可信硬件使用的随机数ri3,而可信硬件无法得知投票选票内容vi,Vi与Hi以交互式的方式联合生成选票有效性的非交互式零知识证明。
计票阶段
计票阶段实现对投票结果的审核和统计,计票阶段的部分操作应与投票阶段同步进行,以提高计票效率。
步骤1:R使用HEKp确认投票人对m的签名无误后,使用投票人选举密钥解密m,将解密数据(Re(vi),Pv,Pp)发送至A,Pc记录下来,若与投票人发生争议时,可在仲裁机构和投票人的要求下公布。
步骤2:验证选票有效性及平台状态证明,确认无误后,将(Re(vi),Pv)上传至BB供计票人统计选票结果。
步骤3:待投票截止日过后,t位计票人计算Re(Σi =l,2, … ,mvi)= Σi =l,2, … ,mRe(vi)并联合解密,由同态密码的性质可知,联合解密的结果为候选人得票的总和,将最终选举结果Σi =l,2, … ,mvi上传至BB。至此,计票阶段结束。其中,t为不小于1的自然数。
对于专业人士,还可以根据该方案、系统图和流程图设计自己的算法和方法,在具体环境中达到最好的效果,从而全面保障分布式投票的安全性和有效性。
本发明可保证投票人终端的可信,并可对于所投选票的有效性给出证明,计票阶段可对投票可信度进行公开验证,保障在公共网络环境下得到可靠的分布式投票结果,满足合法性、机密性、公平性、完备性、可校验性、无收据性等安全要求。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解:在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。因此,本发明不应局限于最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (6)
1.一种面向分布式网络投票的安全保障方法,具体步骤如下:
步骤A: 准备阶段
注册人生成和分发投票密钥,投票人对可信计算环境进行初始化,获得可信硬件签名密钥对并发送给注册人,可信硬件对投票密钥进行封装;计票人产生计票公私密钥对;
步骤B: 投票阶段
投票人启动可信投票终端,对选票进行加密并给出投票证明信息,可信硬件对投票人选票进行重加密后将选票发送给注册人;
步骤C: 计票阶段
注册人检查投票人签名无误后解密选票发送给管理者,管理者检测选票有效性和平台状态证明,确认有效后上传到公告板;投票截止后,计票人联合解密得到选举结果,并将结果上传到公告板。
2.如权利要求1所述的方法,其特征在于:步骤A中投票人使用可信硬件将投票密钥进行封装,确保只供合法投票人使用。
3.如权利要求1所述的方法,其特征在于:步骤B中投票人生成证明信息说明骑同时知晓投票密钥和选票明文,用以确认投票的不可否认性。
4.如权利要求1所述的方法,其特征在于:步骤B中可信硬件验证投票有效证明无误后对选票进行重加密,确认选票的机密性和无收据性。
5.如权利要求1所述的方法,其特征在于:步骤C中需至少t个以上计票人使用同态密码联合解密得到候选人选票总和,所述t为不小于1的自然数。
6.如权利要求5所述的方法,其特征在于:步骤C采用一种可公开访问的不可修改和删除的日志系统,公布有效选票供公开验证,便于系统满足可校验性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510316502.XA CN106296956A (zh) | 2015-06-11 | 2015-06-11 | 一种面向分布式网络投票的安全保障方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510316502.XA CN106296956A (zh) | 2015-06-11 | 2015-06-11 | 一种面向分布式网络投票的安全保障方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106296956A true CN106296956A (zh) | 2017-01-04 |
Family
ID=57659639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510316502.XA Pending CN106296956A (zh) | 2015-06-11 | 2015-06-11 | 一种面向分布式网络投票的安全保障方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106296956A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107424284A (zh) * | 2017-05-18 | 2017-12-01 | 合肥诺优信息科技有限公司 | 一种电子投票方法 |
CN109272631A (zh) * | 2017-07-17 | 2019-01-25 | 卡巴斯基实验室股份制公司 | 确定借助电子投票收集的投票者的选票的系统和方法 |
CN109544772A (zh) * | 2018-10-18 | 2019-03-29 | 杭州电子科技大学 | 一种安全高效的电子投票方法 |
CN110035057A (zh) * | 2019-02-28 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 用于投票的系统、方法和装置 |
WO2019165906A1 (zh) * | 2018-02-27 | 2019-09-06 | 华南理工大学 | 一种可验证的后量子电子投票系统及其实现方法 |
CN112787810A (zh) * | 2021-01-07 | 2021-05-11 | 杭州链城数字科技有限公司 | 基于区块链和安全多方计算的电子投票选举方法及装置 |
CN112995136A (zh) * | 2021-02-03 | 2021-06-18 | 浙江泰科数联信息技术有限公司 | 一种基于联盟链的k-out-of-m匿名投票方法 |
-
2015
- 2015-06-11 CN CN201510316502.XA patent/CN106296956A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107424284A (zh) * | 2017-05-18 | 2017-12-01 | 合肥诺优信息科技有限公司 | 一种电子投票方法 |
CN109272631A (zh) * | 2017-07-17 | 2019-01-25 | 卡巴斯基实验室股份制公司 | 确定借助电子投票收集的投票者的选票的系统和方法 |
WO2019165906A1 (zh) * | 2018-02-27 | 2019-09-06 | 华南理工大学 | 一种可验证的后量子电子投票系统及其实现方法 |
AU2019228155B2 (en) * | 2018-02-27 | 2021-07-08 | South China University Of Technology | Verifiable post-quantum electronic voting system and implementation method therefor |
CN109544772A (zh) * | 2018-10-18 | 2019-03-29 | 杭州电子科技大学 | 一种安全高效的电子投票方法 |
CN110035057A (zh) * | 2019-02-28 | 2019-07-19 | 阿里巴巴集团控股有限公司 | 用于投票的系统、方法和装置 |
CN112787810A (zh) * | 2021-01-07 | 2021-05-11 | 杭州链城数字科技有限公司 | 基于区块链和安全多方计算的电子投票选举方法及装置 |
CN112995136A (zh) * | 2021-02-03 | 2021-06-18 | 浙江泰科数联信息技术有限公司 | 一种基于联盟链的k-out-of-m匿名投票方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Bera et al. | Designing blockchain-based access control protocol in IoT-enabled smart-grid system | |
Chaidos et al. | BeleniosRF: A non-interactive receipt-free electronic voting scheme | |
CN106296956A (zh) | 一种面向分布式网络投票的安全保障方法 | |
US9436804B2 (en) | Establishing a unique session key using a hardware functionality scan | |
CN114499895B (zh) | 一种融合可信计算与区块链的数据可信处理方法及系统 | |
Meter | Design of distributed voting systems | |
JP2019525591A (ja) | ブロックチェーンにより実装される方法及びシステム | |
Luong et al. | Privacy-preserving blockchain-based healthcare system for IoT devices using zk-SNARK | |
Dong et al. | Cryptographic Protocol | |
Qureshi et al. | SeVEP: Secure and verifiable electronic polling system | |
Li et al. | A taxonomy and comparison of remote voting schemes | |
Joaquim et al. | Veryvote: A voter verifiable code voting system | |
Shirazi et al. | Robust electronic voting: Introducing robustness in civitas | |
Backes et al. | Using mobile device communication to strengthen e-voting protocols | |
Baloglu et al. | Provably improving election verifiability in Belenios | |
Bhatotia et al. | Steel: composable hardware-based stateful and randomised functional encryption | |
Killer et al. | Æternum: A decentralized voting system with unconditional privacy | |
Gunn et al. | Circumventing cryptographic deniability with remote attestation | |
Zhang et al. | Data security in cloud storage | |
CN100437422C (zh) | 软件使用权加密保护的系统和方法 | |
Soler et al. | A privacy-preserving key transmission protocol to distribute QRNG keys using zk-SNARKs | |
Kiayias et al. | On the necessity of auditing for election privacy in e-voting systems | |
Hong et al. | Universally composable secure proxy re-signature scheme with effective calculation | |
Baloglu et al. | Election verifiability in receipt-free voting protocols | |
Chatterjee et al. | Efficient and secure e‐voting scheme using elliptic curve cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170104 |