FIDO(ファイド)アライアンス が、フィッシング耐性のある「マルチデバイス対応FIDO認証資格情報(マルチデバイスFIDOクレデンシャル)」を「パスキー(Passkey)」として展開することを、2022年12月9日に発表しました。
(Momentum for FIDO in Japan Grows as Major Companies Commit to Passwordless Sign-ins with Passkeys)
今回は、パスキーとはどのようなものかについて掘り下げてみます。
FIDO認証については過去の記事を参照ください。
● DDSウェブサイト:https://www.dds.co.jp/ja/topics/9736/
● FIDO コラム記事:https://zerokara.dds.co.jp/fido/fido_001/
FIDO パスキー とは
パスキーは、主要なクラウドベンダー(Apple、Google、Microsoft) などでの対応が進んでいる「マルチデバイス対応FIDO認証資格情報」の名前です。認証デバイスが手元に無い場合の代替策や、デバイス変更による再登録のコスト問題といった課題解決を目的として、FIDOに実装された新たな仕組みです。
Googleなどの各種サービスアカウントにログインするときに、従来のパスワードの代わりに使用でき、安全性を高めてくれます。
パスキーは、FIDOアライアンスが仕様を策定した技術で、Web技術の標準化団体であるW3Cの協力のもと、「FIDO2」「WebAuthn」「パスキー」という3つの技術を組み合わせたものです。
FIDO2は認証のためのパスワードを利用せず、生体認証を用いて認証器(Authenticator)といわれるFIDO対応デバイスで認証を行う方式であり、それをウェブで利用するための仕様がWebAuthn、そしてその資格認証情報をクラウド経由で同期する仕組みがパスキーです。
パスキーの仕組み
従来、FIDO認証は公開鍵暗号方式の鍵ペア(秘密鍵と公開鍵)を用いてオンラインサービスのID認証を安全で簡単に行うことができるものであり、特に秘密鍵をユーザーデバイスから外に出さないことで安全性を高める仕組みでした。しかし、この仕組みでは、ユーザーデバイスの紛失や機種変更などの際、改めて資格情報を登録し直す必要がありました。
パスキーでは「マルチデバイス対応FIDO認証資格情報」を用いて、一部の鍵情報を「同期鍵」としてクラウド上で管理する仕組みに変更しました。これにより、移行後のデバイスをOSクラウドに同期すれば、再登録や再設定の手間をかけずFIDO認証を使い続けることができるようになります。
※FIDOアライアンス資料を元に作成 |
パスキーの同期
クラウドベンダー内での同期
パスキー対応への取り組みは主要なベンダーで精力的に進んでおり、Apple ID、Googleアカウント、Microsoftアカウントを使って複数の端末に同期できます。
OSプラットフォームはユーザーが必要とする場所でクレデンシャル(認証資格情報)を利用できることへの担保を求めており、Windows、Android(Chrome OS)、mac OS/iOSといったOS環境で同期できることを想定し、OSのプラットフォーマーであるベンダーのアカウント(Apple ID、Googleアカウント、Microsoftアカウント)がその対象となっています。
各ベンダーでは以下に示すとおり、それぞれ対象となるデバイスでのパスキー同期が可能になっています。
クラウドベンダー | 主な対象デバイス |
Apple(iCloud) | iPhone/iPad/Mac |
Google(GoogleCloud) | Android/Chromeデバイス |
Microsoft(Azure) | Windowsデバイス |
各ベンダーのクラウド同期の仕組みのなかで、一部の鍵情報を「同期鍵」として共有することで、パスキーの同期が実現されます。ユーザーは自身のスマートデバイス(認証デバイス)が手元に無い状況であっても、同一ベンダーのスマートデバイスを利用して「パスキー」による認証が利用できるようになります。
例えば、Apple IDを利用している場合、端末に保管されたクレデンシャルはAppleのiCloudキーチェーンを使って複数の端末に同期されるため、パスキーを登録したiPhoneはもちろんのこと、MacやiPadなどでも改めてFIDO登録しなくとも、すぐにFIDO認証を使ったログインができるようになります。このように、複数の端末でもFIDO認証ができるというのが特徴です。
異なるクラウドベンダー間での同期
パスキーは、異なるクラウドベンダー間を股にかけることも考慮されています。認証デバイス間でQRコードとBluetooth通信を利用して「同期鍵」を相互利用(ローミング)することで、パスキーの同期が実現されます。
ユーザーは自身のスマートデバイス(認証デバイス)が手元に無い状況であっても、異なるベンダーのスマートデバイスを利用して「パスキー」による認証が利用できるようになります。現状では高コストな対応(手作業)に限定されていますが、こういったケースでも「パスキー」の利便性を高める取り組みが進んでいます。
パスキーを試してみる
デモサイトの「Passkeys.io(https://www.passkeys.io/)」にアクセスしてみると、パスキーとはどのようなものなのかを、生体認証の機能を備えたパソコンや、スマートフォンなどを使って確認することができます。
パスキーの優れている点
フィッシングに強い
パスキーは認証資格情報と共に、作られたウェブサイトのドメインがメタデータとして保存されるため、認証時はドメインが一致しないと認証ができません。これで実質的にフィッシングを不可能にしています。
ローカル認証である
パスキーの作成や、パスキーでのログインの際、デバイスのスクリーンロック解除と同じ方法で認証を行います。
iPhoneやiPadの場合は、Touch ID、Face IDやパスコード。
Macの場合は、Touch IDもしくはパスワード。
Androidデバイスの場合は、指紋認証や顔認証、PINやパターン。
Windowsデバイスの場合は、Windows HelloやPINを使います。
これらはネットワーク上に認証情報を流さず、ユーザーのデバイス上で行われるローカル認証です。
パスキー作成の際は、ローカル認証を行って秘密鍵と公開鍵のペアを作成し、秘密鍵をデバイス内に置き、公開鍵をサーバーに送信します。パスキーとは、この秘密鍵とそのメタデータを指しており、これが同期され、他のデバイスからでも利用できるという仕組みとなっています。
デバイス間で同期ができる
パスキーの最大の特徴が、デバイス間で同期できることです。
これまで、あるデバイスで作られた認証資格情報はそのデバイスでしか使えませんでした。これでは新しいデバイスに移行する際、使い勝手の面でもセキュリティ面でも問題がありました。パスキーの同期は、そういった問題を解決しています。
まとめ
今回はFIDOパスキーについてご紹介しました。大手クラウドベンダーが対応することで、広く一般的に普及し、利用者が利便性と導入のしやすさ、そして高いセキュリティを両立した認証環境を利用できることが期待されます。「パスワードのいらない世界」の実現を目指す、最新技術として注目してはいかがでしょうか。
※記載の社名、および製品名は、各社の商標または登録商標です。