つい最近、GoogleやAppleを含む160億件ものログイン認証情報が漏洩している事が確認されたという話が話題になりましたが、それに伴いGoogleなどでは従来のパスワードによるログインからパスキーを使用したログイン方法に変更する事を推奨しています。筆者は現在200件以上のWebサービスのアカウント情報をパスワードマネージャで管理していますが、昔作成したアカウントのパスワードには入力の手間を省く為に単純な文字列で登録した物が多数あり、これを機に簡単に破られる事の無いパスワードへの修正とパスキーを提供しているWebサービスではパスキーを使用する事にしました。
パスキーとは?
パスキーの仕組みについては筆者もひたすらネットで調べてやっとぼんやりと理解出来る程度にはなったのですが、最も分かりやすかったページにトレンドマイクロの解説ページがあります。このページあるパスキーの仕組みについて一部を下に抜粋します。
- <ペアキーの作成> パスキーの利用を申請すると関連するアプリケーションやサービスが「公開鍵」と「秘密鍵」を生成し、秘密鍵をデバイスに保存します。同時に公開鍵はサーバに送信されます。
- <ログイン試行> ユーザがサービスにアクセスし、ログインを試みるところからプロセスは始まります。通常、ユーザ名やメールアドレスなどの識別情報を入力することが求められます。
- <認証要求> ユーザがサービスにログインする際、サービス側のサーバはユーザのデバイスに対して認証要求を送信します。
- <生体認証による本人確認> 認証要求に応じてデバイスで生体認証やPINコードの入力を行います。これにより、デバイスの正当なユーザによる操作であることが確認されます。
- <署名の生成> 生体認証が成功した後、ユーザのデバイスは秘密鍵を使って署名を生成してサービス側のサーバに署名を送信します。
- <署名の検証> サーバは受け取った署名を、対応するユーザの公開鍵を使用して検証します。検証が成功すると、サーバはユーザの身元が確認されたとみなし、ログインプロセスが成功となります。ユーザはサービスにアクセスする権限を得ます。
端的に纏めるとログインする為に必要な鍵をユーザーの端末、要はパソコンやスマホ内に保存しておいて、ログイン認証の際にその端末内の鍵を使用してログインするという事です。今までのIDとパスワードの組み合わせでは単純なパスワードを設定していた場合に総当たり攻撃で簡単に破られる事が知られていますが、パスキーに変更する事でそのリスクを低減出来ます。また、フォームにパスワードを入力する事が無いので仕組み上はフィッシングサイトに強いという特徴もあります。
但しメリットばかりでは無くデメリットもあり、パスワードの場合は複数の端末で同じパスワードを使ってWebサービスへのログインが可能でしたが、パスキーの場合はパスワードのように異なる端末で容易に使い回す事が出来ません。また、秘密鍵を保存している端末が故障した場合はログイン出来なくなるのではという不安もありますが、どのWebサービスでもパスキーでログイン出来なくなった場合の代替手段が用意されている筈です。Googleの場合は通常パスキーでログインする設定にしておいてもログイン時にパスワードを使用したログインに変更出来るようになっています。
パスキーを使用するのに必要な物
Windowsの場合、最も手軽な手段としてWindows Helloを使う方法があります。Windows HelloはWindows 10、11で使用でき、顔認証、指紋認証、PINのどれかを事前に設定しておく事でWindowsへのサインイン以外にパスキーにも使用する事が出来ます。10、11共に設定の「アカウント」から「サインインオプション」へと進むと設定出来ますが、顔認証はカメラ付きノートPCか外付けのカメラが必要ですし指紋認証の機器も所有されている方は少数だと思われるので、殆どの方はPINを使用する事になると思います。

ただ私的にはWindows Helloでのパスキーの使用はお勧めしません。と言うのもMicrosoftアカウントでサインインしている場合は同じアカウント間でパスキーが同期され、別の端末でも使用出来るようになるらしいのですが、筆者のようにローカルアカウントしか使用していないユーザーは同期もバックアップもされない事になります。仮にMicrosoftアカウントでサインインしていても別のアカウントでサインインしている端末では使えませんし、同期機能も11のみで10には対応していないようです。
そこでお勧めなのが少し前に記事を書いたBitwarden。パスワードマネージャのBitwardenにパスキーを保存しておくと、Bitwardenをインストールしている他の端末でもパスキーを使い回す事が出来ます。また、Bitwarden以外にも1PasswordやKeePassXCといったパスキーに対応したパスワードマネージャが幾つか存在します。

Googleアカウントのパスキーを作成する
パスキーへの対応は徐々に広まりつつありますが、まだ一部のWebサービスでしか提供されていません。ただGoogleやYahoo!JAPAN、Amazonといった大手では既にパスキーを使用したログインに対応しています。そこで手始めにGoogleアカウントでパスキーを作成していきます。因みにBitwardenにパスキーを保存する場合は設定にある「通知」の「パスキーの保存と使用を尋ねる」を有効化しておく必要があります。

筆者は普段Firefoxを愛用しているのでFirefoxでのパスキーの作成を試みましたが、Googleアカウントでのパスキーの作成は現状使用出来ませんでした。他、Vivaldiに変えても弾かれたので仕方なくGoogle Chromeを使用してパスキーを作成しました。因みにパスキーを使用したログインにおいてはFirefoxやVivaldiでも問題無く使用出来ます。
パスキーを使用するアカウントでGoogleにログインしておきアカウントページへ移動します。左メニューの「セキュリティ」を開くと「Googleにログインする方法」に「パスキーとセキュリティキー」がある筈です。もし無い場合は少し下の「ログイン方法を追加できます」の所に「パスキーとセキュリティキー」が表示されています。

一旦本人確認画面が表示されパスワードの入力が必要になります。入力後に進むとパスキーとセキュリティキー画面が表示されるので「パスキーを作成する」をクリック。

Googleアカウントのパスキーの作成が表示されるので更に「パスキーを作成」で進みます。

Bitwardenがアンロックされた状態だとこのタイミングで「パスキーを保存」画面が表示されるので、Bitwardenの画面から保存するアカウントを選択します。

Windows Helloを使用する場合はWindows セキュリティ画面が表示されるので顔認証、指紋認証、もしくはPINの入力を行います。

最後に「セキュリティキーのパスキーが作成されました」と表示されます。

画面下部に生成されたパスキーを確認出来ます。「FIDO2 セキュリティキー」の方がBitwardenに保存した物で、Windows Helloの方はそのまま「Windows Hello」と表示されます。

Bitwardenに保存したパスキーはアカウント画面のログイン情報の欄から確認可能で、Windows Helloに保存したパスキーは設定の「アカウント」画面から少し下にスクロールした場所に「パスキー」のメニューがあるので、そこからか保存したパスキーを確認出来ます。

パスキー作成後はログイン時に該当するアカウントのパスキーの画面が表示されるので、それを選択してログインを行います。

パスキーを使用した感想
当初は物凄く面倒な仕組みだと思っていたのですが、実際に使ってみるとパスキーの作成自体は非常に簡単でした。ただパスキーを使ったログインにおいては直接パスワードを入力するよりも楽で便利なのは間違いありませんが、普段からパスワードマネージャを活用しているユーザーからしたら便利になったと感じる事は無いでしょう。それでもセキュリティが少しでも向上するならやっておくべきだと思いますし、いずれパスキーでのログインが主流になると筆者は考えています。また、Googleの場合は現状パスキーの作成後もパスワードでログインする事が可能なので、単純なパスワードに設定している場合は記号を使って複雑な文字列に変更しておく事をお勧めします。
他、Yahoo!JAPANでもパスキーの作成とパスキーを使用したログインが可能です。Yahoo!JAPANの場合はアカウントの登録情報からログインとセキュリティを開いて「生体認証(指紋・顔など)」の設定から作成出来ます。また、Yahoo!やAmazonではGoogleと違いFirefoxからでもパスキーを作成出来ました。
コメント