公開日: 2026 年 7 月 10 日
国民保健サービス(NHS)は、英国の公的医療システムです。NHS イングランドと NHS ウェールズの安全なデジタル ID プロバイダである NHS ログインは、数千万人の市民が医療サービスやソーシャル ケア サービスにアクセスするための信頼できる単一の方法を提供しています。このような規模のユーザーベースと機密性の高いデータがあるため、認証の摩擦とセキュリティが最も重要になります。
NHS チームは、デジタル サービス パートナーの Hippo と協力してパスキーを実装しました。Hippo は、パスキーの UX 調査と技術統合を推進しました。これにより、ユーザーはより迅速かつ簡単に、より安全にアクセスできるようになり、サポートと運用コストも大幅に削減されました。
主な結果
- ログイン時間の短縮: パスキーを使用すると、ユーザーの認証が 8 倍速くなります。条件付き UI を使用することで、ログインにかかる時間の中央値が 43 秒(パスワード + SMS OTP)からわずか 5 秒に短縮されました。
- 高い導入率と規模: 2 年前にこの機能がリリースされて以来、ユーザーによって 670 万個のパスキーが作成され、毎月 600 万件のパスキー ログインが行われています。
- 取引コストの削減: リリース以降、OTP のコストを最大 120 万ポンド削減。
| 主要指標 | 影響 |
|---|---|
| 8x | パスキーを使用するとログイン時間が短縮される(5 秒対 43 秒) |
| 670 万人 | リリース以降にユーザーが作成したパスキーの数 |
| 600 万 | 毎月のパスキーによるログイン数 |
| 120 万ポンド | リリース以降、SMS OTP の費用を削減 |
手間、費用、パスワードの煩わしさ
NHS ログインは、ユーザーがさまざまなヘルスサービスにアクセスするための集中型デジタル ゲートウェイとして機能します。すべてのユーザーが取り残されないように、プラットフォームではパスワードと SMS ベースの多要素認証(MFA)方式のサポートが維持されます。ただし、これらの方法には次のようなシステム上の課題があります。
- パスワードを忘れた場合: パスワードを忘れて、ヘルスサービスにログインできなくなるユーザーがよくいます。
- セキュリティ リスク: パスワードと SMS コードはフィッシング攻撃に対して脆弱なままです。
- 費用の増大: 2 要素認証のために数百万件の SMS テキスト メッセージを送信するには、費用がかかります。
- 包括性のハードル: SMS を利用するには、信頼できる電波を受信できる携帯電話が必要になります。これは、一部のユーザーにとって障壁となる可能性があります。
NHS と Hippo がパスキーを実装した方法
チームのアプローチはユーザー中心の反復型で、パスキーを強制的な置き換えではなく、新しいオプションの認証方法として統合することに重点を置いていました。これにより、段階的な導入と実際のユーザーからのフィードバックが可能になりました。
チームは、既存のプラットフォーム内の 2 つの主要なデベロッパー フロー(パスキーの登録と認証)に注力しました。
シームレスなパスキー登録でユーザーをアップグレードする
チームは、すべてのユーザーにパスキーの登録を直ちに強制するのではなく、アクティブな認証済みユーザーを対象としています。ユーザーが標準の方法(パスワード + SMS)でログインに成功すると、今後より迅速かつ安全にログインするためのパスキーを作成するよう求める明確なメッセージが表示されます。
最大の課題は、ユーザーの教育と有効化の適切なバランスを見つけることでした。パスキーについて説明すればするほど、ユーザーはためらうようになりました。「指紋」や「Face ID」などのわかりやすい用語を使用して、デバイス主導のエクスペリエンスに移行しました。ユーザーは、実際に使用することで、コンセプトをより早く理解できました。
Hippo の UX デザイナー、Pelin Demir
登録フローは、標準のブラウザ ネイティブ 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.');
}
}
条件付き UI を使用してログインフローを効率化する
ユーザー エクスペリエンスの最も大きな改善は、条件付き UI(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
条件付き UI を実装したことで、パスキーの使用が約 1.7 倍に増加しました。これは、入力の摩擦を解消することで、導入が直接的に加速することを示しています。
Signal API で古いキーを処理する
パスキーに関する既知の運用上の課題は、古い認証情報です。これは、ユーザーがアカウント設定から認証情報を削除しても、パスキーがデバイスのパスワード マネージャーに保存されたままになる場合です。古いキーを使用しようとすると、認証が失敗し、混乱を招く可能性があります。
この問題を解決するため、チームは WebAuthn Signal API を組み込みました。バックエンドで認証情報が取り消されるか更新されると、サーバーはパスキー プロバイダに同期を通知し、ユーザーの自動入力候補から無効なキーをシームレスに削除します。
スムーズなアクセスと強化されたセキュリティを実現
認証メカニズムとしてパスキーを採用するユーザーが増えています。
- スムーズなユーザー エクスペリエンス: 認証の摩擦をなくすことで、ユーザーは認証情報を忘れたことによる不満や離脱を招くことなく、NHS サービスにアクセスして健康状態を積極的に管理できます。
- 妥協のないセキュリティ: パスキーはフィッシングに対する耐性を備えており、機密性の高い健康に関するデータを保護しながら、パスワードや SMS を使用しない未来への道を開きます。
- 運用効率: SMS OTP の直接的な費用削減だけでなく、パスワードへの依存を減らすことで、NHS の効率が根本的に向上します。パスワード関連のサポート電話が減ったことで、スタッフはより複雑な問い合わせに対応できるようになりました。
重要な教訓
NHS サービス全体でパスキーを統合する際に、チームは次の重要な教訓を学びました。
- 技術的な複雑さよりも UX を重視: WebAuthn の技術的な実装は簡単でした。主な課題は、幅広いユーザー層に受け入れられるよう UX を最適化することでした。
- 教育よりも有効化: ユーザーは、プラットフォームがセキュリティをサイレントに管理することを期待しています。パスキーの仕組みを過剰に説明すると、認知負荷が生じます。使い慣れたデバイス プロンプト(生体認証)を信頼する方がはるかに効果的でした。
- クロスデバイス ジャーニー: ユーザーがスマートフォンでパスキーを作成し、後で図書館のパソコンでログインしようとする場合があります。クロスデバイス フロー(パソコンに表示された QR コードをスマートフォンでスキャンする)の処理は、設計とテストが重要なジャーニーでした。また、ユーザーのアカウント管理にパスキーと ID を表示する新しいセクションを追加し、パスキーの管理を支援しています(AAGUID でパスキー プロバイダを特定するを参照)。
- アカウントの復元: パスキーを使用しても、強力なアカウント復元が必要なくなるわけではありません。チームは、デバイスを紛失したユーザーがアカウントに安全にアクセスできるようにする必要がありました。これは、健康関連サービスにとって非常に重要なフローです。
- イノベーションとインクルージョンとのバランス: パスキーは優れたエクスペリエンスを提供しますが、脆弱なユーザーを置き去りにすることなく、レガシー システムを一夜にして完全に置き換えることはできません。チームは、デバイス要件やネットワーク カバレッジの不足によってユーザーが除外されないように、パスワードと SMS OTP を並行して維持し、継続的なコストを受け入れることにしました。
次のステップ
670 万個以上のパスキーが作成されたため、Hippo は現在、ユーザーにパスキーの作成を促すプロンプトの改善に取り組んでいます。切り替えを強制するのではなく、テストを使用してパスキーを提案する最適なタイミングを見つけ、より多くのユーザーがスムーズにアップグレードできるようにします。