没有密码管理器就可以安全吗?

信息安全 密码管理
2021-08-23 16:57:31

我已经读过一千遍了,密码管理器是保护众多在线帐户的最佳方式,我想我很理解其中的原因。在实践中,存在一个问题:理想的解决方案目前不存在。

为什么密码管理器不理想

1Password 和 Dashlane 等最著名的“云” PM 是有偿的,它们要求我信任一个拥有我拥有的最重要数据的专有闭源系统。LastPass,除了闭源问题,有一个非常糟糕的、半生不熟的用户界面,我上次尝试时充满了错误,它的界面只是部分翻译成我的语言。除了我的浏览器之外,将它与其他应用程序一起使用也很痛苦,因为我必须打开浏览器,打开 LastPass 扩展,搜索条目,复制用户名,切换窗口,粘贴,然后重复输入密码。最后,我已经阅读了太多关于其中发现的漏洞的信息,因此无法适应它,而且我通常不相信“免费”(如免费啤酒)云存储。

然后是 KeePass,这是我所知道的最好的解决方案。它的主要问题是没有能够同步两个数据库的 iOS 等效应用程序(与其兼容的 iOS 应用程序只是用本地版本覆盖远程版本,可能会覆盖远程版本中的更改)。

在任何情况下,将我的密码数据库与我的手机同步都需要使用专有系统或使用标准云服务,我不想使用它有几个原因(主要是不想在我的笔记本电脑上有一个新的后台进程)只同步一个文件,并且不想将我的数据提供给云提供者和任何可以读取其数据的人,即使是加密的 KP 数据库)。

用什么代替它们

由于所有这些原因,我目前正试图重新使用我的大脑作为密码管理器。我能够为我真正关心的几个帐户记住一些相当安全的密码短语,并且我正在研究一种密码方案,该方案相当难以猜测并为不同的站点提供不同的密码。这些通常将用户记住的秘密值与有关站点的一些信息(例如其名称)混合在一起。

我可以使这种方法起作用,但是我担心,例如,某些安全性较差的网站上的密码泄漏,使某人能够分析我的一个或两个“安全性较低”的密码,并猜测该方案。要解决的主要问题似乎是设计一个足够简单实用的方案,同时防止不时泄露一些密码。

这让我想到了我的问题:是否有可能创建如此好的密码方案,并且该方法提供的安全性是否不逊于精心设计的密码管理器

4个回答

就我个人而言,我记住了 ~5 >= 12 个字符的完全随机密码。这些用于关键站点,密码最多在两个站点之间使用,如果重复使用,那么这两个站点对我来说有不同的电子邮件地址和用户名。

对于其他不太重要的站点,我映射了 3 个随机的 8 个字符串 + 站点名称。例如“4QvkmvBt-StackExchange”,我可能也有“4QvkmvBt-reddit”。我有自己的架构,用于将站点映射到随机字符串。我也对密码政策不允许我使用它的网站感到非常不安。我个人认为这足够安全。如果我意识到某个站点已被入侵,我将使用该随机字符串替换所有密码。

这对我个人来说已经足够好了。它不像密码管理器可以提供的密码那么强大,但它也很方便(它们总是可用 - 在我的脑海中)并且足够好。如果由站点正确存储,它们应该是不可能暴力破解的。如果有人确实以某种方式获得了明文密码,则损害是有限的。我也没有理由相信有人会付出高于平均水平的努力来闯入我的账户。

我不喜欢密码管理器,因为它是单点故障。如果发现漏洞,任何主要的密码管理器也将成为大规模攻击目标。但是,对于不记得长随机字符串的人,我仍然会推荐它们。

您可以使用无状态(或无保险库)密码管理器,例如https://lesspass.com/基本上它会做你手动做的事情(它生成密码function(master_password,website_name)),只是这次function是一个安全的散列函数而不是连接。

通过使用每个网站的“计数器”令牌,您可以更改同一网站的密码。

我想这会解决你的担忧。

我会建议您可能不需要放弃使用密码管理器。

您似乎实际上有一个技术问题:没有 iOS 应用程序能够智能地同步数据库。但是,他们似乎能够将文件复制到不是云提供商的可信赖的地方(?)

我看到一些可用的选项:

不同步 keepass 文件

您需要桌面和移动设备上的所有密码吗?也许您可以使用单独的 keepass 文件。

获取应用程序以实现该功能

如果您拥有所需的知识、资源和时间,要么自己实施,要么说服其他人去做。范围可以从简单地打开错误报告/在邮件列表中提及问题到雇佣开发人员来做这件事。

通常,在请求中附加赏金应该会有所帮助。

手动同步

您可能不会太频繁地添加密码(而不是阅读它们),因此手动执行它应该是可行的(通过手动输入丢失的条目或将文件移动到正确的方向)。

仅在移动设备上添加条目

(如果您的 keepass 应用程序能够复制到远程)

仅在移动版本上生成新密码。桌面一个充当只读。因此,由于它始终具有主版本,因此没有损失。

在桌面上同步

(如果您的 keepass 应用程序能够复制到远程)

让移动应用程序同步文件以保存在桌面上与您使用本地 keepass 的文件夹不同的文件夹中。然后触发桌面上两个文件之间的智能同步(您可以复制回 iPhone 或使用更大的桌面文件)。请注意,您可以在需要时手动运行“守护程序”(从而节省后台进程)。

我会给你一个典型的 IT 答案:视情况而定。它取决于什么?您愿意承受的复杂程度以确保您的安全。

几年前,在一次安全会议上,我听到一位演讲者谈论他的密码程序。他登录的每个系统都有自己的密码。这些密码每 30 天更换一次,他将密码保存在纸上并存放在保险箱中。这可能是管理密码最安全的方式。但是PITA因子真的很高。

Hector 有一个很好的方案,但它有一个失败之处——它在密码中列出了该站点。一旦密码被泄露,坏人就可以找出该算法并解开整个射击比赛。

请记住:密码越长,暴力破解所需的时间就越长。如果坏人试图猜测密码,每个额外的字符都会使持续时间成倍增加。

一个好的中间解决方案是拥有一个用于许多网站的密码。然后任何财务或有价值的东西都有自己的密码。所以电子邮件、银行和投资账户都有不同的不相关的长密码。其他一切(供应商网站、学校、披萨店等)都将具有“标准”密码。