情報処理安全確保支援士 - SE娘の剣 -

左門至峰による情報処理安全確保支援士試験に合格するためのサイトです。 過去問を多数引用しながら、情報処理安全確保支援士試験に出る基礎知識を整理します

SSL/TLSやSSHなどのセキュリティプロトコル(OLD)

1.セキュリティ関連のプロトコル

通信の暗号化をするためのセキュリティ関連のプロトコルについて紹介する。
かなり色々あるが、情報処理安全確保支援士で問われる代表的なものは、以下の2つです。
 ❶IPsec
 ❷SSL
それ以外には、以下があります。
 ❸SSH
 ❹SFTP(SSH File Transfer Protocol)
  情報処理安全確保支援士試験の過去問(H23SC春PM1-4 設問1(2)改)では、SFTPに関して、「コンテンツファイル転送時に使用するサービスをSSHに変更した際使用するコマンドを5文字以内で答えよ。 」とある。結構難しい。
 ❺ftps
 ❻scp

では、過去問を解いてみよう。

問56 セキュリティ関連のプロトコルに関する記述のうち、適切なものはどれか。
ア IPSecは、PPPの認証用プロトコルの一つである。
イ PAPは、LAN間接続やダイヤルアップ接続を行う際のユーザ認証に、暗号を使用したプロトコルである。
ウ PPPは、暗号技術を導入してセキュリティを強化した電子メールシステムのプロトコルである。
エ SSLは、Webサーバとブラウザ間でデータを暗号化して転送する場合に使用することができるプロトコルである。
(平成19年度SW午前 より)






不正解の選択肢も、なぜ間違っているかを考えよう。正解はエ。

2.SSH

(1)SSHとは

 過去問ではSSHに関して、「リモートログインやリモートファイルコピーのセキュリティを強化したツール及びプロトコル(H20秋AP午前-問76)」と述べられています。ポート番号は22番です。
かなり前かもしれないが、サーバへの接続はTelnetが多かった。しかし、Telnetは暗号化されていないため、SSHで行うことが今では多い。

SSHはUNIX系のコマンドから来たものであり、シェルなのでコマンド操作を含む色々なことができる。
過去問を見てみよう。

問20 暗号化や認証機能をもち,リモートからの遠隔操作の機能をもったプロトコルはどれか
ア IPsec
イ L2TP
ウ RADIUS
エ SSH (H20SC秋午前2)






正解はエ

では、少し難しい問題

しかし、IDとパスワードによる認証を行っていても,このようなログイン画面が攻撃者によって見つけられた場合,IDを固定して,考えられる全てのパスワードを試行する,[ a ]が行われる可能性がある。この攻撃によって,管理者権限が奪われると大きな被害になるので,Q主任はサイト担当者と検討し,インターネットから管理者用ログイン画面にアクセスする場合は,  SSHを利用することにした。SSH利用時には公開鍵認証でログインするので,[ b ]がなければ,Webサーバヘの[ a ]を成功させることは困難である。
なお,サイト担当者がミドルウェアの管理画面にアクセスする際には,サイト担当者のPCからWebサーバへのSSH接続時に、②サイト担当者のPCの任意の通信ポートとミドルウェアの管理画面が動作している通信ポートとの間を暗号通信させることにした。

設問1
(3)本文中の[ a ]に入れる攻撃手法の名称を15字以内で答えよ。
(4)本文中の[ b ]に入れる適切な字句を5宇以内で答えよ。
(5)本文中の下線②は,SSHの何と呼ばれる機能を示しているか。15字以内で答えよ。
(H24SC秋午後2問1)






正解は以下
(3)ブルートフォース攻撃
(4)秘密鍵
(5)ポートフォワーディング 
最後について、補足する。
RDP(3389)やPOP3(110)、FTP(21)などのサービスを利用しようにも、外部からは該当ポートが空いていない場合がある。たとえば、TeraTermのポートフォワーディング(SSH転送)を使うと、SSHの通信を使って任意のポートに接続替えをしてくれる。便利といっちゃ便利であるが、どちらかというと、このSSH通信のIDパスワードを盗まれると、FWをすり抜けて通信できるため、リスクの方が高いと思っている。
SSH_情報セキュリティスペシャリスト試験

(2)SSHのクライアント認証方式

 情報セキュリティスペシャリストの過去問でよく問われる。
通常よく使われる(1)パスワード認証方式と、(2)公開鍵認証方式の2パターンがある。

基本情報の過去問(H26秋FE午後問1)を見てみよう。

設問4 次の記述中の[ d ]に入れる正しい答えを,解答群の中から選べ。

 SSHサービスがクライアントを認証する方式には,パスワード認証方式と公開鍵認証方式がある。A社は公開鍵認証方式を採用した。
 公開鍵認証方式では,秘密鍵で作成した署名が,対応する公開鍵で検証できることを利用して,次のようにクライアントを認証する。
 (1)クライアントは,秘密鍵を使って作成した署名と,その秘密鍵に対応する公開鍵をサーバに送る。
 (2)サーバは,(1)の公開鍵がサーバに登録されていることを確認し,公開鍵で(1)の署名を検証する。
 (3)検証に成功すれば,クライアントがサーバに登録されている公開鍵に対応する秘密鍵をもっていることが証明されるので,サーバは,クライアントを認証する。
 このように,公開鍵認証方式では,クライアントがサーバのSSHサービスを利用する際に,パスワードや[ d ]をネットワーク上に流す必要がない。

解答群
 ア 公開鍵
 イ 秘密鍵
 ウ 秘密鍵及び公開鍵






正解は、簡単である。イの秘密鍵だ。

H30春SC午後Ⅱ問2では、もっとストレートな問題が出題されました。
「 F氏は,②SSH の認証方式をパスワード認証方式以外に設定するようDさんにアドバイスした。」
と問題文にあり、「本文中の下線②について,設定すべき認証方式の名称を,10字以内で答えよ。」という問題です。正解は、「公開鍵認証方式」ですね。完全なる知識問題でした。

以下はちょっと内容が違いますが、情報処理安全確保支援士試験の過去問(H24SC秋午後1問1)です。こちらはご参考まで。

 会員サイトは個人情報を扱うことから、①サーバ認証によるHTTPSを採用し、その上でのフォームを用いた利用者認証を行っている。例えば,ある会員がブラウザで会員サイトにアクセスしようとすると,利用者IDとパスワードによる利用者認証が求められ,認証に成功すると,会員サイトにアクセスできるようになる。クッキーの有効期限が切れるか,利用者がログアウトした後は,当該ブラウザから会員サイトにアクセスできなくなり,再び利用者認証を求められる。

設問2 本文中の下線①について, SSLのクライアント認証と比較した場合の,サーバ認証によるHTTPS通信上でフォームを用いた利用者認証を行う利点を,  25字以内で述べよ。






正解は、「利用者がクライアント証明書を用意する必要がない。」である。
このサービスは会員向けといえど、広く一般ユーザに提供しているサービスである。よって、その利用者にクライアント証明書を発行して認証するというのは、非現実的であろう。

3.SSL/TLS

(1)概要

 SSL(Secure Socket Layer)はNetscape社が開発した暗号化の仕組みです。その代表例はhttpsでして、オンラインバンキングなどでは、httpsで始まるURLにアクセスしますから、なじみ深いことでしょう。
以下は三菱東京UFJ銀行のオンラインバンキングの画面です。お金を扱いますし、パスワード情報も流れるので、httpsによって通信が暗号化されます。
特徴は、通信を暗号化するために、SSLの証明書を使う点です。以下は、緑色のバーの右にある鍵マークをクリックした状態ですが、このように、Webサイトの証明書が利用されていることが分かります。
SSL
過去問ではSSLに関して,「Webサーバとブラウザ間でデータを暗号化して転送する場合に使用することができるプロトコルである(平成19年度ソフ開 午前 問56)」と述べられています。
最近はGoogle検索でもhttps://www.google.co.jp/?gws_rd=sslに自動でリダイレクトされ、httpsによる暗号化通信が行われます。

情報処理安全確保支援士試験の過去問を見てみよう。

問16 セキュリティプロトコルSSL/TLSの機能はどれか。
ア FTPなどの様々なアプリケーションに利用されて、アプリケーション層とトランスポート層(TCP)との間で暗号化する。
イ MIMEをベースとして、電子署名とメッセージの暗号化によって電子メールのセキュリティを強化する。
ウ PPTPとL2Fが統合された仕様で、PPPをトンネリングする。
エ 特定のアプリケーションの通信だけではなく、あらゆるIPパケットをIP層で暗号化する。(H22SC春午前2)






すべての選択肢が何を指すかを考えるとよい。イはS/MIME、ウはL2TPであり、エはIPsec。また、今回の正解はア。

(2)SSLとTLSの違いは?

 SSL(Secure Sockets Layer)は、ネットスケープコミュニケーションズ社が開発したプロトコルです。それをRFCとして標準化するとともに、機能を付加したものがTLS(Transport Layer Security)です。両者の互換性はないが、情報セキュリティスペシャリスト試験においては、SSL/TLSというくくりで、両者は同じものと考えてもいいでしょう。
ただ、2014年にはSSLv3に重大な脆弱性が見つかり、SSLを無効にしてTLSを使うようにアナウンスする企業がいくつか見られました。今後も主軸はTLSになりますが、SSLという名称が広まっているため、SSLと表現しながら、実際にはTLSを使っているという状態になることでしょう。

(3)SSLの目的

ここに文章を入力。SSLを利用する目的を3つ答えよ
女性SE(システムエンジニア)の成子 

結構難しいですね
 情報処理安全確保支援士試験の過去問(H26SC春午後問1)に整理されているので、見てみよう。

〔SSLの機能概要〕
 インターネットはオープンなネットワークなので,多くの脅威が存在する。これらの脅威に対応するためにSSLが利用される。SSLでは,[ a ],なりすまし及び[ b ]に対する対応策が提供される。
 [ a ]の防止は,公開鍵暗号方式と共通鍵暗号方式を組み合わせて実現される。なりすまし防止は,サーバ認証とクライアント認証によって行われる。送受信されるメッセージの[ b ]検知は,メッセージの中に埋め込まれる,MAC(Message Authentication Code)を基に行われる。






正解であるが、aには盗聴が入り、bには改ざんが入る。
ということで、SSLの目的は、盗聴となりすまし、および改ざんの防止である。

別の過去問(H30NW午後Ⅱ問1)も紹介します。

TLSには,情報を[ ア ]する機能,情報の改ざんを[ イ ]する機能,及び通信相手を[ ウ ]する機能がある。






TLSの主要な機能は、①情報の暗号化,②改ざん検知,③電子証明書を使った通信相手の認証、などです。よって,空欄アには「暗号化」,空欄イには「検知」,空欄ウには「認証」が入ります。

(4)SSLとTLSのポート番号

 ここに文章を入力。 プロトコルによってポート番号は変わります。
SSL/TLSの代表といえばhttps(HTTP over SSL/TLS)です。ここで利用する場合、SSLでもTLSでもどちらもポート番号は443です。
情報処理技術者試験(ネットワークスペシャリスト)の過去問でも問われたPOP3S(POP3 over SSL) のポート番号は、995です。

(5)SSL/TLSのバージョン

SSLとTLSについては、IPAの以下の資料が詳しいので、時間があるときにご確認ください。
https://www.ipa.go.jp/files/000045645.pdf

表2にSSL/TLSのバージョン概要が整理されています。
SSL2.0(1994) SSL3.0(1995)
TLS1.0(1999) TLS1.1(2006) TLS1.2(2008)

過去問(H29NW午後Ⅰ問1)を見てみましょう。

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






 TLS1.0やTLS1.1では、MD5やSHA1が使われていたため、セキュリティ面で問題がありました。それが、TLS1.2ではMD5やSHA1が使われなくなり、代わりにSHA-256などが使われています。
 空欄ア:SHA-1
 空欄イ:1.2 ※TLSの最新バージョンはTLS 1.2です。参考までに、SSLの最新バージョンはSSL 3.0です。

■参考記事
https://www.itmedia.co.jp/enterprise/articles/1810/16/news077.html
米AppleとGoogle、Microsoft、Mozilla Foundationは10月5日、それぞれのWebブラウザで、TLS 1.0およびTLS 1.1を2020年に無効化する計画を発表した。

■余談
Client Helloには、server_nameというフィールドにServer Name Indicatio extension(通称SNI)が設定されています。是非、パケットを見てください。
①TLS1.2
 平文でサーバのFQDNがセットされています。
 たとえば、
  Server Name:www.ipa.go.jp 
 ※SSL通信でもドメインレベルのURLフィルタリングができるのは、この情報や、サーバ証明書のCN、プロキシのCONNECTメソッドでFQDNを取得できるから

②TLS1.3
 BASE64エンコードされます。さらに、DNS over TLS(もしかすると、 DNS over HTTPS)と組み合わさると、完全暗号化されます。そうなると、GW機器が行っているSSL復号というのは、仕組みを変えないと難しくなるでしょう。まあ、TLS1.2が使えなくなって、DNS over HTTPSが普及する時代は少し先になると思いますが。

(6)常時SSL

 最近では、ほとんどのサイトがHTTPSで始まる、つまり常時SSL(TLS)になっている。これによる効果はなんだろうか。
暗号化はもちろん、認証や改ざん防止というTLSの基本機能による効果が認められる。
ただし、マルウェアも暗号化通信の中を安全に通過し、企業のセキュリティ対策製品をすり抜けてしまうデメリットもある。

 情報処理安全確保支援士試験の過去問(R1秋SC午前2)をみてみよう。

問21  問14 Webサイトにおいて,全てのWeb ページをTLSで保護するよう設定する常時SSL/TLSのセキュリティ上の効果はどれか。
ア WebサイトでのSQL組立て時にエスケープ処理が施され, SQLインジェクション攻撃による個人情報などの非公開情報の漏えいやデータベースに蓄積された商品価格などの情報の改ざんを防止する。
イ Webサイトへのアクセスが人間によるものかどうかを確かめ, Webブラウザ以外の自動化されたWebクライアントによる大量のリクエストへの応答を避ける。
ウ Webサイトへのブルートフォース攻撃によるログイン試行を検出してアカウントロツクし, Webサイトへの不正ログインを防止する。
エ WebブラウザとWebサイトとの間における中間者攻撃による通信データの漏えい及び改ざんを防止し,サーバ証明書によって偽りのWebサイトの見分けを容易にする。






解答例:エ

(7)過去問にチャレンジ

以下の問題にチャレンジしてみよう。

問21  SSLの機能を説明したものはどれか。
ア TCPとアプリケーションとの間において、クライアントとサーバ間の認証をHandshakeプロトコルで行う。
イ 電子メールに対して、PKIを適用するためのデータフォーマットを提供する。
ウ ネットワーク層のプロトコルであり、IPパケットの暗号化及び認証を行う。
エ ログインやファイル転送の暗号化通信を行う目的で、チャレンジレスポンスの仕組みを用いてrコマンド群の認証を行う。  (平成17年度SU午前)






ウはIPsecである。正解は、ア。

もう一問。

問67 セキュリティプロトコルSSLの特徴はどれか。
ア SSLはWebサーバだけで使用されるセキュリティ対策用のプロトコルで,ネットワーク層に位置するものである。
イ SSLを利用するWebサーバでは,そのFQDNをディジタル証明書に組み込む。
ウ 個人認証用のディジタル証明書は,PCごとに固有のものを作成する必要がある。
エ 日本国内では,政府機関に限り128ビットの共通鍵長のディジタル証明書を取得申請できる。
(H18秋FE午前問67より)






アだが、SSLはネットワーク層より上の上位層(アプリケーション層とトランスポート層との間(H22年春SC午前Ⅱ問16より)で動作します。
正解は、イ。FQDNとは、www.example.comなどのように、ドメイン名だけでなく、ホスト名も含まれたもの。証明書はホスト(サーバ)単位で発行される。
FQDNに関しては、以下を参照いただきたい。
FQDNとホスト名とドメイン名とURL

(8)SSL通信の流れ、通信シーケンス

❶過去問を見てみよう

 日頃から何気なく使っているhttps通信。ネットサーフィンをしていると、httpなのかhttpsなのかどうかも意識しないことが多い。
実際には、以下のようにとても複雑な処理が行われている。
ただ、これらの処理は自動で行われているので、私たちが意識することはない。
大雑把に言うと、
①サーバ証明書で、サーバの正当性を確認する
②証明書の公開鍵を使ってサーバとクライアントの共通鍵を作り、その鍵で暗号化通信をする。

H19春 初級システムアドミニストレータ試験 午後 問4
〔SSL通信の流れ〕
(1)SSL通信の初期設定
処理の流れ(1)を契機に,SSLによる通信が始まる。最初に,利用者のブラウザとWebサーバの間で暗号化やメッセージダイジェストの方式を決める。
SSLによる暗号化では,公開鍵暗号方式と共通鍵暗号方式を組み合わせた方式が用いられる。
① 利用者のブラウザは,“https://"で始まるURLが指し示すページにアクセスし, WebサーバにSSL通信の開始を知らせる。
② SSL通信の開始を知らされたWebサーバは,利用者のブラウザに,今回使用する暗号方式と[ a ]証明書を送信する。
③利用者のブラウザは,あらかじめ登録されている[ b ]証明書を用いて,送信された[ a ]証明書が有効であることを確認する。
④ 利用者のブラウザは, [ a ]を用いて乱数情報を暗号化してWebサーバに送信するとともに,その乱数情報を用いて[ c ]を生成する。
⑤Webサーバは,④で送信され,暗号化された乱数情報を[ d ]を用いて復号し, [ c ]を生成する。
(2)利用者メッセージの送受信
SSL通信の初期設定が完了すると,利用者のブラウザとWebサーバの間では, [ c ]を用いて通信内容の暗号化が行われる。さらに,メッセージダイジエストを用いて,受信した通信内容が途中で改ざんされていないことを確認する。
(3)SSL通信の終了
処理の流れ(7)を契機に,利用者のブラウザが“http://"で始まるURLが指し示すページにアクセスを開始すると,WebサーバはSSL通信を終了する。






これはなかなか難しい問題である。
でも、答えは基本的なキーワードだ。

正解は以下。
a  Webサーバの公開鍵
b ルート認証局の公開鍵
c  Webサーバと利用者の共通鍵
d  Webサーバの秘密鍵

図にすると、こんな感じ
SSL通信のシーケンス_情報セキュリティスペシャリスト試験
❷違う過去問を見てみよう

 SSLの通信シーケンスはSSLハンドシェイクプロトコルとSSLレコードプロトコルに分けられる。SSLハンドシェイクプロトコルでは,サーバの正当性確認と通信を行うための鍵交換を行う。【下の手順(1)】
一方,SSLレコードプロトコルでは,実際に暗号化した通信を行う。【下の手順(2)(3)】
このシーケンスに関して,以下の過去問(H18NW午後Ⅰ問3)に詳しく解説されている。

図2に、SSL通信のシーケンスを示す。


          図2 SSL通信のシーケンス(概略)
 図2中の(ii)で,SSL-VPN装置は,自ら認証してもらうために,サーバ証明書を送信する。[ ウ ]は,サーバ証明書を発行したCA局の証明書を保持しているので,この③証明書に含まれる鍵を使って,サーバ証明書の正当性を検証する。(iii)はオプション処理で,クライアント証明書による認証が要求されていたときに実施される。(iv)によって,モバイルPCとSSL-VPN装置の双方で,共通鍵が生成される。

設問1 本文中の[ ウ ]に入れる適切な字句を答えよ。
設問3 SSLの動作について、(1),(2)に答えよ。
  (1)本文中の③「証明書に含まれる鍵」の種類を答えよ。
  (2)共通鍵が利用される場所を、図2の(ⅰ)~(ⅴ)で答えよ。また、共通鍵を利用することによる利点を、15字以内で述べよ。
(H18NW午後1問3)

若干修正はしているが、ほぼ原文の問題。
SSL-VPNを学習する良い問題ですので、時間があるときに全ての問題を解いてほしい。
ちなみに、[ ウ ]には、図中の言葉が入る。





【解答例】
設問1 モバイルPC
設問3 (1) 公開鍵
     (2) ⅴ
    ・暗号と復号が高速にできる。
    ・演算処理が高速にできる。

別の過去問(H25年NW午後Ⅰ問1)には、以下の穴埋め出題がある。

SSLには,  PCとSSL-VPN装置間において,  SSLセッションを確立させるためのハンドシェイクプロトコルが規定されている。ハンドシェイクプロトコルでは,[  ア ]メッセージによって暗号化アルゴリズムを決定し,公開鍵による電子証明書の確認後,共通鍵での暗号化と,メッセージ認証コードのチェックを行い,  SSLセッションを確立する。






SSLハンドシェイクのうち,暗号化アルゴリズムを決定するためのメッセージが問われています。正解は「HELLO」。
SSLのハンドシェイク時には,クライアントからサーバにClientHelloメッセージを送ります。この中には,クライアントが利用可能な暗号化アルゴリズムの一覧を含みます。ClientHelloを受け取ったサーバは,自身が利用可能な暗号化アルゴリズムのリストと照合し,どの暗号化アルゴリズムを利用するかを決定します。決定した暗号化アルゴリズムは,ServerHelloメッセージによって,サーバからクライアントに通知します。

以下に詳しい説明があります。
https://www.digicert.co.jp/welcome/pdf/wp_ssl_negotiation.pdf

また、日経ITproの以下が分かりやすい(さすが日経BP)
http://itpro.nikkeibp.co.jp/article/COLUMN/20071012/284445/zu1.jpg

別の過去問(H29秋NW午後Ⅰ問1)には、以下の穴埋め出題がある。

・ SSL/TLSのコネクション開設時に,クライアント側から送られる[ ウ ]メッセージと,サーバ側から返される[ エ ]メッセージの交換が行われる。

これは、先の過去問(H18NW午後Ⅰ問3)図2の(i)暗号化仕様交渉のフェーズでの処理です。





【解答例】
ウ Client Hello エ Server Hello

 

https://seeeko.comのサイトに通信をして、それをWiresharkでキャプチャしました。ip.addr == 18.176.58.11として、IPアドレスでフィルタをしています。
3wayハンドシェークや、ClientHello、SeverHelloなどが見えます。

私の場合は証明書が見えませんでしたが、Certificateというパケットも見えることでしょう。

(9)SSL/TLSの脆弱性

❶ダウングレード攻撃

 SSLの古いバージョンには重大な脆弱性があります。
SSL/TLSにおいて「暗号化通信を確立するとき、弱い暗号スイートの使用を強制することによって、解読しやすい暗号化通信を行わせる」というダウングレード攻撃があります。
これに加え、SSL2.0を強制的に使わせるバージョンロールバック攻撃は、SSL2.0の致命的な脆弱性であると、IPAの資料に記載があります。
https://www.ipa.go.jp/files/000045645.pdf

❷POODLE攻撃

IPAの資料に詳しい解説が記載されています。
https://www.ipa.go.jp/security/announce/20141017-ssl.html

POODLE(Padding Oracle On Downgraded Legacy Encryption)攻撃とは、そのフルスペルにあるPadding(詰め物と考えてください)に関する脆弱性を突きます。SSL3.0を利用した通信(その多くはhttps)をすると、通信を盗聴されるなどの危険があります。

対策は、SSL3.0を無効化し、TLSによる通信を行うことです。

情報処理安全確保支援士試験の過去問を見ましょう。

問3 POODLE (CVE-2014-3566)攻撃の説明はどれか。
ア SSL 3.0のサーバプログラムの脆弱性を突く攻撃であり,サーバのメモリに不正アクセスして秘密鍵を窃取できる。
イ SSL 3.0を使用した通信において,ブロック暗号のCBCモード利用時の脆弱性を突く攻撃であり,パティングを悪用して暗号化通信の内容を解読できる。
ウ TLS 1.2のプロトコル仕様の脆弱性を突く攻撃であり,  TLSの旧バージョンにダウングレードして暗号化通イ言の内容を解読できる。
エ TLS 1.2を使用した通信において,  Diffie-Hellman鍵交換アルゴリズムの脆弱性を突く攻撃であり,交換されたセッション鍵を窃取して暗号化通信の内容を解読できる。






正解はイです。