パスワードレス認証を実現するFIDO2認証<不正ログインの脅威と対策(第4回)>

 コラム「不正ログインの脅威と対策(第4回)」では、近年パスワードレス認証を実現する技術として注目されているFIDO2認証について解説します。

顕在化するパスワード認証の課題とFIDO

 パスワード認証は、旧来から本人認証の核として利用され続けている認証方式です。事実、ユーザーは自身の設定したパスワードを知ってさえいれば認証を行うことができるため、Webサービスの認証方式として導入、運用のハードルが低く、パスワード認証は非常に便利な認証方式です。反面、サイバー攻撃の巧妙化が進んだ現在、パスワード認証はさまざまな不正ログイン攻撃を引き起こすセキュリティインシデントの原因にもなっています。そのため、代表的な不正ログイン対策もパスワード認証に伴うセキュリティリスクを回避、軽減するための対策となっています。本コラムで解説してきた不正ログイン攻撃の手法とその対策も、パスワード認証に起因したものとなっています。第3回で解説した多要素認証も、パスワード以外の認証を追加することでパスワード認証のセキュリティリスクを軽減するという対策です。しかし、これらの不正ログイン対策でも根本的な解決策にはなり得ず、巧妙な攻撃方法による被害が報告されている、ということも本コラムで解説してきた通りです。

 このようなパスワードに依存したオンライン認証の現状を変革することを目的として、業界団体FIDO Alienceによって策定された認証技術がFIDOFast IDentity Online)です。
 FIDO認証は、標準的な公開鍵暗号方式を用いてパスワードに依存しない堅牢な認証を実現する認証技術です。FIDO認証の大きな特徴は、認証器と呼ばれるデバイスを使って認証を行うという点です。具体的には、事前に公開鍵と秘密鍵のキーペアを作成し、認証器が秘密鍵を使って作成したデジタル署名をWebサービスが公開鍵を使って検証することでユーザー認証を行います。これにより、パスワード認証等の従来の認証方式においてWebサービスが認証時に行っていた「ユーザーの検証」と「ユーザーの識別」を、FIDO認証では認証器で「ユーザーの検証」を、Webサービス側では「ユーザーの識別」を行うように作業分担することができ、生体情報などの「ユーザーの検証」で用いられる認証情報をネットワーク上に一切流さず、またWebサービス側に保存することもなくユーザーを認証することが可能となっています。

図1 FIDO認証と従来の認証モデルの違い
6457_Image1_01.png


普及が進むFIDO

 FIDO Alienceは、2014年に上記の認証モデルを実現する認証技術としてFIDO1.0を策定し、FIDO UAFとFIDO U2Fという2つの規格について仕様を公開しました。
 UAF(Universal Authentication Framework)は、FIDO UAFに対応したデバイスを認証器として利用し、デバイスの生体認証などでパスワードレス認証を実現します。主にスマートフォンでの利用を想定した規格となっています。U2F(Universal 2nd Factor)は、セキィリティキーなどの外付けデバイスを認証器として使用することを想定しており、パスワード認証後の二要素目の認証に利用する仕組みです。そして、2018年にFIDO UAFとFIDO U2Fを統合、拡張した仕様であるFIDO2が発表されました。

 FIDO2は、WebAuthn(Web Authentication)CTAPClient-to-Authenticator Protocol)という2つの技術仕様で構成されます。WebAuthnは、Webアプリケーションが認証器を利用して認証を行うためにブラウザとプラットフォームに組み込まれるWebAPI仕様です。ブラウザは、WebAuthnを使用することで認証器にアクセスすることができます。CTAPは、ブラウザと外付けデバイスの認証器間の通信プロトコルであり、ブラウザが外付けデバイスの認証器にアクセスする際には、CTAPで通信が行われます。
 そしてWebAuthnは、2019年にWeb技術の標準化を行う非営利団体であるW3CWorld Wide Web Consortium)によって勧告され、正式にWeb標準規格となりました。このような背景もあり、Microsoft EdgeGoogle ChromeFirefoxといった主要なブラウザや、Windows10Windows HelloAndroidiOSといった主要なプラットフォームがWebAuthnをサポートすることを表明しており、今後FIDO2の普及は着実に進むことが予想されます。

FIDO2認証のユースケース

 FIDO2認証のイメージに関しては、前回のコラムで解説した通り認証器の「登録」と認証器を使った「認証」の2つのシーケンスを経て認証を行いますが、認証器を使った「認証」のユースケースに関しては、大きく分けて以下の3パターンの形態が存在します。

■ パスワードレス認証:ID入力+認証器で認証します
■ 二要素認証:ID/パスワード認証+認証器で認証します
■ ユーザーネームレス認証:認証器のみで認証します

図2 各ユースケースの利用イメージ
6457_Image2_01.png

 それぞれのユースケースの使い分けは、使用する認証器の機能に依存します。認証器にはさまざまな種類がありますが、以下に挙げるタイプや機能など認証器の特性で大きく分類することができます。

● 内蔵型 or 外付け型

 認証器は、端末に内蔵されている内蔵型と、端末に接続して使用する外付け型の2種が存在します。内蔵型は内蔵されている端末でのみ使用可能な認証器ですが、外付け型は認証器を複数の端末で横断して使用することができます。また、外付け型は端末への接続方法で更に分類することができます。接続方法には、USB接続のほか、NFCやBluetooth等の無線接続も存在します。

● ユーザー検証機能

 認証器には、PIN認証や生体認証のようなユーザー本人を検証する機能を保有する認証器もありますが、本人を検証する機能を持たないものも存在します。ユーザー検証機能を持つ認証器は、ユーザーの本人検証を行うことでFIDO2認証を実施できます。一方、ユーザー検証機能を持たない認証器は、ユーザーの存在確認機能が備え付けられています。この機能は、認証器に取り付けられているボタンにタッチすることでユーザーの存在確認が行われます。ただし、あくまでユーザーの存在確認であり、ユーザーの本人検証は行われません。

● ResidentKey機能

 ResidentKey機能を使用すると、認証器の登録時に作成したキーペアと当該キーペアを作成したユーザーIDを紐づけて保存することができます。本機能を使うことで、ユーザーは認証器で認証する際にキーペアに紐づいたユーザーIDをWebサービスに自動的に提示することができ、ユーザーIDの入力を省略することができます。

 各ユースケースにおいて必要となる認証器について考えてみます。
 まず「パスワードレス認証」は、認証器の正当な所持者であるユーザー以外でも、ユーザーIDの入力と認証器を使用できれば認証可能です。そのため、第三者に認証器を使用されるリスクを考慮して、ユーザー検証機能ありの認証器を使用するべきでしょう。
 次に「二要素認証」に関してですが、本ユースケースでは、一要素目のID/パスワード認証でユーザーの本人検証を行えますので、ユーザー検証機能なしの認証器向けのユースケースと言えます。
 最後に「ユーザーネームレス認証」に関しては、ResidentKey機能を持つ認証器が必須となります。加えて、「パスワードレス認証」と同様に第三者が認証器を使用できないように、ユーザー検証機能ありの認証器を使用するべきです。
 内蔵型と外付け型の使い分けに関しても例を挙げますと、ユーザーが使用する端末に認証器が内蔵されているかという点以外にも、ユーザーが複数端末から単一の認証器を使ってWebサービスを利用したい場合や、ユーザーが複数のユーザー間で共有している端末を使用している場合などは、内蔵型よりも外付け型が適しています。

 また、FIDO認証を行うWebサービス側は、Webサービスの認証に利用することができる認証器を上記3つの特性で制限することが可能です。例えば、ユーザー検証機能を備えた外付け型認証器のみ利用可能、というように制限することができます。サービス事業者は、Webサービスの認証においてどのような認証器を使わせるかを考慮したうえで、ユーザーをどのユースケースで認証させるかを設計すると良いでしょう。

FIDO2認証のメリット

 最後にFIDO2認証のメリットを解説します。

● ログインに関するユーザビリティの向上

 FIDO2認証は、Windows10のWindows Helloや、特定のバージョンのAndroidとiOSでも利用が可能です。ユーザーはこれらのプラットフォームでFIDO2認証を行うことで、各プラットフォームの生体認証を利用してストレスなくスムーズにWebサービスにログインできます。ITリテラシーがあまり高くないユーザーでも簡単にWebサービスにログインすることができるようになるため、Webサービスのユーザー獲得の機会につながる効果が見込めます。

● パスワード依存の不正ログイン攻撃を防止

 FIDO2認証ではパスワードが使用されないため、ユーザーもサービス事業者もパスワード管理から解放されます。そのため、本コラムの第1回で紹介した「総当たり攻撃」「辞書攻撃」「パスワード類推攻撃」「パスワードリスト攻撃」を含むパスワード認証に起因する不正ログイン攻撃をすべて防止することができます。
 また、認証器に保管されている生体情報などの認証情報がネットワーク上に流れることはなく、Webサービス側にも保存されないため、情報漏えいに強い認証であると言えます。何らかの原因でWebサービスの情報が漏えいした場合でも、攻撃者はWebサービスが持つ情報ではFIDO2認証を破ることはできません。

● フィッシングと中間者攻撃に対する高い耐性

 前述の通り、認証器に保管されている生体情報などの認証情報がネットワーク上に流れることはないため、パスワードのようにフィッシングサイトによって認証情報が窃取されることはありません。
 また、中間者攻撃に関してもFIDO2認証は高い耐性を持ちます。FIDO2認証では、認証器の登録時に作成したキーペアが、Webサービスのドメイン名に基づいて作成される"RP ID"と紐づけて管理されます。この"RP ID"によるキーペアの管理により、キーペアの使用可能範囲は当該キーペアを作成したWebサービスに限定することができます。これにより、FIDO2認証は、認証プロトコル上で中間者攻撃を防止することができます。

図3 FIDO2認証による中間者攻撃の防止イメージ図(WebサービスのRP IDがweb.example.co.jpの場合)
6457_Image4_01.png
6457_Image3_01.png

 このようにFIDO2認証は、Webサービスの品質とセキュリティレベルの向上を同時に図ることができる認証方式です。ブラウザ、プラットフォームの対応も進んでおり将来性がある認証方式であるため、Webサービスへの導入を検討するべき認証方法と言えます。

本コラムのまとめ

 本コラムでは、全4回に渡りWebサービスへの不正ログインの危険性とその対策についてお話いたしました。
 不正ログインの攻撃手法は日々巧妙化し続けており、サービス事業者には、ユーザーに負担を与えずに不正ログインのリスクを低減する対策が求められています。しかし、現実的に根本解決の対策を行うことは難しく、サービス事業者にとっては、複数の対策を併用したうえでユーザーに対して不正ログイン対策を啓発し、可能な限りユーザーをリスクから遠ざける努力を続けることが重要です。そこで、今回、昨今注目されている新認証技術であるFIDO2認証について解説させていただきました。

 弊社では、本コラムでご紹介しました不正ログイン対策を備えた統合認証基盤ソリューションThemiStruct-WAMとThemiStruct Identity Platformをご提供しております。認証に関してお客様が抱えておられる課題の解決に向けてのご提案も可能ですので、お気軽にご相談ください。

<ソリューションの詳細情報はこちら>
6457_Image5_01.png
6457_Image6_01.png

2022年3月7日
執筆者:株式会社オージス総研
    事業開発本部 ID/IAMソリューション部
    井田 章三

関連サービス

関連記事一覧