谁创建了密钥(将创建多少个?)

r j*_*r j 9 authentication passkey

密码很好。数学很好。技术不错啊 [网络标准是Zumutung <- 询问 chatgpt]

https://security.googleblog.com/2023/05/so-long-passwords-thanks-for-all-phish.html

我仍然没有看到什么:

  1. 什么软件创建密钥。用户自主权很重要,也是一个关键问题(双关语)。我真的没有在任何地方看到这个答案。

通行证管理器还是操作系统?它应该是通行证管理器,因为我们将秘密存储在我们信任的通行证管理器中。我对 Apple、Google、Microsoft(或 Linux)没有敌意,顺便说一句,我使用 Google Pass Manager。但这应该是一个选择,如果您选择一个开源通证管理器(我将来可能会这样做),它应该创建密钥对(以及秘密私钥)。然而,在我看来,通行证管理器可能只能从操作系统获取 API,并且操作系统目前会创建密钥。就目前来看,未来世界上所有的秘密都将由3家美国公司创造?

https://developer.apple.com/documentation/authenticationservices/public-private_key_authentication/supporting_passkeys

还有一件事我无法理解:

  1. 打算创建多少个万能钥匙。密钥需要一个通行管理器。域服务提供商(依赖方)是否应该让不使用跨平台通行管理器的用户在 Apple、Google、Microsoft(后来在 Linux)上创建密钥,从而最终在 4 个通行管理器中拥有秘密(希望那些不使用通行管理器的用户,现在加强游戏并为他们的所有这些帐户安装残酷的安全措施,因为破坏其中一个帐户就足够了)。

或者设计意图只是让他们创建唯一的密钥(直到删除或更改),并且用户(实际上是 AGML)有责任跨平台同步密钥?这将如何发生?导出、加密导出,神奇吗?

[热烈欢迎这个问题在一分钟内被运营商之类的投票降低到-4......我实际上已经研究了很多。提出一个简单但关键的问题可能会显示出大量的研究工作。似乎没有人问谁创建了密钥(但这对于安全可能很重要,而且并不是每个用户都是绵羊材料:他们确实知道为他们创建了一些秘密,并且很多人想知道谁创建了它以及谁管理了它。您或您的通行证管理员创建了密码,这确实可以理解。我想我设法挖掘了两个简单的核心问题:谁应该创建通行密钥以及如何为那些不想付出努力的人同步它投资(时间,精力,金钱)在一个真正的跨平台通行证管理器上。当且仅当这两个问题得到回答并传达给用户(!)时,通行证才有可能取得成功,这将是伟大的。而且没有人在任何地方谈论它们!]

nme*_*elo 10

关于谁持有密钥的问题,重要的是要了解依赖方(运行 JavaScriptnavigator.credentials.create()函数的站点)有能力以某些方式控制事物。

有两种可能性:

  1. 依赖方指定publicKeyCredentialCreationOptions .authenticatorSelection.authenticatorAttachment= cross-platform:浏览器将要求用户插入“漫游验证器”,通常是 USB 密钥。

  2. 依赖方指定publicKeyCredentialCreationOptions .authenticatorSelection.authenticatorAttachment= platform:这是您可能指的附件类型,即操作系统(或即将推出的第 3 方应用程序)持有密钥的情况。

要了解更多信息,请查看 Webauthn 规范。最新的编辑草稿在这里: https: //w3c.github.io/webauthn/#dictionary-authenticatorSelection包含有关上述参数的所有文档。

编辑:删除了有关requireResidentKey参数的不正确信息。请参阅下面@agl 的评论。

  • “该参数 requireResidentKey 是一个布尔值,如果设置为 true,则指示浏览器不应同步该密钥。” requireResidentKey 不控制同步。(事实上​​,设置它使您更有可能获得同步凭据。)它指定该凭据是“可发现的”,即无需指定其凭据 ID 即可找到该凭据。这意味着它可以在不先输入用户名的情况下工作,可以出现在自动完成等中。 (3认同)

agl*_*agl 2

什么软件创建密钥。用户自主权很重要,也是一个关键问题(双关语)。我真的没有在任何地方看到这个答案。

密钥由“验证器”创建。WebAuthn 作为标准,并不关心身份验证器是什么。实际上它可以是安全密钥(*)或密码管理器。

答案似乎是“操作系统”的原因是,在 iOS 16 和 Android 13(撰写本文时的当前版本)上,只有iCloud 钥匙串或 Google 密码管理器(分别)可用于创建密钥。但这并不是根本性的,在 iOS 17 和 Android 14 中,其他密码管理器有 API 可以插入密钥流程。

打算创建多少个万能钥匙。

一个帐户通常只有一个密码,但可以有多个密钥。如今,这已成为一种实际需要,除非用户每次登录时都想拿出手机,因为同步功能尚未在所有地方都可用。但即使在同步运行良好的世界中,用户也可以根据自己的意愿注册多个密钥,并且 API 就是围绕此设计的:它会提示用户何时使用手机登录,以便网站可以提示用户注册本地设备。

(*) 万能钥匙应该同步,如果您在安全密钥上创建万能钥匙,则它不会同步,因此从技术上讲它不是万能钥匙。但我们假设使用安全密钥的人足够专业,能够理解这一点,并且不会因这种区别而使 UI 混乱。