情報処理安全確保支援士(情報セキュリティスペシャリスト)試験に合格するためのサイトです。
過去問を多数引用しながら、基礎知識をしっかり学んでもらうように作ってあります。
また、情報処理安全確保支援士(情報セキュリティスペシャリスト)を楽しく学べるように工夫したいと思います。
カテゴリ:

7.通信の暗号化 > 7.3 SSL

1.SSL/TLSとは
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の目的
SSLを利用する目的を3つ答えよ
女性SE(システムエンジニア)の成子 


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

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

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

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

アだが、SSLはトランスポート層。
正解は、イ。FQDNとは、www.example.comなどのように、ドメイン名だけでなく、ホスト名も含まれたもの。証明書はホスト(サーバ)単位で発行される。
FQDNに関しては、以下を参照いただきたい。
http://nw.seeeko.com/archives/50878562.html

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

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

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

日頃から何気なく使っている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メッセージによって,サーバからクライアントに通知します。

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

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鍵交換アルゴリズムの脆弱性を突く攻撃であり,交換されたセッション鍵を窃取して暗号化通信の内容を解読できる。

正解はイです。


このページのトップヘ