用于 SSL 代理的密码套件
阅读本主题可详细了解密码套件、支持和管理 SRX 系列防火墙上 SSL 代理的数字证书。
Cipher Suites(密码套房酒店)
本主题包含以下部分:
支持的密码套件
SSL代理充当中介,在客户端和解密客户端和解密,但服务器和客户端都无法检测到其存在。SSL 依靠数字证书和私钥-公钥交换对进行客户端和服务器身份验证,以确保安全通信。
让我们熟悉我们将在本节中引用的所有术语。
-
Digital Certificate or CA Certificate —数字证书是一种通过受信任的第三方(称为证书颁发机构 (CA))验证您身份的电子方式。或者,您可以使用自签名证书来证明您的身份。每个证书都包含一个加密密钥,用于对明文进行加密或对密码文本进行解密。
-
Certificate Contents—数字证书将公钥与其向其颁发数字证书的单个实体的身份相关联。数字证书包括以下标识属性:
-
证书颁发机构的标识和签名。
-
有效期
-
序号
-
证书颁发者详细信息
-
有关使用者的信息包括标识信息(可分辨名称)和公钥。
-
-
Cipher Suite—密码套件是一组加密算法。SSL 密码包括加密密码、身份验证方法和压缩。在 SRX 系列防火墙上,SSL 会话使用密钥交换方法,通过该方法,使用加密算法在客户端和服务器之间交换加密密钥。密钥交换算法的类型和使用的密码套件必须得到双方的支持。
SSL 会话使用密码套件中的算法:
-
在通信双方之间安全地建立密钥
-
保护传输中数据的机密性
-
特定于平台的 RSA 证书行为提供了各种 SRX 系列防火墙上支持的 RSA 密钥的详细信息。我们支持密钥大小为 4096 位的服务器证书。以前,由于加密硬件限制,不支持密钥大小大于 2048 位的服务器证书。
配置密钥大小为 4096 位的服务器证书
在选定的设备上,您必须 allow-strong-certificate 启用 SSL-Proxy 配置文件作部分中的旋钮才能使用密钥大小为 4096 位的 RSA 证书。请参阅 特定于平台的 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;
}
}
}
ECDSA 密码套件对 SSL 代理的支持
SRX 系列防火墙支持用于 SSL 代理的 ECDSA 密码套件。ECDSA 是数字签名算法 (DSA) 的一个版本,基于椭圆曲线加密 (ECC)。
要在安全设备上使用 ECDSA 密码,您必须确保:
-
在设备上包括包含支持 ECC 的公钥的证书。仅支持椭圆曲线加密 (ECC) 证书与椭圆素数曲线 256 位 (P-256)。
-
包括根 CA 的 ECDSA 证书选项。您可以分别包含一个 RSA 证书和一个 ECDSA 证书。同时拥有 ECC 和 RSA 证书后,您可以根据客户端和服务器设备的兼容性执行基于 ECC 的密钥交换或基于 RSA 的密钥交换。
-
对于反向代理,请为服务器证书添加 ECDSA 证书。对包含的 ECDSA 或 RSA 证书数量没有限制。
-
受信任的 CA 证书可以是基于 RSA 的证书,也可以是基于 ECDSA 的证书。ECDSA 证书支持基于 RSA 的证书支持的所有功能,如证书缓存、证书吊销列表 (CRL)、证书链。
椭圆曲线 (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 哈希 |
强 |
Junos OS 18.3R1 版 |
| ECDHE-ECDSA-AES-128-GCM-SHA256 |
ECDHE/DSA 密钥交换 |
128 位 AES/GCM |
SHA256 哈希 |
强 |
Junos OS 18.3R1 版 |
| ECDHE-ECDSA-AES-256-CBC- SHA384 |
ECDHE/DSA 密钥交换 |
256 位 AES/CBC |
SHA384 哈希 |
强 |
Junos OS 18.3R1 版 |
| ECDHE-ECDSA-AES-128-CBC-SHA256 |
ECDHE/DSA 密钥交换 |
128 位 AES/CBC |
SHA256 哈希 |
强 |
Junos OS 18.3R1 版 |
| ECDHE-ECDSA-AES-256-CBC-SHA |
ECDHE/DSA 密钥交换 |
256 位 AES/CBC |
SHA 哈希 |
强 |
Junos OS 18.3R1 版 |
| ECDHE-ECDSA-AES-128-CBC-SHA |
ECDHE/DSA 密钥交换 |
128 位 AES/CBC |
SHA 哈希 |
强 |
Junos OS 18.3R1 版 |
| ECDHE-RSA-AES256-GCM-SHA384 |
ECDHE/RSA 密钥交换 |
256 位 AES/GCM |
SHA384 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| ECDHE-RSA-AES256-CBC-SHA384 |
ECDHE/RSA 密钥交换 |
256 位 AES/CBC |
SHA384 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| ECDHE-RSA-AES256-CBC-SHA |
ECDHE/RSA 密钥交换 |
256 位 AES/CBC |
SHA 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| ECDHE-RSA-AES128-GCM-SHA256 |
ECDHE/RSA 密钥交换 |
128 位 AES/GCM |
SHA256 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| ECDHE-RSA-AES128-CBC-SHA256 |
ECDHE/RSA 密钥交换 |
128 位 AES/CBC |
SHA256 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| ECDHE-RSA-AES128-CBC-SHA |
ECDHE/RSA 密钥交换 |
128 位 AES/CBC |
SHA 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| RSA-AES256-GCM-SHA384 |
ECDHE/RSA 密钥交换 |
256 位 AES/GCM |
SHA384 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| RSA-AES256-CBC-SHA256 |
ECDHE/RSA 密钥交换 |
256 位 AES/CBC |
SHA256 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| RSA-AES128-GCM-SHA256 |
ECDHE/RSA 密钥交换 |
128 位 AES/GCM |
SHA256 哈希 |
强 |
Junos OS 15.1X49-D10 版 |
| RSA-AES128-CBC-SHA256 |
ECDHE/RSA 密钥交换 |
128 位 AES/CBC |
SHA256 哈希 |
中等 |
Junos OS 15.1X49-D10 版 |
| RSA-AES128-CBC-SHA |
RSA 密钥交换 |
128 位 AES/CBC |
SHA 哈希 |
弱 |
Junos OS 12.1 版 |
| RSA-AES256-CBC-SHA |
RSA 密钥交换 |
256 位 AES/CBC |
SHA 哈希 |
弱 |
Junos OS 12.1 版 |
SSL 代理支持 TLS 版本 1.3,它提供了更高的安全性和更好的性能。 表 2 显示了 TLS 1.3 支持的密码列表。
| TLS 密码 | 密钥交换算法 | 数据加密 | 消息完整性 | 支持的最早版本 |
|---|---|---|---|---|
| TLS_AES_256_GCM_SHA384 |
任何 |
256 位 AES/GCM |
SHA384 哈希 |
Junos OS 21.2R1 版 |
| TLS_AES_128_GCM_SHA256 |
任何 |
128 位 AES/GCM |
SHA256 哈希 |
Junos OS 21.2R1 版 |
| TLS_CHACHA20_POLY1305_SHA256 |
任何 |
256 位CHACHA20_POLY1305 |
SHA256 哈希 |
Junos OS 21.2R1 版 |
| TLS_AES_128_CCM_SHA256 |
任何 |
128 位 AES/CCM |
SHA256 哈希 |
Junos OS 21.2R1 版 |
| TLS_AES_128_CCM_8_SHA256 |
任何 |
128 位 AES/CCM |
SHA256 哈希 |
Junos OS 21.2R1 版 |
表 3 提供了已弃用密码的列表。
| SSL 密码 | 密钥交换算法 | 数据加密 | 消息完整性 | 首选密码类别 |
支持的最早版本 |
|---|---|---|---|---|---|
| ECDHE-ECDSA-3DES-EDE-CBC-SHA |
ECDHE/DSA 密钥交换 |
3DES EDE/CBC |
SHA 哈希 |
强 |
Junos OS 18.3R1 版 |
| ECDHE-RSA-DES-CBC3-SHA |
ECDHE/RSA 密钥交换 |
DES 全血细胞计数 |
SHA 哈希 |
中等 |
Junos OS 15.1X49-D10 版 |
| RSA-RC4-128-MD5 |
RSA 密钥交换 |
128 位 RC4 |
消息摘要 5 (MD5) 哈希 |
中等 |
Junos OS 12.1 版 |
| RSA-RC4-128-SHA |
RSA 密钥交换 |
128 位 RC4 |
安全散列算法 (SHA) 散列 |
中等 |
Junos OS 12.1 版 |
| RSA-EXPORT-1024-RC4-56-MD5 |
RSA 1024 位导出 |
56 位 RC4 |
MD5 哈希 |
弱 |
Junos OS 12.1 版 |
| RSA-EXPORT-1024-RC4-56-SHA |
RSA 1024 位导出 |
56 位 RC4 |
SHA 哈希 |
弱 |
Junos OS 12.1 版 |
| RSA-EXPORT-RC4-40-MD5 |
RSA 导出 |
40 位 RC4 |
MD5 哈希 |
弱 |
Junos OS 12.1 版 |
| RSA-EXPORT-DES40-CBC-SHA |
RSA 导出 |
40 位 DES/CBC |
SHA 哈希 |
弱 |
Junos OS 12.1 版 |
| RSA-EXPORT-1024-DES-CBC-SHA |
RSA 1024 位导出 |
DES/CBC |
SHA 哈希 |
弱 |
Junos OS 12.1 版 |
| RSA-3DES-EDE-CBC-SHA |
RSA 密钥交换 |
3DES EDE/CBC |
SHA 哈希 |
弱 |
Junos OS 12.1 版 |
| RSA-DES-CBC-SHA |
RSA 密钥交换 |
DES 全血细胞计数 |
SHA 哈希 |
弱 |
Junos OS 12.1 版 |
请注意以下几点:
-
HTTPS 防火墙身份验证支持的 SSL 密码为 RSA-AES-128-CBC-SHA 和 RSA-AES-256-CBC-SHA。
-
标题中包含“export”的密码套件旨在在美国境外使用,并且可能具有密钥大小有限的加密算法。默认情况下不启用导出密码。您需要配置导出密码以启用或安装国内软件包。
-
基于 ECDHE 的密码套装支持 SSL 代理中完美的前向保密功能。
完全向前保密是一种特定的关键协议协议,可确保通过互联网发送的所有交易都是安全的。完全向前保密会为用户发起的每个会话生成一个唯一的会话密钥。这可确保单个会话密钥的泄露对受该特定密钥保护的特定会话中交换的数据以外的其他数据没有影响。
为 SSL 代理配置密码套件
您可以在 SSL 代理配置文件配置中使用以下选项来设置密码套件:
-
首选密码 — 首选密码允许您定义具有可接受密钥强度的 SSL 密码:强、中或弱。
如果不想使用这三个类别之一,可以从每个类别中选择密码以形成自定义密码集。自定义密码允许您定义自己的密码列表。若要配置自定义密码,必须将 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 代理中启用首选密码作为自定义密码并附加自定义密码
例:
此示例说明如何创建自定义密码。在此示例中,您设置为 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 终止配置文件。
- 通过添加对新 ECC 证书和现有 RSA 证书的支持,可以灵活地在不同类型的证书之间进行选择,以便进行加密和身份验证。
- 如果使用 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 位的服务器证书 和 功能浏览器 来确认平台和版本对特定功能的支持。
使用下表查看您的平台特定于平台的行为:
| 平台 |
差异 |
|---|---|
| SRX300 和 SRX320 |
支持 4096 位的 RSA 密钥大小。仅当设备在独立模式下运行,并且在 SSL 代理配置文件中启用了“allow-strong-certificate”选项时,该支持才可用。 |
| SRX300、SRX320、SRX340、SRX345、SRX550、SRX1500、SRX4100、SRX4200、SRX4600、SRX5400、SRX5600、SRX5800 |
支持 512 位、1024 位、2048 位、4096 位的 RSA 密钥大小。 |
另见
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能浏览器 查看您使用的平台是否支持某项功能。