はじめに
Webアプリケーションへのログイン時の認証において今後主流となると思われるパスキーについては、その利用方法が多岐にわたるため、運用者はその全体像を把握しておく必要があります。この記事ではパスキーを運用しようとするユーザ様がその運用ルールを策定されたり、利用者向けのマニュアルを執筆される際に参考となるように、各種OSやブラウザの仕様について解説させていただきます。
パスキーはWebAuthn(ウェブオースン)や FIDO(ファイド)と呼ばれることもあります。FIDO/FIDO2 はFIDOアライアンスというグループによって標準化された規格です。
パスキー認証導入の動機
アプリケーションへのログイン時の認証においてパスキーを導入することによるメリットついて解説します。
パスワードレスと本人確認
ログインに使用するパスワードについては、漏えい時のリスクを最小化するために、複数のサイト間で同じパスワードを使用してはならないというルールを守る必要があります。このルールにより、サイトごとのパスワードをすべて暗記することが不可能となり、ログインしようとしてるユーザが本人である(なりすましでない)ことを確認するためにパスワードを使用するという枠組みは破綻しました。
利用者はパスワードマネージャなどにサイトごとに自動生成したランダムで複雑なパスワードを記憶させ、ログイン時はこれを自動的に入力させるでしょう。これでサイトごとのパスワードを暗記する必要がなくなりパスワードレスとすることができます。パスワードレスというのはログインにパスワードを使用しないという意味ではなく、利用者がサイトごとのパスワードを暗記しなくてよいという意味です。
しかし、この運用ではデバイスが盗まれたり画面が横取りされた際になりすまされることを防げません。パスキー認証を導入することにより、確実に本人確認を担保することができます。
パスキー認証は生体認証かPIN番号/パスワード入力で本人確認を行います。PIN番号/パスワードはサイトごとに変える必要はなく、1個暗記しておけば良いので、やはりパスワードレスと言えます。
二要素認証
二要素認証(あるいは 2FA, MFA)では、ログイン時に
- ログインしようとしているユーザが鍵となるデバイスを持っていること
- ログインしようとしているユーザがその鍵の持ち主本人であること
の二つの要素を確認します。これにより、IDとパスワードだけで認証するのに比べて格段に高いセキュリティを確保できます。ここで、ユーザが鍵となるデバイスを占有して管理している必要があります。たとえば、
- デバイスを他人に貸与してはいけない
- デバイスは携帯するか、携帯していないときは物理的に他人がさわれない場所に置かれていなければならない
- デバイスを紛失した際には速やかに届け出て無効化しなければならない
などの運用ルールを決める必要があります。スマートフォンであれば、上記のようなルールは一般的に守られますが、パソコンの場合はルールを周知して利用者に注意喚起しておく必要があります。また、企業内のシステムにおいて個人資産のデバイスをパスキーとして使用する場合は BYOD としての運用についても従業員と同意しておく必要もあるでしょう。
パスキーの保存先
パスキーの実体はいわゆる非対称鍵ですが、環境(OSやブラウザやその設定)と登録時の操作に依存して、さまざまな場所に保存されます。ここでは、保存先のパターンを列挙します。
同期型パスキー
クラウド上に保存されるパスキーです。具体的には、Googleパスワードマネージャ、iCloudキーチェーン、Microsoft アカウントなどに保存されます。
オンデバイスパスキー
デバイスの内部に保存されるパスキーです。例えば、Windows Hello でローカルアカウント(= Microsoft アカウントではない)でログインしている場合、そのパソコンの中にパスキーが保存されます。また、iOS や Android で Microsoft Authenticator アプリを使用した場合、スマートフォンの中にパスキーが保存されます。
セキュリティキー
USBで接続されるセキュリティキーに保存されるパスキーです。通販サイトで「USB セキュリティキー FIDO2」などで検索してセキュリティキーを購入することが可能です。
デバイス横断
BlueToothで通信可能な別端末上でパスキー認証を実行し、その結果を転送します。実際のパスキーの保存先はパスキー認証を実行する端末の環境に依存します。例えば、パソコンで表示したQRコードをスマートフォンで読み込んでスマートフォン上でパスキー認証を実行できます。そのスマートフォンで iCloud キーチェーンにパスキーを保存している場合は保存先は iCloud キーチェーンになります。
OS別保存先別利用可否
パスキー認証において、アクセス環境ごとのパスキーの登録および認証の可否を説明します。
また、パスキーの保存場所も同期型パスキー(クラウド)、オンデバイス、デバイス横断認証にわけて詳細にご確認いただけます。
詳細について、抜けやミスがある場合、随時更新させていただきますので、コメントいただければ幸いです。
記号の凡例
○:登録または認証できます
×:登録または認証できません(エラーまたは先に進めません)
ー:該当なし・対象外です
Windows
| パスキー保存場所 \ アクセス環境 | Hello未設定 | Hello+ローカルログイン | Hello + Microsoftアカウントログイン | ||||
|---|---|---|---|---|---|---|---|
| 登録 | 認証 | 登録 | 認証 | 登録 | 認証 | ||
| 同期型パスキー(クラウド) | Googleパスワードマネージャ※1 | × | ○ ※2 | ○ | ○ | ○ ※5 | ○ ※5 |
| iCloudキーチェーン | ー ※4 | × ※4 | ー ※4 | × ※4 | ー ※4 | × ※4 | |
| Microsoft アカウント | × | × | × | × | ○ ※5 | ○ ※5 | |
| オンデバイス | Windows Hello | ー | × | ○ | ○ | ○ ※5 | ○ ※5 |
| ハードウェアセキュリティキー(YubiKeyなど) | ○ ※3 | ○ | ○ | ○ | ○ ※5 | ○ ※5 | |
| デバイス横断認証 | (QRコード読み取り) | × | × | ○ | ○ | ○ ※5 | ○ ※5 |
注釈
- ※1 Chrome/Edge で Google アカウントにログインしていることが前提
- ※2 GoogleパスワードマネージャのリカバリPINで認証(PIN入力は初回のみ)
- ※3 cross-platform が許可されているとき
- ※4「iCloud for Windows」アプリをインストールしている場合を除く
- ※5 Windowsに対してMicrosoftログイン可能な環境が必要
MacOS
| パスキー保存場所 \ アクセス環境 | iCloud未接続 | iCloud接続 | |||
|---|---|---|---|---|---|
| 登録 | 認証 | 登録 | 認証 | ||
| 同期型パスキー(クラウド) | Googleパスワードマネージャ※1 | ○ | ○ | ○ | ○ |
| iCloudキーチェーン | × ※3 | × ※3 | ○ | ○ | |
| Microsoft アカウント | × ※5 | × ※5 | × ※5 | × ※5 | |
| オンデバイス | Windows Hello | ー | ー | ー | ー |
| ハードウェアセキュリティキー(YubiKeyなど) | ○ | ○ | ○ | ○ | |
| デバイス横断認証 | (QRコード読み取り) | × ※3 | ○ | × ※2 | ○ |
注釈
- ※1 Chrome/Edge で Google アカウントにログインしていることが前提
- ※2 自端末のFIDO(TouchID)以外選択できない
- ※3 iCloudキーチェーンを有効にしなければ登録に進めない
- ※5 今後サポートの可能性あり
iOS
| パスキー保存場所 \ アクセス環境 | iCloud未接続 ※6 | iCloud接続 | |||
|---|---|---|---|---|---|
| 登録 | 認証 | 登録 | 認証 | ||
| 同期型パスキー(クラウド) | Googleパスワードマネージャ※1 | ○ | ○ | ○ | ○ |
| iCloudキーチェーン | × ※7 | × ※7 | ○ | ○ | |
| Microsoft アカウント | × ※5 | × ※5 | × ※5 | × ※5 | |
| オンデバイス | Microsoft Authenticator※8 | ○ | ○ | ○ | ○ |
| ハードウェアセキュリティキー(YubiKeyなど) | ○ ※3 | ○ | ○ ※3 | ○ | |
| デバイス横断認証 | (QRコード読み取り) | ー | ○ | ー | ○ |
注釈
- ※1 Chrome/Edge で Google アカウントにログインしていることが前提
- ※3 cross-platform が許可されているとき
- ※5 今後サポートの可能性あり
- ※6 iCloudのうち「iCloud パスワードとキーチェーン」のみ同期をOFF
- ※7 iCloudキーチェーンを有効にしなければ登録に進めない
- ※8 Microsoft アカウントにログインしていることが前提
Android
| パスキー保存場所 \ アクセス環境 | Googleアカウント未接続 | Googleアカウント接続 | |||
|---|---|---|---|---|---|
| 登録 | 認証 | 登録 | 認証 | ||
| 同期型パスキー(クラウド) | Googleパスワードマネージャ※1 | × | × ※5 | ○ | ○ |
| iCloudキーチェーン | ー | ー | ー | ー | |
| Microsoft アカウント | × ※5 | × ※5 | × ※5 | × ※5 | |
| オンデバイス | Microsoft Authenticator※8 | ○ | ○ | ○ | ○ |
| ハードウェアセキュリティキー(YubiKeyなど) | ○ ※3 | ○ | ○ ※3 | ○ | |
| デバイス横断認証 | (QRコード読み取り) | ー | ○ | ー | ○ |
注釈
- ※1 Chrome/Edge で Google アカウントにログインしていることが前提
- ※3 cross-platform が許可されているとき
- ※5 今後サポートの可能性あり
- ※8 Microsoft アカウントにログインしていることが前提
画面遷移例
利用者に適切にパスキーを使用していただくためには、スクリーンショット付きの画面遷移図が必要ではありますが環境や操作によりその分岐が多岐にわたり、全てを網羅して掲載することはできません。ここでは、限られた範囲ではありますが、弊社製品でパスキー認証を使用した場合の画面遷移例を提示します。
図中に「platformのみ許可」と書かれている菱形については FIDO のAPIのオプションで Authenticator Type(認証器のタイプ)に platform と指定している場合という意味です。認証サーバの製品ごとにオプションの設定方法は異なりますので、ご利用の製品のマニュアルを参照してください。
redmine のスクリーンショットは認証後のアプリケーションに到達したことを意味しています。
おわりに
この記事で説明させていただいた通り、パスキーの運用については多岐にわたるため、運用者の方である程度利用方法を限定する必要があると思われます。利用ルールを策定する際に本稿を参照していただければ幸いです。





