NWネットワークスペシャリスト試験 午後Ⅱ
平成30年度秋期 ネットワークスペシャリスト 午後Ⅱ 問1
事例を読んで設問の答えを考えてから、解説のポイントとIPA公式の解答例・採点講評で確認しましょう。
問題










解き方のヒントを見る
条件が適用される範囲を確かめる
検討するときは、与えられた条件がどの範囲に適用されるかに注目しましょう。一部について述べた条件を全体の条件として扱っていないか、判断の対象と条件の範囲を対応させて整理することが出発点です。
この問題で問われていること
この問題では、扱われている話題の名前から判断を急がず、各条件が何について述べられているかを確かめてください。条件の適用範囲を広げたり狭めたりせず、示された対象と結び付けて考えることに集中しましょう。
視点
条件を整理するときは、その内容と適用される対象を一緒に捉えます。対象が変わっても同じ条件を使えると決め付けず、判断したい対象がその条件の範囲に含まれているかを確認しましょう。
確認ポイント
- 各条件が何を対象としているか確認できたか
- 一部に適用される条件を全体に広げていないか
- 判断の対象と条件の適用範囲が対応しているか
正解と解説を見る
解説
工場内のデバイスと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による補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針