NHS England 如何通过通行密钥缩短登录时间并节省超过 100 万英镑

Yu Tsuno
Yu Tsuno
Darren Hutton
Darren Hutton
Pelin Dem
Pelin Dem

发布日期:2026 年 7 月 10 日

英国国家医疗服务体系 (NHS) 是英国的公共医疗体系。 作为 NHS 英格兰和 NHS 威尔士的安全数字身份提供商,NHS login 功能为 数千万公民提供了一种单一且可信的方式来访问医疗和社会 护理服务。由于用户群规模庞大,且涉及的数据非常敏感,因此身份验证摩擦和安全性至关重要。

NHS 团队与数字服务合作伙伴 Hippo 合作,实施了通行密钥。Hippo 负责推动通行密钥的用户体验研究和技术集成,从而为用户提供更快、更轻松、更安全的访问体验,并大幅降低支持和运营成本。

主要成果

  • 缩短登录时间:用户使用通行密钥进行身份验证的速度提高了 8 倍。 使用条件界面后,登录时间中位数从 43 秒(密码 + 短信动态密码)缩短至仅 5 秒。
  • 高采用率和大规模应用:自两年前推出该功能以来,用户已创建 670 万个通行密钥,每月使用通行密钥登录的次数达到 600 万次。
  • 降低交易费用:自 推出以来,已节省高达 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.');
  }
}
NHS 登录的通行密钥注册流程(分步说明)。
NHS 登录通行密钥注册流程。

使用条件界面简化登录流程

用户体验方面最重要的改进来自条件界面 (WebAuthn 自动填充)。通过向登录 字段添加 autocomplete="username webauthn",浏览器会主动提示用户使用 生物识别技术进行身份验证。

<form action="/login" method="post">
  <label for="username">Email or NHS number</label>
  <input type="text"
         id="username"
         name="username"
         autocomplete="username webauthn"
         required>
  <button type="submit">Continue</button>
</form>

实施条件界面后,通行密钥的使用量增加了近 1.7 倍,这表明消除输入摩擦可以直接加快采用速度。

使用 Signal API 处理过时的密钥

通行密钥的一个已知运营挑战是过时的凭据,即用户从账号设置中移除凭据,但通行密钥仍存储在其设备的密码管理器中。尝试使用过时的密钥会导致身份验证失败,让用户感到困惑。

为解决此问题,该团队加入了 WebAuthn Signal API。当后端凭据被撤消或更新时,服务器会向通行密钥提供商发出信号以进行同步,从而无缝地从用户的自动填充建议中移除无效密钥。

提供无摩擦的访问体验并增强安全性

越来越多的用户采用通行密钥作为身份验证机制。

  • 无摩擦的用户体验:消除身份验证摩擦意味着 用户可以主动访问 NHS 服务并管理自己的健康,而不会因 忘记凭据而感到沮丧或放弃。
  • 安全性不受影响:通行密钥具有内置的网络钓鱼防护功能, 可保护高度敏感的健康数据,同时为无密码 和无短信的未来铺平道路。
  • 运营效率:除了直接节省短信动态密码的费用外, 减少对密码的依赖从根本上提高了 NHS 的效率。 与密码相关的支持电话减少,让员工可以处理更复杂的查询。

主要经验

在将通行密钥集成到 NHS 服务中时,该团队总结了以下主要经验:

  • 用户体验优先于技术复杂性:WebAuthn 的技术实现 非常简单。主要挑战在于优化用户体验,以便让更多用户采用。
  • 启用优先于教育:用户希望平台在后台管理安全性 。过度解释通行密钥机制会增加认知负担;信任熟悉的设备提示(生物识别)证明更有效。
  • 跨设备体验:用户可能会在手机上创建通行密钥,但 稍后尝试在图书馆的电脑上登录。处理跨设备流程(桌面显示手机扫描的二维码)是设计和测试的关键流程。他们还在用户账号管理中添加了一个新部分,用于显示通行密钥和身份,以帮助管理通行密钥(请参阅使用 AAGUID 确定通行密钥提供商)。
  • 账号恢复:通行密钥并不能消除对可靠账号 恢复的需求。该团队必须确保丢失设备的用户仍能安全地重新获得对其账号的访问权限,这对于医疗相关服务来说是一个高风险的流程。
  • 在创新与包容性之间取得平衡:虽然通行密钥提供了卓越的 体验,但它们无法在一夜之间完全取代旧系统,而不会让一些弱势用户 掉队。该团队特意保留了密码 + 短信动态密码作为并行路径,接受持续的成本,以确保没有用户因设备要求或网络覆盖不佳而被排除在外。

接下来怎么做?

Hippo 已创建超过 670 万个通行密钥,目前正在努力改进邀请用户创建通行密钥的提示。他们没有强制用户切换,而是通过测试找到提供通行密钥的最佳时机,帮助更多用户顺利升级。

了解详情