CYBERNET

重要なお知らせ 新型コロナウイルス感染拡大にともなう電話問い合わせについて

安全性を高めるために利用広がる二要素認証。選択の鍵は「中間者攻撃」に対する防御力にあり

お役立ち

最近多くのITサービスが採用するようになった二要素認証。サービス利用の安全性を高める手法として、大きな期待が寄せられています。ここではその具体的なメカニズムと、セキュリティ上の問題点を解説します。

複数の情報を組み合わせて安全性を高める二要素認証

より安全な利用可能にするため、最近では二要素認証を導入するITサービスが増えています。二要素認証とは、種類の異なる2つの情報を組み合わせて、ユーザー認証の安全性を高める方式です。「マルチファクター(多要素)認証」と呼ばれることもあります。

これまで多くのITサービスは、ユーザーIDとパスワードによって認証(ログイン)を行うのが一般的でした。ログイン時にはユーザーIDとパスワードという2つの情報を入力することになりますが、ユーザーIDはそのサービスにおける「ユーザーの名前」であり、通常は他の人にも公開されています。そのため認証情報(本人確認のための情報)として有効なのはパスワードのみであり、「一要素認証」だと言えます。

一要素認証は原理的に、十分なセキュリティレベルを確保することが困難です。1つしかない認証情報が他人の手にわたってしまえば、簡単に不正ログインを許してしまうからです。しかし認証情報を2つに増やせば、仮にそのうちの1つが他の人の手に渡ったとしても、もう1つの認証情報で不正ログインをブロックできます。

多要素認証で使用される認証情報には、大きく分けて3種類のものがあります。

第1は「ユーザーが知っている」情報です。パスワードはこれに当たります。また「秘密の質問」といったものも、この種の認証情報に分類できます。

第2は「ユーザーが持っているモノ」に関する情報です。例えばハードウェアトークンで生成するワンタイムパスワードや、クレジットカードのセキュリティコード等がこれに当たります。これらの情報は「トークンやクレジットカードを所有している人しか知り得ない」という特性を持っています。

第3は「ユーザーの身体的特性」に関する情報です。指紋や手の静脈パターン、虹彩、網膜パターン等の情報がこれに当たります。また顔認証もこれに含まれます。これらによる認証は「生体認証」と呼ばれます。

主流はOTPとの併用だが中間者攻撃に弱いという問題も

クラウド上で提供されているITサービスの場合には、「ユーザーが知っている」情報と、「ユーザーが持っているモノ」に関する情報を組み合わせるケースが一般的です。後者として利用されるものとしては、ユーザーが保有するデバイスで生成するワンタイムパスワード(OTP:短時間だけ有効なパスワード)が挙げられます。

OTPの生成方法にも複数の手法が存在します。その1つとして挙げられるのが、専用のハードウェアトークンを使用し、そのディスプレイにOTPとなる数列を表示、これをログイン時に入力するというものです。この専用トークンはITサービスとは通信を行わず、完全に切り離された状態でOTPを生成します。そのため「オフライントークン」とも呼ばれます。OTP生成のアルゴリズムも複数存在しますが、広く利用されているのは、ITサービスと同期した時刻を元に生成する、というものです。この種の専用トークンは、オンラインバンキング等での採用事例が多いようです。

オフライントークンを用いた二要素認証は、事前にトークンをユーザーに配布する必要があるため、手間とコストがかかります。またユーザー認証に必要な情報を、すべて単一の通信経路でITサービスに送信するため、「中間者攻撃」に弱いという問題もあります。

中間者攻撃とは、ユーザーとITサービスの間に攻撃者が介在し、通信を盗聴・改ざんするという攻撃手法です。例えばオンラインバンキングの偽サイトを用意してユーザーを誘導し、そこで本物のオンラインバンキングとのやり取りを仲介する、という攻撃が考えられます。攻撃者はユーザーから送られてきた情報をすべて搾取できるため、OTPを使用したとしても、本物のオンラインバンキングに不正送金等を指示できるのです。

最近では事前にスマートフォンや携帯電話を登録し、ここにメールやSMS等で認証コードを通知する、という方法も登場しています。この方法は専用のハードウェアデバイスを用意する必要がなく、手軽に導入できるという利点があります。しかし中間者攻撃に弱いという点は、オフライントークンと同様です。

中間者攻撃への脆弱性を克服したOneLoginの二要素認証

このような問題を解決するため、OTPを他の認証情報と、別の通信経路で送信する方法も登場しています。

例えばOneLoginが提供する無料の「OneLogin OTP」は、スマートフォンに専用のモバイルアプリをインストールし、これによってOTPを生成、画面に表示されたボタンをタップするだけで、OneLoginに直接OTPを送信できるようになっています。ユーザーIDやパスワードとは異なる経路でOTPを送信できるため、中間者攻撃が行われた場合でもOTPを搾取される心配がありません。

なおOneLoginではOTPの他に、PKIを活用した端末証明書によって、ログイン可能な端末を制限することも可能です。これも二要素認証の一種だと言えます。

OneLoginはシングルサインオンを実現するためのクラウドサービスであり、ここにログインすることで、他のクラウドサービスやWebアプリケーションを、改めてログインすることなく利用可能にします。OneLoginの二要素認証を利用すれば、安全性をさらに高めた上で、ユーザーの利便性も向上させることができるのです。