パスキー(FIDO2)認証の仕組み
パスキー認証は、大きく分けて「① 認証器の登録」と「② 認証(ログイン)」の2つのステップで成り立っています。ここでは、それぞれの処理の流れを簡潔に解説します。
(1)認証器の登録フロー
ユーザーが初めてサービスにログイン情報(パスキー)を登録する際の処理の流れです。
- 流れの概要:
-
ユーザーがお客様のサービスでパスキーの登録を開始します。
-
お客様のサービスは、SDKを通じて本サービスに「登録用のデータ」を要求します。
-
ユーザーは受け取ったデータを使って、自身のスマートフォン等で本人確認(指紋・顔認証など)を行います。
-
認証器の中で「秘密鍵」と「公開鍵」のペアが作られます。
-
秘密鍵は認証器の中に安全に保管され、外に出ることはありません。
-
公開鍵だけが本サービスに登録され、今後のログイン時の照合に使われます。
(2)認証(ログイン)フロー
登録済みのユーザーがサービスにログインする際の処理の流れです。
- 流れの概要:
-
ユーザーがお客様のサービスでログインを試みます。
-
お客様のサービスは、SDKを通じて本サービスに「ログイン用のデータ」を要求します。
-
ユーザーは受け取ったデータに基づき、認証器で本人確認を行います。
-
認証器は保管している秘密鍵を使って、本人であることの「デジタル署名」を作成します。
-
本サービスは、登録済みの公開鍵を使ってその署名が正しいかを検証します。
-
検証に成功すると、ログインが許可されます。