通行密钥(passkey)是什么?
通行密钥(passkey)是一种基于公钥密码学的无密码认证凭据。与像密码那样保存共享密钥(共享秘密)不同,通行密钥由两部分组成:一是存储在用户设备上并得到安全保护的私钥;二是由服务端保存的与之对应的公钥。
当用户进行身份验证时,设备会通过加密挑战来证明其持有私钥。该过程消除了传输或存储密码的需求,从而降低受到钓鱼和凭据盗窃的风险。
Passkey 身份验证是如何工作的?
Passkey 身份验证依赖于非对称加密和与设备绑定的凭据:
- 用户在服务上注册,从而生成一对公钥/私钥。
- 公钥由服务端保存;私钥则保留在用户的设备上。
- 登录期间,服务会发送一个挑战(challenge)。
- 设备使用私钥(private key)对挑战(challenge)进行签名。
- 服务使用公钥(public key)验证签名。
身份验证通常通过生物特征或设备 PIN 解锁,将强大的加密与用户友好的访问控制结合起来。
Passkey vs 密码:有什么区别?
Passkeys 和 密码代表本质上不同的身份验证模型:
- 密码: 可被重复使用、猜测或窃取的共享密钥
- Passkeys: 不会离开设备的唯一加密凭据
关键差异:
- Passkeys 可抵御网络钓鱼;密码则不行
- 密钥(Passkeys)消除跨系统的凭据复用
- 密钥(Passkeys)依赖设备安全性和用户在场
- 密码依赖于用户行为和策略执行
这种转变消除了攻击者依赖的主要攻击途径:被泄露的凭据。
密钥(Passkeys)安全吗?
Passkeys 通过移除共享密钥并在认证中依赖非对称加密,显著提升安全性。与通过网络传输凭据不同,认证通过挑战-响应(challenge-response)机制进行:私钥永不离开用户设备。此设计消除了依赖于凭据拦截或重复使用的整类攻击。
由于每个 Passkeys 都绑定到特定域以及加密密钥对,钓鱼(phishing)攻击无效。即使用户被诱骗去访问恶意网站,认证器(authenticator)也不会为不同的来源(origin)生成有效签名。同样,credential stuffing 和 password spraying 攻击会失败,因为不存在可在不同服务或账户之间重放的可复用密钥。由于每次认证请求都包含一个独特且有时间限制、不可复用的挑战(challenge),重放攻击(replay attacks)也同样得到缓解。
然而,Passkeys 的安全性并非绝对,并取决于若干底层控制。由于恶意软件或被入侵的设备可能通过认证器接口访问或滥用私钥,端点(endpoint)的完整性至关重要。通常需要通过 TPM 或安全隔离区(secure enclaves)等硬件支持模块来确保安全的密钥存储,以防止密钥被提取。此外,身份生命周期管理仍然是核心要求,包括预置/开通(provisioning)、恢复(recovery)、吊销(revocation)以及设备同步(device synchronization),尤其是在用户跨多台设备和多个身份提供方(identity providers)工作的企业环境中。
使用场景
- 面向员工访问的无密码认证
- 为 SaaS 和云应用提供安全登录
- 面向网页和移动应用的终端用户身份验证
- 减少因密码重置带来的帮助台工作量
- 强化 zero trust 和以身份为中心的安全策略
Netwrix 如何提供帮助
Passkeys 正在逐步被采用,但在大多数环境中,密码仍然被广泛使用。
组织仍依赖密码用于 service accounts、传统应用程序、混合身份配置以及离线系统。这些领域往往风险最高,因为它们更难以现代化,而且更容易被攻击者利用。
因此,强有力的密码策略执行仍然至关重要。
Netwrix Password Policy Enforcer 通过保护您环境中仍需要密码的部分来补充对 Passkeys 的采用。
使用 Netwrix,您可以:
- 在密码被使用之前阻止弱口令和已泄露的密码
- 在混合 Active Directory 和 Entra ID 环境中实施细粒度策略
- 减少遭受密码喷射和基于凭据的攻击的风险
- 提供实时反馈,帮助用户在第一次尝试时就创建符合要求的密码
- 与 NIST 800-63B、PCI DSS 等标准保持一致
安全并不等于在任何地方都消除密码。
而是要在它们仍然存在的地方对其进行管控。
实施更强的密码策略。使用 Active Directory 密码策略软件,阻止弱密码、重复使用的密码以及已泄露的凭据。下载免费试用。
常见问题
分享到