パスキー(FIDO2)認証の仕組み

パスキー認証は、大きく分けて「① 認証器の登録」と「② 認証(ログイン)」の2つのステップで成り立っています。ここでは、それぞれの処理の流れを簡潔に解説します。

(1)認証器の登録フロー

ユーザーが初めてサービスにログイン情報(パスキー)を登録する際の処理の流れです。

認証器登録 認証器登録

  • 流れの概要:
  1. ユーザーがお客様のサービスでパスキーの登録を開始します。

  2. お客様のサービスは、SDKを通じて本サービスに「登録用のデータ」を要求します。

  3. ユーザーは受け取ったデータを使って、自身のスマートフォン等で本人確認(指紋・顔認証など)を行います。

  4. 認証器の中で「秘密鍵」と「公開鍵」のペアが作られます。

  5. 秘密鍵は認証器の中に安全に保管され、外に出ることはありません。

  6. 公開鍵だけが本サービスに登録され、今後のログイン時の照合に使われます。

(2)認証(ログイン)フロー

登録済みのユーザーがサービスにログインする際の処理の流れです。
パスキー認証 パスキー認証

  • 流れの概要:
  1. ユーザーがお客様のサービスでログインを試みます。

  2. お客様のサービスは、SDKを通じて本サービスに「ログイン用のデータ」を要求します。

  3. ユーザーは受け取ったデータに基づき、認証器で本人確認を行います。

  4. 認証器は保管している秘密鍵を使って、本人であることの「デジタル署名」を作成します。

  5. 本サービスは、登録済みの公開鍵を使ってその署名が正しいかを検証します。

  6. 検証に成功すると、ログインが許可されます。