![]()
发表于 2014-1-18 10:14:49
|
显示全部楼层
本帖最后由 imcoddy 于 2014-1-18 10:54 编辑
![]() 译者前言 好吧,这个有些标题党了。不过作者原意就是如此。不同意这观点的话,可以先把文章看完再来反驳:) 本文翻译自 Gavin Andresen 几个月前的一篇笔记(玩比特币只听说过中本聪却不知道 Nakamoto Satoshi 和 Gavin Andresen 的话,说明还得加强学习一下比特币知识:P)。比特币脑钱包因其使用方便成为不少初学者的选择,不过在设置脑钱包口令(passphrases)时经常出现过于简单以至被人将币转走的情况。因此,虽然已是旧文,不过现在看来,这篇文章依旧具有不少教育意义。如果觉得这篇文章对您有帮助的话,欢迎往文章末尾的地址打赏;) 脑钱包的脑风暴 脑钱包的风险 人类其实并不擅长原创,更不善于选择与众不同。而且我们在理解数量级这一方面非常的糟糕。 所以,如果你让一个人创建一个安全的口令,他们很可能会选出一个会被拥有强大计算能力的“死嗑攻击者”破解的密码。 如果你要保护的东西是像你的非死不可(Facebook,原谅我这样翻译吧:P)帐户之类的玩意的话,这并不是什么大问题,因为一个典型的非死不可帐户大概也就只值得这么几毛钱(当然,如果你是明星的话那么你的账号会更值钱一些,你也应该在它的安全性上操心多一点)。而攻击者必须首先以某种方式获取你的非死不可密码的数据库,然后才能开始试图猜测你的密码。 但使用比特币脑钱包的麻烦是,他们是有(不菲)价值的,而攻击者已经拥有了破解专用的“密码数据库”。 脑钱包的破解步骤 要想破解一个脑钱包口令,攻击者会: 找出所有金额不为零的比特币地址并创建一个列表保存下来。 通过重复猜测可能的脑钱包口令来生成地址,并看是否能与以上列表中所得到的地址对上号。 第一步非常简单,而且攻击者正在对第二步操作越来越熟练。他们可能有每秒能猜上亿次的硬件,而且也有用来处理设置密码时常用的例如「I <3 butterflies and rainbows」这类模式的软件。 我们在理解庞大的数字时真的非常糟糕,我们低估了密码被破解的可能性,并不了解攻击者在能以每秒尝试数亿次猜测的情况下,它可以多么轻而易举地就猜到我们的密码。 而在使用了脑钱包之后,我们就像是成了明星一样,即使你只有半个比特币放在你的脑钱包里面,如果你用的是一个弱口令,攻击者将会得到它(里面的比特币),因为他们的口令猜测算法会对每个人的脑钱包进行检查。 所以,人们有可能创造一个安全的脑钱包吗?密码/口令其实是没有用的,因为我们分享了这么多(例如流行文化,语言,教育)的内容,即使当别人说“我想到的东西没有其它人会想到”时,很可能他们想的东西与其他很多人所选的类似。 一个可行的脑钱包模式 以下是一个我认为可能安全的脑钱包设计模式提案。 将以下的几项组合起来建一个安全的脑钱包:
这个模式的安全性取决于它究竟有多难猜。如果可以花钱让别人来告诉我们是不是选择了一个差的口令,而又不必告诉他们真实的口令是什么就好了。 好吧,其实这是可以实现的! 首先用上面的口令创建仅由口令生成的两个“哨兵” 脑钱包,并用上面的组合生成一个安全的脑钱包,然后将大部分的比特币存放到安全的脑钱包上,并将一些零钱存到“哨兵” 脑钱包里面。 如果某天我发现在“哨兵”钱包里的比特币被转走了,我就知道在某个地方有黑客成功地猜出我的口令,这时我就应该选择一个新的口令,创建新的“哨兵”和安全脑钱包并将我的比特币转移过去。 以上模式的破解难度 有没有可能攻击者对我一点也不了解,但他知道我的口令生成模式(全名/口令1/口令2)并能破解我的安全钱包? 我们可以算算这大约有多少组合的可能:
但是,如果攻击者知道你有1000个比特币安静地待在脑钱包里,并且决定只是针对你进行攻击的时候,这将变得容易了1000万倍(译者注:因为名字已经确定,不再需要盲目地猜测),所以要得到你的1000枚比特币平均需要一年多的时间。这其实并不值得,因为这样的话他们需要在破解的硬件上花费更多,并且还要花上一年的时间,仅仅只是为了破解你的钱包而已。(译者注:要知道这文章可是写在九个月前,按现在的价格来看,这1000枚比特币可是要比硬件投入值钱得多:P) 解决方案 支持创建脑钱包的软件应该花一些时间尝试让你的口令稍有差异,并且在blockchain检查一下,看看他们目前是否正在被用来存储着比特币(或在过去任何时间里曾被用来存储过比特币)。如果有的话,就应该提醒你去选择另一个口令。 如果某个口令生成的地址里有未使用比特币,你也应该立即发送这些比特币至你的钱包里。这是你让其他人知道他们选择了一个糟糕的口令的方式以至给你的奖励,(哈哈,大牛居然也支持转账!)同时让他们知道他们需要将比特币放到他们的主要的脑钱包里。 随着使用脑钱包(或其它类似的)的人越多,我们就越应该注意选择一个安全的口令。 致技术人员们:我刚才掩饰一个极大的秘密信息。设置哨兵钱包其实应该是超级简单快捷的,如下: private key = SHA256(passphrase) //(作者这是在向SHA256致敬吧:P) 译者总结
文中所引用图片版权归原作者所有。如果这篇文章对您有帮助,请捐献若干比特币,谢谢。 捐助比特币地址:1MzziGBa7tNNzMwVJMPEjAfM1wRcvSGZu5 与君共勉。 原文地址:https://gist.github.com/gavinandresen/3840286 PS:如果读者有兴趣的话,或许我还可以总结一下因弱口令造成的脑钱包沦陷的趣事,例如因“bitcoin is awesome”而损失的那 500 枚:P We are Bitcoin Maximalists, Bitcoin (Cash) is the Future of EVERYTHING!
|
![]() 科学HY 发表于 2014-1-18 14:59 从某种意义上来说的确如此,所以作者在一开始就说了:千万不要使用脑钱包:P 可是,要想出现你所说的情况,需要有以下两个条件: 1,黑客确实知道你在创建安全的脑钱包时所用的模式。文中只是给出了一个使用自己姓名的例子,但如果你用的不是名字,而是自己某个大姨父的口头禅,那么就算黑客一直试着用你的名字来继续进行猜测,那其实只是在做无用功。 2,如果黑客并不知道你所用的模式,那么它实际上在侥幸地猜对一个之后,也并不能确定你是否以现在的口令为基础制作了一个更安全的钱包。他当然可以不转走哨兵钱包里面的钱以免打草惊蛇,同时继续在此基础上进行猜测,但别忘记了,破解也是需要时间的。同时在现实世界中也需要定期变化密码,在比特币的世界里面亦是如此。半年重新制作一套安全钱包,也不是什么难事吧。 我稍看了一下原文后边的讨论,总体而言主流的观点是脑钱包带来了便利,但确实也会存在一定的安全隐患。不过绝对安全本身就是一个伪命题不是么?安全和便利这其中的权衡,就需要比特币玩家自己决定了。 翻译这篇文章,只是想提醒一下大家就算使用脑钱包,也要注意在选择口令时多慎重考虑,同时配合着几个口令的组合搭配以及某种加密算法的预先处理可以使得破解难度提升不少。不过看来这篇帖子浏览的人不多,稍有些残念了。呵呵,希望是大家都已经明白安全的重要性了:) We are Bitcoin Maximalists, Bitcoin (Cash) is the Future of EVERYTHING!
|
![]() vatten 发表于 2014-1-19 02:19 脑钱包的确只是记住一个密码,如果被猜出来了就完菜。其实这话放在纸钱包上也一样适用的吧?如果私钥被猜出来也一样完蛋(当然,这个要猜中的确是中大彩了) 总而言之,安全取决于用户的个人意识。在使用脑钱包时选择的口令复杂至一定程度并从来没有在网络上出现过的话,它的安全性还是比较有保障的。 We are Bitcoin Maximalists, Bitcoin (Cash) is the Future of EVERYTHING!
|
![]() vatten 发表于 2014-1-20 05:23 是的,使用非英文系的符号可以让破解的难度得以更大的提升,因为这需要攻击者具有更大的密码库才能应对。不过这也如原文作者所说的这样,就算你选用的是非英文字符,其实它也必须在人类的知识积累中出现过,因此这个也是会存在被破解的可能性就是了;) 过几天我再对此整理一下,重新陈述一下我对脑钱包的看法。 We are Bitcoin Maximalists, Bitcoin (Cash) is the Future of EVERYTHING!
|
![]() imcoddy 发表于 2014-1-18 17:20 你对标题的理解弄错了。原作者的意思应该不是“千万不要使用脑钱包” 而是“USE A BRAINWALLET!”他的重心应该是 A 一个,即他是想说,别只用一个脑钱包,要多用几个,有几个脑钱包在前面放哨。 你这样曲解的翻译,不知会令原作者多么伤心,我感觉原作者还是支持脑钱包的,但对脑残包表示担忧而已。对于足够长的脑分裂钱包,长度比私钥还长且无规律,是不可能暴力破解的。 |
![]() 玛_雅 发表于 2014-7-24 21:38 呜呜,好久前的一篇翻译,被扣了这么大一顶帽子。 先明确以下几点: 1,只使用简单的字符组合做为密码所生成的脑钱包地址不安全,很容易让别人暴力碰撞而被人盗取。 2,自己设定一条暗语,然后通过对其加密生成 Hash 值再用来生成脑钱包相对更安全一些。如果生成的方式被别人知道的话,这种方式其实也不安全。 这两点我们应该能达成共识吧? 关于标题是否过分,我个人看法是这样的:原标题使用了全大写字母强调,并加上了感叹号,实际上语气是很重的,在这一点上,即使真有标题党之嫌,我个人也不觉得现在的标题过于夸张。 (把这标题丢 Google Translate 里面,得到的结果是“绝对不要使用BRAINWALLET!你很可能会失去你的硬币!”当然,你也可以说谷歌翻译在处理语气轻重时也是经常不合时宜就是了。) 关于 Gavin 的态度,除了原文之外,我想还可以从这里看出他的态度: Every time I look at the academic literature on passwords/passphrases, I get more depressed about the feasibility of either giving users a secure passphrase that they will remember or getting a secure passphrase from them. I fear there will be a lot of lost coins if "brain wallets" get popular. 所以,我更觉得他的态度是:不要用脑钱包。如果实在要用的话,一定要对所用的语句进行加密,以避免直接通过词库来暴力破解。 至于脑钱包是不是最好用的,这个我持保留意见,实际上,人的遗忘性会比大多数人预想的要厉害得多。当然,我不否认脑钱包还是有着它的适用场景,但我个人不觉得它是最好的就是了。我也用脑钱包,密钥是我的个人 ID 加上某个 repository 的 git hash 值,所以对我而言如果忘记了只要一个个 commit 的去试就好,不过如果自己在设置脑钱包时忘记了生成的方式,到时就只能望币兴叹了。 最后,感谢你的回复将这帖子顶上来。也希望更多新人能看到,明白脑钱包并不是不可以使用,但在使用时要明白自己在做什么。否则,还真是不要用的好。 We are Bitcoin Maximalists, Bitcoin (Cash) is the Future of EVERYTHING!
|
![]()
本帖最后由 玛_雅 于 2016-4-14 14:54 编辑
imcoddy 发表于 2014-7-25 17:05 http://translate.google.cn/#en/zh-CN/DO%20NOT%20USE%20A%20BRAINWALLET!%20YOU%20ARE%20LIKELY%20TO%20LOSE%20YOUR%20COINS! 谷歌翻译,最新结果: ![]() “不要使用BRAINWALLET!你可能会失去你的金币!” 前面没有“千万”也不是“很可能”而是“可能“。 现在,加文要过来巴比特AMA了。我们正好问问他这件事儿。 http://8btc.com/thread-31877-1-1.html 相关文章《比特币脑钱包,你应该用!》http://www.8btc.com/bitcoin-brainwallet 《左脑右脑一个完美组合,双脑脑钱包诞生》http://www.8btc.com/brainwallet-2 |