一名法国安全研究人员发现俄罗斯官员计划在下个月用于2019年莫斯科市杜马选举的基于区块链的投票系统中存在严重漏洞。
洛林大学的学者,法国数字科学研究所INRIA的研究员Pierrick Gaudry发现,他可以根据公钥计算投票系统的私钥。此私钥与公钥一起使用以加密在选举中投票的用户投票。
莫斯科区块链投票系统加密在20分钟内破裂
Gaudry使用ElGamal加密方案的变体将这个问题归咎于俄罗斯官员,该加密方案使用的加密密钥大小太小而不安全。这意味着现代计算机可以在几分钟内打破加密方案。
“它可以在大约20分钟内使用标准个人计算机破解,并且只使用公开的免费软件,” Gaudry在本月早些时候发布的一份报告中说。
“一旦知道了这些[私钥],任何加密数据都可以在创建时尽快解密,”他补充道。
莫斯科议会的基于区块链的电子投票系统基本上是不安全的,就像完全破碎一样。https://t.co/EafAAYXkpB pic.twitter.com/ISNcuPDvFu
- Lukasz Olejnik(@lukOlejnik),2019年8月20日
攻击者可以对这些加密密钥做什么目前尚不清楚,因为投票系统的协议尚未提供英文版,因此Gaudry无法进一步调查。
“如果没有阅读协议,就很难确切地说出后果,因为尽管我们认为这种弱加密方案用于加密选票,但目前还不清楚攻击者在选票之间的对应关系是多么容易和选民,“法国研究员说。
“在最糟糕的情况下,使用这个系统的所有选民的投票将在他们投票后立即向所有人透露。”
莫斯科的区块链投票系统是同类中的第一个。它由莫斯科信息技术部内部开发,在以太坊区块链平台上作为“ 智能合约 ”。
投票系统将于9月8日上线,并将与官方投票会议同步,运行12小时。
一旦在选举日(9月8日)部署,它将允许莫斯科居民通过互联网,通过他们的电话或家用电脑在选举中投票,并将他们的投票加密记录在公共以太坊区块链上。
这种基于互联网和区块链的投票系统不仅限于出国旅行的人或残疾人。提前注册的每个人都可以使用它,这意味着它有可能吸引那些通常会跳过选举日的人。
下个月部署时,莫斯科的互联网投票系统将成为第一个用于具有法律约束力的选举的基于区块链的系统,而不仅仅是在有限的测试中。
莫斯科官员承诺修复
法国学者能够测试莫斯科即将推出的基于区块链的投票系统,因为官方在7月份在GitHub上发布了源代码,并要求安全研究人员采取最好的投射。
在Gaudry的发现之后,莫斯科信息技术部承诺将修复报告的问题 - 使用弱私钥。
“我们绝对同意256x3的私钥长度不够安全,” 一位发言人在网上回复中说。“此实施仅在试用期内使用。在几天内,密钥的长度将更改为1024。”
Gaudry发现莫斯科官员修改了ElGamal加密方案,使用三个较弱的私钥而不是一个,这无法解释为什么IT部门选择了这条路线。
“这是一个谜,”法国研究人员说。“我们可以想到的唯一可能的解释是,设计人员认为这会补偿所涉及的素数的太小的密钥大小。但是,3个256位的素数实际上与768位的素数不同。”
然而,根据Gaudry的说法,长度为1024位的公钥可能还不够,他认为官员应该使用至少2048位之一。
这一设计决定也让Attivo Networks首席安全策略师Chris Roberts感到困惑。
“为什么在这个星球上,平台的开发者首先选择一个弱长度显然是一个问题。是缺乏知识和理解吗?或者只是寻求最大化速度和效率或其他东西,”罗伯茨说。
“美国系统可以从俄罗斯母亲那里学到很多东西”
“这有很好的一面,”他补充道。“事实上,莫斯科允许其他人查看代码,对其进行研究,然后帮助他们保护代码。”
此外,莫斯科官员还批准了对高德里的金钱奖励,根据俄罗斯新闻网站Meduza的说法,他们可以赚取100万俄罗斯卢布,这只是超过15,000美元。
根据7月份的一份报告,Gaudry的奖励接近莫斯科当地政府承诺追捕猎人的最高奖金,因为它将代码放在GitHub上,即150万俄罗斯卢布(22,500美元)。
“美国系统可以从俄罗斯母亲那里学到很多东西,”罗伯茨说,指的是美国最近在试图保护其电子投票机时所经历的过多的成长痛苦。
这些成长的痛苦主要来自投票机供应商,他们拒绝与网络安全社区接触,莫斯科政府没有做任何事情。
围绕美国使用的电子投票机和选举系统的这种封闭源性质是微软最近宣布计划在GitHub上开源保护电子投票机的新技术的原因。
下一条: 11个Ruby库中的后门代码