这些天 WebCryptoAPI 有多安全?

信息安全 网页浏览器 网络服务
2021-08-28 13:22:00

1Password 工具(软件) 为 Teams 引入了1Password

我认为这是一个很棒的软件,但现在他们可以在浏览器中显示密码。

他们确实说:

我们对客户端上的所有内容进行加密,并且没有您的加密密钥副本。

他们使用WebCryptoAPI来做到这一点。有人知道这是否真的安全吗?

1个回答

这有多安全取决于实施。

密钥可以存储为 WebCryptoAPI 密钥对象并本地存储在 IndexedDB 中。然后可以使用这些来加密和解密数据,而服务器不需要密钥。您甚至可以将密钥标记为不可提取 - 这意味着永远无法导出底层密钥(忽略浏览器中内置的开发工具)。

浏览器存储使用方案(http/https 等)、端口(https 为 443)和域进行隔离。因此,如果密钥是从通过https://1password.com提供的页面存储的,那么它们只能被从该域提供的页面访问。

但是有一个警告。1Password 需要访问加密数据(如果您在其他地方登录,则将其提供给您)。如果恶意方可以控制您的 1password.com 站点的 DNS 系统,他们将能够为您提供一个页面,该页面会提取加密密码,使用密钥对象对其进行解密,然后将其重新上传到恶意服务器。这意味着 1Password 在未来的任何时候都可以获取您的密码。

除此之外,共享保险库的能力让我怀疑密钥是否会被标记为不可提取。这在技术上是可行的,但安全共享保险库密钥的系统将更容易实现。

简而言之,如果您信任 1Password,这应该比以明文形式发送到服务器的密码更安全。但是它仍然依赖于信任 1Password。

进一步说明。他们的网站状态 -

甚至允许队友在无法看到密码的情况下登录网站。

如果这样做的方式不允许足够技术的队友以明文形式提取密码,我会感到惊讶。我想不出一种方法来做到这一点 A. 不能在所有站点上可靠地工作并且 B. 需要使用明文密码信任 1Password 服务器或要求您的 PC 始终保持连接。