53、纸质端到端投票系统攻击与防护解析

纸质端到端投票系统攻击与防护解析

1. 针对特定候选人的攻击策略

在选举场景中,存在一种针对特定候选人的攻击方式。攻击者通过对特定标记的选票收据进行付费来影响选举结果,选票布局决定了选民为获取报酬所能采取的行动。以有(n)个候选人的选举为例,若攻击者希望候选人史密斯落选,会给出不同的报酬方案。比如,对于正面收据显示史密斯为(a)且第一个孔被标记的,支付(10)美元;对于背面标记为(a)的收据,支付(5)美元。假设选民总是追求最大报酬,那么当选票上史密斯对应(a)时,选民会返回标记好的正面选票以随机化自己的投票。这样一来,返回背面标记选票的选民就没有投票给史密斯,从而有效地将选票从史密斯那里分散出去。据推测,大约(\frac{1}{n^2})的选民会投票给史密斯,而其余(n - 1)个候选人每个会得到(\frac{n + 1}{n^2})的选票。

2. 刮刮卡攻击手段
2.1 基本原理

在投票过程中,投票者在投票亭内与攻击者进行双向通信是实施胁迫攻击的有力手段。刮刮卡攻击就是基于模拟投票亭内的双向通信来实现的。以一个简化的选票买卖攻击为例,选票买家通过手机与投票亭内的选民联系,手机成为买家和选民之间传递挑战和承诺的工具。选民利用与买家的双向通信以及投票系统提供的收据,向买家证明自己投票给了正确的候选人。

这种攻击的关键在于,让选民选择保留两张选票中的一张所透露的信息,与让选民保留两张选票所透露的信息一样多。这对基于纸质的端到端投票系统造成了损害,因为在这些系统中,一张选票通常分布在多张纸上。以Punchscan系统为例,拥有一张收据并了解另一张(已销毁)选票的信息,就足以确定选民的选择。具体的选票买卖协议如下:
1. 选民获取Punchscan选票并进入投票亭。
2. 选民通过手机向买家告知每个候选人对应的字母(顶页内容)和字母顺序(底页内容),以此对两张选票进行承诺。
3. 买家随机选择一张承诺的选票,并将此选择作为挑战发给选民。
4. 选民保留被挑战的选票作为收据,投出选票后返回给买家。
5. 买家将收据与步骤2中的承诺选票进行比较。

这个协议就像一个“切分选择”证明,验证了选民承诺的真实性。买家获得一张选票后,确信了另一张选票的内容,就很容易确定选民的投票。

2.2 刮刮卡的应用

在投票亭内使用手机通话容易被选举官员察觉,因此可以用刮刮卡代替手机通信来实施基于收据的选票买卖协议。刮刮卡的设计原理是让选民先对两张选票进行承诺,然后再收到挑战。

假设一群选民同意将选票卖给候选人史密斯。选民可以通过在刮刮卡上揭示顶页上与史密斯相关的字母以及该字母在底页上的位置,来对两张选票进行承诺。刮刮卡有两行刮刮区,第一行对应与史密斯相关的可能字母,第二行对应可能的位置。例如,对于一个有四个候选人的典型Punchscan选票问题,刮刮卡第一行有四个标记为(a - d)的刮刮区,第二行有标记为(1 - 4)的刮刮区。

刮刮卡的每个刮刮区下面有一个随机整数。选民刮开与顶页和底页相关的刮刮区,会显示两个整数,它们的和作为挑战。和为偶数表示挑战顶页,和为奇数表示挑战底页。

这种攻击的原理是,了解顶页和底页的信息以及选票上的标记位置,就足以确定选民的投票。刮刮卡包含了顶页和底页的承诺,收据显示了选民的标记。诚实填写刮刮卡(与选票一致)的选民必须投票给承诺的候选人,否则欺骗行为会被发现。如果选民试图欺骗,在刮刮卡上错误地表示顶页或底页信息,当刮刮卡的挑战要求出示被错误表示的页面时,欺骗行为就会被识破。

2.3 废票的利用

刮刮卡上的承诺虽然试图让选民对特定选票做出承诺,但这种承诺比较薄弱。一些固执的选民可能会通过反复作废选票来“欺骗”选票买卖协议。例如,选民可能投票给错误的候选人,并在刮刮卡上对其中一张选票说谎,有(50\%)的被发现概率。如果被发现,选民可以继续作废选票,直到获得一张能让他们作弊的选票。

不过,引入废票可以通过修改之前的协议来创造一种更灵活的攻击方式。在这种情况下,选民先对一张选票做出强烈承诺,然后再决定是否作废该选票。

废票在许多基于纸质的端到端投票系统中起着重要作用。Punchscan和Prêt-à-voter等系统依赖于空白选票的正确构造。让选民在选举日审核选票是一种确保选票正确构造的方法,这涉及在公告板上公布审核选票的信息,并且可能允许选民带着空白选票离开投票站。如果有人对审核过的选票进行投票(这是不允许的),公布的审核信息会让任何人都能看到这个人的投票情况,这就是这种攻击有效的原因。

在Punchscan系统中,选民不仅要对两张选票进行承诺,还要对选票序列号进行承诺,以防止选民反复作废选票。因此,刮刮卡会有三行刮刮区,前两行分别对应顶页上期望候选人的字母和该字母在底页上的位置,第三行对应选票序列号的最后一位数字,有(0 - 9)的刮刮区,可能还有多个数字的单独刮刮区。每个刮刮区下面同样有一个随机整数。选民刮开与自己选票相关的刮刮区后,将三个显示的整数相加。如果和模(10)等于(1),则必须作废当前选票并获取新选票;否则,必须投出选票。无论哪种情况,选民投票后都要返回给买家,并提供刮刮卡和选票收据或废票。

在这种情况下,废票用于检查选民是否正确填写了刮刮卡。废票让买家可以将刮刮卡上的标记与实际选票或公告板上的选票表示进行比较。欺骗行为有(10\%)的被发现概率,这应该足以威慑选民。如果选票被投出而不是作废,买家可以假设刮刮卡填写正确,并确定选民是否选择了正确的候选人。例如,如果返回的是顶页,买家可以检查候选人与字母的映射是否正确承诺,以及收据上标记的位置是否与刮刮卡上承诺的候选人字母位置匹配。

这种刮刮卡攻击的变体虽然检测作弊的概率比之前的版本低,但更灵活。它不再要求选民在填写刮刮卡后选择两张可能收据中的一张,因此即使在程序要求选民在查看选票之前选择收据页的情况下,也能用于攻击Punchscan系统,这是对之前攻击的一种有效应对措施。此外,它对其他基于纸质的端到端投票系统,如Prêt-à-voter也有效。在这种情况下,选民会得到刮刮卡,用于对每张选票上的加密信息以及期望候选人在左侧选票上的位置进行承诺。

3. 信标攻击方式

刮刮卡攻击之所以有效,是因为选民必须先以特定方式标记选票,然后根据挑战决定是否执行可能暴露欺骗企图的行动。更普遍地说,在选票标记后,卖家和买家之间只需要一个通信渠道。这个渠道可以很简单,比如买家在选民即将投出标记好的选票时向他们举起一个小牌子。

另一种方式是使用一连串被胁迫的选民依次投票,每个选民向之前的选民传递一个挑战。以ThreeBallot选举为例,每个被胁迫的选民会按照图8所示的方式填写手写的多选票。选民会依次进入投票亭,买家在前面的选民标记好选票后送下一个选民进入。买家会给选民一个挑战,指示前一个选民返回左、中、右三张选票中的一张。返回正确收据的选民会得到奖励,发出挑战的选民如果挑战接收者返回正确收据也会得到奖励。

下面是刮刮卡攻击协议的流程图:

graph TD
    A[选民获取Punchscan选票进入投票亭] --> B[选民通过手机向买家承诺选票信息]
    B --> C[买家随机选择一张选票作为挑战发给选民]
    C --> D[选民保留挑战选票作为收据并投票]
    D --> E[选民返回给买家]
    E --> F[买家比较收据和承诺选票]

通过以上这些攻击手段的分析,可以看出纸质端到端投票系统面临着多种安全威胁,需要在设计和实施过程中采取相应的防护措施。

4. 投票系统的安全问题与应对思考
4.1 现有攻击依赖的漏洞

许多针对投票系统的攻击依赖于选民在查看选票后能够自由做出决定,而这个决定会影响从投票亭带回的信息。例如,选民可以选择带哪张收据回家,或者决定是投票还是审核选票。那些给予选民这种选择权的投票方案容易受到胁迫和选票买卖攻击。

4.2 程序防御的利弊

对投票方案进行程序上的改变可以防止大部分上述攻击。然而,程序防御也会带来新的安全隐患。比如,选举官员在给选民选票之前询问他们是投票还是审核选票,官员可能会给打算投票的选民发放印刷错误的选票。这样虽然降低了选票买卖攻击的风险,但增加了选举欺诈的风险,这是一种严重的攻击形式。

4.3 端到端投票系统设计的注意事项

端到端投票系统的设计者应谨慎过度依赖程序来维护系统的安全特性。当这些系统依赖程序时,其相对于传统系统的优势会减弱。例如,在保证选票的正确保管链的情况下,光学扫描系统相对安全。像本文中提到的印刷错误攻击这样的简单攻击,可能会针对这些程序,通过看似无关紧要的方式改变选举程序,从而实施选举欺诈或侵犯隐私。随着程序控制数量的增加,程序变更不被察觉的可能性也会增加。在很多情况下,这些变更看起来像是简单的错误或疏忽,而不是选举欺诈的企图。

虽然很难想象一个不需要遵循特定程序就能实现安全声明的投票方案,但一个合理的目标是设计这样的系统:其可验证性声明不依赖于选举管理员或第三方审计员的行动。

端到端加密投票方案领域仍处于发展阶段。密码学领域的进展,如承诺方案、签名、秘密共享方案和可验证洗牌等,为我们提供了多种工具,但在使用这些工具的协议以及应遵循的程序方面,仍有改进的空间,以减轻各种威胁。

以下是不同投票系统特点的对比表格:
| 投票系统 | 是否依赖电子设备 | 是否需要特殊标记 | 可验证性依赖 |
| ---- | ---- | ---- | ---- |
| 端到端加密投票系统 | 通常依赖 | 部分需要 | 部分依赖程序和技术 |
| ThreeBallot和VAV | 需要部分电子设备 | 标记方式不直观 | 依赖程序和设备 |
| Twin | 不需要 | 不需要特殊标记 | 相对独立 |

综上所述,为了确保选举的公正性和安全性,需要在投票系统的设计、实施和管理过程中综合考虑各种因素,不断改进和完善投票机制,以应对日益复杂的安全挑战。同时,公众也应该增强对选举安全的认识,积极参与监督选举过程,共同维护民主选举的正常进行。

纸质端到端投票系统攻击与防护解析

5. 一种新型端到端完整性验证机制——Aperio

在传统的选举环境中,尤其是在发展中国家,现有的“端到端”选举验证机制存在一定的局限性。这些机制大多依赖于密码学技术,需要在投票站配备专门的电子设备,并且验证过程需要专业的技术知识。然而,发展中国家的选举环境往往缺乏这样的技术基础设施,或者使用这些技术并不实际。

Aperio是一种适用于设备简陋的秘密纸质选票选举环境的“端到端”完整性验证机制。它的优势在于,在不干扰纸质选票选举传统的标记和计票程序的前提下,能够实现高度的完整性验证。以下是Aperio机制的详细介绍:

5.1 Aperio机制的特点
  • 无需复杂技术 :官员和审计人员可以分别生成和独立验证“端到端”审计跟踪,只需要使用办公文具,完全不需要进行密码学或数学计算。
  • 不依赖电子设备 :与许多现有的端到端验证机制不同,Aperio不依赖于电子设备,这使得它非常适合在缺乏技术基础设施的选举环境中使用。
  • 保护传统流程 :该机制不会干扰纸质选票选举的传统标记和计票程序,确保了选举过程的连续性和稳定性。
5.2 Aperio机制的优势对比

与其他一些不直接使用密码学的系统相比,Aperio具有明显的优势。例如,ThreeBallot和VAV要求选民以一种不太直观的方式标记选票,并且仍然需要使用一些电子设备来验证选票;而Twin虽然不需要电子设备或特殊的选票标记,但在某些方面可能不如Aperio灵活和实用。

以下是几种系统的对比表格:
| 系统名称 | 是否依赖电子设备 | 是否需要特殊标记 | 验证复杂度 | 适用环境 |
| ---- | ---- | ---- | ---- | ---- |
| Aperio | 否 | 否 | 低,无需密码学计算 | 设备简陋的纸质选票选举环境 |
| ThreeBallot和VAV | 部分依赖 | 标记方式不直观 | 较高,依赖设备和程序 | 有一定电子设备基础的环境 |
| Twin | 否 | 否 | 相对较低 | 对设备要求不高的环境 |

6. 总结与展望

通过对纸质端到端投票系统的各种攻击手段以及新型验证机制的分析,我们可以清晰地看到当前投票系统面临的安全挑战和发展方向。

6.1 攻击手段总结
  • 针对特定候选人的攻击 :通过对特定标记的选票收据付费,影响选民投票选择,分散特定候选人的选票。
  • 刮刮卡攻击 :利用刮刮卡模拟双向通信,让选民先承诺选票信息,再根据挑战确定是否暴露欺骗行为。通过引入废票的方式,可以增加攻击的灵活性和检测欺骗的概率。
  • 信标攻击 :在选票标记后,通过简单的通信渠道(如小牌子或选民之间的传递)传递挑战,胁迫选民按照要求投票。
6.2 安全防护建议
  • 谨慎依赖程序 :投票系统设计者应避免过度依赖程序来维护安全特性,因为程序变更可能带来新的安全隐患,如选举欺诈。
  • 设计独立可验证系统 :目标是设计可验证性声明不依赖于选举管理员或第三方审计员行动的系统,减少人为因素对选举结果的影响。
  • 综合考虑多种因素 :在投票系统的设计、实施和管理过程中,需要综合考虑技术、程序、人员等多种因素,不断改进和完善投票机制。

以下是投票系统安全防护流程的mermaid流程图:

graph TD
    A[设计投票系统] --> B[评估安全风险]
    B --> C{是否依赖程序过高}
    C -- 是 --> D[调整设计,减少程序依赖]
    C -- 否 --> E[考虑多种因素完善机制]
    D --> E
    E --> F[实施系统并监督]
    F --> G[持续改进和优化]
6.3 未来发展展望

端到端加密投票方案领域仍处于发展阶段,随着密码学技术的不断进步,我们有望看到更多安全、高效、易用的投票系统出现。同时,公众对选举安全的认识也在不断提高,这将促使选举机构更加重视投票系统的安全性和公正性。未来的研究可以集中在以下几个方面:
- 改进现有攻击防护措施 :针对现有的攻击手段,不断改进防护措施,提高投票系统的抗攻击能力。
- 探索新的验证机制 :结合新兴技术,如区块链、人工智能等,探索新的端到端验证机制,进一步提高选举的安全性和可验证性。
- 加强国际合作与标准制定 :在全球范围内加强合作,制定统一的选举安全标准,确保不同国家和地区的选举都能得到有效的保障。

总之,确保选举的公正性和安全性是民主社会的重要任务。我们需要不断努力,利用先进的技术和科学的方法,构建更加安全可靠的投票系统,为民主选举的正常进行提供坚实的保障。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值