“骰子键”创造一次掷骰子人生的主密码

2020-08-22 01:06:18

现代网络安全,加上适当的偏执最佳实践,需要满足一些苛刻的要求:携带一把物理双因素密钥,以便在新电脑上插入并验证自己的身份,但如果你丢失或打破了那块小小的塑料,你的账户可能会被锁在门外。对每个网站使用不同的、完全无法猜测的密码,不要重复或写下来。即使你选择了密码管理器--你应该这么做--你也需要多年来记住一个很长的主密码,否则就有可能失去对其余密码的访问权限。

或者,你可以将所有的复杂性降低到一个塑料盒里,一卷25个骰子。本周,加州大学伯克利分校(University of California,Berkeley)的计算机科学家斯图尔特·谢克特(Stuart Scheck Hter)将推出DiceKeys,这是一个简单的工具包,用于物理生成单个超级安全的密钥,可以作为创建未来几年甚至几十年你生活中所有最重要的密码的基础。DiceKeys只需要一个看起来有点像动画板的塑料装置,以及一个随附的网络应用程序来扫描产生的骰子,就可以创建一个高度随机的、在数学上无法猜测的密钥。然后,您可以使用该密钥派生密码管理器的主密码,作为种子创建用于双因素身份验证的U2F密钥,甚至可以作为加密货币钱包的密钥。也许最重要的是,骰子盒被设计成永久的脱机密钥,以便在丢失、遗忘或损坏时重新生成主密码、加密密钥或U2F令牌。

谢克特说,你只要掷骰子就行了。上周,谢克特在Usenix Usable Privacy and Security研讨会的一次演讲中展示了DiceKeys,目前他在CrowdSupply上以25美元的价格提供DiceKeys套件的预订,预计明年1月发货。当你想要做一些需要超强密码的事情时,你不需要输入一个大秘密,你只需扫描它们就可以了。

事实上,谢克特打算让大多数DiceKeys用户只滚动一次DiceKeys。摇动袋子里的钥匙后,用户把钥匙扔进塑料盒,然后卡住盖子,将钥匙永久锁在适当的位置。然后,用户使用DiceKeys应用程序扫描骰子盒-目前DiceKeys.app是一款托管在DiceKeys.app上的Web应用程序-可以访问他们的笔记本电脑、手机或iPad相机。该应用程序根据骰子生成密钥,检查面孔上类似条形码的符号,以确保它正确解读骰子的字符和方向。谢克特说,尽管DiceKeys应用程序的当前版本是托管在网络上的,但它的设计是为了让用户的设备永远不会传出任何数据。

谢克特说,由于每个键面上的数字和字母不同,以及骰子的方向不同,由此产生的排列大约有196比特的熵,这意味着骰子的放置方式有2196种不同的可能性。谢克特估计,这种可能性大致相当于四五千个太阳系中的原子数量。他说,有了现代技术,你不可能真的造出一台大到足以猜出这个数字的计算机,而不把自己压得喘不过气来。

骰子扫描后,该应用程序然后提出使用它生成的密钥来派生一个超长的纯随机密码短语,该密码短语可以剪切并粘贴到密码管理器中作为其主密码。DiceKeys应用程序不存储它通过扫描骰子、主密码或其他任何东西创建的密钥。但最重要的是,它可以通过重新扫描骰子盒来根据命令重新生成密钥和密码。

谢克特还在构建一个独立的应用程序,该应用程序将与DiceKeys集成,允许用户将DiceKeys生成的密钥写入他们的U2F双因素身份验证令牌。目前,这款应用程序只支持开源的SoloKey U2F令牌,但谢克特希望在DiceKeys发货之前将其扩展为与更常用的U2F令牌兼容。允许与他的U2F令牌应用程序集成的API也将允许加密货币钱包开发人员将他们的钱包与DiceKeys集成,这样DiceKeys就可以通过兼容的钱包应用程序生成保护您的加密币的加密密钥。

DiceKeys用来生成密码和密钥的加密散列方案可防止任何人,如流氓密码管理器或加密钱包,向后工作以获取用户的底层DiceKeys密钥。因此,DiceKeys旨在允许用户为许多应用程序生成密码和密钥,并在必要时重新生成它们,而不会影响其他应用程序的安全性。

谢克特还认为,塑料骰子盒相对来说是面向未来的。它比一张写有密码的纸更耐用,也更难丢失。他说,它不会蹒跚学步,可以承受从最高的人的高度坠落。(谢克特说,他也在研发一种防火钢制版本。)。虽然几十年后,世界可能已经摆脱了蓝牙和USB-C等标准,但DiceKeys许可证允许开源社区维护它;在最好的情况下,它可以无限期地继续工作。

谢克特称DiceKeys仍处于阿尔法测试阶段,目前它的安全性并不完美。例如,在网络上托管DiceKeys应用程序会让它容易受到黑客的攻击,黑客可能会劫持运行它的服务器,让自己获得它生成的密钥和密码的副本。但谢克特表示,他正在构建这款应用的iOS和Android版本,他希望在DiceKeys发货给客户之前准备好-这是一个重要的安全改进,曾观看过谢克特的Usenix演讲的斯坦福大学著名密码学教授丹·博尼(Dan Boneh)说。可以对应用程序进行反向工程,以确保其功能符合预期。Boneh在给“连线”的一封电子邮件中写道,想必一些安全机构会这样做,并将他们的发现报告给我们其他人。这在云中是做不到的。

但在其他方面,Boneh辩称DiceKeys是引导用户正确行为的好方法。例如,它的设计目的是让人们更容易使用密码管理器,这是一种广泛推荐的安全做法,因为密码管理器允许用户为他们所有不同的账户生成强大的、唯一的密码。

尽管DiceKeys最初可能对密码和安全社区具有最大的吸引力,但谢克特表示,他认为它是一种工具,适用于那些想要采用密码管理器和U2F令牌,但又害怕忘记主密码或丢失U2F令牌的人。这是为了帮助人们克服这些问题。谢克特说,它是面向日常用户的。它绝对是为了让人们更容易访问安全而设计的,因为这是他们可以理解的东西。它是盒子里的一串字母和数字。

更正8/21/20 11:45美国东部时间上午:这个故事已经更新,以反映骰子可以定位在2196个不同的组合,而不是如前所述的296个不同的组合。

🎙️收听“连线”,这是我们关于未来如何实现的新播客。收看最新剧集,订阅📩时事通讯,跟上我们所有节目的最新动态。

💻使用我们Gear团队最喜欢的笔记本电脑、键盘、替代打字设备和降噪耳机升级您的工作游戏