FIDO2の仕組みと導入

    FIDO2は、公開鍵暗号を使ってオンライン認証を行うための標準仕様です。パスワードレス認証だけでなく、既存のパスワードへ追加する第二要素認証や多要素認証にも利用できます。

    FIDO2を導入検討するには、規格そのものに加えて、認証の仕組みやパスキー・セキュリティキーとの違い、利用するサービスと認証器の対応関係を整理する必要があります。本記事では、FIDO2の基本から企業で導入する際の確認事項まで順に解説します。

    FIDO2とは

    FIDO2とは、W3Cが標準化するWebAuthnと、FIDO Allianceが策定するCTAPを組み合わせ、公開鍵暗号でオンライン認証を行うための標準仕様群です。

    重要なのは、FIDO2が特定の製品名や認証器の名称ではない点です。PCやスマートフォンに組み込まれた認証器を使う場合も、外部のセキュリティキーを使う場合も、FIDO2の仕組みを利用できます。

    また、FIDO2はパスワードレス専用ではありません。パスワードを使わない認証にも、既存のパスワードと組み合わせる第二要素認証や多要素認証にも利用できます。

    FIDO2を支える2つの仕様

    FIDO2では、サービス側で認証を利用する仕組みと、認証器と通信する仕組みを分けて定めています。前者を担うのがWebAuthn、後者を担うのがCTAPです。

    WebAuthnはWeb側の認証API

    WebAuthnは、Webアプリケーションが公開鍵ベースの認証情報を作成・利用するための標準APIです。WebサービスはブラウザやOSを介し、WebAuthnを使って認証情報の作成やログイン時の認証処理を要求します。

    つまりWebAuthnは、サービス側からFIDO認証を利用するための窓口に当たります。

    CTAPは認証器との通信規格

    CTAPは、PCやスマートフォンなどのクライアントと外部認証器が通信する方法を定めた仕様です。USBやNFC、BLEなどで接続するセキュリティキーを利用する場合、このCTAPによってクライアントと認証器がやり取りします。

    WebAuthnがサービス側との接点、CTAPが外部認証器との接点を担うことで、サービスから認証器まで一連の認証処理を構成できます。

    出典:FIDO Alliance「FIDO User Authentication Specifications」/W3C「Web Authentication: An API for accessing Public Key Credentials Level 3」

    FIDO2認証の仕組み

    WebAuthnとCTAPの役割が分かると、FIDO2の認証フローも整理しやすくなります。FIDO2では、最初にサービスごとの認証情報を登録し、その後のログインで認証器が署名を行います。

    登録時に鍵ペアを作る

    初回登録では、WebサービスがブラウザやOSを介して認証器に認証情報の作成を要求します。認証器は対象サービス用の公開鍵と秘密鍵のペアを生成し、サービス側には公開鍵などの情報を登録します。

    秘密鍵そのものをサービス側へ渡して照合するのではなく、サービス側が公開鍵、認証器側が秘密鍵を利用する点がパスワード認証との大きな違いです。

    ログイン時に署名を検証する

    ログイン時には、サービス側から送られた認証要求をブラウザやOSが認証器へ渡します。設定に応じてPINや生体認証などで利用者を確認したうえで、認証器が秘密鍵を使って署名します。

    サービス側は登録済みの公開鍵で署名を検証し、登録された認証器による応答であることを確認します。

    認証情報は利用先にひも付く

    FIDO2の認証情報は、利用先となるRelying Party(RP)にひも付きます。WebAuthnではWebサイトのオリジンも確認されるため、正規サービス向けに作成した認証情報は、原則として別のドメインでは利用できません。

    この利用先の制約が、FIDO2のフィッシング耐性につながります。

    なお、WebAuthnの関連オリジン要求(ROR)に対応した環境では、所定の条件を満たす関連ドメイン間で同じパスキーを利用できる例外があります。

    FIDO2と関連用語の違い

    FIDO2の仕組みを理解したうえで、FIDO、U2F、パスキーとの関係を整理すると、似た用語を混同しにくくなります。それぞれは同義語ではありません。

    用語何を指すかFIDO2との関係
    FIDOFIDO Allianceが策定する認証仕様群の総称FIDO2を含む広い概念
    FIDO2WebAuthnとCTAPを組み合わせた認証標準本記事で扱う認証の枠組み
    FIDO U2F主にパスワードへ追加する第二要素向けの仕様CTAP1としてFIDO2との互換性が考慮されている
    パスキーFIDO標準に基づく認証資格情報FIDO2などの仕組みを使って認証するための資格情報

    FIDOは認証仕様群の総称

    FIDOは、パスワードへの依存を減らす認証技術を扱うFIDO Allianceの仕様群を指す広い概念です。その中にFIDO U2FやFIDO2などの仕様があります。

    したがって、「FIDO」と「FIDO2」は同じ意味ではなく、FIDO2はFIDOの認証技術を構成する一つの枠組みです。

    U2Fは第二要素向けの従来仕様

    FIDO U2FはUniversal Second Factorの略称で、主にパスワードへ追加する第二要素として外部認証器を利用するための仕様です。FIDO2では、U2Fで使われていたプロトコルがCTAP1として位置付けられています。

    そのため、CTAP2対応の認証器には、従来のCTAP1/U2Fへの対応が推奨されています。ただし、必須ではないため、既存のU2F環境でCTAP2対応製品を利用する場合は、製品ごとのCTAP1/U2Fへの対応状況を確認する必要があります。

     

    パスキーはFIDOの認証資格情報

    パスキーは、FIDO標準に基づく認証資格情報です。FIDO2が認証を成立させるための標準仕様であるのに対し、パスキーはその仕組みを使ってログインするための認証資格情報という違いがあります。

    パスキーには複数端末間で同期できるものと、特定の端末や認証器に保持されるdevice-bound passkeyがあります。外部のFIDO2セキュリティキーに保持する認証資格情報は後者に当たります。

    出典:FIDO Alliance「Passkeys」/FIDO Alliance「FIDO User Authentication Specifications」

    FIDO2を使うメリット

    ここまで説明した認証の仕組みを企業利用の観点に置き換えると、FIDO2の主なメリットはフィッシング耐性を高められることと、パスワードへの依存を減らせることです。

    フィッシング耐性を高められる

    FIDO2では、利用者が入力した認証情報をそのままWebサイトへ送信する方式ではなく、認証器による署名をサービス側で検証します。さらに認証情報の利用先も制約されるため、偽サイトに正規サービスの認証情報を入力させるタイプの攻撃に対して耐性を高められます。

    ただし、FIDO2を導入すればアカウント管理全体のリスクがなくなるわけではありません。アカウント復旧、端末管理、権限管理などは別途設計する必要があります。

    パスワード依存を減らせる

    FIDO2はパスワードレス認証に利用できるため、パスワードの記憶や入力、使い回しに依存しない認証へ移行できます。

    一方で、既存パスワードへFIDO認証を追加する構成も可能です。そのため導入時は、FIDO2を採用するかだけでなく、現在の認証方式をどこまで置き換えるかを決める必要があります。

    FIDO2導入の確認事項

    FIDO2のメリットを実際の環境で得るには、対応する認証器を用意するだけでは不十分です。利用するサービスの対応状況、認証器の持たせ方、紛失や故障時の復旧方法まで一連の運用として設計します。

    利用サービスがFIDO2に対応しているか

    まず、ログイン対象のサービスやシステムがWebAuthnを利用したFIDO認証に対応しているか確認します。対応していても、利用できる認証方式や認証器、ブラウザ、OS、対象アカウントなどに条件が設けられている場合があります。

    「FIDO2対応」という表記だけで判断せず、自社で使う環境まで含めて対応条件を確認することが重要です。

    認証器をどう持たせるか

    次に、PCやスマートフォンに組み込まれた認証器を使うか、外部セキュリティキーを配布するかを決めます。

    認証器を選ぶ際は、例えば以下の点を確認します。

    • 個人端末を業務認証に利用できるか

    • 共有PCを利用する環境があるか

    • USBやNFCなど、どの接続方式を利用できるか

    • PINや生体認証による本人確認が必要か

    紛失・故障時の復旧方法を決める

    外部セキュリティキーや特定端末に認証情報を保持する場合は、紛失や故障によって正当な利用者がログインできなくなるケースも想定します。

    予備の認証器を登録する、別の許可された認証方法を用意する、管理者による再登録手順を決めるなど、自社の認証基盤に合わせて復旧フローを整備しましょう。

    FIDO2のまとめ

    FIDO2は、WebAuthnとCTAPを組み合わせ、公開鍵暗号によってオンライン認証を行う標準仕様です。FIDO2そのものは製品名ではなく、PCやスマートフォンの内蔵認証器、外部セキュリティキー、パスキーなどと組み合わせて利用されます。

    企業で導入する際は、利用サービスの対応条件を確認したうえで、認証器の持たせ方と紛失・故障時の復旧方法まで決めることが重要です。

    FIDO2はパスワードレス専用ですか?

    いいえ。FIDO2はパスワードレス認証だけでなく、既存のパスワードへ追加する第二要素認証や多要素認証にも利用できます。

    FIDO2とパスキーは同じですか?

    同じではありません。FIDO2はWebAuthnとCTAPから構成される認証標準で、パスキーはFIDO標準に基づく認証資格情報です。

    FIDO2は物理キーが必須ですか?

    必須ではありません。PCやスマートフォンに組み込まれた認証器を使うことも、USBやNFCなどで接続する外部セキュリティキーを使うこともできます。

    FIDO2対応キーという選択肢

    FIDO2で物理キーは必須ではありませんが、スマートフォンを業務認証に利用しにくい現場や、共有PCを複数の利用者が使う環境では、外部のFIDO2対応セキュリティキーが選択肢になります。

    飛天ジャパンでは、FIDO2/FIDO U2Fに対応した「ePass FIDO」シリーズと「BioPass FIDO」シリーズを提供しています。USB Type-A/Type-Cに対応するモデルがあり、一部モデルではNFCや指紋認証にも対応しています。

    製品を選ぶ際は、PC側の接続端子、NFC利用の有無、指紋認証を認証器側で行う必要があるかを確認し、実際の利用環境に合う接続方式と本人確認方法を選ぶことが重要です。対応確認や構成のご相談は、無料の体験版お申込みフォーム、資料ダウンロードフォーム、お問い合わせをご利用ください。

    導入をご検討のお客さま