情報処理安全確保支援士試験 午後問題から学ぶ【ワンタイムパスワード認証方式でも攻撃者に悪用される】
情報処理安全確保支援士試験の午後問題には、情報セキュリティに関する最新の動向を反映した題材が採用されています。
キーワードに加え、設計やインシデント対応能力をシミュレーションできる良い学びの場ですので、情報処理安全確保支援士試験合格はもちろん、情報処理安全確保支援士となった後も能力向上のために学習していきましょう。
今回は、「クラウドサービスの利用における認証方式の強化」を題材にした「ワンタイムパスワード認証方式でも攻撃者に悪用される」を解説していきます。
「ワンタイムパスワード認証方式」とは
ワンタイムパスワード認証方式とは、利用者の認証方式の一つで、短時間のみ有効な文字列を生成してパスワードに用いる方式です。
いわゆる「使い捨て」のパスワードのため、固定のパスワードに比べ、盗聴などのリスクを回避させやすい方式です。
ワンタイムパスワード認証方式を利用する場合は、利用者と認証する側であらかじめパスワードの生成方法を共有する必要があります。
例えば、携帯電話のSMSを利用する方式では、認証側からSMSで利用者にワンタイムパスワードを通知し、その場で入力してもらいます。
また、マトリクス認証として、文字や数字が毎回シャッフルされる表を用いて、特定の位置にある文字や数字をワンタイムパスワードとして入力するものもあります。
平成31年度春期情報処理安全確保支援士試験での「ワンタイムパスワード認証方式でも攻撃者に悪用される」
「クラウドサービスの利用における認証方式の強化」を題材に「ワンタイムパスワード認証方式でも攻撃者に悪用される」の問題が出題されました。採点講評によると、正答率は低かったようです。
それでは「ワンタイムパスワード認証方式でも攻撃者に悪用される」の問題となった部分を見ていきましょう。
情報システム部長からメールサービスPの認証方式の強化について、次の2点が要求された。
要求1 U社以外の無線LANに接続したとしても手口Gを防ぐこと
要求2 手口Gに限らず、偽サイトにアクセスしてしまったときにフィッシングの手口によるメールサービスPへの不正アクセスを防ぐこと
Tさんが確認したところ、メールサービスPは、単体ではパスワード認証にしか対応していないが、認証連携の機能があることが分かった。認証連携機能を使えば、メールサービスPにアクセスしようとしたときに、他のID管理サービスにリダイレクトされ、そこで認証が行われ、認証に成功すると、メールサービスPにアクセスできるようになる。そこで、X社が提供するクラウドサービス型ID管理サービス(以下、IDaaS-Xという)が対応している、より強力な認証方式を利用することにした。IDaaS-Xでは、認証サーバXを使って利用者を認証する。
IDaaS-Xが対応している、より強力な認証方式には、次の2種類がある。
・ワンタイムパスワード(以下、OTPという)認証方式
TOTP(Time-based One-Time Password algorithm)用のスマートフォンアプリケーションプログラム(以下、TOTPという)を利用した認証方式
・パスワードレス認証方式
WebAuthn(Web Authentication API)対応のWebブラウザ及び生体認証対応のオーセンティケータを搭載したデバイスを利用した認証方式
Tさんは二つの認証方式について、要求1及び要求2を満たすことができるかを検討した。
Tさんは、まずOTP認証方式を検討した。IDaaS-XにおけるTOTPアプリ登録処理を図3に、OTP認証方式の認証処理を図4に示す。
OTP認証方式を利用した場合、ログインには時刻によって変化するOTPも必要になるので、パスワードが窃取された場合でも不正ログインを防ぐことが可能となる。しかし、③OTP認証方式を利用し、かつ、登録処理を正しく行ったとしても、要求2を満たすことができないおそれがある。
設問2(1)本文中の下線③について、偽サイトにおいてどのような処理が行われればメールサービスPへの不正アクセスが成立するか。行われる処理を35字以内で述べよ。
正解:OTPの入力を要求し、OTPを認証サーバXに中継する処理
【出典:情報処理安全確保支援士試験 平成31年度春期午後1問2(一部、省略部分あり)】
設問2(1)
攻撃者がメールサービスPへの不正アクセスを成功させるには、図4の認証処理を正常に完了させる必要があります。
それには、認証サーバXに必要な情報を送信する必要があります。
認証サーバXで必要な情報は図4から「利用者ID」「パスワード」「共通鍵」「OTP」になります。
なお、「共通鍵」は図3のTOTPアプリ登録処理で認証サーバX側で生成しており、保持されているため、利用者側から送信する必要はありません。
ここで、要求2にある「フィッシングの手口」の場合、フィッシングにより攻撃者に「利用者ID」と「パスワード」が知られてしまっていることになります。
残る「OTP」はどのようにすれば得ることができるでしょうか。
「OTP」は利用者が所持するTOTPアプリでリアルタイムに変わる情報ですので、正規の利用者と認証サーバXの間でやり取りする内容をリアルタイムに知る必要があります。
これには、Webブラウザと認証サーバXの間に攻撃者の偽サイトが介入し、通信を盗聴しながら中継する、いわゆる中間者攻撃で実現可能となります。