DRE‐ip:一种无可计票机构的可验证电子投票方案
西亚马克·F·沙汉达什蒂(B)和郝峰(B)
英国纽卡斯尔泰恩河畔纽卡斯尔大学计算机科学学院
{siamak.shahandashti,feng.hao}@ncl.ac.uk
摘要
几乎所有的可验证电子投票方案都需要可信的计票机构来执行计票操作。DRE‐i 系统是一个例外,它通过在选举前使用随机因子预先计算所有加密选票,使得这些因子在之后相互抵消,从而允许公众在选举后验证计票结果,消除了对计票机构的需求。尽管去除计票机构极大地简化了选举管理,但选票的预计算需要安全的存储,因为预先计算的选票一旦泄露,将危及选民的隐私性。本文针对这一问题提出了 DRE‐ip(具备增强隐私性的 DRE‐i)。通过采用不同的设计策略,DRE‐ip 能够实时加密选票,使得选举计票结果可以在不解密已投递选票的情况下由公众验证。因此,DRE‐ip 实现了与 DRE‐i 类似的无需计票机构的端到端可验证性,但在选民隐私性方面提供了显著更强的保障。即使投票机被完全攻破,计票完整性仍能得到保证,且信息泄露被限制在最低程度:仅泄露被攻破时刻的部分计票结果。
1 引言
直接记录电子(DRE)投票机已在世界各地的投票站广泛用于投票。在典型流程中,已注册的选民在投票站通过身份验证后获得一个令牌。然后她进入一个私密的投票亭,并向DRE投票机出示该令牌。该令牌为一次性使用,允许选民仅投一票。通常,DRE投票机配备触摸屏,可直接记录选民的投票(因此得名DRE)。该机器可以实时计票,或先存储选票再进行后续计票。无论哪种情况,该机器都如同一个黑箱:如果攻击者恶意篡改选票(或其计票结果),这种行为很可能不会被发现。
人们普遍认为,缺乏对计票完整性的保障是此类DRE机器的一个关键弱点。
为了解决这一问题,文献中提出了若干密码学协议。肖恩在 2004[16]中的开创性工作涉及使用视觉密码学,使选民能够验证选举的完整性。这种完整性保障包括确保选票按意愿投出、投出即记录以及记录即计票。这三项保障的实现构成了广泛接受的端到端(E2E)可验证性概念。
本文档由 funstory.ai 的开源 PDF 翻译库 BabelDOC v0.5.10 (http://yadt.io) 翻译,本仓库正在积极的建设当中,欢迎 star 和关注。
肖恩的解决方案启发了一类提供E2E可验证性的投票系统。著名的例子包括MarkPledge [28], Prˆet`aVoter[29], Scant-egrity[14](及其前身 PunchScan [21])、Helios [1],和STAR‐Vote [4]。这些系统基于不同的投票媒介,包括纸质选票、光学扫描仪、DREs和网络浏览器。它们采用不同的计票技术,基于混洗网络或同态加密。但所有这些方案都允许各个选民验证其选票是否按意愿投票并投出即记录,以及任何观察者验证所有选票是否记录即计票。
本文中,我们将关注点局限于基于DRE的选举。我们之所以聚焦于DRE,是因为它已在世界范围内的国家级选举中得到广泛应用。如今,几乎所有已部署的DRE系统都像黑箱一样运行,无法提供完整性保障;因此,其使用已在荷兰、德国和爱尔兰等多个国家被弃用。然而,在许多其他国家,这些(不可验证的)DRE设备仍在广泛使用。我们认为,迫切需要解决这一现实问题。
除了肖恩的系统Votegrity之外,其他现有的基于DRE的选举E2E可验证方案还包括MarkPledge [28], VoteBox [31], STAR‐Vote [4],和vVote [18]。
这些系统在细节上可能存在显著差异,但它们具有一些共同特征。它们都通过引入一组可信计票机构(TAs)来提供完整性保障。投票并非由DRE直接记录,而是机器在运行时使用TAs的联合公钥对投票内容进行即时加密。每个TA负责保护解密密钥的一部分。当投票结束后,达到法定人数的TAs共同执行计票过程,该过程以公众可验证的方式对选票(或其计票结果)进行解密。
然而,引入外部计票机构(TA)给实现带来了困难。理论上,计票机构应从利益冲突的各方中选出。他们应具备独立管理自身密钥份额和执行密码学操作的专业知识;如果他们将密钥管理任务委托出去,则受托人也必须是可信的。
对计票机构要求相对较高的密码学和计算技能。此外,法定人数应设置得足够大,以使得计票机构之间的共谋不可行;但同时又要足够小,以保证流程具有容错性,因为计票机构密钥的不可用将导致选举结果无法计算。协调这两方面并非易事。正如基于Helios构建E2E可验证投票系统的实际经验所报告的那样,计票机构的实现被证明是“一个特别困难的问题”[2]。
郝等人研究了在不涉及任何计票机构的情况下,是否可以实现基于DRE的选举的端到端可验证性[24]。他们提出了一种无可信第三方的端到端可验证投票系统,称为DRE‐i(具有完整性的DRE)。在DRE‐i中,机器直接记录选民的选择,如同当前基于DRE的选举中的现有做法。然而,该机器需在公共公告板上公布额外的审计数据,以使每位选民能够验证投票过程的完整性。在DRE‐i中,选票的加密基于 ElGamal加密方案的一种变体:不再使用固定公钥进行加密—
与标准的 ElGamal 加密不同,DRE‐i 使用动态构建的公钥来加密选票。该系统通过以结构化方式预先计算加密选票,消除了对计票机构的需求;在选举结束后,将所有公开的密文相乘可消除加密过程中引入的随机因子,从而允许任何人验证计票结果。
DRE‐i 表明,在基于 DRE 的选举中实现端到端可验证性时,计票机构的作用并非不可或缺。然而,其预计算策略不可避免地引入了在投票阶段确保存储和访问预计算数据安全性的要求。此外,这意味着攻击者一旦侵入安全存储模块,就有可能破坏所有选票的隐私性。DRE‐i 的作者[24]建议在敏感选举中使用防篡改硬件来保护预计算数据。然而,使用防篡改硬件可能会显著增加每台 DRE 设备的成本。此外,设计防篡改硬件的安全应用程序接口本身就是一个具有挑战性的问题。
这仍然是一个开放性问题:是否有可能同时实现两全其美,即在不涉及任何计票机构的情况下,对基于DRE的选举的完整性提供强保证,同时在不依赖防篡改硬件的情况下,对选票的隐私性提供强保障。
本文中,我们对该问题给出了肯定的回答,并提出了一种新的端到端可验证性投票系统,称之为DRE-ip(具备增强隐私性的DRE‐i)。DRE‐ip并未预先计算密文,而是采用一种更为传统的方法,如同其他现有的基于DRE的可验证系统(例如 [4,31]),在投票过程中即时加密投票。DRE‐ip在无需计票机构的情况下实现了端到端可验证性,同时相较于DRE‐i提供了显著更强的隐私性保障。
我们的贡献
我们提出了DRE‐ip,一种端到端可验证的基于DRE的投票系统,该系统可实时加密选票,但在计票阶段无需计票机构来解密选票。我们考虑了侵入式攻击场景,即攻击者能够控制任意数量的选民,并在投票阶段的任意时间段内获得对DRE机器的读取权限。我们证明,在此类攻击下,只要选举具有相同的非攻击者控制的计票结果(即攻击者既未控制也未观察到的选票的计票结果),则这些选举在决策性Diffie‐Hellman假设下是不可区分的。这表明,在发生侵入式攻击时,仅攻击期间投出的选票隐私性会丧失——这种损失是不可避免的——而在攻击期间之外投出的选票隐私性仍可得到保证。
DRE‐ip构成了首个无需计票机构且不引入新假设的可验证的基于DRE的系统。
相关工作
在关于匿名通信的开创性工作中,肖恩提出了将电子投票作为其技术[15]的应用。这引发了大量关于电子投票的研究,其中包括Benaloh [10]提出的形式化的选票保密性定义。后来,Benaloh 和 Tuinstra 论证了为了不可收据性[9],,朱尔斯、卡塔拉诺和雅各布森提出了抗胁迫性[25]作为逐步增强的隐私性概念。另一方面,可验证性已发展为保证电子投票系统完整性的属性。早期的研究考虑了个体可验证性。“普遍可验证性”的概念在后续研究中出现,佐古和基利安明确地对其进行了形式化[30]。最终,通过肖恩[16]和内夫[28],的工作,可验证性的概念被进一步完善为端到端可验证性,其包含以下保障:选票按意愿投出、投出即记录、记录即计票。目前,端到端可验证性已成为电子投票方案广泛接受的安全要求。因此,本文将研究重点限定在端到端可验证的投票方案上。
在过去十五年中,学术界对电子投票的研究重新产生了浓厚兴趣,并设计和实际应用了多种端到端可验证方案。其中较有影响力的方案包括肖恩提出的 Votegrity [16],和内夫提出的MarkPledge [28], ,它们是首批实现端到端可验证的方案。许多其他方案采用了类似的方法,包括Prˆet `和Voter [29],,其定制变体vVote已在澳大利亚维多利亚州的州级选举中使用[18],; Scantegrity [14],在美国马里兰州塔科马公园的地方选举中进行了试验[13],; STAR‐Vote [4],计划在美国得克萨斯州特拉维斯县的选举中部署[26]。此外,还有一些方案已被用于大学或政党内部选举,包括PunchScan [21],、 Bingo Voting [11],、Helios [1],、Wombat [7],和DRE‐i [24]。
2 预备知识
在本节中,我们回顾描述DRE‐ip所需的预备知识,包括我们使用的符号表示和密码学设置。
符号表示
遵循卡梅尼施和斯塔德勒 [12],引入的符号表示,我们使用 Pk{λ: Γ= γλ} 表示一个非交互式的 知识证明(关于某个秘密值)λ,使得(对于公开已知的 Γ 和 γ): Γ= γλ。在上下文明确的情况下,我们将该符号表示简写为 Pk{λ}。我们使用 Pwf{A: X, Y, Z} 表示关于 A 相对于 X、 Y 和 Z 的 良构性证明。在上下文明确的情况下,我们将该符号表示简写为 Pwf{A}。
2.1 密码学设置
我们假设采用类似数字签名算法的乘法循环群设置,其中 p和 q是满足 q | p−1的大素数。我们在群Z p 的子群Gq 中进行运算,该子群的阶为 q,并假设 g是 G q 的一个生成元。或者,我们所提出的系统也可以在类似椭圆曲线数字签名算法的群设置下基于椭圆曲线实现。
决策Diffie‐Hellman(DDH)假设 [19]定义如下:
假设1(DDH) 。对于随机选择的 a, b ∈ Z q 和 R ∈ G q ,给定 (g, g a, g b,Ω),其中 Ω ∈{g ab, R},判断 Ω= g ab 或Ω= R 是困难的。
零知识证明[22],在不传递任何其他信息的情况下证明某个陈述的真实性,即保证验证者在看到证明后所能可行计算出的任何内容,他们本都可以独立计算出来。Bellare 和 Goldreich 的后续工作 [5]进一步完善了零知识证明的定义,以将其与知识证明区分开来。直观地说,知识证明能够确保是由掌握某数量明确知识的证明者生成的。在我们的协议中,采用菲亚特‐沙米尔启发式方法来构造非交互式证明 [20]。因此,我们的安全证明位于随机预言模型中 [6]。
3 我们提出的解决方案:DRE‐ip
DRE‐ip 需要一个安全且公众可访问的公告板(BB),并通过选民发起的审计来实现端到端可验证性。我们假设 DRE通过一个经过身份验证的通道对公告板具有仅追加的写入权限。我们假设投票在有监督的投票站进行,并已建立相应程序以确保“一人一票”原则,包括安全选民注册和身份验证。在投票时,选民首先进行身份验证,并获得一个与其身份无关联的令牌。然后她进入隐私投票亭,并使用该令牌向 DRE 进行身份验证。至此,这些假设和机制与 DRE‐i 的类似。
我们描述了仅涉及两位候选人时的DRE‐ip方案,即对于表示第 i张选票投票的 vi,我们有 vi ∈{0, 1}。在DRE‐ip中,设置阶段确立了两个生成元 g1和 g2,它们之间的对数关系是未知的。DRE会跟踪已投出选票vi的实时计票结果 t=∑ vi,以及即时生成的随机数 ri之和 s=∑ ri。
为了实现个体可验证性,DRE‐ip 采用了 Benaloh 风格的选民发起式审计 [8],,即选民可以选择审计由 DRE 生成的选票,以确认 DRE 是否按照其选择正确地准备选票。如果一张选票被审计,则该选票不能用于投票。因此,在投票阶段结束时,所有选票的集合 B将由已审计选票 A和已投出的选票 C组成,即 B= A ∪ C。
投票阶段
此阶段涉及选民、DRE 和公告板:
- 选民进入投票站,启动投票,并输入她的投票 vi ∈{0, 1}。
-
DRE 生成随机数 ri ∈ Z q,并计算
Ri= g r i 2 , Zi= g r i 1 g v i 1 , Pwf{Zi: g1, g2, Ri},
并向选民提供包含唯一选票索引 i 、选票内容Ri、 Zi以及Pwf{Zi}的签名收据。 - 选民确认收据的第一部分已提供,并选择审计选票或确认她的投票。
若进行审计:
- DRE 将 i 加到 A,并向选民提供一份明确标记为已审计的审计签名收据,其中包含 ri 和 vi。
- 选民取走并保存该收据,并验证 vi 是否反映她的选择。如果验证成功,投票继续进行到步骤1;否则,选民应立即提出异议。
在确认的情况下:
-
DRE 将 i添加到 C,更新计票结果和总和:
t=∑ j∈C vj and s=∑ j∈C rj,
并向选民提供一份已确认的签名收据,明确标记为“已确认”,并安全删除 ri 和 vi。 - 选民带着她的收据离开投票站。
- DRE在公告板上发布提供给选民的所有收据。
- 选民验证她的收据与公告板上的收据是否匹配。
计票阶段
本阶段涉及 DRE、公告板 和公众:
- DRE在公告板上公布最终计票 t和最终和 s。
-
该 public:
– 验证公告板上所有选票的正确性证明(格式正确性验证);
– 验证公告板上所有已审计选票的收据第一部分中包含的Ri和 Zi与第二部分中包含的 ri和 vi (以及系统参数 g1和 g2)一致(审计一致性验证);
– 验证以下等式成立(计票验证):
$$
\prod_{j∈C} R_j =? g^s_2 \quad \text{and} \quad \prod_{j∈C} Z_j =? g^s_1 g^t_1. \tag{1}
$$
如果在投票或计票阶段的任何时刻,选民或公众进行的任何验证未能成功,则应通知选举工作人员,我们假设有相应的程序来处理此类验证失败。这些验证包括审计情况下的步骤5和投票阶段的步骤7中的选民验证,以及计票阶段步骤2中的公众验证。
良构性证明 Pwf{Zi: g1, g2, Ri} 可以实现为一种非交互式知识证明
Pwf{Zi}= Pk{ri: (Ri= gri 2 ∧ Zi= gri 1) ∨(Ri= gri 2 ∧ Zi/g1= gri 1)}.
该证明保证了Zi ∈{gri 1, gri 1 g1},或者等价地 vi ∈{0, 1} .
此类证明可以基于离散对数的知识的施诺尔证明[32]实现。从施诺尔证明出发,可应用Cramer、Damg˚ard和Schoenmakers提出的技术来构造析取知识证明、合取知识证明以及两者的组合。然后应用菲亚特‐沙米尔启发式方法 [20]使所构造的证明变为非交互式。选票的索引 i被嵌入到证明中(作为哈希函数的输入),以将证明与选票绑定。
在实践中,可以使用截断哈希函数来计算收据每个部分的短摘要,例如长度为4个字母数字字符,以便选民能够轻松地将其收据上的摘要与公告板上的摘要进行比较。在这种情况下,假定选民在离开投票站之前会验证收据,并且我们假设投票站提供了相应的设施供他们进行验证。
4 DRE‐ip的安全性
在本节中,我们提供证明以表明DRE‐ip具有端到端可验证性,并且在非侵入性和侵入性攻击下均能确保选票保密性。
4.1 端到端可验证性
我们讨论DRE‐ip中选举计票的完整性(即正确性),并说明DRE‐ip如何实现端到端可验证性:我们证明,假设所有格式正确性证明均为知识证明,则当公开验证成功时,投票按记录进行统计;此外,我们还展示了选民发起的审计如何保证投票被如实记录、按意愿投票。
我们假设公告板是安全的,特别是它是仅追加且公开可访问的。此外,应在授权的DRE(s)与公告板之间建立一个经过认证的通道,以确保只有授权的 DRE才能向BB追加新值,并且这些值在传输过程中不会被修改。这可以通过使用标准技术(如数字签名)来实现。此外,我们假设选民人数少于群组 q的大小。
回想一下,DRE‐ip 中的公开验证,即计票阶段的步骤2,包含三种验证类型:格式正确性验证、审计一致性验证和计票验证。以下定理表明,如果格式正确性验证和计票验证成功,则 DRE‐ip 实现了“计票与记录一致”的性质,即 DRE‐ip 可保证公告板上的计票结果是公告板上所有已确认选票的正确计票结果。
定理1. 在DRE-ip中,假设所有格式正确性证明都是知识证明,如果公开的结构正确性和计票验证成功,则公告板上所有已确认选票的报告计票 t即为正确计票。
该证明相当直接,因此此处省略。简而言之,可以说明格式正确性证明和第一次计票验证检查(即公式1中的两个验证中的第一个)如何共同保证第二个计票验证方程(即公式1中的第二个)成立当且仅当 t= ∑i∈C vi, ,其中 C表示已确认的选票集合。因此,如果格式正确性验证和计票验证成功执行,则公告板上所有已确认的选票的报告计票t必定是正确的计票结果。
由选民发起的审计包括以下检查:首先,通过观察在决定审计或确认选票之前已提供收据的第一部分,选民可确保DRE已承诺于该选票的第一部分;其次,通过核对收据与公告板上公布的内容是否一致,选民可确保其与机器的交互被准确记录在公告板上。对已审计选票的一致性进行公开验证,即审计一致性验证,可保证DRE已成功响应由选民发起的审计所提出的挑战。因此,个人验证和公开的审计一致性验证共同确保选票按意愿投出且投出即记录。定理1确保投票按记录进行统计。
4.2 选票保密性
选票保密性对应于投票系统保护已投选票秘密性的自然期望。我们采用一种选票保密性的定义,即:即使攻击者控制了一组不诚实选民的投票行为,只要两场选举中诚实选民的选票部分计票结果相同,该攻击者也无法区分这两场选举,而无论诚实选民如何投票。此定义源于 Benaloh [10,p. 74]。
我们假设存在一个安全初始化阶段;也就是说,我们假设在计算出两个生成元后, g2相对于基 g1的离散对数要么不被任何参与方所知,要么已被安全删除。我们还假设在每次投票1完成后,数值 xi、yi和 vi均已被安全删除。
1例如,参见[23]以及其中的参考文献,了解有关安全数据删除的现有解决方案的概述。
我们考虑一种侵入性攻击者,其除了能够确定任意数量的选票外,在投票阶段的一段时间内还拥有对DRE存储的读取权限。该攻击者能够读取公告板上公开的信息,其中包括总得票数。此外,我们假设攻击者可以控制任意数量的选民,从而实际上投出任意数量的投票。攻击者能够在访问期间观察所投出的选票,并读取当前的(部分)计票结果 t和(部分)和值 s。
我们将攻击者投出或观察到的选票称为攻击者控制的选票。攻击者若知晓攻击者控制的选票以及总计票结果和部分计票结果,便能够推断出在对抗访问期前后投出的非攻击者控制选票的计票结果。我们证明,在DDH假设下,攻击者关于非攻击者控制的选票所能获得的信息仅限于此。具体而言,我们表明,对于任意两场选举,若其在对抗访问期前后投出的非攻击者控制的选票具有相同的部分计票结果,则对攻击者而言这两场选举是不可区分的。需要注意的是,在DRE‐i中,一旦攻击者侵入投票机存储,对抗访问期之外投出的选票隐私性也会丧失。因此,尽管DRE‐i易受此类侵入式攻击影响,DRE‐ip却能在此类攻击下保证投票隐私。
我们首先考虑两场选举,其中所有选票都相同,除了有两张选票被互换。我们证明,只要这两张选票均为非攻击者控制的选票,并且都是在对抗访问期之前或之后投出的,那么对于攻击者而言,这两场选举的公告板是不可区分的。更正式地,我们有:
引理1。 在DRE-ip中,假设所有格式正确性证明均为零知识证明,若DDH假设成立,则攻击者即使确定了任意数量的选票并获得了DRE存储的临时读取权限,也无法区分两个公告板——在这两个公告板中,有两个投票(均在对抗访问期之前或之后投出)被交换。
引理的证明见附录A。该证明考虑了一位攻击者,其不仅能确定除两份选票vi和 vj外的任意数量的选票,还能在任意时间段内访问DRE存储。假设该攻击者能够区分公告板中 vi和vj被交换的情况,我们展示了如何利用这一点来破坏DDH假设。基本思路是,证明和 s不会泄露计票结果 t以外的任何额外信息。
根据引理1,我们将其扩展以证明:对于任意两个在对抗访问期前后投出的非攻击者控制选票具有相同的部分计票结果的选举,即使攻击者控制了任意数量的选票,这两个选举对攻击者而言仍是不可区分的。这表明,攻击者关于对抗访问期前后投出的非攻击者控制选票所能获得的唯一知识,仅限于部分计票结果和总计票结果所披露的信息。
定理2。 在DRE-ip中,假设所有格式正确性证明均为零知识,若DDH假设成立,则攻击者即使确定了任意数量的选票并获得DRE存储的临时读取权限,也无法获取对抗访问期之前和之后非攻击者所投选票的任何信息,除非这些选票的部分计票结果。
证明。为了证明该定理,我们表明在DDH假设下,对于在对抗访问期前后投出的任意两组具有相同部分计票结果的非攻击者控制的选票,可以模拟出两个对选择任意数量攻击者控制的选票的攻击者而言不可区分的公告板。
首先,注意到任意两个具有相同部分计票结果的非攻击者控制的选票集合,在选票上存在偶数个差异,记为 2d。这意味着通过d次“交换”,可以将其中一个选票集转换为另一个,其中每次交换针对某个 i和 j,将第 i张选票与第 j张选票互换。在引理1中,我们证明了在每次交换前后,公告板对于攻击者而言在DDH假设下是不可区分的。因此,这两个给定的非攻击者控制的选票集合所对应的公告板对攻击者而言仍然是不可区分的,证明完毕。
5 比较
在本节中,我们探讨DRE‐ip与其他基于DRE的可验证电子投票系统的比较。具体而言,我们考虑了Chaum的Votegrity [16],、Neff的MarkPledge [28],、VoteBox [31],、 STAR‐Vote [4],、DRE‐i[24],以及vVote [18]。
Votegrity 基于视觉密码学并使用洋葱加密。Mark‐Pledge 采用一种专用加密方案,支持挑战‐响应式的个体可验证性。VoteBox 和 STAR‐Vote 均基于指数ElGamal加密,支持同态计票。在 vVote 中,选票使用椭圆曲线 ElGamal进行加密,并在混洗后逐个解密。而 DRE‐i 使用的加密方式不存在固定的解密密钥。DRE‐ip 基本上使用指数ElGamal加密,其中没有任何一方知道解密密钥。所有这些系统都将选民注册和选民认证视为其范围之外的内容,并假设这些过程已正确且安全地执行。
通常,需要计票机构的系统(例如 Votegrity、Mark‐Pledge、 VoteBox、STAR‐Vote 和 vVote)假设在计票阶段必须有一定数量的计票机构可用,以完成选举计票。而 DRE‐i 和 DRE‐ip 不需要此类假设即可保证可用性。
为保证完整性,我们考虑的所有系统都依赖于一个安全的公告板以及充分数量的选民进行个人验证。系统需要计票机构的系统,即 Votegrity、MarkPledge、VoteBox、STAR‐Vote 和 vVote,也要求计票机构正确执行计票的解密。在可验证系统中,这是通过要求计票机构生成正确解密的可验证证明来实现的。因此,我们认为所有系统为保证完整性所依赖的假设是可比的,无论该系统是否需要计票机构。
为保证隐私性,我们考虑的所有系统均假设存在一个安全的初始化阶段,用于生成和分发系统参数与密钥,并使用安全的随机数生成器来产生概率加密所需的随机性。此外,所有系统均假设在投票阶段期间为密码学操作生成的已采集的选票和任何临时密钥都会被安全擦除。Votegrity 基于解密混洗网络,要求计票机构不得共谋以破坏选民的隐私性。Mark‐Pledge 和 vVote 采用重加密混洗网络,在解密前对加密选票进行混洗,并假设计票机构不会在混洗前对选票进行解密,即使这些选票已在公告板上公开。VoteBox 和 STAR‐Vote 要求计票机构不得共谋解密单张选票。DRE‐i 不需要此类假设,而是依赖于一种安全的选票存储机制,在初始化阶段后保护预计算选票的安全。DRE‐ip 不需要对计票机构或选票存储施加任何信任假设。
表1 总结了我们考虑的投票系统在底层安全假设方面的主要相似之处和差异。
现在让我们将DRE‐ip的计算复杂度与其他基于DRE的可验证电子投票系统的计算复杂度进行比较。我们不考虑Votegrity、MarkPledge和vVote,因为它们使用混洗网络,其计算复杂度取决于这些可验证混洗网络的具体实现方式。所有计算均基于双候选人选举、基于指数ElGamal的加密,以及如果存在计票机构的情况下仅有一个计票机构。需要注意的是,若存在多个计票机构,所有需要计票机构的方案在计票计算和验证方面的复杂度都会增加。我们假设在所有系统中,如果存在计票机构,则该机构会提供正确解密的证明,以满足端到端可验证性的要求。
表1。 基于DRE的可验证电子投票系统的选定安全假设。TA:计票机构,VIA:选民发起的审计,BB:公告板,RNG:随机数生成, :需要该假设, :不需要该假设。
| 系统 | 可用性 | 完整性 | 完整性 | 隐私性 | 隐私性 | 隐私性 | 隐私性 | 隐私性 | 隐私性 |
|---|---|---|---|---|---|---|---|---|---|
|
可靠性
可信代理(TA) |
充分性
VIA |
安全
BB |
安全
设置 |
安全
RNG |
安全
删除 |
安全选票
存储 |
可信
可信代理(TA) | ||
| Votegrity | |||||||||
| MarkPledge | |||||||||
| VoteBox | |||||||||
| STAR‐Vote | |||||||||
| DRE‐i | |||||||||
| vVote | |||||||||
| DRE‐ip |
还假设使用同时多重指数运算(SME)技术[27]来优化计算。使用SME时,形式为 gxhy的项的计算成本相当于约1.2次指数运算。
此处考虑的系统通常使用两种类型的格式正确性证明。第一种类型由(知识和)两个离散对数相等的证明组成,其一般形式为
Pk{λ: Γ1= γ1λ ∧ Γ2= γ2λ}. (2)
考虑一个指数ElGamal加密方案,其密钥对为(k,K= gk),其中消息 m被加密为密文(R= gr, C= Krgm)。该证明
Pwf{m: g, K,(R, C)}= Pk{k: K= gk ∧ C/gm= Rk}
其形式如公式2所示,可被用作正确解密证明,例如在VoteBox和 STAR‐Vote等系统中。此类证明若以Fiat‐Shamir非交互式Schnorr证明实现,并采用SME技术优化,则生成时需要2次指数运算,验证时相当于约2.4次指数运算。此类证明的生成与验证算法已记录于本文的完整版本中[33]。
第二类由离散对数对的等价性(及知识)的析取证明组成,其一般形式为
Pk{λ:(Γ1= γ1λ ∧ Γ2= γ2λ)∨(Γ3= γ3λ ∧ Γ4= γ4λ)} (3)
此类证明可以构造为形式如公式2的两个合取证明的析取。这些证明可用于证明我们所考虑的所有系统中选票的格式正确性。在DRE‐ip中,选票格式正确性证明Pwf{Zi: g1, g2, Ri}即为此类形式。当该证明以Fiat‐Shamir非交互式 Schnorr证明实现,并使用SME技术进行优化时,生成该证明所需计算量约为 4.4次指数运算,验证所需计算量约为4.8次指数运算。此类证明的生成与验证算法已记录于本文的完整版本中[33]。
表2. 选定的基于DRE的可验证电子投票系统的计算复杂度。B, A, C:所有、已审计、已确认 选票, e:指数运算, m:乘法运算。
| 系统 | 选票计算 | 格式正确性以及一致性验证计算 | 计票验证计算 |
|---|---|---|---|
| VoteBox | 6.4|B| e | (6.8|A| +4.8|C|) e | |C| m+ 2.4 e |
| STAR‐Vote | 10.8|B| e | (9.6|A| +4.8|C|) e | |C| m+ 2.4 e |
| DRE‐i | 6.4|B| e | (6.8|A| +4.8|C|) e | 2|C| m+ 1 e |
| DRE‐ip | 6.4|B| e | (6.8|A| +4.8|C|) e | 2|C| m+ 2 e |
VoteBox 和 STAR‐Vote 均使用指数型 ElGamal 对投票进行加密,其计算量与 DRE‐ip 相似。在 DRE‐ip 中,计算 Ri 和 Zi 各需要 1 次指数运算,计算 Pwf{Zi} 大约需要 4.4 次指数运算。因此,每张选票的计算在 VoteBox、 STAR‐Vote 和 DRE‐ip 中均大约需要 6.4 次指数运算。在 DRE‐i 中,每张选票需预先计算两个格式正确性证明,因此每张选票的计算需要 10.8 次指数运算。
在所有这四个系统中,检查已确认选票的格式正确性包括验证上述第二种类型的证明,因此每张已确认选票大约需要4.8次指数运算。对已审计选票进行一致性验证包括检查选票的格式正确性,以及验证披露的审计信息是否与选票一致。在VoteBox、STAR‐Vote和DRE‐ip中,所涉及的计算类似。例如,在 DRE‐ip中, Ri和Zi会根据披露的 ri和 vi值重新计算,并将结果与公告板上报告的 Ri和 Zi值进行比较。这需要2次指数运算,因此每张已审计选票的一致性验证总共大约需要6.8次指数运算。在DRE‐i中,每张已审计选票还需要额外验证上述第二种类型的证明,因此每张已审计选票的一致性验证大约需要 9.6次指数运算。
在 VoteBox 和 STAR‐Vote 中,计票计算需要将所有已确认的投票加密进行乘法运算,然后对结果进行解密,并最终生成正确解密证明。解密和生成正确解密证明分别需要 1 次和 2 次指数运算。这些计算显然由计票机构执行。在 DRE‐i 和 DRE‐ip 中,计票由 DRE 跟踪并报告,因此无需额外计算。
VoteBox和STAR‐Vote中的计票验证包括对已确认投票加密进行乘法运算,并验证正确解密证明。后者成本约为2.4次幂运算,如上所述。在DRE‐i中,需检查一个计票验证方程,该方程要求对所有投票加密进行乘法运算并执行1次指数运算。在DRE‐ip中,需检查两个计票验证方程,每个方程要求对所有 Ri以及所有已确认选票的 Zi进行乘法运算,并对每个方程执行一次指数运算。
表2 总结了上述系统中不同操作的计算复杂度。请注意,我们上述的计算以及表中列出的数据未包含验证输入到验证算法的成本,以确保这些输入属于正确的密码学群。在基于椭圆曲线的上述系统实现中,此类验证的成本可以忽略不计。
6 扩展至多位候选人
尽管我们仅针对两位候选人描述了DRE‐ip,但有两種相當標準的方法可將其擴展以支援多位候選人(例如參見[3,24])。在此,我們討論從 n位候選人中為 n ≥ 3進行投票。
一种简单的方法是为每位候选人分别运行一个独立的并行DRE‐ip系统。设 v i j 表示选票 i中对候选人的投票 j。在 n 张选票中,有 1 张选票包含对一位候选人的 vij= 1 投票,以及对所有其他候选人的 vij= 0 选票。因此,需要一个额外的良构性证明,以确保在 j 的所有取值中,只有其中一个投票 vij 为1。此时第 i 张选票将是一个 (3n+ 1) 元组:
((Rij, Zij,Pwf{Zij}) n j=1, π),其中 π 表示额外的证明。由于对于每个 j,良构性证明 Pwf{Zij} 已经保证了 vij ∈{0, 1},因此该额外证明只需证明 ∑n j=1 vij= 1 即可具有充分性。有趣的是,在给定值 Rij= g rij 2 的情况下,该证明可以很容易地构造为知识证明
Pk{σi: (∏n j=1 Zij)/g1= g σi 1 ∧ ∏n j=1 Rij= g σi 2 }, where σi = ∑n j=1 rij.
这是上述第一种类型的证明(即,如公式2所示的形式)。此类并行DRE‐ip系统的选票生成成本为 n倍的双候选人DRE‐ip成本,再加上生成额外证明所需的2次额外幂运算,即每张选票总共需要6.4n+ 2次幂运算。验证额外证明需要2.4次幂运算,因此每张已确认选票的格式正确性和一致性验证成本为 4.8n+2.4次幂运算,每张已审计选票的成本为 6.8n+2.4次幂运算。计票验证的成本为 n倍的双候选人 DRE‐ip计票验证成本。
另一种方法是扩展DRE‐ip,将对候选人 j的投票编码为vi= M j−1,其中 M是选民人数的上限。此时第 i张选票将采用三元组形式(Ri, Zi,Pwf{Zi}),其中 Ri= g r i 2 , Zi= g r i 1 g M j − 1 1 , and the well-formedness proof is an 1-out-of-n析取证明,而非1-out-of-2,其实现方式如下:
Pk{ri: ∨n j=1 (Ri= g r i 2 ∧ Zi/g M j − 1 1 = g r i 1)}.
这是上述第二种类型证明的扩展版本(即,如公式3所示的形式)。生成此类证明需要 2+ 2.4(n−1)= 2.4n−0.4次指数运算,验证该证明需要 2.4n次指数运算。在此类“编码”DRE‐ip系统中,每张选票的计算成本为 2.4n+ 1.6次指数运算。系统的正确性与一致性验证的成本分别为每张已确认选票 2.4n次指数运算和每张已审计选票 2.4n+ 2次指数运算。计票验证成本与双候选人DRE‐ip类似。
表3. 支持从 n ≥ 3名候选人中投1票的DRE‐ip的计算复杂度。 B, A, C:所有选票、已审计 选票、已确认选票, e:指数运算, m:乘法运算。
| 扩展方法 | 选票计算 | 格式正确性以及一致性验证计算 | 计票验证计算 |
|---|---|---|---|
| 并行 | (6.4n+2)|B| e | ((6.8n+2.4)|A| + (4.8n+2.4)|C|) e | n|C| m+ 2n e |
| 编码 | (2.4n+1.6)|B| e | ((2.4n+2)|A| + 2.4n|C|) e | |C| m+ 2 e |
表3 总结了两种扩展方案的计算复杂度。总体而言,尽管并行DRE‐ip更具模块化,因而更易于实现,但编码DRE‐ip效率更高。这一类似观察结果似乎也适用于VoteBox、STAR‐Vote和DRE‐i的扩展版本。
7 结论
本文中,我们重新审视了DRE‐i投票系统的设计,并提出了一种新系统: DRE‐ip。在理论层面,我们证明了可以构建基于DRE的可验证投票系统,其选票隐私性不依赖于可信计票机构或可信硬件。在实际层面,我们证明了 DRE‐ip提供了一种高效且实用的基于DRE的可验证投票解决方案,即使攻击者在投票阶段获得了对投票机的临时读取权限,仍能保护选票的隐私性。设计一种不依赖计票机构且能高效支持更复杂选举制度(如单个可转移投票(STV) 或写入选民候选人)的系统仍然是一个开放性问题。
14

被折叠的 条评论
为什么被折叠?



