【问题标题】:Are public keys stored in the browsers in macos 11.4 and in iOS 14公钥是否存储在 macOS 11.4 和 iOS 14 的浏览器中
【发布时间】:2021-06-14 11:53:44
【问题描述】:

我已经在我的 mac 和 iphone 上测试了 https://webauthn.io/。在 iPhone 上,我可以使用 Chrome 注册并使用 Safari 登录,但在 macos 上,我必须在 Chrome 和 Safari 上分别注册。

我想知道公钥存储在哪里以及为什么在 macos 和 ios 上的行为不同?

【问题讨论】:

  • 至少浏览器在 macOS 上完全不同,而在 iOS 上,引擎是系统提供的,它们都在 Apple 提供的引擎上运行,只是改变了 UI。他们不允许提供自己的浏览器引擎,因此他们可能会在幕后共享一些资源
  • 嗨 Umut,它实际上是存储在您设备上的私钥。公钥由网站存储,在本例中为 webauthn.io。
  • 你说得对。

标签: ios macos-catalina webauthn


【解决方案1】:

通过 macOS Big Sur WebAuthn 凭据确实孤立于各个浏览器。实际上,这意味着在 Chrome 中进行身份验证时无法使用在 Safari 中注册的 Touch ID 凭据,在 Edge (Chromium) 中也不能使用 Chrome 凭据。必须为每个浏览器注册 Touch ID,并且凭据 ID 仅对注册它的浏览器有效。

正如您所说,iOS 在 14.5 中获得了操作系统级别的凭据存储(如果我没记错的话),类似于 Windows Hello。这带来了额外的好处,即允许在所有浏览器应用程序中使用 WebAuthn,而不仅仅是 Safari.app,而且 Touch ID 只需注册一次即可在任何浏览器应用程序中进行身份验证。

最后我要说的是,Apple 即将推出的由 iCloud 钥匙串支持的“密码”预览版似乎在 macOS Monterey 中提供了一个 Windows Hello 式操作系统级凭据存储,这是非常需要的:

https://developer.apple.com/wwdc21/10106

【讨论】:

  • 谢谢!写得很好。你有什么参考文档可以让我阅读更多吗?
  • 很遗憾,这大部分是我通过使用 WebAuthn API 的个人(和专业)经验亲身经历的艰苦学习。不过,在 Apple 领域,WebAuthn 中想到的最佳资源是 2020 年 10 月发布的这篇 WebKit 文章:webkit.org/blog/11312/meet-face-id-and-touch-id-for-the-web
猜你喜欢
  • 2021-12-30
  • 2015-04-06
  • 1970-01-01
  • 2012-03-26
  • 2018-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-19
相关资源
最近更新 更多