SSL 代理密码套件
阅读本主题,详细了解 SRX 系列防火墙上 SSL 代理的密码套件支持和管理数字证书。
密码套件
本主题包含以下部分:
支持的密码套件
SSL 代理充当中介,在客户端和服务器之间执行 SSL 加密和解密,但服务器和客户端都无法检测到其存在。SSL 依靠数字证书和私钥-公钥交换对进行客户端和服务器身份验证,以确保通信安全。
让我们熟悉我们将在本节中引用的所有术语。
-
Digital Certificate or CA Certificate - 数字证书是一种通过称为证书颁发机构 (CA) 的受信任第三方验证身份的电子证书颁发机构。或者,您可以使用自签名证书来证明您的身份。每个证书都包含一个加密密钥,用于对明文进行加密或对密码文本进行解密。
-
Certificate Contents— 数字证书将公密钥与向其颁发数字证书的单个实体的身份相关联。数字证书包括以下识别属性:
-
颁发证书的证书颁发机构的标识和签名。
-
有效期
-
序列号
-
证书颁发者详细信息
-
有关主题的信息包括识别信息(可识别名称)和公钥。
-
-
Cipher Suite- 密码套件是一组加密算法。SSL 密码包括加密密码、身份验证方法和压缩。在防火墙上,SSL 会话使用密钥交换方法,通过该方法,使用加密算法在客户端和服务器之间交换加密密钥。密钥交换算法的类型和使用的密码套件必须得到双方的支持。
SSL 会话使用密码套件中的算法来:
-
在两个通信方之间安全地建立密钥
-
保护传输中数据的机密性
-
特定于平台的 RSA 证书行为提供 Junos OS 安全设备上支持的 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 代理的支持
支持用于 SSL 代理的 ECDSA 密码套件。ECDSA 是数字签名算法 (DSA) 的一个版本,基于椭圆曲线加密技术 (ECC)。
要在您的安全设备上使用 ECDSA 密码,您必须确保:
-
在设备上包含支持 ECC 的公钥的证书。椭圆曲线加密 (ECC) 证书仅支持椭圆素数曲线 256 位 (P-256)。
-
包括根 CA 的 ECDSA 证书证书颁发机构选项。您可以分别添加一个 RSA 证书和一个 ECDSA 证书。同时拥有 ECC 和 RSA 证书允许您执行基于 ECC 的密钥交换或基于 RSA 的密钥交换,具体取决于客户端和服务器设备的兼容性。
-
对于反向代理,请包括服务器证书的 ECDSA 证书。ECDSA 或 RSA 证书包含的数量没有限制。
-
可信证书颁发机构证书可以是基于 RSA 的证书,也可以是基于 ECDSA 的证书。ECDSA 证书支持基于 RSA 的证书支持的所有功能,如证书缓存、证书撤销列表 (CRL)、证书链。
椭圆曲线 (EC) 组用于 SSL/TLS 通信,用于握手过程中的密钥交换。这些组是椭圆曲线加密 (ECC) 的一部分,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。
-
标题中带有“导出”字样的密码套件旨在在美国境外使用,并且可能具有密钥大小有限的加密算法。默认情况下,不启用导出密码。您需要配置导出密码以启用或安装国内软件包。
-
基于 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 代理:
-
生成根 证书颁发机构证书,也可以将自己的受信任 证书颁发机构证书以及私钥和公钥导入设备。
-
创建 SSL 代理配置文件并关联根证书颁发机构证书(根证书颁发机构或服务器证书)。
-
在 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 代理配置文件应用于安全策略。
ECDSA 密码支持 SSL 初始化和 SSL 终止配置文件
您可以在 SSL 初始化配置文件中配置 ECDSA 密码,并在非代理模式下配置 SSL 终止配置文件。这些配置文件支持以下 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 位的服务器证书 和 功能资源管理器 来确认对特定功能的平台和版本支持。
使用下表查看平台的特定于平台的行为:
| 平台 |
差异 |
|---|---|
| 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 密钥大小。 |
也可以看看
变更历史表
是否支持某项功能取决于您使用的平台和版本。使用 功能资源管理器 确定您的平台是否支持某个功能。