巴西公开邀请公众攻击其投票机——这是故意的
巴西选举法院不仅认证其投票机——它公布规则,并邀请公众尝试破解。以下是这实际上是什么样的,以及为什么这仍然还不够。
这是巴西利亚的一个工作日早晨,一群不是选举官员的人——研究人员、计算机科学家、一两个独立技术专家——坐在巴西的电子投票机前,担任一个明确的、法院认可的任务:寻找漏洞。
他们不是通俗意义上的黑客。每个人都提交了测试计划。每个人都经过了审查。每个人都通过官方政府门户网站进行了注册。邀请他们的机构——巴西最高选举法院(Tribunal Superior Eleitoral)——不仅打开过一次大门就称之为透明。它建立了一个重复的、受监管的流程,并将其命名为 Teste Público de Segurança dos Sistemas Eleitorais:公共安全测试。
这就是当选举机构真正说出"你来检查一下"时的样子。
大多数国家从未接近过这一点。
每个选举机构都喜欢的短语——以及它实际花费的代价是零
"选举是安全的。" "系统已获认证。" "审计确认了结果。"
地球上每个选举机构在每次投票后都会说这样的话。几乎没有人给你一种方式来自己验证它。
这种不对称是问题所在。官方关于安全的声明的分量恰好等于其背后的独立检查——不多不少。当德国宪法法院在 2009 年驳回电子投票机时,它没有发现欺诈证据。它发现了更根本的东西:公民被要求相信一个他们无法独立审查的结果。 法院认为,从选票到结果的每个关键步骤都必须可由普通公民在没有专业知识的情况下进行检查。"相信我没问题"未通过宪法测试。
爱尔兰购买了 7,500 台 Nedap/Powervote 机器,一个独立委员会无法建议使用它们——不是因为机器被证明是错误的,而是因为准确性和保密性无法按照委员会的满意度独立验证。这些机器在仓库里放了多年,并在 2009 年被报废。委员会的措辞精确而致命:它"无法以所需的信心程度建议"使用它们。
荷兰得出了相同的结论。其关于选举过程的咨询委员会在 2007 年的一份报告《Stemmen met vertrouwen》——"有信心地投票"——中阐述了可验证性实际上需要什么,并发现纸质选票由手工计数符合标准,而投票计算机不符合。该国回到了纸质选票。
三个不同的民主国家。三个不同的机器。一个相同的缺口:供应商圈子之外的任何人都无法检查计数。
巴西正在尝试用不同的方式缩小这个缺口。
公共安全测试实际上是什么
根据 TSE 第 23.444/2015 号决议监管,巴西的公共安全测试在全国大选前一年进行。该形式不是新闻发布会。这是一场对抗性的演习。
任何符合条件的公民都可以提交测试计划。通过审查的计划被批准。获批的调查人员随后获得对 urna eletrônica——电子投票机——和周围系统的结构化访问权限:选票媒体生成、投票、制表、文件传输和接收,以及用于交叉检查电子投票的审计系统。测试涵盖整个选举生命周期,而不仅仅是投票站的机器。
调查人员的发现很重要——而不仅仅是作为新闻稿。发现被用于在选举前改进系统,随后在确认测试中重新检查修复。 这是一个闭合循环:发现、修复、验证。
这与一次性认证从根本上不同。认证是一个快照。它在受控条件下由供应商合作限制的各方在某个时刻评估一个系统。它们还具有认证而非不认证的制度激励——因为不认证意味着延迟选举和政治问题。
公共安全测试在设计上是对抗性的。调查人员试图破坏系统。TSE 公布规则,而不是它希望的结果。
为什么对抗性公共测试胜过私密认证
考虑一下 2010 年 9 月在华盛顿特区发生的事情。该市即将为海外和军事选民运行互联网选票返回试点。在上线之前,特区选举委员会进行了公共试验,并邀请公众对其进行测试。
由密歇根大学的 J. Alex Halderman 率领的团队在大约 48 小时内通过利用软件漏洞获得了试点服务器的近乎完全的控制权。他们可以改变每一张已投出的选票。他们可以查看秘密选票。作为演示,他们对系统进行了编程,在每次模拟投票后播放密歇根大学校歌。官员几天都没有注意到。
这里重要的是:因为管辖区在真实选票成为风险之前对系统进行了公共测试,所以漏洞被捕获了。 特区放弃了该系统。这正是对抗性测试应该做的。
私密认证没有捕获这一点。邀请的公共测试做到了。
2006 年分析真实 Diebold AccuVote-TS 机器的普林斯顿研究人员发现,只要有一分钟的物理访问时间,攻击者就可以安装代码来窃取选票,同时保持所有内部记录一致——代码可以在正常选举活动中在机器之间传播。该软件是闭源的。没有公共测试曾经发现它。研究人员之所以发现它,是因为他们拿到了硬件并进行了检查。
新南威尔士州在其 2015 年州选举中运行了一个互联网投票系统,收集了大约 280,000 张选票。之前的闭源安全审查已经清除了它。独立研究人员在实时选举期间发现了严重缺陷——包括验证机制本身可能被操纵——。这些问题在研究人员披露之前没有被检测到。
模式是一致的。由在认证压力下工作的各方私下审查的封闭系统会遗漏开放式、对抗性公共测试发现的东西。这不是惊喜。这是两种不同流程的预期产出。
巴西的模式在公开、有目的地进行对抗性测试,并有结构化的补救循环。它是任何选举机构在国家规模运行的最接近"制度偏执狂作为功能"的东西。
真正的透明度模型修复了什么——以及它无法修复的东西
值得精确说明公共安全测试实际上证明了什么,因为夸大它会是另一种不诚实。
该测试检查给定结构化的、有时间限制的、定义条件下的访问权限的调查人员是否可以找到可利用的弱点。发现被修复并重新检查。这确实很有价值。它发现真实的漏洞。它为修复创造问责。它将证明安全性的负担放在机构身上,而不是声称它。
但它本身并不能证明机器在特定选举中计数正确。在选举前测试系统和在选举中审计其输出是需要不同解决方案的不同问题。一台机器可能通过每一个选前测试,但仍然在那天产生错误的结果——因为测试没有触发的软件错误、特定投票站的硬件故障,或调查人员没有发现的攻击向量。
这就是为什么巴西的方法是透明度而不是可验证性完整解决方案的模型。这种区别很重要。
一个公布其规则并邀请局外人破坏它的系统比不这样做的系统更值得信赖——但"更值得信赖"与"任何人都可以独立检查"是不同的。
直流试点之所以捕获了漏洞,是因为在真实选票成为风险之前进行了公共测试。如果同一漏洞在选举日对真实选票进行了利用,任何选前测试都无法恢复正确的计数。你还需要一个持久的、可独立检查的记录,记录选民实际选择的内容——直流系统没有的东西。
印度最高法院在 2024 年 4 月在 Association for Democratic Reforms v. Election Commission of India 中在这个紧张局势上纠缠。请愿要求法院要么完全回到纸质选票,要么要求 100% 交叉验证电子机器计数对比选民可验证的纸质审计跟踪单据。法院拒绝了两者,但它在链式监管密封周围收紧了规则,并允许候选人要求验证争议种族中 5% 的机器中的烧毁内存。即使是支持电子系统的法院也认识到信心必须来自可检查的证据,而不是机构的保证。
这两个防护措施不是替代品。它们一起工作。对抗性公共测试在选举前发现弱点。一个可验证的纸质记录让任何人在选举后检查计数。
更困难的教训:关于你的国家"巴西这样做"告诉你什么
巴西不是完美选举的模型。它是大多数国家不费力去运行的特定透明度机制的模型。这些是不同的主张,混淆它们会完全是我们试图避免的那种权威延迟。
TSE 的公共安全测试是真实的、结构化的、有据可查的。这一事实的存在不能解决 urna eletrônica 的总体架构在德国宪法法院或荷兰 Korthals Altes 委员会需要的充分意义上是否可验证的问题。它不能告诉你一个老练的攻击者是否可能找到并利用了公共测试调查人员遗漏的东西。它也不能告诉你如果一个内部人士在经过测试评估的版本到达投票站之前操纵系统会发生什么。
2017 年的委内瑞拉提供了一个有用的反面基准。Smartmatic——自 2004 年以来为委内瑞拉自动投票系统提供的公司——发表了一份公开声明,说它"毫无疑问"知道全国选举委员会宣布的投票率数字已被操纵,并估计实际参与率与宣布参与率之间的差异至少为"一百万票"。供应商公开否认了在其自己设备上产生的官方结果。当甚至系统的建造者无法协调数字,独立审计不可用时,就没有验证的途径。
巴西的模型通过使机构的流程在选举之前可被质疑,至少在一定程度上防止了这种失败模式。但一个可质疑的流程和一个可验证的结果仍然不同。剩余缺口的修复是科罗拉多州自 2017 年以来一直在建立的——第一个完成全州风险限制审计的州——以及乔治亚州在 2020 年演示的,当时它在不到六天内在 159 个县手工计数了大约 500 万张总统选票。针对选民产生的持久纸质记录运行的给予统计信心报告结果正确的审计关闭了选前测试打开的圈子。
完整的架构看起来像这样:选举前开放的、对抗性的、公共测试 + 选举期间选民验证的纸质记录 + 选举后独立的、统计上严格的审计。 巴西制度化了第一个要素。大多数国家三个都没有。
你仍然应该问的问题
在巴西的公共安全测试运行之后,TSE 公布它发现了什么以及它修复了什么。这比说一切都很好的新闻稿要好。
但这里是你作为公民仍然无法独立验证的:在选举日投票站运行的软件是否与调查人员测试的软件相同。测试系统和部署系统之间的监管链是一个安全控制,比测试本身获得远少的公众关注。它也是最难审计的之一,没有独立访问最终部署——这不是公共安全测试提供的。
这不是关于巴西的推测。这是关于地球上每个电子投票系统的结构观察:选前测试的完整性完全取决于测试版本是否是在当天运行的版本。
2021 年的乔治亚州咖啡县阐明了相反的问题:整个管辖区的专有投票系统由内部人士复制和泄露,代码以任何认证机构都没有预期的方式传播。漏洞不是代码被测试。它是代码是秘密的——一个其安全性取决于没有人得到它的系统,然后有人得到了。
开源代码、独立编译验证、部署软件的公共哈希检查——这些不是理论上的奢侈。它们是关闭"我们测试了这个"和"你可以验证运行了什么"之间缺口的机制。
巴西运行世界上最好的选前对抗性透明度计划。这值得清楚地说。同样值得清楚地说"世界上最好的选前对抗性透明度计划"是大多数国家还没有达到的阈值,而不是终点线。
终点线是任何公民都可以独立验证的结果——不是因为官员说过,不是因为进行了测试,而是因为证据是公开的,链式监管是密封和可追踪的,审计数学是可计算的。
那个系统还没有在任何地方完全存在。
查看世界各地选举中可验证性缺口的样子 · 阅读为什么这很重要的 2 分钟版本 · TrustVoting 正在建立什么来缩小这些缺口
来源
- Tribunal Superior Eleitoral (Brazil) — Teste Público de Segurança dos Sistemas Eleitorais
- Wolchok, Wustrow, Halderman, Prasad — Attacking the Washington, D.C. Internet Voting System, Financial Cryptography 2012
- Feldman, Halderman & Felten — Security Analysis of the Diebold AccuVote-TS Voting Machine (USENIX/EVT)
- Halderman, Teague — The New South Wales iVote System: Security Failures and Verification Flaws in a Live Online Election (arXiv:1504.05646)
- Bundesverfassungsgericht, Judgment of 3 March 2009, 2 BvC 3/07 and 2 BvC 4/07 (English translation)
- Commission on Electronic Voting — Interim Report on the Secrecy, Accuracy and Testing of the Chosen Electronic Voting System (Houses of the Oireachtas Library)
- Adviescommissie inrichting verkiezingsproces (Commissie Korthals Altes), 'Stemmen met vertrouwen', 27 September 2007
- Smartmatic, 'Statement on the recent Constituent Assembly Election in Venezuela' (2 August 2017)
- Lawfare — What the Heck Happened in Coffee County, Georgia?
- Colorado Secretary of State — A new kind of election audit: Colorado is first to complete it
- Georgia Public Broadcasting — Risk-Limiting Audit Confirms Biden Won Georgia
- Supreme Court of India — Association for Democratic Reforms v. Election Commission of India, 2024 INSC 341