加载中…
正文 字体大小:

设计一个大众化简便安全的以太坊钱包

(2017-12-31 11:43:44)

作者:Peter Watts

PROPS平台主任

设计一个大众化简便安全的以太坊钱包

(为什么助忆短句 mnemonic seed phrases是一个安全漏洞)

当今对存放加密货币有两个极端相反的方案,一个是如Coinbase 一样的采取银行式的方法,将所有的资金保管起来。这种方式在用户体验方面有明显的优势,但存在着巨大的政府规定和责任风险的障碍,并且直接违背Nick Szabo的著名准则“被信任的第三方是安全漏洞

另外一种方案正相反,给予用户对资金完全的自我托管权力。不幸的是,当加入成百上千万没有经验的主流用户后,就引起了更大的一个安全漏洞:用户错误。

设计一个大众化简便安全的以太坊钱包

如果你最近下载过一个移动加密币钱包,你很有可能被要求写下一个12个词的助忆短句,如上图所示。这个已成为行业的金字标准,被几乎所有的钱包采用。只是有一个问题:它设定了用户的失败。

第一,  时间很糟。你刚刚启用了一个崭新的钱包,你可能不在家,可你却被要求写下什么东西并存在一个保险的地方。你实际按此要求操作的概率很低,反倒更有可能的是你会将它拍下来,电脑里记下来,或电邮给自己,不仔细考虑谁能够进入你的藏宝室。

第二,  这不是一个标准行为。在大家都习惯的林林总总的APP,没有一个是要求用户写下一个秘密短句。老实说,这要求很奇怪,也就不能怪用户不把它当回事。指纹和面容验证已训练用户适应更快,更简便的验证方式,这些恢复短句完全是背道而驰。

第三,  最后,你在被指令用白话写下来的,实质上是通向你王国的钥匙。即使你写下来你的密码(相信没有人会傻到那样),偷猎者还是要知道A)那是一个密码,B) 用户名和哪里的帐户。助忆短句却可以立即识别(从一个定好的范围里选出12个随机词语),很容易被从你的电邮/文件/照片库里里析离出来,然后只需要在有限的几个服务商那里测试(Bitcoin, Ethereum, 等)。

作为开发人员,我们可以做得更好。将托管的责任放在用户手中可以解决责任风险,但不能解决安全和采用问题。

怎么解决呢?回到Szabo,重要的是意识到被信任的第三方是问题所在。一个能将无信任的第三方融合进来的解决方案才有机会平衡安全和适用性的要求。理想中,它应该有三项特质:

1. 如果用户丢了手机或忘记密码,这个第三方能协助找回资金

2. 如果有人窃用了用户的资料,这个第三方能保护资金不被盗取

3. 如果这个第三方出了问题或被恶意入侵了,资金会自动锁起来

很重要的一点,这个方案应该假设用户都是没有经验并习惯于简单的认证方式,并且不会违反常规招致安全隐患(比如将私有钥匙用白话写下来)。这里列举两个较有潜力的方案:

方案#1:区块链

区块链是一个无信任的第三方的完美案例。你依赖他人的服务,但并不需要相信他们。如果你想恢复一个以太坊钱包,可能的情景如下:

·        资金被放在一个代用钱包里,有两把钥匙(首钥和次钥)

·        首钥可以动用资金,次钥只能用来申请成为首钥,申请有效期30

·        如果次钥成为首钥的申请发出,必须要很明显,监督服务会提醒首钥的持有人,给他们机会取消并将次钥作废

·        在开户时,钱包APP会将首钥本地安全保存,将次钥保存在用户的云端存储(照片,gmail, iCloud 等)

·        在紧急情况下,用户很容易拿到次钥,但偷盗者却不容易拿到

·        即使偷盗者成功入侵,也只能发现次钥,用户还有机会阻止偷盗

 

目前这个方案在技术上可以实现,但交易费用和扩容能力的局限意味着被制成APP供大量的用户使用还需要一段时间。

方案#2:加密备份服务

当谈到平衡安全和适用性的问题时,密码经理们已取得很大进步。例如,1密码+2密钥求导“,将用户比较薄弱的密码与一个很严密的随机钥匙结合,意味着那个被存放在服务器里的密码箱中的备份基本上是无缝可入的。

博览这些APP的概念,钱包可以使用如下的策略:

·        将用户的私钥备份,用密码和随机密钥组合的方式,加密本地存储于用户的设备里

·        同时存储第二个“恢复备份“,这个备份只是加密存储的随机密钥

·        将随机密钥存储在用户的iCloud 钥匙链里

·        如果用户丢失了设备,他可以用密码和存在iCloud里的密钥申请第一备份解密

·        如果用户忘记了密码,他可以用密钥申请将恢复备份解密,但这个恢复备份的服务商(不相信用户)可以采用30天的等待期,并通知真正的主人,给主人一个取消的机会

·        偷盗者需要入侵三项中的二项(密码,iCloud或备份服务商),才能拿到私钥

这些方案中没有一个能保护所有的情况,但它们会很有效地降低用户失去资金的机会。

总而言之,需要明确地是助忆短句不总是一件坏事。对有经验的用户来说,这可能是一个很方便的钥匙备份。同样,移动托管也不能取代硬件钱包及其它更有效的安全方案。然而,现实是大多数的新用户不会在技术方面很娴熟,并且多用移动设备,如果我们要想为大众接受,我们就要目标这些人来设计。

这正是我们在设计PROPS钱包里需要采用的途径,我们计划是在20181季度推荐给YouNow上千万的用户。相背于设定一个复杂的程序羁绊用户,我们用多种方案的组合比如加密备份和生物验证来平衡安全和适用性。我们期待着发布使用,并会继续和社区成员一起开发最佳实践,令每一个人都能方便地存储加密货币。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有