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