ユーザーがパスキーを効果的に管理できるようにする

公開日: 2025 年 5 月 15 日

パスキーは、パスワードに代わるより安全で簡単かつ高速な方法として急速に普及しており、セキュリティとユーザーの利便性を向上させています。パスキーの可能性を最大限に引き出すには、パスキーの管理に関するユーザー エクスペリエンスを慎重に検討する必要があります。このドキュメントでは、直感的で安全かつ堅牢なパスキー管理システムを設計するためのガイドラインとオプション機能について説明します。

複数のパスキーを管理する

ユーザーが複数のパスキーを追加して、複数のプロバイダを使用できるようにします。 ただし、同じプロバイダで同じアカウントに複数のパスキーを追加することは許可しないでください。 プラットフォームでサポートされていない場合や、ユーザーがアクセスできなくなった場合など、ユーザーがプロバイダにアクセスできなくなっても、別のプロバイダの別のパスキーでログインできます。この設定により、アカウントがロックアウトされるリスクを軽減できます。データベースがユーザーごとに複数のパスキーを保存できることを確認してください。

登録済みのパスキーのリストを表示する

ウェブサイトまたはアプリでは、登録済みのパスキーをリストに表示し、ユーザーが効果的に管理できるように、キーの詳細を表示する必要があります。このスクリーンショットは、専用のパスキー管理ページの例を示しています。ユーザーが複数のプラットフォームでパスキーを作成し、一元的に管理する方法を示しています。

ベスト プラクティスが表示されているパスキー管理ページの例。
パスキー管理ページの例(ベスト プラクティスを示しています)。

ウェブサイトやアプリで表示できるパスキーに関する一般的な詳細と機能は次のとおりです。

  • パスキー名: 登録時に指定されたパスキー名を表示します。理想的には、この名前は AAGUID に基づいて作成されたパスキー プロバイダと一致します。一致するパスキー プロバイダが見つからない場合は、ユーザー エージェント文字列に基づいてデバイス情報に名前を付けるとよいでしょう。
  • パスキー プロバイダのロゴ: パスキー プロバイダのロゴを表示します。これにより、ユーザーは管理するパスキーを特定できます。
  • パスキーが作成された日時と最後に使用された日時のタイムスタンプ: パスキーの作成タイムスタンプと最終使用 タイムスタンプを記録して表示することで、ユーザーは管理するパスキーを特定できます。
  • 同期しないインジケーター: パスキーはデフォルトで同期されますが、パスキー プロバイダの同期機能はまだ進化しています。ユーザーが期待しているにもかかわらず、パスキーが同期されない場合、混乱が生じることがあります。パスキーが同期できないことを示すことで、ユーザーはこの混乱を解消できます。
  • 削除ボタン: ユーザーがパスキーを削除できるようにします。詳しくは、パスキーの削除を許可するをご覧ください。
  • 編集ボタン: 多くのユーザーは、パスキーの名前を変更できることを高く評価しています。 たとえば、同じパスキー プロバイダから複数のパスキーがあるが、プロバイダ アカウントが異なる場合などです。複数のパスキーを異なる Google アカウントに保存することを考えてみましょう。ユーザーがパスキーの名前を変更できるようにすることで、好きな名前に変更できます。
  • 最後のログイン ブラウザ、OS、IP アドレス: 必要に応じて、最後のログインに関する詳細 を提供することで、ユーザーは不審なログインを特定できます。ログインに使用したブラウザ、OS、IP アドレス(または場所)は、重要な情報となります。

パスキーの削除を許可する

ユーザーがパスキーを削除できるようにします。たとえば、ユーザーが新しいデバイスに切り替えたが、関連付けられたパスキーが古いデバイスにバインドされている場合などに、リストを整理するのに役立ちます。攻撃者がユーザー アカウントを乗っ取り、将来使用するためにパスキーを作成した場合にも役立ちます。

更新されたパスキーのリストを通知する

パスキーを削除すると、認証情報エントリと公開鍵がサーバー データベースから削除されます。これにより、登録済みのパスキーのリストからパスキーが消え、パスキーが削除されたように見えます。ただし、実際にはサーバーからのみ削除され、パスキー プロバイダに保存されているパスキーは残るため、混乱が生じる可能性があります。ユーザーが次回ログインしようとすると、削除されたパスキーがログイン オプションとして表示されます。ただし、一致する公開鍵がサーバーからすでに削除されているため、認証は失敗します。

混乱を避けるため、パスキー プロバイダのパスキーとサーバーの公開鍵を一致させることが重要です。これを行うには、 更新されたパスキーのリストをパスキー プロバイダに通知します。 ブラウザとパスキー プロバイダが Signal API をサポートしている場合は、パスキーのリストを更新して不要なパスキーを削除できます。API をサポートしていない場合は、パスキーを手動で削除するようユーザーに促します。

最後のパスキーを削除する

ユーザーが特定のアカウントの最後のパスキーを削除しようとした場合は、別のオプションでログインする必要があることをユーザーに理解してもらう必要があります。このオプションは、より手間がかかり、保護が弱くなる可能性があります。これがサイトへの唯一のログイン方法である場合、ユーザーは再度ログインできなくなります。次回ログインする方法をユーザーに通知します。たとえば、バックアップ方法がある場合はそれを使用するか、続行する前に別のパスキーを登録するよう促します。パスキーを使用しない理由についてフィードバックを収集する良い機会です。

新しいパスキーの作成を許可する

ユーザー ジャーニー全体でパスキーを作成する機会はありますが(ログイン直後など)、ユーザーがいつでも新しいパスキーを作成、削除、管理できる一元的なハブを用意することが重要です。パスキー管理画面が最適です。

パスキーのユーザーフローを作成するには、 パスワードなしでログインするためのパスキーを作成する デベロッパー ガイドをご覧ください。セキュリティを強化するには、ハードウェア セキュリティ トークンでパスキーを作成できるようにすることを検討してください。パスキーを管理するユーザーは、知識や経験が豊富であると想定されるため、セキュリティ キーでパスキーを作成できるようにすることで、柔軟性が向上します。

パスキーをハードウェア セキュリティ トークンに保存できるようにするには、 authenticatorSelection.authenticatorAttachmentを設定するのではなく、 "platform"を設定しないままにします。これにより、ブラウザはプラットフォーム(デバイス)とローミング認証子(セキュリティ キー)の両方を受け入れます。ユーザー エクスペリエンスは、プラットフォーム認証子のみを許可する場合と大きく変わりません。セキュリティ キーでパスキーを作成するオプションは、セカンダリ オプションとして表示されます。

チェックリスト

  • ユーザーがパスキー管理ページでパスキーを管理できるようにします。
  • 複数のパスキーの登録をサポートします。
  • ユーザーが管理ページで新しい柔軟なタイプのパスキーを追加できるようにします。
  • パスキー名を表示します。
  • パスキーが同期可能かどうかを示します。
  • ユーザーがサーバーから公開鍵を削除できるようにします。
  • 関連付けられた公開鍵がサーバーから削除されたときに、パスキーのリストを通知します。

その他の UX ガイド