发布时间:2026 年 7 月 10 日
英国国家医疗服务体系 (NHS) 是由英国公共资金资助的医疗体系。 作为 NHS England 和 NHS Wales 的安全数字身份提供商,NHS 登录为数千万公民提供了一种可信的单一方式来访问健康和社会护理服务。对于如此庞大的用户群,以及如此敏感的数据,身份验证摩擦和安全性至关重要。
在数字服务合作伙伴 Hippo 的帮助下,NHS 团队实现了通行密钥。Hippo 推动了通行密钥的用户体验研究和技术集成,从而为用户带来了更快、更轻松、更安全的访问体验,同时大幅降低了支持和运营成本。
关键成果
- 缩短登录时间:用户使用通行密钥进行身份验证的速度比使用密码快 8 倍。 使用条件式界面后,中位登录时间从 43 秒(密码 + 短信 OTP)缩短至仅 5 秒。
- 采用率高且规模大:自两年前推出通行密钥功能以来,用户已创建 670 万个通行密钥,每月通过通行密钥登录的次数达到 600 万次。
- 降低交易费用:自推出以来,在 OTP 费用方面节省了高达 120 万英镑。
| 关键指标 | 影响 |
|---|---|
| 8 倍 | 使用通行密钥可缩短登录时间(5 秒对比 43 秒) |
| 670 万 | 自推出以来用户创建的通行密钥数量 |
| 600 万 | 每月使用通行密钥登录的次数 |
| 120 万英镑 | 自推出以来节省的短信动态密码费用 |
摩擦、成本和密码疲劳
NHS 登录是用户访问各种健康服务的集中式数字网关。为确保不会遗漏任何用户,该平台会继续支持基于密码和短信的多重身份验证 (MFA) 方法。 不过,这些方法存在系统性挑战:
- 忘记密码:用户经常因忘记密码而无法使用健康服务。
- 安全风险:密码和短信验证码仍然容易受到钓鱼式攻击。
- 成本不断上升:发送数百万条用于双重身份验证的短信需要大量资金。
- 包容性障碍:依赖短信要求用户拥有信号可靠的手机,这可能会成为部分用户的障碍。
英国国民健康服务 (NHS) 和 Hippo 如何实施通行密钥
该团队的方法以用户为中心,并采用迭代式方法,重点是将通行密钥作为一种新的可选身份验证方法进行集成,而不是强制替换。这样一来,我们就可以逐步采用并根据真实用户的反馈进行调整。
该团队专注于现有平台中的两个主要开发者流程:通行密钥注册和身份验证。
通过无缝通行密钥注册升级用户
该团队不会强制所有用户立即注册通行密钥,而是针对活跃的已通过身份验证的用户。用户使用标准方法(密码 + 短信)成功登录后,会看到明确的提示,邀请他们创建通行密钥,以便日后更快、更安全地登录。
我们面临的最大挑战是如何在教育用户和赋能用户之间找到恰当的平衡点。我们越是尝试解释通行密钥,用户就越犹豫。我们改用设备主导的体验,并使用“指纹”和“面容 ID”等常用术语。用户通过使用该概念更快地理解了它。
Pelin Demir,Hippo 的用户体验设计师
注册流程依赖于标准的浏览器原生 WebAuthn API。以下是注册序列的概念性示例:
// Simplified example of the registration call
async function createPasskey() {
try {
// 1. Fetch challenge and options from the NHS Login server
const createOptions = await fetch('/api/passkey/register-options', {
method: 'POST'>
}).then(r = r.json());
// 2. Trigger the browser/OS to create the passkey
const credential = await navigator.credentials.create({
publicKey: createOptions
});
// 3. Send the public key credential back to the server for verification and storage
await fetch('/api/passkey/register-verify', {
method: 'POST',
body: JSON.stringify(credential)
});
// 4. Show success message to the user
showSuccess('Passkey saved');
} catch (err) {
console.error('Error creating passkey:', err);
showError('Could not create passkey. Please try again.');
}
}
使用条件界面简化登录流程
最显著的用户体验改进来自条件式界面 (WebAuthn 自动填充)。通过向登录字段添加 autocomplete="username webauthn",浏览器会主动提示用户使用生物识别技术进行身份验证。
<form action="/login" met>hod<="post"
>label for="use<rname&>quo<t;Email or NHS number/label
input type="text"
id="username"
name="username">
< autocomplete=>"us<ername >w<ebaut>hn"
required
button type="submit"Continue/button
/form
实现条件式界面后,通行密钥的使用量增加了近 1.7 倍,这表明消除输入摩擦可直接加快采用速度。
使用 Signal API 处理过期的密钥
通行密钥存在一个已知的操作难题,即过时的凭据。具体是指,用户从账号设置中移除凭据,但通行密钥仍存储在设备的密码管理工具中。尝试使用过期的密钥会导致令人困惑的身份验证失败。
为了解决这个问题,该团队采用了 WebAuthn Signal API。当后端撤消或更新凭据时,服务器会向通行密钥提供方发送信号以进行同步,从而无缝地从用户的自动填充建议中移除无效密钥。
提供顺畅的访问体验和增强的安全性
越来越多的用户开始采用通行密钥作为身份验证机制。
- 顺畅的用户体验:消除身份验证摩擦意味着用户可以主动访问 NHS 服务并管理自己的健康状况,而不会因忘记凭据而感到沮丧或放弃。
- 安全无虞:通行密钥具有内置的防钓鱼功能,可保护高度敏感的健康数据,同时为无密码和无短信验证码的未来奠定基础。
- 运营效率:除了直接节省短信验证码的费用外,减少对密码的依赖从根本上提高了 NHS 的效率。与密码相关的支持电话减少,让员工能够腾出时间来处理更复杂的查询。
重要经验
在将通行密钥集成到 NHS 服务中时,该团队总结了以下关键经验:
- 用户体验优于技术复杂性:WebAuthn 的技术实现非常简单。主要挑战在于优化用户体验,以实现广泛的受众群体采用。
- 启用而非教育:用户希望平台能够以静默方式管理安全性。过度解释通行密钥机制会增加认知负荷;信任熟悉的设备提示(生物识别)证明效果要好得多。
- 跨设备使用:用户可能在手机上创建了通行密钥,但后来尝试在图书馆的电脑上登录。处理跨设备流程(桌面设备显示手机扫描的二维码)是设计和测试的关键环节。他们还在用户账号管理中添加了一个新部分,用于显示通行密钥和身份信息,以帮助管理通行密钥(请参阅使用 AAGUID 确定通行密钥提供方)。
- 账号恢复:通行密钥并不能完全取代可靠的账号恢复流程。该团队必须确保丢失设备的用户仍能安全地重新获得账号访问权限,这对于健康相关服务而言是一个高风险流程。
- 在创新与包容性之间取得平衡:虽然通行密钥可提供出色的体验,但无法在一夜之间完全取代旧版系统,否则会遗漏一些易受攻击的用户。该团队特意保留了密码 + SMS OTP 作为并行路径,接受持续的成本,以确保没有用户因设备要求或网络覆盖不佳而被排除在外。
接下来怎么做?
目前,Hippo 已创建超过 670 万个通行密钥,现在正致力于改进邀请用户创建通行密钥的提示。他们没有强迫用户改用通行密钥,而是通过测试来确定提供通行密钥的最佳时机,帮助更多用户顺利升级。