google-chrome - Webauthn 安全地存储用户凭证数据

标签 google-chrome safari blob hmac webauthn

我正在尝试将 webauthn 添加到我的网络应用程序中,并且我想安全地存储带有凭据数据的私钥。我发现的使用凭证存储数据的方法有:hmac-secret 扩展、大 blob 扩展、CredentialsContainer.store() 。这些方法中的哪一种(如果有)可以安全地将数据存储在身份验证器上/与身份验证器一起存储?有更好的方法吗?

最佳答案

CredentialsContainer.store 与公钥凭证无关:它们永远不会被存储,只会被创建。 (您可以存储其他类型的凭据,例如密码,但标题显示“WebAuthn”,所以我将继续讨论该主题。)

hmac-secret 扩展(在 WebAuthn 级别公开为 prf 扩展)允许使用 HMAC 等 PRF 派生任意数量的 secret 。目前该功能落后于 chrome://flags/#enable-experimental-web-platform-features,但将在安全 key 方面获得最大程度的支持,并将在未来几个月内得到 Android 设备的支持。这是您问题的答案,但尚未完全准备好。

credBlob 扩展允许使用凭证存储少量固定数量的数据。然而,它最初并不是为了保密。只有较新的安全 key 才支持此功能。

largeBlob 扩展用于使用凭据(通常是该 key 的证书)存储 1 KB 或 2 KB 的数据。这将具有最少的安全 key 支持。

但是,目前这些选项在 Safari 中可能都不起作用。

关于google-chrome - Webauthn 安全地存储用户凭证数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75407223/

相关文章:

css - 奇怪的 Chrome 图像大小调整行为

html - Canvas 上的大字体在 Chrome 中需要很长时间

html - 即使启用了所有辅助功能/键盘设置,带有 href 的 anchor 也不会在 Safari 中获得焦点

css - 在 Safari 上无边框打印

php - 使用 PHP 在表中显示 MySQL 数据库 BLOB 图像

css - jQueryUI 模态对话框 - 拖动会导致 Google Chrome 中的位置发生意外变化

javascript - chrome.tabs.create 无法正常工作?

javascript - iOS Safari 上的 console.time()

python - 从 BLOB mysql python 写入文件

java - 带有 byte[] WHERE 子句的 SQLite 查询