プライマリ・コンテンツに移動
Oracle® Traffic Director管理者ガイド
11g リリース1 (11.1.1.9)
B66436-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

11.2 Oracle Traffic Directorとクライアント間のSSL/TLSの構成

この項では、SSL/TLSを使用して、クライアントとOracle Traffic Directorインスタンス間の通信を保護する方法について説明します。この項の情報は、SSL/TLS、証明書、暗号および鍵の概念を熟知している読者を対象としています。これらの概念の基本的な情報については、11.2.7項「SSL/TLSの概念」を参照してください。

この項には次の項目が含まれています。

11.2.1 SSL/TLS構成プロセスの概要

Oracle Traffic DirectorインスタンスのSSL/TLSを有効化するには、RSAまたはECC証明書、あるいはその両方をインスタンスの1つ以上のリスナーに関連付ける必要があります。加えて、RSAまたはECC証明書、あるいはその両方を、仮想サーバーに直接関連付けることもできます。Oracle Traffic DirectorインスタンスのSSL/TLSを構成するプロセスには、次の手順が含まれます。

  1. 自己署名証明書、VeriSign社などのサードパーティ認証局(CA)が発行した証明書または自分で生成した証明書を取得します。

    詳細は、次の項を参照してください。

  2. 11.4.3項「証明書のインストール」の説明に従い、証明書をインストールします。

  3. 11.2.2項「リスナーのSSL/TLSの構成」の説明に従い、証明書を必要なHTTPリスナーまたはTCPリスナーに関連付けます。

    11.2.3項「証明書と仮想サーバーの関連付け」の説明に従い、証明書を仮想サーバーに直接関連付けることもできます。Oracle Traffic Directorで、SSL/TLSハンドシェイク中にクライアントに送信される証明書の選択に使用されるロジックの詳細は、11.2.5項「証明書の選択ロジック」を参照してください。

  4. 11.2.4項「リスナーのSSL/TLS暗号の構成」の説明に従い、HTTPリスナーまたはTCPリスナーにサポートされている暗号を構成します。

11.2.2 リスナーのSSL/TLSの構成

管理コンソールまたはCLIのいずれかを使用して、HTTPSリクエストまたはTCPリクエストを取得するリスナーを構成できます。開始する前に、必要な証明書を取得して、11.4.1項11.4.2項および11.4.3項の説明に従いインストールします。


注意:

  • リスナーを変更すると、実質的には構成が変更されます。更新された構成をOracle Traffic Directorインスタンスに反映するには、4.3項「構成のデプロイ」の説明に従い、構成を再デプロイする必要があります。

  • 新しい証明書をリスナーに関連付ける、または以前に関連付けられていた証明書を削除する場合、変更を有効にするには、インスタンスを再起動する必要があります。更新された構成をデプロイするだけでは不十分です。

  • この項のCLIの例はシェル・モード(tadm>)で示されています。CLIシェルの起動の詳細は、2.3.1項「コマンドライン・インタフェースへのアクセス」を参照してください。


管理コンソールを使用したリスナーのSSL/TLSの構成

管理コンソールを使用してHTTPリスナーまたはTCPリスナーのSSL/TLSを構成するには、次の操作を行います。

  1. 2.3.2項「管理コンソールへのアクセス」の説明に従って、管理コンソールにログインします。

  2. ページの左上隅にある「構成」ボタンをクリックします。

    使用可能な構成のリストが表示されます。

  3. SSL/TLSが有効化されたリスナーを構成する構成を選択します。

  4. ナビゲーション・ペインで、「リスナー」を展開し、SSL/TLSを有効化し構成するリスナーを選択します。

    「リスナー設定」ページが表示されます。

  5. 「SSL設定」セクションで、「SSL有効」チェック・ボックスを選択します。

  6. 「RSA証明書」および「ECC証明書」フィールドで、サーバーの認証に使用する証明書を選択します。

    リスナーをRSA証明書およびECC証明書に関連付ける場合、サーバーがクライアントに最終的に提示する証明書は、クライアントとサーバーがネゴシエートして使用する暗号スイートに基づき、SSL/TLSハンドシェイク中に決定されます。

    また、「リスナー設定」ページの「詳細設定」セクションで次の詳細なSSL/TLS設定も指定できます。

    • クライアント認証の設定の有効化および無効化詳細は、11.8項「クライアント認証の構成」を参照してください。

    • 厳密なSNIホスト一致の有効化および無効化。詳細は、11.2.6項「厳密なSNIホスト一致について」を参照してください。

    • 次のTLS固有の機能の有効化および無効化

      • バージョンのロールバック

        Oracle Traffic DirectorでTLSバージョンのロールバックを検出し、試行をブロックするには、このチェック・ボックスを選択します。たとえば、クライアントがTLS 1.0をリクエストしたものの、攻撃者がより低いバージョン(たとえば、SSL 3.0)に変更した場合、Oracle Traffic Directorは、低いバージョンをサポートしていたとしても、このロールバックを検出しブロックします。

      • セッション・チケット拡張

        有効化した場合、TLSセッションは、サーバー上に各クライアントのセッション状態を格納することなく再開できます。Oracle Traffic Directorは、各クライアントのセッション状態をチケットにカプセル化し、クライアントにチケットを転送します。続いて、クライアントは、前に取得済のセッション・チケットを使用してTLSセッションを再開します。

    • SSLおよびTLS暗号の有効化および無効化。詳細は、11.2.4項「リスナーのSSL/TLS暗号の構成」を参照してください。

    画面上のヘルプおよびプロンプトがすべてのパラメータに提供されています。

    フィールドの値を変更する、または変更したテキスト・フィールドからタブアウトすると、ページの右上隅にある「保存」ボタンが有効になります。

    「リセット」ボタンをクリックすることで、いつでも変更を破棄できます。

  7. 必要な変更を行った後、「保存」をクリックします。

    更新されたリスナーが保存されたことを確認するメッセージが、「コンソール・メッセージ」ペインに表示されます。

  8. メインのペインの上部に表示されている「デプロイメント保留中」ボタンをクリックし、表示されたダイアログ・ボックスで「デプロイ」をクリックしてデプロイメントを確認します。

  9. 「共通のタスク」ペインの「インスタンスの起動/再起動」をクリックして、構成のインスタンスを再起動します。

CLIを使用したリスナーのSSL/TLSの構成

  • HTTPリスナーまたはTCPリスナーのSSL/TLSプロパティを表示するには、次の例に示すようにget-ssl-propコマンドを実行します。

    tadm> get-ssl-prop --config=soa --http-listener=ls1
    enabled=false
    strict-sni-vs-host-match=false
    client-auth=false
    tls=true
    max-client-auth-data=1048576
    tls-session-tickets-enabled=false
    ssl3=true
    tls-rollback-detection=true
    client-auth-timeout=60
    
  • HTTPリスナーまたはTCPリスナーのSSL/TLSを構成するには、次の例に示すようにset-ssl-propコマンドを実行します。

    tadm> set-ssl-prop --config=soa --http-listener=ls1 enabled=true server-cert-nickname=rsa-cert1
    OTD-70201 Command 'set-ssl-prop' ran successfully.
    

    更新された構成を有効にするには、deploy-configコマンドを実行して、構成をOracle Traffic Directorインスタンスにデプロイし、restart-instanceコマンドを実行してインスタンスを再起動します

この項で説明されたCLIコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、--helpオプションを付けてコマンドを実行してください。


注意:

HTTPリスナーまたはTCPリスナーのSSL/TLSを有効化すると、構成内の証明書データベースのPKCS#11暗号トークンの初期化が自動的に有効化されます。PKCS#11トークンの構成の詳細は、11.5項「PKCS#11トークンの管理」を参照してください。

11.2.3 仮想サーバーと証明書の関連付け

管理コンソールまたはCLIのいずれかを使用して、1つのRSAおよび1つのECCを各仮想サーバーに関連付けることができます。Oracle Traffic Directorで、SSL/TLSハンドシェイク中にクライアントに送信される証明書の選択に使用されるロジックの詳細は、11.2.5項「証明書の選択ロジック」を参照してください。

開始する前に、必要な証明書を取得して、11.4.1項11.4.2項および11.4.3項の説明に従いインストールします。


注意:

  • 仮想サーバーを変更すると、実質的には構成が変更されます。更新された構成をOracle Traffic Directorインスタンスに反映するには、4.3項「構成のデプロイ」の説明に従い、構成を再デプロイする必要があります。

  • 新しい証明書を仮想サーバーに関連付ける、または以前に関連付けられていた証明書を削除する場合、変更を有効にするには、インスタンスを再起動する必要があります。更新された構成をデプロイするだけでは不十分です。

  • この項のCLIの例はシェル・モード(tadm>)で示されています。CLIシェルの起動の詳細は、2.3.1項「コマンドライン・インタフェースへのアクセス」を参照してください。


管理コンソールを使用した仮想サーバーと証明書の関連付け

管理コンソールを使用して仮想サーバーと証明書を関連付けるには、次の操作を行います。

  1. 2.3.2項「管理コンソールへのアクセス」の説明に従って、管理コンソールにログインします。

  2. ページの左上隅にある「構成」ボタンをクリックします。

    使用可能な構成のリストが表示されます。

  3. 仮想サーバーと証明書を関連付ける構成を選択します。

  4. ナビゲーション・ペインで、「仮想サーバー」を展開し、証明書を関連付ける仮想サーバーを選択します。

    「仮想サーバー設定」ページが表示されます。

  5. 「仮想サーバー設定」ページの「証明書」セクションに移動します。

  6. 「RSA証明書」および「ECC証明書」フィールドで、サーバーの認証に使用する証明書を選択します。

    フィールドの値を変更する、または変更したテキスト・フィールドからタブアウトすると、ページの右上隅にある「保存」ボタンが有効になります。

    「リセット」ボタンをクリックすることで、いつでも変更を破棄できます。

  7. 必要な変更を行った後、「保存」をクリックします。

    更新されたリスナーが保存されたことを確認するメッセージが、「コンソール・メッセージ」ペインに表示されます。

  8. メインのペインの上部に表示されている「デプロイメント保留中」ボタンをクリックし、表示されたダイアログ・ボックスで「デプロイ」をクリックしてデプロイメントを確認します。

  9. 「共通のタスク」ペインの「インスタンスの起動/再起動」をクリックして、構成のインスタンスを再起動します。

CLIを使用した仮想サーバーと証明書の関連付け

  • 仮想サーバーに現在関連付けられている証明書を表示するには、次の例に示すようにget-virtual-server-propコマンドを実行します。

    tadm> get-virtual-server-prop --config=soa --vs=soa.example.com server-cert-nickname
    cert-rsa-soa
    
  • 仮想サーバーと証明書を関連付けるには、次の例に示すようにset-virtual-server-propコマンドを実行します。

    tadm> set-virtual-server-prop --config=soa --vs=soa.example.com  server-cert-nickname=cert-ecc-soa
    OTD-70201 Command 'set-virtual-server-prop' ran successfully.
    

    更新された構成を有効にするには、deploy-configコマンドを実行して、構成をOracle Traffic Directorインスタンスにデプロイし、restart-instanceコマンドを実行してインスタンスを再起動します

この項で説明されたCLIコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、--helpオプションを付けてコマンドを実行してください。


注意:

  • 仮想サーバーをRSA証明書およびECC証明書に関連付ける場合、サーバーがクライアントに最終的に送信する証明書は、クライアントとサーバーがネゴシエートして使用する暗号スイートに基づき、SSL/TLSハンドシェイク中に決定されます。

  • 仮想サーバーに関連付ける証明書と同じタイプの証明書(ECCまたはRSA)が、仮想サーバーがバインドされているリスナーにも関連付けられていることを確認してください。


11.2.4 リスナーのSSL/TLS暗号の構成

SSL/TLSハンドシェイクの実行中、クライアントとサーバーは、サポートしているSSLおよびTLSについて情報を交換し、SSL/TLSセッションに使用する暗号(通常、最も強力な暗号)をネゴシエートします。暗号についての基本的な概念の詳細は、「暗号について」を参照してください。

管理コンソールまたはCLIのいずれかを使用して、Oracle Traffic Directorがサポートしているリスナーの暗号を構成できます。

管理コンソールを使用したリスナーの暗号の構成

管理コンソールを使用してHTTPリスナーまたはTCPリスナーでサポートされる暗号を構成するには、次の操作を行います。

  1. 2.3.2項「管理コンソールへのアクセス」の説明に従って、管理コンソールにログインします。

  2. ページの左上隅にある「構成」ボタンをクリックします。

    使用可能な構成のリストが表示されます。

  3. 暗号を構成する構成を選択します。

  4. ナビゲーション・ペインで、「リスナー」を展開し、暗号を構成するリスナーを選択します。

    「リスナー設定」ページが表示されます。

  5. ページの「詳細設定」セクションに移動し、「SSL」サブセクションにスクロール・ダウンします。

  6. 「SSL3/TLS暗号」フィールドで、リスナーで有効化する暗号のチェック・ボックスを選択し、無効化する暗号のチェック・ボックスの選択を解除します。

  7. 必要な変更を行った後、「保存」をクリックします。

    更新されたリスナーが保存されたことを確認するメッセージが、「コンソール・メッセージ」ペインに表示されます。

  8. メインのペインの上部に表示されている「デプロイメント保留中」ボタンをクリックし、表示されたダイアログ・ボックスで「デプロイ」をクリックしてデプロイメントを確認します。

  9. 暗号の変更を有効化するには、「共通のタスク」ペインの「インスタンスの起動/再起動」をクリックして、構成のインスタンスを再起動します。

CLIを使用したリスナーの暗号の構成

  • HTTPリスナーまたはTCPリスナーで現在有効化されている暗号を表示するには、次の例に示すようにlist-ciphersコマンドを実行します。

    tadm> list-ciphers --config=soa --http-listener=http-listener-1|--tcp-listener=tcp-listener-1
    

    このコマンドでは、Oracle Traffic Directorがサポートしているすべての暗号のリストが返され、その暗号がリスナーに対して有効化されているかどうかが示されます。

  • リスナーの特定の暗号を有効化するには、enable-ciphersコマンドを実行します。

    たとえば、次のコマンドでは、構成soa内のリスナーhttp-listener-1について、2つの追加の暗号(TLS_RSA_WITH_AES_128_CBC_SHATLS_RSA_WITH_AES_256_CBC_SHA)が有効化されます。

    tadm> enable-ciphers --config=soa --http-listener=http-listener-1 TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA
    
  • リスナーの暗号を無効化するには、次の例に示すようにdisable-ciphersコマンドを実行します。

    tadm> disable-ciphers --config=soa --http-listener=http-listener-1  TLS_RSA_WITH_AES_256_CBC_SHA
    OTD-70201 Command 'disable-ciphers' ran successfully.
    

更新された構成を有効にするには、deploy-configコマンドを使用して、構成をOracle Traffic Directorインスタンスにデプロイする必要があります。

この項で説明されたCLIコマンドの詳細は、『Oracle Traffic Directorコマンドライン・リファレンス』を参照するか、--helpオプションを付けてコマンドを実行してください。

Oracle Traffic Directorでサポートされている暗号スイート

SSL/TLSハンドシェイク中、Oracle Traffic Directorとクライアント間でどの暗号スイートを使用するかのネゴシエーションが行われます。表11-1に、Oracle Traffic Directorでサポートされている暗号スイートを示します。このリストは、この項で説明したCLIコマンドlist-ciphersを実行すると表示されます。各暗号スイートの名前は、鍵交換アルゴリズム、ハッシュ・アルゴリズム、暗号化アルゴリズムを表しています。

  • サポートされるプロトコル

    • TLS: TLS 1.0、1.1および1.2

    • SSL: SSL 3およびTLS 1.0、1.1および1.2

  • サポートされる鍵交換アルゴリズム

    • RSA

    • RSA_EXPORT

    • RSA_EXPORT1024

    • RSA_FIPS

    • ECDHE_RSA

    • ECDH_RSA

    • ECDH_ECDSA

    • ECDHE_ECDSA

  • サポートされる暗号化アルゴリズム

    • AES_256_CBC: 256ビット鍵

    • CAMELLIA_256_CBC: 256ビット鍵

    • 3DES_EDE_CBC: 168ビット鍵

    • AES_128_CBC: 128ビット鍵

    • CAMELLIA_128_CBC: 128ビット鍵

    • RC4_128: 128ビット鍵

    • SEED_CBC: 128ビット鍵

    • DES_CBC: 56ビット鍵

    • RC4_56: 56ビット鍵

    • RC4_40およびRC2_CBC_40: 128ビット鍵。ただし、暗号化で意味を持つのは40ビットのみ

    • NULL: 暗号化なし

  • サポートされるメッセージ認証コード(MAC)アルゴリズム

    • SHA: 160ビット・ハッシュ

    • MD5: 128ビット・ハッシュ

    • NULL: ハッシングなし

表11-1 Oracle Traffic Directorでサポートされる暗号スイート

暗号スイート エクスポート可能

SSL_RSA_WITH_RC4_128_SHA


SSL_RSA_WITH_3DES_EDE_CBC_SHA


TLS_ECDH_RSA_WITH_AES_128_CBC_SHA


TLS_ECDH_RSA_WITH_RC4_128_SHA


TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA


TLS_ECDH_RSA_WITH_AES_256_CBC_SHA


TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA


TLS_ECDH_ECDSA_WITH_RC4_128_SHA


TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA


TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA


TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA


TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256


TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256


TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA


TLS_ECDHE_ECDSA_WITH_RC4_128_SHA


TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA


TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA


TLS_ECDHE_RSA_WITH_RC4_128_SHA


TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA


TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA


TLS_RSA_WITH_AES_128_CBC_SHA


TLS_RSA_WITH_AES_128_CBC_SHA256


TLS_RSA_WITH_AES_128_GCM_SHA256


TLS_RSA_WITH_AES_256_CBC_SHA


TLS_RSA_WITH_AES_256_CBC_SHA256


TLS_RSA_WITH_SEED_CBC_SHA


TLS_RSA_WITH_CAMELLIA_128_CBC_SHA


TLS_RSA_WITH_CAMELLIA_256_CBC_SHA



FIPS 40準拠に関する情報の出典: http://www.mozilla.org/projects/security/pki/nss/ssl/fips-ssl-ciphersuites.html

11.2.5 証明書選択ロジック

HTTPSリクエストの受信時、Oracle Traffic DirectorがSSL/TLSハンドシェイク中に送信する証明書は、次のいずれかになります。

  • 構成したHTTP/TCPリスナーにバインドされている仮想サーバーに関連付けられている証明書

  • リスナーのデフォルト仮想サーバーに関連付けられている証明書

  • リスナーに関連付けられている証明書

Oracle Traffic Directorは、次のロジックを使用して、SSL/TLSハンドシェイク中にクライアントに送信する証明書を決定します。

表11-2 証明書選択ロジック

条件 ケースA ケースB ケースC ケースD

クライアントがSNIホスト拡張を送信しました

はい

はい

はい

いいえ

一致する脚注1仮想サーバーが見つかりました。

はい

いいえ

いいえ

--

一致する仮想サーバーに、クライアントから送信された暗号に一致する証明書タイプ(RSAまたはECC)があります。

はい

--

--

--

リスナーのデフォルト仮想サーバーに、クライアントから送信された暗号に一致する証明書タイプ(RSAまたはECC)があります。

--

はい

--

--

リスナーに、クライアントから送信された暗号に一致する証明書タイプ(RSAまたはECC)があります。

--

--

はい

はい

選択される証明書:

一致する仮想サーバーの証明書

デフォルト仮想サーバーの証明書

リスナーの証明書

リスナーの証明書


脚注1 一致する仮想サーバーとは、リスナーにバインドされている仮想サーバーで、クライアントから送信されたHost:ヘッダーと一致するホスト・パターンを持ちます。

11.2.6 厳密なSNIホスト一致について

SSL/TLSが有効化されたOracle Traffic DirectorインスタンスにクライアントがHTTPSリクエストを送信する際、サーバーは、SSL/TLSハンドシェイクを開始するために証明書をクライアントに送信する必要があります。リクエスト内のホスト名が、サーバーから提供される証明書内のサーバー名(通常、CN)と一致しない場合、警告メッセージが、クライアントによってユーザーに表示されます。SSL/TLSハンドシェイク・プロセスを続行するには、ユーザーは、証明書を信頼することを明示的に選択する必要があります。

Oracle Traffic Directorインスタンスに、単一のIPアドレスとポートの組合せで構成された名前ベースの仮想サーバーが複数含まれている場合、クライアントに送信する適切な証明書を特定するには、サーバーは、HTTPリクエスト内のHostヘッダーの値を認識している必要がありますが、この値は、SSL/TLS接続が確立されるまで読み取ることはできません。

Server Name Indication (SNI)と呼ばれる、SSLとTLSプロトコルの拡張により、リクエストされたホスト名をSNIホスト拡張でSSL/TLSハンドシェイク中に提供することをクライアントに許可することで、この問題に対応します。Oracle Traffic Directorは、SNIホスト拡張内のホスト名を使用して、クライアントに送信する仮想サーバー証明書を特定します。仮想サーバーと証明書の関連付けの詳細は、11.2.3項「仮想サーバーと証明書の関連付け」を参照してください。

SNIのサポートは、Oracle Traffic DirectorのSSL/TLSが有効化されたHTTPリスナーに対してデフォルトで有効化されています。より厳密に制御するために、非SNIクライアントが名前ベースの仮想サーバーにアクセスできないようにする場合は、「厳密なSNIホスト一致」パラメータを有効化する必要があります。

「厳密なSNIホスト一致」がHTTPリスナーに対して有効化されていて、そのリスナーに対し、仮想サーバーの少なくとも1つに証明書がある場合、次の条件のいずれかが真であれば、Oracle Traffic Directorにより403-Forbiddenエラーがクライアントに返されます。

  • SSL/TLSハンドシェイク中、クライアントからSNIホスト拡張が送信されませんでした。

  • リクエストに、Host:ヘッダーがありません。

  • SSL/TLSハンドシェイク中にSNIホスト拡張でクライアントから送信されたホスト名が、リクエスト内のHost:ヘッダーと一致しません。

11.2.7 SSL/TLSの概念

この項では、セキュリティ関連の概念についての基本情報を説明します。この章の内容は、次のとおりです。

SSLについて

Secure Socket Layer (SSL)は、インターネットの通信およびトランザクションを保護するプロトコルです。デジタル証明書を使用することで、サーバーとクライアント間のセキュアで機密性の高い通信が可能になります。Oracle Traffic Directorは、SSL v3およびトランスポート層セキュリティ(TLS) v1をサポートしています。

双方向HTTP over SSL (HTTPS)接続では、ブラウザ、Webサーバーなどのそれぞれの装置がまず、相手のアイデンティティを確認します。このフェーズをSSL/TLSハンドシェイクと呼びます。アイデンティティが確認された後、接続が確立され、データが暗号化された形式で交換されます。SSLが有効なブラウザとSSLが有効なサーバー間におけるSSL/TLSハンドシェイクの手順を次に示します。

  1. ブラウザは、http://ではなくhttps://で始まるURLを送信し、サーバーへの接続を試みます。

  2. サーバーがそのデジタル証明書(「証明書について」を参照)および公開鍵をクライアントに送信します。

  3. クライアントは、サーバーの証明書が現行のものであるかどうか(つまり、失効していないか)、およびクライアントが信頼している認証局(CA)によって発行されたものかどうかをチェックします。

  4. 証明書が有効な場合、クライアントは、1回限りの一意のセッション鍵を生成し、サーバーの公開鍵で暗号化して、その暗号化した鍵をサーバーに送信します。

  5. サーバーは、秘密鍵を使用してクライアントからのメッセージを復号化し、セッション鍵を取得します。

この時点で、クライアントは、サーバー・アイデンティティを確認済となり、クライアントとサーバーのみが、クライアントが生成した一意のセッション鍵のコピーを持ちます。セッションが終了するまで、クライアントとサーバーはこの鍵を使用して、互いの間のすべての通信を暗号化します。

暗号について

暗号は、データの暗号化および復号化に使用されるアルゴリズムであり、数学関数です。暗号によって、強度や堅牢性は異なります。通常、暗号で使用されるビット数が多いほど、その暗号を使用して暗号化されたデータの復号化を難しくなります。

SSL v3およびTLS v1は、様々な暗号をサポートしています。サポートしているプロトコル、暗号化強度についての組織のポリシー、および暗号化されたソフトウェアに対する政府による輸出規制などの要因に応じて、クライアントおよびサーバーでサポートできる暗号スイートは異なります。

双方向の暗号プロセスでは、クライアントとサーバーは、同じ暗号スイートを使用する必要があります。SSL/TLSハンドシェイク・プロセス中、サーバーとクライアントは、通信に使用する暗号スイート(通常、最も強い暗号スイート)についてネゴシエートします。

鍵について

暗号を使用した暗号化、それ自体では、データのセキュリティは確保されません。実際に暗号化された結果を作成する、暗号化済の情報を復号化するには、暗号化する暗号とともに鍵を使用する必要があります。暗号化プロセスでは、公開鍵と秘密鍵の2つの鍵が使用されます。それぞれの鍵は数学的に関連しています。したがって、公開鍵を使用して暗号化された情報は、関連付けられた秘密鍵でのみ復号化でき、その逆も同様です。公開鍵は、証明書の一部として所有者によって公開されます(「証明書について」を参照)。関連付けられている秘密鍵のみが保護されます。

証明書について

証明書は、インターネット上の個人、会社またはその他のエンティティを一意に識別するデータの集合です。証明書を使用することで、2つのエンティティ間のセキュアで機密性の高い通信が可能になります。個人の証明書は、個人が使用するもので、サーバーの証明書は、サーバーとクライアント間でSSLを利用したセキュアなセッションを確立するために使用されます。

証明書は、(サーバーによって)自己署名されるか、認証局(CA)と呼ばれる信頼できるサードパーティによって署名されたものであるか、自分で生成したもののいずれかです。証明書の保有者は、アイデンティティの証明として証明書を提示し、暗号化された機密性の高い通信を確立できます。CAは、サードパーティ・ベンダー、または組織のサーバーに対して証明書を発行する社内の担当部門である場合があります。

証明書は、公開鍵による暗号化に基づいており、この暗号化では、(非常に長い番号)のペアが使用され、目的の受信者のみが読み取れるように情報を暗号化します。受信者は、鍵の1つを使用して情報を復号化します。

証明書によって、所有者の公開鍵と所有者のアイデンティティがバインドされます。公開鍵に加えて、証明書には、通常次の情報が含まれます。

  • 保有者の名前およびその他の識別情報(証明書を使用するサーバーのURLなど)

  • 証明書を発行したCAの名前

  • 発行したCAのデジタル署名

  • 証明書の有効期間