LoginSignup
17
12

【社内勉強会資料】パスキー入門

Last updated at Posted at 2023-05-14

前書き

2022年からパスキーに関する動きが慌ただしいので、チーム内で勉強会を実施しました。
この記事はその際の資料です。

私はセキュリティを専門とするITエンジニアではないので、もし誤った記述などがありましたらコメントや編集リクエストでお知らせいただけると幸いです。

この記事は2023年5月現在の情報を元にしています。

パスキーの概要

ざっくり言うと「パスワードを使わないユーザー認証の仕組み」です。
パスワードに代わって公開鍵暗号方式を使い、秘密鍵をデバイス側に、公開鍵を各サービスのサーバーに保持します。(詳細は後述)
「パスキー」はその秘密鍵を指し、かつ、Apple、Google、Microsoftがその普及のために命名したブランド名でもあります。

仮にサーバーへのサイバー攻撃等で公開鍵が流出しても、その名の通り公開する前提の情報なので悪用できません。
デバイス側に保持された秘密鍵がないとログインできませんし、また秘密鍵はサーバーには送信しないため、フィッシング被害のリスクも限りなく低いです。

また、パスキーは自動的に生成され使用されるため、パスワードのように考える&覚えておく必要がなく、生体認証を利用するためタイプする手間もありません。

Apple、Google、Microsoftがその拡大に協力することを表明し、各プラットフォームでの対応が進んで普及への土台が出来つつあります。

2023年5月現在で調べた範囲では以下のサービスで対応済みとのことです。

  • Yahoo!
  • NTTドコモ(dアカウント)
  • KDDI (au ID)
  • Googleアカウント

デモ

iPhoneで、パスキーを体験できるサービス「passkeys.io」を利用し、ユーザー登録〜ログインまでを体験してみました。↓

パスキーはiCloudキーチェーンに保存されています。↓

パスキーの詳細を開いた画面です。↓
画面右上のシェアボタンにて、同じアカウントを共用している家族などにAirDropを用いてパスキーをシェアすることもできます。

上のiPhoneと同じAppleIDが設定されているMacでは、iCloudキーチェーンに保存されたパスキーを使ってログインできます。↓
(※ログインIDが変わってしまってます。手順をミスってやり直しました。)

別なMacの場合(iCloudキーチェーンに当該サービスのパスキーが無い場合)、パスキーを保存したiPhoneでQRコードを読み取ることでログインできます。

FIDO2とパスキー

FIDO2の概要

FIDO(Fast Identity Online の略。読み方は「ファイド」)はパスワードの代わりに公開鍵暗号方式を使った認証の仕組みであり、FIDO Allianceという団体によって標準化された仕様です。
パスキーの登場前から、例えばPCにUSBで外付けするタイプの「認証器」を使ったFIDOベースの認証があります。

2023年時点の最新仕様であるFIDO2も、パスキーのために制定された標準仕様というわけではありません。
FIDO2はFIDO AllianceとThe World Wide Web Consortium(W3C)によって制定されました。

FIDO2には以下の仕様が含まれます。

  • WebAuthn(Web Authenticationの略。読み方は「ウェブオースン」)
    • FIDOベースの認証の仕組みをブラウザから利用できるようにするための仕様
  • CTAP(Client To Authenticator Protocolの略。読み方は「シータップ」)
    • 外部認証器とBluetoothやUSB等を介して認証情報をやり取りするためのインターフェイス仕様

2018年以降、主要なブラウザではすでにWebAuthn APIが利用可能となっています。

パスキーとFIDO2の関係

FIDO2では、複数デバイスでの認証情報の登録が煩雑である点や紛失・故障時にログインできなくなることが懸念とされてきました。
パスキーでは、Appleの場合はiCloudキーチェーン、Googleの場合はパスワードマネージャーに保持しデバイス間連携を実現することにより、この懸念を解消しています。

パスキーが使えるプラットフォームは、FIDO Allianceによると2023年5月現在で以下の通りとされています。(原文は英語、下記引用はGoogle翻訳)

Apple は、2022 年 9 月に iOS 16、2022 年 10 月に iPadOS 16 と macOS Ventura でのサポートを発表しました。
Google は、2022 年 10 月から Android でのサポートを発表し、2023 年までに ChromeOS でのパスキーのサポートを計画しています。
Microsoft Windows は 2023 年にサポートを提供する予定です。

処理フロー

ユーザー登録

スクリーンショット 2023-05-10 17.27.46.png

ログイン

スクリーンショット 2023-05-10 17.28.25.png

参考にさせていただいた記事

パスキー関連

FIDO2関連

その他

17
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
12