端末の生体認証のみでログイン可能で、クレデンシャルを複数の端末間で同期できる仕組み
パスキー(Passkeys)は、パスワードレス認証の推進団体「FIDO Alliance(ファイド アライアンス)」とWeb規格の標準化団体「W3C」が制定した規格。認証技術としてはFIDO2を使用し、ログインのための情報、FIDOクレデンシャルを複数の端末で同期する技術のことをパスキーと称することとなった。
アップル社、マイクロソフト社、グーグル社が相次いでこのパスキーのサポートを進めると発表し、各社のプラットフォームで相互利用が可能になる見込みとなった。加えて、国内ではNTTドコモ、KDDI、ヤフーなどもサポートを表明している。
2023年2月時点では、macOS Ventura、iOS/iPadOS 16でSafariが対応しており、Android版Chromeでもパスキーをサポートしたとアナウンスしている。実際に、Yahoo! JAPANへのログイン時にiPhone/Androidの対応端末で生体認証の登録画面を使用すると、パスキーによる認証登録が可能だ。
なお、「FIDO Alliance」の「FIDO」とは、「素早いオンライン認証」を意味する「Fast IDentity Online」の略だ。パスワードのような「知識要素」ベースの認証から、指紋や顔、虹彩、指紋などのような「生体要素」ベースの認証に切り替えることで、インターネットなどの認証をより安全に、より迅速に行えるようになる。
FIDO2認証のクレデンシャルを端末間で同期できる「パスキー」
パスキーで使用されているFIDO2認証とは、公開鍵暗号方式を用いた認証の仕組みだ。一般的なID/パスワード認証は、入力された2つの項目があらかじめ登録されたIDとパスワードのペアとマッチしているかによって認証するという方式だ。
FIDO2認証では初回サインイン時に、サイトに紐付いた一意の公開鍵を生成してサービスに登録し、端末には公開鍵に対応した秘密鍵を保管する。次回以降のログイン時には生体認証で秘密鍵を取り出し、サービス側から送信されるデータに対して署名をして応答する。サービス側がペアの公開鍵で署名の正当性を検証してログインを許可する、という手順を踏む。
このFIDO2認証を用いることで、パスワード不要でサービスへのログインが実現できる。パソコンやスマートフォン(以下、スマホ)の安全な領域(セキュアエレメント)に、サービスごとのFIDO認証資格情報(クレデンシャル)を保管し、実際のログイン時には端末の生体認証を使うだけでログインが可能となる。
ただし、セキュリティ的には強固と言えるこのFIDO2認証方式であっても、実際の使い勝手では一般的なID/パスワード認証方式に劣る側面もある。端末内のセキュアエレメント内にクレデンシャルを保管するため、その端末からしかログインできない、といった点だ。例えば、パソコンからログイン登録したサービスには、同じIDでスマホからはアクセスできない。加えて、スマホ自体を機種変更する場合も問題が生じる場合がある。
そうした理由から、クレデンシャルを端末と端末間で同期できる仕組みが必要とされた。そして、そのために作られた規格がパスキーなのだ。Microsoftアカウント、Apple ID、Googleアカウントを利用してクレデンシャルを同期できるようにして、同じアカウントサービスを利用する際にも同じパスキーが利用可能になる見込みだ。
異なる「サービスアカウント」間では端末間同期はできない
パスキーを用いることで、iPhoneのSafariと、macOS のSafariで同じパスキーが利用でき、同じサービスにアクセスすることが可能だ。パスワードと異なり、パスキーはアカウント情報が外部に漏れたり、悪用されたりということは生じない。
ただし、パスキーのクレデンシャルはサービスアカウントをキーとして同期されることになる。そのため、サービスアカウントが異なれば、端末が同じ種類のものでもパスキーの同期はできないということだ。
例えば、Appleの認証を採用したパスキーを使ったiPhoneを持っている場合、Googleの認証を採用したパスキーを使ったAndroid端末にパスキーを載せ替える、あるいは機種変更でパスワード情報を移行することは難しい。
また、複数のサービスアカウントが選べるパスキー環境がある場合、ユーザーはどのサービスアカウントを利用するかという選択を迫られることになる。例えば、Android端末とWindows パソコンを利用するユーザーの場合、Google、Microsoftいずれかのパスキーを選ぶ必要がある。