パスワードレスの世界へパスキー(passkey)とは何か?

ソフトウエア

<景品表示法に基づく表記> 本サイトのコンテンツには、商品プロモーションが含まれている場合があります。

パスワードに代わる認証として注目されている「パスキー」は、Microsoft、Google、Apple、Amazonなどをはじめとする身近なサービス・アプリでパスキーが採用されています。

  • パスキーってなに?
  • FIDO認証とは?
  • パスワードレスを実現したい

この記事は、パスキー(passkey)の仕組みやメリット・デメリットについて解説します。

パスキー(Passkey)とは何か?

パスキーが誕生する経緯

パスキーとは、生体認証などを用いてパスワードレス認証を行うための新しい認証方法のことです。正式名称は「マルチデバイス対応FIDO認証資格情報(multi-device FIDO credential)」といいます。

パスキーは、2つの非営利の標準化団体である「FIDO Alliance」と「World Wide Web Consortium(W3C)」が策定した認証方法です。

パスワードレスでログインできる認証の規格は、パスキーが出来る前に「FIDO Alliance」が「FIDO2」として実現していました。

しかし「FIDO2」規格は、認証で利用する資格情報をデバイス内に保存する仕組みのため、デバイスが変わると、その都度資格情報をデバイス毎に再登録する必要がありました。

「World Wide Web Consortium(W3C)」は「FIDO2」規格をWebブラウザ経由で利用する仕組みとして「Web Authentication(WebAuthn)」として発展させました。

そこで「FIDO Alliance」は、マルチデバイスに対応する規格を策定し、これが「multi-device FIDO credential」であり、呼称を「パスキー」と言います。

本来のパスキーは、multi-device FIDO credential のことを言いますが、FIDO2規格を利用したFIDO認証(パスワードレス認証)を行う仕組みもパスキーと呼んでいます。

FIDO認証(パスキー)

従来のパスワードを用いたログインでは、IDとパスワードの両方を入力し、入力されたものが正しいかどうかをシステム側で確認し認証する仕組みです。パスキーが利用するFIDO認証は公開鍵暗号方式が利用されています。

FIDO認証を有効にすると、公開鍵暗号方式の公開鍵と秘密鍵をペアで生成されます。アカウントとWebサービスに紐づく公開鍵をWebサービスのサーバーに登録され、デバイスに公開鍵と対になる秘密鍵を登録します。(FIDO2 規格)

FIDO認証を有効にしてログインすると、資格情報を秘密鍵で暗号化した認証情報をサーバーに送り、サーバー側は対になっている公開鍵を利用して資格情報を復号化し認証を行います。

本来のパスキーではデバイスごとに保管していた秘密鍵を、クラウドで保管し各端末で共有してログイン時に用いるようになっています。

認証処理の大まかな流れは、次のようなります。

  1. ユーザーはWebサービスのサーバーに対してログインを要求
  2. サーバーはユーザーに資格情報(クレデンシャル)を要求
  3. ユーザーは生体認証、PINなどで認証を実施
  4. ユーザーは秘密鍵で暗号化した資格情報をサーバーに送信
  5. サーバーは公開鍵で復号化し資格情報を検証
  6. サーバーはログイン承認を返答

FIDO認証は認証情報を送信しないのでパスワード認証に比べて高い安全性を実現しています。

パスキーのメリット・デメリット

パスキーのメリットとは

高いセキュリティーを保証する

パスキーは生体認証と組み合わせることことが多く、なりすましや不正アクセスのリスクを低減します。パスワードのように推測したり盗み取ったりすることが困難なため、不正ログインを防止することができます。

認証情報が漏えいしても資格情報はデバイス内に保存されているので別のデバイスからログインすることができず、物理的にデバイスを紛失しない限り高い安全性が保たれます。

もし、物理的にデバイスを紛失してしまったら、対象デバイスに紐づいたパスキーの資格情報を削除することで不正ログインを防止することができます。

ユーザーの利便性が向上する

  • ユーザーはパスキーを覚える必要がなく記憶の負担が軽減される
  • パスワードを入力する手間が省けスピーディーな認証が可能

パスキーはパスワードのように忘れる心配がありません。パスキーは指紋認証や顔認証といった生体認証と組み合わせることことが多いので認証情報を覚える必要がありません。

パスワードは推測されたり盗み取られたりするのを防ぐために、複雑にすること、使い回さないことでセキュリティーを向上させますが、ユーザーはパスワードを覚えることを困難にします。

パスキーを利用すると、ログインの度にパスワード入力を行う必要はありません。指紋認証や顔認証といった生体認証を利用することができるので素早く認証を実行することができます。

指紋認証を用いたパスキーなら指紋センサーに指でタッチするだけ、顔認証を用いたパスキーならカメラに顔を向けるだけでログインが完了します。

パスキーのデメリットとは

プライバシーの懸念や精度の問題がある

  • 生体情報をデバイスに登録することのリスク
  • 100%の精度が出ない

パスキーを利用するためには、指紋や顔などの生体情報をデバイスに登録する必要があります。生体情報をデバイスに登録することで、想定した利用方法を超えて情報が利用されることによりプライバシーの問題が発生する可能性があります。

生体情報は変化するため100%精度は得られません。指紋認証や顔認証の場合、傷が新たに出来ると認識しづらいことがあります。

デバイスやOSに依存し対応するサービスが少ない

  • 対応サービスが少ない
  • デバイスやOS・ブラウザ・アプリに依存する
  • 登録が面倒くさい

パスキーによる認証方式は、最新技術のためWebサービスやプラットフォームでの導入が進んでおらず、まだ対応するサービスが少ないです。まだまだ、パスワード認証と他要素認証を利用するサービスが多数あります。

パスキーは、デバイスに秘密鍵を保存するのでデバイスやOS・ブラウザに依存します。同じデバイスでも利用するブラウザが変われば、それぞれのパスキーを登録する必要があります。つまり、登録作業をデバイス毎のアクセス手段毎に行う必要があるので面倒です。