密码管理员可以读取我的安全数据吗?如果不是,共享如何在幕后工作?

信息安全 密码 密码管理 AES
2021-08-22 19:28:39

市场上所有流行的密码管理器都宣传它们具有 AES-256 级安全性。简而言之,用户拥有主密钥,密码管理器拥有密文。因此密码管理器无法读取任何用户数据。

密码管理器如何具有在朋友和家人之间共享密码的功能?

由于密码管理器只有密文,因此在与他人共享时,它应该拥有其他人的主密钥,以创建新的密文(可以用其他人的主密钥解密)。

通过将数据共享为纯文本或可能具有临时共享密钥,可以实现上述目标。即使他们有任何一种解决方案,编辑也不应该起作用。

Dashlane 等应用程序允许使用可编辑选项进行共享。在不知道双方主密钥的情况下怎么可能做到这一点?他们是否在我不知情的情况下以某种方式保存了我的密钥?

2个回答

我为 1Password 工作。我们无法解密您的数据,但您可以共享它。我将描述如何在 1Password 中进行更具体的交谈,但它也应该让您对其他密码管理器使用的方法有所了解。

在 1Password 的情况下,您的数据被组织到保险库中。单个保管库中的所有项目都使用相同的对称密钥进行加密。保管库密钥 AES-256 由用户的客户端在创建保管库时在其自己的设备上创建。因此,当有人(例如 Patty)创建保险库时,将创建一个新的保险库密钥,并且该保险库密钥将用于加密 Patry 添加到该保险库的任何项目。

当另一个用户,比如 Molly,创建她的帐户时,1Password 客户端会做很多事情。其中之一是它将生成一个非对称密钥对(公钥和私钥)。同样,这一切都发生在 Molly 的机器上。没有其他人拥有她的私钥。公钥和私钥在数学上是相互关联的,以某种方式允许某人使用 Molly 的公钥加密某些东西,而这些公钥只能用 Molly 的私钥解密。

因此,当 Patty 与 Molly 共享保管库时,Patty 使用 Molly 的公钥加密保管库密钥。然后 Molly(并且只有 Molly)可以使用他的私钥解密该保管库密钥。

我已经跳过了几个步骤和其他控制,但如果您想了解更多详细信息,请参阅1Password 安全设计文档虽然细节也因密码管理器而异,但一般方案是使用对称密钥加密数据,然后使用非对称密码术共享对称密钥。

这可以通过提供者无权访问密码的方式来实现。例如,密码可以是非对称加密的。如果密码使用您的公钥加密,并且使用您朋友的公钥加密,则只有你们两个可以读取密码。您可以使用两个公钥修改和重新加密密码。提供者无法读取密码。

我不知道 Dashlane 或其他密码管理器是否真的这样做,但这当然是可能的。