逃出加密钱包伪安全:鱼和熊掌如何兼得?(下)区块链

达令智库 2018-12-06 13:52
分享到:
导读

一款真正安全的加密钱包应该如何完善?

上篇文章分析了软件钱包和安卓硬件钱包对攻击者的吸引力、以及在用户资产安全性和良好体验之间的平衡。本文紧接着上文继续讲解芯片硬件钱包的可攻击性和可用性,揭开一款真正安全的加密钱包应该如何完善。

五、维度分析之芯片级硬件钱包

1.可攻击性维度

攻击芯片级硬件钱包的技术门槛高、经济成本高、犯罪成本高、预期收益低,因此芯片级硬件钱包处于可攻击性的第三个层次,即低可攻击性。

正面攻击芯片的技术门槛和经济门槛都很高。在芯片级硬件钱包中,钱包种子被写入无法用常规手段读取的存储区。非常规手段则一般是破坏性除去芯片封装,然后用聚焦离子束连接某些电路,用微探针技术提取数据,或者用显微镜提取存储区图像再加以分析,等等。这种攻击涉及到非常昂贵的设备以及大量的时间和经济成本,而且不可避免会留下犯罪线索(例如盗取设备留下线索,租用设备或者委托芯片破解服务留下线索等)。

预期收益很低,一是由于每次只能攻击一个设备,二是由于需要花费大量时间,失主可能早就把资产安全转移到其它地址了。另一方面,用户也可以启用隐藏钱包功能(BIP39协议规定的功能)使用一个密码将大部分资产放入另一个钱包地址,使得即便设备被破解也最多损失小部分资产。

目前还没有已知的芯片级硬件钱包被如此攻击的案例。但是为了给读者一个概念,某些芯片破解公司声称能够在两周内破解大部分常见芯片。这个时间足够让失主从容恢复备份、转移资产了。

从攻击方的角度看,如果大费周章经历过设备盗取、芯片破解后,可能仍然一无所获,大概率也就放弃了攻击的念头。这就是低可攻击性的意义。

另一个不容忽视的安全风险是被从侧面攻击。Trezor和Ledger Nano S都曾经爆出过安全漏洞。漏洞的根源在于软件开发过程中的疏漏,已经很快通过固件升级的方式修复了。广大用户对此倒是不需要太担心。不比安卓,专门的芯片级硬件钱包功能单一,比较容易进行有针对性的加固。

侧面攻击的一种特殊形态是所谓的“侧信道攻击”,这是一种密码学手段。比特币、以太坊以及大部分其它公链使用的签名算法都是ECDSA,底层使用的椭圆曲线名为secp256r1,是一种魏尔斯特拉斯曲线。这种曲线在进行ECDSA运算(签名)的时候,容易引起处理器的电流或者电磁辐射变化,从而可能被分析并提取私钥。

Screen Shot 2018-12-04 at 5.25.27 PM_meitu_1.jpg

DPA示意图,来自:Tiawna L. Cayton

“理论上,使用USB接口的产品有可能被DPA手段破解。”密深科技首席科学家郭伟基指出,“如果没有专门的算法或者硬件设计,则签名运算会引起USB接口的电压波动,这个波动是可以被利用来恢复正在执行签名运算的私钥的。”

不过,利用电压波动这种攻击方式看上去技术门槛还是比较高的。那么对应电磁辐射泄漏的私钥信息,有什么好的应对方法呢?

郭伟基指出,无非就是硬件上采用抗电磁分析的芯片,或者在软件算法上堵上漏洞,软件算法改进是根本解决办法。郭伟基还补充道,总的来说,无论是攻击还是防守,都需要越过一定的技术门槛,而密深科技已经越过这个门槛。

除了克服技术门槛,攻击方还需要特别灵敏的信号采集设备,需要非常靠近正在工作中的设备,所以其它成本也是很高的。至于预期收益,则要看具体针对的是哪个产品。如果目标设备已经应用了对抗技术,攻击就不会成功,也就没有收益。

2.可用性维度

芯片级硬件钱包的安全性前面已经介绍了很多,那么可用性维度的另一部分,用户体验方面是怎么样的状况呢?这其实也要分开来看。

国内用户普遍反映国外那些使用USB接口的产品并不好用,例如Trezor还需要翻墙才能使用。

另一方面,芯片方案通过固件签名技术保证了系统完整性,较高的技术水平容许安全性和用户体验在更高的等级上进行平衡。这就给一些产品留下了兼顾安全性和用户体验的空间。

“我们的具体做法等条件成熟了就会披露。”郭伟基表示。

六、安全性设计之概率范式

回到前面讲过的软件钱包安全错觉上来。为什么会产生这种错觉呢?对此,密深科技首席科学家郭伟基解释道,根本上这是一个思维范式问题:我们不能认为某个技术手段是100%有效的。例如,部分产品鼓吹其使用银行卡芯片保护私钥,但是银行卡芯片本身也暴露过成功的中间人攻击事件(法国,2011),以及银行卡芯片的出厂测试电路也有可能被恢复用来提取芯片内部的数据。

图片8.png

银行卡芯片,来源:拍客网

从攻击一方去展开,只需要使用单一技术手段去攻击,成功率会比需要使用多种技术手段的要高,成本也要低一些。从防守的一方去展开,则复合使用多种技术手段有助于提高安全性。所以,比起将某个安全技术因素绝对化的思维范式,概率范式更能指导总体的安全设计。

所谓概率范式,即是并不认为任何单一技术能够绝对保证安全,而总是有一定的安全失败概率。例如,即便密码学算法或者协议本身并没有什么缺陷,工程师也可能在实现的时候引入缺陷。研究表明,83%的密码学相关漏洞源自对密码学的错误理解和错误实现;例如,65%的安卓应用在加密用户数据的时候使用了不安全的AES-ECB加密模式。另外,我们今天认为安全的算法,可能以后也会出现针对性的攻击手段。硬件设备的破解成本也有可能会下降。

精心复合使用多种安全技术能够极大降低失败概率,同时显著提升攻击方的成本。例如,假如单一技术能够将失败概率降低到千分之一,则有效复合使用两种技术手段,可以将失败概率降低到百万分之一;三种则为十亿分之一。而攻击方在复合安全手段面前,则需要克服多种技术障碍,付出巨大成本。

2013年的时候Adobe发生过一起安全事故,3800万用户的数据被盗,包括登录密码。致命的是,Adobe使用AES-ECB模式加密用户密码。由于ECB模式,也就是电子密码本模式总是将同样的原文加密为同样的密文,导致大量使用相同密码的账户被黑客识别利用,以及大量使用相同前缀的密码被识别利用(例如“password123”, “password456”在AES-ECB模式加密后具有相同的前缀。具体前缀取决于加密用的密码)。这个案例说明,在复合使用的安全技术中,还不能有薄弱环节,不能认为已经有外层的防护了,所以这一级的防护就可以简单一点。

反映在硬件钱包的安全设计上,即便是芯片级、并且已经具备“三有一无”要素了,仍然需要层层设防。

七、总结

总的来说,设计一款优质的加密钱包应该做到:

• 通过高攻击技术门槛排除掉大多数潜在攻击者。

• 通过高经济成本、高犯罪成本、低预期收益让少数能够越过门槛的攻击者不会产生攻击欲望。

• 通过采用先进技术打开安全性与用户体验的平衡空间,在更高的水平上兼顾安全性与用户体验。

• 通过精心复合多种安全技术降低安全失败概率。 


作者:密深科技&达令智库

编辑:达令智库 

攻击 芯片 安全 技术 使用
分享到:

1.TMT观察网遵循行业规范,任何转载的稿件都会明确标注作者和来源;
2.TMT观察网的原创文章,请转载时务必注明文章作者和"来源:TMT观察网",不尊重原创的行为TMT观察网或将追究责任;
3.作者投稿可能会经TMT观察网编辑修改或补充。