玩加密货币,必备的一个东西就是加密货币钱包,而硬件钱包现在是相对比较安全的一种加密货币钱包,下面将和大家分享硬件钱包的种类和相关安全性,一起来看看吧。
首先我们可以把硬件钱包分为安卓硬件钱包和芯片硬件钱包。安卓硬件钱包顾名思义,可以理解为一个安卓手机,去掉不必要的部件,加以软件改造后专门服务于钱包用途。芯片硬件钱包则是国外市场的主流产品,主要是在芯片系统上直接编程钱包核心逻辑,以把钱包种子保管在芯片内部作为其安全特色。
1.安卓硬件钱包安全性分析
硬件钱包一般都能做到网络隔离,但是安卓不具备系统完整性保护,这就使得它很容易遭受供应链攻击以及邪恶女佣攻击。另外,安卓系统本身如果没有做安全性加固,也会出问题。
例如在今年七月的看雪安全峰会上,某款安卓硬件钱包就惨遭破解。该钱包硬件基于MTK方案,使用安卓6.0系统。MTK系统有一个已知的USB漏洞在该钱包中没有修复,安全研究人员就从USB接口攻入系统,提升权限,修改系统部件,实际上等于破解了这款安卓硬件钱包,因为后面能做的事情就很多了:包括可以修改随机数产生器,提取钱包种子文件并实行彩虹攻击或者字典攻击,修改底层转账地址等等。由于缺乏系统完整性保护,这些修改很难被发现,不知情的受害者继续使用的话就会遭受损失。
另外,这款安卓硬件钱包的钱包种子保密性也成问题。安卓的文件系统其实是开放的,在技术人员手里,拆开设备,取得内置存储器就可以加载文件系统,提取存储钱包种子的文件。虽然这个文件一般会加密,但是很多用户不会选择复杂的密码,可能就是4位或者6位数字,很容易在普通计算机上完成穷举破解,这个弱点导致这款钱包无法抵抗邪恶女佣攻击。
所以我们单单用之前的三条安全标准衡量的话,这款安卓硬件钱包仅仅做到了网络隔离,但可以通过对安卓硬件钱包做一些修改,以增加其钱包的安全性。
这就是所谓的芯片安卓硬件钱包,即把专用芯片放进安卓钱包设备里面,用于保管钱包种子,这样提高了钱包种子的保密性,就算他人拿到设备也不能直接获得种子。通过这种方式可以满足钱包种子加密的安全标准,但即系统完整性保护的标准则仍然没有达到。这主要是由于安卓系统的先天不足,短期内很难修正。
在这种情况下,芯片安卓硬件钱包的安全性就依赖于郭伟基提出的的“系统攻防假设”。假设钱包系统具备极强的抗攻击性能,无法被攻击或者破解。具体到安卓硬件钱包,就是说虽然欠缺系统完整性保护,但是假设安全防护做得足够好,攻击者便无法篡改系统。
那么这个假设到底有多可靠呢?看个案例就明白了。
网络安全大佬John McAfee发布了Bitfi硬件钱包。该钱包也是基于安卓系统。McAfee自信满满,认为以自己的安全攻防实力,可保Bitfi无虞,“固若金汤”,并在2018年7月25日悬赏10万美金“寻求”黑客攻击。
结果不到一周,就被一位名叫OverSoft的荷兰安全研究人员获得Bitfi钱包的的根访问权限;并被名为Saleem Rashid的15岁少年在钱包上玩上了《DOOM》游戏。后来又有安全专家成功发送签名交易,等于是遭到了完全的破解。
以McAfee在安全江湖的地位,这基本上宣告了所有以系统攻防假设替代系统完整性保护的钱包系统的安全性缺陷。
2.芯片硬件钱包的安全性分析
芯片硬件钱包拥有独立的SOC芯片,所有的硬件系统都在SOC芯片上运作。外观一般只有屏幕和简单的按钮。屏幕显示的保证是展示数据是真实的,简单按钮确认交易操作。
内部系统中装载了引导固件和业务固件。引导固件是基础设计,出厂时已经定好,不能篡改,负责业务固件的完整性检查以及升级;业务固件负责具体的业务逻辑,可以升级以支持更多币种或者修复安全隐患,修改需要签名确认。
在其安全性分析当中可以看到:
第一条,网络隔离。这条一般都能满足,问题不大。
第二条,系统完整性保护。这条通过对业务固件进行数字签名验证完成。引导固件可以检查签名以决定是否加载运行业务固件,任何篡改都会被发现。
第三条,钱包种子保密。芯片硬件钱包一般把种子存放在芯片内部的闪存区域,常规手段无法读取。在使用的时候,私钥可能会在内存中短暂地出现,但是用完一般都会立刻删除并且用随机数据覆盖掉,这就提供了比较好的保密性。基于这三条标准,芯片硬件钱包相比软件钱包和安卓硬件钱包都有更高的安全性。
作者:达令智库
网友评论