第4章 HTTPS 暗号化スイートの設定

概要

本章では、HTTPS 接続の確立を目的としてクライアントとサーバーで利用できる暗号化スイートの一覧を指定する方法を説明します。セキュリティーハンドシェイク時に、クライアントはサーバーで利用可能な暗号スイートのいずれかに一致する暗号スイートを選択します。

4.1. サポート対象の暗号スイート

概要

暗号化スイート は、SSL/TLS 接続の実装方法を正確に決定するセキュリティーアルゴリズムのコレクションです。

たとえば、SSL/TLS プロトコルでは、メッセージダイジェストアルゴリズムを使用してメッセージが署名されることが規定されています。ただし、ダイジェストアルゴリズムの選択は、接続に使用されている特定の暗号スイートによって決定されます。通常、アプリケーションは MD5 または SHA ダイジェストアルゴリズムのいずれかを選択できます。

Apache CXF の SSL/TLS セキュリティーに使用できる暗号スイートは、エンドポイントに指定された特定の JSSE プロバイダー によって異なります。

JCE/JSSE およびセキュリティープロバイダー

Java Cryptography Extension (JCE) および Java Secure Socket Extension (JSSE) はプラグ可能なフレームワークを設定します。これにより、Java セキュリティー実装を、セキュリティープロバイダーと呼ばれる任意のサードパーティーツールキットに置き換えることができます。

SunJSSE プロバイダー

実際には、Apache CXF のセキュリティー機能は、SunJSSE という名前の SUN の JSSE プロバイダーでのみテストされています。

そのため、SSL/TLS 実装および Apache CXF で利用可能な暗号スイートの一覧は、SUN の JSSE プロバイダーから入手できる内容によって効果的に決定されます。

SunJSSE でサポートされる暗号スイート

次の暗号スイートは、J2SE 1.5.0 Java 開発キットの SUN の JSSE プロバイダーによってサポートされています (SUN の JSSE リファレンスガイド付録 A も参照してください)。

  • 標準の暗号:

    SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
    SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
    SSL_DHE_DSS_WITH_DES_CBC_SHA
    SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
    SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
    SSL_DHE_RSA_WITH_DES_CBC_SHA
    SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
    SSL_RSA_EXPORT_WITH_RC4_40_MD5
    SSL_RSA_WITH_3DES_EDE_CBC_SHA
    SSL_RSA_WITH_DES_CBC_SHA
    SSL_RSA_WITH_RC4_128_MD5
    SSL_RSA_WITH_RC4_128_SHA
    TLS_DHE_DSS_WITH_AES_128_CBC_SHA
    TLS_DHE_DSS_WITH_AES_256_CBC_SHA
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA
    TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
    TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
    TLS_KRB5_EXPORT_WITH_RC4_40_MD5
    TLS_KRB5_EXPORT_WITH_RC4_40_SHA
    TLS_KRB5_WITH_3DES_EDE_CBC_MD5
    TLS_KRB5_WITH_3DES_EDE_CBC_SHA
    TLS_KRB5_WITH_DES_CBC_MD5
    TLS_KRB5_WITH_DES_CBC_SHA
    TLS_KRB5_WITH_RC4_128_MD5
    TLS_KRB5_WITH_RC4_128_SHA
    TLS_RSA_WITH_AES_128_CBC_SHA
    TLS_RSA_WITH_AES_256_CBC_SHA
  • null 暗号化、整合性のみの暗号:

    SSL_RSA_WITH_NULL_MD5
    SSL_RSA_WITH_NULL_SHA
  • Anonymous Diffie-Hellman 暗号 (認証なし):

    SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
    SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
    SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
    SSL_DH_anon_WITH_DES_CBC_SHA
    SSL_DH_anon_WITH_RC4_128_MD5
    TLS_DH_anon_WITH_AES_128_CBC_SHA
    TLS_DH_anon_WITH_AES_256_CBC_SHA

JSSE リファレンスガイド

SUN の JSSE フレームワークの詳細は、以下の場所にある JSSE Reference Guide を参照してください。

http://download.oracle.com/javase/1.5.0/docs/guide/security/jsse/JSSERefGuide.html