クラウドサービス移行における利用者認証方式の検討【基本情報技術者試験 平成31年度 春期 午後 問1】
基本情報技術者試験 平成31年度 春期 午後 問1
問1 クラウドサービスの利用者認証に関する次の記述を読んで、設問1,2に答えよ。
A社では、現在、Webベースの業務システムが複数稼働しており、それぞれが稼働するサーバ(以下、業務システムサーバという)を社内LANに設置している。A社のネットワーク構成を、図1に示す。
利用者は、業務システムを、社内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:公開鍵
ディジタル署名での検証の流れは以下のとおりです。
- 送信者は、署名したいメッセージからハッシュ関数でダイジェストを生成します。
- ダイジェストを自身の秘密鍵で暗号化します。(これがディジタル署名となります)
- メッセージとディジタル署名を送信します。
- 受信者は、受信したメッセージからハッシュ関数でダイジェスト(A)を生成します。また、ディジタル署名を送信者の公開鍵で復号しダイジェスト(B)を取り出します。
- (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中の①〜⑩は、処理の手順の①〜⑩と対応している。
B社クラウドサービスでは、接続元のIPアドレスをA社のものに限定する機能は提供されていない。しかし、他の業務システムと同様に、B社クラウドサービスを、社内LANからの利用に限定できる。
この理由は、(d:Webブラウザが、IdPと通信する)ことが必要であるが、IdPを社内LANに設置するので、社外からB社クラウドサービスを利用しようとしても、図2中の(e:③)の送信で失敗し、利用者認証されないからである。
dに関する解答群
- B社クラウドサービスが、IdPと直接通信する
- B社クラウドサービスが、利用者認証情報を検証し、Webブラウザに返信する
- IdPが、利用者に代わって、利用者認証情報をB社クラウドサービスに送信する
- 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社クラウドサービス」とも問題なく通信できます。