説明/参照:
Secure Socket Layer (SSL) プロトコルは、主にクライアントとサーバー間で送信される情報の機密性を保つために使用されます。
試験のために以下の情報を知っておく必要があります:
Secure Sockets Layer (SSL) は、インターネットなどのパブリック ネットワーク経由で送信されるメッセージのセキュリティを管理するためによく使用されるプロトコルです。
最近、SSL は SSL をベースにしたトランスポート層セキュリティ (TLS) に置き換えられました。SSL は、インターネットのハイパーテキスト転送プロトコル (HTTP) 層とトランスポート制御プロトコル (TCP) 層の間に位置するプログラム層を使用します。
SSL は、Microsoft および Netscape ブラウザとほとんどの Web サーバー製品に含まれています。
Netscapeによって開発されたSSLは、Microsoftや他のインターネットクライアント/サーバー開発者からも支持され、トランスポート層セキュリティに進化するまで事実上の標準となりました。
用語の「ソケット」部分は、ネットワーク内のクライアントとサーバー プログラム間、または同じコンピュータ内のプログラム レイヤー間でデータをやり取りするソケット メソッドを指します。SSL は、RSA の公開キーと秘密キーの暗号化システムを使用します。このシステムには、デジタル証明書の使用も含まれます。その後、SSL は、データの大部分に対して、対称暗号とともにセッション キーを使用します。
TLS と SSL は、ほとんどの Web ブラウザ (クライアント) と Web サーバーに不可欠な要素です。Web サイトが SSL をサポートするサーバー上にある場合は、SSL を有効にして、特定の Web ページが SSL アクセスを必要とすることを識別できます。Netscape の SSLRef プログラム ライブラリを使用すると、どの Web サーバーでも SSL を有効にできます。このライブラリは、非商用目的でダウンロードすることも、商用目的でライセンスを取得することもできます。
TLS と SSL は相互運用可能ではありません。ただし、TLS で送信されたメッセージは、SSL は処理できるが TLS は処理できないクライアントで処理できます。
SSLハンドシェイク
HTTP ベースの SSL 接続は、常に http:// ではなく https:// で始まる URL を使用してクライアントによって開始されます。SSL セッションの開始時に、SSL ハンドシェイクが実行されます。このハンドシェイクにより、セッションの暗号化パラメータが生成されます。SSL ハンドシェイクの処理方法の簡略化された概要を次の図に示します。
SSLハンドシェイク

画像参照 - http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1363-00/en_US/HTML/ handshak.gif
クライアントは、SSL のバージョン、クライアントがサポートする暗号スイート、クライアントがサポートするデータ圧縮方法など、クライアントの暗号化機能 (クライアントの優先順でソート) をリストするクライアント「hello」メッセージを送信します。メッセージには、28 バイトの乱数も含まれます。
サーバーは、暗号化方式 (暗号スイート) とサーバーによって選択されたデータ圧縮方式、セッション ID、および別の乱数を含むサーバー「hello」メッセージで応答します。
注記:
クライアントとサーバーは少なくとも 1 つの共通暗号スイートをサポートしている必要があります。そうでない場合、ハンドシェイクは失敗します。サーバーは通常、最も強力な共通暗号スイートを選択します。
サーバーはデジタル証明書を送信します。(この例では、サーバーは SSL で X.509 V3 デジタル証明書を使用します。)
サーバーが SSL V3 を使用し、サーバー アプリケーション (Web サーバーなど) がクライアント認証にデジタル証明書を必要とする場合、サーバーは「デジタル証明書要求」メッセージを送信します。「デジタル証明書要求」メッセージでは、サーバーはサポートされているデジタル証明書の種類と、受け入れ可能な証明機関の識別名のリストを送信します。
サーバーはサーバーの「hello done」メッセージを送信し、クライアントの応答を待ちます。サーバーの「hello done」メッセージを受信すると、クライアント (Web ブラウザ) はサーバーのデジタル証明書の有効性を検証し、サーバーの「hello」パラメータが許容可能であることを確認します。
サーバーがクライアントのデジタル証明書を要求した場合、クライアントはデジタル証明書を送信します。適切なデジタル証明書が利用できない場合、クライアントは「デジタル証明書がありません」というアラートを送信します。このアラートは単なる警告ですが、クライアント認証が必須の場合、サーバー アプリケーションはセッションを失敗させる可能性があります。
クライアントは「クライアント キー交換」メッセージを送信します。このメッセージには、サーバーの公開キーで暗号化された、対称暗号化キーとメッセージ認証コード (MAC) キーの生成に使用される 46 バイトの乱数であるプレマスター シークレットが含まれています。
クライアントがサーバーにデジタル証明書を送信した場合、クライアントはクライアントの秘密キーで署名された「デジタル証明書検証」メッセージを送信します。このメッセージの署名を検証することにより、サーバーはクライアントのデジタル証明書の所有権を明示的に検証できます。
注記:
サーバーのデジタル証明書を検証するための追加のプロセスは必要ありません。サーバーにデジタル証明書に属する秘密キーがない場合、サーバーはプレマスターシークレットを復号化できず、対称暗号化アルゴリズムの正しいキーを作成できず、ハンドシェイクは失敗します。
クライアントは一連の暗号化操作を使用して、プレマスター シークレットをマスター シークレットに変換します。マスター シークレットから、暗号化とメッセージ認証に必要なすべてのキー マテリアルが導出されます。次に、クライアントは「暗号仕様の変更」メッセージを送信して、サーバーを新しくネゴシエートされた暗号スイートに切り替えます。
クライアントから送信される次のメッセージ (「完了」メッセージ) は、この暗号方式とキーを使用して暗号化された最初のメッセージです。
サーバーは、「暗号仕様の変更」と独自の「完了」メッセージで応答します。
SSL ハンドシェイクが終了し、暗号化されたアプリケーション データを送信できるようになります。
次の回答は間違っています。
FTP - ファイル転送プロトコル (FTP) は、インターネット上のコンピュータ間でファイルを転送するための標準インターネット プロトコルです。表示可能な Web ページと関連ファイルを転送するハイパーテキスト転送プロトコル (HTTP) や電子メールを転送する簡易メール転送プロトコル (SMTP) と同様に、FTP はインターネットの TCP/IP プロトコルを使用するアプリケーション プロトコルです。FTP は、Web ページ ファイルの作成者から、インターネット上のすべてのユーザーのためのサーバーとして機能するコンピュータにファイルを転送するためによく使用されます。また、他のサーバーからプログラムやその他のファイルをコンピュータにダウンロードするためにもよく使用されます。
SSH - Secure Shell (SSH) は、ネットワークに接続された 2 台のコンピュータ間で、安全なデータ通信、リモート コマンドライン ログイン、リモート コマンド実行、およびその他の安全なネットワーク サービスを実現するための暗号化ネットワーク プロトコルです。SSH は、安全でないネットワーク上の安全なチャネルを介して、SSH サーバー プログラムと SSH クライアント プログラムを実行しているサーバーとクライアントを接続します。
S/MIME - S/MIME (Secure Multi-Purpose Internet Mail Extensions) は、Rivets-Shamir-Adelman 暗号化システムを使用する安全な電子メール送信方法です。S/MIME は、Microsoft および Netscape の Web ブラウザの最新バージョンに含まれており、メッセージング製品を製造する他のベンダーからも支持されています。RSA は、S/MIME をインターネット技術タスク フォース (IETF) の標準として提案しています。
この質問を作成するために、次の参考資料が使用されました:
CISA レビューマニュアル 2014 ページ番号 352
CISSP CBK 公式 ISC2 ガイド 第 3 版 ページ番号 256
http://publib.boulder.ibm.com/tividd/td/ITAME/SC32-1363-00/en_US/HTML/ss7aumst18.htm