主页 > imtoken钱包官方版下载 > 如何安全可靠地存储您的比特币?

如何安全可靠地存储您的比特币?

imtoken钱包官方版下载 2023-02-08 06:57:23

概括

我们要讨论的是如何长期安全可靠地存储比特币。

你需要的是:

联网的机器。

“物理隔离”的旧计算机,最好没有任何无线功能。

带有条码扫描仪的智能手机。

bitcoin-padlock-520x245

介绍

如果你想长期投资比特币,需要解决的一个棘手问题是如何存储它们。由于这个世界上人们最喜欢偷比特币,所以所有的存储系统首先必须具备以下特点:

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

窃取硬币的最简单方法是销毁您的私钥。相对于第一穴的“阳”,第二穴的“阴”是:

(2)避免意外损失

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

(3)低成本

如果你急于离开这个国家,或者不知何故在外国海滩上赤身裸体,你的硬币应该没问题。

(4)能够全局访问

第四点很荒谬,但想想也很有趣。同时实现这四个目标是一项挑战,我们看到的大多数存储系统至少不能满足其中一个目标。让我们稍微讨论一下。首先,我们将为您推荐一个存储比特币的计划:

大脑钱包

Brain Wallet 是一种与状态无关的开源算法,能够将密码转换为公钥和私钥对。一般来说,大脑钱包的算法很简单:

密码使用 SHA-256 算法散列成一个 256 字节的字符串,对于不知道密码的人来说,这看起来像是一个随机字符串。

将输出解释为键。

标准 EC 加密算法用于将密钥映射到公钥。

Brain Wallet 在功能 2 到 4 上得分很高,但它因不安全而“臭名昭著”。对大脑钱包的常见攻击包括:

从文献、常用密码数据库、电影台词、歌词等中生成一个庞大的密码字典。

对于语料库中的每个短语,使用上述算法生成大脑钱包的密钥对。

监控数据库中预先准备好的比特币传输地址。

在攻击中,比特币使用相应的私钥进行传输。

这种攻击应该看起来很熟悉;这与用于破解泄露密码数据库的攻击几乎相同。事实上,出于同样的原因,大脑钱包是不安全的——未加盐、未散列的密码数据库是不安全的。因此,大脑钱包应该采用与密码数据库相同的安全措施。

Snip20140720_2

安全增强的大脑钱包

我们构建了 Warpwallet,这是一个安全性增强的大脑钱包,其操作就像一个单一的网页。WarpWallet 比标准大脑钱包更安全,原因有两个:(1)它要求每个用户选择一个唯一的“salt”,这样攻击者就不得不单独破解每个用户的大脑钱包;(2)@ > 它使用 scrypt 算法对密码进行哈希处理,因此攻击者的每次猜测都是昂贵的计算。

使用 WarpWallet 的这个原语,我们可以查看存储财富的完整算法:

在 coinbase 或您选择的交易所购买比特币。

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

引导您的物理隔离机器 (AGM),最好从 Linux 活动磁盘引导。(有关 AGM 的更多信息,请参阅 Bruce Schneier 的文章)

使用 U 盘将 HTML 文件复制到您的 AGM。

在 AGM 上运行 sha256sum warp.html 并验证总数是否与您在步骤 2 中看到的相符。

使用 Google 或 Firefox 将 HTML 作为本地文件打开。(1)使用一些临时密码和小传输测试配置(请参阅下面的详细信息)。(2)@>选择一个好的密码。示例:牧师正式 lubbers 勘误表。稍后讨论。(3)使用真实密码在“生产”中运行配置。将您的电子邮件地址作为“盐”,您将获得一对公钥和私钥。

用您的手机扫描公钥并将其传输到您的联网设备(例如通过电子邮件)。扫描时仔细调整窗口,确保只扫描公钥二维码。

关闭物理隔离机。

在您的联网设备上,将硬币从 coinbase 转移到 WarpWallet 生成的地址。

如果您害怕忘记密码,请在您的房子和办公室周围放置一些秘密笔记,以提醒您密码是什么。

要赎回你的硬币,你重复这个过程,但你只能用私钥转移。一旦你获得了 WarpWallet,就不要再使用它了。(或者,您可以使用比特币类库在物理隔离的机器上记录交易,将其传输到网络设备,然后将其插入区块链;我们还不能这样做。)

安全分析

攻击者可以通过四种主要方式窃取您的硬币:(1)渗透您的机器;(2)@>破解 WarpWallet 的密码;(3)暴力破解您的密码;或(4)从你的“提示”笔记中猜出你的密码。让我们看看这四种方法:

对于第一次攻击,假设所有三台机器都已被攻击者破坏的最坏情况。入侵您的物理隔离机器的攻击者知道您的私钥,但他无法将私钥发送出去(您确保永远不会将 AGM 连接到 Internet)。黑客入侵您的手机或网络设备的攻击者可以获得公钥,但只要比特币协议存在,您的硬币就无法被盗。当然,当攻击者控制您的联网机器时,他可以将您的硬币从 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

针对蛮力攻击的安全性

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

scrypt算法完整,一定是暴力破解;

PBKDF2算法免费;

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

注意WarpWallet使用218的安全参数,莱特币系统使用210。我们使用以下常量进行分析,您也可以根据市场情况变化编辑它们:

美元兑莱特币 8.58

Lite 区块奖励 50

莱特币算力难度 22,149

WarpWallet 密码信息熵的字节数 58

有了这些假设,破解 WarpWallet 的成本是 166,374,36 美元0.47 美元。

实用安全

到目前为止,这对我们来说是相当安全的。如果有新闻报道说scrypt算法被破解了,或者硬件成本大大降低,你也有PBKDF2算法在你想改变方案的时候做缓冲。

说实话,重大的公共挑战考验着 WarpWallet 的安全性。网站启动时,我们宣布了四个可以快速解决的挑战,以表明人们认真对待它们。他们做到了。剩下的挑战是仅基于 48 位熵来猜测地址,自 2013 年 11 月以来一直没有被破解。

最后,与您直接接触的人有可能会找到您的提示之一,获取您的密码并窃取您的硬币。对这种攻击的最佳防御首先是保持提示足够隐蔽,这样没人会知道它是什么,其次不要和会偷你钱的混蛋混在一起。

什么样的密语好?

生成密码时,最好使用通过量化熵来生成密码的算法。例如,该页面从字典中随机抽取 N 个单词,如果 N 的值较高,则为密码提供更多的熵。人们可以记住常用密码,但由于 WarpWallets 每十年只使用几次,您就有忘记密码的风险。我们在内部讨论了更容易记住的密码系统,例如著名诗歌中的交织句子、你小时候编的词等等。现在,您已进入无名安全领域。无论您选择哪种系统,对于不知道您的秘密算法的攻击者来说,它都应该看起来像是一个随机的字符串。例如,从一首晦涩难懂的诗中挑出一行来隐晦地不是一个好主意,因为 3 到 10 个单词包含的信息熵太少。并从你最喜欢的八首诗中挑选 13 个单词,组成一个看起来更随意的秘密短语。

为什么这个系统具有其他三个属性

上面提到的 WarpWallet 协议应该是安全的。当然,它是免费的,而且世界上几乎任何有问题的地方都可以使用该协议。最大的问题是你是否会搞砸。我们能想到的错误有:

你忘记了密码

您错误地发布了密钥或密码。

WarpWallet 的代码消失或变得无法执行。

您的浏览器出错并得到错误的响应。

我们在上面讨论了忘记和提醒密码。你必须小心不要在硬币转移协议中犯下粗心的错误。只要 GitHub 继续运行,您仍然可以查看我们的 GitHub 存储库,并且将会有一个独立的、公开的、自我验证的 WarpWallet 版本可用。我们将使用 PGP 密钥(ID:4748 4E50 656D 16C7).

考虑软件错误很有趣。当我们构建 WarpWallet 时,我们使用两个不同的软件堆栈实现了两次算法并检查了相同的答案。要运行测试,请检查存储库并运行 npm install -d;做测试。

但是,您应该采取进一步的预防措施。第 4 步,将 HTML 传输到物理隔离机器后,进行一些测试。选择一些过时的密码并将它们散列在连接互联网和物理隔离的机器上。如果结账成功且结果匹配,则可以生成一个临时密码并将少量硬币转入 WarpWallet,然后在第二天转回。您可以根据需要进行多次测试,直到您感觉舒适为止。

1405300870235

其他系统的调查

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

许多人在 Coinbase 购买比特币,因为它是一家拥有优秀工程师的大公司,并声称有严格的安全措施。但是,也许你不应该一直把硬币放在那里。无论 Coinbase 多么好和安全,它都相当于一家非 FDIC(联邦存款保险公司)担保的银行,也许没有那么安全。我的意思是,银行很容易发生入室盗窃、账本错误,甚至是我们不敢想的事情——关键员工的勒索。与银行相比,Coinbase 更能吸引 XSS、CSRF 和网络钓鱼攻击。虽然他们的安全性一直很好,但他们与那些坚定的攻击者的战争是旷日持久的。最后,Coinbase 不受 FDIC 或其他机构的担保,因此与银行存款不同,您在 Coinbase 上的硬币会因“银行挤兑”或突然的业务倒闭而消失。

在其他在线银行和钱包中比特币的安全性,我们已经看到了金融诈骗和程序员“诚实”错误拿走客户存款的例子。

经营自己的钱包

任何拥有电缆调制解调器和一些额外存储空间的人都可以运行自己的钱包(有或没有区块链)。如果您经常交易,运行自己的钱包是有意义的。但是,由于您的硬币很容易被盗和丢失,您的长期存储可能会变得脆弱。未加密的备份可让您快速取回您的钱包,但它也有助于小偷。也许这里的平衡是加密备份。我们几乎是这个系统的大力倡导者,直到我们意识到我们只对加密备份感到满意(如果它们被复制到许多不同的地方)。此时,加密 - 不保存加密文件 - 可确保您的硬币安全。因此,换句话说,您仍然必须记住一个好的密码短语并选择一个好的加密系统,以及正确管理您的文件并相信自己在需要时解密它们。它'

纸质钱包和离线 USB 驱动器

假设您用于生成钱包或存储到 USB 记忆棒的设备没有受到损害,纸质钱包和离线 USB 记忆棒更安全,不会被盗。但是,离线存储很容易丢失。你会在火灾中失去它们;你也可能不小心把它们扔掉。一些离线存储钱包保存在保险箱中,但这种保管费用昂贵、不方便,并且在某些情况下存在被没收的风险。

密钥共享

使用加密密钥共享,您可以将您的钱包分成 7 个部分,其中任何 4 个部分都可以重新组装钱包。想象一下,留一些给自己,一些留给办公室,一些留给家人或朋友。这种方法原则上是优雅的,但在实践中容易出错。

总结

欢迎来到 WarpWallet 并按照我们上面的分步说明长期存储您的比特币。

---

原来的: