最近、パスキーが使いづらい、という声を目にします。作ったはずのパスキーが見つからないために、使いたいサービスにログインできず困った、という人の投稿も何度か観測しました。

そこでこのブログ記事では、どうしてそういうことが起こってしまうのか、どうすればそういう状況を回避できるのか、ユーザーが取れる対策にはどういうものがあるのか、サービス側はどうすればそのように感じるユーザーを減らせるのか、について考えていきたいと思います。

もちろん大前提として、ユーザーが頭を捻らないと使えないような機能は、普及どころか迷惑をかけてしまうため、望ましくありません。ただパスキーは、各社のプロダクトとしては成熟しつつあるものの、トータルのエコシステムとしてはまだ発展途上な部分が残っており、使いづらい部分があることも否定できません。そこで、よりパスキーが使いやすい世界になるまでの間、工夫する方法を知ってもらうことで、皆さんの負担が少しでも軽くなればと思い、この記事を書いています。

パスキーの基本 #

まずはパスキーが何で、どういう世界を目指しているのかについては、パスキーとは何か、そしてその課題に書いた通りです。記事を書いてからすでに二年が経過していますが、基本的なところはほぼ変わっていません。しかしその間、OS、パスキープロバイダ(パスワードマネージャー)、ブラウザ、サービス(Relying Party もしくは RP)と、それぞれ徐々に進化してきました。

パスキーの何が使いづらいのか #

自分の観測範囲で見る限り、みなさんがパスキーを使いづらいと感じる点は、主に以下ではないでしょうか:

  • パスキーを作ったはずなのに、見つからない
  • パスキーが使えなかった時にどうしたらいいのか分からない

他にも細かい点は色々あると思いますが、おそらく上記が解決すれば、残りの問題は些細なものではないでしょうか。

パスキーが見つからない #

「サービスがパスキーを作れというので作ったのに、別の環境に移ったら消えてしまった。パスキーは同期すると聞いていたのに、見つからない。」

このような状況が発生するのは、下記のような理由が考えられます:

  1. パスキーを保存したパスキープロバイダに、新しい環境からアクセスできない
  2. パスキープロバイダは使えるが、パスキーを保存したアカウントにアクセスできていない
  3. パスキープロバイダのパスキーがそもそも同期していない
  4. パスキーだと思った生体認証機能が、実はパスキーではない
  5. サービスがパスキー以外の認証方法を提供していないからログインできない

1. パスキーを保存したパスキープロバイダに、新しい環境からアクセスできない #

パスキープロバイダとは、作ったパスキーを保存・同期する場所で、大抵の場合、「パスワードマネージャー」がその役割を兼ねています。パスキーが保存されるデフォルトのパスキープロバイダは、環境によって決まります。みなさんが作ったパスキーは多くの場合、システムのデフォルトであるパスキープロバイダに保存されます。

パスキーが見つからない場合、環境の相性が悪い可能性が考えられます。例えば、Windows 版 Edge で作ったパスキーは、Android 版 Edge からアクセスできません。これは、Windows 版 Edge で作ったパスキーは Windows Hello に保存されますが、Android 版 Edge では Google パスワードマネージャーとしか連携していないためです。

環境ごとのパスキープロバイダサポート状況については、下の方に書きます。

2. パスキープロバイダは使えるが、パスキーを保存したアカウントにアクセスできていない #

もう一つあり得るのは、同じパスキープロバイダであっても、異なるアカウントにパスキーを保存したため見つからない、というケースです。例えば Chrome でパスキーを作った場合、デフォルトでは、Chrome にログインしている Google アカウントに紐付いた Google パスワードマネージャーに保存されます。別の環境で同じパスキーにアクセスしたい場合は、当然同じ Google アカウントでログインした Chrome でアクセスしなければなりません。複数 Google アカウントを使い分けているような場合は、一度参照しているパスキーのアカウントが、以前保存したものと同じかどうか確認してみると良いかもしません。

また Android には仕事用プロファイルという、プライベート用のアカウントと、業務用のアカウントのアプリとデータを、同じ OS 内で完全に切り離す機能があります。そのせいでパスキーが見つからないと焦ってしまった経験は僕自身あります。パスキーにアクセスできない場合は、こちらも確認してみてください。

3. パスキープロバイダのパスキーがそもそも同期していない #

実はパスキーが同期されていなかった、というケースがあります。2024 年末時点で、以下の 3 つのケースにおいてパスキーは同期されません:

Windows Hello にパスキーを作った #

多くの人が遭遇しそうなのが、Windows Hello にパスキーを作るケースです。以前は、どのブラウザでも作ったパスキーも同期されることはありませんでしたし、現在も、TPMが使える Windows デバイス上の Chrome を除けば、どのブラウザでパスキーを作っても、Windows Hello に保存されれば同期されることはありません。

macOS や iOS、iPadOS で iCloud キーチェーンにパスキーを作り、Apple デバイス以外からパスキーにアクセスしようとした #

macOS や iOS、iPadOS でパスキーを作ると、多くの場合 iCloud キーチェーン、もしくは「パスワード」アプリに保存されます。iCloud キーチェーンに保存されたパスキーは 2024 年末時点で、Windows や Android といった環境に同期されないため、利用することができません。Windows 版アプリや、ブラウザ用拡張機能は存在するので、パスキーへの対応を期待したいところです。

同期させない設定のサービスでパスキーを作った #

Android には、パスキー以前の FIDO2 の機能が残っており、これを使うことで同期させないパスキーを作ることが可能です。本来パスキーは同期するべきであるため、単なる「FIDO2 クレデンシャル」と呼ぶ方が適切かもしれません。もちろんこの機能はもう推奨されていませんが、安全性という意味では最強という側面もあるため、一部のサービスではまだ意図的に使われているようです。

4. パスキーだと思った生体認証機能が、実はパスキーではない #

スマホで生体認証に遭遇したら即座にパスキーだ、と思う方もいるかもしれませんが、すべてがパスキーとは限りません。Android アプリであれば BiometricManager、iOS アプリであれば Local Authentication Framework という機能があり、勘違いされていることも考えられます。通常これらの機能は銀行アプリなどで、一度別の方法でログインしたあとでなければ設定できません。

5. サービスがパスキー以外の認証方法を提供していないからログインできない #

パスキーであろうがなかろうが、ユーザーとしてはログインできればそれでいいはずです。しかし、一度パスキーを作ると、パスキー以外の認証方法が使えなくなるサービスがあります。それはけしからん!と思う気持ちも分かりますが、一度立ち止まって考えてみましょう。

パスキー以外の認証方法を残すべきかどうかを考えるに辺り、2 つ論点があります:

  1. パスキーより弱い認証機能を残せば、そちらが攻撃者に狙われてしまう
  2. パスキーより弱い認証機能をすべてなくせば安全にはなるが、パスキーをなくすと詰む

アプローチ 1: パスキーより弱い認証機能を残す #

パスキーを、新しい認証方法の選択肢として既存の認証方法に追加します。これではシステム全体として根本的なセキュリティの底上げにはなりませんが、パスキーの体験は他の安全な認証方法(二要素認証など)よりステップ数が少なく、素早く簡単にログインできるというメリットがあります。

将来的にパスキーのエコシステムがより充実する時期を待ちながら、弱い認証機能はより強くするか、いずれなくすのが理想です。パスキーで手軽に認証できるのであれば、それ以外の認証方法に多少手間がかかっても、パスキーをなくして詰むよりはるかにマシです。パスキーがあれば、既存の認証方法はいざという時に使えれば良い程度の位置付けであり、認証ステップ数が増えるなど、多少体験が悪くなっても許容されるはずです。多くのサービスはこのアプローチを採るのが懸命でしょう。

アプローチ 2: パスキーより弱い認証機能をなくす #

しかし、現在進行系で自社のユーザーが苛烈なフィッシング詐欺に遭っており、日々損害を垂れ流し続けている、としたらどうでしょう?多少ユーザーがアクセスに困ったとしても、サポートで本人確認して復旧できるようにして、フィッシング詐欺を減らせるパスキーに完全移行するサービスがあったとしても、不思議ではありません。前回の記事にパスキーの対応サービスリストを掲載しましたが、大手のサービスが多いことに驚きませんか?通常、新しい技術に飛び付くのは勢いのある小さな会社で、大手ほど腰が重いものです。それにも関わらず、大手がこぞってパスキーをサポートしたのは、フィッシング詐欺の対抗手段を一刻も早く導入したかったからなのではないかな、と想像しています。

ユーザーがパスキーを使いこなすコツ #

ここまで述べてきたように、エコシステムとしてのパスキーには、まだ落とし穴が残っています。そこで、どうすれば一般ユーザーがパスキーと上手に付き合えるのか、方法をいくつか提案します。

  • QR コードを表示して別デバイスのパスキーでログインを試みる(クロスデバイス認証)
  • 自分がどのパスキープロバイダにパスキーを保存しているかを意識する
  • 複数のパスキープロバイダにパスキーを作る

コツ 1: QR コードを表示して別デバイスのパスキーでログインを試みる(クロスデバイス認証) #

パスキーが見つからない時、別デバイスで保存したパスキーを使ってログインできる場合があります。パスキーのダイアログに「その他のオプション」などが表示されてい場合は、タップして QR コードを表示、パスキーを持っているデバイスでスキャンすることで、ログインできないか試してみましょう。

コツ 2: 自分がどのパスキープロバイダにパスキーを保存しているかを意識する #

パスキーを作る際、どのパスキープロバイダに保存するかを意識することで、少し状況が把握しやすくなります。以下に、どの環境でどういったパスキープロバイダが利用できるかをまとめます。

パスキープロバイダは大きく 3 つあります。

  • Microsoft の Windows Hello
  • Apple の iCloud キーチェーン(もしくは "パスワード" アプリ)
  • Google の Google パスワードマネージャー

ブラウザはこれらのプラットフォーマーの OS 上で動作しますが、実際に利用できるパスキープロバイダは組み合わせで異なります。各 OS ごと、主要ブラウザごとに、パスキーがどのパスキープロバイダに保存されるかを、下記の通りまとめてみました。自分がよくアクセスするアプリやブラウザに最適な組み合わせを見つけるとよいかと思います。

例: Apple デバイスしか使わない人にとっては、パスキーは iCloud キーチェーンに保存しておけば十分ですし、Windows と iPhone を使っているユーザーは、iCloud キーチェーンと Google パスワードマネージャーを併用するのが良いかもしれません。

※ Chromium 系ブラウザはすべて調べていませんが、おそらく Edge と同じの場合がほとんどだと思います。最新情報は passkeys.dev を参考にしてください。

Windows #

Chrome Edge Firefox
Google パスワードマネージャー ✅️ (要 TPM) ❌️ ❌️
Windows Hello ✅️ ✅️ ✅️
iCloud キーチェーン - - -

macOS #

Chrome Edge Firefox Safari
Google パスワードマネージャー ✅️ ❌️ ❌️ ❌️
Windows Hello - - - -
iCloud キーチェーン ✅️ ✅️ ✅️ ✅️

iOS/iPadOS #

Chrome Edge Firefox Safari
Google パスワードマネージャー 1 ❌️ ❌️ ❌️
Windows Hello - - - -
iCloud キーチェーン ✅️ ✅️ ✅️ ✅️

1 まもなく対応予定

Android #

Chrome Edge Firefox
Google パスワードマネージャー ✅️ ✅️ ✅️
Windows Hello - - -
iCloud キーチェーン - - -

Linux #

Chrome Edge Firefox
Google パスワードマネージャー ✅️ ❌️ ❌️
Windows Hello - - -
iCloud キーチェーン - - -

ChromeOS #

Chrome
Google パスワードマネージャー ✅️
Windows Hello -
iCloud キーチェーン -

サードパーティパスキープロバイダ #

上記以外にも、パスキーをサポートしているサードパーティパスキープロバイダ(デフォルトではないパスワードマネージャー)には下記のようなものがあります:

  • 1Password
  • Dashlane
  • BitWarden
  • NordPass
  • RoboForm
  • Keeper

多くのサードパーティーパスキープロバイダは、プラットフォームに縛られず、どこでも使えるというところがメリットです。

コツ 3: 複数のパスキープロバイダにパスキーを作る #

サービスによりますが、パスキーは本来、アカウントごとに複数作ることができるようにデザインされています。Google パスワードマネージャーと iCloud キーチェーンなど、複数のパスキープロバイダを跨いで複数のパスキーを作ることで、パスキーが見つからない場合のトラブルをだいぶ減らすことができます。誤ってパスキーを消してしまっても、他のパスキーを使って復旧することができます。

また、Android であれば 14 以降、iOS/iPadOS であれば 16 以降を使っている場合、複数のサードパーティーパスキープロバイダを、OS レベルで指定することができます。

  • Android: システム設定 > パスワードとアカウント
  • iOS/iPadOS: 設定 > 一般 > 自動入力とパスワード

デスクトップの場合でも、ほとんどのサードパーティーパスキープロバイダはブラウザ用拡張機能を提供していますので、それを使うことで利用可能なはずです。この機会にサードパーティーのパスキープロバイダを使い始めるのも手です。

コツ 4: より便利にパスキーが利用できるようになるまで待つ #

話がだいぶネガティブな方向に向かってしまったので、明るい話も少し提供しておきます。(おそらく 2025 年中に)パスキーの使い勝手がよくなる下記のような話が予定されています:

2025 年にはさらに便利にパスキーが利用できるようになっているといいですね!

パスキーをより便利に使ってもらうためにサービスができること #

最後に、サービス事業者のみなさんが、どんな点に注意してパスキーを実装すれば、ユーザーに安心してパスキーを使ってもらえるかを考えてみます。

同期できないパスキーや、パスキープロバイダをユーザーにわかるようにする #

パスキーのデザインガイドラインでは、パスキーの管理画面を作ることを推奨しています。パスキーがどのパスキープロバイダに保存されているのか、同期するのかしないのかを明示することで、ユーザーの理解を助けてあげることができます。

パスキーのプロモーション頻度を調整する #

パスキーを使え!という圧を快く思わないユーザーもいるようです。パスキーは良いものだとは思いますが、あまりしつこくおすすめすると逆効果かもしれません。

パスキー以外の認証方法を案内する #

余程の事情がない限り、パスキーが使えない時のために、バックアップとなる認証方法を提供します。ID 連携や二段階認証、場合によってはマジックリンクなどのパスワードレスもアリだと思います。当然ですが、それぞれに取りうるセキュリティ対策は万全に行うようにしましょう。ただし、パスワードだけのログインは狙われやすいので、できるだけ早く ID 連携やパスワードレス認証、二要素認証などに移行すべきです。

環境ごとに動作を変える #

例えば同じ Windows でも、2024年末時点で Chrome 以外のブラウザで作ったパスキーは、同期しません。ユーザーエージェント文字列で判定して、そういったブラウザの場合はパスキーを作っても同期しない旨を明示することで、ある程度ユーザーの期待値コントロールができるかもしれません。

ガイドラインに従う #

FIDO Alliance が最近、パスキー・セントラルというウェブサイトを公開しました。開発者向けというよりは、プロダクトマネージャーやデザイナが参照できるリソースがたくさん掲載されています。ぜひ参考にしてください。

まとめ #

パスキーの使い方について一通りまとめてみました。こんなに複雑なものは使いこなせない!と感じた方もいるかもしれません。それは、ユーザーとして間違った感覚ではないと思います。パスキーが目指すのは、こういったことを一切意識せず、誰でも安全に使える認証です。そうなるまでは、もう少し時間がかかるかもしれません。

最後に、この記事で述べたコツをまとめておきます。

ユーザーのみなさんがうまくパスキーを使うコツ:

  • クロスデバイス認証を活用する
  • 自分がどのパスキープロバイダにパスキーを保存しているかを意識する
  • 複数のパスキープロバイダにパスキーを作る
  • より便利にパスキーが利用できるようになるまで待つ

サービス提供者のみなさんがうまくパスキーを実装するコツ:

  • パスキーのプロモーション頻度を調整する
  • 登録されたパスキーのパスキープロバイダ、同期状況を明示する
  • 可能であればパスキー以外の認証方法を残す
  • 環境ごとにパスキー作成時の動作を変える
  • ガイドラインに従う

良いお年を。