パソコン版 Chrome のパスキーの Signal API

公開日: 2024 年 11 月 13 日

Chrome 132 以降、Chrome デスクトップ(macOS、Windows、Linux、ChromeOS)は、パスキー プロバイダのパスキーと、信頼する当事者のサーバーの公開鍵認証情報を整合させることができる Signal API をサポートしています。

パスキー(検出可能な認証情報)が作成されると、ユーザー名や表示名などのメタデータが、秘密鍵とともにパスキー プロバイダ(パスワード マネージャーなど)に保存され、公開鍵認証情報がリレーリング パーティ(RP)のサーバーに保存されます。ユーザー名と表示名を保存すると、ログイン時にパスキーを選択するよう求められるため、ユーザーはログインに使用するパスキーを特定しやすくなります。これは、異なるパスキー プロバイダから 2 つ以上のパスキーがある場合に特に便利です。

ただし、パスキー プロバイダのパスキーリストとサーバー上の認証情報リストの違いが混乱を招く場合があります。

最初のケースは、ユーザーがサーバー上の認証情報を削除し、パスキー プロバイダのパスキーには変更を加えない場合です。次回ユーザーがパスキーでログインしようとすると、パスキー プロバイダからパスキーが引き続きユーザーに提示されます。ただし、削除された公開鍵でサーバーが検証できないため、ログインは失敗します。

2 つ目のケースは、ユーザーがサーバー上でユーザー名または表示名を更新した場合です。ユーザーが次回ログインしようとすると、パスキー プロバイダのパスキーには、サーバーで更新されたにもかかわらず、以前のユーザー名と表示名が引き続き表示されます。理想的には、両者が同期している必要があります。

Signal API

WebAuthn Signal API を使用すると、RP は接続されたパスキー プロバイダに既存の認証情報を通知できます。これにより、対応するパスキー プロバイダは、正しくないパスキーや取り消されたパスキーをストレージから更新または削除して、サーバーと整合性を取ることができます。

たとえば、RP サーバーで関連付けられた認証情報が存在しないため、ユーザーが RP にログインできない場合、RP は Signal API を使用して、削除された認証情報がパスキー プロバイダに対して無効であることを通知できます。これにより、パスキー プロバイダは関連付けられたパスキーを削除できます。

別の例として、ユーザーが RP の設定ページに移動して既存の認証情報を削除した場合、RP は Signal API を使用して使用可能な認証情報のリストをパスキー プロバイダに通知できます。これにより、パスキー プロバイダは関連付けられたパスキーを同期できます。

Chrome の Google パスワード マネージャーからパスキーが削除されたときに表示されるダイアログ。
Chrome の Google パスワード マネージャーからパスキーが削除されたときに表示されるダイアログ。

また、更新されたユーザー名と表示名を通知して、同じユーザーに保存されているパスキー メタデータを更新することもできます。

たとえば、ユーザーが RP でユーザー名または表示名を更新すると、RP は Signal API を使用して更新されたユーザー情報をパスキー プロバイダに通知できます。これにより、パスキー プロバイダは関連付けられたパスキーのユーザー情報を同期できます。

Chrome の Google パスワード マネージャーでパスキーのメタデータが更新されたときに表示されるダイアログ。
Chrome の Google パスワード マネージャーでパスキーのメタデータが更新されたときに表示されるダイアログ。

パソコン版 Chrome の Google パスワード マネージャーは、Signal AP を実装しています。Chrome 拡張機能ベースのパスキープ プロバイダの場合、シグナルを反映するかどうかはプロバイダ次第です。

今後、Android Chrome で Signal API をサポートする予定です。

WebAuthn Signal API を統合する方法については、Signal API を使用してパスキーのリストをサーバーと同期するをご覧ください。