平成31年度 春期試験 午後Ⅰ問題対策② ―問2

2019年9月4日(水)
棚橋 英之

はじめに

近年、様々な分野でクラウドサービスの活用が進められており、そのセキュリティを考えることは喫緊の課題です。特に、クラウドサービスはインターネット上のどこからでも誰でもアクセスができるため、利用する上では適切なアカウント管理や認証、アクセス制御の仕組みが重要です。

情報処理安全確保支援士試験でも、クラウドサービスに関するセキュリティの問題や認証に関する問題は頻出しており、クラウドサービスが関わるシステムにおけるセキュリティのポイントは押さえておく必要があります。

今回は、平成31年度春期試験午後Ⅰ問2ついて、解説します。

平成31年度 春期試験 午後Ⅰ問題 問2の解説

平成31年度 春期情報処理安全確保支援士試験 解答例の出題趣旨に、「クラウドサービスの利用における認証方式の強化を題材に, 認証方式の安全性を評価する能力を問う」と記述されています。サーバ証明書やディジタル署名などの認証に関する基本的な知識も問われていますので、暗号技術や認証技術も含めて頻出のテーマを確実に解けるようにしておきましょう。

また、本問題ではWebAuthn(Web Authentication API)に関する設問があります。

WebAuthnはパスワードに依存しないWeb認証の一つであり、FIDOアライアンスによる標準仕様であるFIDO2の一部として策定されています。多くのWebブラウザでWebAuthnがサポートされ、パスワードなどの認証情報をネットワーク上に流さずに安全に認証が行えるため、近年急速に注目されている仕組みです。

WebAuthnでは認証器(オーセンティケータ)と呼ばれるデバイス(USBやBluetoothセキュリティキーなどのトークンデバイスなど)を用意し、Webブラウザ経由で認証サーバに認証する際に、以下のステップで認証処理を行います。

  1. 認証器内に認証情報を格納する。認証情報としては、公開鍵暗号方式に基づく鍵ペアを用いるため、認証用の鍵ペアを作成する
  2. 利用者は生体認証などで認証器に認証を行う
  3. 認証器は2.において認証できたという情報に認証器自身の証明書、作成した認証用の公開鍵などをまとめたデータを作成し、そのデータに署名をほどこしたうえで認証サーバへ送信する
  4. 認証サーバは認証器から受け取った公開鍵で署名を検証することで、その認証情報が正しいと認識し、利用者を認証する

この仕組み自体は問題文から読み取ることもできますが、あらかじめ注目されている最新技術の理解を深めておくと問題を解くときに有利なので、様々な技術情報に触れておくこともお勧めです。

問題の概要

  • U社は複数の海外拠点を設置し、海外向けに営業展開している。
  • 各海外拠点の情報システムは、現地の情報システム担当者が管理している。
  • メールの送受信には、本社ではオンプレミス環境を導入しているが、海外拠点ではP社が提供するクラウドサービス型Webメールサービス(メールサービスP)を利用している。
  • 海外拠点では、全ての従業員にスマートフォンとノートPCを貸与している。

[セキュリティインシデント発生]

  • Sさん:海外拠点Qの従業員。不審なメールの送信メール履歴が残っていた。
  • Tさん:登録セキスペ。不審なメールの調査を担当。
  • Yさん:海外拠点Qの情報システム担当者。

[経緯の調査]

  • Tさんは、Sさんが不正アクセスを受けたと推測、また、手口GによりSさんの利用者IDで不正アクセスしたと推測した。

[認証方式の強化]

  • メールサービスPの認証方式の強化について、次の2点が要求された。
     要求1:U社以外の無線LANに接続したとしても手口Gを防ぐこと
     要求2:手口Gに限らず、偽サイトにアクセスしてしまったときにフィッシングの手口によるメールサービスPへの不正アクセスを防ぐこと
  • メールサービスPには認証連携機能があり、X社が提供するクラウドサービス型ID管理サービス(IDaaS-X)が対応している、より強力な認証方式で要求1、要求2を満たすことができるか検討
  • OTP認証方式では、要求2を満たすことができない恐れがある
  • パスワードレス認証方式により、要求2を満たすことができると考えられる。
  • 海外拠点で従業員に貸与しているデバイスにはオーセンティケータが搭載されていたため、パスワードレス認証方式を速やかに導入することができた。

設問1

[経緯の調査] についての設問です。

以下の解説では、問題文中のページ数を「Pxx」、図や表を「問題文中の図x、表x」と記します。

(1)
P10の図2より、「SさんはPC-SをホテルWi-Fiに接続しようとして, 攻撃者が用意した無線LANアクセスポイントに接続してしまった」ことが推測されます。

攻撃者が用意した無線LANアクセスポイントにどのような設定があると、このような誘導ができるのでしょうか。

無線LANアクセスポイントを選出するには、多くの場合、SSIDと事前共有鍵(パスワード)が必要です。攻撃者の用意したアクセスポイントを利用させるためには、その無線LANアクセスポイントのSSIDとパスワードを利用者に伝える必要があります。P10の図1より「ホテルWi-FiのSSIDは宿泊客で共通であり, そのSSIDと事前共有鍵はロビーなどの共有スペースに張り出されていた」と記述されています。ホテルの利用者はホテルWi-FiのSSIDと事前共有鍵を利用するはずなので、ホテルWi-Fiと同じSSIDと事前共有鍵を設定した無線LANアクセスポイントを用意することで、利用者にホテルWi-Fiへ接続していると思わせつつ、攻撃者の用意した無線LANアクセスポイントに誘導することができます。

従って、解答例は「ホテルWi-Fiと同じSSIDと事前共有鍵」です。

このホテルWi-Fiのように、多くの人が共有して利用できるWi-Fiになりすまして不正行為を行う手法は広く使われており、情報処理安全確保支援士試験でも関連する問題が何度か出題されています。

(2)
P10の図1、2より、「攻撃者が用意した無線LANアクセスポイントに接続してしまった後、攻撃者が用意したDNSサーバの情報がPC-Sに設定された。その後、メールサービスPを利用するため、メールサービスPのFQDNを手入力し、ログインページで利用者IDとパスワードを入力したが、実際にはWebブラウザは攻撃者の用意したWebサーバに接続していた」ことが推測されます。

DNSサーバのAレコードでは、FQDN(ドメイン名)とIPアドレスの関連付けが記述されており、「メールサービスPのFQDN」と「攻撃者の用意したWebサーバのIPアドレス」をこのAレコードに記述した場合、メールサービスPへ接続しようとした利用者を攻撃者の用意したWebサーバへ誘導することができます。

従って、解答例は【 a 】:メールサービスP、【 b 】:攻撃者が用意したWebサーバです。

なお、P10の図1より、SさんのノートPC(PC-S)はIPアドレスとDNSの情報をDHCPで自動取得する設定になっていたため、攻撃者の用意した無線LANアクセスポイントに接続することで、DNSの情報が攻撃者の望むままに設定されてしまったことが考えられます。

(3)
攻撃者の用意した不正なWebサーバに接続されたにも関わらず、サーバ証明書が信頼できない旨のエラーが表示されなかった理由を回答する問題です。

設問に「メールサービスPにHSTSが実装されていないことを踏まえ」と記述されているため、HSTSを基に考えてみます。

HSTS(Hypertext Strict Transport Security)とは、WebブラウザにHTTPS(HTTP over TLS)の使用を強制する仕組みです。HSTSが実装されていた場合、HTTPでアクセスした際にHTTPSのURLに強制的にリダイレクトされるため、仮にURLに「http://XXXX.XXX」と入力しても、「https://XXXX.XXX」へ接続することになります。

P10の図1の下の本文より、「メールサービスPはHTTP over TLSでサービスが提供されている。HTTPでアクセスした場合はHTTP over TLSのURLにリダイレクトされる仕様になっており」と記述されています。また、P10の図1に「メールサービスPを利用するために, WebブラウザのアドレスバーにメールサービスPのFQDNを手入力し」と記述されているため、Sさんは普段から「http://XXXX.XXX」と入力していたのではないかと考えられます。正規のメールサービスPであった場合は「http://XXXX.XXX」と入力してもHTTPSへリダイレクトされますが、今回のように不正なWebサーバであった場合はリダイレクトされず、HTTP通信を行っていたと考えられます。

HTTPで通信した場合はサーバ証明書を利用しないため、そもそもサーバ証明書が信頼できない旨のエラーは表示されません。

従って、解答例は「HTTPで接続が開始されたから」です。

設問2

[認証方式の強化] についての設問です。

(1)
P11の要求2では、「手口Gに限らず, 偽サイトにアクセスしてしまったときにフィッシングの手口によるメールサービスPへの不正アクセスを防ぐこと」と記述されています。

フィッシングの手口による不正アクセスから「利用者ID」「パスワード」が窃取され、攻撃者に知られている場合を考えてみます。P12の下線部③のすぐ上の行では、「OTP認証方式を利用した場合, ログインには時刻によって変化するOTPも必要になるので, パスワードが窃取された場合でも不正ログインを防ぐことが可能となる」と記述されていますが、OTPがわからなければ不正ログインを防ぐことができるというロジックであるため、攻撃者が時刻によって変化するOTPを入手できれば不正ログインが成功してしまうことになります。

では、攻撃者はどのような行為をすれば、ここから不正アクセスを成功させることができるでしょうか。

利用者がOTPを認証サーバに送信する途中、すなわちWebブラウザ、認証サーバ、正規サービスの間で通信を盗聴・中継することができれば、利用者の入力したOTPを不正に入手することが可能です。このような攻撃手法を中間者攻撃(MITM:Man-In-The-Middle attack)と呼びます。

従って、解答例は「OTPの入力を要求し、OTPを認証サーバXに中継する処理」です。

(2)
WebAuthn対応のパスワードレス認証方式における仕組みに関する問題です。WebAuthnの仕組みを知らなくても、問題文の解釈とディジタル署名に関する仕組みから解答を導き出すことができます。

ディジタル署名を活用することで「改ざんの検出」と「なりすましの防止」の対策が可能になります。ディジタル署名の技術については、過去記事(暗号技術の基礎固め) で紹介していますので、仕組みを確認したい方はそちらをご覧ください。

ディジタル署名の仕組みの流れをまとめると、以下のようになります。

  1. 「送信者の秘密鍵」により送信データをハッシュ化した値を暗号化(署名)⇒これをディジタル署名と呼ぶ
  2. 送信データとディジタル署名を受信者に送信する
  3. 受信者は「送信者の公開鍵」を用いてディジタル署名を検証(復号)する
  4. ディジタル署名が復号できれば、送信者しか持ちえない「送信者の秘密鍵」により暗号化されたことがわかるため、なりすましをされていないことが確認できる
  5. ディジタル署名を復号して得られた値は送信データをハッシュ化した値であるため、受信したデータをハッシュ化した値と比較することで、送信データが改ざんされたかどうかを検出できる

従って、署名を生成する場合は「秘密鍵」、署名を検証する場合は「公開鍵」となるため、【 c 】【 e 】には秘密鍵A、Kのどちらか、【 d 】【 f 】には公開鍵A、Kのどちらかが当てはまります。

まず、P13の図5より、オーセンティケータを認証サーバXに登録する、すなわち、オーセンティケータの真正性を確立する必要があります。オーセンティケータは認証器とも呼ばれるもので、内部に認証に必要な秘密鍵を持つことが読み取れます。

オーセンティケータにはあらかじめ公開鍵A、秘密鍵Aのペアが組み込まれているため、オーセンティケータにおいて秘密鍵Aで署名を作成し、認証サーバXにおいて公開鍵Aでその署名を検証することで、オーセンティケータの真正性を確認することができます。

従って、【 c 】には「秘密鍵A」、【 d 】には「公開鍵A」が該当します。

残りは消去法でも解答は得られますが、P14の図6についても考えてみましょう。

P13の図5より、オーセンティケータではIDcごとの公開鍵K、秘密鍵Kが作成され、公開鍵Kは認証サーバXに渡されています。P14の図6より、認証をする際に、オーセンティケータの持つ秘密鍵によって署名を作成し、認証サーバXの持つ公開鍵によって署名を検証しています。この時、「IDcに対する【 f 】を選択」しており、「【 f 】を用いて署名Fを検証」しています。IDcに依存する鍵ペアは公開鍵Kと秘密鍵Kのため、【 f 】は公開鍵Kが該当します。【 e 】は対応する秘密鍵であるため、秘密鍵Kが該当します。

従って、解答は【 c 】:ウ(秘密鍵A)、【 d 】:ア(公開鍵A)、【 e 】:エ(秘密鍵K)、【 f 】:イ(公開鍵K)です。

(3)
WebAuthn対応のパスワードレス認証方式を利用すれば、設問2(1)で論じた中間者攻撃を対策できる理由を述べる問題です。

P14の図6より、「認証サーバX」でいくつかの確認と検証を行っており、これらが中間者攻撃対策の理由となります。中間者攻撃を防ぐには、アクセスしたサイトが正規のサイトであることを保証する必要があります。

「オリジンbとオリジンsの一致を確認」に着目してみましょう。オリジンとは「スキーム(プロトコル)」、「FQDN(ホスト名)」、「ポート番号」の3つの組み合わせです。P13の図5より、「オリジンbはWebブラウザがアクセスしたWebサイトのオリジン」であり、「オリジンsは認証サーバXのWebサイトのオリジン」です。どちらも、メールサービスPのオリジンを指しています。

P13の図5より、登録の段階では署名L(オーセンティケータに組み込まれた鍵ペアA)により、「オリジンb」や「乱数c」などの各要素が改ざんされていないことを検証し、オーセンティケータが正当なものであることを確認しています。

P14の図6より、認証の段階では署名M(オーセンティケータにより作成された、利用者IDとドメインに紐づく鍵ペアK)により、「オリジンb」や「乱数c’」などの各要素が改ざんされていないことを検証し、利用者が正当であることを確認しています。

利用者がアクセスしたサイトは「オリジンb」であり、この値が「オリジンs」と同じであれば、認証すべきサービスのオリジンが認証サーバXの想定した通りであるため、偽サイトへのアクセスでないことを保証することができます。

従って、解答例は「認証サーバXでオリジンbとオリジンsの一致を確認しているから」です。

おわりに

本問題では、クラウドサービス利用におけるセキュリティと、利用者認証に関する内容が問われていました。適切な認証機能の活用は安全にシステムを利用する上で必須となるため、認証に関わる様々な技術について知識を深めていくことが大切です。

特に、ディジタル署名やサーバ証明書の内容が関わることが多く、これらを正確に理解するうえで「鍵」の取扱い方の知識は欠かせません。午前・午後ともに「公開鍵暗号基盤(PKI)」に関する問題は出題率も非常に高いので、基礎から確実に押さえておくことが重要です。

次回は、平成31年度 春期試験 午後Ⅰ問題の問3を解説します。

NECマネジメントパートナー株式会社 人材開発サービス事業部
2009年日本電気株式会社入社。人材開発事業部門に所属し、Linuxシステム、Webプログラミング、セキュリティの教育を担当。近年では、官公庁や重要インフラ事業者へのCSIRT要員に対して、インシデント対応の演習を展開している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています