インターネット経由のTLS通信におけるセキュリティ対策【ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1 No.1】
ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1 No.1
【出典:ネットワークスペシャリスト試験 平成30年度 秋期 午後2 問1(一部、加工あり)】
問1 ネットワークシステムの設計に関する次の記述を読んで、設問1~4に答えよ。
機械メーカのX社は、顧客に販売した機械の運用・保守と、機械が稼働している顧客の工場の自動化支援に関する新事業を拡大しようとしている。
機械は工作装置及び通信装置の2種類である。工作装置には、センサ、アクチュエータなどを制御する機構(以下、デバイスという)、及びレイヤ2スイッチが内蔵されている。通信装置は、デバイスをインターネットに接続するための機器で、エッジサーバ、ファイアウォール及びレイヤ3スイッチが内蔵されている。
X社の情報システム部は、新事業用のサービス基盤システム(以下、Xシステムという)を計画中である。情報システム部に所属するネットワーク担当のWさんが、Xシステムの構想について、検討を行っている。
【Xシステムの構想】
Xシステムは、X社が運用・保守を行う顧客の工場内の機器、X社内のサーバ、及びそれらを接続するためのネットワーク機器から構成されている。
Xシステムの導入構成例を図1に示す。
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社内の機器との通信は、いずれもクライアントサーバ型の通信であり、機器間の(エ:TCP)コネクションの確立要求は、工場からX社の方向に行われる。それを踏まえて、次の侵入及びなりすまし対策を採用する。
- X社に設置されたFWを使った対策
- ①通信装置内のFWを使った対策
- ②TLSの機能を使った、デバイス及びエッジサーバに関する対策
ア:暗号化、イ:検知、ウ:認証
本文の通り、TLS(Transport Layer Security)は情報の漏えい及び改ざんを防ぐために利用します。
情報の漏えいについてはメッセージを共通鍵により暗号化し、改ざんについては認証鍵により検知します。
また、サーバ証明書による検証で通信相手を認証します。(オプションでクライアント側の認証も可能)
これはTLSというよりセキュリティ全般にも当てはまる機能が問われていますね。
エ:TCP
クライアントとサーバ間の通信について、コネクション型通信ときたらTCP(Transmission Control Protocol)で、コネクションレス型通信はUDP(User Datagram Protocol)になります。
TLSを利用するには、トランスポート層がTCPである必要があります。
①の対策を、50字以内で述べよ:X社が運用・保守を行う機器からX社FWの方向に確立されるTCPコネクションだけを許可する。
通信装置内のFWの役割は、通信装置や工作装置をインターネットから守ることです。
FWには必要最低限の通信のみを許可して、それ以外は拒否するように設定します。
必要な通信については、「工場内の機器とX社内の機器との通信は、いずれもクライアントサーバ型の通信であり、機器間のTCPコネクションの確立要求は、工場からX社の方向に行われる」という記述から分かります。
50字以内ですので、ある程度具体的に記載する必要があります。
ただ、図1は構成例ですので、FWの対策としては抽象的にならざるを得ないなど、記載方法に工夫が必要です。
そこで、通信元を顧客の工場に導入される機器である「X社が運用・保守を行う機器」、通信先を「X社FW」として記載します。
ちなみに、FWでは、許可する通信以外は自動的に拒否するので、記載するのは許可分の対策のみで構いません。
②の対策を、30字以内で述べよ。:クライアント証明書を配布してクライアント認証を行う。
本文に「それらを踏まえて、次の侵入及びなりすまし対策を採用する」とあり、侵入となりすまし対策の対応は以下のようになります。
- X社に設置されたFWを使った対策:侵入対策
- 通信装置内のFWを使った対策:侵入対策
- TLSの機能を使った、デバイス及びエッジサーバに関する対策:なりすまし対策
本設問のデバイス及びエッジサーバでのなりすまし対策としては、TLSのクライアント認証が該当します。
クライアント側では人による操作があるわけではないので、ユーザID/パスワードでの認証ではなく、クライアント証明書を実装するのがいいでしょう。