一位法国安全研究员已经在基于区块链的投票系统中找到了一个严重的漏洞,而俄罗斯官方计划于 2019 年 9 月举行的 2019 年莫斯科市杜马选举中使用该系统。
洛林大学(Lorraine University)的学者 、INRIA(法国数字科学研究所)的研究员 Pierrick Gaudry 发现,他可以根据该投票系统的公钥计算出该系统的私钥。这些私钥和公钥一起用于加密本次选举中的用户投票情况。
破解莫斯科区块链投票系统只需 20 分钟
Gaudry 把这个问题归咎于俄罗斯官方使用的EIGamal加密方案的一种变体,它使用的加密密钥大小太小而无法保证安全。这意味着,现代计算机可以在几分钟内就破解该加密方案。
Gaudry在本月初发布的一份报告中提到:“使用一台标准的个人计算机,并且只使用公开可得的免费软件,就可以在 20 分钟内破解该系统。”
他补充道:“如果这些(私钥)被知悉,任何加密数据可以像创建它们一样快地被解密。”
至于攻击者可以用这些加密密钥来做什么事,目前尚不得知,由于该投票系统的协议还没有英文版本,因此,Gaudry 还无法进行进一步的调查。
这位法国研究员说到:“在没有读过该协议前,很难准确地说出由此而引发的后果,因为,尽管我们认为,目前还不清楚,这种用于加密投票人弱加密方法对于攻击者来说,得到投票和投票人之间的相应关系有多么容易。”
“在最糟糕的情形下,所有使用该系统的投票人在完成投票时,任何人都可以知道投票情况。”
第一个这样的系统
莫斯科的区块链投票系统是第一个这样的系统。它是由莫斯科信息技术部门内部开发的,以“智能合约”的形式运行于以太坊区块链平台上。
该投票系统计划于 9 月 8 日投入运行,将运行 12 个小时,和官方投票时间同步。
一旦在选举日(9 月 8 日)部署完毕,莫斯科的居民就可以通过互联网、手机或家用电脑进行投票,并且把他们的投票加密记录在公共以太坊区块链上。
这个基于互联网和区块链的投票系统不仅仅限于在国外旅行和行动不便的人使用。每个事先注册的人都可以使用该系统,这意味着,该系统有潜力去吸引那些通常不去投票的人。
当 2019 年 9 月部署好该系统时,莫斯科的互联网投票系统将成为第一个基于区块链、具有法律约束力的系统,而不仅仅是在有限制的测试中使用。
莫斯科官方承诺解决这个问题
由于莫斯科官方于 7 月在GitHub上公开了其源代码,并要求安全研究人员进行测试,因此,该法国学者能够测试莫斯科即将推出的基于区块链的投票系统。
在 Gaudry 的发现公布之后,莫斯科的信息技术部门承诺修补报道中的问题,即弱私钥的使用。
发言人在网上的回应中表示:“我们绝对同意 256x3 的私钥长度不够安全。这个实施只是在试用期使用。几天后,私钥的长度将改为 1024。”
Gaudry 发现莫斯科官方修改了 EIGamal 加密方法,以便使用三个较弱的密钥,而不是一个密钥,无法解释信息部门为什么选择这个做法。
这位法国研究员认为:“这是个迷。我们可以想到的唯一可能的解释是,设计者认为这可以弥补所涉及的质数太小的密钥大小。但是 3 个长度为 256 位的质数和 1 个长度为 768 位的质数真的不一样。”
然而,根据Gaudry的说法,长度为 1024 位的密钥可能还不够,他认为官方应该使用长度至少为 2048 位密钥的其中之一。
这个设计决定也让 Attivo Networks 的首席安全策略官 Chris Roberts 感到困惑。
Roberts 说:“到底是什么原因让该平台的开发人员首先选择一个弱长度的密钥显然是个问题。是缺乏知识和理解吗?或者只是要得到最快的速度和效率或其他东西呢?”
“美国的系统可以从俄罗斯那里学到很多东西”
他补充道:“对于这个,有个好的方面。莫斯科允许其他人查看、研究代码,然后帮助他们完善安全性。”
此外,莫斯科官方还批准了给 Gaudry 的金钱奖励,根据俄罗斯新闻网站 Meduza 的报道,Gaudry将获得1百万卢布,约 15000 美元。
根据7月发布的一份报告,Gaudry 获得的奖励接近莫斯科当地政府允诺给漏洞猎手的最高奖,但是,当代码放上 GitHub 时,允诺的奖励是 1 百 50 万卢布(22500 美元)。
Roberts 表示:“美国的系统可以从俄罗斯的这个系统中学到很多东西。” 他指的是美国最近在试图保护其电子投票机安全性过程中所遭受到的过多的日益增长的痛苦。
这些日益增长的痛苦主要来自投票机供应商,他们拒绝与网络安全社区接触,而莫斯科政府在这方面没有问题。
美国使用的电子投票机和选举系统的这种封闭性正是微软最近宣布在 GitHub 上开源一种新技术的原因,该新技术用于保护电子投票机安全性。
原文链接:
Moscow’s blockchain voting system cracked a month before election
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论