以太坊私钥不够随机,黑客破解私钥进行盗币
据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钱包如何创建导入使用E
-
使用ImToken钱包如何创建导入使用E
一、下载安装1、iPhone用户:需要前往App store,使用香港或海外Apple ID(没有的可以去淘宝买),搜索imToken并下载最新版本2.0。2、...
2024-10-18
私钥丢失也能找回?五分钟了解V神的秘密多重签名恢复方案
-
私钥丢失也能找回?五分钟了解V神的秘密多重签名恢复方案
写在前面:丢失钱包密码或私钥是加密货币用户经常会遇到的问题,那能否有方法可在最小化信任的同时,恢复丢失的密钥呢?这正是以太坊联合创始人vitalik等人正在探索...
2024-10-15
众说区块链基础篇什么是钱包
-
众说区块链基础篇什么是钱包
什么是钱包呢?狭义上数字资产钱包为私钥存储工具,广义上含余额查询、发送交易等基本功能区块链钱包是用于存储虚拟货币的工具或者APP,它原理上是记录公钥和私钥的工具...
2024-10-14
随机数在区块链中的应用
-
随机数在区块链中的应用
近日,OG无涯社区联合创始人红军大叔受邀在PlatON中文Telegram群参加快闪活动,向社区成员分享了关于随机数的小知识。近日,OG无涯社区联合创始人红军大...
2024-10-08
什么是比特币钱包,比特币钱包的常见功能
-
什么是比特币钱包,比特币钱包的常见功能
使用硬件钱包时,用户需要连接到计算机或移动设备上,并通过硬件钱包进行比特币交易
2024-10-04
私钥忘了怎么办,还能找回来吗?能
-
私钥忘了怎么办,还能找回来吗?能
Part 1在币圈,最遥远的距离不是比特币就在我面前我却没办法买下,而是我手里拿着数字钱包却忘了私钥......数字钱包不比银行卡,银行卡密码丢了,我们可以带上...
2024-09-30
众说区块链基础篇:什么是钱包
-
众说区块链基础篇:什么是钱包
什么是钱包呢?狭义上数字资产钱包为私钥存储工具,广义上含余额查询、发送交易等基本功能区块链钱包是用于存储虚拟货币的工具或者APP,它原理上是记录公钥和私钥的工具...
2024-09-30
区块链钱包的类型及特点
-
区块链钱包的类型及特点
区块链钱包是用于存储、管理和交易数字资产的工具,它们有多种类型,每种类型都有其独特的特点和用途。以下是一些常见的区块链钱包类型及其特点。北京木奇移动技术有限公司...
2024-09-30
区块链的第一应用---比特币,之 (密钥、地址、钱包)
-
区块链的第一应用---比特币,之 (密钥、地址、钱包)
比特币的所有权是通过数字密钥、比特币地址和数字签名来确立的。数字密钥实际上并不是存储在网络中,而是由用户生成并存储在一个文件或简单的数据库中,称为钱包。存储在用...
2024-09-25
时隔多年,中本聪留下的秘密私钥终于公开
-
时隔多年,中本聪留下的秘密私钥终于公开
6月21日,Bitcoin Core开发者Bryan Bishop发推文预言道,我正考虑在7月初公开中本聪离开前委托给几位开发者的警报密钥。而七月刚一开始,Br...
2024-09-13