FIDO認証とは?仕組みとパスキーとの関係、フィッシングに強い理由|サイバーセキュリティ.com

FIDO認証とは?仕組みとパスキーとの関係、フィッシングに強い理由



FIDO(ファイド)認証とは、パスワードの代わりに、スマートフォンやパソコンの指紋・顔認証、PINなどを使って本人確認を行う認証の標準規格です。公開鍵暗号の仕組みを使い、サーバーにパスワードなどの秘密を預けないため、安全性と使いやすさを両立できます。

この記事では、FIDO認証の仕組みや種類、近年広がっているパスキーとの関係、フィッシングに強い理由に加え、FIDO認証でも残るリスクと注意点を解説します。

FIDO認証とは

パスワードを使わずに本人確認する認証の標準規格

FIDO(Fast IDentity Online)認証は、パスワードを使わない「パスワードレス認証」を実現するための、国際的な標準規格です。
利用者は、手元のスマートフォンやパソコン、専用のセキュリティキーを使い、指紋や顔、PINなどで本人確認をするだけでログインできます。

従来のように、サービスごとに複雑なパスワードを考えたり、覚えたりする必要がありません。標準規格として仕様が公開されているため、さまざまな端末やWebブラウザ、サービスで共通して使えるのも特徴です。

FIDOアライアンスによる標準化

FIDO認証の仕様は、2012年に設立された非営利の業界団体「FIDOアライアンス」によって策定されています。Apple、Google、Microsoftをはじめ、端末メーカー、金融機関、IT企業など、多くの企業や組織が参加しています。

Web向けの仕様の一部は、Webの標準化団体であるW3Cとも協力して策定されており、主要なOSやWebブラウザが標準でFIDO認証に対応しています。

FIDO認証が注目される背景

パスワード認証は長く使われてきましたが、さまざまな問題を抱えています。パスワードは本人だけが知る情報として扱われますが、第三者に知られてしまうと、本人でなくても認証を突破できてしまいます。
のぞき見や推測、フィッシング詐欺、サーバーからの流出など、パスワードが盗まれる経路は数多くあります。

また、利用するサービスが増えるほど、パスワードを覚えきれずに簡単なものを設定したり、使い回したりしがちです。
認証には「知識(知っているもの)」「所持(持っているもの)」「生体(本人の身体の特徴)」の3つの要素がありますが、パスワードは知識の要素に当たり、手軽な反面、盗まれやすいという弱点があります。
こうした課題を解決する方法として、FIDO認証が広く使われるようになりました。

FIDO認証の仕組み

公開鍵暗号方式を使う

FIDO認証は、パスワードの代わりに「公開鍵暗号方式」を使って本人を確認します。公開鍵暗号方式では、ペアになった2つの鍵を使います。持ち主だけが持つ「秘密鍵」と、誰に知られてもかまわない「公開鍵」です。

FIDO認証では、利用者の端末が秘密鍵で「署名」を作り、サーバーが公開鍵でその署名が正しいかを「検証」します。正しい署名を作れるのは、対応する秘密鍵を持つ本人の端末だけであるため、署名が検証できれば本人であることを確認できます。

登録の流れ

FIDO認証を使い始めるときは、まずサービスに端末を登録します。登録の際、利用者の端末の中で、そのサービス専用の秘密鍵と公開鍵のペアが作られます。

このうち、公開鍵だけがサービスのサーバーに送られ、利用者のアカウントに結びつけて保存されます。秘密鍵は端末の中に安全に保管され、外に出ることはありません。

認証(ログイン)の流れ

ログインするときは、まずサーバーが、毎回異なるランダムな値(チャレンジ)を端末に送ります。利用者が端末で指紋や顔、PINなどによる本人確認をすると、端末は秘密鍵を使ってチャレンジに署名し、サーバーに送り返します。

サーバーは、登録しておいた公開鍵で署名を検証し、正しければログインを許可します。チャレンジは毎回変わるため、過去の署名を盗んで使い回すこともできません。

ユーザーとサーバーで秘密を共有しない

FIDO認証が、パスワード認証より安全な最大の理由は、ユーザーとサーバーの間で秘密の情報を共有しないことです。パスワード認証では、同じパスワードを利用者とサーバーの両方が知っている必要があり、どちらかから漏れると不正にログインされてしまいます。

一方、FIDO認証でサーバーが保存するのは公開鍵だけです。公開鍵は秘密の情報ではないため、万一サーバーから流出しても、それだけで不正にログインすることはできません。秘密鍵は利用者の端末の中だけにあり、使うには端末での本人確認が必要です。

生体情報は端末の外に出ない

FIDO認証で使う指紋や顔などの生体情報は、端末が「今使っている人が持ち主か」を確かめるためだけに使われます。生体情報そのものがサービスのサーバーに送られることはありません。

つまり、指紋や顔の認証は、端末の中の秘密鍵を使ってよいかを判断する「鍵の開け閉め」の役割を果たしています。サービス側が利用者の生体情報を保管する必要がないため、プライバシーの面でも安心です。

FIDO認証の種類

FIDO UAF

FIDO UAF(Universal Authentication Framework)は、スマートフォンなどの端末で生体認証などを行い、パスワードを使わずにログインする方式です。主に、スマートフォンのアプリへのログインで使われてきました。

FIDO U2F

FIDO U2F(Universal 2nd Factor)は、IDとパスワードによる認証に加えて、USBなどの物理的なセキュリティキーを2つ目の要素として使う方式です。
パスワードが盗まれても、セキュリティキーがなければログインできないため、不正ログインを防ぎやすくなります。ただし、パスワードも併用するため、完全なパスワードレスではありません。

FIDO2(WebAuthnとCTAP)

FIDO2は、2018年に発表された、UAFとU2Fの考え方を発展させた仕様です。
Webサイトと端末がやり取りするための仕組みである「WebAuthn」と、パソコンと外部の認証器(スマートフォンやセキュリティキーなど)がやり取りするための仕組みである「CTAP」の2つで構成されています。

FIDO2により、Webブラウザから、パソコンやスマートフォンに内蔵された生体認証やセキュリティキーを共通の方法で使えるようになりました。現在、FIDO認証といえば、主にこのFIDO2を指します。

3つの種類の比較

3つの種類の主な違いは次のとおりです。

種類 パスワード 主な使われ方
FIDO UAF 使わない スマートフォンのアプリでの生体認証によるログイン
FIDO U2F 併用する パスワードに加えてセキュリティキーで2段階目の認証
FIDO2 使わない(併用も可能) Webブラウザでのログイン。パソコンやスマートフォンの内蔵機能やセキュリティキーを利用

FIDO認証がフィッシングに強い理由

鍵がサイトのドメインと結びついている

FIDO認証の大きな特徴が、フィッシング詐欺に強いことです。その理由は、登録のときに作られた鍵が、そのサービスのWebサイトのドメイン(例:example.co.jp)と結びつけて管理されていることにあります。

ログインの際、Webブラウザは、今表示しているサイトのドメインを確認し、そのドメインに結びついた鍵だけを使って署名を作ります。どのサイトの鍵を使うかは、利用者の判断ではなく、ブラウザと端末が自動で確かめる仕組みになっています。

偽サイトでは正しい署名が作られない

フィッシング詐欺では、本物そっくりの偽サイトに利用者を誘導し、IDやパスワードを入力させて盗み取ります。しかし、FIDO認証では、偽サイトのドメインは正規のサイトとは異なるため、正規のサイトの鍵は使われず、正しい署名も作られません。

利用者が偽サイトだと気づかなかったとしても、仕組みの上で正規の鍵が偽サイトに使われることはありません。そのため、攻撃者は偽サイトから、ログインに使える情報を手に入れることができません。

SMS認証・ワンタイムパスワードとの違い

SMSに届く確認コードや、アプリに表示されるワンタイムパスワードは、パスワードだけの認証よりも安全です。しかし、利用者が偽サイトに確認コードを入力してしまうと、攻撃者がそのコードをすぐに正規のサイトに転送して、ログインに成功してしまうことがあります。

認証方法 偽サイトに誘導された場合
パスワード 入力してしまうと、そのまま盗まれる
SMS認証・ワンタイムパスワード 入力したコードを、攻撃者にすぐ使われるおそれがある
FIDO認証 ドメインが違うため正規の鍵が使われず、盗まれる情報がない

このように、FIDO認証は「利用者が偽サイトを見抜けるかどうか」に頼らずに、フィッシングを防げる点が大きな違いです。

FIDO認証とパスキーの関係

パスキーとは

パスキーとは、FIDO認証の仕組みを使った、パスワードに代わるログイン用の認証情報です。FIDOアライアンスは、技術的にはパスキーを「パスワードレス認証のためのFIDOの認証情報」と位置づけています。
つまり、パスキーはFIDO認証の一つの形であり、仕組みの土台は同じです。

2022年に、Apple、Google、MicrosoftがFIDOの標準への対応を広げる方針を発表し、その後、主要なOSやWebブラウザでパスキーが使えるようになりました。現在では、多くのWebサービスやアプリが、パスキーによるログインに対応しています。

同期型パスキーと端末固定型パスキー

パスキーには、大きく分けて2つの種類があります。

種類 特徴 主な例
同期型パスキー クラウドを通じて、同じアカウントの複数の端末で共有される。機種変更しても使い続けやすい iCloudキーチェーン、Googleパスワードマネージャーなどに保存されるパスキー
端末固定型パスキー 1つの端末やセキュリティキーの中だけに保存され、外に出ない 物理的なセキュリティキーに保存されるパスキー

従来のFIDO認証は、鍵が1台の端末の中だけにあったため、機種変更や紛失のたびに登録し直す必要があり、使いにくさが課題でした。同期型のパスキーはこの課題を解決し、FIDO認証が一般に広がるきっかけになりました。

別の端末でもログインできる仕組み

パスキーが保存されていないパソコンなどでログインしたい場合は、パスキーが入っているスマートフォンを使ってログインする方法もあります。パソコンの画面に表示されたQRコードをスマートフォンで読み取り、スマートフォンで本人確認をすると、パソコンでログインできます。

このとき、パソコンとスマートフォンはBluetoothで近くにあることを確認し合います。そのため、離れた場所にいる攻撃者が、利用者にQRコードを読み取らせてログインを乗っ取ることは難しい仕組みになっています。

FIDO認証のメリット・デメリット

メリット

FIDO認証の最大のメリットは、セキュリティの強化と利便性の向上を両立できることです。秘密の情報をサーバーと共有しないため、サーバーからの情報流出による不正ログインのリスクを減らせます。
さらに、フィッシング詐欺にも強く、パスワードの使い回しによる被害も防げます。

利用者は、パスワードを覚えたり入力したりする必要がなく、指紋や顔の認証だけで素早くログインできます。サービスを運営する側にとっても、パスワードの管理や再発行の対応にかかる手間を減らせます。

デメリット

FIDO認証では、端末が認証の中心になるため、端末を紛失したり故障したりしたときの対応が課題になります。
同期型のパスキーであれば、ほかの端末や新しい端末で使い続けられますが、端末固定型のパスキーやセキュリティキーの場合は、予備を登録しておくなどの備えが必要です。

また、サービスによって対応状況や操作の画面が異なり、慣れるまでは戸惑うこともあります。古い端末やOS、ブラウザでは使えない場合もあるため、利用する環境の対応状況を確認しておきましょう。

FIDO認証でも残るリスクと注意点

代わりのログイン方法が弱点になる

多くのサービスでは、FIDO認証が使えないときのために、パスワードやSMS認証など、別のログイン方法も残しています。しかし、攻撃者は、FIDO認証を突破できなければ、こうした弱いほうのログイン方法を狙います。

FIDO認証を登録していても、パスワードやSMS認証でのログインが残っていれば、そこが攻撃の入口になり得ます。パスキーを登録したら、サービスの設定でほかのログイン方法を無効にできるかを確認し、パスワードを残す場合は、使い回しのない強固なものにしておきましょう。
アカウントを復旧するための手続きも、狙われやすいポイントです。

ログイン後のセッションの乗っ取り

FIDO認証が守るのは、ログインの瞬間です。ログインに成功した後、Webブラウザに保存される「ログイン状態を示す情報(セッション)」が、端末に感染した情報窃取型のマルウェアなどによって盗まれると、攻撃者がその情報を使ってなりすますおそれがあります。

FIDO認証を使っていても、端末のOSやブラウザを最新の状態に保ち、セキュリティソフトを使うなど、端末そのものを守る対策は欠かせません。

端末や同期用アカウントの管理

FIDO認証の安全性は、秘密鍵を保管する端末の安全性に支えられています。端末の画面ロックを設定し、推測されやすいPINは避けましょう。

同期型のパスキーは、AppleアカウントやGoogleアカウントなどを通じて同期されます。同期に使うアカウントが乗っ取られると、パスキーも悪用されるおそれがあるため、そのアカウント自体を強固に守ることが重要です。

FIDO認証の利用シーンと始め方

主な利用シーン

FIDO認証は、Googleアカウントやマイクロソフトアカウント、Apple製品のアカウントなどの大手サービスのほか、ECサイト、SNS、インターネットバンキング、証券会社のログインなど、幅広い場面で使われています。

特に、証券口座やネットバンキングでは、フィッシングによる不正ログインの被害を受けて、パスキーやFIDO認証の導入が進んでいます。企業では、社内システムやクラウドサービスへのログインに、FIDO認証を使った多要素認証を取り入れる動きも広がっています。

個人で始めるには

個人で始めるには、利用しているサービスのセキュリティ設定を開き、「パスキー」や「生体認証でログイン」といった項目を探して登録します。よく使うサービスや、お金や個人情報にかかわる重要なサービスから登録していくのがおすすめです。

登録の際は、スマートフォンやパソコンの画面ロックが設定されている必要があります。機種変更や紛失に備えて、複数の端末にパスキーを登録しておく、または同期型のパスキーを使うと安心です。

組織で導入するには

組織でFIDO認証を導入する場合は、社内で使っているID管理の基盤(IDaaSなど)がFIDO認証やパスキーに対応しているかを確認しましょう。
従業員の端末の内蔵機能を使う方法のほか、管理者など重要な権限を持つアカウントには、端末固定型のセキュリティキーを配布する方法もあります。

あわせて、端末の紛失時の手続きや、パスワードなどの弱いログイン方法をいつ廃止するかといった、運用のルールも決めておくことが大切です。

FIDO認証に関するよくある質問

Q. 生体認証とFIDO認証の違いは何ですか?

生体認証は、指紋・顔・静脈などの身体の特徴を使って本人を確認する方法そのものを指します。FIDO認証は、端末の中で生体認証などを使って本人を確認したうえで、公開鍵暗号の仕組みでサービスにログインする認証の規格です。
FIDO認証では、生体認証はPINなどと同じく、端末の秘密鍵を使ってよいかを判断するために使われます。

Q. FIDOとFIDO2の違いは何ですか?

一般に「FIDO」は、FIDO UAFやFIDO U2Fといった初期の仕様を指すことがあります。
FIDO2は、これらを発展させた仕様で、WebAuthnとCTAPによって、Webブラウザからさまざまな端末の内蔵機能やセキュリティキーを共通の方法で使えるようにしたものです。現在、FIDO認証といえば主にFIDO2を指します。

Q. FIDO認証は多要素認証ですか?

多くの場合、多要素認証に当たります。秘密鍵が入った端末という「所持」の要素と、指紋・顔といった「生体」の要素、またはPINという「知識」の要素を組み合わせて本人を確認するためです。そのため、1回の操作でありながら、複数の要素による認証を実現できます。

Q. スマートフォンを紛失したらどうなりますか?

同期型のパスキーであれば、同じアカウントのほかの端末や新しい端末で、引き続きログインできます。端末固定型のパスキーの場合は、ほかに登録した端末や予備のセキュリティキーでログインし、紛失した端末の登録を削除しましょう。
紛失した端末は画面ロックで守られているため、すぐに悪用される可能性は低いものの、早めに登録を削除するのが安全です。

Q. 生体情報がサービスに送られることはありますか?

ありません。FIDO認証で使う指紋や顔などの生体情報は、端末の中で本人確認を行うためだけに使われ、サービスのサーバーには送られません。サーバーに送られるのは、秘密鍵で作った署名と、登録時の公開鍵だけです。

まとめ

FIDO認証は、パスワードの代わりに公開鍵暗号を使い、端末での指紋・顔・PINなどの本人確認だけでログインできる認証の標準規格です。

サーバーに秘密を預けず、鍵がサイトのドメインと結びついているため、フィッシングにも強いのが特徴で、パスキーとして広く普及しています。一方で、代わりのログイン方法や端末、同期用アカウントの管理が弱点にならないよう注意しながら、重要なサービスから活用しましょう。

SNSでもご購読できます。