修正液决定了一场选举——直到法院发现了真相
一小瓶白色修正液改动了足够多的计票单,足以推翻整个总统选举——法院表示,再多的官方保证也无法解决这个问题。
时间是2020年2月3日上午,马拉威布兰太尔的五名法官刚刚做了一件震撼整个非洲大陆每个选举机构的事情:他们推翻了现任总统的选举胜利。
不是因为选票被盗。不是因为投票被黑客篡改。而是因为有人拿了一瓶"涂改液"(Tipp-Ex)。
这个细节——修正液,学生用来改作业的那种——竟然足以使整个总统选举结果在法律上无法核实。马拉威宪法法院在发现官方结果表被修正液篡改、存在重复的计票表、以及大量表格未签署或处理不当后,推翻了彼得·穆塔里卡总统2019年5月的选举。上诉法院在2020年5月8日维持了该判决,案号为Mutharika & Electoral Commission v Chilima & Chakwera(MSCA Constitutional Appeal No. 1 of 2020)。新的选举随之被下令进行。
选举委员会曾宣布穆塔里卡以微弱优势获胜。法院的答复很明确:在可以被悄悄改写的文件上获胜的候选人,不是法律能够核实的赢家。
文件就是选举
这是大多数人在选举之夜不会想到的事情,当时图表在旋转,主持人在谈论票数优势:你看到的每一个数字,最初都来自于某处某张纸上的一个标记,由选民在晚上10点的投票站用手填写,用的是身边碰巧有的任何笔。
那张纸就是选举。不是电视图表。不是国家计票中心的数据库。不是选举委员会的新闻稿。
如果那张纸可以被改动——用笔改、用修正液改、或者简单地用副本替换——那么源自它的一切都建立在沙滩上。数据库是错的。图表是错的。新闻稿是错的。至关重要的是,对数据库进行再多的审计也无法发现问题,因为数据库反映的就是被篡改后的单据。
这不是一个抽象的风险。在马拉威,法院发现这种情况大规模存在:在官方计票表上广泛使用修正液、流通中存在副本、未签署的文件进入计数。结果是一场总统选举无法从其原始凭证中重建。
教训不是马拉威特别腐败。教训是,没有防篡改证据的计票单在世界任何地方都是一个攻击面,而且这种脆弱性在有人向法院质疑选举结果之前是看不见的。
"防篡改"实际上意味着什么
你可能在没有多想的情况下处理过防篡改封条。药瓶上的塑料条。法律文件上的蜡封。投票结束后投票包上的编号束带。
这些不只是仪式。它们提供特定的验证功能:如果封条被打破或文件被改动,篡改的证据本身就是可见的。你不必相信没有人碰过瓶子;你可以看到圈环是否完好。
一份可以用修正液改写的官方计票单没有任何这样的特性。改动不会留下明显的痕迹。"纠正"后的数字看起来和原始数字一样权威。只有在改动之后才签署的表格无法证明原始数字是什么。
纸质文件防篡改的更强版本是多重签署:如果表格在任何人离开投票站之前由代表多个政党的代理人用墨水签署,那么任何后续篡改都需要要么伪造所有这些签名,要么让所有这些代理人同意改动。两条路都比一瓶修正液困难得多。
更进一步:该表格可以由每个政党的代理人立即用他们自己的手机拍照并上传。现在"原始"副本在创建的那一刻就以多个独立副本的形式存在。稍后对实际单据的任何篡改都可以通过将其与这些副本中的任何一个进行比较来发现。
更进一步:系统可以要求结果表由每个代理人独立持有的密钥进行数字签署,签署的数据在投票站关闭时立即传输到公共存储库。现在结果在密码学上被锁定到计票的时刻。修正液无法触及它。
这些都不是奇异的。它们都已经存在。世界上大多数地方没有使用它们。
肯尼亚,2017年:同样的问题,更高的层级
马拉威的漏洞在于物理表格的层级——投票站填写的纸张。但同样的原则在链条的每个层级都起作用。
2017年肯尼亚,最高法院推翻了一次总统选举,不是因为投票站的表格明显被篡改,而是因为这些表格在国家层面的传输和处理无法被验证。根据肯尼亚宪法第86条,投票必须是"准确、可核实、安全、负责任和透明的"。法院发现并不是所有投票站结果表都按照法律要求进行了电子同步传输,表格缺乏一致的安全特性,最终的国家计票表没有水印或序列号。主席长在所有基础表格到手之前就宣布了结果。
更深层的观点——在两种情况下完全相同——是这样的:选举结果是一条监管链,不是一个数字。从选民标记选票的那一刻到宣布赢家的那一刻,这条链中的每个环节都必须是独立可核实的。断掉一个环节,整条链都无法被信任,即使其他每个环节都完美无缺。
马拉威的链在最基本的环节断裂:源文件。肯尼亚的链在传输和汇总中断裂。漏洞是不同的;失败模式是相同的。
"审计确认了"实际上意味着什么
当选举机构说审计确认了结果时,该声明的力度取决于被审计的对象。
如果审计员根据计票单检查了机器总数,而这些计票单在审计之前已经被篡改,审计就确认了被篡改的结果。它什么都查不出来。
这是任何根据单一文件链逆向工作的审计的不可约束的限制。审计只能检测到留下可检测痕迹的篡改——在审计员查看的具体文件中,使用他们应用的具体方法。如果源文件是攻击点,审计衍生记录对源的了解毫无帮助。
乔治亚州2020年的手工计票——大约500万张选票,县接县,在不到六天的时间内——是纸质审计的最强版本。它根据实际选票本身而不是计票单检查了机器计票。差异约为万分之一。这是一个非凡的结果,它意味着某个精确的东西:机器计数的选票,有很高的置信度,是选民标记的选票。
但这种置信度完全取决于实际选票链的完整性。如果选票本身在重新计数之前已经被篡改或替换,手工计数就会确认欺诈,而不是抓住它。乔治亚州的手工计票之所以有效,是因为选票链是完好的。在马拉威,计票单链不是。
"审计确认了结果"和"结果可核实正确"之间的差距,恰好是审计监管链中每个未检查假设的大小。
可改动的计票单是一个有名字的漏洞
在TrustVoting,我们追踪一个称为可改动计票单的特定类型漏洞——当结果的源文件可以被改写、复制或替换而不被独立方发现篡改时开启的漏洞。
马拉威是最有法院记载的尖锐例子,但基本状况——计票单不携带密码签名、没有多方证明、没有不可变时间戳、没有独立持有副本的计票单——在全球数十个选举系统中很常见。马拉威案之所以令人瞩目,不是因为它不寻常,而是因为法院有足够的证据采取行动。
问题是有多少选举具有同样的漏洞,而没有人有权对其质疑,或没有法院愿意采取行动,或没有在计数中幸存的证据。
结构性的答案:任何官员都无法推翻的可核实性
这是把论点表述得干净清楚。
马拉威的问题不在于选举官员不可信。问题在于系统要求你相信他们。计票单没有任何属性让其他任何人——失败方的代理人、记者、公民——能够独立核实该单据上的数字是在计票时刻记录的数字。
当系统要求信任时,它容易受到控制信任元素的人的攻击。修正液很便宜。副本也是。一份有同情心的选举委员会决定哪个版本的争议单据进入计数。
结构性的答案是设计系统,使信任不是必需的,因为独立验证是可能的。
在实践中这是什么样子?
这意味着结果表由所有竞争政党的代理人签署,在投票站内,在任何人离开之前——这些签名记录在用于编制国家结果的记录中。这不是一个新想法;这是管理良好的选举的标准做法,它在马拉威的缺失是法院注意到的部分原因。
这意味着签署的表格被拍照,图像立即上传,所以对实际文件的任何后续改动都可以通过比较检测到。
这意味着上传的数据用由独立方持有的密钥进行密码签署——不是选举委员会——所以"官方"记录不能在上传和发布之间被悄悄改动。
这意味着发布的结果,在选区层级,任何人都可以立即以机器可读的形式下载,所以选区结果的总和可以在没有征求任何人许可的情况下独立计算。
这些属性都不需要相信选举委员会诚实地计数。这正是重点。可核实性意味着任何人都可以检查算术。它不意味着任何人必须凭信心接受算术。
什么仍然无法检查——以及什么会改变这一点
以下是马拉威法院能够核实的:修正液被应用到官方表格、副本存在、签名缺失。以下是他们无法核实的:原始的、未篡改的数字实际上是什么。
这些信息已经消失。选举无法从本应是其基础的源文件中重建,因为源文件被改写了。法院唯一的补救办法是推翻结果并举行新投票。
一个具有独立持有、密码锁定的每个投票站结果副本的系统,在计票时刻创建并由选举委员会之外的政党持有,将允许法院——或记者、或失败候选人的法律团队——将"官方"数字与原始签署记录进行比较,并准确看到篡改发生的地方和幅度。
这个比较在世界上大多数选举中目前是不可能的。源文件由编制结果的同一机构持有。审计根据该机构的记录检查该机构的记录。
使其可被任何人检查的办法:签署、独立持有、公众可访问的选区级结果,在每个投票站关闭时立即发布,以任何机构都无法在事后悄悄改动的形式。
这不是乌托邦式的愿望。这是工程规范。一些组件已经存在。缺少的是要求它的制度和法律框架——以及交付它的独立技术。
拥有足够证据的法院可以推翻结果。具有真正可核实性的系统将永远不需要这样做。