经过 13 年的历程, Neulock诞生了,这是一种不同的密码管理方法。这里是articles[0] ofarticles.length == 2。
那是在 2011 年, 《传染病》仍然是电影素材;人们用单色涂鸦脸代替青蛙佩佩和柴犬进行交流,丹妮莉丝·坦格利安是让野蛮的卓戈卡奥找到爱情的小女孩。
就在那时,谷歌浏览器首次提出了这一提议。
您希望 Chrome 浏览器保存您该网站的密码吗?
保存该密码吗?这是浏览器现在所做的事情吗?哇,谢谢,Chrome,太方便了!想想看,我在网络浏览器上输入了大多数密码,所以这看起来是保存它们的好地方。
此外,最糟糕的情况是什么? Chrome 是安装在我的计算机上的一个程序。我的电脑!我是一位经验丰富的 Debian Linux 高级用户,宇宙中没有比我的硬盘更安全的地方了!
当然,Chrome,继续吧。保存此密码、下一个密码以及我在输入字段中输入的每个密码。
直到我又买了一台电脑。在放弃预装的 Windows 并转而使用我当时喜欢的 Linux 发行版之后,接下来要做的就是安装 Chrome。 Firefox Quantum 距离发布还有六年的时间,所以没有太多选择。
使用您的 Google 帐户登录?当然可以,为什么不呢?让我们去看看 Facebook 或者其他什么,然后……嘿,你还记得我的用户名 Chrome 吗?好吧,让我们登录 Facebook。等等,为什么密码字段已经填满了星号?不,亲爱的 Chrome,这一定是一个错误,我刚刚买了这台电脑,你的本地数据库是原始的。一旦我点击登录按钮,你就会意识到你的错误。还有……我参加了?
我立即去检查 Chrome 设置。我所看到的只会增加我的恐惧。我保存的所有网站和用户名都在列表中。只需点击一下即可获得明文密码。
两个期望都被打破了。首先也是最重要的一点是,我从没想过 Chrome 会在未经同意的情况下将我的密码上传到 Google 的服务器。他们要求我保存密码,而不是分享它们!
第二个期望是我的一厢情愿。我真丢脸。谷歌是世界上最酷的科技公司之一,它的工程师被认为是在 Googleplex 乒乓球比赛间隙完成不可能任务的天才。我认为 Chrome 以某种超级安全的方式存储我的密码,并且只在正确的时间检索每个密码,然后像忍者一样将其注入到它所属的精确输入字段中。我没想到会以纯文本形式看到它们。
我并不是唯一一个感到震惊的人。 Elliott Kember 称 Chrome 的密码安全性“疯狂”。在进一步的讨论中,Chrome 安全主管 Justin Schuh只是相当傲慢地耸耸肩。 Tim Berners-Lee 爵士站在 Kember 一边,称 Chrome 的密码管理器“是获取你姐姐密码的一种方式”。
经过这次经历后,我再也没有让自己相信任何密码管理器,尽管我知道这比在我愚蠢的头脑中编造奇怪的密码要好。但是,正如我们在巴西所说,被蛇咬伤的狗甚至害怕香肠。它在葡萄牙语中没有更多意义。
接下来的十年里,我在密码不安全的沙漠中徘徊。我一直渴望有一个更好的密码管理器,但它们似乎都遵循相同的原则:将所有密码捆绑在一个“保险库”中,用主密钥对其进行加密,并将该保险库上传到他们的云服务器。我永远无法相信这个模型。他们正在实施端到端加密吗?是否存在等待被利用的“密钥恢复”后门?又或许贾斯汀·舒 (Justin Schuh) 是对的:你的密码可以从任何存储密码的应用程序中“轻松恢复”,而试图让密码更难泄露的尝试“都只是戏剧”。从这个意义上说,尝试比信任密码管理器更进一步地保护您的密码是新手傻瓜的任务。
2019年,我进入巴西外交部IT部门。在那里,我跟随首席技术官兼技术大师 Fabio Cereda进行了学习。我从他身上学到了很多东西,并在他离开后接手了我的工作。网络安全始终被提上议程,因为该部生产了巴西联邦政府约 80% 的机密信息,其业务遍及所有可居住大陆的 240 多个地点。我们经常成为世界上最可怕的缩写词的目标,因此我们需要时刻保持警惕。这些年来,通过不断接触网络安全不同领域的问题,我开始整理出更好的密码管理器的原则。
我工作的地方有一个外交通讯博物馆。里面装满了密码本、铸铁密码机、手提箱便携式碟形天线、TELEX 适配器和一些臭名昭著的 Crypto AG C-52 机器的样本。这是总部与巴西驻外大使馆和外交使团之间一个半世纪以来秘密通信的展示。他们所有人都依赖某种加密货币来保守秘密。所有这些加密现在都被破坏了。
如果您考虑密码管理器,所有加密最终都会被破解的事实并不可怕。假设破解一个加密协议平均需要 15 年。只要每隔几年更改一次密码就可以了。一个像样的密码管理器应该时不时地升级它的加密技术,这样你就能始终保持领先地位。
可怕的是,不可能知道协议是否已经被破坏。或者更糟糕的是,如果它的设计有意隐藏了漏洞,就像 Crypto AG 机器的情况一样。情报机构和网络犯罪组织尽可能长时间地隐藏他们的零日漏洞。
我越是看到上一代企业级安全系统泄露秘密信息,有时甚至以灾难性的方式泄露,我就越不信任所有基于云的密码管理器所采用的保险库模型。
直到最近,这些担忧还只是理论上的。正如黑客同伴 @hossam26644 所写,
使用 Google 的密码管理器、Microsoft、Apple、1password、Bitwarden 等都没有问题。人们已经使用它们很长时间了,到目前为止零问题。
2022 年 7 月 25 日,他是对的。尽管他不相信他们中的任何一个人,但他又是对的。一年后,有令人信服的证据表明, 臭名昭著的 LastPass 泄密事件导致一些高价值的金库被破解,导致人们蒙受损失。超过 150 人,超过 3500 万美元的资金。
一个常见的误解是,要破解加密的金库,就需要破坏AES 算法本身。 LastPass 提醒我们破解加密是多么容易。 AES 很强大,但 LastPass 做出了糟糕的实施决策:主密钥要求太短、迭代太少,而且一些用户留下的金库很容易被暴力破解。
政府密码分析专家非常了解第 0 条原则。他们是我见过的最聪明的人,他们中很少有人会把钱花在仅受密码学保护的东西上。
他们中最谨慎的人坚持使用一次性密码本 (OTP)来实现极其安全的通信。事实上,他们把这个要求写入了绝密文件传输和存储的规定中。
原则上,OTP 密码无法被破解。它是明文(数据)和与数据(OTP 密钥)长度相同的随机值缓冲区的简单异或运算。通过再次将密码与相同的密钥进行异或,可以恢复明文。
尽管从密码分析的角度来看,OTP 牢不可破,但它也有一些不便之处:
对于全球性组织而言,为每个办事处提供 OTP 密钥是一项大型的持续后勤工作。更糟糕的是,它是整个安全模型的致命弱点!因为,要真正实现 OTP 的所有加密货币优势,您需要完美的物流,无论是在途物流还是静态物流。
Eve 应该在前往目的地的路上拦截您的 OTP 密钥吗?从那时起您的所有通信都会受到损害。
Eve 是否应该物理破解您的安全室并窃取您的 OTP 密钥介质?从那时起,如果密钥的使用部分没有从介质中正确删除,您的所有通信都将受到损害,甚至可能是您之前的通信。
如果您将 OTP 密钥实现为在发送信息时消耗的 1 GB 随机字节块,那么它显然缺乏前向和后向保密性。
最后,完美的加密技术是将责任从网络安全团队转移到物理安全团队的一种方式。
类似的问题也会影响离线密码管理器:它们会牺牲可用性以换取机密性,从而给您留下需要整理的后勤混乱。
任何运行KeePass本地副本的人都知道,您需要备份您的保管库。此备份最好是外部的,以防您的计算机存储损坏。您需要保持备份最新。并确保没有人可以访问它。并且不要将它们全部放在家里,以免它们成为洪水和火灾的牺牲品。并且不要将它们上传到 Google 云端硬盘;否则,您将不再使用离线密码管理器。和…
有一天,我的老板打电话给我。她想与十名高层人员共享一份 PDF。这些信息在他们眼中只能保留三天。她知道他们有动力与各自的团队分享这份文档以获得领先优势。这类信息应该亲自呈现,但必须是covid的。所以,她要求我让这个 PDF 无法复制和共享。
——做不到,我回答道。
我的老板是大使。这相当于外交上的将军。大使们不习惯听到“不”的回答。
我耐心地解释说,在计算机科学中,当您授予某人对资源的读取权限时,您就隐含地授予了他们复制和分发的权限。信息访问权不服从法定权利。即使我们以某种方式让共享文件变得不方便,他们也可以用手机拍摄屏幕照片并通过 WhatsApp 共享。如果他们可以在屏幕上看到文档,那么他们的相机也可以。
贾斯汀·舒是对的。如果某人获得了对您的计算机(或电话)的完全访问权限,他们就可以完全访问您(用户)可以通过该设备访问的信息。他是对的,但这并不能成为他在 Chrome 上实施如此糟糕的密码管理器的借口。
对于密码管理器来说,这意味着保护用户的设备始终至关重要。如果服务器泄漏,攻击者仍然需要经历破解金库的挑战。但是,如果黑客获得了运行密码管理器客户端的计算机的完全所有权,就没有什么可以阻止他们窃取所有密码。
这种情况在加密社区中经常发生。用户Alice拥有几十个比特币,这使她成为百万富翁。她曾被人肉搜索,或者从一开始就从未隐藏过自己的身份。她在桌面上的本地密码管理器中保留了种子短语的副本。 “这不是一个云密码管理器;而是一个云密码管理器。”我不会泄露,”她想。黑客找到了一种方法让她在她的计算机上安装后门。如果他们真的很好,他们可以在没有用户交互的情况下做到这一点。第二天早上,她醒来发现钱包空了。
尽管用户设备遭到入侵的前景黯淡,但仍有一线希望:作为用户,保护我们自己的设备是我们可以控制的事情。服务器泄漏不是。因 LastPass 服务器泄露而损失数百万美元的 150 多人对泄露或 LastPass 实施不充分的加密标准不承担任何责任。
如果无论密码管理器安全模型如何,用户设备泄露都是灾难性的攻击媒介,并且如果我们作为用户必须保护我们的设备,那么如果这是唯一的攻击媒介不是很好吗?如果我们可以构建一个在线密码管理器,其中任何秘密都不会离开用户设备,以便用户无需担心超出其控制范围的事情,例如服务器安全和 AES 实施细节?
作者@hossam26644在他的文章中继续说道:“也许我是一个安全狂,但我不想将我的密码信任给某个实体,无论他们的承诺和/声誉如何”。他又说对了。网络安全应该是经过验证和可审计的,而不是基于信任和声誉。
上述三个原则指导了我Neulock 密码管理器的开发。我花了三年的时间构思和迭代才达到目前的形式:一个可审计的基于云的密码管理器,通过设计而不是通过加密实现零知识。密码使用云在用户设备之间同步,但任何秘密都不会离开这些设备。云服务器的泄露不会泄露任何秘密,因为秘密永远不会到达云端。
Neulock 的三年制作过程将在第二部分中记录。