ラベル 【ネスペ過去問解説】H29 午後Ⅰ問1-設問1 の投稿を表示しています。 すべての投稿を表示
ラベル 【ネスペ過去問解説】H29 午後Ⅰ問1-設問1 の投稿を表示しています。 すべての投稿を表示

2018年8月21日火曜日

【ネスペ過去問解説】平成29年度 午後Ⅰ 問1-設問1

頻出!SSL/VPNに関する問題!


本ブログにおける初の問題はSSL/VPNとなりました。VPN関係はかなりの頻度で出るので、絶対おさえておきたい内容です。同じSSL/VPNL2型の問題が平成20年に出題されてて、これをやった人は「来たー!」となります。私も飛びつきました。が、甘かったです。内容が難しい。IPAの採点講評にも「全体として正答率が低かった」とありました。何となく技術的な部分以上に文章の読解力が必要だったような気がします。

設問1:本文中の【 ア 】~【 オ 】に入れる適切な字句を答えよ。


【 ア 】


文章の中に、「十分な安全性を確保できないとされるハッシュアルゴリズム」とあります。1つはMD5で文章中にあるので、あと一つは?ってことです。
昔よく使われていて今使われていないのはMD5SHA-1です。これは暗記してください。

MD5128ビットのハッシュ値を返す。
 ・SHA-1160ビットのハッシュ値を返す。

下の奴はシャーワンと呼ぶそうです。仕事の時にシャーイチと言っていた。少し恥ずかしい。。今主流はSHA-2です。224256384512ビットの値を返します。特に256がよく使われます。

答え:SHA-1


【 イ 】


文章中に「MD5又はSHA-1を使用しないで済むようにTLSのバージョン【 イ 】以上を利用する」とあります。現時点で、TLSで安全とされているバージョンは1.2です。因みに1.3もあるそうですがまだドラフト版で定着していません。解く時代が変わると答えもかわりますね。あまり良い問題ではないかも。だから解けなくても良いかも。

 答え:1.2


【 ウ 】、【 エ 】


ウとエは続き物です。文章中に「SSL/TLSのコネクション開設時に、クライアント側から贈られる【 ウ 】メッセージとサーバ側から贈られる【 エ 】メッセージの交換」とあります。まず、SSLの通信は以下の流れを覚えておく必要があります。(というか、これだけきっちり覚えていたら大体の問題は解けます。)

①暗号スイートをどれにするか聞く
 クライアント →(Client Hello)→ サーバ
②暗号スイートの決定結果を送る
 クライアント ←(Server Hello)← サーバ

③サーバ証明書を送る
 クライアント ←(Certificate)← サーバ
※クライアント側にてサーバの認証
④クライアント証明書をくださいと言う ※クライアント認証をする場合
 クライアント ←(Certificate Request)← サーバ
⑤メッセージを送ったとの通知
 クライアント ←(Server Hello Done)← サーバ

⑥クライアント証明書を送る ※クライアント認証をする場合
 クライアント →(Certificate)→ サーバ
※サーバ側でクライアント認証
⑦プリマスターシークレット(乱数)を送る
 クライアント →(Client Key Exchange)→ サーバ
 ※サーバ側、クライアント側でプリマスターシークレットから共通鍵を作成する。
⑧クライアント署名を送る ※クライアント認証をする場合
 クライアント →(Certificate Verify)→ サーバ
⑨暗号化の開始宣言
 クライアント →(Certificate Chipper Spec)→ サーバ
⑩これまでのメッセージ確認
 クライアント →(Finished)→ サーバ

⑪暗号化の開始宣言
 クライアント ←(Certificate Chipper Spec)← サーバ
⑫これまでのメッセージ確認
 クライアント ←(Finished)← サーバ

長い!本当にあの一瞬でこんな処理が行われているのか!?と疑いたくなりますが、実際に行われているそうです。因みに⑦のプリマスターシークレットって何かと言うと、共通鍵を作成するためにクライアントとサーバが共有する情報で、サーバの公開鍵で暗号化されたものが送られ、サーバは秘密鍵で復号します。よくわからない方は、ググってください。たくさん検索結果が出てきます。(ただし、よくわからなくても絶対暗記です!)

 答え:ウ)Client Hello エ)Server Hello


【 オ 】


文章中に「SSL-VPNの基本的な動作」とあります。これも以下の3つの方式を暗記です。過去問を数年分解いていたら、全方式の出題例があるので悩まず書けるはずです。(さぁ、過去問を解こう!)因みに実務ではポートフォワード方式を使ったことはありません。大体は、利便性からリバースプロキシ方式かL2フォワーディング方式でした。

①リバースプロキシ方式(平成18-午後Ⅰ)
 →リバプロサーバで代理応答。ブラウザ上で動くアプリのみ対応可能。

②ポートフォワード方式(平成25年、23年午後Ⅰ)
 →クライアントに専用ソフトか、アクセス時にJavaアプレットをダウンロードしてから
通信する。ポート番号が固定の場合は使える。

L2フォワーディング方式(平成28年午後Ⅰ、平成20年午後Ⅱ)
 →クライアントに専用ソフトが必要。L2通信なので、大概のことはできる。

 答え:リバースプロキシ