トピック
iOS・Androidも対応「パスキー」とはなにか? パスワード時代の終焉
2022年11月25日 08:20
Microsoft、Apple、Googleというプラットフォーマーに加えて、国内ではNTTドコモがサポートを表明した「パスキー(Passkeys)」。FIDO2と呼ばれるパスワードレス認証の仕組みを使い、複数デバイスでも同じようにログインができる。
今までのように覚えられないような長く複雑なパスワードを使わずに、フィッシング詐欺にも強い安全で便利なログインが可能になる。キーワードは「パスワードからパスキー」だ。
パスワードから「パスキー」
パスキーは、パスワードレス認証技術FIDO(ファイド)を推進するFIDOアライアンスとWeb標準化団体のW3Cが規格化したもので、Microsoft、Apple、Googleが採用を発表して話題となった。
認証技術としてはFIDO2を採用し、ログインのための情報を複数の端末で同期する技術が「パスキー(Passkeys)」。加えて各社は、Webブラウザ経由でFIDO2認証を行なう「Web認証(WebAuthn)」という技術もサポートしており、これによって「パスキー認証」の普及加速が期待されている。
FIDO2認証は、公開鍵暗号方式を用いたユーザー認証の仕組み。これまでは、あらかじめ登録したIDとパスワードのペアが正しく入力されているかをチェックして認証していたが、FIDO2認証では最初のログイン時にアカウント、サイトに紐付いた一意の公開鍵を生成してサーバー側に登録し、端末側には対となる秘密鍵を保管する。ログイン時は、生体認証で秘密鍵を取り出し、サーバーから送信されるデータに署名をして応答。サーバー側がペアの公開鍵で署名を検証してログインを許可する。
これによって、パスワードを使わずにWebサイトのログインなどが実現できる。PCやスマートフォンの安全な領域に、サイトごとのFIDO認証資格情報(FIDOクレデンシャル)を保管し、実際のログイン時には端末の生体認証を使うだけでログインできるというのがメリットだ。
セキュアな実行環境であるTEE(Trusted Execution Environment)やセキュアエレメント(SE)といった安全な領域に保管されるので、秘密鍵漏えいの心配は少ない。FIDO2認証自体が2要素認証となっているため、SMSなどの2段階認証を改めて設定する必要もなくなる。生体認証も端末内で完結するため、外部に生体情報が流出することもない。
パスワードを使わないためパスワードリスト攻撃にも強く、サイトごとに決められたクレデンシャルを使うため、本物に似せたURLやサイトを模してもログインできないのでフィッシングにも強いのがFIDO2認証だ。
ただし、FIDO2認証には課題もあった。
端末内にクレデンシャルを保管するので、その端末でしかログインできず、買い替え、端末紛失などの場合に改めてログイン設定が必要になるというデメリットだ。
これを解消するため、クレデンシャル(認証資格情報)を複数の端末間で同期できる仕組みがパスキーとして規格化された。Microsoftアカウント、Apple ID、Googleアカウントなどの対応サービスを使うことで、同じアカウントを登録した端末間でクレデンシャルが同期できるようになる。例えば同じApple IDを登録したMacとiPhone、iPadの各端末で生体認証を使い、それぞれの端末だけでFIDO2認証を使ったログインが可能になる。
いちいちIDとパスワードを入力して、指定されたスマートフォンに送信されるSMSを確認して入力する、といった動作は不要。パスキーを使うことで、それぞれの端末で安全にログインできるようになる。
デバイスをまたいで生体認証。「パスキーでログイン」に
「パスキーには2つの意味がある」と話すのは、FIDOアライアンスのボードメンバーであるNTTドコモで、長年FIDOに取り組んできたドコモのチーフセキュリティアーキテクト森山光一氏。
狭義のパスキーは、「マルチデバイス対応FIDO認証資格情報(Multi-Device FIDO Credentials)」のことで、FIDOクレデンシャルを複数の端末で同期する技術だ。
これに対して「広義のパスキー」は、FIDOクレデンシャルを用いたFIDO2認証によってパスワードレス認証を行なう仕組み全般のことも指すという。つまり、「(狭義の)パスキーで同期したクレデンシャルを使い、FIDO認証でログインする仕組みが(広義の)パスキー」と言うことができる
これは、「FIDO認証」や「パスワードレス認証」という表現は一般ユーザーに対してなじみがなくて伝わりにくいというのがその理由で、一般でも使われる「パス"ワード"」に続く仕組み、ということで「パス"キー"」という表現がいいという判断のようだ。
これまで「パスワードで認証する」「パスワードでログイン」と言っていたシーンで、これからは「パスキーで認証する」「パスキーでログイン」という表現ができるようにしたい、というのがドコモの考えだと森山氏は話す。
ただ、基本的にパスキーが同期されるのは同じアカウント間なので、Micorosoftアカウント(Windows)に保管されたパスキーは、Googleアカウントを登録したAndroid端末には同期されないということで、このあたりは課題となるだろう。
パスキーを使ってブラウザでWebサイトにログインする仕組みは「Web認証(WebAuthn)」と呼ばれる。Webサイトだけでなくスマートフォンアプリでも、ログイン画面で内蔵ブラウザを使う場合も多く、こうした場合もWeb認証が使われる。
これもW3CとFIDOアライアンスが協力した規格で、WebサイトのログインなどでFIDO2認証を使うためのもの。パスキーとWeb認証をサポートすることで、複数の端末で同じWebサイトに対してパスキー認証ができる。
パスキーに対応せずにWeb認証のみのサポートだと、複数端末でそれぞれ鍵生成をしてログイン設定を行なう必要があるのに対し、パスキーならクレデンシャルが同期されるため、そうした手間が省けるというわけだ。
一部のWebサイトでは、「Appleでサインイン」「Googleアカウントでログイン」といった機能が利用されているが、それぞれのアカウントがパスキーとWeb認証に対応することで、これを導入しているサイトもそのままパスキー認証が使えるようになるだろう。
ドコモも専用アプリ不要に SIMフリー対応も簡単に
これまで、こうした状況を実現するためには、例えばスマートフォンであれば「ドコモが端末メーカーと協力してFIDOの仕組みを端末に実装する」といった手順が必要だった。OS、ブラウザベンダーがパスキーに対応することで、どの端末でも、対応OS、ブラウザがインストールされていればパスキー認証を利用できるようになる。
ドコモでは、dアカウントのFIDO2認証実現のためにスマホアプリを別途インストールするような設計になっており、パスワード無効化の設定をすることでFIDO2認証ができるようになっていた。今後、dアカウントがパスキー・Web認証に対応すれば、アプリインストールをしなくても、dアカウントを設定した複数端末でパスキー認証によるログインが可能になる。
昨今はMNPで他社スマホを使う、SIMフリー端末を使うという例が増えており、その場合はFIDO2認証を使うためにdアカウントの設定アプリをインストールしてもらう必要があった。インストールの手間がなくなり、複数端末でログインしやすくなるので、より安全なパスキー認証の利用者が増えることが期待できる。
また、パスキー認証ではSMSによる2段階認証が不要になるため、「SMS非対応のデータ通信回線でも利用できる」というメリットがある。回線契約も不要なので、現在あるような一部のdアカウントの制限が解消される可能性がある。ただ、ドコモ側ではサービス開始の'23年2月時点では、すべてのサービスでパスキー認証に対応できるわけではないとしている。
スマホへのマイナカード機能内蔵とも連携
公開鍵暗号方式を使うパスキー認証は、政府が進めている「マイナンバーカード機能のスマートフォン内蔵」という取り組みと親和性が高い。マイナンバーカードの電子証明書をスマートフォンに内蔵し、ログイン時に使用するという仕組みで、マイナポータルアプリが必要で、複数端末でクレデンシャルを同期できないデメリットはある反面、厳密な本人確認ができるというメリットがある。
例えばマイナンバーカードの電子証明書を使って本人確認をして設定したdアカウントなら、パスキーを使って複数端末で同期できる。本人確認がされているので、ユーザーの利便性向上とともに、オンラインの端末購入時などでの安全性が向上すると考えられる。こうしたことからも、森山氏はマイナンバーカードの電子証明書をスマートフォンに内蔵するという取り組みには期待しているそうだ。
ID・パスワード時代の終焉とパスキーの誕生
ドコモ以外だと、国内ではすでにヤフーがパスキー認証に対応。iOS 16以降を搭載したiPhoneなど、対応端末にApple IDでログインした上でYahoo! JAPANにログインをするとパスキーの登録画面になる。ここで端末を登録すれば、Apple IDのキーチェーンにFIDOクレデンシャルが保管され、同じApple IDでログインした端末に情報が同期され、今後はパスキーでのログインが可能になる。
これ以降は、ログイン時にYahoo! JAPAN IDを入力して、「パスキーを使用してサインイン」を選べば、パスワードなしでのログインが可能になる。IDさえあれば、あとは生体認証でログインできるという利便性は、対応サイトが増えれば増えるほど実感できるようになるだろう。
パスワードがパスキーになることで、パスワードをサイトごとに使い分ける不便さ、2段階認証でSMSを使う手間が減り、フィッシング被害の減少が期待できるなど、利便性と安全性が高まる。
パスキーにおいては、「秘密鍵が漏えいし、それを取得した攻撃者自身の端末に秘密鍵をセットしてなりすましてログインする」という攻撃自体は起こりえるとされており、複数端末へのFIDOクレデンシャル同期でその懸念は高まる。ここは、GoogleやAppleらの安全性に対する取り組みがさらに重要になるだろう。
とはいえ、長く、ID・パスワード方式の認証の時代が続き、すでにこの仕組みは安全性と利便性という面で破綻していながら、それを超える技術がなかなか普及しなかった。パスキーがそうした状況を改善できるのか注目したい。