微软在官方博客中分享了 Microsoft Password Manager 中 Passkey 同步功能背后的安全架构理念。Passkeys 旨在取代密码,提供更强大、防网络钓鱼的凭据,使登录过程更快捷、简易且安全。通过 Microsoft Password Manager,用户现在可以将 Passkey 保存并同步到所有登录了 Microsoft 账户的跨设备。而这项同步体验需要精心设计的架构来确保安全性,不削弱其安全属性。

整体架构概览
Microsoft Password Manager 中的 Passkey 同步构建在分层架构上,旨在安全地支持跨设备凭据。该系统在计算(处理敏感操作的区域)、密钥管理、存储和设备授权之间的边界应用了多个独立保护层。
总体而言,Microsoft Password Manager 中的 Passkey 同步结合了以下组件:
- 用于敏感 Passkey 操作的机密计算(Confidential computing)。
- 用于服务端加密密钥的硬件根信任密钥保护(Hardware-rooted key protection)。
- 用于安全激活和恢复的防篡改恢复存储(Tamper-evident recovery storage)。
- 跨注册设备的加密同步(Encrypted synchronization)。
Passkey 操作的机密计算
敏感 Passkey 操作,包括凭据创建、断言(assertion)和恢复验证,均在由硬件隔离支持的 Azure 机密计算环境中执行。这确保了:
- 加密材料在受保护的内存中处理。
- 主机环境无法检查正在使用的敏感加密材料(如 Passkey 和加密密钥)。
- 只有经过验证的服务代码才能访问受保护的加密密钥。
通过严格控制 Passkey 材料可以解密和使用的地方,确保敏感加密材料在可信执行边界内保持受保护状态,同时加强运营完整性。这些操作的访问还通过平台身份验证器(如 Windows Hello 或设备生物识别)进行用户验证,并使用设备绑定加密密钥来授权 Passkey 操作。
硬件根信任密钥保护
保护同步 Passkey 的加密密钥使用 Azure Managed HSM 进行保护。通过使用基于验证(attestation-based)的安全密钥释放机制来限制对这些密钥的访问。
在释放密钥之前,使用 Microsoft Azure Attestation 验证执行环境,确保密钥材料仅在可信机密工作负载中可访问,且不会释放到非机密环境中。这为服务端加密操作提供了硬件根信任锚点。Passkey 在同步前加密,并在授权的硬件隔离环境中处理。
安全注册和恢复
Microsoft Password Manager 通过安全、可审计的注册和恢复流程实现跨设备激活。此流程需要用户定义的知识因素(PIN)进行身份验证,所有保护均在机密计算边界内强制执行。
恢复操作在机密计算环境内进行验证,以确保强大的完整性保证。恢复尝试使用安全维护的重试计数器和相关恢复元数据强制执行,两者均记录在防篡改的 Azure Confidential Ledger 中。这防止了计数器篡改和回滚尝试。
为防止对低熵 PIN 的恶意暴力破解尝试,系统对连续错误尝试次数强制执行固定限制。达到此限制后,系统进入锁定状态。从锁定状态恢复需要通过从可信设备发起并通过用户 Microsoft 账户验证的 PIN 重置安全流程。
此设计确保恢复机制不会削弱应用于同步 Passkey 的保护。
为无密码未来而建
Passkey 代表了身份验证的重大进步。在 Microsoft Password Manager 中,工程师设计了一个同步系统,在强大的安全保护与无缝跨设备可用性之间取得平衡。
通过结合机密计算、硬件支持的密钥保护和设备绑定授权,Microsoft Password Manager 提供了能够抵御现代威胁的安全 Passkey 漫游。这些保护设计为独立层,共同在整个 Passkey 生命周期中保障其安全。
同步 Passkey 是微软无密码之旅的强劲进步,为用户带来了防网络钓鱼登录的简单性和安全性。微软期待未来继续推进这一旅程,带来新的功能和体验。
via Windows Blogs