密码安全一直是人们长期关注的核心议题。 众所周知,很多人习惯使用容易被破解的弱密码,即使不这么做,记忆复杂的密码也绝非易事,这始终是一个挑战。
一个令人担忧的事实是,即使是那些由复杂字符组合而成的强密码,也无法完全抵御网络钓鱼和诈骗的威胁。 密码管理器虽然可以作为一种临时解决方案,但它们自身也存在不足和漏洞。
然而,前景是光明的:经过近十年的酝酿,通行密钥(Passkey)即将彻底革新我们的数字安全。 下面是对通行密钥的入门介绍,包括它们是什么,如何改变数字身份验证的格局,以及这对你的消费者应用程序意味着什么。
理解通行密钥
通行密钥提供了一种比传统的用户名-密码组合更加安全便捷的在线平台登录方式。 它们的优势在于对公钥加密技术的运用。 无需深入研究复杂的技术细节,每次登录时,你的设备都会接收到一个独特的登录凭证。
这个过程能够最大限度地降低黑客窃取你信息的风险。 这一突破是 FIDO 联盟长期努力的成果,该联盟由苹果、谷歌、微软等众多科技巨头组成,他们深刻意识到迫切需要一种更安全的身份验证方法。
通行密钥的工作原理
通行密钥隶属于 Web 身份验证 (WebAuthn) 的范畴。 该系统利用公钥加密技术,这是一种在各种安全消息传递和支付平台中经过实践检验的方法。
以下是一个简要的解析:
- 公钥和私钥:当创建帐户时,会生成两个密钥。 公钥存储在服务服务器上,不需要保密。 相反,私钥在你的设备上受到严密保护。
- 身份验证过程:登录时,服务会使用你的公钥向你的设备发起挑战。 设备上的私钥将应对这个挑战,而不会泄露任何敏感信息。 这确保了安全可靠的身份验证,有效防止黑客入侵。
对于用户来说,整个过程几乎是无感知的。 你所需要做的只是在设备或浏览器上出现提示时,输入 PIN 码或进行生物特征验证(例如 FaceID 或 TouchID)。
通行密钥还有一个额外的优势,那就是可以在各大科技公司(如苹果、谷歌、微软)的云服务之间同步这些密钥。 这个重要的功能弥补了用户体验上的不足,实现了在不同设备之间无缝切换,而无需重新注册密钥。 这被认为是 FIDO2 被广泛采用的一个关键因素。
由于通行密钥本身就包含了多个验证因素,因此它符合多因素身份验证 (MFA) 的定义,特别是满足以下条件:
- 拥有因素(你所拥有的东西)——用户拥有包含私钥的设备。
- 固有因素或知识因素——用户的生物识别信息(FaceID、Touch ID、指纹)或设备 PIN 码。
这些特性使得通行密钥成为登录过程中一种有效的独立身份验证因素,也可以作为逐步身份验证方案中其他因素的补充。 你可以参考这个通行密钥演示,了解其在实际应用中的效果。
设备兼容性
目前,通行密钥的跨平台功能仍在不断完善中。 苹果的 iOS 和 macOS 设备已经支持通行密钥,谷歌的 Android 设备也是如此。 微软也在积极加强对通行密钥的支持,并即将发布重要更新。
这里有一个最新的设备支持列表供你参考。
如何开始实施通行密钥?
只要你拥有必要的基础设施,实施通行密钥其实很简单。 架构中的关键部分是 WebAuthn 后端服务或服务器,它提供了用于管理密钥完整生命周期的后端 API 端点。
一旦建立了 WebAuthn 服务,就需要访问客户端 SDK 和库来执行客户端注册和验证流程。 好消息是,现在有许多广泛可用的客户端库可以简化这一过程。 例如,Authsignal 提供了以下 SDK:
- 用于通行密钥的 Javascript SDK
- 用于通行密钥的 React Native SDK
- 用于通行密钥的 iOS SDK
- 用于通行密钥的 Android SDK
值得注意的是,技术集成只是更广泛实施的一部分。 用户体验和安全考量也应该得到充分的重视。 这篇博客文章详细解释了通行密钥实施过程中需要考虑的因素。
通行密钥,未来已来
我们正处于通行密钥技术快速成熟的激动人心的时刻。 现代浏览器和设备,特别是在苹果和安卓生态系统中,已经广泛支持通行密钥,主流的消费应用程序也纷纷发布了通行密钥功能(例如,Kayak、TikTok)。 最后,通过 Authsignal 等开箱即用的通行密钥解决方案,技术集成变得更加简单,它提供了后端 WebAuthn 服务和客户端 SDK 等所有必要的组件。
你的应用程序不应该有任何借口或障碍来采用通行密钥,将其作为你与客户交互的关键部分,这将为他们提供无缝的用户体验,更重要的是,一种高度安全的体验。