多要素認証に用いられる認証方式<不正ログインの脅威と対策(第3回)>

 コラム「不正ログインの脅威と対策(第3回)」では、多要素認証の一要素として組み合わせることができる代表的な認証方式とその特徴を解説します。

クライアント証明書

 クライアント証明書は、SSL/TLS暗号化通信においてユーザーを認証するために発行される電子証明書です。類似の電子証明書にサーバー証明書がありますが、サーバー証明書はWebサイトの運営者の実在証明を行うためにユーザーに提示されるのに対して、クライアント証明書はユーザーが正規ユーザーであることを証明するためにWebサイトに提示されます。
 クライアント証明書は、認証局が発行します。認証局には、第三者機関から認定された事業者が運営するパブリック認証局と、組織や企業が独自に構築して運用するプライベート認証局の2種が存在します。ユーザーは、認証局が発行したクライアント証明書を自身が使用しているデバイスにインストールし、Webサービスアクセス時にインストールしたクライアント証明書をWebサービスに提示することで認証します。

図1 クライアント証明書認証のイメージ

6433_Image1_01.png

 クライアント証明書認証は、Webサービスへのログインをクライアント証明書がインストールされたデバイスのみに制限することができます。この特性は、B2BユーザーやB2Eユーザーにとって有用性があります。クライアント証明書がインストールされたユーザー企業の管理端末だけがWebサービスにログイン可能とすることで、管理外端末によるWebサービスの不正利用を禁止することができます。セキュリティ面に関しても、デバイスにインストールされているクライアント証明書が漏えいしない限りは、不正ログインのリスクは低いと言えます。また、事前にデバイスへのインストールが完了していれば、認証時にはクライアント証明書を選択するだけで認証できるため、認証時のユーザー操作負荷は軽微です。

 一方、クライアント証明書認証を行うユーザーは、事前に自身の端末にクライアント証明書をインストールしておく必要があります。ユーザーが使用する端末やブラウザ等のさまざまなクライアントプラットフォームに対応しながら正確にクライアント証明書をインストールできなければならないということは、ユーザーとWebサービス事業者の双方にとってハードルの高い要求となります。

 以上の特徴からクライアント証明書認証は、ユーザーが使用する端末を管理、統制できるB2Bユーザー、B2Eユーザー向け、かつ厳密な端末管理が求められるWebサービスに有効な認証方法であると言えます。

多要素認証を実現する具体策

ワンタイムパスワード

ワンタイムパスワードは、一度のみ使用できる使い捨てのパスワードです。ワンタイムパスワードを使った認証方式にはいくつかの種類が存在します。本章では、近年最も普及していると思われる2つの方式について解説します。

■ Time-Based One-Time Password

 OATHという国際標準規格に則ったトークンと呼ばれるワンタイムパスワードの生成ツールを使用する方式です。その中でも現在主流となっているのが、Time-Based One-Time Password(以降、TOTP)という一定時間ごとに生成されるワンタイムパスワードを使用する方式です。トークンが生成するワンタイムパスワードは、認証を行うWebサービス側と同期しているため、ユーザーはトークンが生成するワンタイムパスワードを使って認証することができます。
 トークンには、ワンタイムパスワードを生成する専用機器であるハードウェアトークンと、ワンタイムパスワードを生成するアプリケーションであるソフトウェアトークンが存在します。特にソフトウェアトークンに関しては、iOSやAndroidのアプリケーションとして利用できるため、ソフトウェアトークンを使ったTOTPをサポートするWebサービスが大多数となっています。

図2 TOTP認証(ソフトウェアトークン)のイメージ
6433_Image2_01.png

6433_Image3_01.png

 TOTPは、ソフトウェアトークンであれば、ユーザーが準備するものはスマートフォンなどのソフトウェアトークンアプリをインストールできるデバイスのみです。そのため、ユーザーが利用開始するにあたってのハードルが非常に低い認証方法であると言えます。また、一度きりの使い捨てのパスワードであるため、総当たり攻撃や辞書攻撃といったパスワードが固定であることを前提にログイン試行を行う攻撃による不正ログインを防止できます。ワンタイムパスワードが漏えいした場合に関しても、TOTPでは数十秒ごとにワンタイムパスワードが変更され、漏えいしたワンタイムパスワードは使用できなくなるため、比較的安全であると言えます。

 このように、TOTPは認証時のセキュリティを強化できますが、それで不正ログイン対策が万全であると言いきることはできません。具体的には、TOTPのワンタイムパスワードの有効時間である数十秒の間に窃取されたワンタイムパスワードを不正利用される可能性があります。ワンタイムパスワードは、サービス事業者を騙る電話やマルウェアなどによって窃取される事例が報告されています。また、フィッシングに関しても、フィッシングサイトに入力された認証情報を収集するだけでなく、攻撃対象のWebサービスに認証の通信を中継してユーザーのセッションを乗っ取る中間者攻撃を行うタイプのフィッシングサイトの存在も確認されています。このようなフィッシングサイトに対しては、TOTPは効果がありません。

 その他の懸念として、ユーザーはトークンを紛失するとWebサービスにログインができなくなるという点が挙げられます。そのためサービス事業者は、トークン紛失時のリカバリ方法を準備する必要があります。

■ メール(SMS)通知型

 認証時にメールやSMSでワンタイムパスワードをユーザーに通知する方式です。ワンタイムパスワードは、認証毎に新しいワンタイムパスワードが発行され、ユーザーに通知されます。また、この方式のワンタイムパスワードには、数分間の有効期限が設定されていることが一般的です。ユーザーは、通知されたワンタイムパスワードを有効期限内に使用して認証を行います。

図3 ワンタイムパスワード認証(通知型)のイメージ

6433_Image4_01.png

 通知型のワンタイムパスワードは、ユーザーがメールアドレス、またはスマートフォンの電話番号を所持していれば利用できますので、TOTPと同様に、ユーザーにとって非常に利用しやすい認証方式と言えます。ワンタイムパスワードで認証するため、繰り返しログイン試行を行う不正ログインの攻撃を防止できる点も同様です。

 ワンタイムパスワードが窃取された場合に不正ログイン攻撃を受ける可能性がある点もTOTPと同様ですが、通知型はメールかSMSメッセージを介してワンタイムパスワードを通知する方式のため、通知を傍受され盗み取られるリスクが発生します。メール通知の傍受例を挙げると、事前に攻撃者にワンタイムパスワード通知先のメールアカウントに不正ログインされていた場合は、ワンタイムパスワードを窃取されてしまいます。

 このようにワンタイムパスワードは、TOTPもメール(SMS)通知型も共にユーザーは利用するハードルが低く、セキュリティを強固にできるというメリットから導入を積極的に検討するべき認証方法と言えますが、それに対する攻撃手段が存在することも忘れてはなりません。サービス事業者は、ワンタイムパスワードの導入と並行して、別途ユーザーに不正ログイン対策を啓発するなどの取り組みを行うべきでしょう。

多要素認証を実現する具体策

FIDO2

 FIDO2とは、FIDO Allianceによって制定されたパスワードに依存しない認証を実現するための技術仕様です。パスワードを用いる既存の認証方式は、セキュリティ面や利便性において多くの課題が顕在化しています。そのため、近年パスワードレス認証を実現する認証技術としてFIDO2が注目されています。もちろん、多要素認証の一要素としてFIDO2を利用することも可能です。
 FIDO2では、FIDO2対応のブラウザと認証器を使用することで認証を行います。認証器は、ユーザーの本人性を検証するデバイスで、PCなど端末に埋め込まれている内蔵タイプと、端末に接続して使用する外付けタイプのものが存在します。ユーザー検証は認証器指定の方法で行われます。例えば、指紋や虹彩等の生体認証などです。
 FIDO2認証には、デジタル署名の技術が使用されており、認証器の「登録」と認証器を使った「認証」の2つのシーケンスを経て認証を行います。認証器の「登録」でキーペアを作成し、認証器の「認証」では認証器が秘密鍵で作成した署名をWebサービスが検証することで認証を行います。

図4 FIDO2認証のイメージ
6433_Image5_01.png

 FIDO2認証は、その認証プロトコル上で対象のWebサービスのドメイン名を基に、認証器を使用しようとしているWebサービスが正規のWebサイトか検証を行うことができます。フィッシングサイトの多くは、正規のWebサービスとは異なるドメイン名であるためFIDO2認証は動作しません。そのため、FIDO2認証は、高いフィッシング耐性を持つ認証方式と言えます。また、認証器でのユーザー検証で使用する生体情報等の認証情報はネットワーク上に一切流れず、認証を行うWebサービス側にも保存されません。そのため、何らかの原因でWebサービスの情報が漏えいした場合でも攻撃者はWebサービスが持つ情報ではFIDO2認証を破ることはできないため、安全性の高い認証方式であると言えます。

 一方、FIDO2認証には、FIDO2に対応した認証器の用意が必要だという懸念があります。ですが、近年FIDO2の普及は進んできており、それに伴いFIDO2対応の認証器を内蔵する端末も増加しています。例えば、WindowsWindows Helloや、AndroidiPhoneといったスマートフォンもFIDO2への対応が進んでいます。また、外付けタイプの認証器に関しても、比較的安価に購入することが可能ですので、FIDO2対応の端末を持っていないユーザーでも容易にFIDO2を利用することができます。ただし、TOTPと同様に、サービス事業者は認証器紛失時のリカバリ方法を準備する必要があります。

 前述の通り、FIDO2はパスワードレス認証を実現する技術として注目されており、今後も普及は推進されると予想されます。また、パスワードレス認証は、ユーザーだけでなく、サービス事業者にも、パスワード等のユーザー情報を保存する必要がないため、情報漏えいのリスクを回避することができるというメリットがあります。

リスクベース認証

 リスクベース認証は、Webサービスにアクセスしてきたユーザー情報を基に不正アクセスのリスクを判定し、高リスクと判断されたユーザーには追加認証を課すことができる認証方式です。リスク判定に使われるユーザー情報には、アクセス元IPアドレス、位置情報、時刻、使用しているOS、Webブラウザなどがあります。例えば、普段と異なるWebブラウザを使用した場合や、深夜に普段と異なる場所からWebサービスを利用した場合などに、ユーザーにID/PW認証に加えてワンタイムパスワード認証など他の認証要素を利用した追加の認証を要求することができます。

 リスクベース認証は、高リスクと判断されたユーザーにセキュリティレベルの高い認証を課すことができるという点で不正ログイン対策として有効です。逆に、信用度の高いユーザーには追加認証が発生しないため、認証におけるユーザビリティの低下を抑制しながらWebサービスのセキュリティレベルを向上させることができます。多要素認証に合わせてWebサービスに導入を検討するべき認証方式であると言えます。


多要素認証を実現する具体策

 今回は、多要素認証の一要素として用いることができる認証方式のうち、「クライアント証明書」、「ワンタイムパスワード」、「FIDO2」、「リスクベース認証」に関して解説しました。
 次回は、今回解説した「FIDO2」を更に掘り下げて解説します。

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

※この記事に掲載されている内容、および製品仕様、所属情報(会社名・部署名)は公開時点のものです。予告なく変更される場合がありますので、ご了承ください。

関連サービス

関連記事一覧