パスキーでサインインの安全性と利便性の課題を同時に解決

2024年4月22日(月)
高久 隆史
第1回目となる今回は、パスキーの仕組みやパスキーを利用できるデバイスやサービスの状況、そしてKeycloakのパスキーへの対応状況などを紹介します。

各デバイスのパスキーサポート状況

パスキーを利用するためには、「利用するサービスがパスキーに対応していること」および「ユーザーがパスキーに対応したデバイス、OS、ブラウザを利用すること」の両方が必要です。ここでは、各デバイスのパスキー対応状況について記載します。各デバイスの最新のパスキー対応状況は、次のページで確認できます。

Device Support | passkeys.dev

2024年3月25日時点で上記に掲載されている情報の抜粋を次に示します。

図8:各デバイスのパスキーサポート状況抜粋1

図8:各デバイスのパスキーサポート状況抜粋1

図9:各デバイスのパスキーサポート状況抜粋2

図9:各デバイスのパスキーサポート状況抜粋2

図の各項目について簡単に説明します。

表5:デバイスのパスキーのサポート項目の説明

項目説明
Synced Passkeys前述した同期パスキーのサポート状況です
Browser Autofill UIブラウザで、デバイスに保存されているパスキーのリストを選択して自動入力することをサポートしているかです。Autofillについては、前述の「パスキーの仕組み」も参照してください
Cross-Device Authentication Authenticatorクロスデバイス認証の認証器としての役割をサポートしているかです
Cross-Device Authentication Clientクロスデバイス認証のクライアントとしての役割をサポートしているかです
Third-Party Passkey ProvidersOSプラットフォームベンダであるApple、Google、Microsoft以外が提供するサードパーティベンダ(1Password、Bitwarden、Dashlane、Keeperなど)のパスキークレデンシャル管理(≒パスワードマネージャ)に対応しているかです。より新しいOSのバージョン、またはブラウザ拡張機能が必要となります
Device-bound Passkeys前述したデバイスバウンドパスキーをサポートしているかです。OSによっては、セキュリティキー(FIDOクレデンシャルを保存した小さな外付けのデバイス)の利用を前提に対応済みです

サポート状況を要約すると、次のようになります。

  • Android9以降、iOS/iPadOS 16以降、macOS 13以降で同期パスキーに対応済みです
  • Windowsはデバイスバウンドパスキーには対応済みですが、同期パスキーは対応計画中です
  • AndroidおよびiOS/iPadOSは他デバイスのパスキーの認証器としても利用できます
  • ブラウザでパスキーを利用するときは、OSと対応ブラウザに留意し、対応しているものを利用する必要があります

パスキーの導入サービス状況

2023年12月8日のFIDOアライアンスの情報には「2023年は『パスキーの年』であり、大手消費者ブランドは70億以上のユーザーアカウントをパスワードレスサインインに対応させるパスキーの提供を開始しました」と記載されています。

2023年にパスキーによるパスワードレスサインインが70億以上のオンラインアカウントで利用可能になり、FIDO認証の採用が急増 - FIDO Alliance

実際にパスキーは多数のサービスで導入されています。公開されている最新の対応サービスは次のページで確認できます。

Passkey Directory - FIDO Alliance
Passkeys.directory

パスキーの事例

パスキーについて具体的なメリットが書かれていた事例をいくつか紹介します。

Yahoo! JAPAN、パスキーの導入率を11%に増やし、SMS OTPの費用を削減 | web.dev

本稿執筆時点では次のメリットが記載されていました。

  • ログイン ID やパスワードを忘れた問い合わせの割合は、問い合わせが最大だった期間と比較して 25%減少
  • 不正アクセスの割合低下
  • SMS認証よりも成功率が高く、認証時間が2.6倍高速化
  • SMS OTP認証に関連する費用が大幅に削減

How KAYAK reduced sign in time by 50% and improved security with passkeys - Google for Developers

本稿執筆時点ではResultsの部分に次のメリットが記載されていました。

  • ユーザー満足度が大幅に向上(ユーザーは長くて複雑な文字列を覚えたり入力したりする必要がないと報告)
  • サインアップとサインインにかかる平均時間を50%短縮
  • パスワード忘れに関するサポートチケットが減少
  • パスワードベースの攻撃にさらされる機会を減らし、システムの安全性を向上

Mercari's passkey adoption | Mercari Engineering

本稿執筆時点では次のメリットが記載されていました。

  • SMS OTPに関連するコストを削減
  • 機能とユーザーをリアルタイムのフィッシング攻撃からより適切に保護
  • 認証成功率はSMS OTPの67.7%からパスキーでは82.5%に上昇
  • 認証時間の中央値がSMS OTPの17秒から4.4秒に短縮

パスキーのメリットまとめ

パスキーに対応するメリットを次にまとめます。

表6:パスキーのメリット

項目説明具体例
1セキュリティ(安全性)の向上サービスのサインインへの脅威に対する安全性を大幅に向上できます<無効化または低減できる脅威の例>
パスワード盗難:フィッシング、トラフィック傍受、企業の保存するパスワードデータへの不正アクセスなど
パスワード認証への攻撃:クレデンシャルスタッフィング、パスワードリスト攻撃、ブルートフォース攻撃など
2ユーザー利便性の向上煩雑なパスワード管理や操作の手間から解放し、使い慣れたデバイス認証(顔認証、指紋認証、PINなど)を利用して素早くログインできます<解放される手間の例>
パスワードの入力、複雑なパスワードの暗記、パスワードを忘れた場合の再設定、一定期間ごとのパスワード更新、ワンタイムパスワードの取得、など
3サービスプロバイダの運用コストの低減パスワード管理に関するさまざまな運用コストを低減できます<低減できる運用コストの例>
パスワード忘れユーザーに対するコールセンタの対応、保持しているパスワードデータの保護、パスワードポリシー管理(入力文字制限、有効期限、パスワードロック、パスワードリセット…)、OTPのためのSMS費用削減など
4ユーザーの増加新規ユーザーの増加、およびサービス離れの減少が見込めます増加:同種サービスなら安全性と利便性の高い方が選択されます
減少:OTPなどの面倒な認証操作や、パスワード忘れによるサービス利用の諦めが減少します
5企業イメージの向上先進性やセキュリティ意識の高さが評価され、企業イメージが向上します自社のニュースリリースやFIDOのPasskey Directoryへの掲載などでアピールできます

パスキーの留意点と対応案

パスキーのデメリットはあまりありませんが、パスキー対応時に考慮すべき留意点と対応案を挙げます。以下の対応案はサービスプロバイダ視点で記載していますが、ユーザー向けのものも含んでいます。

1:パスキーでのサインインを簡単にする

サインインの操作が従来のパスワード認証よりも簡単になるように考慮してUIを設計することが重要です。例えばデフォルトの「サインイン画面でアカウント名/パスワード入力のテキストボックス」と別の方法のボタンなどが表示され、別の方法をクリックして、そこからパスキーなどの他のサインインオプションを表示する、というようなUIでは、パスキーでの操作回数が増えてしまい不便になります(例は前述の「近くの他デバイスのパスキー利用(クロスデバイス認証)」を参照)。

次のガイドラインも参考に設計すると良いでしょう。

パスキーの作成とサインインに関するFIDOアライアンスのUXガイドライン - FIDO Alliance

なお後述するKeycloakでは、UIをカスタマイズできるため、本留意点にも対応できます。

2:デバイスを持っていない人は使えない

デバイスを持たないユーザーをターゲットにするサービスは、ユーザーにデバイスを与える、パスキー以外の認証方法も合わせて提供する、などが必要です。

3:デバイス環境によっては使えない

2024年3月の時点では、多くのデバイスがパスキーに対応していますが、古いデバイスや一部のブラウザでは利用できないことがあります。「パスキーを使おうとしたけど使えなかった」というケースを防ぐため、サービスユーザーに対応環境(デバイス、OS、ブラウザなど)を明確に伝えることが重要です。サインインしたあとに肝心のサービスが使えないということがないよう、パスキーとしてだけでなく、サービスとしての前提を明確にして伝えると良いでしょう(参考までに、KAYAKでは、Windows+Chrome環境ではパスキーの作成ができたのですが、Windows+Braveではパスキー作成ができませんでした。また、前述の「近くの他デバイスのパスキー利用(クロスデバイス認証)」の例では、Chromeの代わりにBraveを利用しても問題なく動作しました)。

4:パスキーには有効期限がない

これは、パスキーのメリットでもありますが、万が一デバイスとPINの両方を盗まれたら悪用され続けるリスクがあります。このため、以下のような留意点をユーザーに認識させるようにします。

  • 使わなくなったパスキーは削除する
  • デバイスの盗難や紛失時は、必ずデバイスのリモートワイプを実行する

Keycloakのパスキー対応状況

記事執筆時点の最新バージョンであるKeycloak 24では、パスキーがサポートされています。まず、2023年11月23日にリリースされたKeycloak 23.0.0のリリースノートで、パスキーの部分を見ると、次のように記載されています。

図10:Keycloak 23.0.0リリースノートの抜粋

図10:Keycloak 23.0.0リリースノートの抜粋

これを見て「preview support」(プレビューサポート)や「However, passkeys operations success depends on the user's environment.」(ただし、パスキー操作が成功するかどうかは、ユーザーの環境に依存します)という記述が気になる方も多いと思うので、補足いたします。

1点目の「preview support」だと正式サポートではないため、本番環境で利用できないのではと考える方もいらっしゃると思います。Keycloakのパスキーの機能自体は、上記リリースノートにも記載されているように、WebAuthnというKeycloak 8からある既存機能で実現できており、問題なく動作します。なお、本リリースノートの記載について、実際のKeycloakメンテナの方に聞いてみたところ「テストの自動化ができていないため、プレビューサポートという記載になっているが、Keycloakでパスキーが動作することは確認できている」とのことでした。

2点目の「However, passkeys operations success depends on the user's environment.」については、Keycloak側の仕様の話ではなく、Passkeysをサポートするデバイス側のサポート状況に依存するという意味になります。つまり、Keycloakを利用してパスキーに対応したサインインを提供する場合、ユーザーが、デバイス側でサポートされている環境を前提に使ってもらう必要がある、とごく当たり前のことを示唆しているだけです(各デバイスのパスキーサポート状況は前述していますので、そちらも参照してください)。

また、2024年3月4日にリリースされたKeycloak 24.0.0では、WebAuthnのUIやドキュメントの「Security Key」を「Passkey」に置き換える変更が行われ、より使いやすくわかりやすい表記になりました。

図11:Keycloak 24.0.0リリースノートの抜粋

図11:Keycloak 24.0.0リリースノートの抜粋

Keycloak自体は、認証・認可を実現するためのOSSで、エンタープライズの導入実績も多数あることから、Keycloakを活用して、パスキーに対応するサービスがさらに増え、安全性と利便性が向上していくことを期待しています。

第1回では、パスキーの仕組み、デバイスや導入サービスの状況、事例、メリット、Keycloakのパスキー対応状況などについて紹介しました。第2回は、実際にKeycloakを利用してパスキーの登録と認証を行う手順を紹介します。

株式会社日立製作所
日立ミドルウェアの開発やOSS活用関連業務に従事。

連載バックナンバー

セキュリティ技術解説
第2回

Keycloakのパスキー実現方法

2024/6/3
連載2回目となる今回は、実際にKeycloakを利用してパスキーの登録・認証を行う手順を紹介します。
セキュリティ技術解説
第1回

パスキーでサインインの安全性と利便性の課題を同時に解決

2024/4/22
第1回目となる今回は、パスキーの仕組みやパスキーを利用できるデバイスやサービスの状況、そしてKeycloakのパスキーへの対応状況などを紹介します。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています