主页 > imtoken官网地址打不开 > 如何安全可靠地存储您的比特币?

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

imtoken官网地址打不开 2023-03-20 07:23:37

概括

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

你需要的是:

一台联网的机器。

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

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

bitcoin-padlock-520x245

介绍

如果您想长期投资比特币,要解决的棘手问题之一就是如何存储它们。 既然这个世界上人们最喜欢偷比特币,那么所有的存储系统首先必须具备以下特征:

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

窃取硬币的最简单方法是泄露您的私钥。 相对于第一点中的“阳”比特币储存方法,第二点中的“阴”是:

(2)避免意外损失

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

(3)低成本

如果你着急出境,或者在异国他乡莫名其妙被冲上沙滩,你的币应该没问题。

(4)能够全局访问

第四点很荒谬,但想想也很有趣。 同时实现这四个目标是一个挑战,我们看到的大多数存储系统至少不能满足其中一个。 这个问题我们暂且讨论一下。 首先,我们想向您推荐一个存储比特币的方案:

大脑钱包

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

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

将输出解释为键。

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

大脑钱包在第二到第四个特征上得分很高,但它们“出了名的”不安全。 脑钱包的常见攻击包括:

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

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

监控是否有比特币转账到数据库中预先准备好的地址。

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

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

Snip20140720_2

安全增强大脑钱包

我们构建了 Warpwallet,这是一种安全性增强的大脑钱包,其运行方式类似于单个网页。 WarpWallet 比标准脑钱包更安全,原因很简单:(1) 它要求每个用户选择一个唯一的“盐”,这样攻击者就必须单独破解每个用户的脑钱包;(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)选择一个好的密码。 例如:vicar formal lubbers 勘误表。 稍后会详细介绍。 (3) 使用真正的密语在“production”中运行配置。 使用您的电子邮件地址作为“盐”,您将获得一对公钥和私钥。

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

关闭物理隔离机。

在您的联网设备上,将 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,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 协议应该是安全的。 它当然是免费的,世界上几乎任何有问题的地方都可以访问该协议。 最大的问题是你是否要搞砸它。 我们能想到的错误是:

你忘记了密码

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

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 的硬币会因“银行挤兑”或突然的业务倒闭而消失。

对于其他在线银行和钱包,我们已经看到了金融诈骗和“诚实”的程序员错误掠夺客户存款的例子。

经营自己的钱包

任何拥有电缆调制解调器和一些额外存储空间的人都可以运行自己的钱包(区块链与否)。 如果您经常进行交易,那么运行自己的钱包很有意义。 但是,由于您的硬币容易被盗和丢失,因此您的长期存储变得容易受到攻击。 未加密的备份可让您快速取回钱包,但也有利于窃贼。 也许这里的平衡是加密备份。 我们几乎是这个系统的大力倡导者,直到我们意识到只有将加密备份复制到许多不同的地方时我们才安全。 在这一点上,密码学——无需持有加密文件——可以保证你的硬币安全。 所以,换句话说,你还是要记住一个好的密码,选择一个好的加密系统,管理好你的文件,并相信你可以在需要的时候解密它们。 这就像许多机器没有得到额外的保护,最终它们的可回收性降低了。

纸钱包和离线U盘

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

密钥共享

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

总结

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

----

原版的: