やさしいネットワークとセキュリティ

情報処理安全確保支援士、ネットワークスペシャリスト、技術士として、資格取得を目指す方に有益な情報を発信します。

ハッシュアルゴリズム・SSL/TLSハンドシェイク・SSL-VPNの動作方式【ネットワークスペシャリスト試験 平成29年度 秋期 午後1 問1 設問1】

 情報処理技術者試験の午後問題を通じて、ネットワークの知識を体系的に蓄積していきましょう。

 キーワードに加え、設計や障害対応能力をシミュレーションできる良い学びの場ですので、試験合格はもちろん、ネットワークスペシャリストとなった後も能力向上のために学習できるいい機会です。

 今回は、「ハッシュアルゴリズム・SSL/TLSハンドシェイク・SSL-VPNの動作方式」を取り上げた「ネットワークスペシャリスト試験 平成29年度 秋期 午後1 問1 設問 1」です。

 問題文中、設問に該当する部分ですぐに解答を説明しています。

 ストーリーとして何度も読みこなすと、自然に記憶に定着してくると思います。

ネットワークスペシャリスト試験 平成29年度 秋期 午後1 問1 設問1

問1 SSL-VPNの導入に関する次の記述を読んで、設問1〜4に答えよ。

 H社は、顧客の業務システムの構築(以下、顧客システム構築という)を主力業務とする、中堅のシステム開発会社である。顧客システムは、様々なサーバ機器、OS、ミドルウェアなどを組み合わせて構築され、利用されるプロトコルも様々である。H社の拠点で構築されて、最終的に顧客の拠点に納入されたシステムは、顧客社内のPCなどから利用される。

【H社の現行ネットワーク】

 H社では、受注した顧客システム構築専用のネットワーク(以下、顧客システム構築ネットワークという)をそれぞれ設け、一つの顧客システム構築ネットワークに、H社の内部LANのサブネットを一つ割り当てている。顧客システム構築は、開発LANに接続されたPCから顧客システム構築ネットワークにアクセスして行っている。現在、E社、F社、G社の3社から受注した顧客システムを構築中である。H社は、内部LANからインターネットへのWebアクセスを、DMZのプロキシサーバ を経由して行っている。H社の現行ネットワーク構成を、図1に示す。

f:id:aolaniengineer:20200623172838p:plain

【顧客システム構築業務の問題とその解決策】

 H社では、顧客システム構築業務において次に示す問題を抱えている。

(問題1)顧客システム構築ネットワークに対して、当該構築業務とは関係がないPCから不正なアクセスを受ける可能性がある。

(問題2)顧客システム構築をH社の拠点で行っているので、顧客はシステムが納入されるまで動作確認ができない。

 これらの問題に対処するために、解決策の検討を任されたH社情報システム部のSさんは、SSL-VPNを利用すれば解決できると考えた。Sさんの検討結果を次に示す。

(1)SSL-VPNについて

 SSL-VPNは、SSL/TLSのプロトコルを利用したVPN技術である。その利用には、SSL/TLSのプロトコルのバージョン、及びプロトコルに含まれるアルゴリズムについて、次に示す点を考慮する必要がある。

・十分な安全性を確保できないとされるハッシュアルゴリズムであるMD5又は(ア:SHA-1)を使用しないで済むように、TLSプロトコルのバージョン(イ:1.2)以上を利用する。

ア:SHA-1

 ハッシュアルゴリズムには、MD5(Message Digest Algorithm 5)、SHA-1(Secure Hash Algorithm 1)、SHA-256、SHA-384がありますが、MD5、SHA-1については攻撃手法が公開されており安全性を確保できなものとして位置付けされています。

イ:1.2

 TLS(Transport Layer Security)のバージョンにはTLS1.0からTLS1.3がありますが、ハッシュアルゴリズムとしてSHA-256、SHA-384を利用できるようにしたのはTLS1.2からです。

・SSL/TLSのコネクション開設時に、クライアント側から送られる(ウ:Client_Hello)メッセージと、サーバ側から返される(エ:Server_Hello)メッセージの交換が行われる。このとき、それ以降で用いられる暗号スイート(アルゴリズムの組合せを示した情報)が決定される。その情報には、アプリケーション層の暗号化に使われる暗号アルゴリズム以外に、(Ⅰ)2種類の暗号アルゴリズムと1種類のハッシュアルゴリズムが含まれる。

ウ:Client_Hello、エ:Server_Hello

 TLSのコネクション開設時に行われるハンドシェイクでは、クライアントからClient_Helloメッセージが送信され、サーバからServer_Helloメッセージが返信されます。

  • Client_Helloメッセージ:クライアントのTLSバージョン、クライアント乱数、暗号スイートのリストなどをサーバに送信する。
  • Server_Helloメッセージ:サーバで使用するTLSバージョン、サーバ乱数、サーバで選択した暗号スイートをクライアントに通知する。

 その後、サーバ証明書によるサーバ認証、鍵交換プロセスなどを行います。

(2)SSL-VPNの動作方式

 SSL-VPNの基本的な動作には、(オ:リバースプロキシ)、ポートフォワーディング、L2フォワーディングの3方式がある。(Ⅱ)H社の場合はL2フォワーディング方式が望ましいと、Sさんは判断した。Sさんがベンダに確認したL2フォワーディング方式の動作概要を次に示す。

オ:リバースプロキシ

 SSL-VPNの実現には、リバースプロキシ、ポートフォワーディング、L2フォワーディングという3つの方式があります。

  • リバースプロキシ方式:SSL-VPN装置をリバースプロキシとして動作させる方式で、クライアントはHTTPS(HTTP over TLS)でアクセスする。Webブラウザ上で動作するアプリケーションに限定される。
  • ポートフォワーディング方式:クライアント側にJavaアプレットなどで通信モジュールを介した通信を行う方式で、ポート番号に応じた通信先を定義しておくことで、ポート番号によりアクセス先を指定できる。
  • L2フォワーディング方式:クライアント側に専用のVPNクライアントソフトを導入して、L2(データリンク)層のデータをSSL/TLSのトンネルで転送するため、利用できるアプリケーションなどの制約がない。

・PCにインストールするクライアントモジュールからSSL/TLS接続を行う。

(Ⅲ)接続時の認証に応じて、PCに適切なIPアドレスを割り当てる。

・PCとSSL-VPN装置間のSSL/TLS接続トンネル上で、レイヤ2の中継を行う。

 

 Sさんは、これらの検討結果から、開発LAN及び顧客各社のPCから顧客システム構築ネットワークに対する必要なアクセスを全てSSL-VPN経由で行うようにすることで、問題1と問題2に対応できると考え、SSL-VPN装置を新たに導入することにした。また、その問題の対応には、FW、L3SWなどの設定変更も必要になると考えた。

【出典:ネットワークスペシャリスト試験 平成29年度 秋期 午後1 問1(一部、加工あり)】

https://www.jitec.ipa.go.jp/1_04hanni_sukiru/mondai_kaitou_2017h29_2/2017h29a_nw_pm1_qs.pdf