クラウドサービス移行における利用者認証方式の検討【基本情報技術者試験 平成31年度 春期 午後 問1】

基本情報技術者試験 平成31年度 春期 午後 問1

問1 クラウドサービスの利用者認証に関する次の記述を読んで、設問1,2に答えよ。

 A社では、現在、Webベースの業務システムが複数稼働しており、それぞれが稼働するサーバ(以下、業務システムサーバという)を社内LANに設置している。A社のネットワーク構成を、図1に示す。

f:id:aolaniengineer:20200504141619p:plain

 利用者は、業務システムを、社内LANに設置されたクライアントPCのWebブラウザから利用する。社外から社内LANへのリモートアクセスは禁止されている。業務システムの利用者認証は、A社認証サーバでの利用者IDとパスワード(以下、この二つを併せて利用者認証情報という)の検証によって行っており、シングルサインオンを実現している。

 社内LANからインターネットを介した社外への通信は、クライアントPCからプロキシサーバを経由した、HTTP over TLS(以下、HTTPSという)による通信だけが、ファイアウォールによって許可されている。社外からインターネットを介した社内LANへの通信は、全てファイアウォールによって禁止されている。ファイアウォールの設定は、A社のセキュリティポリシに基づき変更しないものとする。

【クラウドサービスの利用者認証】

 このたびA社は、業務システムの一つである販売管理システムを、B社がインターネットを介して提供する販売管理サービス(以下、B社クラウドサービスという)に移行することにした。利用者認証に関しては、A社認証サーバとB社クラウドサービスを連携し、次の(1)〜(3)を実現することにした。

(1)B社クラウドサービスをシングルサインオンの対象とする。

(2)A社の利用者認証は、B社クラウドサービスについても、A社認証サーバで行う。

(3)利用者が本人であることを確認するためにA社認証サーバで用いる(a:パスワード)は、B社クラウドサービスには送信しない。

a:パスワード

A社認証サーバでの利用者認証は、利用者IDとパスワードを用いています。

そして、この後の問題文で、「(社内LANの)IdPは、認証結果、認証有効期限及び利用者IDにディジタル署名を付加してから、Webブラウザを介して、B社クラウドサービスに送信する」とあります。

したがって、B社クラウドサービスに送信しないのはパスワードになります。

 (1)〜(3)を実現するために、A社は、利用者認証を仲介するIDプロバイダ(以下、IdPという)を社内LANに設置することにした。IdPは、認証結果、認証有効期限及び利用者ID(以下、これら三つを併せて認証済情報という)にディジタル署名を付加してから、Webブラウザを介して、B社クラウドサービスに送信する。B社クラウドサービスは、付加されているディジタル署名を使って、受信した認証済情報に(b:改ざん)がないことを検証する。このために、IdPの(c:公開鍵)をB社クラウドサービスに登録しておく。

b:改ざん

ディジタル署名によって実現できるのは、なりすましの検知(正当な送信者の確認)と、改ざんの検知です。

文意から、「改ざんがないことを検証する」で良さそうです。

c:公開鍵

ディジタル署名での検証の流れは以下のとおりです。

  1. 送信者は、署名したいメッセージからハッシュ関数でダイジェストを生成します。
  2. ダイジェストを自身の秘密鍵で暗号化します。(これがディジタル署名となります)
  3. メッセージとディジタル署名を送信します。
  4. 受信者は、受信したメッセージからハッシュ関数でダイジェスト(A)を生成します。また、ディジタル署名を送信者の公開鍵で復号しダイジェスト(B)を取り出します。
  5. (A)と(B)のダイジェストを比較して、一致することを確認します。

したがって、認証済情報を受信するB社クラウドサービス側に必要になるのは、A社のIdPの公開鍵になります。

 WebブラウザとB社クラウドサービスとの間、及びWebブラウザとIdPとの間の通信には、HTTPSを用いる。IdPとA社認証サーバとの間の通信にはLDAPを用いる。

【B社クラウドサービスが利用可能になるまでの処理の手順】

 A社の利用者が、利用者認証されていない状態で、B社クラウドサービスを利用しようとした場合に、利用可能になるまでの処理の手順を次の①〜⑩に示す。

①利用者は、WebブラウザからB社クラウドサービスにアクセスの要求を送信する。

②B社クラウドサービスは、アクセスの要求をIdPに転送する指示(以下、転送指示という)を、Webブラウザに返信する。

③Webブラウザは、②の転送指示に従い、IdPにアクセスの要求を送信する。

④IdPは、利用者認証情報の入力画面をWebブラウザに返信する。

⑤利用者は、Webブラウザで利用者認証情報を入力する。Webブラウザは、入力された利用者認証情報をIdPに送信する。

⑥IdPは、利用者認証情報をA社認証サーバに送信する。

⑦A社認証サーバは、利用者認証情報を検証し、認証結果をIdPに返信する。

⑧IdPは、認証結果が成功の場合に、認証済情報を発行し、当該情報のB社クラウドサービスへの転送指示とともに、Webブラウザに返信する。

⑨Webブラウザは、⑧の転送指示に従い、認証済情報をB社クラウドサービスに送信する。

⑩B社クラウドサービスは、認証済情報に基づいて、B社クラウドサービスの利用を許可し、操作画面をWebブラウザに返信する。

 B社クラウドサービスが利用可能になるまでの処理の流れを、図2に示す。図2中の①〜⑩は、処理の手順の①〜⑩と対応している。

f:id:aolaniengineer:20200504141707p:plain

 B社クラウドサービスでは、接続元のIPアドレスをA社のものに限定する機能は提供されていない。しかし、他の業務システムと同様に、B社クラウドサービスを、社内LANからの利用に限定できる

 この理由は、(d:Webブラウザが、IdPと通信する)ことが必要であるが、IdPを社内LANに設置するので、社外からB社クラウドサービスを利用しようとしても、図2中の(e:)の送信で失敗し、利用者認証されないからである。

dに関する解答群

  1. B社クラウドサービスが、IdPと直接通信する
  2. B社クラウドサービスが、利用者認証情報を検証し、Webブラウザに返信する
  3. IdPが、利用者に代わって、利用者認証情報をB社クラウドサービスに送信する
  4. Webブラウザが、IdPと通信する

【出典:基本情報技術者試験 平成31年度 春期 午後 問1(一部、加工あり)】

d:Webブラウザが、IdPと通信するe:

「B社クラウドサービスを、社内LANからの利用に限定できる」という理由について、図2のシーケンスを見て確認しましょう。

図2に登場する「IdP」「A社認証サーバ」はA社の社内LANにあります。

そして、「Webブラウザ」が「IdP」と「B社クラウドサービス」を仲介するような位置にありますが、Webブラウザは社内、社外のどちらからも利用可能でしょうか。

問題文に「社外からインターネットを介した社内LANへの通信は、全てファイアウォールによって禁止されている。ファイアウォールの設定は、A社のセキュリティポリシに基づき変更しないものとする。」とあります。

したがって、「Webブラウザ」が社外にある場合は、「IdP」との通信がファイアウォールによって遮断されます。

一方、「Webブラウザ」が社内にある場合は、「IdP」、「B社クラウドサービス」とも問題なく通信できます。