以太坊私钥不够随机,黑客破解私钥进行盗币
据security evaluators消息,独立安全评估机构(ISE)近日发布了一份名为Ethercombing的新研究,该研究主要针对以太坊钱包私钥的安全性。
ISE发现,目前在以太坊区块链上有732个私钥由于随机性不高,存在被盗风险。此外,自去年开始,一个名为“Blockchainbandit”黑客组织便通过低安全性的私钥进行盗币活动,一度达到37926个ETH(当时价值5400万美元)。直到今天,该组织仍未停手。
私钥随机性不高
以太坊公钥和地址的生成依赖私钥,有了私钥就能生成公钥和地址,就能够花费对应地址上面的以太币(ETH)。
而私钥本质上是一个随机数,由32个byte组成的数组,1个byte等于8位二进制,一个二进制只有两个值:0或者1。所以私钥的总数是将近2^(8*32)=2^256个,破解私钥的概率是1/2^256。
ISE研究员 Adrian Bednarek 表示,虽有理论上还是存在概率,但实际上想要强行破解私钥的是不可能的。即使我们使用的计算资源可以让我们每秒产生100万亿个密钥,也需要大约几年的时间,实际上我们根本没有这样的计算资源。
不过,ISE 却在实验中发现,由于一些生成私钥的钱包软件编码存在错误,导致产生的私钥随机性不高,容易被计算机暴力破解(枚举所有的可能性)。
ISE举例说,本来一个256位的私钥应该是:
0x47579DA2BEA463533DBFAD6FCF8E90876C2FE9760DC1162ACC4059EE37BDDB5C
由于代码存在问题,私钥的完整性在输出时被截断为32位,产生结果如下:
0x0000000000000000000000000000000000000000000000000000000037BDDB5C
对于计算机而言,破解32位的私钥难度远远低于破解256位的私钥难度。
除了钱包编码错误,内存参考问题、内存损坏、随机设备错误、随机种子重复使用、对象混淆、堆栈损坏、输入混淆、熵错误、堆损坏或未检查的预编译编码错误都可能导致私钥不够随机,安全性降低。
ISE 研究人员在实验中发现,目前以太坊区块链上共有732个私钥随机性不强,存在泄漏风险;当前这些私钥仍出于活跃状态,并与链上的49,060笔交易相关联。
为了测试所发现的低安全性私钥,ISE 研究人员向其中一个地址转入了价值 1 美元的ETH,结果几秒钟后这笔 Token 便被转走。
ISE 跟踪发现,Token 最终流向了一个名为“Blockchainbandit”的黑客组织钱包。该组织从2018年1月起便开始盗窃一些安全性较弱的私钥,最高峰时该地址余额达到 37,926 个ETH的余额,当时价值 5400 万美元。直到今天,该组织仍未停手。
以太坊本身没有问题
私钥出现问题,是不是意味着以太坊区块链本身技术存在漏洞?以太坊研究人员胡靖宇向Odaily星球日报表示,目前出现的低安全性私钥,主要是钱包的问题,和以太坊本身没有关系。以太坊核心开发者陳昶吾也认为以太坊本身的算法并没有问题。
陳昶吾补充说,除了随机数,签名过程中要用到的K值也会影响私钥的安全性。“产生签名的过程中会用到一个秘密的K值,目前BTC和ETH都用 RFC6979 产生这个值,这个K值必须随机且唯一。但一些对密码学算法编程不够熟悉的程序员很可能会忽视这些细节,导致私钥外泄。”
在报告最后,ISE也向开发人员和用户给出了建议:
针对开发人员:
使用比较知名的库或特定平台的模块生成随机数;
使用加密安全的伪随机数生成器;
审计源代码和生成的编译代码,以验证随机生成的密钥不会被截断;
使用多个熵源;
利用AMD / Intel提供的NIST兼容硬件随机数生成指令(RDRAND / RDSEED)*
查看有关加密随机数生成的NIST / FIPS指南
审查并使用NIST统计测试套件(NIST SP 800-22)
针对使用钱包的用户:
不要使用可能获取私钥的不可信软件;
私钥应该是完全随机的,因此使用可信的软件和硬件钱包生成私钥;
不要生成基于某种密码的私钥,因为更容易被破解。
此前,私钥总被认为是不可攻破的,但从目前的情况来看,坚固的堡垒却先从内部瓦解。
另外,根据 IBM 研究中心的负责人 Arvind Krishna 所言,量子计算机可分分钟破解如今最强大的安全技术保护的加密敏感数据,包括私钥。
你可能感兴趣的文章
-
使用ImToken钱包,如何创建、导入、使用EOS钱包及账户
-
使用ImToken钱包,如何创建、导入、使用EOS钱包及账户
一、下载安装1、iPhone用户:需要前往App store,使用香港或海外Apple ID(没有的可以去淘宝买),搜索imToken并下载最新版本2.0。2、...
2024-10-17
电子钱包虚拟货币的私钥是什么意思,如何使用加密钱包
-
电子钱包虚拟货币的私钥是什么意思,如何使用加密钱包
1、私钥 就像使用 PIN 控制访问权限的常规银行账户一样,私钥允许您“发送”加密货币或在您的钱包中支配加密货币
2024-10-17
私钥丢失也能找回?五分钟了解V神的秘密多重签名恢复方案
-
私钥丢失也能找回?五分钟了解V神的秘密多重签名恢复方案
写在前面:丢失钱包密码或私钥是加密货币用户经常会遇到的问题,那能否有方法可在最小化信任的同时,恢复丢失的密钥呢?这正是以太坊联合创始人vitalik等人正在探索...
2024-10-15
比特币交易地址公钥是什么?它和私钥是什么关系?
-
比特币交易地址公钥是什么?它和私钥是什么关系?
本文来说说比特币交易地址公钥,讲讲它生成原理与私钥的关系
2024-10-15
众说区块链基础篇什么是钱包
-
众说区块链基础篇什么是钱包
什么是钱包呢?狭义上数字资产钱包为私钥存储工具,广义上含余额查询、发送交易等基本功能区块链钱包是用于存储虚拟货币的工具或者APP,它原理上是记录公钥和私钥的工具...
2024-10-14
加密货币钱包排名、加密货币钱包的种类
-
加密货币钱包排名、加密货币钱包的种类
offchain钱包对用户来说很友好,用户不需要学习如何保管私钥之类的,哪怕是密码忘了,也可以找钱包公司凭实名信息恢复,同时还可以提供非常丰富的功能,比如理财,...
2024-10-14
加密货币的本质,比特币私钥在哪里
-
加密货币的本质,比特币私钥在哪里
本次使用压缩格式举例 6954ac6d0402d7239f1cc150da224d0ef08fd1226f245f06fe4d6d68accfce8a01 ...
2024-10-14
随机数在区块链中的应用
-
随机数在区块链中的应用
近日,OG无涯社区联合创始人红军大叔受邀在PlatON中文Telegram群参加快闪活动,向社区成员分享了关于随机数的小知识。近日,OG无涯社区联合创始人红军大...
2024-10-08
以太币价格分享,如何才能保证以太币的安全交易?
-
以太币价格分享,如何才能保证以太币的安全交易?
为了保障以太币的安全交易,投资者需要关注市场需求、技术进展和政策法规等多个方面,并选择安全可靠的交易平台
2024-10-01
众说区块链基础篇:什么是钱包
-
众说区块链基础篇:什么是钱包
什么是钱包呢?狭义上数字资产钱包为私钥存储工具,广义上含余额查询、发送交易等基本功能区块链钱包是用于存储虚拟货币的工具或者APP,它原理上是记录公钥和私钥的工具...
2024-09-30