Passkeys:什么哎呀,为什么?
>经常在前端社区中被忽视,但Passkey对用户体验的影响,尤其是在身份验证和形式处理方面,是不可否认的。 本文探讨了Passkeys和Webauthn API,对这项新兴技术提供了全面的了解。 目录的
>键术语
了解Passkeys
- PassKeys:密码更换
- 加密解释
- >访问Passkeys
- > Passkeys vs. Webauthn
- 身份验证过程:摘要
- 详细介绍了Passkey实现
- 潜在的缺点
- Passkeys的未来
- 更多资源
- 键术语
- 浏览Passkeys的世界需要熟悉特定术语。 让我们澄清一些关键概念:
依赖派对(服务器):
服务器处理身份验证请求。 我们将在本文中使用“服务器”。- 客户端:> Web浏览器或操作系统。 >
-
> authenticator:软件或硬件生成和存储公共密钥对。
- > fido:>定义FIDO凭据的开放标准组织。
- > webauthn:
passkeys的基础协议(也称为fido2凭据或单位设备fido凭据)。> passkeys: - webauthn具有云同步(多设备FIDO凭据,可发现的凭据或居民凭据)。> 公共密钥密码学:
- >使用私人和公共密钥对签名/验证或加密/解密的系统(非对称加密)。 rsa: >公共密钥加密算法。
-
>椭圆曲线密码学(ECC):
一种现代的公共密钥加密算法。 > - ES256:
使用ECDSA签名算法的椭圆曲线公共密钥,带有SHA256哈希。> > rs256: - 了解Passkeys 在讨论Passkeys之前,我们必须了解Webauthn(FIDO2)。 PassKeys在Webauthn上构建,利用公共密钥密码学替换密码。 安全设备(硬件键或TPM)生成私钥和公共密钥。
- passkeys.dev
- passkeys.io
公共密钥公开访问,而私钥仍将存储在生成设备上。 WebAuthn的关键限制是设备依赖性。丢失设备意味着失去访问权限。 Passkeys通过云同步解决此问题,从而使多个设备访问访问。 但是,重要的是要注意,也存在单个设备凭证。
>>目前,iOS,MACOS和Android为云同伴Passkey提供了全面的支持,尽管浏览器兼容性仍然是一个因素。 Google密码管理器和Apple iCloud钥匙扣有助于同步。
PassKeys:密码更换
>公共密钥密码学采用签名。 通过签名算法使用私钥处理数据,然后使用公共密钥进行验证。 任何人都可以生成一个密钥对,但是只有专用密钥才能使用相应的公钥创建签名。 此签名替换了密码。 服务器存储公钥,身份验证涉及通过签署随机挑战来验证私钥的拥有。
这种方法消除了与密码泄漏相关的风险。 如果数据库被妥协,则仅暴露了公共密钥,使攻击者无用。 由于浏览器记住凭据,简化了登录过程,因此被遗忘的密码成为过去的事。 生物识别技术或引脚可以增强安全性。加密解释
>公共密钥密码学利用私人和公共密钥对。 加密使用收件人的公钥,确保只有收件人的私钥才能解密。这提供了保密性
。 通过签名和验证来确保真实性。 发件人的私钥符号带有消息哈希,只能使用发件人的公钥进行验证。> >访问Passkeys
>访问需要密钥生成和存储,通常由 authenticator
(硬件或软件)促进。 软件身份验证器可能会使用TPM或安全的飞地,而硬件身份验证器则包括Yubikeys等设备。客户端到身份验证器协议(CTAP)提供了一个接口,用于通过各种方法(NFC,USB,蓝牙)访问身份验证器。 一个独特的功能是使用手机(通过蓝牙)作为缺乏本机Passkey支持的设备的身份验证器。
> Passkeys vs. Webauthn在存储和登录过程中,
passkeys(多设备)与WebAuthn键(单个设备)不同。 WebAuthn需要一个用户句柄和一个允许的列表,而Passkeys则利用服务器的域名识别关联密钥,从而简化了登录过程。 在密码学上,它们本质上是相同的。>身份验证过程:摘要
WebAuthn和Passkey生成都涉及接收服务器挑战并使用navigator.credentials.create
>签署新挑战,然后由服务器验证。navigator.credentials.get
详细介绍了Passkey实现
passkey的用法涉及
证明(注册)和
响应包括公共密钥和navigator.credentials.create
(包含
// ... (code snippet for PublicKeyCredentialCreationOptions) ...
)。 服务器验证此数据并存储公共密钥,ID,以及(可选)clientDataJSON
和cose算法。type
断言challenge
origin
attestationObject
>处理断言。
响应包括签名和
(包含原点哈希和navigator.credentials.get
)。 该服务器验证签名,
// ... (code snippet for PublicKeyCredentialRequestOptions) ...
>
authenticatorData
潜在的缺点signCount
clientDataJSON
>当前限制包括有限的操作系统支持(尤其是Windows和Linux)以及Google和Apple的Passkey平台之间的互操作性。signCount
>
广泛的操作系统采用将推动使用增加。 密码管理人员将集成PassKey支持,而Android和iOS上的本机支持将进一步巩固其位置。 Passkeys承诺未来无密码的未来,增强安全性和用户体验。
更多资源
>实时演示
演示github存储库
> Yubikey文档
以上是Passkeys:什么哎呀,为什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)