一位法国安全研究员已经在基于块链的投票系统中发现了重大漏洞,俄罗斯政府计划在2019年9月召开的2019年莫斯科市杜马选举中使用该系统。
罗林斯大学( Lorraine University )的学者,法国数字科学研究所( INRIA )的研究员pierrekgaugdry发现可以根据投票系统的公钥计算系统的私钥。 这些私有密钥连同公钥一起用于加密此次选举中的用户投票状况。
用仅仅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的首席安全战略官克里斯·罗伯特感到困惑。
Roberts说:“平台开发者首先选择弱键的理由明显是个问题。 缺乏知识和理解? 或者只是获得最快的速度和效率? ’他说
他补充说“美国的系统可以从俄罗斯学到很多东西”。 在莫斯科,别人可以看到和研究代码,提高安全性”。
另外,莫斯科政府承认了gaugdry的金钱报酬,根据俄罗斯新闻网站Meduza的报道,gaugdry获得了100万卢布,约15000美元。
根据7月份发表的报告,Gaudry获得的报酬接近莫斯科当地政府向脆弱猎人许诺的最高奖项,但代码登陆GitHub时,承诺的报酬为1150万卢布( 22500美元)。
Roberts说“美国的系统可以从俄罗斯的这个系统中学到很多东西”。 他指的是美国最近在保护电子投票机安全的过程中受到的很多日常的痛苦。
这些日益增加的痛苦主要来自投票机供应商,他们拒绝接触网络安全社区,但莫斯科政府在这方面没有问题。
美国使用的电子投票机和选举系统的封闭性是因为微软最近在GitHub上发表了开源新技术,这项新技术被用来保护电子投票机的安全性。
作者| Catalin Cimpanu
翻译|姚佳灵