SSLプロキシ用暗号スイート
暗号スイートのサポート、およびSRXシリーズファイアウォール上のSSLプロキシのデジタル証明書の管理の詳細については、このトピックをお読みください。
暗号スイート
このトピックでは、次のセクションについて説明します。
サポートされている暗号スイート
SSLプロキシは仲介者として機能し、クライアントとサーバー間でSSLの暗号化と復号化を実行しますが、サーバーもクライアントもその存在を検出できません。SSLは、安全な通信を確保するために、クライアントとサーバーの認証にデジタル証明書とプライベートパブリックキー交換ペアに依存しています。
このセクションで参照するすべての用語について理解しましょう。
-
Digital Certificate or CA Certificate —デジタル証明書は、認証機関(CA)と呼ばれる信頼できる第三者を通じてお客様の身元を確認するための電子的な手段です。または、自己署名証明書を使用して本人確認を証明することもできます。各証明書には、プレーンテキストの暗号化または暗号テキストの復号化のための暗号キーが含まれています。
-
Certificate Contents—デジタル証明書は、公開キーを、デジタル証明書の発行先となる個々のエンティティのIDに関連付けます。デジタル証明書には、以下の識別属性が含まれます。
-
証明書を発行した認証局の識別と署名。
-
有効期間
-
シリアル番号
-
証明書発行者の詳細
-
サブジェクトに関する情報には、識別情報(識別名)と公開キーが含まれます。
-
-
Cipher Suite—暗号スイートは、一連の暗号アルゴリズムです。SSL暗号は、暗号化暗号、認証方法、圧縮から構成されています。ファイアウォールでは、SSLセッションは、暗号アルゴリズムを使用してクライアントとサーバー間で暗号鍵を交換する鍵交換方式を使用します。鍵交換アルゴリズムの種類と使用する暗号スイートは、双方でサポートされている必要があります。
SSLセッションは、暗号スイートのアルゴリズムを使用して次のことを行います。
-
通信する2つの当事者間で秘密鍵を安全に確立します
-
転送中のデータの機密性を保護
-
プラットフォーム固有のRSA証明書の動作は、Junos OSセキュリティデバイスでサポートされているRSAキーの詳細を提供します。キーサイズ4096ビットのサーバー証明書をサポートします。以前は、暗号化ハードウェアの制限により、キーサイズが2048ビットを超えるサーバー証明書はサポートされていませんでした。
キーサイズ4096ビットのサーバー証明書の設定
選択したデバイスで、キーサイズ4096ビットのRSA証明書を使用するには、SSLプロキシプロファイルアクションセクションの allow-strong-certificate ノブを有効にする必要があります。 プラットフォーム固有のRSA証明書の動作を参照してください。
SSLフォワードプロキシプロファイル
proxy {
profile sslfp-proxy-profile {
trusted-ca all;
root-ca ssl-inspect-ca;
actions {
allow-strong-certificate;
}
}
}
SSLリバースプロキシプロファイル
proxy {
profile server-protection-profile {
server-certificate ssl-server-protection;
actions {
allow-strong-certificate;
}
}
}
SSLプロキシ用のECDSA暗号スイートのサポート
SSLプロキシ用のECDSA暗号スイートのサポートが利用可能です。ECDSAは、デジタル署名アルゴリズム(DSA)のバージョンであり、楕円曲線暗号(ECC)に基づいています。
セキュリティデバイスでECDSA暗号を使用するには、以下を確認する必要があります。
-
デバイスにECC対応パブリックキーを含む証明書を含めます。Elliptic Prime Curve 256ビット(P-256)のElliptic Curve Cryptography(ECC)証明書のサポートは、Elliptic Prime Curve 256ビットでのみ利用できます。
-
ルートCAのECDSA証明書オプションを含めます。それぞれ1つのRSA証明書と1つのECDSA証明書を含めることができます。ECCとRSAの両方の証明書を持つことで、クライアントとサーバーデバイスの互換性に応じて、ECCベースの鍵交換またはRSAベースの鍵交換を行うことができます。
-
リバースプロキシの場合は、サーバー証明書にECDSA証明書を含めます。ECDSAまたはRSA証明書を含める数に制限はありません。
-
信頼できるCA証明書には、RSAベースの証明書とECDSAベースの証明書のいずれかがあります。証明書キャッシュ、証明書失効リスト(CRL)、証明書チェーンなど、RSAベースの証明書でサポートされているすべての機能は、ECDSA証明書でサポートされています。
楕円曲線(EC)グループは、ハンドシェイクプロセス中の鍵交換のためにSSL/TLS通信で使用されます。これらのグループは楕円曲線暗号(ECC)の一部であり、より小さな鍵サイズで安全な通信を提供するため、ストレージが削減され、伝送が高速化され、安全な通信が実現します。
SSL開始、SSL終了、SSLプロキシプロファイルでは、以下のECCカーブタイプをサポートしています。
- P-256
- P-384
- P-512
上記のECグループは、デフォルトでSSL開始、SSL終了、SSLプロキシプロファイルで構成されており、これらのECグループの優先順位はP-256、P-384、およびP-521の優先順位です。
セキュアな接続を正常に確立するには、サーバーとクライアントの両方が同じECグループをサポートしている必要があることに注意してください。
SSLプロキシクライアントおよびサーバー通信でこれらのECグループを設定することで、セキュアな接続を確立する際の互換性と柔軟性が確保されます。
SSL暗号リスト
表1に 、サポートされている暗号のリストを示します。NULL暗号は除外されます。
| SSL暗号 | キー交換アルゴリズム | データ暗号化 | メッセージ完全性 | 優先暗号カテゴリー |
|---|---|---|---|---|
| ECDHE-ECDSA-AES-256-GCM-SHA384 |
ECDHE/DSA鍵交換 |
256ビットAES/GCM |
SHA384ハッシュ |
強力 |
| ECDHE-ECDSA-AES-128-GCM-SHA256 |
ECDHE/DSA鍵交換 |
128ビットAES/GCM |
SHA256ハッシュ |
強力 |
| ECDHE-ECDSA-AES-256-CBC-SHA384 |
ECDHE/DSA鍵交換 |
256ビットAES/CBC |
SHA384ハッシュ |
強力 |
| ECDHE-ECDSA-AES-128-CBC-SHA256 |
ECDHE/DSA鍵交換 |
128ビットAES/CBC |
SHA256ハッシュ |
強力 |
| ECDHE-ECDSA-AES-256-CBC-SHA |
ECDHE/DSA鍵交換 |
256ビットAES/CBC |
SHAハッシュ |
強力 |
| ECDHE-ECDSA-AES-128-CBC-SHA |
ECDHE/DSA鍵交換 |
128ビットAES/CBC |
SHAハッシュ |
強力 |
| ECDHE-RSA-AES256-GCM-SHA384 |
ECDHE/RSA鍵交換 |
256ビットAES/GCM |
SHA384ハッシュ |
強力 |
| ECDHE-RSA-AES256-CBC-SHA384 |
ECDHE/RSA鍵交換 |
256ビットAES/CBC |
SHA384ハッシュ |
強力 |
| ECDHE-RSA-AES256-CBC-SHA |
ECDHE/RSA鍵交換 |
256ビットAES/CBC |
SHAハッシュ |
強力 |
| ECDHE-RSA-AES128-GCM-SHA256 |
ECDHE/RSA鍵交換 |
128ビットAES/GCM |
SHA256ハッシュ |
強力 |
| ECDHE-RSA-AES128-CBC-SHA256 |
ECDHE/RSA鍵交換 |
128ビットAES/CBC |
SHA256ハッシュ |
強力 |
| ECDHE-RSA-AES128-CBC-SHA |
ECDHE/RSA鍵交換 |
128ビットAES/CBC |
SHAハッシュ |
強力 |
| RSA-AES256-GCM-SHA384 |
ECDHE/RSA鍵交換 |
256ビットAES/GCM |
SHA384ハッシュ |
強力 |
| RSA-AES256-CBC-SHA256 |
ECDHE/RSA鍵交換 |
256ビットAES/CBC |
SHA256ハッシュ |
強力 |
| RSA-AES128-GCM-SHA256 |
ECDHE/RSA鍵交換 |
128ビットAES/GCM |
SHA256ハッシュ |
強力 |
| RSA-AES128-CBC-SHA256 |
ECDHE/RSA鍵交換 |
128ビットAES/CBC |
SHA256ハッシュ |
中 |
| RSA-AES128-CBC-SHA |
RSA鍵交換 |
128ビットAES/CBC |
SHAハッシュ |
脆弱 |
| RSA-AES256-CBC-SHA |
RSA鍵交換 |
256ビットAES/CBC |
SHAハッシュ |
脆弱 |
SSLプロキシはTLSバージョン1.3をサポートしており、セキュリティとパフォーマンスが向上しています。 表2は 、TLS 1.3でサポートされている暗号のリストを示しています。
| TLS暗号 | キー交換アルゴリズム | データ暗号化 | メッセージ完全性 |
|---|---|---|---|
| TLS_AES_256_GCM_SHA384 |
任意 |
256ビットAES/GCM |
SHA384ハッシュ |
| TLS_AES_128_GCM_SHA256 |
任意 |
128ビットAES/GCM |
SHA256ハッシュ |
| TLS_CHACHA20_POLY1305_SHA256 |
任意 |
256ビットCHACHA20_POLY1305 |
SHA256ハッシュ |
| TLS_AES_128_CCM_SHA256 |
任意 |
128ビットAES/CCM |
SHA256ハッシュ |
| TLS_AES_128_CCM_8_SHA256 |
任意 |
128ビットAES/CCM |
SHA256ハッシュ |
表3 は、非推奨の暗号のリストを示しています。
| SSL暗号 | キー交換アルゴリズム | データ暗号化 | メッセージ完全性 | 優先暗号カテゴリー |
|---|---|---|---|---|
| ECDHE-ECDSA-3DES-EDE-CBC-SHA |
ECDHE/DSA鍵交換 |
3DES EDE/CBC |
SHAハッシュ |
強力 |
| ECDHE-RSA-DES-CBC3-SHA |
ECDHE/RSA鍵交換 |
DES CBC |
SHAハッシュ |
中 |
| RSA-RC4-128-MD5 |
RSA鍵交換 |
128ビットRC4 |
メッセージダイジェスト5(MD5)ハッシュ |
中 |
| RSA-RC4-128-SHA |
RSA鍵交換 |
128ビットRC4 |
セキュアハッシュアルゴリズム(SHA)ハッシュ |
中 |
| RSA-EXPORT-1024-RC4-56-MD5 |
RSA 1024ビットエクスポート |
56ビットRC4 |
MD5ハッシュ |
脆弱 |
| RSA-EXPORT-1024-RC4-56-SHA |
RSA 1024ビットエクスポート |
56ビットRC4 |
SHAハッシュ |
脆弱 |
| RSA-EXPORT-RC4-40-MD5 |
RSAエクスポート |
40ビットRC4 |
MD5ハッシュ |
脆弱 |
| RSA-EXPORT-DES40-CBC-SHA |
RSAエクスポート |
40ビットDES/CBC |
SHAハッシュ |
脆弱 |
| RSA-EXPORT-1024-DES-CBC-SHA |
RSA 1024ビットエクスポート |
DES/CBC |
SHAハッシュ |
脆弱 |
| RSA-3DES-EDE-CBC-SHA |
RSA鍵交換 |
3DES EDE/CBC |
SHAハッシュ |
脆弱 |
| RSA-DES-CBC-SHA |
RSA鍵交換 |
DES CBC |
SHAハッシュ |
脆弱 |
以下の点に注意してください。
-
HTTPSファイアウォール認証でサポートされているSSL暗号は、RSA-AES-128-CBC-SHA、およびRSA-AES-256-CBC-SHAです。
-
タイトルに「export」を含む暗号スイートは、米国外での使用を意図しており、鍵サイズが制限された暗号化アルゴリズムが含まれている場合があります。エクスポート暗号はデフォルトでは有効になっていません。エクスポート暗号を設定して有効にするか、国内パッケージをインストールする必要があります。
-
ECDHEベースの暗号スーツは、SSLプロキシの完全な前方秘匿性機能をサポートします。
完全転送機密性は、インターネット経由で送信されるすべてのトランザクションが安全であることを保証する特定の鍵合意プロトコルです。完全前方秘匿性は、ユーザーが開始したすべてのセッションに対して一意のセッションキーを生成します。これにより、単一のセッションキーが侵害されても、その特定のキーで保護されている特定のセッションで交換されたデータ以外のデータには影響が及ばなくなります。
SSLプロキシ用の暗号スイートの設定
SSLプロキシプロファイル設定で以下のオプションを使用して、暗号スイートを設定できます。
-
優先暗号—優先暗号を使用すると、許容可能な鍵強度(強、中、または弱)でSSL暗号を定義できます。
3つのカテゴリのいずれかを使用したくない場合は、各カテゴリから暗号を選択してカスタム暗号セットを形成できます。カスタム暗号では、独自の暗号リストを定義できます。カスタム暗号を設定するには、preferred-ciphersをcustomに設定する必要があります。例:
set services ssl proxy profile profile-name preferred-ciphers custom
-
カスタム暗号—カスタム暗号を使用して、独自の暗号リストを定義できます。例:
set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-256-cbc-sha384 set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-128-cbc-sha256
以下のカスタム暗号を使用することもできます。
set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-256-gcm-sha384 set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-128-gcm-sha256 set services ssl proxy profile profile-name custom-ciphers tls13-with-chacha20-poly1305-sha256 set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-128-ccm-sha256 set services ssl proxy profile profile-name custom-ciphers tls13-with-aes-128-ccm8-sha256
カスタム暗号でSSLプロキシを設定するには、以下の手順に従います。
-
ルートCA証明書を生成するか、独自の信頼できるCA証明書とプライベートキーとパブリックキーをデバイスにインポートできます。
-
SSLプロキシプロファイルを作成し、ルートCA証明書(ルートCAまたはサーバー証明書)を関連付けます。
-
SSLプロキシでcustom-cipherとしてpreferred-cipherを有効にし、カスタムcipherをアタッチします
例:
この例では、カスタム暗号を作成する方法を示しています。この例では、 preferred-cipher をカスタムに設定し、暗号リスト(ecdhe-ecdsa-with-aes-256-cbc-sha384およびecdhe-ecdsa-with-aes-128-cbc-sha256)を追加します。
request security pki local-certificate load filename rootCA.pem key rootCA.key certificate-id rootCAEcds
set services ssl proxy profile profile-name server-certificate rootCAEcds
または
set services ssl proxy profile profile-name root-ca rootCAEcds
set services ssl proxy profile profile-name preferred-ciphers custom
set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-256-cbc-sha384 set services ssl proxy profile profile-name custom-ciphers ecdhe-ecdsa-with-aes-128-cbc-sha256
SSLプロキシプロファイルの設定とセキュリティポリシーへのSSLプロキシプロファイルの適用に進みます。
SSL開始およびSSL終了プロファイル用のECDSA暗号サポート
非プロキシモードでSSL開始プロファイルおよびSSL終了プロファイルでECDSA暗号を設定できます。これらのプロファイルは、以下のECDSA暗号をサポートしています。
- ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
- ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
- ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
- ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
- ECDHE_ECDSA_WITH_AES_256_CBC_SHA
- ECDHE_ECDSA_WITH_AES_128_CBC_SHA
- ECDHE_ECDSA_WITH_CHACHA20_POLY1305
- 上記の暗号のサポートを有効にするには、ECC対応パブリックキーを含む証明書を使用してSSL開始プロファイルとSSL終了プロファイルを読み込む必要があります。
- 既存のRSA証明書に加えて新しいECC証明書のサポートを追加することで、暗号化と認証のために異なるタイプの証明書から選択する柔軟性が得られます。
- ECC証明書でSSL開始およびSSL終了プロファイルを設定し、サーバーがRSAベースの認証のみをサポートしている場合、セッションは確立に失敗し、エラーメッセージ(共有暗号なし)を表示します。
SSL開始プロファイル
user@host# set services ssl initiation profile <profile-name> custom-ciphers
tls12-ecdhe-ecdsa-aes-256-gcm-sha384 ECDHE,ECDSA, 256 bit aes/gcm, sha384 hash
tls12-ecdhe-ecdsa-aes-256-cbc-sha ECDHE,ECDSA, 256 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-256-cbc-sha384 ECDHE,ECDSA, 256 bit aes/cbc, sha384 hash |
tls12-ecdhe-ecdsa-aes-128-gcm-sha256 ECDHE,ECDSA, 128 bit aes/gcm, sha256 hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha ECDHE,ECDSA, 128 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha256 ECDHE,ECDSA, 128 bit aes/cbc, sha256 hash |
tls12-ecdhe-ecdsa-chacha20-poly1305-sha256 ECDHE,ECDSA, chacha_poly, sha256 hash |
SSL終了プロファイル
user@host# set services ssl termination profile <profile-name> custom-ciphers
tls12-ecdhe-ecdsa-aes-256-cbc-sha ECDHE,ECDSA, 256 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-256-cbc-sha384 ECDHE,ECDSA, 256 bit aes/cbc, sha384 hash |
tls12-ecdhe-ecdsa-aes-128-gcm-sha256 ECDHE,ECDSA, 128 bit aes/gcm, sha256 hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha ECDHE,ECDSA, 128 bit aes/cbc, sha hash |
tls12-ecdhe-ecdsa-aes-128-cbc-sha256 ECDHE,ECDSA, 128 bit aes/cbc, sha256 hash |
tls12-ecdhe-ecdsa-chacha20-poly1305-sha256 ECDHE,ECDSA, chacha_poly, sha256 hash |
プラットフォーム固有のRSA証明書の動作
鍵サイズ4096ビットのサーバー証明書と機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。
お使いのプラットフォームに固有の動作を確認するには、以下の表を使用して下さい:
| プラットフォーム |
違い |
|---|---|
| SRXシリーズ |
SRX300、SRX320、SRX400、SRX440は、4096ビットのRSAキーサイズをサポートします。このサポートは、次の場合のみ利用できます。
|
| SRXシリーズ |
SRX300、SRX320、SRX340、SRX345、SRX400、SRX440、SRX550、SRX1500、SRX4100、SRX4200、SRX4600、SRX5400、SRX5600、SRX5800 512ビット、1024ビット、2048ビット、4096ビットのRSAキーサイズをサポートします。 |
関連項目
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。