← 所有文章

挪威尝试互联网投票多年,然后悄悄退出

挪威建立了一个全国范围的互联网投票系统,运行了两次选举,看到投票率保持平稳——然后悄悄停止了该计划,因为没有人能证明投票未被篡改。

时间来到2013年秋天,在挪威的十二个市镇,选民们正在做一件看起来几乎神奇的事情:从厨房餐桌、火车座位、医院病房投票。没有排队。没有奔波。只需一个浏览器窗口和几次点击,政府承诺你的投票会被完全按照你的意愿计数。

两年后,这个承诺被收回了。没有任何公告。一份部长声明,一句关于"未解决的信任问题",然后该计划就结束了。

挪威的互联网投票实验是现代选举历史上最有启发意义的失败之一——不是因为发生了什么明显出错的事,而是因为无法证明一切都没有问题。


承诺:便利作为民主价值

互联网投票的推介语总是相同的,也总是真诚的。投票率低是一个真实存在的问题。投票站对老年人、残疾人、国外驻军人员、轮班工作的人来说都不容易到达。如果投票就像在网上购买火车票一样简单,肯定会有更多人这样做。

挪威认真对待了这一点。试点在提前投票期间作为纸质投票的补充进行——2011年地方选举在十个市镇,2013年议会选举在十二个市镇。想在线投票的选民可以投票。更喜欢纸质投票的选民仍然可以使用纸质方式。该试点谨慎、有限,由一个真诚的政府运营。

投票率没有增长。

根据挪威地方政府和现代化部的数据,这些试点并未导致投票率增加。在线投票的人主要是那些无论如何都会投票的人——只是通过不同的渠道。最难接触的群体——对政治漠不关心的人——并未被接触到。

单就这一点可能足以关闭该项目。但当挪威政府在2014年停止进一步的互联网投票试点项目时,它说了一些更重要的话:无法确保投票未被篡改的信任。

再读一遍这句话。不是:"我们发现了篡改证据"。不是:"系统被黑客入侵了"。而是:我们无法向任何人满意地证明投票是按发送方式到达的。

这是一种不同的失败——也是更难修复的失败。


"信任投票未被篡改"实际意味着什么

当你把纸质选票放入公共投票站的密封盒子时,监管链开始了。盒子被看守。它在证人面前被密封。它被运送到计票地点,每个政党的监督员都可以观看每张选票的分类。这个过程缓慢、费力,并且不完美——但它是可以观察的。任何有权限的人都可以观看。

当你在浏览器窗口中点击"提交"时,发生的是完全不同的事情。你的投票通过你无法控制的网络传输,进入你无法检查的服务器,由源代码可能是专有的软件处理,最后以数据库中的数字形式出现。你无法在任何一点确认到达的是你发送的内容。任何独立观察者都无法看到整个过程。

这不是偏执。这是物理学和数学。 互联网通信通过可以被拦截、重定向或悄悄修改的基础设施传输。端到端加密有帮助,但前提是你设备上的软件是诚实的——你也无法检查这一点。

密切研究真实部署系统的研究人员发现了理论预测的确切问题。由J. Alex Halderman领导的团队在2013年选举期间观察了爱沙尼亚的i-voting系统,得出结论认为国家级攻击者或不诚实的内部人员可能在不被发现的情况下破坏投票的完整性。爱沙尼亚当局不同意——但研究人员能够提出这个论点的能力源于系统某些代码是公开可访问的这一事实。当代码是闭源的时候,即使是这样的审查也是不可能的。

在2010年的华盛顿特区,这个问题的答案更直率地得到了。


直流特区公开测试其互联网投票系统——在48小时内被攻破

在为海外选民部署互联网选票退回试点之前,哥伦比亚特区选举委员会做了一件值得称赞的事情:它进行了一次开放的公开试验,邀请任何人探测该系统。

由Halderman领导的密歇根大学团队——Scott Wolchok、Eric Wustrow、Dawn Isabel和Halderman——接受了邀请。在大约48小时内,他们获得了对试点服务器的近乎完全的控制。他们可以改变已投出的每一张选票。他们可以查看应该是秘密的选票。作为演示,他们对服务器进行编程,使其在每次模拟投票后播放密歇根大学的校歌。

官员们几天才注意到。

直流特区放弃了该系统。试点的救赎之处在于它是一次测试——真实的投票没有风险。教训不是互联网投票总是在48小时内被攻破;教训是唯一阻止直流特区系统遭到真实攻击的东西是该市决定在公众面前首先测试它。私人认证没有捕捉到大学团队在两天内发现的问题。

一个安全性取决于不被测试的系统不是一个安全的系统。


新南威尔士州的问题:在实时选举期间发现的缺陷

直流特区的试验至少是在沙箱中安全失败的。新南威尔士州没有那么幸运。

在2015年3月的州选举期间,iVote在线系统被用来投约280,000张投票——一次实时选举中真实的、具有约束力的选票。Halderman和Vanessa Teague分析了运行中的系统,发现iVote从容易受已知TLS弱点(如FREAK和Logjam)影响的连接上的外部分析服务器加载代码,这可能允许网络攻击者操纵投票并破坏选票隐私。

研究人员还发现,独立的电话验证服务——选民用来确认其投票已被正确计数的机制——本身容易被操纵。旨在提供信心的工具本身可能被利用来向选民显示令人放心的结果,而他们的实际投票已被更改。

选前的安全审查已经批准了该系统。在真实选票被投出时运行的独立外部分析发现了内部审查遗漏的问题。

投票进行中时问题得到了修复。但对于在补丁部署前已投的280,000张投票中的多少张,无法确认它们是按提交的方式计数的。在补丁前使用验证服务的选民无法知道他们收到的确认是否反映了他们的真实选票。

这是挪威问题的硬版本。挪威至少选择在事情走到这一步之前停止。


为什么瑞士的密码学修复没有真正解决问题

你可能在想:密码学肯定可以解决这个问题。如果一张选票用端到端加密方案加密,该方案让任何独立观察者可以在不了解任何人如何投票的情况下数学上验证计数——那不就填补了这个漏洞吗?

瑞士尝试了完全相同的方法。2019年,瑞士邮政公开了一个先进密码学互联网投票系统的源代码供公众审查——这是其他系统拒绝的那种激进透明度。独立研究人员Sarah Jamie Lewis、Olivier Pereira和Vanessa Teague阅读了代码。

他们发现了一个后门。

系统的混合网——混洗投票以使其无法链接到个人投票者的组件——依赖于具有秘密结构的承诺方案。持有某些后门值的权威机构可以生成一个看起来有效并通过独立验证的数学证明,同时实际上已改变了投票。该系统声称"通用可验证性"。后门意味着拥有正确密钥的内部人员可以打击该声明,同时让验证看起来是干净的。

瑞士邮政和Scytl承认了这一发现。瑞士当局暂停了该系统。该缺陷被发现的唯一原因是代码被公开了——以及熟练的独立密码学家选择阅读它。

大多数互联网投票系统不公开其代码。大多数不邀请独立密码学家探测它们。大多数提供"它通过了认证"作为"我可以检查吗?"的答案。

认证是一个过程。它与可验证性不同。


所有这些都达不到的标准

2009年,德国联邦宪法法院确立了一项原则,每个互联网投票倡导者都应该回答。该法院推翻了电子投票机的使用,因为它们仅将投票存储在电子内存中,没有可独立验证的记录——但它宣布的原则更为广泛:投票和结果确定的基本步骤必须由公民可靠地进行检查,无需任何专业知识。

不是由密码学家检查。不是由政府审计员检查。而是由公民检查。无需专业知识。

这是互联网投票在任何当前形式下都全面失败的测试。你不能把网络流量日志交给祖母,让她确认她的投票被正确记录。你不能给工厂工人一份密码学证明记录,让他在没有博士学位的情况下验证。即使是声称端到端可验证性的系统也需要信任无法阅读的软件客户端,或阅读大多数人从未遇到过的数学,或依赖可能本身被破坏的验证渠道(如新南威尔士州所示)。

芬兰甚至对现场电子投票也掌握了相邻的这一课程的版本。2008年,在三个市镇的电子投票试点有一个可用性缺陷:没有等待最后确认步骤的选民的投票被默默丢弃。232张投票从未被记录,违背了选民的意愿。最高行政法院撤销了这些市镇的选举,并命令重新选举。选民无法知道他们的选票是否未被捕获。该系统没有给出警告。

当选民无法独立确认他们的投票被计数时,缺陷——机械的、程序的或敌对的——可能完全不可见,直到有人查看聚合数字并注意到有异常。"注意到有异常"只有在错误足够大以至于令人难以置信的情况下才有效。


挪威实际选择了什么——以及它告诉我们什么

仔细阅读挪威政府的声明,你会看到大多数官方公告掩盖的东西。该部没有说系统被破坏。它没有声称投票被改变。它说无法确保投票未被改变的信任。

这是一个诚实的承认,缺乏攻击证据与安全不同。这是负责任的默认:如果你无法向其投票取决于此的人证明该过程是可信的,你不应该要求他们无论如何都相信它。

投票率发现也很重要——不是因为便利是不相关的,而是因为它消除了接受信任赤字的功利论证。如果互联网投票可靠地、大幅地增加参与度,民主社区可能必须权衡一个困难的权衡。挪威的数据使该权衡不必要:便利益处不存在。

这不是互联网投票原则上永远无法变得可信的裁决。这是一个裁决,即没有已部署的系统达到了可信任选举所需的标准:端到端可验证性,普通公民可以独立检查,无需信任任何服务器、任何供应商、任何官员或任何数学家的话。

2007年建议抛弃投票计算机的荷兰委员会直言不讳地表示:选举过程中没有秘密,答案必须是可检查和可验证的。这个要求因为渠道是浏览器而不是触摸屏就不会变得不那么重要。


仍然无法验证的事情——以及什么会使其可检查

挪威关闭该计划并未解决的是:在互联网投票运营的两次选举期间,是否有任何投票在传输中或在服务器上被改变。

答案是:我们不知道。我们现在无法确定。日志(如果存在)不是公开的。源代码(如果曾经进行过独立审查)没有产生公开发现。在当时对选民可用的验证机制——如果有的话——现在无法对已投的选票运行。

这是挪威试点的记录:根据该部自己的措辞,宝贵的知识和经验,但没有公开的审计线索让任何人独立确认在这些投票期间发生了什么。放心来自停止的决定,而不是在其运行时一切顺利的任何证据。

什么会使其可检查——对于挪威,或任何考虑在线投票的司法管辖区——是一个系统的设计使其可验证性不取决于任何官员或供应商的诚实:

  • 发布的源代码,可由任何密码学家随时审查,不仅仅是部署前
  • 端到端可验证的密码学,选民可以使用不透露他们如何投票的收据确认其特定选票被包含在最终计数中——任何人都可以验证计数完全由有效的、包含的选票构成
  • 独立的公开对抗性测试,在任何约束力投票前,按照直流特区所做的模式(以及巴西选举当局对其机器例行所做的)
  • 即时、分区级别、机器可读的结果发布,在结果最终时立即发布,以便独立观察者可以重建和检查计数,无需等待官方摘要

这些都不是科幻小说。其中一些在学术和实验系统中存在片段。没有一个在已部署的、经过独立验证工作的国家互联网投票系统中一起存在。

在他们这样做之前,"信任投票未被篡改"不是任何互联网投票系统可以诚实提供的东西——挪威停止要求其选民延伸它是对的。

可分享版本: 挪威退出互联网投票不是因为有什么出错,而是因为无法证明什么是正确的。没有可检查性的便利不是民主——这是基于信仰的投票。

查看这种可验证性差距在世界各地有多普遍 →

阅读两分钟版本的为什么可检查性重要 →


来源