风险提示:理性看待区块链,提高风险意识!
如何安全可靠地储存你的比特币?
首页 > 币界资讯 > 区块链知识 2019-03-13 17:17:27

摘要

我们要讨论的是从长远来看,如何安全可靠地储存比特币。

你需要的是:

  1. 一台联网的机器.

  2. 一台“物理隔离”的旧式电脑,最好没有任何无线功能.

  3. 一部带有条码扫描器的智能手机.

bitcoin-padlock-520x245

简介

如果你想长期投资比特币,要解决的一个棘手的问题就是如何储存它们。既然在这个世界上人们喜欢窃取比特币甚于任何东西,所有的存储系统都首先必须要具备以下几个特点:

(1)防止别人窃取你的币

盗币最简单的方法就是破坏你的私钥。与第一点的“阳”相对,第二点的“阴”就是:

(2)避免意外损失

比特币的储存不应失去它们的最佳性能。因此,好的比特币存储系统还需具备:

(3)低成本

如果你急于离国,或是莫名其妙赤裸着被冲上了异国的海边,你的币应该可以

(4)能够全局访问

第四点是荒谬的,但是,想想就觉得很有趣。同时实现这四个目标是个挑战,大部分我们见到的存储系统,都至少不能满足其中一项。这个问题我们稍作讨论。首先,我们要给你推荐一个储存比特币的计划:

脑钱包

脑钱包是一个开源的算法,它与状态无关,能够将密语转换成公钥和私钥对。通常来说,脑钱包的算法非常简单:

  1. 采用SHA-256算法将密码哈希成256字节的字符串,这样对于不知道密码的人来说,看起来就像是随机的字符串。

  2. 将输出解释为密钥。

  3. 采用标准的EC加密算法(译者按:EC加密算法即椭圆加密曲线算法)来将密钥映射到公钥。

脑钱包在第二到第四点特点上的得分很高,但它却以不安全“著称”。脑钱包常见的攻击有:

  1. 生成一个巨大的密语词典,取自文学作品、常见密码数据库、电影台词、歌词等等。

  2. 对于语库中的每句短语,使用上述算法生成脑钱包的密钥对。

  3. 监控在数据库里预先准备好的地址是否有比特币转入。

  4. 在攻击中,使用相应的私钥转移比特币。

这种攻击看起来应该很熟悉;它跟破解泄露的密码数据库的攻击方式几乎相同。事实上,脑钱包之所以不安全也有着同样的原因——未加盐、未哈希的密码数据库是不安全的。因此,脑钱包应该采用和密码数据库一样的安全措施。

Snip20140720_2

安全性增强的脑钱包

我们建立的Warpwallet,是一个增强了安全性的脑钱包,它的运行如同一个单独的网页。相对于标准的脑钱包,WarpWallet更安全,这有两个简单的理由:(1)它要求每个用户选择一个独特的“盐”,这样攻击者就要分别破解每个用户的脑钱包;(2)它采用scrypt算法来对密语哈希,因此攻击者的每个猜测都是昂贵的计算。

有了WarpWallet的这一基元,我们可以看看储存财富的完整算法:

  1. 在coinbase或你选择的交换平台购买比特币。

  2. 访问WarpWalle,跳转后记录URL中SHA-256的总和,将HTML保存为文件。

  3. 启动你的物理隔离机(AGM),最好是从Linux的live盘中启动。(关于AGM的更多信息,请见Bruce Schneier’s 的文章)

  4. 用U盘将HTML文件复制到你的AGM。

  5. 在AGM上运行sha256sum warp.html ,验证总数是否与你在步骤2中见到的匹配。

  6. 用谷歌或火狐浏览器将该HTML作为本地文件打开。(1)用几个临时口令和小型传输来测试配置(见下面的细节)。 (2)选一个好的密语。例如:vicar formal lubbers errata。稍后再作讨论。 (3)用真正的密语在“生产”中运行配置。以你的电子邮件地址为“盐”,你会得到一个公钥和私钥对。

  7. 用你的手机扫描公钥,并转移到你的联网设备上(如通过电子邮件)。扫描时,小心调整窗口,确保只扫到公钥QR码。

  8. 关闭物理隔离机。

  9. 在你的联网设备上,将coinbase上的币转移到WarpWallet生成的地址。

  10. 如果你怕忘了密码,在你的房子和办公室周围放一些秘密备注,提醒你密码是什么。

为了赎回你的币,你要重复这个过程,但你只能在私钥上转移。一旦你得到一个WarpWallet,别再次使用它。(或者,你可以用比特币类库来记录物理隔离机上的交易,把它转移到网络设备,再将其插入到块链中;我们还不能实现这一点。)

安全性分析

攻击者要窃取你的钱币,主要有四种方式:(1)潜入你的机器;(2)破解WarpWallet的密码;(3)蛮力攻击你的密码;或(4)从你的“提示”备注中猜测你的密码。让我们看一下这四种方式:

对于第一种攻击,假设最坏的情况,即三部机器都已被攻击者入侵。攻击者入侵你物理隔离机后知道了你的私钥,但他无法将私钥发送出去(你要确保从不将AGM连网)。攻击者入侵你的手机或网络设备可以获得公钥,但只要比特币协议存在,你的币就不可能被窃取。当然,当攻击者控制了你的联网机器,他就可以把你的币从Coinbase上转移到他选择的账户。但如果你可以在他之前将币转移到WarpWallet,就没有问题了。同样地,如果攻击者控制了你所有机器上的密码,你也许不能启动WarpWallet的真正版本,而是启动了一个只能输出攻击者所知密码的木马版本。对于这样的攻击,除了让你检查你的WarpWallet版本,我们没有其他好的回答。要么检查密码杂凑,要么检查已知的输入/输出密码对。

第二种攻击考虑的是破解WarpWallet的加密技术。WarpWallet是如下运行的:

1.  s1 ← scrypt(key=passphrase||0x1, salt=salt||0x1, N=218, r=8, p=1, dkLen=32)
2.  s2 ← PBKDF2(key=passphrase||0x2, salt=salt||0x2, c=216, dkLen=32)
3.  private_key ← s1 ⊕ s2
4.  Generate public_key from private_key using standard Bitcoin EC crypto
5.  Output (private_key, public_key)

虽然没有形式证明,但我们认为这种算法和scrypt及PBKDF2算法一样强大。只要其中一个算法是安全的,对于从候选口令中选取密钥对的蛮力攻击就是必要的。

1TviY

对抗蛮力攻击的安全性

为了量化的对抗蛮力攻击的安全性,我们提出以下假设:

  1. scrypt算法是完整的,而且一定是蛮力攻击;

  2. PBKDF2算法是免费的;

  3. 攻击者可利用资源破解WarpWallet或挖莱特币。因此,攻击者破解WarpWallet的机会成本是挖莱特币获得的收益 。这种假设考虑到了硬件和能源的成本,并允许攻击者访问最新改进的软件。

注意,WarpWallet使用安全参数为218,Litecoin系统则为210。我们用以下常量进行分析,你也可以随市场条件变化对它们进行编辑:

每莱特币兑换美元    8.58

莱特区块奖励            50

莱特币算力难度       22,149

WarpWallet密语信息熵的字节数 58

通过这些假设,破解一个WarpWallet的成本是 166,374,360.47美元。

实用安全性

迄今为止,这对于我们来说是相当安全的。如果有新闻报道称scrypt算法已被破解,或是硬件成本大大降低,当你想改变方案的时候,你还有PBKDF2算法作为缓冲。

说实话,显著的公共挑战测试着WarpWallet的安全性。当网站公布的时候,我们宣布了四个可以迅速解决的挑战,以证明人们会认真对待这些挑战。他们也确实这样做了。剩下的挑战就是仅凭48位熵猜测地址,而这自2013年11月以来从未被破解。

最后,还有一种风险是与你有直接接触的人会发现你的提示语之一,然后得到你的密码、窃取你的币。对于这种攻击,最好的防御首先是让提示语足够隐秘,这样任何人也不会知道它是什么;其次,别跟会偷你钱的混蛋一起闲逛。

什么样的密语才是好的?

当生成一个密码的时候,使用通过量化的熵产生密码的算法是很好的。例如,此页面从字典中随机挑选N个词,如果N的值越高,它提供的密码熵就越多。人们能记住常用的密语,但由于WarpWallets每十年才用几次,你就有遗忘的风险。我们内部讨论了更容易记忆的密码系统,如名诗中交织的句子、你小时候编的词语等等。现在,你以及进入了无名安全的领域。无论你选择了什么系统,对于不知道你秘密算法的攻击者来说,它看起来都应该是随机的词串。例如,从一首晦涩的诗中选出一行来作密语并不是一个好主意,因为3到10个单词包含的信息熵太少了。而在你最喜欢的八首诗中选择13个词串联起来得密语,看起来会更随机一些。

为什么这个系统拥有其他三项性能

上面提到的WarpWallet协议应该是安全的。它当然是免费的,几乎世界上任何处于困境的地方都能访问这个协议。最大的问题在于你是否会把它搞砸。我们能想到的错误是:

  1. 你忘记了密语

  2. 你错误地发布了你的密钥或密语。

  3. WarpWallet的代码消失或变得不可执行。

  4. 你的浏览器出错,得到错误的回应。

上面我们已经讨论过密语的遗忘和提醒。你必须仔细操作,避免在钱币传输协议中粗心犯错。只要GitHub还继续运行,你还可以在我们的GitHub库里面签出,就会有一个独立、公开、自证实的WarpWallet版本可供使用。我们将用PGP key (ID: 4748 4E50 656D 16C7)记录所有后续版本。

考虑软件的错误是有趣的。当我们建立WarpWallet的时候,我们用两个不同的软件栈实现了两次算法,并检出得到了相同的答案。要运行测试,就要检查信息库并运行npm install -d; make test.

不过,你应该采取进一步的预防措施。在步骤4中,将HTML转移到物理隔离机后,你要进行一些测试。选一些废弃的密码,在你的联网设备和物理隔离机上进行哈希。如果签出成功,结果匹配,就可以生成一个临时密码并将少量的币转移到WarpWallet,然后第二天又将币转回去。你可以进行多次测试,直至放心为止。

1405300870235

对于其他系统的调查

在上面,我们声称我们的系统比其他竞争对手更好。让我们更深入地看看Coinbase及其他在线钱包。

许多人在Coinbase购买比特币,是因为它是一个大公司,有着优秀的工程师,并且宣称会采取严格的安全措施。但是,也许你不该一直把币放在那儿。Coinbase再好、再安全不过相当于一个非FDIC(联邦存款保险公司)担保的银行,也许还没那么安全。我的意思是,银行很容易发生物理爆窃、台账错误的问题,甚至还有我们不敢去想的——核心员工的敲诈。比银行更甚的是,Coinbase像磁石一般吸引了XSS、CSRF和网络钓鱼的攻击。虽然他们的安全性一直很好,但是它们与那些坚定强劲的攻击者之间的战争是持久的。最后,Coinbase没有得到FDIC或是其他机构的担保,所以和银行存款不同,你在Coinbase的币会因为“银行挤兑”或突然经营失败消失。

而在其他网上银行和钱包身上,我们已经看到了一些金融诈骗和程序员“诚实的”错误夺去客户存款的例子。

运行你自己的钱包

任何人,只要有一个电缆调制解调器和一些额外的存储空间,就可以运行自己的钱包(包括区块链或不包括区块链的)。如果你经常进行交易,运行自己的钱包就很有意义。然而,因为你的币容易被盗和丢失,你的长期储存会变得容易受到攻击。未加密的备份可以让你快速找回钱包,但同时也帮了小偷的忙。也许这里的平衡点就是加密的备份。在我们认识到我们只对加密备份(如果他们被复制到很多不同的地方)感到安心之前,我们几乎是大力提倡这个系统。在这一点上,加密技术——不持有加密文件——保证了你的币安全。因此,换句话说,你还是要记住一个好的密语及选一个好的加密系统,还要妥善管理文件并相信自己一旦需要就能解密。这就像许多机器没有得到额外的保护,最终它们的可回收程度就会降低。

纸钱包与离线U盘

假设你用于生成钱包或存储到U盘的设备没有受到损害,那么纸钱包和离线U盘在防盗上就更安全。然而,离线存储很容易受到损失。你会在火灾中失去它们;你也可能不小心把它们扔掉。一些离线存储钱包放在保险箱中,但这样的保管昂贵、不方便且在某些情况下有被没收的风险。

密钥共享

使用密码术的密钥共享,你可以将你的钱包拆成7个部分,其中任意4个都可以重新组合钱包。试想一下,给自己留一部分,在办公室存一部分,给家人或朋友留下一部分。这样的方法在原则上显得优雅,在实际上却容易出错。

总结

欢迎使用WarpWallet,并按照我们上面的一步一步的指示来长期储存你的比特币。

----

原文:http://maxtaco.github.io/bitcoin/2014/01/16/how-jason-bourne-stores-his-bitcoin

作者:Maxwell Krohn

译者:Odim(微博@OdimLee)

译者BTC地址: 185KPeZ3dEEAuFB3DbnqHgujakouAttHKY

稿源(译):资讯(www.8btc.com)

上一篇: 比特币总量为什么是2100万?
下一篇: 矿池为什么会存在?为什么挖矿方差很重要?
推荐专栏
web3首席知识博主
一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
爱Web 3,爱生活,爱科技,爱炒币的老韭菜
热门币种
更多
币种
价格
24H涨跌幅
BTC比特币
¥264,810.46
37,103.37 USDT
+0.1%
ETH以太坊
¥14,413.37
2,019.50 USDT
0%
USDT泰达币
¥7.20
1.01 USDT
0%
BNB币安币
¥1,629.54
228.32 USDT
+0.63%
XRP瑞波币
¥4.32
0.60480 USDT
+0.45%
USDC
¥7.14
1.00 USDT
+0.04%
SOLSolana
¥400.45
56.11 USDT
+1.59%
OKBOK币
¥399.37
55.96 USDT
-1.23%
ADA艾达币
¥2.67
0.37480 USDT
-1.32%
DOGE狗狗币
¥0.55330
0.07753 USDT
-1.01%
热搜币种
更多
币种
价格
24H涨跌幅
Terra Classic
¥0.00
9.481E-5 USDT
-18.15%
Gala
¥0.18
0.025383 USDT
-4.86%
dYdX
¥22.63
3.1984 USDT
-0.73%
比特股
¥0.05
0.006569 USDT
-1.93%
PancakeSwap
¥15.60
2.2054 USDT
-2.16%
Conflux
¥1.08
0.1531 USDT
-2.36%
Filecoin
¥31.55
4.4597 USDT
-0.5%
FTX Token
¥29.65
4.1911 USDT
+15.24%
Yield Guild Games
¥2.56
0.3615 USDT
-0.55%
Shiba Inu
¥0.00
8.15E-6 USDT
-2.16%
比特币
¥262,467.38
37103.37 USDT
+0.1%
比原链
¥0.07
0.010022 USDT
-4.68%
最新快讯
更多
汇丰、恒生、渣打、富邦华一四家外资银行入围首批“数字人民币”业务试点名单
2023-11-28 19:06:57
摩根大通和Apollo计划建立代币化“企业主网”
2023-11-28 19:03:57
Nansen2公测版本上线,新增链上数据异动、智能搜索等功能
2023-11-28 18:59:52
西班牙公民需在明年3月底前申报其海外平台上加密货币持仓
2023-11-28 18:53:43
Nansen2已公开测试
2023-11-28 18:53:38
dYdX基金会:主网启动以来超过1645万DYDX被质押
2023-11-28 18:52:07
NicCarter等比特币倡导者发文:比特币挖矿是清洁能源和平衡电网的关键工具
2023-11-28 18:47:58
下载币界网APP