パスキーとは、FIDO(ファイド)アライアンスとW3Cが共同で規格化した、パスワードが不要な認証技術です。現在、オンラインバンキングやオンラインショッピングなど多くのウェブサービスでユーザ認証の手段としてパスワードが用いられています。パスワード認証は最も基本的で普及している認証方式ですが、パスワードがフィッシング攻撃などによって攻撃者に盗まれると被害に直結しやすく、インターネット環境で使用するにはセキュリティ上の問題があります。本記事では、パスワードを必要としない認証方式として注目されている「パスキー」について、定義や利点、課題について解説します。
パスキーとは
パスキー(Passkeys)は、生体認証技術などの標準化を目指す米国の非営利団体であるFIDO(ファイド)アライアンスとWeb標準化団体のW3Cが共同で規格化した、パスワードが不要な認証技術です(*1)。「文字列(ワード)」の代わりに「暗号鍵(キー)」を使うパスキーによる認証(ここでは「(広義の)パスキー」と表現します)は、直感的で理解しやすく、一般社会にも急速に浸透する可能性があります。最近では、2023年4月5日にNTTドコモdアカウントが(*2)、日本時間5月4日(世界パスワードの日)にGoogleアカウントが(*3)、パスキーに対応したことが話題になりました。
「(広義の)パスキー」は技術的には「FIDO2」と「(狭義の)パスキー」の組み合わせで実装されています。それぞれについて下記で説明します。
1. FIDO2
FIDO2は、FIDOアライアンスが公開した認証規格であるFIDO(Fast IDentity Online)の最新バージョンです(2018年制定)。
従来のパスワード認証では、あらかじめ登録したIDとパスワードのペアが正しく入力されているかをサーバ側でチェックしてログインを許可しますが、FIDO2では、認証器と呼ばれるハードウェアキーや生体認証装置などを用いて認証するのが大きな特徴です。初回のログイン時には、アカウントとサイトに紐づいた一意の公開鍵を生成してサーバ側に登録し、対となる秘密鍵をスマートフォンなどユーザのデバイス側に保管します。次回ログイン時には、サーバから送信されるデータに、デバイスから生体認証などで取り出した秘密鍵を使って署名をして応答し、サーバ側がペアの公開鍵で署名を検証してログインを許可します。
FIDO2には、WebAuthn(Web Authentication)とCTAP(Client To Authenticator Protocol)という技術仕様が含まれます。 WebAuthnは、FIDO2をWebアプリケーション上で使用可能にするためのAPI仕様で、CTAPは、プラットフォーム(OS)やWebブラウザと認証器間の通信を定めた規格です。
2. (狭義の)パスキー
従来のFIDO認証では、以下の図左のように秘密鍵をユーザのデバイスから外に出さないことで安全性を高めていました。しかし、この方式では、デバイスの紛失やスマートフォンの機種変更など、認証器が使えなくなると認証不可能となり、新しいデバイスの再登録が必要となり、パスワード認証と比較して利便性が低下しました。この問題を解決するため、図右のように秘密鍵とそのメタデータに相当する「FIDO認証資格情報(FIDOクレデンシャル)」をクラウド経由で同期し、複数のデバイスで利用できるようにする仕組みが考案されました。
この仕組みまたは、FIDOクレデンシャルそのものを「(狭義の)パスキー」と呼びます。すなわち「(広義の)パスキー」とは、FIDO認証の拡張技術と考えることができます。
パスキーの利点
パスキーは、以下のような利点があります。
フィッシング攻撃に対する耐性が高い
パスキーにはサイトのドメイン情報がメタデータとして保存されています。WebAuthnは、ドメインを確認した上で認証情報を渡す仕様であり、ドメイン情報が一致しないと認証できません。このためドメインを本物に似せたフィッシングサイトに情報が渡されることはなく、フィッシングは実質不可能となります。ユーザ側もアクセス先のURLに注意する必要はありません。
ローカル認証である
パスキーによる認証ではユーザ側のデバイス上で生体認証などのローカル認証が必須です。パスワードによる認証ではユーザが入力したパスワードをサーバに送りチェックしますが、パスキーによる認証ではローカル認証で取り出した秘密鍵でサーバから送信されたデータに署名し、サーバに送ります。サーバでは公開鍵を使って署名を検証します。秘密情報となる生体情報などはネットワークに送られないため、ユーザのプライバシーも守られ安全です。
不正アクセスが困難
パスキーなどFIDO認証を行っているサイトに対し、不正アクセスで認証を突破するには、「秘密鍵」と「秘密鍵を取り出すための認証情報(生体情報など)」が必要となります。万一攻撃者がユーザのデバイスを不正入手したとしても、秘密鍵を利用するためには認証器を通した生体認証などが必要であり、本人以外のアクセスは困難な仕組みとなっています。
パスキーの課題
有望な技術であるパスキーですが、以下のような課題があります。
パスキーの同期による利便性向上とセキュリティ強化のトレードオフ
パスキーをクラウド上に保存し同期することにより、スマートフォンの機種変更のように新しいデバイスを容易に認証でき、利便性は向上しました。しかしながら、利便性とセキュリティ強化はトレードオフです。FIDOアライアンスは、「パスキー同期はエンドツーエンドで暗号化され、同期プロバイダーは強力なアカウントセキュリティ保護を備えています」とFAQの中で答えています(*5)が、金銭を扱うオンラインバンキングなどでは、多少利便性が低下しても従来のFIDO認証のようにデバイスを固定する仕組みを用いることも検討すべきと考えられます。
現状では、パスキー対応のサイト・サービスが少ない
dアカウントやGoogleアカウントなどが対応したことで、パスキーの利用は確実に拡大していくと思われます。しかし登場して間もない技術であるため、現状では対応するサイトやサービスがまだ少ない状況です。今後は各社の対応次第ですが、当面はパスワード認証についても認証アプリと組み合わせた二要素認証などでセキュリティを強化しながら継続されると考えられます。
おわりに
サイバー攻撃手法は日々巧妙化しており、パスワードによる認証は限界に達していると思われます。パスワードを使用せずにユーザ側の利便性や導入の容易さも考慮した上で、セキュリティの高さも両立される新技術である「パスキー」には、パスワードレスの世界を大きく広げる可能性があり、今後、パスワード認証に代わる技術として期待されます。
参考文献
(*1) FIDO Alliance Passkeys (Passkey Authentication)
https://fidoalliance.org/passkeys/
(*2) NTTドコモ 2023年3月13日 dアカウント「パスキー認証」の提供開始について
https://id.smt.docomo.ne.jp/src/utility/notice_20230313.html
(*3) Google Inc. 2023年5月3日 The beginning of the end of the password
https://blog.google/technology/safety-security/the-beginning-of-the-end-of-the-password/
(*4) FIDO Alliance 2022年12月9日 What are Passkeys? -パスキー解説
https://media.fidoalliance.org/wp-content/uploads/2022/12/Keiko-Itakura_What-are-Passkeys-final-as-of-Dec-12.pdf
(*5) FIDO Alliance FAQ’s “ISN’T IT UNSAFE FOR PASSKEYS TO LEAVE THE DEVICE AND BE SYNCED TO OTHER DEVICES?”
https://fidoalliance.org/passkeys/#faq