前言
2016 年 8 月,我以 iOS 开发者的身份加入 imToken 团队,现在负责 imToken 的产品运营工作。在这之前,我对区块链涉及到的密码学内容,如算法推导、公私钥对、椭圆曲线加密等知之甚少。我依然记得那种「偏见」带来的痛苦感觉,而这「偏见」源自于传统互联网赋予的惯性思维。
什么是助记词、私钥、Keystore?
为什么丢失私钥就丢失了一切?
知道地址和密码为什么不能找回账户?
什么是备份?不可逆?匿名性?… …
虽然我现在已经了解了钱包原理,但相比之下,我更理解这项技术给小白用户带来的困扰,并一直致力于普及去中心化钱包知识,尽可能帮助那些资产遭受损失的用户。该系列文章以故事性为主,大家可以在茶余饭后慢慢阅读,希望这些案件可以「敲醒」那些恬不在意的钱包用户,妥善管理自己的财产。
第一起案件
大约在 2017 年6月份,我接手了第一起盗币案件,向我求助的用户算币圈早期的投资人。梳理后的对话内容如下:
晓婷(化名):我有两部手机,之前通过 iPhone 手机下载使用 imToken, 但是因为更新太麻烦了,就换了另一部 Android 手机。昨天我通过 QQ 邮箱将私钥通过邮件发送过去,然后直接导入了新的设备,就将这封邮件删除了。然后今天中午我打开 imToken 时候,就发现所有资产被盗了,所有的币都价值不菲,你可不可以帮帮我?
我:你是直接发送的明文私钥吗?
晓婷:是 Keystore。
我:Keystore 密码呢?和邮件密码是否一致?有没有和 Keystore 一起管理?
晓婷:当然没有,这点安全意识我还是有的。密码没有和 Keystore 放在一起,密码不是常用的... …
我:我觉得还是邮件传输私钥导致你资产被盗的概率较大,你再仔细回想一下 Keystore 密码和邮箱密码的关联性。
晓婷:Keystore 密码虽然和邮箱密码不一样,但是有较强的关联性。
很遗憾,由于第一次处理盗币案件,经验不足,没能很好的分析资产流向,所以成了「悬案」。即便如此,我也可以大概率肯定是「邮箱」出卖了她的私钥,由于 Keystore 密码和 QQ 密码的相关性,黑客极容易「暴力破解」,所谓「暴力破解」是一种密码分析的方法,即将密码进行逐个推算,直到找出真正的密码为止。
比如「晓婷」的 QQ 密码为 xiaoting666 而 Keystore 密码为 xiaoting888,那么黑客很快就可以通过密码碰撞,通过 xiaoting666 推导出 xiaoting888。
针对密码安全这一点,imToken 要求员工统一使用 1password 作为密码管理工具,生成高强度的随机密码,避免使用和身份相关的密码或短密码,从而造成安全隐患。
这起案件只是开启我新身份的开始,使我从一个开发者,逐渐变成了「柯南」。在这之后,我处理了上百起丢币盗币案件,勘察过五花八门的盗币手法,也经历过啼笑皆非的盗币事件。这一系列故事的真正开局是在 2017 年 9 月 4 日之后,我将在后续的连载中,向你娓娓道来。
(未完待续……)