NWネットワークスペシャリスト試験 午後Ⅱ

平成30年度秋期 ネットワークスペシャリスト 午後Ⅱ 問1

事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。

問題

問1 ネットワークシステムの設計に関する次の記述を読んで,設問1~4に答えよ。 機械メーカのX社は,顧客に販売した機械の運用・保守と,機械が稼働している顧客の工場の自動化支援に関する新事業を拡大しようとしている。 機械は工作装置及び通信装置の2種類である。工作装置には,センサ,アクチュエータなどを制御する機構(以下,デバイスという),及びレイヤ2スイッチが内蔵されている。通信装置は,デバイスをインターネットに接続するための機器で,エッジサーバ,ファイアウォール及びレイヤ3スイッチが内蔵されている。 X社の情報システム部は,新事業用のサービス基盤システム(以下,Xシステムという)を計画中である。情報システム部に所属するネットワーク担当のWさんが,Xシステムの構想について,検討を行っている。 〔Xシステムの構想〕 Xシステムは,X社が運用・保守を行う顧客の工場内の機器,X社内のサーバ,及びそれらを接続するためのネットワーク機器から構成されている。 Xシステムの導入構成例を図1に示す。 図1 Xシステムの導入構成例(抜粋) Xシステムの業務アプリケーションプログラムは,エッジサーバと業務サーバ上で動作する。これらのサーバとデバイスは,デバイスの運用・保守に関する情報を,自動的に交換する。この情報交換に関する説明を次に示す。 ・工作装置と通信装置を接続し,顧客の工場内にXシステム専用のネットワークを構成する。顧客ネットワークは利用しない。 ・publish/subscribe型のメッセージ通信プロトコルMQTT(Message Queuing Telemetry Transport)を使って,交換サーバを介して,デバイス,エッジサーバ及び業務サーバの間でメッセージを交換する。 ・デバイス,エッジサーバ及び業務サーバにMQTTクライアント機能を,交換サーバにMQTTサーバ機能をそれぞれ実装する。 業務サーバは,顧客向けにAPI(Application Programming Interface)を提供する。顧客は,インターネット経由でAPIにアクセスし,デバイスの運用・保守に関する情報を参照する。このAPIに関する説明を次に示す。 ・X社の業務サーバと認可サーバにHTTPサーバ機能をそれぞれ実装する。 ・顧客は,顧客サーバに,APIアクセス用のWebアプリケーション(以下,WebAPという)とHTTPサーバ機能を実装する。 ・顧客は,PCのWebブラウザを使い,顧客サーバを経由して,APIにアクセスする。 ・X社の認可サーバは,顧客サーバからAPIへのアクセスを認可する。 Wさんは,上司から,Xシステムの構想に関する四つの技術検討を指示されている。四つの技術検討項目を次に示す。 ・ネットワークセキュリティ対策 ・MQTTを使ったメッセージ交換方式 ・APIにアクセスする顧客サーバの管理 ・エッジサーバを活用する将来構想 〔ネットワークセキュリティ対策〕 Xシステムは,インターネット及び顧客の工場内のXシステム専用のネットワークを利用するので,これらのX社外の通信区間に関するネットワークセキュリティ対策が必要となる。Wさんが検討したネットワークセキュリティ対策を次に示す。 ・情報の漏えい及び改ざん対策のためにTLSを利用する。TLSには,情報を【ア】する機能,情報の改ざんを【イ】する機能,及び通信相手を【ウ】する機能がある。 ・工場内の機器とX社内の機器との通信は,いずれもクライアントサーバ型の通信であり,機器間の【エ】コネクションの確立要求は,工場からX社の方向に行われる。それを踏まえて,次の侵入及びなりすまし対策を採用する。  -X社に設置されたFWを使った対策  -①通信装置内のFWを使った対策  -②TLSの機能を使った,デバイス及びエッジサーバに関する対策 〔MQTTを使ったメッセージ交換方式〕 Wさんは,MQTTを使ったメッセージ交換方式を調査した。 このメッセージ交換方式では,固定ヘッダ,可変ヘッダ及びペイロードから構成されたMQTTコントロールパケットを使う。MQTTコントロールパケットの種別を表1に示す。 表1 MQTTコントロールパケットの種別(抜粋) MQTTを使ったメッセージ交換方式の通信シーケンス例を図2に示す。 図2中の通信シーケンスでは,配信元から複数の配信先へメッセージが配信されている。通信シーケンスの説明を次に示す。 ・クライアントは,サーバのTCPポート8883番にアクセスし,TCPコネクションを確立する。このTCPコネクションは,メッセージ交換の間は常に維持される。 ・クライアントはCONNECTを送信し,サーバはCONNACKを返信する。 ・配信先となるクライアントは,サーバにSUBSCRIBEを送信し,購読対象のメッセージを,トピック名を使って通知する。サーバはクライアントにSUBACKを返信し,購読要求を受け付けたことを通知する。 ・配信元クライアントは,PUBLISHを使ってサーバにメッセージを送信する。 ・メッセージを受信したサーバは,PUBLISHに含まれるトピック名について購読要求を受け付けている全てのクライアントに,そのメッセージを送信する。 PUBLISHを使ったメッセージ送信では,QoSレベルを使って送達確認手順を指定する。QoSレベルとメッセージ送信の通信シーケンスを図3に示す。 図3 QoSレベルとメッセージ送信の通信シーケンス 図3中の通信シーケンスの説明を次に示す。 ・QoSレベルが0の場合,MQTT層におけるPUBLISHの送達確認は行わない。TCP層による送達確認だけが行われる。 ・QoSレベルが2の場合,MQTT層においてもPUBLISHの送達確認が行われる。  MQTT層の送達確認の説明を次に示す。  -TCPコネクションが切断された場合のために,PUBLISH及びPUBRELは送信者によって保存され,送信者から受信者への再送に利用される。  -③PUBLISHを受信した受信者は,メッセージの処理を始める前に送信者にPUBRECを送信し,その応答であるPUBRELを受信してからメッセージの処理を開始する。  -PUBRELを送信した送信者は,その応答であるPUBCOMPを受信してから,メッセージ送信を完了する。 次にWさんは,Xシステムの2種類のメッセージ交換について,トピック名,QoSレベル,及び配信元と配信先を整理した。 Xシステムのメッセージ交換を図4に示す。 図4 Xシステムのメッセージ交換 図4の説明を次に示す。 ・項番1では,デバイスDiは,あらかじめ【オ】を交換サーバに送信し,トピック名が【カ】のPUBLISHが送信されるようにする。 ・項番1では,QoSレベルとして2が使用されている。交換サーバからデバイスDiへのPUBLISH送信中に【キ】が電源断などで非稼働になった場合,そのPUBLISHは,【ク】の中に保存され,稼働再開後に再送される。 ・項番2では,QoSレベルとして0が使用されている。これは,【ケ】及びエッジサーバは安定した稼働が見込めるからである。 Wさんは,1台の業務サーバが6、000台のデバイスの設定を変更する場合の送信時間(T)を概算した。 WさんがTの概算に用いた通信シーケンスを図5に示す。 図5 WさんがTの概算に用いた通信シーケンス 図5中の装置の処理時間を無視し,図5中のt1及びt2は,それぞれの装置間のRTT(Round Trip Time)の2倍に等しいとし,LANのRTTを20ミリ秒,WANのRTTを200ミリ秒とすると,Tは次のように概算できる。 T=m×t1+t2=6、000×2×20+2×200(ミリ秒)≒4(分) この概算を基に,Wさんは,次のように報告することにした。 ・TCPコネクションが正常であれば,全デバイスへの設定情報の送信は4分間程度で完了する。 ・ただし,図1に示すように,【コ】は同一拠点に設置されている必要がある。 〔APIにアクセスする顧客サーバの管理〕 Wさんは,顧客サーバからのAPIアクセスに関する検討を行った。 Xシステムでは,認可サーバを使って,顧客サーバからのAPIアクセスを認可する。契約及びサービス仕様の変更が顧客ごとに発生するので,それらを前提とした認可の仕組みが必要になる。Wさんは,認可コード,アクセストークン,及びリフレッシュトークンを使った,認可の仕組みを採用することにした。 XシステムのAPIアクセスの通信シーケンスを図6に示す。 図6 XシステムのAPIアクセスの通信シーケンス 図6中の(Ⅰ)に示すように,有効なトークンがない場合,WebブラウザからWebAPへの情報要求は,【サ】サーバにリダイレクトされる。認可応答では,認可要求で通知されたURIを用いたリダイレクトによって,【シ】に認可コードが通知される。続いて,認可コードを用いたトークン要求とトークン応答が行われ,WebAPはアクセストークンとリフレッシュトークンを獲得する。 図6中の(Ⅰ)~(Ⅲ)に示すように,業務サーバへの情報要求には,アクセストークンが用いられる。アクセストークンには,アクセス可能なAPIと有効期間に関する情報が含まれており,業務サーバはそれらの情報からアクセスの可否を決める。アクセストークンの有効期間を過ぎた場合でも,【ス】の有効期間内であれば,利用者の確認を行わずに,新しいアクセストークンが発行される。 Xシステムでは,顧客ごとに異なるアクセストークンを定義し,認可サーバに格納しておく。ある顧客に提供するAPIの範囲が変わる場合,X社は認可サーバのアクセストークンを変更する。Wさんは,④アクセストークンの有効期間を10分間,リフレッシュトークンの有効期間を60分間と想定し,トークンの運用を確認した。 図6の通信シーケンスでは,図6中の「(a)認可要求」のredirect_uriパラメタが書き換えられ,図6中の【セ】に含まれる認可コードが意図しない宛先に送信される可能性がある。Wさんは,その対策として「redirect_uriパラメタの確認」を行うことにした。これは,図6中の【ソ】サーバに,HTTPリクエストに含まれるURIとあらかじめ登録されている絶対URIが一致することを確認させる,という対策である。⑤顧客向けのAPI利用ガイドラインには,この対策に必要な顧客への依頼内容を明記することにした。 〔エッジサーバを活用する将来構想〕 図4中のメッセージ交換では,X社内の交換サーバを利用するので,顧客の企業秘密を含むような設定情報及び稼働情報(以下,これらを内部情報という)は,対象外としている。しかし,内部情報についても図4と同様にメッセージ交換を行いたい顧客も多い。X社では,エッジサーバを活用して,内部情報もXシステムに取り込む将来構想をもっている。 顧客サーバが一つの場合について,将来構想で追加されるXシステムのメッセージ交換例を図7に,Wさんが考えた将来構想におけるネットワーク構成案を図8に,それぞれ示す。 図7 将来構想で追加されるXシステムのメッセージ交換例 図8 Wさんが考えた将来構想におけるネットワーク構成案(抜粋) 図8に示すように,Wさんは,NATルータを使って,顧客ネットワークとXシステムを接続する案を考えた。NATルータは,1:1静的双方向NATとして動作させ,図8中のNATルータ-PとNATルータ-P’を利用して,宛先IPアドレスと送信元IPアドレスの両方を変換させる。 Wさんが考えた将来構想におけるメッセージの流れを図9に示す。 図9 Wさんが考えた将来構想におけるメッセージの流れ 図9の説明を次に示す。 ・顧客サーバにMQTTクライアント機能を,エッジサーバにMQTTサーバ機能をそれぞれ実装し,顧客サーバとエッジサーバ間でメッセージ交換を行う。 ・エッジサーバのMQTTサーバ機能は,通常のMQTTサーバ機能に加えて,メッセージをほかのMQTTサーバと送受する機能(以下,MQTTブリッジという)をもつ。Xシステムのデバイスは複数の機器とTCPコネクションを確立できないので,このMQTTブリッジを利用する。 ・⑥MQTTブリッジには,トピック名をあらかじめ定義しておき,そのトピック名のメッセージを交換サーバと送受信させる。 Wさんは,図7~9を使って,ネットワークの動作について検討し,将来構想への対応が可能であると判断した。 Wさんは,以上の検討結果を上司に報告した。X社の情報システム部は,Xシステム構想を実現するためのプロジェクトを発足させた。 設問1 〔ネットワークセキュリティ対策〕について,(1)~(3)に答えよ。 (1)本文中の【ア】~【エ】に入れる適切な字句を答えよ。 (2)本文中の下線①の対策を,50字以内で述べよ。 (3)本文中の下線②の対策を,30字以内で述べよ。 設問2 〔MQTTを使ったメッセージ交換方式〕について,(1)~(4)に答えよ。 (1)図3中のQoSレベルが0の場合のメッセージ送信について,TCPの再送機能だけではメッセージの消失が防げないのはどのような場合か。45字以内で具体的に答えよ。 (2)本文中の下線③について,PUBRELを受信するまで,メッセージの処理を保留する目的を,20字以内で述べよ。 (3)本文中の【オ】~【ケ】に入れる適切な字句を答えよ。 (4)本文中の【コ】に入れる適切な機器名を全て答えよ。 設問3 〔APIにアクセスする顧客サーバの管理〕について,(1)~(3)に答えよ。 (1)本文中の【サ】~【ソ】に入れる適切な字句を答えよ。 (2)本文中の下線④について,提供するAPIの範囲を変更する場合,変更が有効になるのは,X社がアクセストークンを変更してから最長で何分後かを答えよ。 (3)本文中の下線⑤について,顧客への依頼内容を,40字以内で述べよ。 設問4 〔エッジサーバを活用する将来構想〕について,(1)~(4)に答えよ。 (1)図8中のNATルータについて,顧客ネットワークからXシステムの方向の通信におけるアドレス変換の内容を,60字以内で具体的に述べよ。 (2)図8中の顧客FWについて,Xシステムとの接続のために,新たに許可が必要になる通信を40字以内で答えよ。 (3)本文中の下線⑥について,定義するトピック名を全て答えよ。 (4)図7~9中の顧客サーバを1台追加する場合,Xシステム側で必要となる対応を二つ挙げ,それぞれ30字以内で述べよ。
図1 Xシステムの導入構成例(抜粋)。顧客工場の工作装置・通信装置とX社の業務サーバ,交換サーバ,認可サーバをインターネット経由で接続した構成図。
図1 Xシステムの導入構成例(抜粋)。顧客工場の工作装置・通信装置とX社の業務サーバ,交換サーバ,認可サーバをインターネット経由で接続した構成図。
表1 MQTTコントロールパケットの種別(抜粋)。CONNECT,PUBLISH,SUBSCRIBEなどのMQTTコントロールパケットについて,用途と含まれる情報を整理した表。
表1 MQTTコントロールパケットの種別(抜粋)。CONNECT,PUBLISH,SUBSCRIBEなどのMQTTコントロールパケットについて,用途と含まれる情報を整理した表。
図2 MQTTを使ったメッセージ交換方式の通信シーケンス例。配信元クライアント,サーバ,複数の配信先クライアント間でCONNECT,SUBSCRIBE,PUBLISHを交換する時系列図。
図2 MQTTを使ったメッセージ交換方式の通信シーケンス例。配信元クライアント,サーバ,複数の配信先クライアント間でCONNECT,SUBSCRIBE,PUBLISHを交換する時系列図。
図3 QoSレベルとメッセージ送信の通信シーケンス。QoSレベル0のPUBLISH送信と,QoSレベル2のPUBLISH,PUBREC,PUBREL,PUBCOMPによる送達確認手順を示す図。
図3 QoSレベルとメッセージ送信の通信シーケンス。QoSレベル0のPUBLISH送信と,QoSレベル2のPUBLISH,PUBREC,PUBREL,PUBCOMPによる送達確認手順を示す図。
図4 Xシステムのメッセージ交換。業務サーバ,交換サーバ,デバイス,エッジサーバ間の設定情報と稼働情報のメッセージ交換を整理した表と図。
図4 Xシステムのメッセージ交換。業務サーバ,交換サーバ,デバイス,エッジサーバ間の設定情報と稼働情報のメッセージ交換を整理した表と図。
図5 WさんがTの概算に用いた通信シーケンス。業務サーバから交換サーバを経由して多数のデバイスへ設定情報を送信する通信時間のシーケンス図。
図5 WさんがTの概算に用いた通信シーケンス。業務サーバから交換サーバを経由して多数のデバイスへ設定情報を送信する通信時間のシーケンス図。
図6 XシステムのAPIアクセスの通信シーケンス。Webブラウザ,顧客サーバ,認可サーバ,業務サーバ間で認可コード,アクセストークン,リフレッシュトークンを交換する通信図。
図6 XシステムのAPIアクセスの通信シーケンス。Webブラウザ,顧客サーバ,認可サーバ,業務サーバ間で認可コード,アクセストークン,リフレッシュトークンを交換する通信図。
図7 将来構想で追加されるXシステムのメッセージ交換例。顧客サーバと同じ工場のデバイス間で,エッジサーバを介して内部情報を交換する構成例。
図7 将来構想で追加されるXシステムのメッセージ交換例。顧客サーバと同じ工場のデバイス間で,エッジサーバを介して内部情報を交換する構成例。
図8 Wさんが考えた将来構想におけるネットワーク構成案(抜粋)。顧客工場内のXシステムと顧客ネットワークをNATルータで接続し,X社とインターネット経由で通信する構成図。
図8 Wさんが考えた将来構想におけるネットワーク構成案(抜粋)。顧客工場内のXシステムと顧客ネットワークをNATルータで接続し,X社とインターネット経由で通信する構成図。
図9 Wさんが考えた将来構想におけるメッセージの流れ。顧客サーバ,エッジサーバ,デバイス,交換サーバ,業務サーバ間における通常メッセージと内部情報の流れを示す図。
図9 Wさんが考えた将来構想におけるメッセージの流れ。顧客サーバ,エッジサーバ,デバイス,交換サーバ,業務サーバ間における通常メッセージと内部情報の流れを示す図。
解き方のヒントを見る

条件が適用される範囲を確かめる

検討するときは、与えられた条件がどの範囲に適用されるかに注目しましょう。一部について述べた条件を全体の条件として扱っていないか、判断の対象と条件の範囲を対応させて整理することが出発点です。

この問題で問われていること

この問題では、扱われている話題の名前から判断を急がず、各条件が何について述べられているかを確かめてください。条件の適用範囲を広げたり狭めたりせず、示された対象と結び付けて考えることに集中しましょう。

視点

条件を整理するときは、その内容と適用される対象を一緒に捉えます。対象が変わっても同じ条件を使えると決め付けず、判断したい対象がその条件の範囲に含まれているかを確認しましょう。

確認ポイント

  • 各条件が何を対象としているか確認できたか
  • 一部に適用される条件を全体に広げていないか
  • 判断の対象と条件の適用範囲が対応しているか
正解と解説を見る

解説

工場内のデバイスとX社のサーバを結ぶシステムについて、TLSとFWによる保護、MQTTの購読と送達確認、トークンによるAPI認可、エッジサーバとNATによる拡張を検討する問題です。送信時間の概算では、業務サーバと交換サーバの間がLANのt1、交換サーバと各工場のデバイスの間がWANのt2になります。

問題の全体像

機械メーカのX社が、顧客の工場にあるデバイスの運用・保守と自動化支援を行うサービス基盤を設計する事例です。デバイス、エッジサーバ、業務サーバはMQTTで情報を交換し、顧客サーバは認可を受けて業務サーバのAPIにアクセスします。将来構想では、工場内に閉じた内部情報の交換も追加します。公式資料の出題趣旨では、本文で説明されたMQTTとWebサービス連携の仕組みを理解し、システム設計に応用する能力を問うとされています。採点講評でも、構成図や通信シーケンスを正しく読み取ることが重視されています。

設問1(1)(ア)

本文の「情報の漏えい及び改ざん対策のためにTLSを利用する」に着目します。漏えい対策として、通信内容を第三者が読み取れないようにする機能が対応します。公式解答例では「暗号化」です。

設問1(1)(イ)

空欄は「情報の改ざんを【イ】する機能」です。TLSでは、受信した情報が通信途中で変更されたことを検出します。公式解答例では「検知」です。改ざんが行われたことを見つける機能として捉えます。

設問1(1)(ウ)

空欄は「通信相手を【ウ】する機能」です。通信相手が正当な相手であることを確認する機能に対応します。公式解答例では「認証」です。この機能は、設問1(3)のクライアント証明書によるなりすまし対策につながります。

設問1(1)(エ)

本文の「コネクションの確立要求」と、図2の説明にある「サーバのTCPポート8883番にアクセスし、TCPコネクションを確立する」に着目します。公式解答例では「TCP」です。MQTTのCONNECTは、TCPコネクションを確立した後に送るMQTT層の接続要求です。

設問1(2)

対象は工場の通信装置内のFWです。本文では、コネクションの確立要求を工場からX社の方向に行うとされています。公式解答例では、X社が運用・保守する機器からX社FW方向に確立するTCPコネクションだけを許可します。50字以内の答案例は「X社が運用・保守する機器からX社FW方向に確立するTCPコネクションだけを許可する。」です。既に確立したコネクション上では、X社から工場へのメッセージも流れます。採点講評では、図1の二つの拠点に置かれたFWを区別して読み取ることが求められています。

設問1(3)

本文の下線②は、デバイスとエッジサーバのなりすましをTLSで防ぐ対策です。これらはMQTTクライアントなので、サーバ側でクライアントの正当性を確認する必要があります。公式解答例では、クライアント証明書を配布してクライアント認証を行います。30字以内の答案例は「クライアント証明書を配布してクライアント認証を行う。」です。

設問2(1)

図3の説明では、QoSレベル0はMQTT層で送達確認をせず、TCP層の送達確認だけを行います。TCPの再送は既存のコネクションを前提とするため、送信処理中にデバイスの電源断などでコネクションが開放されると、再送を続けられません。公式解答例も、この場合を挙げています。45字以内の答案例は「TCP送信中にデバイスの電源断などでコネクションが開放された場合」です。

設問2(2)

図3では、送信者はPUBRECを受信するまでPUBLISHを保存し、受信後はPUBRELを保存します。受信者がPUBLISHの受信直後に処理を始めると、PUBRECが届かずPUBLISHが再送された場合に、同じメッセージを再び処理するおそれがあります。PUBRELを待つことで、送信者がPUBRECを受け取り、PUBLISHの再送段階を終えたことを確認できます。公式解答例では「メッセージの重複を防止する。」です。この表現は20字以内に収まります。採点講評でも、QoSによるメッセージ交換の仕組みの理解が重視されています。

設問2(3)(オ)

図4の項番1では、デバイスDiが設定情報の配信先になります。図2の説明では、配信先クライアントは購読対象のトピック名をSUBSCRIBEでサーバに通知するとされています。したがって、デバイスDiがあらかじめ送るパケットは、公式解答例の「SUBSCRIBE」です。

設問2(3)(カ)

図4の項番1のトピック名欄に着目します。業務サーバから特定のデバイスDiへ送る設定情報のトピック名は「config/Di」です。デバイスDiがこのトピックを購読すると、交換サーバから対応するPUBLISHが配信されます。公式解答例も「config/Di」です。

設問2(3)(キ)

本文は「交換サーバからデバイスDiへのPUBLISH送信中」に非稼働になった機器を問うています。この通信の受信者が停止した場合、送信者が保存したPUBLISHを稼働再開後に再送します。したがって、公式解答例では「デバイスDi」です。

設問2(3)(ク)

図3の説明では、QoSレベル2のPUBLISHは送信者によって保存されます。ここで対象となる通信は交換サーバからデバイスDiへの送信なので、送信者は交換サーバです。デバイスが停止した場合にPUBLISHを保存しておく機器は、公式解答例の「交換サーバ」になります。

設問2(3)(ケ)

図4の項番2では、デバイスの稼働情報を業務サーバと同じ工場のエッジサーバへ定期的に送信します。本文の「【ケ】及びエッジサーバは安定した稼働が見込める」は、この二つの配信先を指します。公式解答例では「業務サーバ」です。

設問2(4)

図1、図5、概算式を対応させます。図5のt1は業務サーバから交換サーバへのQoSレベル2の送信に要する時間で、LANのRTT20ミリ秒の2倍、つまり40ミリ秒です。t2は交換サーバから各工場のデバイスへの送信に要する時間で、WANのRTT200ミリ秒の2倍、つまり400ミリ秒です。業務サーバと交換サーバの間では送信を6、000回繰り返すため、T=6、000×40+400=240、400ミリ秒となり、約4分になります。交換サーバから各デバイスへの送信は図5のように重なって進み、最後の送信完了までのt2を加えます。この概算を成立させるには、6、000回分のt1がLANの遅延になるよう、業務サーバと交換サーバを同一拠点に置く必要があります。公式解答例では「業務サーバ、交換サーバ」です。

設問3(1)(サ)

図6の(Ⅰ)では、有効なトークンがない場合、WebAPからのリダイレクト応答を受けたWebブラウザが認可要求を送ります。その宛先は認可サーバです。公式解答例では、後続の「サーバ」とつながる「認可」が入ります。

設問3(1)(シ)

図6の認可応答(b)では、LocationにWebAPのURIと認可コードが指定されています。WebブラウザはこのURIへリダイレクトし、認可コードをWebAPに届けます。ブラウザが応答を受け取ることと、認可コードの通知先を区別します。公式解答例では「WebAP」です。採点講評でも、このリダイレクトの読み取りに関する誤答が指摘されています。

設問3(1)(ス)

図6の(Ⅲ)では、アクセストークンが無効でも、リフレッシュトークンを使ったトークン要求によって新しいアクセストークンを取得します。本文の「利用者の確認を行わずに、新しいアクセストークンが発行される」に対応するのは、公式解答例の「リフレッシュトークン」です。

設問3(1)(セ)

図6で認可コードを含むのは、(b)の認可応答です。Locationに認可コード付きのリダイレクト先URIが指定されるため、redirect_uriが不正に書き換えられると、意図しない宛先へ認可コードが送られる可能性があります。公式解答例では「認可応答」です。

設問3(1)(ソ)

redirect_uriの確認は、認可要求を受け付けて認可応答を返すサーバで行います。図6では、この役割を認可サーバが担います。公式解答例では「認可」です。登録済みの絶対URIとの一致を確認することで、不正なリダイレクト先への認可コードの送信を防ぎます。

設問3(2)

本文では、業務サーバがアクセストークンに含まれるAPIの範囲と有効期間からアクセス可否を決めます。認可サーバで設定を変更しても、既に発行したアクセストークンは有効期間が残っている間、旧条件で利用され得ます。変更直前に発行された場合が最長となり、有効期間の10分が経過すると更新が必要になります。公式解答例では「10」、つまり最長10分後です。リフレッシュトークンの60分は、新しいアクセストークンを取得できる期間です。

設問3(3)

本文の対策は、認可要求に含まれるURIと、あらかじめ登録された絶対URIの一致を認可サーバに確認させるものです。そのため、顧客にはWebAPのURIを固定し、その絶対URIを事前に通知してもらう必要があります。公式解答例もこの二点を挙げています。40字以内の答案例は「WebAPのURIを固定し、絶対URIを事前に通知してもらう。」です。

設問4(1)

図8では、PがXシステム側、P’が顧客ネットワーク側のプライベートIPアドレスを表します。顧客サーバからの通信は、顧客側ではNATルータ-P’を宛先とし、NAT通過後はエッジサーバ-Pへ送られます。同時に、送信元もXシステム側のNATルータ-Pへ変換します。公式解答例では、この送信元と宛先の両方の変換を示しています。60字以内の答案例は「送信元IPをNATルータ-Pに、宛先IPをエッジサーバ-Pに変換する。」です。

設問4(2)

図9では顧客サーバがMQTTクライアント、エッジサーバがMQTTサーバになります。顧客側から見た接続先は、図8のNATルータ-P’です。本文のMQTT接続先ポート8883番と対応させると、公式解答例は、顧客サーバ-P’からNATルータ-P’のポート8883番への通信になります。40字以内の答案例は「顧客サーバ-P’からNATルータ-P’のTCP8883番への通信」です。

設問4(3)

MQTTブリッジには、X社の交換サーバとの間で送受信するトピックを定義します。図4の設定情報は「config/Di」、稼働情報は「status/Di」です。一方、図7の「Confidential/Di」は工場内に閉じた内部情報なので、交換サーバへ送る対象には含めません。公式解答例では「config/Di、status/Di」です。

設問4(4)(1)

図8のNATルータは、1:1静的双方向NATで送信元と宛先を変換します。顧客サーバが増えると、追加サーバの通信にも対応するアドレス変換設定が必要です。公式解答例では、NATルータへの設定追加を挙げています。30字以内の答案例は「NATルータに1:1静的双方向NATの設定を追加する。」です。

設問4(4)(2)

図8では、顧客ネットワークからの通信はNATルータを通り、通信装置内のFWを経てエッジサーバへ届きます。追加した顧客サーバの通信を通すには、Xシステム側のFWにも許可ルールが必要です。公式解答例では、通信装置内のFWへのルール追加を挙げています。30字以内の答案例は「通信装置内のFWに通信を許可するルールを追加する。」です。

学習のポイント

通信の開始方向と配信方向の違い、MQTTの重複防止、LAN・WANとRTTの対応、認可コードの通知先、NATとFWの設定を重点的に学習します。

出典:独立行政法人 情報処理推進機構(IPA)平成30年度秋期 ネットワークスペシャリスト試験 午後Ⅱ 問1(公式資料:問題冊子(PDF) / 解答例 / 採点講評)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針