区块广播:

小科普:硬件钱包的数据传输方式

比特派钱包版主发布在 BITHD/比特护盾
 35831  8
大家经常会听到“硬件钱包”“冷钱包”此类的名词,有些用户会一愣,硬件钱包我还能明白是用专门的硬件来做的钱包,这个冷钱包什么鬼?


冷钱包不是指这个钱包冷酷无情,而是业内把不联网的钱包统称为冷钱包,目前的硬件钱包大部分也都归属于冷钱包这一类。有冷钱包当然就还有“热钱包”,自身联网使用的钱包叫做热钱包,比如比特派就是热钱包,一般大家用的手机上的钱包大部分都是热钱包。


因为冷钱包完全不触网,所以从一定程度上杜绝了黑客的远程获取你助记词的侵入方式,安全级别上是要比热钱包高的。


记住这段话


“小额资产可用热钱包,大额资产一定要用完全开源的硬件冷钱包”


大家了解完基本的知识后可能还有些疑惑,不联网的话那么硬件钱包是怎么传输数据的呢?下面我们就主要讲这一块的知识。


为什么硬件钱包需要数据传输呢?



很简单,因为你需要用硬件钱包收币和发币。收币就需要地址,并且得告诉外界你收币的地址是什么;发币呢,则需要先准备好未签名交易,然后硬件钱包对这个交易进行签名,最后再把签名之后的已签名交易广播给比特币或其它区块链网络,发币操作才算完成。因此,硬件钱包是需要数据传输的,否则你收不了币,也发不了币。因为硬件钱包本身不联网,所以一般需要配合手机进行使用。


当前,主流的硬件钱包数据传输方式有三种:1、USB;2、蓝牙;3、二维码;


这里有些小朋友会有疑问:
我把硬件钱包通过数据线(蓝牙)连接到联网的设备,那是不是就意味着我的硬件钱包联网了?


其实不然,这只是硬件钱包选择的数据传输方式,并不意味着它就成了上了网的、不再冷的设备。


假设我们有两个设备 A 和 B,其中,A 是一台电脑或手机(随时随地轻松上网),B 无所谓是个什么东西。我们在 A 和 B 之间连接了一根数据线。现在我们假定 B 上只有一行代码,那就是如果有人通过这条数据线连上来跟我要东西,我就给他传送个“1”。记住,B 上只有这一行程序,别的啥的没有。


现在,问题来了,B 算是上网了吗?你即便是获得了 A 的访问权,又能对 B 干个啥呢?最多不就是跟 B 要个“1”吗?


举了这个极端情况的例子,大家就能明白了,连接 USB、蓝牙并不代表硬件钱包就是联网的热钱包了,也不会获得硬件钱包更多的权限。



其实所有的硬件钱包,无论其数据传输方式采用的是 USB 还是蓝牙,甚至是通过二维码,硬件钱包厂商都必须努力证明自己:【你通过 A 来跟我要东西,只能得到个“1”,想要别的?没戏!】


要做到这一点,那就必须要从硬件钱包架构上证明私钥的存储空间是安全的,再从硬件钱包固件上证明你跟我只能要到个“1”(也就是说,你只能传送给我未签名交易,然后从我这里请求签名后的已签名交易),别的啥都没有。


而硬件钱包要做到这两点,没办法,“必须开源”,没得商量,而且,必须是硬件设计和固件源码全部开源,必须每个版本的源代码都能被第三方自行编译验证,否则,你就证明不了你自己是安全的。


有人可能会问,那如果用二维码的话,是不是可以不用开源,只需告诉你二维码里传输的数据格式都有哪些,你就能验证是否安全了。是这样的吗?


其实不然,作为全球最早采用二维码为用户提供安全冷钱包方案(比太钱包)的团队,我们可以说是最懂这种模式的人了(掐腰),记住我说的这句话,即便是使用二维码作为冷钱包的数据传输方案,仍然必须开源,因为你必须证明自己签名的时候使用了安全的随机数方案(比如说 RFC6979),否则,虽然你没通过二维码来传递有风险的数据,但一个有问题的 k 值,私钥就暴露了。因此,认为公开二维码格式就能证明自己是安全的人,其实连基本的密码学原理都不懂,根本就理解不了“硬件钱包为什么必须开源”这句话的意思。


总之,硬件钱包采用 USB 或蓝牙来进行数据传输,不代表硬件钱包就上了网了,硬件钱包本身仍然是冷钱包,安不安全要靠开源的硬件架构加固件源码来证明哈。


另外,还有一些币圈企业与传统硬件厂商外包生产的硬件钱包,其系统架构并不像 BITHD 、Trezor、Ledger 这样采用了独立开发的固件,而是使用了传统硬件厂商用于传统硬件设备的虚拟机系统,之后在该虚拟机系统上二次开发编写加密货币代码而做出来的硬件钱包,这类的系统安全性其实完全没法评估,请大家谨慎使用。


最后,作为在加密货币钱包的安全领域里有着六年安全声望的团队(掐腰),我在这里可以给大家讲述一个硬件钱包数据传输方式方面的趋势,供大家参考哈:


首先,NFC 方案对于硬件钱包来说,不是好的方案。因为 NFC 需要贴在手机背面使用,在使用过程中要么看手机屏幕,要么看钱包屏幕,二者之间难以兼顾,很不方便。而没有屏幕的硬件钱包连校验地址真实性的功能都实现不了,属于彻底不安全的方案,完全不应该出现。


其次,USB 是硬件钱包早期喜欢采用的方案,Trezor 和币定行都是 USB 的方案,这与当时移动互联网还不够发达是有关的,硬件钱包开发者们会优先考虑连接电脑使用的需求。像 Trezor 一代和二代都是 USB 的方案,而 Ledger 一代也是 USB 的方案,二代才开始改成蓝牙。


随着移动互联网的进一步发展,最近几年大部分新兴的钱包团队已经不再为电脑端开发钱包软件了,而硬件钱包厂商也在向移动互联网迁移。比如说,像我们的比特护盾 bithd.com ,算得上的行业内最早采用蓝牙的硬件钱包之一了哈。而 Ledger 刚刚发布的第二代产品,也正是迁移到了蓝牙的方案。基本上,USB 转蓝牙对于硬件钱包来说是可预见的趋势,Trezor 至今仍然采用 USB 不代表这个趋势不成立,只是 Trezor 这个团队做事的节奏比较慢而已。


比特护盾的一代二代以及刀锋采用的都是蓝牙这一数据传输方案,从这一点上讲,我们在硬件钱包数据传输方案上还是有相当的预见性的。(保持掐腰)





关注bitpie公众号,了解更多钱包安全小知识








  • 正序
  • 最新
只看帖主楼层直达
登录 账号发表你的看法,还没有账号?立即免费 注册